@nadohq/shared 0.5.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -101,7 +101,8 @@ function getNadoEIP712Types(requestType) {
101
101
  return {
102
102
  LeaderboardAuthentication: [
103
103
  { name: "sender", type: "bytes32" },
104
- { name: "expiration", type: "uint64" }
104
+ { name: "expiration", type: "uint64" },
105
+ { name: "contestIds", type: "uint32[]" }
105
106
  ]
106
107
  };
107
108
  case "mint_nlp":
@@ -1 +1 @@
1
- {"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 { name: 'appendix', type: 'uint128' },\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":"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","names":[]}
1
+ {"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 { name: 'appendix', type: 'uint128' },\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 { name: 'contestIds', type: 'uint32[]' },\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":"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","names":[]}
@@ -79,7 +79,8 @@ function getNadoEIP712Types(requestType) {
79
79
  return {
80
80
  LeaderboardAuthentication: [
81
81
  { name: "sender", type: "bytes32" },
82
- { name: "expiration", type: "uint64" }
82
+ { name: "expiration", type: "uint64" },
83
+ { name: "contestIds", type: "uint32[]" }
83
84
  ]
84
85
  };
85
86
  case "mint_nlp":
@@ -1 +1 @@
1
- {"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 { name: 'appendix', type: 'uint128' },\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":"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","names":[]}
1
+ {"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 { name: 'appendix', type: 'uint128' },\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 { name: 'contestIds', type: 'uint32[]' },\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":"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","names":[]}
@@ -176,7 +176,8 @@ function getLeaderboardAuthenticationValues(params) {
176
176
  subaccountOwner: params.subaccountOwner,
177
177
  subaccountName: params.subaccountName
178
178
  }),
179
- expiration: (0, import_math.toIntegerString)(params.expiration)
179
+ expiration: (0, import_math.toIntegerString)(params.expiration),
180
+ contestIds: params.contestIds
180
181
  };
181
182
  }
182
183
  function getMintNlpValues(params) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/eip712/getNadoEIP712Values.ts"],"sourcesContent":["import { subaccountToHex } from '../utils/bytes32';\nimport { addDecimals, toIntegerString } from '../utils/math';\nimport {\n EIP712BurnNlpValues,\n EIP712LeaderboardAuthenticationValues,\n EIP712LinkSignerValues,\n EIP712LiquidateSubaccountValues,\n EIP712ListTriggerOrdersValues,\n EIP712MintNlpValues,\n EIP712OrderCancellationValues,\n EIP712OrderValues,\n EIP712ProductOrdersCancellationValues,\n EIP712TransferQuoteValues,\n EIP712WithdrawCollateralValues,\n SignableRequestTypeToEIP712Values,\n} from './eip712ValueTypes';\nimport {\n SignableRequestType,\n SignableRequestTypeToParams,\n} from './signableRequestType';\nimport {\n EIP712BurnNlpParams,\n EIP712CancelOrdersParams,\n EIP712CancelProductOrdersParams,\n EIP712LeaderboardAuthenticationParams,\n EIP712LinkSignerParams,\n EIP712LiquidateSubaccountParams,\n EIP712ListTriggerOrdersParams,\n EIP712MintNlpParams,\n EIP712OrderParams,\n EIP712TransferQuoteParams,\n EIP712WithdrawCollateralParams,\n} from './signatureParamTypes';\n\n/**\n * Returns the EIP712 compatible values for signing.\n *\n * Note: We use the string representation of bigint to be compatible with JSON.stringify\n *\n * @param requestType\n * @param params\n */\nexport function getNadoEIP712Values<TReqType extends SignableRequestType>(\n requestType: TReqType,\n params: SignableRequestTypeToParams[TReqType],\n): SignableRequestTypeToEIP712Values[TReqType] {\n // Typescript does not yet support type narrowing + generic lookup types, hence the hacks here\n let values: SignableRequestTypeToEIP712Values[keyof SignableRequestTypeToEIP712Values];\n switch (requestType) {\n case 'withdraw_collateral':\n values = getWithdrawCollateralValues(\n params as EIP712WithdrawCollateralParams,\n );\n break;\n case 'place_order':\n values = getOrderValues(params as EIP712OrderParams);\n break;\n case 'list_trigger_orders':\n values = getListTriggerOrdersValues(\n params as EIP712ListTriggerOrdersParams,\n );\n break;\n case 'cancel_orders':\n values = getOrderCancellationValues(params as EIP712CancelOrdersParams);\n break;\n case 'cancel_product_orders':\n values = getProductOrdersCancellationValues(\n params as EIP712CancelProductOrdersParams,\n );\n break;\n case 'liquidate_subaccount':\n values = getLiquidateSubaccountValues(\n params as EIP712LiquidateSubaccountParams,\n );\n break;\n case 'link_signer':\n values = getLinkSignerValues(params as EIP712LinkSignerParams);\n break;\n case 'transfer_quote':\n values = getTransferQuoteValues(params as EIP712TransferQuoteParams);\n break;\n case 'leaderboard_authentication':\n values = getLeaderboardAuthenticationValues(\n params as EIP712LeaderboardAuthenticationParams,\n );\n break;\n case 'mint_nlp':\n values = getMintNlpValues(params as EIP712MintNlpParams);\n break;\n case 'burn_nlp':\n values = getBurnNlpValues(params as EIP712BurnNlpParams);\n break;\n default:\n throw new Error(`Unsupported request type: ${requestType}`);\n }\n\n return values as SignableRequestTypeToEIP712Values[TReqType];\n}\n\nfunction getWithdrawCollateralValues(\n params: EIP712WithdrawCollateralParams,\n): EIP712WithdrawCollateralValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n productId: params.productId,\n amount: toIntegerString(params.amount),\n nonce: params.nonce,\n };\n}\n\nfunction getOrderValues(params: EIP712OrderParams): EIP712OrderValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n priceX18: toIntegerString(addDecimals(params.price)),\n amount: toIntegerString(params.amount),\n expiration: toIntegerString(params.expiration),\n nonce: params.nonce,\n appendix: toIntegerString(params.appendix),\n };\n}\n\nfunction getListTriggerOrdersValues(\n params: EIP712ListTriggerOrdersParams,\n): EIP712ListTriggerOrdersValues {\n return {\n recvTime: toIntegerString(params.recvTime),\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n };\n}\n\nfunction getOrderCancellationValues(\n params: EIP712CancelOrdersParams,\n): EIP712OrderCancellationValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n productIds: params.productIds,\n digests: params.digests,\n nonce: params.nonce,\n };\n}\n\nfunction getProductOrdersCancellationValues(\n params: EIP712CancelProductOrdersParams,\n): EIP712ProductOrdersCancellationValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n productIds: params.productIds,\n nonce: params.nonce,\n };\n}\n\nfunction getLiquidateSubaccountValues(\n params: EIP712LiquidateSubaccountParams,\n): EIP712LiquidateSubaccountValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n liquidatee: subaccountToHex({\n subaccountOwner: params.liquidateeOwner,\n subaccountName: params.liquidateeName,\n }),\n mode: params.mode,\n healthGroup: toIntegerString(params.healthGroup),\n amount: toIntegerString(params.amount),\n nonce: params.nonce,\n };\n}\n\nfunction getLinkSignerValues(\n params: EIP712LinkSignerParams,\n): EIP712LinkSignerValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n signer: params.signer,\n nonce: params.nonce,\n };\n}\n\nfunction getTransferQuoteValues(\n params: EIP712TransferQuoteParams,\n): EIP712TransferQuoteValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n recipient: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.recipientSubaccountName,\n }),\n amount: toIntegerString(params.amount),\n nonce: params.nonce,\n };\n}\n\nfunction getLeaderboardAuthenticationValues(\n params: EIP712LeaderboardAuthenticationParams,\n): EIP712LeaderboardAuthenticationValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n expiration: toIntegerString(params.expiration),\n };\n}\n\nfunction getMintNlpValues(params: EIP712MintNlpParams): EIP712MintNlpValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n quoteAmount: toIntegerString(params.quoteAmount),\n nonce: params.nonce,\n };\n}\n\nfunction getBurnNlpValues(params: EIP712BurnNlpParams): EIP712BurnNlpValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n nlpAmount: toIntegerString(params.nlpAmount),\n nonce: params.nonce,\n };\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/eip712/getNadoEIP712Values.ts"],"sourcesContent":["import { subaccountToHex } from '../utils/bytes32';\nimport { addDecimals, toIntegerString } from '../utils/math';\nimport {\n EIP712BurnNlpValues,\n EIP712LeaderboardAuthenticationValues,\n EIP712LinkSignerValues,\n EIP712LiquidateSubaccountValues,\n EIP712ListTriggerOrdersValues,\n EIP712MintNlpValues,\n EIP712OrderCancellationValues,\n EIP712OrderValues,\n EIP712ProductOrdersCancellationValues,\n EIP712TransferQuoteValues,\n EIP712WithdrawCollateralValues,\n SignableRequestTypeToEIP712Values,\n} from './eip712ValueTypes';\nimport {\n SignableRequestType,\n SignableRequestTypeToParams,\n} from './signableRequestType';\nimport {\n EIP712BurnNlpParams,\n EIP712CancelOrdersParams,\n EIP712CancelProductOrdersParams,\n EIP712LeaderboardAuthenticationParams,\n EIP712LinkSignerParams,\n EIP712LiquidateSubaccountParams,\n EIP712ListTriggerOrdersParams,\n EIP712MintNlpParams,\n EIP712OrderParams,\n EIP712TransferQuoteParams,\n EIP712WithdrawCollateralParams,\n} from './signatureParamTypes';\n\n/**\n * Returns the EIP712 compatible values for signing.\n *\n * Note: We use the string representation of bigint to be compatible with JSON.stringify\n *\n * @param requestType\n * @param params\n */\nexport function getNadoEIP712Values<TReqType extends SignableRequestType>(\n requestType: TReqType,\n params: SignableRequestTypeToParams[TReqType],\n): SignableRequestTypeToEIP712Values[TReqType] {\n // Typescript does not yet support type narrowing + generic lookup types, hence the hacks here\n let values: SignableRequestTypeToEIP712Values[keyof SignableRequestTypeToEIP712Values];\n switch (requestType) {\n case 'withdraw_collateral':\n values = getWithdrawCollateralValues(\n params as EIP712WithdrawCollateralParams,\n );\n break;\n case 'place_order':\n values = getOrderValues(params as EIP712OrderParams);\n break;\n case 'list_trigger_orders':\n values = getListTriggerOrdersValues(\n params as EIP712ListTriggerOrdersParams,\n );\n break;\n case 'cancel_orders':\n values = getOrderCancellationValues(params as EIP712CancelOrdersParams);\n break;\n case 'cancel_product_orders':\n values = getProductOrdersCancellationValues(\n params as EIP712CancelProductOrdersParams,\n );\n break;\n case 'liquidate_subaccount':\n values = getLiquidateSubaccountValues(\n params as EIP712LiquidateSubaccountParams,\n );\n break;\n case 'link_signer':\n values = getLinkSignerValues(params as EIP712LinkSignerParams);\n break;\n case 'transfer_quote':\n values = getTransferQuoteValues(params as EIP712TransferQuoteParams);\n break;\n case 'leaderboard_authentication':\n values = getLeaderboardAuthenticationValues(\n params as EIP712LeaderboardAuthenticationParams,\n );\n break;\n case 'mint_nlp':\n values = getMintNlpValues(params as EIP712MintNlpParams);\n break;\n case 'burn_nlp':\n values = getBurnNlpValues(params as EIP712BurnNlpParams);\n break;\n default:\n throw new Error(`Unsupported request type: ${requestType}`);\n }\n\n return values as SignableRequestTypeToEIP712Values[TReqType];\n}\n\nfunction getWithdrawCollateralValues(\n params: EIP712WithdrawCollateralParams,\n): EIP712WithdrawCollateralValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n productId: params.productId,\n amount: toIntegerString(params.amount),\n nonce: params.nonce,\n };\n}\n\nfunction getOrderValues(params: EIP712OrderParams): EIP712OrderValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n priceX18: toIntegerString(addDecimals(params.price)),\n amount: toIntegerString(params.amount),\n expiration: toIntegerString(params.expiration),\n nonce: params.nonce,\n appendix: toIntegerString(params.appendix),\n };\n}\n\nfunction getListTriggerOrdersValues(\n params: EIP712ListTriggerOrdersParams,\n): EIP712ListTriggerOrdersValues {\n return {\n recvTime: toIntegerString(params.recvTime),\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n };\n}\n\nfunction getOrderCancellationValues(\n params: EIP712CancelOrdersParams,\n): EIP712OrderCancellationValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n productIds: params.productIds,\n digests: params.digests,\n nonce: params.nonce,\n };\n}\n\nfunction getProductOrdersCancellationValues(\n params: EIP712CancelProductOrdersParams,\n): EIP712ProductOrdersCancellationValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n productIds: params.productIds,\n nonce: params.nonce,\n };\n}\n\nfunction getLiquidateSubaccountValues(\n params: EIP712LiquidateSubaccountParams,\n): EIP712LiquidateSubaccountValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n liquidatee: subaccountToHex({\n subaccountOwner: params.liquidateeOwner,\n subaccountName: params.liquidateeName,\n }),\n mode: params.mode,\n healthGroup: toIntegerString(params.healthGroup),\n amount: toIntegerString(params.amount),\n nonce: params.nonce,\n };\n}\n\nfunction getLinkSignerValues(\n params: EIP712LinkSignerParams,\n): EIP712LinkSignerValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n signer: params.signer,\n nonce: params.nonce,\n };\n}\n\nfunction getTransferQuoteValues(\n params: EIP712TransferQuoteParams,\n): EIP712TransferQuoteValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n recipient: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.recipientSubaccountName,\n }),\n amount: toIntegerString(params.amount),\n nonce: params.nonce,\n };\n}\n\nfunction getLeaderboardAuthenticationValues(\n params: EIP712LeaderboardAuthenticationParams,\n): EIP712LeaderboardAuthenticationValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n expiration: toIntegerString(params.expiration),\n contestIds: params.contestIds,\n };\n}\n\nfunction getMintNlpValues(params: EIP712MintNlpParams): EIP712MintNlpValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n quoteAmount: toIntegerString(params.quoteAmount),\n nonce: params.nonce,\n };\n}\n\nfunction getBurnNlpValues(params: EIP712BurnNlpParams): EIP712BurnNlpValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n nlpAmount: toIntegerString(params.nlpAmount),\n nonce: params.nonce,\n };\n}\n"],"mappings":"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","names":[]}
@@ -154,7 +154,8 @@ function getLeaderboardAuthenticationValues(params) {
154
154
  subaccountOwner: params.subaccountOwner,
155
155
  subaccountName: params.subaccountName
156
156
  }),
157
- expiration: toIntegerString(params.expiration)
157
+ expiration: toIntegerString(params.expiration),
158
+ contestIds: params.contestIds
158
159
  };
159
160
  }
160
161
  function getMintNlpValues(params) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/eip712/getNadoEIP712Values.ts"],"sourcesContent":["import { subaccountToHex } from '../utils/bytes32';\nimport { addDecimals, toIntegerString } from '../utils/math';\nimport {\n EIP712BurnNlpValues,\n EIP712LeaderboardAuthenticationValues,\n EIP712LinkSignerValues,\n EIP712LiquidateSubaccountValues,\n EIP712ListTriggerOrdersValues,\n EIP712MintNlpValues,\n EIP712OrderCancellationValues,\n EIP712OrderValues,\n EIP712ProductOrdersCancellationValues,\n EIP712TransferQuoteValues,\n EIP712WithdrawCollateralValues,\n SignableRequestTypeToEIP712Values,\n} from './eip712ValueTypes';\nimport {\n SignableRequestType,\n SignableRequestTypeToParams,\n} from './signableRequestType';\nimport {\n EIP712BurnNlpParams,\n EIP712CancelOrdersParams,\n EIP712CancelProductOrdersParams,\n EIP712LeaderboardAuthenticationParams,\n EIP712LinkSignerParams,\n EIP712LiquidateSubaccountParams,\n EIP712ListTriggerOrdersParams,\n EIP712MintNlpParams,\n EIP712OrderParams,\n EIP712TransferQuoteParams,\n EIP712WithdrawCollateralParams,\n} from './signatureParamTypes';\n\n/**\n * Returns the EIP712 compatible values for signing.\n *\n * Note: We use the string representation of bigint to be compatible with JSON.stringify\n *\n * @param requestType\n * @param params\n */\nexport function getNadoEIP712Values<TReqType extends SignableRequestType>(\n requestType: TReqType,\n params: SignableRequestTypeToParams[TReqType],\n): SignableRequestTypeToEIP712Values[TReqType] {\n // Typescript does not yet support type narrowing + generic lookup types, hence the hacks here\n let values: SignableRequestTypeToEIP712Values[keyof SignableRequestTypeToEIP712Values];\n switch (requestType) {\n case 'withdraw_collateral':\n values = getWithdrawCollateralValues(\n params as EIP712WithdrawCollateralParams,\n );\n break;\n case 'place_order':\n values = getOrderValues(params as EIP712OrderParams);\n break;\n case 'list_trigger_orders':\n values = getListTriggerOrdersValues(\n params as EIP712ListTriggerOrdersParams,\n );\n break;\n case 'cancel_orders':\n values = getOrderCancellationValues(params as EIP712CancelOrdersParams);\n break;\n case 'cancel_product_orders':\n values = getProductOrdersCancellationValues(\n params as EIP712CancelProductOrdersParams,\n );\n break;\n case 'liquidate_subaccount':\n values = getLiquidateSubaccountValues(\n params as EIP712LiquidateSubaccountParams,\n );\n break;\n case 'link_signer':\n values = getLinkSignerValues(params as EIP712LinkSignerParams);\n break;\n case 'transfer_quote':\n values = getTransferQuoteValues(params as EIP712TransferQuoteParams);\n break;\n case 'leaderboard_authentication':\n values = getLeaderboardAuthenticationValues(\n params as EIP712LeaderboardAuthenticationParams,\n );\n break;\n case 'mint_nlp':\n values = getMintNlpValues(params as EIP712MintNlpParams);\n break;\n case 'burn_nlp':\n values = getBurnNlpValues(params as EIP712BurnNlpParams);\n break;\n default:\n throw new Error(`Unsupported request type: ${requestType}`);\n }\n\n return values as SignableRequestTypeToEIP712Values[TReqType];\n}\n\nfunction getWithdrawCollateralValues(\n params: EIP712WithdrawCollateralParams,\n): EIP712WithdrawCollateralValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n productId: params.productId,\n amount: toIntegerString(params.amount),\n nonce: params.nonce,\n };\n}\n\nfunction getOrderValues(params: EIP712OrderParams): EIP712OrderValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n priceX18: toIntegerString(addDecimals(params.price)),\n amount: toIntegerString(params.amount),\n expiration: toIntegerString(params.expiration),\n nonce: params.nonce,\n appendix: toIntegerString(params.appendix),\n };\n}\n\nfunction getListTriggerOrdersValues(\n params: EIP712ListTriggerOrdersParams,\n): EIP712ListTriggerOrdersValues {\n return {\n recvTime: toIntegerString(params.recvTime),\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n };\n}\n\nfunction getOrderCancellationValues(\n params: EIP712CancelOrdersParams,\n): EIP712OrderCancellationValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n productIds: params.productIds,\n digests: params.digests,\n nonce: params.nonce,\n };\n}\n\nfunction getProductOrdersCancellationValues(\n params: EIP712CancelProductOrdersParams,\n): EIP712ProductOrdersCancellationValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n productIds: params.productIds,\n nonce: params.nonce,\n };\n}\n\nfunction getLiquidateSubaccountValues(\n params: EIP712LiquidateSubaccountParams,\n): EIP712LiquidateSubaccountValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n liquidatee: subaccountToHex({\n subaccountOwner: params.liquidateeOwner,\n subaccountName: params.liquidateeName,\n }),\n mode: params.mode,\n healthGroup: toIntegerString(params.healthGroup),\n amount: toIntegerString(params.amount),\n nonce: params.nonce,\n };\n}\n\nfunction getLinkSignerValues(\n params: EIP712LinkSignerParams,\n): EIP712LinkSignerValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n signer: params.signer,\n nonce: params.nonce,\n };\n}\n\nfunction getTransferQuoteValues(\n params: EIP712TransferQuoteParams,\n): EIP712TransferQuoteValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n recipient: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.recipientSubaccountName,\n }),\n amount: toIntegerString(params.amount),\n nonce: params.nonce,\n };\n}\n\nfunction getLeaderboardAuthenticationValues(\n params: EIP712LeaderboardAuthenticationParams,\n): EIP712LeaderboardAuthenticationValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n expiration: toIntegerString(params.expiration),\n };\n}\n\nfunction getMintNlpValues(params: EIP712MintNlpParams): EIP712MintNlpValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n quoteAmount: toIntegerString(params.quoteAmount),\n nonce: params.nonce,\n };\n}\n\nfunction getBurnNlpValues(params: EIP712BurnNlpParams): EIP712BurnNlpValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n nlpAmount: toIntegerString(params.nlpAmount),\n nonce: params.nonce,\n };\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/eip712/getNadoEIP712Values.ts"],"sourcesContent":["import { subaccountToHex } from '../utils/bytes32';\nimport { addDecimals, toIntegerString } from '../utils/math';\nimport {\n EIP712BurnNlpValues,\n EIP712LeaderboardAuthenticationValues,\n EIP712LinkSignerValues,\n EIP712LiquidateSubaccountValues,\n EIP712ListTriggerOrdersValues,\n EIP712MintNlpValues,\n EIP712OrderCancellationValues,\n EIP712OrderValues,\n EIP712ProductOrdersCancellationValues,\n EIP712TransferQuoteValues,\n EIP712WithdrawCollateralValues,\n SignableRequestTypeToEIP712Values,\n} from './eip712ValueTypes';\nimport {\n SignableRequestType,\n SignableRequestTypeToParams,\n} from './signableRequestType';\nimport {\n EIP712BurnNlpParams,\n EIP712CancelOrdersParams,\n EIP712CancelProductOrdersParams,\n EIP712LeaderboardAuthenticationParams,\n EIP712LinkSignerParams,\n EIP712LiquidateSubaccountParams,\n EIP712ListTriggerOrdersParams,\n EIP712MintNlpParams,\n EIP712OrderParams,\n EIP712TransferQuoteParams,\n EIP712WithdrawCollateralParams,\n} from './signatureParamTypes';\n\n/**\n * Returns the EIP712 compatible values for signing.\n *\n * Note: We use the string representation of bigint to be compatible with JSON.stringify\n *\n * @param requestType\n * @param params\n */\nexport function getNadoEIP712Values<TReqType extends SignableRequestType>(\n requestType: TReqType,\n params: SignableRequestTypeToParams[TReqType],\n): SignableRequestTypeToEIP712Values[TReqType] {\n // Typescript does not yet support type narrowing + generic lookup types, hence the hacks here\n let values: SignableRequestTypeToEIP712Values[keyof SignableRequestTypeToEIP712Values];\n switch (requestType) {\n case 'withdraw_collateral':\n values = getWithdrawCollateralValues(\n params as EIP712WithdrawCollateralParams,\n );\n break;\n case 'place_order':\n values = getOrderValues(params as EIP712OrderParams);\n break;\n case 'list_trigger_orders':\n values = getListTriggerOrdersValues(\n params as EIP712ListTriggerOrdersParams,\n );\n break;\n case 'cancel_orders':\n values = getOrderCancellationValues(params as EIP712CancelOrdersParams);\n break;\n case 'cancel_product_orders':\n values = getProductOrdersCancellationValues(\n params as EIP712CancelProductOrdersParams,\n );\n break;\n case 'liquidate_subaccount':\n values = getLiquidateSubaccountValues(\n params as EIP712LiquidateSubaccountParams,\n );\n break;\n case 'link_signer':\n values = getLinkSignerValues(params as EIP712LinkSignerParams);\n break;\n case 'transfer_quote':\n values = getTransferQuoteValues(params as EIP712TransferQuoteParams);\n break;\n case 'leaderboard_authentication':\n values = getLeaderboardAuthenticationValues(\n params as EIP712LeaderboardAuthenticationParams,\n );\n break;\n case 'mint_nlp':\n values = getMintNlpValues(params as EIP712MintNlpParams);\n break;\n case 'burn_nlp':\n values = getBurnNlpValues(params as EIP712BurnNlpParams);\n break;\n default:\n throw new Error(`Unsupported request type: ${requestType}`);\n }\n\n return values as SignableRequestTypeToEIP712Values[TReqType];\n}\n\nfunction getWithdrawCollateralValues(\n params: EIP712WithdrawCollateralParams,\n): EIP712WithdrawCollateralValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n productId: params.productId,\n amount: toIntegerString(params.amount),\n nonce: params.nonce,\n };\n}\n\nfunction getOrderValues(params: EIP712OrderParams): EIP712OrderValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n priceX18: toIntegerString(addDecimals(params.price)),\n amount: toIntegerString(params.amount),\n expiration: toIntegerString(params.expiration),\n nonce: params.nonce,\n appendix: toIntegerString(params.appendix),\n };\n}\n\nfunction getListTriggerOrdersValues(\n params: EIP712ListTriggerOrdersParams,\n): EIP712ListTriggerOrdersValues {\n return {\n recvTime: toIntegerString(params.recvTime),\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n };\n}\n\nfunction getOrderCancellationValues(\n params: EIP712CancelOrdersParams,\n): EIP712OrderCancellationValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n productIds: params.productIds,\n digests: params.digests,\n nonce: params.nonce,\n };\n}\n\nfunction getProductOrdersCancellationValues(\n params: EIP712CancelProductOrdersParams,\n): EIP712ProductOrdersCancellationValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n productIds: params.productIds,\n nonce: params.nonce,\n };\n}\n\nfunction getLiquidateSubaccountValues(\n params: EIP712LiquidateSubaccountParams,\n): EIP712LiquidateSubaccountValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n liquidatee: subaccountToHex({\n subaccountOwner: params.liquidateeOwner,\n subaccountName: params.liquidateeName,\n }),\n mode: params.mode,\n healthGroup: toIntegerString(params.healthGroup),\n amount: toIntegerString(params.amount),\n nonce: params.nonce,\n };\n}\n\nfunction getLinkSignerValues(\n params: EIP712LinkSignerParams,\n): EIP712LinkSignerValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n signer: params.signer,\n nonce: params.nonce,\n };\n}\n\nfunction getTransferQuoteValues(\n params: EIP712TransferQuoteParams,\n): EIP712TransferQuoteValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n recipient: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.recipientSubaccountName,\n }),\n amount: toIntegerString(params.amount),\n nonce: params.nonce,\n };\n}\n\nfunction getLeaderboardAuthenticationValues(\n params: EIP712LeaderboardAuthenticationParams,\n): EIP712LeaderboardAuthenticationValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n expiration: toIntegerString(params.expiration),\n contestIds: params.contestIds,\n };\n}\n\nfunction getMintNlpValues(params: EIP712MintNlpParams): EIP712MintNlpValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n quoteAmount: toIntegerString(params.quoteAmount),\n nonce: params.nonce,\n };\n}\n\nfunction getBurnNlpValues(params: EIP712BurnNlpParams): EIP712BurnNlpValues {\n return {\n sender: subaccountToHex({\n subaccountOwner: params.subaccountOwner,\n subaccountName: params.subaccountName,\n }),\n nlpAmount: toIntegerString(params.nlpAmount),\n nonce: params.nonce,\n };\n}\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/eip712/signatureParamTypes.ts"],"sourcesContent":["import { Address } from 'viem';\nimport { Subaccount } from '../types/subaccountTypes';\nimport { BigNumberish } from '../utils';\n\nexport interface SignedTx<TBaseTx> {\n tx: TBaseTx;\n signature: string;\n}\n\nexport interface SignedEIP712OrderParams {\n order: EIP712OrderParams;\n signature: string;\n}\n\nexport interface EIP712WithdrawCollateralParams extends Subaccount {\n productId: number;\n amount: BigNumberish;\n nonce: string;\n}\n\nexport interface EIP712LiquidateSubaccountParams extends Subaccount {\n // Subaccount being liquidated\n liquidateeOwner: string;\n liquidateeName: string;\n // 0 = spread, 1 = long, 2 = short\n mode: number;\n // Spot & perp pair\n healthGroup: BigNumberish;\n amount: BigNumberish;\n nonce: string;\n}\n\nexport interface EIP712OrderParams extends Subaccount {\n // Expiration time in seconds, with order type encoded if relevant\n expiration: BigNumberish;\n // Limit price\n price: BigNumberish;\n // Positive for buy, negative for sell\n amount: BigNumberish;\n // A unique nonce to identify the order\n nonce: string;\n // Packed order appendix (uint128) to encode order details such as order execution behavior, isolated, etc.\n appendix: BigNumberish;\n}\n\nexport interface EIP712ListTriggerOrdersParams extends Subaccount {\n recvTime: BigNumberish;\n}\n\nexport interface EIP712CancelOrdersParams extends Subaccount {\n productIds: number[];\n digests: string[];\n nonce: string;\n}\n\nexport interface EIP712CancelProductOrdersParams extends Subaccount {\n productIds: number[];\n nonce: string;\n}\n\nexport interface EIP712LinkSignerParams extends Subaccount {\n signer: Address;\n nonce: string;\n}\n\nexport interface EIP712TransferQuoteParams extends Subaccount {\n recipientSubaccountName: string;\n amount: BigNumberish;\n nonce: string;\n}\n\nexport interface EIP712LeaderboardAuthenticationParams extends Subaccount {\n expiration: BigNumberish;\n}\n\nexport interface EIP712MintNlpParams extends Subaccount {\n quoteAmount: BigNumberish;\n nonce: string;\n}\n\nexport interface EIP712BurnNlpParams extends Subaccount {\n nlpAmount: BigNumberish;\n nonce: string;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../src/eip712/signatureParamTypes.ts"],"sourcesContent":["import { Address } from 'viem';\nimport { Subaccount } from '../types/subaccountTypes';\nimport { BigNumberish } from '../utils';\n\nexport interface SignedTx<TBaseTx> {\n tx: TBaseTx;\n signature: string;\n}\n\nexport interface SignedEIP712OrderParams {\n order: EIP712OrderParams;\n signature: string;\n}\n\nexport interface EIP712WithdrawCollateralParams extends Subaccount {\n productId: number;\n amount: BigNumberish;\n nonce: string;\n}\n\nexport interface EIP712LiquidateSubaccountParams extends Subaccount {\n // Subaccount being liquidated\n liquidateeOwner: string;\n liquidateeName: string;\n // 0 = spread, 1 = long, 2 = short\n mode: number;\n // Spot & perp pair\n healthGroup: BigNumberish;\n amount: BigNumberish;\n nonce: string;\n}\n\nexport interface EIP712OrderParams extends Subaccount {\n // Expiration time in seconds, with order type encoded if relevant\n expiration: BigNumberish;\n // Limit price\n price: BigNumberish;\n // Positive for buy, negative for sell\n amount: BigNumberish;\n // A unique nonce to identify the order\n nonce: string;\n // Packed order appendix (uint128) to encode order details such as order execution behavior, isolated, etc.\n appendix: BigNumberish;\n}\n\nexport interface EIP712ListTriggerOrdersParams extends Subaccount {\n recvTime: BigNumberish;\n}\n\nexport interface EIP712CancelOrdersParams extends Subaccount {\n productIds: number[];\n digests: string[];\n nonce: string;\n}\n\nexport interface EIP712CancelProductOrdersParams extends Subaccount {\n productIds: number[];\n nonce: string;\n}\n\nexport interface EIP712LinkSignerParams extends Subaccount {\n signer: Address;\n nonce: string;\n}\n\nexport interface EIP712TransferQuoteParams extends Subaccount {\n recipientSubaccountName: string;\n amount: BigNumberish;\n nonce: string;\n}\n\nexport interface EIP712LeaderboardAuthenticationParams extends Subaccount {\n expiration: BigNumberish;\n contestIds: number[];\n}\n\nexport interface EIP712MintNlpParams extends Subaccount {\n quoteAmount: BigNumberish;\n nonce: string;\n}\n\nexport interface EIP712BurnNlpParams extends Subaccount {\n nlpAmount: BigNumberish;\n nonce: string;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -55,6 +55,7 @@ interface EIP712TransferQuoteParams extends Subaccount {
55
55
  }
56
56
  interface EIP712LeaderboardAuthenticationParams extends Subaccount {
57
57
  expiration: BigNumberish;
58
+ contestIds: number[];
58
59
  }
59
60
  interface EIP712MintNlpParams extends Subaccount {
60
61
  quoteAmount: BigNumberish;
@@ -55,6 +55,7 @@ interface EIP712TransferQuoteParams extends Subaccount {
55
55
  }
56
56
  interface EIP712LeaderboardAuthenticationParams extends Subaccount {
57
57
  expiration: BigNumberish;
58
+ contestIds: number[];
58
59
  }
59
60
  interface EIP712MintNlpParams extends Subaccount {
60
61
  quoteAmount: BigNumberish;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/mapValues.ts"],"sourcesContent":["/**\n * Map values of an object given mapFn. Avoids needing to pull in lodash\n */\nexport function mapValues<\n TKey extends string | number | symbol,\n TValue,\n TNewValue,\n>(\n obj: Record<TKey, TValue>,\n mapFn: (value: TValue, key: TKey, index: number) => TNewValue,\n): Record<TKey, TNewValue> {\n return Object.fromEntries(\n Object.entries(obj).map(([key, value], index) => [\n key,\n mapFn(value as TValue, key as TKey, index),\n ]),\n ) as Record<TKey, TNewValue>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,SAAS,UAKd,KACA,OACyB;AACzB,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG,UAAU;AAAA,MAC/C;AAAA,MACA,MAAM,OAAiB,KAAa,KAAK;AAAA,IAC3C,CAAC;AAAA,EACH;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/mapValues.ts"],"sourcesContent":["/**\n * Map values of an object given mapFn. Avoids needing to pull in lodash\n */\nexport function mapValues<\n TKey extends string | number | symbol,\n TValue,\n TNewValue,\n>(\n obj: Record<TKey, TValue>,\n mapFn: (value: TValue, key: TKey, index: number) => TNewValue,\n): Record<TKey, TNewValue>;\nexport function mapValues<\n TKey extends string | number | symbol,\n TValue,\n TNewValue,\n>(\n obj: Partial<Record<TKey, TValue>>,\n mapFn: (value: TValue, key: TKey, index: number) => TNewValue,\n): Partial<Record<TKey, TNewValue>>;\nexport function mapValues<\n TKey extends string | number | symbol,\n TValue,\n TNewValue,\n>(\n obj: Record<TKey, TValue>,\n mapFn: (value: TValue, key: TKey, index: number) => TNewValue,\n): Record<TKey, TNewValue> {\n return Object.fromEntries(\n Object.entries(obj).map(([key, value], index) => [\n key,\n mapFn(value as TValue, key as TKey, index),\n ]),\n ) as Record<TKey, TNewValue>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBO,SAAS,UAKd,KACA,OACyB;AACzB,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG,UAAU;AAAA,MAC/C;AAAA,MACA,MAAM,OAAiB,KAAa,KAAK;AAAA,IAC3C,CAAC;AAAA,EACH;AACF;","names":[]}
@@ -2,5 +2,6 @@
2
2
  * Map values of an object given mapFn. Avoids needing to pull in lodash
3
3
  */
4
4
  declare function mapValues<TKey extends string | number | symbol, TValue, TNewValue>(obj: Record<TKey, TValue>, mapFn: (value: TValue, key: TKey, index: number) => TNewValue): Record<TKey, TNewValue>;
5
+ declare function mapValues<TKey extends string | number | symbol, TValue, TNewValue>(obj: Partial<Record<TKey, TValue>>, mapFn: (value: TValue, key: TKey, index: number) => TNewValue): Partial<Record<TKey, TNewValue>>;
5
6
 
6
7
  export { mapValues };
@@ -2,5 +2,6 @@
2
2
  * Map values of an object given mapFn. Avoids needing to pull in lodash
3
3
  */
4
4
  declare function mapValues<TKey extends string | number | symbol, TValue, TNewValue>(obj: Record<TKey, TValue>, mapFn: (value: TValue, key: TKey, index: number) => TNewValue): Record<TKey, TNewValue>;
5
+ declare function mapValues<TKey extends string | number | symbol, TValue, TNewValue>(obj: Partial<Record<TKey, TValue>>, mapFn: (value: TValue, key: TKey, index: number) => TNewValue): Partial<Record<TKey, TNewValue>>;
5
6
 
6
7
  export { mapValues };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/mapValues.ts"],"sourcesContent":["/**\n * Map values of an object given mapFn. Avoids needing to pull in lodash\n */\nexport function mapValues<\n TKey extends string | number | symbol,\n TValue,\n TNewValue,\n>(\n obj: Record<TKey, TValue>,\n mapFn: (value: TValue, key: TKey, index: number) => TNewValue,\n): Record<TKey, TNewValue> {\n return Object.fromEntries(\n Object.entries(obj).map(([key, value], index) => [\n key,\n mapFn(value as TValue, key as TKey, index),\n ]),\n ) as Record<TKey, TNewValue>;\n}\n"],"mappings":";;;AAGO,SAAS,UAKd,KACA,OACyB;AACzB,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG,UAAU;AAAA,MAC/C;AAAA,MACA,MAAM,OAAiB,KAAa,KAAK;AAAA,IAC3C,CAAC;AAAA,EACH;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/mapValues.ts"],"sourcesContent":["/**\n * Map values of an object given mapFn. Avoids needing to pull in lodash\n */\nexport function mapValues<\n TKey extends string | number | symbol,\n TValue,\n TNewValue,\n>(\n obj: Record<TKey, TValue>,\n mapFn: (value: TValue, key: TKey, index: number) => TNewValue,\n): Record<TKey, TNewValue>;\nexport function mapValues<\n TKey extends string | number | symbol,\n TValue,\n TNewValue,\n>(\n obj: Partial<Record<TKey, TValue>>,\n mapFn: (value: TValue, key: TKey, index: number) => TNewValue,\n): Partial<Record<TKey, TNewValue>>;\nexport function mapValues<\n TKey extends string | number | symbol,\n TValue,\n TNewValue,\n>(\n obj: Record<TKey, TValue>,\n mapFn: (value: TValue, key: TKey, index: number) => TNewValue,\n): Record<TKey, TNewValue> {\n return Object.fromEntries(\n Object.entries(obj).map(([key, value], index) => [\n key,\n mapFn(value as TValue, key as TKey, index),\n ]),\n ) as Record<TKey, TNewValue>;\n}\n"],"mappings":";;;AAmBO,SAAS,UAKd,KACA,OACyB;AACzB,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG,UAAU;AAAA,MAC/C;AAAA,MACA,MAAM,OAAiB,KAAa,KAAK;AAAA,IAC3C,CAAC;AAAA,EACH;AACF;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nadohq/shared",
3
- "version": "0.5.1",
3
+ "version": "0.7.0",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "description": "Shared utilities, types, and contract helpers for Nado SDK",
@@ -52,5 +52,5 @@
52
52
  "bignumber.js": "*",
53
53
  "viem": "workspace:*"
54
54
  },
55
- "gitHead": "178ca0a331a72ec57e6e4c92c73151225c8a3142"
55
+ "gitHead": "2e4a8e4596ffdd83b3c83b20a0c1141ed671ec63"
56
56
  }
@@ -91,6 +91,7 @@ export function getNadoEIP712Types(
91
91
  LeaderboardAuthentication: [
92
92
  { name: 'sender', type: 'bytes32' },
93
93
  { name: 'expiration', type: 'uint64' },
94
+ { name: 'contestIds', type: 'uint32[]' },
94
95
  ],
95
96
  };
96
97
  case 'mint_nlp':
@@ -222,6 +222,7 @@ function getLeaderboardAuthenticationValues(
222
222
  subaccountName: params.subaccountName,
223
223
  }),
224
224
  expiration: toIntegerString(params.expiration),
225
+ contestIds: params.contestIds,
225
226
  };
226
227
  }
227
228
 
@@ -71,6 +71,7 @@ export interface EIP712TransferQuoteParams extends Subaccount {
71
71
 
72
72
  export interface EIP712LeaderboardAuthenticationParams extends Subaccount {
73
73
  expiration: BigNumberish;
74
+ contestIds: number[];
74
75
  }
75
76
 
76
77
  export interface EIP712MintNlpParams extends Subaccount {
@@ -1,6 +1,22 @@
1
1
  /**
2
2
  * Map values of an object given mapFn. Avoids needing to pull in lodash
3
3
  */
4
+ export function mapValues<
5
+ TKey extends string | number | symbol,
6
+ TValue,
7
+ TNewValue,
8
+ >(
9
+ obj: Record<TKey, TValue>,
10
+ mapFn: (value: TValue, key: TKey, index: number) => TNewValue,
11
+ ): Record<TKey, TNewValue>;
12
+ export function mapValues<
13
+ TKey extends string | number | symbol,
14
+ TValue,
15
+ TNewValue,
16
+ >(
17
+ obj: Partial<Record<TKey, TValue>>,
18
+ mapFn: (value: TValue, key: TKey, index: number) => TNewValue,
19
+ ): Partial<Record<TKey, TNewValue>>;
4
20
  export function mapValues<
5
21
  TKey extends string | number | symbol,
6
22
  TValue,