@nadohq/shared 0.1.0-alpha.4
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.
- package/README.md +2 -0
- package/dist/abis/Clearinghouse.cjs +891 -0
- package/dist/abis/Clearinghouse.cjs.map +1 -0
- package/dist/abis/Clearinghouse.d.cts +669 -0
- package/dist/abis/Clearinghouse.d.ts +669 -0
- package/dist/abis/Clearinghouse.js +868 -0
- package/dist/abis/Clearinghouse.js.map +1 -0
- package/dist/abis/ERC20.cjs +215 -0
- package/dist/abis/ERC20.cjs.map +1 -0
- package/dist/abis/ERC20.d.cts +143 -0
- package/dist/abis/ERC20.d.ts +143 -0
- package/dist/abis/ERC20.js +192 -0
- package/dist/abis/ERC20.js.map +1 -0
- package/dist/abis/Endpoint.cjs +589 -0
- package/dist/abis/Endpoint.cjs.map +1 -0
- package/dist/abis/Endpoint.d.cts +433 -0
- package/dist/abis/Endpoint.d.ts +433 -0
- package/dist/abis/Endpoint.js +566 -0
- package/dist/abis/Endpoint.js.map +1 -0
- package/dist/abis/MockERC20.cjs +341 -0
- package/dist/abis/MockERC20.cjs.map +1 -0
- package/dist/abis/MockERC20.d.cts +239 -0
- package/dist/abis/MockERC20.d.ts +239 -0
- package/dist/abis/MockERC20.js +318 -0
- package/dist/abis/MockERC20.js.map +1 -0
- package/dist/abis/PerpEngine.cjs +886 -0
- package/dist/abis/PerpEngine.cjs.map +1 -0
- package/dist/abis/PerpEngine.d.cts +661 -0
- package/dist/abis/PerpEngine.d.ts +661 -0
- package/dist/abis/PerpEngine.js +863 -0
- package/dist/abis/PerpEngine.js.map +1 -0
- package/dist/abis/Querier.cjs +1522 -0
- package/dist/abis/Querier.cjs.map +1 -0
- package/dist/abis/Querier.d.cts +1149 -0
- package/dist/abis/Querier.d.ts +1149 -0
- package/dist/abis/Querier.js +1499 -0
- package/dist/abis/Querier.js.map +1 -0
- package/dist/abis/SpotEngine.cjs +937 -0
- package/dist/abis/SpotEngine.cjs.map +1 -0
- package/dist/abis/SpotEngine.d.cts +701 -0
- package/dist/abis/SpotEngine.d.ts +701 -0
- package/dist/abis/SpotEngine.js +914 -0
- package/dist/abis/SpotEngine.js.map +1 -0
- package/dist/abis/WithdrawPool.cjs +307 -0
- package/dist/abis/WithdrawPool.cjs.map +1 -0
- package/dist/abis/WithdrawPool.d.cts +214 -0
- package/dist/abis/WithdrawPool.d.ts +214 -0
- package/dist/abis/WithdrawPool.js +284 -0
- package/dist/abis/WithdrawPool.js.map +1 -0
- package/dist/abis/index.cjs +41 -0
- package/dist/abis/index.cjs.map +1 -0
- package/dist/abis/index.d.cts +9 -0
- package/dist/abis/index.d.ts +9 -0
- package/dist/abis/index.js +11 -0
- package/dist/abis/index.js.map +1 -0
- package/dist/abis/nadoAbis.cjs +44 -0
- package/dist/abis/nadoAbis.cjs.map +1 -0
- package/dist/abis/nadoAbis.d.cts +3821 -0
- package/dist/abis/nadoAbis.d.ts +3821 -0
- package/dist/abis/nadoAbis.js +21 -0
- package/dist/abis/nadoAbis.js.map +1 -0
- package/dist/chunk-5WRI5ZAA.js +31 -0
- package/dist/chunk-5WRI5ZAA.js.map +1 -0
- package/dist/chunk-TUJ4HQKF.js +33 -0
- package/dist/chunk-TUJ4HQKF.js.map +1 -0
- package/dist/consts/chainEnvToChain.cjs +44 -0
- package/dist/consts/chainEnvToChain.cjs.map +1 -0
- package/dist/consts/chainEnvToChain.d.cts +388 -0
- package/dist/consts/chainEnvToChain.d.ts +388 -0
- package/dist/consts/chainEnvToChain.js +20 -0
- package/dist/consts/chainEnvToChain.js.map +1 -0
- package/dist/consts/index.cjs +27 -0
- package/dist/consts/index.cjs.map +1 -0
- package/dist/consts/index.d.cts +6 -0
- package/dist/consts/index.d.ts +6 -0
- package/dist/consts/index.js +4 -0
- package/dist/consts/index.js.map +1 -0
- package/dist/consts/productIds.cjs +34 -0
- package/dist/consts/productIds.cjs.map +1 -0
- package/dist/consts/productIds.d.cts +4 -0
- package/dist/consts/productIds.d.ts +4 -0
- package/dist/consts/productIds.js +10 -0
- package/dist/consts/productIds.js.map +1 -0
- package/dist/deployments/core/deployment.InkSepolia.json +13 -0
- package/dist/deployments/core/deployment.arbitrumOne.json +18 -0
- package/dist/deployments/core/deployment.localhost.json +18 -0
- package/dist/deployments/index.cjs +65 -0
- package/dist/deployments/index.cjs.map +1 -0
- package/dist/deployments/index.d.cts +13 -0
- package/dist/deployments/index.d.ts +13 -0
- package/dist/deployments/index.js +32 -0
- package/dist/deployments/index.js.map +1 -0
- package/dist/eip712/eip712ValueTypes.cjs +19 -0
- package/dist/eip712/eip712ValueTypes.cjs.map +1 -0
- package/dist/eip712/eip712ValueTypes.d.cts +48 -0
- package/dist/eip712/eip712ValueTypes.d.ts +48 -0
- package/dist/eip712/eip712ValueTypes.js +1 -0
- package/dist/eip712/eip712ValueTypes.js.map +1 -0
- package/dist/eip712/getNadoEIP712Domain.cjs +39 -0
- package/dist/eip712/getNadoEIP712Domain.cjs.map +1 -0
- package/dist/eip712/getNadoEIP712Domain.d.cts +11 -0
- package/dist/eip712/getNadoEIP712Domain.d.ts +11 -0
- package/dist/eip712/getNadoEIP712Domain.js +16 -0
- package/dist/eip712/getNadoEIP712Domain.js.map +1 -0
- package/dist/eip712/getNadoEIP712PrimaryType.cjs +35 -0
- package/dist/eip712/getNadoEIP712PrimaryType.cjs.map +1 -0
- package/dist/eip712/getNadoEIP712PrimaryType.d.cts +16 -0
- package/dist/eip712/getNadoEIP712PrimaryType.d.ts +16 -0
- package/dist/eip712/getNadoEIP712PrimaryType.js +12 -0
- package/dist/eip712/getNadoEIP712PrimaryType.js.map +1 -0
- package/dist/eip712/getNadoEIP712Types.cjs +129 -0
- package/dist/eip712/getNadoEIP712Types.cjs.map +1 -0
- package/dist/eip712/getNadoEIP712Types.d.cts +20 -0
- package/dist/eip712/getNadoEIP712Types.d.ts +20 -0
- package/dist/eip712/getNadoEIP712Types.js +106 -0
- package/dist/eip712/getNadoEIP712Types.js.map +1 -0
- package/dist/eip712/getNadoEIP712Values.cjs +206 -0
- package/dist/eip712/getNadoEIP712Values.cjs.map +1 -0
- package/dist/eip712/getNadoEIP712Values.d.cts +20 -0
- package/dist/eip712/getNadoEIP712Values.d.ts +20 -0
- package/dist/eip712/getNadoEIP712Values.js +183 -0
- package/dist/eip712/getNadoEIP712Values.js.map +1 -0
- package/dist/eip712/getOrderVerifyingAddress.cjs +34 -0
- package/dist/eip712/getOrderVerifyingAddress.cjs.map +1 -0
- package/dist/eip712/getOrderVerifyingAddress.d.cts +9 -0
- package/dist/eip712/getOrderVerifyingAddress.d.ts +9 -0
- package/dist/eip712/getOrderVerifyingAddress.js +11 -0
- package/dist/eip712/getOrderVerifyingAddress.js.map +1 -0
- package/dist/eip712/getSignedTransactionRequest.cjs +42 -0
- package/dist/eip712/getSignedTransactionRequest.cjs.map +1 -0
- package/dist/eip712/getSignedTransactionRequest.d.cts +19 -0
- package/dist/eip712/getSignedTransactionRequest.d.ts +19 -0
- package/dist/eip712/getSignedTransactionRequest.js +19 -0
- package/dist/eip712/getSignedTransactionRequest.js.map +1 -0
- package/dist/eip712/index.cjs +43 -0
- package/dist/eip712/index.cjs.map +1 -0
- package/dist/eip712/index.d.cts +17 -0
- package/dist/eip712/index.d.ts +17 -0
- package/dist/eip712/index.js +12 -0
- package/dist/eip712/index.js.map +1 -0
- package/dist/eip712/orderDigest.cjs +45 -0
- package/dist/eip712/orderDigest.cjs.map +1 -0
- package/dist/eip712/orderDigest.d.cts +20 -0
- package/dist/eip712/orderDigest.d.ts +20 -0
- package/dist/eip712/orderDigest.js +22 -0
- package/dist/eip712/orderDigest.js.map +1 -0
- package/dist/eip712/signableRequestType.cjs +19 -0
- package/dist/eip712/signableRequestType.cjs.map +1 -0
- package/dist/eip712/signableRequestType.d.cts +26 -0
- package/dist/eip712/signableRequestType.d.ts +26 -0
- package/dist/eip712/signableRequestType.js +1 -0
- package/dist/eip712/signableRequestType.js.map +1 -0
- package/dist/eip712/signatureParamTypes.cjs +19 -0
- package/dist/eip712/signatureParamTypes.cjs.map +1 -0
- package/dist/eip712/signatureParamTypes.d.cts +68 -0
- package/dist/eip712/signatureParamTypes.d.ts +68 -0
- package/dist/eip712/signatureParamTypes.js +1 -0
- package/dist/eip712/signatureParamTypes.js.map +1 -0
- package/dist/encoding/encoding.cjs +73 -0
- package/dist/encoding/encoding.cjs.map +1 -0
- package/dist/encoding/encoding.d.cts +11 -0
- package/dist/encoding/encoding.d.ts +11 -0
- package/dist/encoding/encoding.js +49 -0
- package/dist/encoding/encoding.js.map +1 -0
- package/dist/encoding/index.cjs +25 -0
- package/dist/encoding/index.cjs.map +1 -0
- package/dist/encoding/index.d.cts +7 -0
- package/dist/encoding/index.d.ts +7 -0
- package/dist/encoding/index.js +3 -0
- package/dist/encoding/index.js.map +1 -0
- package/dist/execute/approveDepositAllowance.cjs +38 -0
- package/dist/execute/approveDepositAllowance.cjs.map +1 -0
- package/dist/execute/approveDepositAllowance.d.cts +18 -0
- package/dist/execute/approveDepositAllowance.d.ts +18 -0
- package/dist/execute/approveDepositAllowance.js +15 -0
- package/dist/execute/approveDepositAllowance.js.map +1 -0
- package/dist/execute/depositCollateral.cjs +59 -0
- package/dist/execute/depositCollateral.cjs.map +1 -0
- package/dist/execute/depositCollateral.d.cts +21 -0
- package/dist/execute/depositCollateral.d.ts +21 -0
- package/dist/execute/depositCollateral.js +36 -0
- package/dist/execute/depositCollateral.js.map +1 -0
- package/dist/execute/index.cjs +27 -0
- package/dist/execute/index.cjs.map +1 -0
- package/dist/execute/index.d.cts +9 -0
- package/dist/execute/index.d.ts +9 -0
- package/dist/execute/index.js +4 -0
- package/dist/execute/index.js.map +1 -0
- package/dist/index.cjs +39 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +67 -0
- package/dist/index.d.ts +67 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/types/ChainEnv.cjs +44 -0
- package/dist/types/ChainEnv.cjs.map +1 -0
- package/dist/types/ChainEnv.d.cts +7 -0
- package/dist/types/ChainEnv.d.ts +7 -0
- package/dist/types/ChainEnv.js +18 -0
- package/dist/types/ChainEnv.js.map +1 -0
- package/dist/types/OrderExecutionType.cjs +19 -0
- package/dist/types/OrderExecutionType.cjs.map +1 -0
- package/dist/types/OrderExecutionType.d.cts +10 -0
- package/dist/types/OrderExecutionType.d.ts +10 -0
- package/dist/types/OrderExecutionType.js +1 -0
- package/dist/types/OrderExecutionType.js.map +1 -0
- package/dist/types/balanceTypes.cjs +19 -0
- package/dist/types/balanceTypes.cjs.map +1 -0
- package/dist/types/balanceTypes.d.cts +38 -0
- package/dist/types/balanceTypes.d.ts +38 -0
- package/dist/types/balanceTypes.js +1 -0
- package/dist/types/balanceTypes.js.map +1 -0
- package/dist/types/bytes.cjs +19 -0
- package/dist/types/bytes.cjs.map +1 -0
- package/dist/types/bytes.d.cts +3 -0
- package/dist/types/bytes.d.ts +3 -0
- package/dist/types/bytes.js +1 -0
- package/dist/types/bytes.js.map +1 -0
- package/dist/types/healthTypes.cjs +19 -0
- package/dist/types/healthTypes.cjs.map +1 -0
- package/dist/types/healthTypes.d.cts +15 -0
- package/dist/types/healthTypes.d.ts +15 -0
- package/dist/types/healthTypes.js +1 -0
- package/dist/types/healthTypes.js.map +1 -0
- package/dist/types/index.cjs +45 -0
- package/dist/types/index.cjs.map +1 -0
- package/dist/types/index.d.cts +15 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.js +13 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/marketTypes.cjs +19 -0
- package/dist/types/marketTypes.cjs.map +1 -0
- package/dist/types/marketTypes.d.cts +31 -0
- package/dist/types/marketTypes.d.ts +31 -0
- package/dist/types/marketTypes.js +1 -0
- package/dist/types/marketTypes.js.map +1 -0
- package/dist/types/nadoContractTypes.cjs +19 -0
- package/dist/types/nadoContractTypes.cjs.map +1 -0
- package/dist/types/nadoContractTypes.d.cts +14 -0
- package/dist/types/nadoContractTypes.d.ts +14 -0
- package/dist/types/nadoContractTypes.js +1 -0
- package/dist/types/nadoContractTypes.js.map +1 -0
- package/dist/types/orderAppendixTypes.cjs +19 -0
- package/dist/types/orderAppendixTypes.cjs.map +1 -0
- package/dist/types/orderAppendixTypes.d.cts +54 -0
- package/dist/types/orderAppendixTypes.d.ts +54 -0
- package/dist/types/orderAppendixTypes.js +1 -0
- package/dist/types/orderAppendixTypes.js.map +1 -0
- package/dist/types/productTypes.cjs +47 -0
- package/dist/types/productTypes.cjs.map +1 -0
- package/dist/types/productTypes.d.cts +55 -0
- package/dist/types/productTypes.d.ts +55 -0
- package/dist/types/productTypes.js +23 -0
- package/dist/types/productTypes.js.map +1 -0
- package/dist/types/subaccountTypes.cjs +19 -0
- package/dist/types/subaccountTypes.cjs.map +1 -0
- package/dist/types/subaccountTypes.d.cts +13 -0
- package/dist/types/subaccountTypes.d.ts +13 -0
- package/dist/types/subaccountTypes.js +1 -0
- package/dist/types/subaccountTypes.js.map +1 -0
- package/dist/types/viemTypes.cjs +19 -0
- package/dist/types/viemTypes.cjs.map +1 -0
- package/dist/types/viemTypes.d.cts +23 -0
- package/dist/types/viemTypes.d.ts +23 -0
- package/dist/types/viemTypes.js +1 -0
- package/dist/types/viemTypes.js.map +1 -0
- package/dist/utils/asyncResult.cjs +36 -0
- package/dist/utils/asyncResult.cjs.map +1 -0
- package/dist/utils/asyncResult.d.cts +4 -0
- package/dist/utils/asyncResult.d.ts +4 -0
- package/dist/utils/asyncResult.js +13 -0
- package/dist/utils/asyncResult.js.map +1 -0
- package/dist/utils/balanceValue.cjs +43 -0
- package/dist/utils/balanceValue.cjs.map +1 -0
- package/dist/utils/balanceValue.d.cts +25 -0
- package/dist/utils/balanceValue.d.ts +25 -0
- package/dist/utils/balanceValue.js +18 -0
- package/dist/utils/balanceValue.js.map +1 -0
- package/dist/utils/bytes32.cjs +92 -0
- package/dist/utils/bytes32.cjs.map +1 -0
- package/dist/utils/bytes32.d.cts +47 -0
- package/dist/utils/bytes32.d.ts +47 -0
- package/dist/utils/bytes32.js +64 -0
- package/dist/utils/bytes32.js.map +1 -0
- package/dist/utils/bytes32.test.cjs +203 -0
- package/dist/utils/bytes32.test.cjs.map +1 -0
- package/dist/utils/bytes32.test.d.cts +2 -0
- package/dist/utils/bytes32.test.d.ts +2 -0
- package/dist/utils/bytes32.test.js +165 -0
- package/dist/utils/bytes32.test.js.map +1 -0
- package/dist/utils/createDeterministicLinkedSignerPrivateKey.cjs +56 -0
- package/dist/utils/createDeterministicLinkedSignerPrivateKey.cjs.map +1 -0
- package/dist/utils/createDeterministicLinkedSignerPrivateKey.d.cts +20 -0
- package/dist/utils/createDeterministicLinkedSignerPrivateKey.d.ts +20 -0
- package/dist/utils/createDeterministicLinkedSignerPrivateKey.js +33 -0
- package/dist/utils/createDeterministicLinkedSignerPrivateKey.js.map +1 -0
- package/dist/utils/errors/WalletNotProvidedError.cjs +36 -0
- package/dist/utils/errors/WalletNotProvidedError.cjs.map +1 -0
- package/dist/utils/errors/WalletNotProvidedError.d.cts +5 -0
- package/dist/utils/errors/WalletNotProvidedError.d.ts +5 -0
- package/dist/utils/errors/WalletNotProvidedError.js +13 -0
- package/dist/utils/errors/WalletNotProvidedError.js.map +1 -0
- package/dist/utils/errors/index.cjs +25 -0
- package/dist/utils/errors/index.cjs.map +1 -0
- package/dist/utils/errors/index.d.cts +1 -0
- package/dist/utils/errors/index.d.ts +1 -0
- package/dist/utils/errors/index.js +3 -0
- package/dist/utils/errors/index.js.map +1 -0
- package/dist/utils/getValidatedAddress.cjs +37 -0
- package/dist/utils/getValidatedAddress.cjs.map +1 -0
- package/dist/utils/getValidatedAddress.d.cts +9 -0
- package/dist/utils/getValidatedAddress.d.ts +9 -0
- package/dist/utils/getValidatedAddress.js +14 -0
- package/dist/utils/getValidatedAddress.js.map +1 -0
- package/dist/utils/getValidatedHex.cjs +37 -0
- package/dist/utils/getValidatedHex.cjs.map +1 -0
- package/dist/utils/getValidatedHex.d.cts +9 -0
- package/dist/utils/getValidatedHex.d.ts +9 -0
- package/dist/utils/getValidatedHex.js +14 -0
- package/dist/utils/getValidatedHex.js.map +1 -0
- package/dist/utils/index.cjs +53 -0
- package/dist/utils/index.cjs.map +1 -0
- package/dist/utils/index.d.cts +37 -0
- package/dist/utils/index.d.ts +37 -0
- package/dist/utils/index.js +17 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/interest.cjs +94 -0
- package/dist/utils/interest.cjs.map +1 -0
- package/dist/utils/interest.d.cts +50 -0
- package/dist/utils/interest.d.ts +50 -0
- package/dist/utils/interest.js +70 -0
- package/dist/utils/interest.js.map +1 -0
- package/dist/utils/isWriteableContract.cjs +33 -0
- package/dist/utils/isWriteableContract.cjs.map +1 -0
- package/dist/utils/isWriteableContract.d.cts +6 -0
- package/dist/utils/isWriteableContract.d.ts +6 -0
- package/dist/utils/isWriteableContract.js +10 -0
- package/dist/utils/isWriteableContract.js.map +1 -0
- package/dist/utils/mapValues.cjs +38 -0
- package/dist/utils/mapValues.cjs.map +1 -0
- package/dist/utils/mapValues.d.cts +6 -0
- package/dist/utils/mapValues.d.ts +6 -0
- package/dist/utils/mapValues.js +15 -0
- package/dist/utils/mapValues.js.map +1 -0
- package/dist/utils/math/BigDecimals.cjs +37 -0
- package/dist/utils/math/BigDecimals.cjs.map +1 -0
- package/dist/utils/math/BigDecimals.d.cts +8 -0
- package/dist/utils/math/BigDecimals.d.ts +8 -0
- package/dist/utils/math/BigDecimals.js +14 -0
- package/dist/utils/math/BigDecimals.js.map +1 -0
- package/dist/utils/math/bigDecimal.cjs +57 -0
- package/dist/utils/math/bigDecimal.cjs.map +1 -0
- package/dist/utils/math/bigDecimal.d.cts +18 -0
- package/dist/utils/math/bigDecimal.d.ts +18 -0
- package/dist/utils/math/bigDecimal.js +23 -0
- package/dist/utils/math/bigDecimal.js.map +1 -0
- package/dist/utils/math/clamp.cjs +38 -0
- package/dist/utils/math/clamp.cjs.map +1 -0
- package/dist/utils/math/clamp.d.cts +15 -0
- package/dist/utils/math/clamp.d.ts +15 -0
- package/dist/utils/math/clamp.js +15 -0
- package/dist/utils/math/clamp.js.map +1 -0
- package/dist/utils/math/decimalAdjustment.cjs +60 -0
- package/dist/utils/math/decimalAdjustment.cjs.map +1 -0
- package/dist/utils/math/decimalAdjustment.d.cts +31 -0
- package/dist/utils/math/decimalAdjustment.d.ts +31 -0
- package/dist/utils/math/decimalAdjustment.js +35 -0
- package/dist/utils/math/decimalAdjustment.js.map +1 -0
- package/dist/utils/math/index.cjs +37 -0
- package/dist/utils/math/index.cjs.map +1 -0
- package/dist/utils/math/index.d.cts +8 -0
- package/dist/utils/math/index.d.ts +8 -0
- package/dist/utils/math/index.js +9 -0
- package/dist/utils/math/index.js.map +1 -0
- package/dist/utils/math/sumBigDecimalBy.cjs +36 -0
- package/dist/utils/math/sumBigDecimalBy.cjs.map +1 -0
- package/dist/utils/math/sumBigDecimalBy.d.cts +10 -0
- package/dist/utils/math/sumBigDecimalBy.d.ts +10 -0
- package/dist/utils/math/sumBigDecimalBy.js +13 -0
- package/dist/utils/math/sumBigDecimalBy.js.map +1 -0
- package/dist/utils/math/toBigInt.cjs +34 -0
- package/dist/utils/math/toBigInt.cjs.map +1 -0
- package/dist/utils/math/toBigInt.d.cts +11 -0
- package/dist/utils/math/toBigInt.d.ts +11 -0
- package/dist/utils/math/toBigInt.js +11 -0
- package/dist/utils/math/toBigInt.js.map +1 -0
- package/dist/utils/math/toIntegerString.cjs +34 -0
- package/dist/utils/math/toIntegerString.cjs.map +1 -0
- package/dist/utils/math/toIntegerString.d.cts +11 -0
- package/dist/utils/math/toIntegerString.d.ts +11 -0
- package/dist/utils/math/toIntegerString.js +11 -0
- package/dist/utils/math/toIntegerString.js.map +1 -0
- package/dist/utils/orders/appendix/appendixTWAPValue.cjs +50 -0
- package/dist/utils/orders/appendix/appendixTWAPValue.cjs.map +1 -0
- package/dist/utils/orders/appendix/appendixTWAPValue.d.cts +31 -0
- package/dist/utils/orders/appendix/appendixTWAPValue.d.ts +31 -0
- package/dist/utils/orders/appendix/appendixTWAPValue.js +26 -0
- package/dist/utils/orders/appendix/appendixTWAPValue.js.map +1 -0
- package/dist/utils/orders/appendix/bitMaskValue.cjs +34 -0
- package/dist/utils/orders/appendix/bitMaskValue.cjs.map +1 -0
- package/dist/utils/orders/appendix/bitMaskValue.d.cts +10 -0
- package/dist/utils/orders/appendix/bitMaskValue.d.ts +10 -0
- package/dist/utils/orders/appendix/bitMaskValue.js +11 -0
- package/dist/utils/orders/appendix/bitMaskValue.js.map +1 -0
- package/dist/utils/orders/appendix/index.cjs +33 -0
- package/dist/utils/orders/appendix/index.cjs.map +1 -0
- package/dist/utils/orders/appendix/index.d.cts +9 -0
- package/dist/utils/orders/appendix/index.d.ts +9 -0
- package/dist/utils/orders/appendix/index.js +7 -0
- package/dist/utils/orders/appendix/index.js.map +1 -0
- package/dist/utils/orders/appendix/orderAppendix.test.cjs +165 -0
- package/dist/utils/orders/appendix/orderAppendix.test.cjs.map +1 -0
- package/dist/utils/orders/appendix/orderAppendix.test.d.cts +2 -0
- package/dist/utils/orders/appendix/orderAppendix.test.d.ts +2 -0
- package/dist/utils/orders/appendix/orderAppendix.test.js +120 -0
- package/dist/utils/orders/appendix/orderAppendix.test.js.map +1 -0
- package/dist/utils/orders/appendix/packOrderAppendix.cjs +88 -0
- package/dist/utils/orders/appendix/packOrderAppendix.cjs.map +1 -0
- package/dist/utils/orders/appendix/packOrderAppendix.d.cts +12 -0
- package/dist/utils/orders/appendix/packOrderAppendix.d.ts +12 -0
- package/dist/utils/orders/appendix/packOrderAppendix.js +65 -0
- package/dist/utils/orders/appendix/packOrderAppendix.js.map +1 -0
- package/dist/utils/orders/appendix/types.cjs +19 -0
- package/dist/utils/orders/appendix/types.cjs.map +1 -0
- package/dist/utils/orders/appendix/types.d.cts +19 -0
- package/dist/utils/orders/appendix/types.d.ts +19 -0
- package/dist/utils/orders/appendix/types.js +1 -0
- package/dist/utils/orders/appendix/types.js.map +1 -0
- package/dist/utils/orders/appendix/unpackOrderAppendix.cjs +106 -0
- package/dist/utils/orders/appendix/unpackOrderAppendix.cjs.map +1 -0
- package/dist/utils/orders/appendix/unpackOrderAppendix.d.cts +12 -0
- package/dist/utils/orders/appendix/unpackOrderAppendix.d.ts +12 -0
- package/dist/utils/orders/appendix/unpackOrderAppendix.js +83 -0
- package/dist/utils/orders/appendix/unpackOrderAppendix.js.map +1 -0
- package/dist/utils/orders/index.cjs +29 -0
- package/dist/utils/orders/index.cjs.map +1 -0
- package/dist/utils/orders/index.d.cts +11 -0
- package/dist/utils/orders/index.d.ts +11 -0
- package/dist/utils/orders/index.js +5 -0
- package/dist/utils/orders/index.js.map +1 -0
- package/dist/utils/orders/orderNonce.cjs +44 -0
- package/dist/utils/orders/orderNonce.cjs.map +1 -0
- package/dist/utils/orders/orderNonce.d.cts +14 -0
- package/dist/utils/orders/orderNonce.d.ts +14 -0
- package/dist/utils/orders/orderNonce.js +20 -0
- package/dist/utils/orders/orderNonce.js.map +1 -0
- package/dist/utils/orders/recvTime.cjs +33 -0
- package/dist/utils/orders/recvTime.cjs.map +1 -0
- package/dist/utils/orders/recvTime.d.cts +9 -0
- package/dist/utils/orders/recvTime.d.ts +9 -0
- package/dist/utils/orders/recvTime.js +10 -0
- package/dist/utils/orders/recvTime.js.map +1 -0
- package/dist/utils/productTypeFilter.cjs +49 -0
- package/dist/utils/productTypeFilter.cjs.map +1 -0
- package/dist/utils/productTypeFilter.d.cts +11 -0
- package/dist/utils/productTypeFilter.d.ts +11 -0
- package/dist/utils/productTypeFilter.js +25 -0
- package/dist/utils/productTypeFilter.js.map +1 -0
- package/dist/utils/time.cjs +47 -0
- package/dist/utils/time.cjs.map +1 -0
- package/dist/utils/time.d.cts +17 -0
- package/dist/utils/time.d.ts +17 -0
- package/dist/utils/time.js +22 -0
- package/dist/utils/time.js.map +1 -0
- package/dist/utils/toPrintableObject.cjs +51 -0
- package/dist/utils/toPrintableObject.cjs.map +1 -0
- package/dist/utils/toPrintableObject.d.cts +6 -0
- package/dist/utils/toPrintableObject.d.ts +6 -0
- package/dist/utils/toPrintableObject.js +28 -0
- package/dist/utils/toPrintableObject.js.map +1 -0
- package/package.json +49 -0
- package/src/abis/Clearinghouse.ts +861 -0
- package/src/abis/ERC20.ts +185 -0
- package/src/abis/Endpoint.ts +559 -0
- package/src/abis/MockERC20.ts +311 -0
- package/src/abis/PerpEngine.ts +856 -0
- package/src/abis/Querier.ts +1492 -0
- package/src/abis/SpotEngine.ts +907 -0
- package/src/abis/WithdrawPool.ts +277 -0
- package/src/abis/index.ts +9 -0
- package/src/abis/nadoAbis.ts +19 -0
- package/src/consts/chainEnvToChain.ts +16 -0
- package/src/consts/index.ts +2 -0
- package/src/consts/productIds.ts +3 -0
- package/src/deployments/core/deployment.InkSepolia.json +13 -0
- package/src/deployments/core/deployment.arbitrumOne.json +18 -0
- package/src/deployments/core/deployment.localhost.json +18 -0
- package/src/deployments/index.ts +40 -0
- package/src/eip712/eip712ValueTypes.ts +83 -0
- package/src/eip712/getNadoEIP712Domain.ts +20 -0
- package/src/eip712/getNadoEIP712PrimaryType.ts +13 -0
- package/src/eip712/getNadoEIP712Types.ts +113 -0
- package/src/eip712/getNadoEIP712Values.ts +248 -0
- package/src/eip712/getOrderVerifyingAddress.ts +9 -0
- package/src/eip712/getSignedTransactionRequest.ts +30 -0
- package/src/eip712/index.ts +10 -0
- package/src/eip712/orderDigest.ts +28 -0
- package/src/eip712/signableRequestType.ts +32 -0
- package/src/eip712/signatureParamTypes.ts +84 -0
- package/src/encoding/encoding.ts +50 -0
- package/src/encoding/index.ts +1 -0
- package/src/execute/approveDepositAllowance.ts +20 -0
- package/src/execute/depositCollateral.ts +43 -0
- package/src/execute/index.ts +2 -0
- package/src/index.ts +8 -0
- package/src/types/ChainEnv.ts +13 -0
- package/src/types/OrderExecutionType.ts +8 -0
- package/src/types/balanceTypes.ts +47 -0
- package/src/types/bytes.ts +1 -0
- package/src/types/healthTypes.ts +17 -0
- package/src/types/index.ts +11 -0
- package/src/types/marketTypes.ts +40 -0
- package/src/types/nadoContractTypes.ts +14 -0
- package/src/types/orderAppendixTypes.ts +58 -0
- package/src/types/productTypes.ts +76 -0
- package/src/types/subaccountTypes.ts +13 -0
- package/src/types/viemTypes.ts +42 -0
- package/src/utils/asyncResult.ts +12 -0
- package/src/utils/balanceValue.ts +42 -0
- package/src/utils/bytes32.test.ts +117 -0
- package/src/utils/bytes32.ts +110 -0
- package/src/utils/createDeterministicLinkedSignerPrivateKey.ts +46 -0
- package/src/utils/errors/WalletNotProvidedError.ts +6 -0
- package/src/utils/errors/index.ts +1 -0
- package/src/utils/getValidatedAddress.ts +13 -0
- package/src/utils/getValidatedHex.ts +13 -0
- package/src/utils/index.ts +15 -0
- package/src/utils/interest.ts +133 -0
- package/src/utils/isWriteableContract.ts +11 -0
- package/src/utils/mapValues.ts +18 -0
- package/src/utils/math/BigDecimals.ts +8 -0
- package/src/utils/math/bigDecimal.ts +32 -0
- package/src/utils/math/clamp.ts +26 -0
- package/src/utils/math/decimalAdjustment.ts +65 -0
- package/src/utils/math/index.ts +7 -0
- package/src/utils/math/sumBigDecimalBy.ts +18 -0
- package/src/utils/math/toBigInt.ts +11 -0
- package/src/utils/math/toIntegerString.ts +11 -0
- package/src/utils/orders/appendix/appendixTWAPValue.ts +51 -0
- package/src/utils/orders/appendix/bitMaskValue.ts +11 -0
- package/src/utils/orders/appendix/index.ts +5 -0
- package/src/utils/orders/appendix/orderAppendix.test.ts +121 -0
- package/src/utils/orders/appendix/packOrderAppendix.ts +71 -0
- package/src/utils/orders/appendix/types.ts +17 -0
- package/src/utils/orders/appendix/unpackOrderAppendix.ts +90 -0
- package/src/utils/orders/index.ts +3 -0
- package/src/utils/orders/orderNonce.ts +32 -0
- package/src/utils/orders/recvTime.ts +9 -0
- package/src/utils/productTypeFilter.ts +23 -0
- package/src/utils/time.ts +21 -0
- package/src/utils/toPrintableObject.ts +25 -0
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
9
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
|
|
28
|
+
// ../../node_modules/@jest/globals/build/index.js
|
|
29
|
+
var require_build = __commonJS({
|
|
30
|
+
"../../node_modules/@jest/globals/build/index.js"(exports2, module2) {
|
|
31
|
+
"use strict";
|
|
32
|
+
(() => {
|
|
33
|
+
"use strict";
|
|
34
|
+
var __webpack_exports__ = {};
|
|
35
|
+
throw new Error("Do not import `@jest/globals` outside of the Jest test environment");
|
|
36
|
+
module2.exports = __webpack_exports__;
|
|
37
|
+
})();
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
// src/utils/bytes32.test.ts
|
|
42
|
+
var import_globals = __toESM(require_build(), 1);
|
|
43
|
+
var import_bytes32 = require("./bytes32.cjs");
|
|
44
|
+
var TEST_ADDRESS = "0xb92EFcF519EDC2f1FE60b4491Ef51d97Ed4d7685";
|
|
45
|
+
(0, import_globals.describe)("bytes32", () => {
|
|
46
|
+
(0, import_globals.it)("converts a subaccount to bytes", () => {
|
|
47
|
+
const expectedBytes = new Uint8Array([
|
|
48
|
+
185,
|
|
49
|
+
46,
|
|
50
|
+
252,
|
|
51
|
+
245,
|
|
52
|
+
25,
|
|
53
|
+
237,
|
|
54
|
+
194,
|
|
55
|
+
241,
|
|
56
|
+
254,
|
|
57
|
+
96,
|
|
58
|
+
180,
|
|
59
|
+
73,
|
|
60
|
+
30,
|
|
61
|
+
245,
|
|
62
|
+
29,
|
|
63
|
+
151,
|
|
64
|
+
237,
|
|
65
|
+
77,
|
|
66
|
+
118,
|
|
67
|
+
133,
|
|
68
|
+
116,
|
|
69
|
+
101,
|
|
70
|
+
115,
|
|
71
|
+
116,
|
|
72
|
+
0,
|
|
73
|
+
0,
|
|
74
|
+
0,
|
|
75
|
+
0,
|
|
76
|
+
0,
|
|
77
|
+
0,
|
|
78
|
+
0,
|
|
79
|
+
0
|
|
80
|
+
]);
|
|
81
|
+
(0, import_globals.expect)(
|
|
82
|
+
(0, import_bytes32.subaccountToBytes32)({
|
|
83
|
+
subaccountName: "test",
|
|
84
|
+
subaccountOwner: TEST_ADDRESS
|
|
85
|
+
})
|
|
86
|
+
).toStrictEqual(expectedBytes);
|
|
87
|
+
});
|
|
88
|
+
(0, import_globals.it)("converts bytes to a subaccount", () => {
|
|
89
|
+
const subaccountBytes = new Uint8Array([
|
|
90
|
+
185,
|
|
91
|
+
46,
|
|
92
|
+
252,
|
|
93
|
+
245,
|
|
94
|
+
25,
|
|
95
|
+
237,
|
|
96
|
+
194,
|
|
97
|
+
241,
|
|
98
|
+
254,
|
|
99
|
+
96,
|
|
100
|
+
180,
|
|
101
|
+
73,
|
|
102
|
+
30,
|
|
103
|
+
245,
|
|
104
|
+
29,
|
|
105
|
+
151,
|
|
106
|
+
237,
|
|
107
|
+
77,
|
|
108
|
+
118,
|
|
109
|
+
133,
|
|
110
|
+
116,
|
|
111
|
+
101,
|
|
112
|
+
115,
|
|
113
|
+
116,
|
|
114
|
+
0,
|
|
115
|
+
0,
|
|
116
|
+
0,
|
|
117
|
+
0,
|
|
118
|
+
0,
|
|
119
|
+
0,
|
|
120
|
+
0,
|
|
121
|
+
0
|
|
122
|
+
]);
|
|
123
|
+
const expectedSubaccount = {
|
|
124
|
+
subaccountOwner: TEST_ADDRESS,
|
|
125
|
+
subaccountName: "test"
|
|
126
|
+
};
|
|
127
|
+
const convertedSubaccount = (0, import_bytes32.subaccountFromBytes32)(subaccountBytes);
|
|
128
|
+
(0, import_globals.expect)(convertedSubaccount.subaccountOwner.toLowerCase()).toBe(
|
|
129
|
+
expectedSubaccount.subaccountOwner.toLowerCase()
|
|
130
|
+
);
|
|
131
|
+
(0, import_globals.expect)(convertedSubaccount.subaccountName).toBe(
|
|
132
|
+
expectedSubaccount.subaccountName
|
|
133
|
+
);
|
|
134
|
+
});
|
|
135
|
+
(0, import_globals.it)("converts a string subaccount name to bytes", () => {
|
|
136
|
+
const nameBytes = (0, import_bytes32.subaccountNameToBytes12)("test");
|
|
137
|
+
(0, import_globals.expect)(nameBytes).toStrictEqual(
|
|
138
|
+
new Uint8Array([116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0])
|
|
139
|
+
);
|
|
140
|
+
});
|
|
141
|
+
(0, import_globals.it)("converts a hex string subaccount name to bytes", () => {
|
|
142
|
+
const nameBytes = (0, import_bytes32.subaccountNameToBytes12)("0x74657374");
|
|
143
|
+
(0, import_globals.expect)(nameBytes).toStrictEqual(
|
|
144
|
+
new Uint8Array([116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0])
|
|
145
|
+
);
|
|
146
|
+
});
|
|
147
|
+
(0, import_globals.it)("converts a subaccount with a string subaccount name to a hex string", () => {
|
|
148
|
+
const subaccount = {
|
|
149
|
+
subaccountOwner: TEST_ADDRESS,
|
|
150
|
+
subaccountName: "test"
|
|
151
|
+
};
|
|
152
|
+
(0, import_globals.expect)((0, import_bytes32.subaccountToHex)(subaccount)).toBe(
|
|
153
|
+
"0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000"
|
|
154
|
+
);
|
|
155
|
+
});
|
|
156
|
+
(0, import_globals.it)("converts a subaccount with a hex subaccount name to a hex string", () => {
|
|
157
|
+
const subaccount = {
|
|
158
|
+
subaccountOwner: TEST_ADDRESS,
|
|
159
|
+
// `test` in hex form
|
|
160
|
+
subaccountName: "0x74657374"
|
|
161
|
+
};
|
|
162
|
+
(0, import_globals.expect)((0, import_bytes32.subaccountToHex)(subaccount)).toBe(
|
|
163
|
+
"0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000"
|
|
164
|
+
);
|
|
165
|
+
});
|
|
166
|
+
(0, import_globals.it)("converts a hex string to a subaccount", () => {
|
|
167
|
+
const convertedSubaccount = (0, import_bytes32.subaccountFromHex)(
|
|
168
|
+
"0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000"
|
|
169
|
+
);
|
|
170
|
+
(0, import_globals.expect)(convertedSubaccount.subaccountOwner.toLowerCase()).toBe(
|
|
171
|
+
TEST_ADDRESS.toLowerCase()
|
|
172
|
+
);
|
|
173
|
+
(0, import_globals.expect)(convertedSubaccount.subaccountName).toBe("test");
|
|
174
|
+
});
|
|
175
|
+
(0, import_globals.it)("handles leading zero bytes in subaccount name properly", () => {
|
|
176
|
+
const subaccount = {
|
|
177
|
+
subaccountOwner: TEST_ADDRESS,
|
|
178
|
+
subaccountName: "\0\0\0iso\0"
|
|
179
|
+
};
|
|
180
|
+
const subaccountHex = "0xb92efcf519edc2f1fe60b4491ef51d97ed4d76850000020069736f0000000000";
|
|
181
|
+
(0, import_globals.expect)((0, import_bytes32.subaccountToHex)(subaccount)).toBe(subaccountHex);
|
|
182
|
+
(0, import_globals.expect)((0, import_bytes32.subaccountFromHex)(subaccountHex).subaccountName).toBe(
|
|
183
|
+
"\0\0\0iso"
|
|
184
|
+
);
|
|
185
|
+
});
|
|
186
|
+
(0, import_globals.it)("handles converting non-utf8 byte sequences by converting bytes to a hex string", () => {
|
|
187
|
+
const invalidUtf8Array = new Uint8Array([128, 129, 130]);
|
|
188
|
+
(0, import_globals.expect)((0, import_bytes32.subaccountNameBytesToStr)(invalidUtf8Array)).toBe("0x808182");
|
|
189
|
+
});
|
|
190
|
+
});
|
|
191
|
+
/*! Bundled license information:
|
|
192
|
+
|
|
193
|
+
@jest/globals/build/index.js:
|
|
194
|
+
(*!
|
|
195
|
+
* /**
|
|
196
|
+
* * Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
197
|
+
* *
|
|
198
|
+
* * This source code is licensed under the MIT license found in the
|
|
199
|
+
* * LICENSE file in the root directory of this source tree.
|
|
200
|
+
* * /
|
|
201
|
+
*)
|
|
202
|
+
*/
|
|
203
|
+
//# sourceMappingURL=bytes32.test.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/@jest/globals/build/index.js","../../src/utils/bytes32.test.ts"],"sourcesContent":["/*!\n * /**\n * * Copyright (c) Meta Platforms, Inc. and affiliates.\n * *\n * * This source code is licensed under the MIT license found in the\n * * LICENSE file in the root directory of this source tree.\n * * /\n */\n/******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\nvar __webpack_exports__ = {};\n\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\n\nthrow new Error('Do not import `@jest/globals` outside of the Jest test environment');\nmodule.exports = __webpack_exports__;\n/******/ })()\n;","import { describe, expect, it } from '@jest/globals';\nimport { Subaccount } from '../types/subaccountTypes';\nimport {\n subaccountFromBytes32,\n subaccountFromHex,\n subaccountNameBytesToStr,\n subaccountNameToBytes12,\n subaccountToBytes32,\n subaccountToHex,\n} from './bytes32';\n\nconst TEST_ADDRESS = '0xb92EFcF519EDC2f1FE60b4491Ef51d97Ed4d7685';\n\ndescribe('bytes32', () => {\n it('converts a subaccount to bytes', () => {\n const expectedBytes = new Uint8Array([\n 185, 46, 252, 245, 25, 237, 194, 241, 254, 96, 180, 73, 30, 245, 29, 151,\n 237, 77, 118, 133, 116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0,\n ]);\n expect(\n subaccountToBytes32({\n subaccountName: 'test',\n subaccountOwner: TEST_ADDRESS,\n }),\n ).toStrictEqual(expectedBytes);\n });\n\n it('converts bytes to a subaccount', () => {\n const subaccountBytes = new Uint8Array([\n 185, 46, 252, 245, 25, 237, 194, 241, 254, 96, 180, 73, 30, 245, 29, 151,\n 237, 77, 118, 133, 116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0,\n ]);\n const expectedSubaccount: Subaccount = {\n subaccountOwner: TEST_ADDRESS,\n subaccountName: 'test',\n };\n const convertedSubaccount = subaccountFromBytes32(subaccountBytes);\n\n expect(convertedSubaccount.subaccountOwner.toLowerCase()).toBe(\n expectedSubaccount.subaccountOwner.toLowerCase(),\n );\n expect(convertedSubaccount.subaccountName).toBe(\n expectedSubaccount.subaccountName,\n );\n });\n\n it('converts a string subaccount name to bytes', () => {\n const nameBytes = subaccountNameToBytes12('test');\n\n expect(nameBytes).toStrictEqual(\n new Uint8Array([116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0]),\n );\n });\n\n it('converts a hex string subaccount name to bytes', () => {\n // `test` in hex form\n const nameBytes = subaccountNameToBytes12('0x74657374');\n\n expect(nameBytes).toStrictEqual(\n new Uint8Array([116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0]),\n );\n });\n\n it('converts a subaccount with a string subaccount name to a hex string', () => {\n const subaccount: Subaccount = {\n subaccountOwner: TEST_ADDRESS,\n subaccountName: 'test',\n };\n\n expect(subaccountToHex(subaccount)).toBe(\n '0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000',\n );\n });\n\n it('converts a subaccount with a hex subaccount name to a hex string', () => {\n const subaccount: Subaccount = {\n subaccountOwner: TEST_ADDRESS,\n // `test` in hex form\n subaccountName: '0x74657374',\n };\n\n expect(subaccountToHex(subaccount)).toBe(\n '0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000',\n );\n });\n\n it('converts a hex string to a subaccount', () => {\n const convertedSubaccount = subaccountFromHex(\n '0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000',\n );\n\n expect(convertedSubaccount.subaccountOwner.toLowerCase()).toBe(\n TEST_ADDRESS.toLowerCase(),\n );\n expect(convertedSubaccount.subaccountName).toBe('test');\n });\n\n it('handles leading zero bytes in subaccount name properly', () => {\n const subaccount: Subaccount = {\n subaccountOwner: TEST_ADDRESS,\n subaccountName: '\\u0000\\u0000\\u0002\\u0000iso\\u0000',\n };\n const subaccountHex =\n '0xb92efcf519edc2f1fe60b4491ef51d97ed4d76850000020069736f0000000000';\n\n expect(subaccountToHex(subaccount)).toBe(subaccountHex);\n // Trailing 0 bytes are trimmed\n expect(subaccountFromHex(subaccountHex).subaccountName).toBe(\n '\\u0000\\u0000\\u0002\\u0000iso',\n );\n });\n\n it('handles converting non-utf8 byte sequences by converting bytes to a hex string', () => {\n const invalidUtf8Array = new Uint8Array([0x80, 0x81, 0x82]);\n expect(subaccountNameBytesToStr(invalidUtf8Array)).toBe('0x808182');\n });\n});\n"],"mappings":"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","names":["exports","module"]}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import {
|
|
2
|
+
require_build
|
|
3
|
+
} from "../chunk-TUJ4HQKF.js";
|
|
4
|
+
import {
|
|
5
|
+
__toESM
|
|
6
|
+
} from "../chunk-5WRI5ZAA.js";
|
|
7
|
+
|
|
8
|
+
// src/utils/bytes32.test.ts
|
|
9
|
+
var import_globals = __toESM(require_build(), 1);
|
|
10
|
+
import {
|
|
11
|
+
subaccountFromBytes32,
|
|
12
|
+
subaccountFromHex,
|
|
13
|
+
subaccountNameBytesToStr,
|
|
14
|
+
subaccountNameToBytes12,
|
|
15
|
+
subaccountToBytes32,
|
|
16
|
+
subaccountToHex
|
|
17
|
+
} from "./bytes32.js";
|
|
18
|
+
var TEST_ADDRESS = "0xb92EFcF519EDC2f1FE60b4491Ef51d97Ed4d7685";
|
|
19
|
+
(0, import_globals.describe)("bytes32", () => {
|
|
20
|
+
(0, import_globals.it)("converts a subaccount to bytes", () => {
|
|
21
|
+
const expectedBytes = new Uint8Array([
|
|
22
|
+
185,
|
|
23
|
+
46,
|
|
24
|
+
252,
|
|
25
|
+
245,
|
|
26
|
+
25,
|
|
27
|
+
237,
|
|
28
|
+
194,
|
|
29
|
+
241,
|
|
30
|
+
254,
|
|
31
|
+
96,
|
|
32
|
+
180,
|
|
33
|
+
73,
|
|
34
|
+
30,
|
|
35
|
+
245,
|
|
36
|
+
29,
|
|
37
|
+
151,
|
|
38
|
+
237,
|
|
39
|
+
77,
|
|
40
|
+
118,
|
|
41
|
+
133,
|
|
42
|
+
116,
|
|
43
|
+
101,
|
|
44
|
+
115,
|
|
45
|
+
116,
|
|
46
|
+
0,
|
|
47
|
+
0,
|
|
48
|
+
0,
|
|
49
|
+
0,
|
|
50
|
+
0,
|
|
51
|
+
0,
|
|
52
|
+
0,
|
|
53
|
+
0
|
|
54
|
+
]);
|
|
55
|
+
(0, import_globals.expect)(
|
|
56
|
+
subaccountToBytes32({
|
|
57
|
+
subaccountName: "test",
|
|
58
|
+
subaccountOwner: TEST_ADDRESS
|
|
59
|
+
})
|
|
60
|
+
).toStrictEqual(expectedBytes);
|
|
61
|
+
});
|
|
62
|
+
(0, import_globals.it)("converts bytes to a subaccount", () => {
|
|
63
|
+
const subaccountBytes = new Uint8Array([
|
|
64
|
+
185,
|
|
65
|
+
46,
|
|
66
|
+
252,
|
|
67
|
+
245,
|
|
68
|
+
25,
|
|
69
|
+
237,
|
|
70
|
+
194,
|
|
71
|
+
241,
|
|
72
|
+
254,
|
|
73
|
+
96,
|
|
74
|
+
180,
|
|
75
|
+
73,
|
|
76
|
+
30,
|
|
77
|
+
245,
|
|
78
|
+
29,
|
|
79
|
+
151,
|
|
80
|
+
237,
|
|
81
|
+
77,
|
|
82
|
+
118,
|
|
83
|
+
133,
|
|
84
|
+
116,
|
|
85
|
+
101,
|
|
86
|
+
115,
|
|
87
|
+
116,
|
|
88
|
+
0,
|
|
89
|
+
0,
|
|
90
|
+
0,
|
|
91
|
+
0,
|
|
92
|
+
0,
|
|
93
|
+
0,
|
|
94
|
+
0,
|
|
95
|
+
0
|
|
96
|
+
]);
|
|
97
|
+
const expectedSubaccount = {
|
|
98
|
+
subaccountOwner: TEST_ADDRESS,
|
|
99
|
+
subaccountName: "test"
|
|
100
|
+
};
|
|
101
|
+
const convertedSubaccount = subaccountFromBytes32(subaccountBytes);
|
|
102
|
+
(0, import_globals.expect)(convertedSubaccount.subaccountOwner.toLowerCase()).toBe(
|
|
103
|
+
expectedSubaccount.subaccountOwner.toLowerCase()
|
|
104
|
+
);
|
|
105
|
+
(0, import_globals.expect)(convertedSubaccount.subaccountName).toBe(
|
|
106
|
+
expectedSubaccount.subaccountName
|
|
107
|
+
);
|
|
108
|
+
});
|
|
109
|
+
(0, import_globals.it)("converts a string subaccount name to bytes", () => {
|
|
110
|
+
const nameBytes = subaccountNameToBytes12("test");
|
|
111
|
+
(0, import_globals.expect)(nameBytes).toStrictEqual(
|
|
112
|
+
new Uint8Array([116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0])
|
|
113
|
+
);
|
|
114
|
+
});
|
|
115
|
+
(0, import_globals.it)("converts a hex string subaccount name to bytes", () => {
|
|
116
|
+
const nameBytes = subaccountNameToBytes12("0x74657374");
|
|
117
|
+
(0, import_globals.expect)(nameBytes).toStrictEqual(
|
|
118
|
+
new Uint8Array([116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0])
|
|
119
|
+
);
|
|
120
|
+
});
|
|
121
|
+
(0, import_globals.it)("converts a subaccount with a string subaccount name to a hex string", () => {
|
|
122
|
+
const subaccount = {
|
|
123
|
+
subaccountOwner: TEST_ADDRESS,
|
|
124
|
+
subaccountName: "test"
|
|
125
|
+
};
|
|
126
|
+
(0, import_globals.expect)(subaccountToHex(subaccount)).toBe(
|
|
127
|
+
"0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000"
|
|
128
|
+
);
|
|
129
|
+
});
|
|
130
|
+
(0, import_globals.it)("converts a subaccount with a hex subaccount name to a hex string", () => {
|
|
131
|
+
const subaccount = {
|
|
132
|
+
subaccountOwner: TEST_ADDRESS,
|
|
133
|
+
// `test` in hex form
|
|
134
|
+
subaccountName: "0x74657374"
|
|
135
|
+
};
|
|
136
|
+
(0, import_globals.expect)(subaccountToHex(subaccount)).toBe(
|
|
137
|
+
"0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000"
|
|
138
|
+
);
|
|
139
|
+
});
|
|
140
|
+
(0, import_globals.it)("converts a hex string to a subaccount", () => {
|
|
141
|
+
const convertedSubaccount = subaccountFromHex(
|
|
142
|
+
"0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000"
|
|
143
|
+
);
|
|
144
|
+
(0, import_globals.expect)(convertedSubaccount.subaccountOwner.toLowerCase()).toBe(
|
|
145
|
+
TEST_ADDRESS.toLowerCase()
|
|
146
|
+
);
|
|
147
|
+
(0, import_globals.expect)(convertedSubaccount.subaccountName).toBe("test");
|
|
148
|
+
});
|
|
149
|
+
(0, import_globals.it)("handles leading zero bytes in subaccount name properly", () => {
|
|
150
|
+
const subaccount = {
|
|
151
|
+
subaccountOwner: TEST_ADDRESS,
|
|
152
|
+
subaccountName: "\0\0\0iso\0"
|
|
153
|
+
};
|
|
154
|
+
const subaccountHex = "0xb92efcf519edc2f1fe60b4491ef51d97ed4d76850000020069736f0000000000";
|
|
155
|
+
(0, import_globals.expect)(subaccountToHex(subaccount)).toBe(subaccountHex);
|
|
156
|
+
(0, import_globals.expect)(subaccountFromHex(subaccountHex).subaccountName).toBe(
|
|
157
|
+
"\0\0\0iso"
|
|
158
|
+
);
|
|
159
|
+
});
|
|
160
|
+
(0, import_globals.it)("handles converting non-utf8 byte sequences by converting bytes to a hex string", () => {
|
|
161
|
+
const invalidUtf8Array = new Uint8Array([128, 129, 130]);
|
|
162
|
+
(0, import_globals.expect)(subaccountNameBytesToStr(invalidUtf8Array)).toBe("0x808182");
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
//# sourceMappingURL=bytes32.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/bytes32.test.ts"],"sourcesContent":["import { describe, expect, it } from '@jest/globals';\nimport { Subaccount } from '../types/subaccountTypes';\nimport {\n subaccountFromBytes32,\n subaccountFromHex,\n subaccountNameBytesToStr,\n subaccountNameToBytes12,\n subaccountToBytes32,\n subaccountToHex,\n} from './bytes32';\n\nconst TEST_ADDRESS = '0xb92EFcF519EDC2f1FE60b4491Ef51d97Ed4d7685';\n\ndescribe('bytes32', () => {\n it('converts a subaccount to bytes', () => {\n const expectedBytes = new Uint8Array([\n 185, 46, 252, 245, 25, 237, 194, 241, 254, 96, 180, 73, 30, 245, 29, 151,\n 237, 77, 118, 133, 116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0,\n ]);\n expect(\n subaccountToBytes32({\n subaccountName: 'test',\n subaccountOwner: TEST_ADDRESS,\n }),\n ).toStrictEqual(expectedBytes);\n });\n\n it('converts bytes to a subaccount', () => {\n const subaccountBytes = new Uint8Array([\n 185, 46, 252, 245, 25, 237, 194, 241, 254, 96, 180, 73, 30, 245, 29, 151,\n 237, 77, 118, 133, 116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0,\n ]);\n const expectedSubaccount: Subaccount = {\n subaccountOwner: TEST_ADDRESS,\n subaccountName: 'test',\n };\n const convertedSubaccount = subaccountFromBytes32(subaccountBytes);\n\n expect(convertedSubaccount.subaccountOwner.toLowerCase()).toBe(\n expectedSubaccount.subaccountOwner.toLowerCase(),\n );\n expect(convertedSubaccount.subaccountName).toBe(\n expectedSubaccount.subaccountName,\n );\n });\n\n it('converts a string subaccount name to bytes', () => {\n const nameBytes = subaccountNameToBytes12('test');\n\n expect(nameBytes).toStrictEqual(\n new Uint8Array([116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0]),\n );\n });\n\n it('converts a hex string subaccount name to bytes', () => {\n // `test` in hex form\n const nameBytes = subaccountNameToBytes12('0x74657374');\n\n expect(nameBytes).toStrictEqual(\n new Uint8Array([116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0]),\n );\n });\n\n it('converts a subaccount with a string subaccount name to a hex string', () => {\n const subaccount: Subaccount = {\n subaccountOwner: TEST_ADDRESS,\n subaccountName: 'test',\n };\n\n expect(subaccountToHex(subaccount)).toBe(\n '0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000',\n );\n });\n\n it('converts a subaccount with a hex subaccount name to a hex string', () => {\n const subaccount: Subaccount = {\n subaccountOwner: TEST_ADDRESS,\n // `test` in hex form\n subaccountName: '0x74657374',\n };\n\n expect(subaccountToHex(subaccount)).toBe(\n '0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000',\n );\n });\n\n it('converts a hex string to a subaccount', () => {\n const convertedSubaccount = subaccountFromHex(\n '0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000',\n );\n\n expect(convertedSubaccount.subaccountOwner.toLowerCase()).toBe(\n TEST_ADDRESS.toLowerCase(),\n );\n expect(convertedSubaccount.subaccountName).toBe('test');\n });\n\n it('handles leading zero bytes in subaccount name properly', () => {\n const subaccount: Subaccount = {\n subaccountOwner: TEST_ADDRESS,\n subaccountName: '\\u0000\\u0000\\u0002\\u0000iso\\u0000',\n };\n const subaccountHex =\n '0xb92efcf519edc2f1fe60b4491ef51d97ed4d76850000020069736f0000000000';\n\n expect(subaccountToHex(subaccount)).toBe(subaccountHex);\n // Trailing 0 bytes are trimmed\n expect(subaccountFromHex(subaccountHex).subaccountName).toBe(\n '\\u0000\\u0000\\u0002\\u0000iso',\n );\n });\n\n it('handles converting non-utf8 byte sequences by converting bytes to a hex string', () => {\n const invalidUtf8Array = new Uint8Array([0x80, 0x81, 0x82]);\n expect(subaccountNameBytesToStr(invalidUtf8Array)).toBe('0x808182');\n });\n});\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/utils/createDeterministicLinkedSignerPrivateKey.ts
|
|
21
|
+
var createDeterministicLinkedSignerPrivateKey_exports = {};
|
|
22
|
+
__export(createDeterministicLinkedSignerPrivateKey_exports, {
|
|
23
|
+
createDeterministicLinkedSignerPrivateKey: () => createDeterministicLinkedSignerPrivateKey
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(createDeterministicLinkedSignerPrivateKey_exports);
|
|
26
|
+
var import_viem = require("viem");
|
|
27
|
+
var import_getNadoEIP712Domain = require("../eip712/getNadoEIP712Domain.cjs");
|
|
28
|
+
var import_bytes32 = require("./bytes32.cjs");
|
|
29
|
+
async function createDeterministicLinkedSignerPrivateKey(params) {
|
|
30
|
+
const {
|
|
31
|
+
chainId,
|
|
32
|
+
endpointAddress,
|
|
33
|
+
walletClient,
|
|
34
|
+
subaccountName,
|
|
35
|
+
subaccountOwner
|
|
36
|
+
} = params;
|
|
37
|
+
const signedMessage = await walletClient.signTypedData({
|
|
38
|
+
domain: (0, import_getNadoEIP712Domain.getNadoEIP712Domain)(endpointAddress, chainId),
|
|
39
|
+
types: {
|
|
40
|
+
CreateLinkedSignerWallet: [{ name: "subaccount", type: "bytes32" }]
|
|
41
|
+
},
|
|
42
|
+
primaryType: "CreateLinkedSignerWallet",
|
|
43
|
+
message: {
|
|
44
|
+
subaccount: (0, import_bytes32.subaccountToHex)({
|
|
45
|
+
subaccountOwner,
|
|
46
|
+
subaccountName
|
|
47
|
+
})
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
return (0, import_viem.keccak256)(signedMessage);
|
|
51
|
+
}
|
|
52
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
53
|
+
0 && (module.exports = {
|
|
54
|
+
createDeterministicLinkedSignerPrivateKey
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=createDeterministicLinkedSignerPrivateKey.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/createDeterministicLinkedSignerPrivateKey.ts"],"sourcesContent":["import { keccak256 } from 'viem';\nimport { Subaccount } from '../types/subaccountTypes';\nimport { WalletClientWithAccount } from '../types/viemTypes';\nimport { getNadoEIP712Domain } from '../eip712/getNadoEIP712Domain';\nimport { subaccountToHex } from './bytes32';\n\ninterface Params extends Subaccount {\n walletClient: WalletClientWithAccount;\n chainId: number;\n endpointAddress: string;\n}\n\n/**\n * Deterministically creates a new private key from a predetermined EIP712 message. This is used to\n * reliably create an authorized signer delegate for the subaccount across different clients. Used on the FE in order\n * to have a consistent private key for the subaccount linked signer across different clients.\n *\n * @param params\n */\nexport async function createDeterministicLinkedSignerPrivateKey(\n params: Params,\n) {\n const {\n chainId,\n endpointAddress,\n walletClient,\n subaccountName,\n subaccountOwner,\n } = params;\n\n const signedMessage = await walletClient.signTypedData({\n domain: getNadoEIP712Domain(endpointAddress, chainId),\n types: {\n CreateLinkedSignerWallet: [{ name: 'subaccount', type: 'bytes32' }],\n },\n primaryType: 'CreateLinkedSignerWallet',\n message: {\n subaccount: subaccountToHex({\n subaccountOwner,\n subaccountName,\n }),\n },\n });\n\n return keccak256(signedMessage);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA0B;AAG1B,iCAAoC;AACpC,qBAAgC;AAehC,eAAsB,0CACpB,QACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,gBAAgB,MAAM,aAAa,cAAc;AAAA,IACrD,YAAQ,gDAAoB,iBAAiB,OAAO;AAAA,IACpD,OAAO;AAAA,MACL,0BAA0B,CAAC,EAAE,MAAM,cAAc,MAAM,UAAU,CAAC;AAAA,IACpE;AAAA,IACA,aAAa;AAAA,IACb,SAAS;AAAA,MACP,gBAAY,gCAAgB;AAAA,QAC1B;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AAED,aAAO,uBAAU,aAAa;AAChC;","names":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Subaccount } from '../types/subaccountTypes.cjs';
|
|
2
|
+
import { WalletClientWithAccount } from '../types/viemTypes.cjs';
|
|
3
|
+
import '../types/bytes.cjs';
|
|
4
|
+
import 'viem';
|
|
5
|
+
|
|
6
|
+
interface Params extends Subaccount {
|
|
7
|
+
walletClient: WalletClientWithAccount;
|
|
8
|
+
chainId: number;
|
|
9
|
+
endpointAddress: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Deterministically creates a new private key from a predetermined EIP712 message. This is used to
|
|
13
|
+
* reliably create an authorized signer delegate for the subaccount across different clients. Used on the FE in order
|
|
14
|
+
* to have a consistent private key for the subaccount linked signer across different clients.
|
|
15
|
+
*
|
|
16
|
+
* @param params
|
|
17
|
+
*/
|
|
18
|
+
declare function createDeterministicLinkedSignerPrivateKey(params: Params): Promise<`0x${string}`>;
|
|
19
|
+
|
|
20
|
+
export { createDeterministicLinkedSignerPrivateKey };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Subaccount } from '../types/subaccountTypes.js';
|
|
2
|
+
import { WalletClientWithAccount } from '../types/viemTypes.js';
|
|
3
|
+
import '../types/bytes.js';
|
|
4
|
+
import 'viem';
|
|
5
|
+
|
|
6
|
+
interface Params extends Subaccount {
|
|
7
|
+
walletClient: WalletClientWithAccount;
|
|
8
|
+
chainId: number;
|
|
9
|
+
endpointAddress: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Deterministically creates a new private key from a predetermined EIP712 message. This is used to
|
|
13
|
+
* reliably create an authorized signer delegate for the subaccount across different clients. Used on the FE in order
|
|
14
|
+
* to have a consistent private key for the subaccount linked signer across different clients.
|
|
15
|
+
*
|
|
16
|
+
* @param params
|
|
17
|
+
*/
|
|
18
|
+
declare function createDeterministicLinkedSignerPrivateKey(params: Params): Promise<`0x${string}`>;
|
|
19
|
+
|
|
20
|
+
export { createDeterministicLinkedSignerPrivateKey };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import "../chunk-5WRI5ZAA.js";
|
|
2
|
+
|
|
3
|
+
// src/utils/createDeterministicLinkedSignerPrivateKey.ts
|
|
4
|
+
import { keccak256 } from "viem";
|
|
5
|
+
import { getNadoEIP712Domain } from "../eip712/getNadoEIP712Domain.js";
|
|
6
|
+
import { subaccountToHex } from "./bytes32.js";
|
|
7
|
+
async function createDeterministicLinkedSignerPrivateKey(params) {
|
|
8
|
+
const {
|
|
9
|
+
chainId,
|
|
10
|
+
endpointAddress,
|
|
11
|
+
walletClient,
|
|
12
|
+
subaccountName,
|
|
13
|
+
subaccountOwner
|
|
14
|
+
} = params;
|
|
15
|
+
const signedMessage = await walletClient.signTypedData({
|
|
16
|
+
domain: getNadoEIP712Domain(endpointAddress, chainId),
|
|
17
|
+
types: {
|
|
18
|
+
CreateLinkedSignerWallet: [{ name: "subaccount", type: "bytes32" }]
|
|
19
|
+
},
|
|
20
|
+
primaryType: "CreateLinkedSignerWallet",
|
|
21
|
+
message: {
|
|
22
|
+
subaccount: subaccountToHex({
|
|
23
|
+
subaccountOwner,
|
|
24
|
+
subaccountName
|
|
25
|
+
})
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
return keccak256(signedMessage);
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
createDeterministicLinkedSignerPrivateKey
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=createDeterministicLinkedSignerPrivateKey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/createDeterministicLinkedSignerPrivateKey.ts"],"sourcesContent":["import { keccak256 } from 'viem';\nimport { Subaccount } from '../types/subaccountTypes';\nimport { WalletClientWithAccount } from '../types/viemTypes';\nimport { getNadoEIP712Domain } from '../eip712/getNadoEIP712Domain';\nimport { subaccountToHex } from './bytes32';\n\ninterface Params extends Subaccount {\n walletClient: WalletClientWithAccount;\n chainId: number;\n endpointAddress: string;\n}\n\n/**\n * Deterministically creates a new private key from a predetermined EIP712 message. This is used to\n * reliably create an authorized signer delegate for the subaccount across different clients. Used on the FE in order\n * to have a consistent private key for the subaccount linked signer across different clients.\n *\n * @param params\n */\nexport async function createDeterministicLinkedSignerPrivateKey(\n params: Params,\n) {\n const {\n chainId,\n endpointAddress,\n walletClient,\n subaccountName,\n subaccountOwner,\n } = params;\n\n const signedMessage = await walletClient.signTypedData({\n domain: getNadoEIP712Domain(endpointAddress, chainId),\n types: {\n CreateLinkedSignerWallet: [{ name: 'subaccount', type: 'bytes32' }],\n },\n primaryType: 'CreateLinkedSignerWallet',\n message: {\n subaccount: subaccountToHex({\n subaccountOwner,\n subaccountName,\n }),\n },\n });\n\n return keccak256(signedMessage);\n}\n"],"mappings":";;;AAAA,SAAS,iBAAiB;AAG1B,SAAS,2BAA2B;AACpC,SAAS,uBAAuB;AAehC,eAAsB,0CACpB,QACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,gBAAgB,MAAM,aAAa,cAAc;AAAA,IACrD,QAAQ,oBAAoB,iBAAiB,OAAO;AAAA,IACpD,OAAO;AAAA,MACL,0BAA0B,CAAC,EAAE,MAAM,cAAc,MAAM,UAAU,CAAC;AAAA,IACpE;AAAA,IACA,aAAa;AAAA,IACb,SAAS;AAAA,MACP,YAAY,gBAAgB;AAAA,QAC1B;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AAED,SAAO,UAAU,aAAa;AAChC;","names":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/utils/errors/WalletNotProvidedError.ts
|
|
21
|
+
var WalletNotProvidedError_exports = {};
|
|
22
|
+
__export(WalletNotProvidedError_exports, {
|
|
23
|
+
WalletNotProvidedError: () => WalletNotProvidedError
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(WalletNotProvidedError_exports);
|
|
26
|
+
var WalletNotProvidedError = class extends Error {
|
|
27
|
+
constructor() {
|
|
28
|
+
super("Wallet client not provided");
|
|
29
|
+
this.name = "WalletNotProvidedError";
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
33
|
+
0 && (module.exports = {
|
|
34
|
+
WalletNotProvidedError
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=WalletNotProvidedError.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/errors/WalletNotProvidedError.ts"],"sourcesContent":["export class WalletNotProvidedError extends Error {\n constructor() {\n super('Wallet client not provided');\n this.name = 'WalletNotProvidedError';\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,yBAAN,cAAqC,MAAM;AAAA,EAChD,cAAc;AACZ,UAAM,4BAA4B;AAClC,SAAK,OAAO;AAAA,EACd;AACF;","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import "../../chunk-5WRI5ZAA.js";
|
|
2
|
+
|
|
3
|
+
// src/utils/errors/WalletNotProvidedError.ts
|
|
4
|
+
var WalletNotProvidedError = class extends Error {
|
|
5
|
+
constructor() {
|
|
6
|
+
super("Wallet client not provided");
|
|
7
|
+
this.name = "WalletNotProvidedError";
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
WalletNotProvidedError
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=WalletNotProvidedError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/errors/WalletNotProvidedError.ts"],"sourcesContent":["export class WalletNotProvidedError extends Error {\n constructor() {\n super('Wallet client not provided');\n this.name = 'WalletNotProvidedError';\n }\n}\n"],"mappings":";;;AAAO,IAAM,yBAAN,cAAqC,MAAM;AAAA,EAChD,cAAc;AACZ,UAAM,4BAA4B;AAClC,SAAK,OAAO;AAAA,EACd;AACF;","names":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
|
|
17
|
+
// src/utils/errors/index.ts
|
|
18
|
+
var errors_exports = {};
|
|
19
|
+
module.exports = __toCommonJS(errors_exports);
|
|
20
|
+
__reExport(errors_exports, require("./WalletNotProvidedError.cjs"), module.exports);
|
|
21
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
22
|
+
0 && (module.exports = {
|
|
23
|
+
...require("./WalletNotProvidedError.cjs")
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/errors/index.ts"],"sourcesContent":["export * from './WalletNotProvidedError';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,2BAAc,yCAAd;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { WalletNotProvidedError } from './WalletNotProvidedError.cjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { WalletNotProvidedError } from './WalletNotProvidedError.js';
|