{"version":3,"sources":["../../src/eip712/getNadoEIP712Types.ts"],"sourcesContent":["import { SignableRequestType } from './signableRequestType';\n\ninterface TypedDataField {\n  name: string;\n  type: string;\n}\n\n/**\n * Return the EIP712 types for a given request\n *\n * @param requestType\n */\nexport function getNadoEIP712Types(\n  requestType: SignableRequestType,\n): Record<string, Array<TypedDataField>> {\n  switch (requestType) {\n    case 'withdraw_collateral':\n      return {\n        WithdrawCollateral: [\n          { name: 'sender', type: 'bytes32' },\n          { name: 'productId', type: 'uint32' },\n          { name: 'amount', type: 'uint128' },\n          { name: 'nonce', type: 'uint64' },\n        ],\n      };\n    case 'place_order':\n      return {\n        Order: [\n          { name: 'sender', type: 'bytes32' },\n          { name: 'priceX18', type: 'int128' },\n          { name: 'amount', type: 'int128' },\n          { name: 'expiration', type: 'uint64' },\n          { name: 'nonce', type: 'uint64' },\n        ],\n      };\n    case 'place_isolated_order':\n      return {\n        IsolatedOrder: [\n          { name: 'sender', type: 'bytes32' },\n          { name: 'priceX18', type: 'int128' },\n          { name: 'amount', type: 'int128' },\n          { name: 'expiration', type: 'uint64' },\n          { name: 'nonce', type: 'uint64' },\n          { name: 'margin', type: 'int128' },\n        ],\n      };\n    case 'list_trigger_orders':\n      return {\n        ListTriggerOrders: [\n          { name: 'sender', type: 'bytes32' },\n          { name: 'recvTime', type: 'uint64' },\n        ],\n      };\n    case 'cancel_orders':\n      return {\n        Cancellation: [\n          { name: 'sender', type: 'bytes32' },\n          { name: 'productIds', type: 'uint32[]' },\n          { name: 'digests', type: 'bytes32[]' },\n          { name: 'nonce', type: 'uint64' },\n        ],\n      };\n    case 'cancel_product_orders':\n      return {\n        CancellationProducts: [\n          { name: 'sender', type: 'bytes32' },\n          { name: 'productIds', type: 'uint32[]' },\n          { name: 'nonce', type: 'uint64' },\n        ],\n      };\n    case 'liquidate_subaccount':\n      return {\n        LiquidateSubaccount: [\n          { name: 'sender', type: 'bytes32' },\n          { name: 'liquidatee', type: 'bytes32' },\n          { name: 'mode', type: 'uint8' },\n          { name: 'healthGroup', type: 'uint32' },\n          { name: 'amount', type: 'int128' },\n          { name: 'nonce', type: 'uint64' },\n        ],\n      };\n    case 'link_signer':\n      return {\n        LinkSigner: [\n          { name: 'sender', type: 'bytes32' },\n          { name: 'signer', type: 'bytes32' },\n          { name: 'nonce', type: 'uint64' },\n        ],\n      };\n    case 'transfer_quote':\n      return {\n        TransferQuote: [\n          { name: 'sender', type: 'bytes32' },\n          { name: 'recipient', type: 'bytes32' },\n          { name: 'amount', type: 'uint128' },\n          { name: 'nonce', type: 'uint64' },\n        ],\n      };\n    case 'leaderboard_authentication':\n      return {\n        LeaderboardAuthentication: [\n          { name: 'sender', type: 'bytes32' },\n          { name: 'expiration', type: 'uint64' },\n        ],\n      };\n    case 'mint_nlp':\n      return {\n        MintNlp: [\n          { name: 'sender', type: 'bytes32' },\n          { name: 'quoteAmount', type: 'uint128' },\n          { name: 'nonce', type: 'uint64' },\n        ],\n      };\n    case 'burn_nlp':\n      return {\n        BurnNlp: [\n          { name: 'sender', type: 'bytes32' },\n          { name: 'nlpAmount', type: 'uint128' },\n          { name: 'nonce', type: 'uint64' },\n        ],\n      };\n  }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAYO,SAAS,mBACd,aACuC;AACvC,UAAQ,aAAa;AAAA,IACnB,KAAK;AACH,aAAO;AAAA,QACL,oBAAoB;AAAA,UAClB,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,UAClC,EAAE,MAAM,aAAa,MAAM,SAAS;AAAA,UACpC,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,UAClC,EAAE,MAAM,SAAS,MAAM,SAAS;AAAA,QAClC;AAAA,MACF;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,OAAO;AAAA,UACL,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,UAClC,EAAE,MAAM,YAAY,MAAM,SAAS;AAAA,UACnC,EAAE,MAAM,UAAU,MAAM,SAAS;AAAA,UACjC,EAAE,MAAM,cAAc,MAAM,SAAS;AAAA,UACrC,EAAE,MAAM,SAAS,MAAM,SAAS;AAAA,QAClC;AAAA,MACF;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,eAAe;AAAA,UACb,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,UAClC,EAAE,MAAM,YAAY,MAAM,SAAS;AAAA,UACnC,EAAE,MAAM,UAAU,MAAM,SAAS;AAAA,UACjC,EAAE,MAAM,cAAc,MAAM,SAAS;AAAA,UACrC,EAAE,MAAM,SAAS,MAAM,SAAS;AAAA,UAChC,EAAE,MAAM,UAAU,MAAM,SAAS;AAAA,QACnC;AAAA,MACF;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,mBAAmB;AAAA,UACjB,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,UAClC,EAAE,MAAM,YAAY,MAAM,SAAS;AAAA,QACrC;AAAA,MACF;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,cAAc;AAAA,UACZ,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,UAClC,EAAE,MAAM,cAAc,MAAM,WAAW;AAAA,UACvC,EAAE,MAAM,WAAW,MAAM,YAAY;AAAA,UACrC,EAAE,MAAM,SAAS,MAAM,SAAS;AAAA,QAClC;AAAA,MACF;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,sBAAsB;AAAA,UACpB,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,UAClC,EAAE,MAAM,cAAc,MAAM,WAAW;AAAA,UACvC,EAAE,MAAM,SAAS,MAAM,SAAS;AAAA,QAClC;AAAA,MACF;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,qBAAqB;AAAA,UACnB,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,UAClC,EAAE,MAAM,cAAc,MAAM,UAAU;AAAA,UACtC,EAAE,MAAM,QAAQ,MAAM,QAAQ;AAAA,UAC9B,EAAE,MAAM,eAAe,MAAM,SAAS;AAAA,UACtC,EAAE,MAAM,UAAU,MAAM,SAAS;AAAA,UACjC,EAAE,MAAM,SAAS,MAAM,SAAS;AAAA,QAClC;AAAA,MACF;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,YAAY;AAAA,UACV,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,UAClC,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,UAClC,EAAE,MAAM,SAAS,MAAM,SAAS;AAAA,QAClC;AAAA,MACF;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,eAAe;AAAA,UACb,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,UAClC,EAAE,MAAM,aAAa,MAAM,UAAU;AAAA,UACrC,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,UAClC,EAAE,MAAM,SAAS,MAAM,SAAS;AAAA,QAClC;AAAA,MACF;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,2BAA2B;AAAA,UACzB,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,UAClC,EAAE,MAAM,cAAc,MAAM,SAAS;AAAA,QACvC;AAAA,MACF;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,SAAS;AAAA,UACP,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,UAClC,EAAE,MAAM,eAAe,MAAM,UAAU;AAAA,UACvC,EAAE,MAAM,SAAS,MAAM,SAAS;AAAA,QAClC;AAAA,MACF;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,SAAS;AAAA,UACP,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,UAClC,EAAE,MAAM,aAAa,MAAM,UAAU;AAAA,UACrC,EAAE,MAAM,SAAS,MAAM,SAAS;AAAA,QAClC;AAAA,MACF;AAAA,EACJ;AACF;","names":[]}