@ledgerhq/coin-sui 0.2.0-nightly.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.
- package/.eslintrc.js +23 -0
- package/.turbo/turbo-build.log +4 -0
- package/.unimportedrc.json +19 -0
- package/CHANGELOG.md +16 -0
- package/LICENSE.txt +21 -0
- package/jest.config.js +9 -0
- package/jest.integ.config.js +7 -0
- package/lib/api/chain/index.d.ts +16 -0
- package/lib/api/chain/index.d.ts.map +1 -0
- package/lib/api/chain/index.js +3 -0
- package/lib/api/chain/index.js.map +1 -0
- package/lib/bridge/bridge.integration.test.d.ts +4 -0
- package/lib/bridge/bridge.integration.test.d.ts.map +1 -0
- package/lib/bridge/bridge.integration.test.js +136 -0
- package/lib/bridge/bridge.integration.test.js.map +1 -0
- package/lib/bridge/broadcast.d.ts +12 -0
- package/lib/bridge/broadcast.d.ts.map +1 -0
- package/lib/bridge/broadcast.js +20 -0
- package/lib/bridge/broadcast.js.map +1 -0
- package/lib/bridge/broadcast.test.d.ts +2 -0
- package/lib/bridge/broadcast.test.d.ts.map +1 -0
- package/lib/bridge/broadcast.test.js +48 -0
- package/lib/bridge/broadcast.test.js.map +1 -0
- package/lib/bridge/buildOptimisticOperation.d.ts +4 -0
- package/lib/bridge/buildOptimisticOperation.d.ts.map +1 -0
- package/lib/bridge/buildOptimisticOperation.js +76 -0
- package/lib/bridge/buildOptimisticOperation.js.map +1 -0
- package/lib/bridge/buildOptimisticOperation.test.d.ts +2 -0
- package/lib/bridge/buildOptimisticOperation.test.d.ts.map +1 -0
- package/lib/bridge/buildOptimisticOperation.test.js +52 -0
- package/lib/bridge/buildOptimisticOperation.test.js.map +1 -0
- package/lib/bridge/buildTransaction.d.ts +9 -0
- package/lib/bridge/buildTransaction.d.ts.map +1 -0
- package/lib/bridge/buildTransaction.js +19 -0
- package/lib/bridge/buildTransaction.js.map +1 -0
- package/lib/bridge/buildTransaction.test.d.ts +2 -0
- package/lib/bridge/buildTransaction.test.d.ts.map +1 -0
- package/lib/bridge/buildTransaction.test.js +17 -0
- package/lib/bridge/buildTransaction.test.js.map +1 -0
- package/lib/bridge/createTransaction.d.ts +10 -0
- package/lib/bridge/createTransaction.d.ts.map +1 -0
- package/lib/bridge/createTransaction.js +24 -0
- package/lib/bridge/createTransaction.js.map +1 -0
- package/lib/bridge/estimateMaxSpendable.d.ts +14 -0
- package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -0
- package/lib/bridge/estimateMaxSpendable.js +44 -0
- package/lib/bridge/estimateMaxSpendable.js.map +1 -0
- package/lib/bridge/estimateMaxSpendable.test.d.ts +2 -0
- package/lib/bridge/estimateMaxSpendable.test.d.ts.map +1 -0
- package/lib/bridge/estimateMaxSpendable.test.js +25 -0
- package/lib/bridge/estimateMaxSpendable.test.js.map +1 -0
- package/lib/bridge/formatters.d.ts +10 -0
- package/lib/bridge/formatters.d.ts.map +1 -0
- package/lib/bridge/formatters.js +24 -0
- package/lib/bridge/formatters.js.map +1 -0
- package/lib/bridge/formatters.test.d.ts +2 -0
- package/lib/bridge/formatters.test.d.ts.map +1 -0
- package/lib/bridge/formatters.test.js +18 -0
- package/lib/bridge/formatters.test.js.map +1 -0
- package/lib/bridge/getFeesForTransaction.d.ts +15 -0
- package/lib/bridge/getFeesForTransaction.d.ts.map +1 -0
- package/lib/bridge/getFeesForTransaction.js +32 -0
- package/lib/bridge/getFeesForTransaction.js.map +1 -0
- package/lib/bridge/getFeesForTransaction.test.d.ts +2 -0
- package/lib/bridge/getFeesForTransaction.test.d.ts.map +1 -0
- package/lib/bridge/getFeesForTransaction.test.js +35 -0
- package/lib/bridge/getFeesForTransaction.test.js.map +1 -0
- package/lib/bridge/getTransactionStatus.d.ts +12 -0
- package/lib/bridge/getTransactionStatus.d.ts.map +1 -0
- package/lib/bridge/getTransactionStatus.js +59 -0
- package/lib/bridge/getTransactionStatus.js.map +1 -0
- package/lib/bridge/getTransactionStatus.test.d.ts +2 -0
- package/lib/bridge/getTransactionStatus.test.d.ts.map +1 -0
- package/lib/bridge/getTransactionStatus.test.js +48 -0
- package/lib/bridge/getTransactionStatus.test.js.map +1 -0
- package/lib/bridge/index.d.ts +10 -0
- package/lib/bridge/index.d.ts.map +1 -0
- package/lib/bridge/index.js +63 -0
- package/lib/bridge/index.js.map +1 -0
- package/lib/bridge/preload.d.ts +11 -0
- package/lib/bridge/preload.d.ts.map +1 -0
- package/lib/bridge/preload.js +41 -0
- package/lib/bridge/preload.js.map +1 -0
- package/lib/bridge/prepareTransaction.d.ts +13 -0
- package/lib/bridge/prepareTransaction.d.ts.map +1 -0
- package/lib/bridge/prepareTransaction.js +43 -0
- package/lib/bridge/prepareTransaction.js.map +1 -0
- package/lib/bridge/prepareTransaction.test.d.ts +2 -0
- package/lib/bridge/prepareTransaction.test.d.ts.map +1 -0
- package/lib/bridge/prepareTransaction.test.js +45 -0
- package/lib/bridge/prepareTransaction.test.js.map +1 -0
- package/lib/bridge/serialization.d.ts +7 -0
- package/lib/bridge/serialization.d.ts.map +1 -0
- package/lib/bridge/serialization.js +27 -0
- package/lib/bridge/serialization.js.map +1 -0
- package/lib/bridge/serialization.test.d.ts +2 -0
- package/lib/bridge/serialization.test.d.ts.map +1 -0
- package/lib/bridge/serialization.test.js +131 -0
- package/lib/bridge/serialization.test.js.map +1 -0
- package/lib/bridge/signOperation.d.ts +9 -0
- package/lib/bridge/signOperation.d.ts.map +1 -0
- package/lib/bridge/signOperation.js +72 -0
- package/lib/bridge/signOperation.js.map +1 -0
- package/lib/bridge/signOperation.test.d.ts +2 -0
- package/lib/bridge/signOperation.test.d.ts.map +1 -0
- package/lib/bridge/signOperation.test.js +76 -0
- package/lib/bridge/signOperation.test.js.map +1 -0
- package/lib/bridge/synchronisation.d.ts +21 -0
- package/lib/bridge/synchronisation.d.ts.map +1 -0
- package/lib/bridge/synchronisation.js +65 -0
- package/lib/bridge/synchronisation.js.map +1 -0
- package/lib/bridge/synchronisation.test.d.ts +2 -0
- package/lib/bridge/synchronisation.test.d.ts.map +1 -0
- package/lib/bridge/synchronisation.test.js +118 -0
- package/lib/bridge/synchronisation.test.js.map +1 -0
- package/lib/bridge/transaction.d.ts +15 -0
- package/lib/bridge/transaction.d.ts.map +1 -0
- package/lib/bridge/transaction.js +55 -0
- package/lib/bridge/transaction.js.map +1 -0
- package/lib/bridge/transaction.test.d.ts +2 -0
- package/lib/bridge/transaction.test.d.ts.map +1 -0
- package/lib/bridge/transaction.test.js +65 -0
- package/lib/bridge/transaction.test.js.map +1 -0
- package/lib/bridge/utils.d.ts +27 -0
- package/lib/bridge/utils.d.ts.map +1 -0
- package/lib/bridge/utils.js +57 -0
- package/lib/bridge/utils.js.map +1 -0
- package/lib/config.d.ts +15 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/config.js +9 -0
- package/lib/config.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +21 -0
- package/lib/index.js.map +1 -0
- package/lib/logic/broadcast.d.ts +9 -0
- package/lib/logic/broadcast.d.ts.map +1 -0
- package/lib/logic/broadcast.js +26 -0
- package/lib/logic/broadcast.js.map +1 -0
- package/lib/logic/craftTransaction.d.ts +17 -0
- package/lib/logic/craftTransaction.d.ts.map +1 -0
- package/lib/logic/craftTransaction.js +22 -0
- package/lib/logic/craftTransaction.js.map +1 -0
- package/lib/logic/estimateFees.d.ts +10 -0
- package/lib/logic/estimateFees.d.ts.map +1 -0
- package/lib/logic/estimateFees.js +20 -0
- package/lib/logic/estimateFees.js.map +1 -0
- package/lib/logic/index.d.ts +4 -0
- package/lib/logic/index.d.ts.map +1 -0
- package/lib/logic/index.js +10 -0
- package/lib/logic/index.js.map +1 -0
- package/lib/network/index.d.ts +18 -0
- package/lib/network/index.d.ts.map +1 -0
- package/lib/network/index.js +17 -0
- package/lib/network/index.js.map +1 -0
- package/lib/network/sdk.d.ts +61 -0
- package/lib/network/sdk.d.ts.map +1 -0
- package/lib/network/sdk.integration.test.d.ts +2 -0
- package/lib/network/sdk.integration.test.d.ts.map +1 -0
- package/lib/network/sdk.integration.test.js +70 -0
- package/lib/network/sdk.integration.test.js.map +1 -0
- package/lib/network/sdk.js +205 -0
- package/lib/network/sdk.js.map +1 -0
- package/lib/network/sdk.test.d.ts +2 -0
- package/lib/network/sdk.test.d.ts.map +1 -0
- package/lib/network/sdk.test.js +166 -0
- package/lib/network/sdk.test.js.map +1 -0
- package/lib/signer/getAddress.d.ts +6 -0
- package/lib/signer/getAddress.d.ts.map +1 -0
- package/lib/signer/getAddress.js +20 -0
- package/lib/signer/getAddress.js.map +1 -0
- package/lib/signer/getAddress.test.d.ts +2 -0
- package/lib/signer/getAddress.test.d.ts.map +1 -0
- package/lib/signer/getAddress.test.js +106 -0
- package/lib/signer/getAddress.test.js.map +1 -0
- package/lib/signer/index.d.ts +6 -0
- package/lib/signer/index.d.ts.map +1 -0
- package/lib/signer/index.js +11 -0
- package/lib/signer/index.js.map +1 -0
- package/lib/test/cli.d.ts +16 -0
- package/lib/test/cli.d.ts.map +1 -0
- package/lib/test/cli.js +16 -0
- package/lib/test/cli.js.map +1 -0
- package/lib/types/bridge.d.ts +72 -0
- package/lib/types/bridge.d.ts.map +1 -0
- package/lib/types/bridge.fixture.d.ts +30 -0
- package/lib/types/bridge.fixture.d.ts.map +1 -0
- package/lib/types/bridge.fixture.js +86 -0
- package/lib/types/bridge.fixture.js.map +1 -0
- package/lib/types/bridge.js +3 -0
- package/lib/types/bridge.js.map +1 -0
- package/lib/types/index.d.ts +4 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +20 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/model.d.ts +6 -0
- package/lib/types/model.d.ts.map +1 -0
- package/lib/types/model.js +3 -0
- package/lib/types/model.js.map +1 -0
- package/lib/types/signer.d.ts +13 -0
- package/lib/types/signer.d.ts.map +1 -0
- package/lib/types/signer.js +3 -0
- package/lib/types/signer.js.map +1 -0
- package/lib/utils.d.ts +7 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +13 -0
- package/lib/utils.js.map +1 -0
- package/lib-es/api/chain/index.d.ts +16 -0
- package/lib-es/api/chain/index.d.ts.map +1 -0
- package/lib-es/api/chain/index.js +2 -0
- package/lib-es/api/chain/index.js.map +1 -0
- package/lib-es/bridge/bridge.integration.test.d.ts +4 -0
- package/lib-es/bridge/bridge.integration.test.d.ts.map +1 -0
- package/lib-es/bridge/bridge.integration.test.js +130 -0
- package/lib-es/bridge/bridge.integration.test.js.map +1 -0
- package/lib-es/bridge/broadcast.d.ts +12 -0
- package/lib-es/bridge/broadcast.d.ts.map +1 -0
- package/lib-es/bridge/broadcast.js +16 -0
- package/lib-es/bridge/broadcast.js.map +1 -0
- package/lib-es/bridge/broadcast.test.d.ts +2 -0
- package/lib-es/bridge/broadcast.test.d.ts.map +1 -0
- package/lib-es/bridge/broadcast.test.js +46 -0
- package/lib-es/bridge/broadcast.test.js.map +1 -0
- package/lib-es/bridge/buildOptimisticOperation.d.ts +4 -0
- package/lib-es/bridge/buildOptimisticOperation.d.ts.map +1 -0
- package/lib-es/bridge/buildOptimisticOperation.js +69 -0
- package/lib-es/bridge/buildOptimisticOperation.js.map +1 -0
- package/lib-es/bridge/buildOptimisticOperation.test.d.ts +2 -0
- package/lib-es/bridge/buildOptimisticOperation.test.d.ts.map +1 -0
- package/lib-es/bridge/buildOptimisticOperation.test.js +47 -0
- package/lib-es/bridge/buildOptimisticOperation.test.js.map +1 -0
- package/lib-es/bridge/buildTransaction.d.ts +9 -0
- package/lib-es/bridge/buildTransaction.d.ts.map +1 -0
- package/lib-es/bridge/buildTransaction.js +11 -0
- package/lib-es/bridge/buildTransaction.js.map +1 -0
- package/lib-es/bridge/buildTransaction.test.d.ts +2 -0
- package/lib-es/bridge/buildTransaction.test.d.ts.map +1 -0
- package/lib-es/bridge/buildTransaction.test.js +15 -0
- package/lib-es/bridge/buildTransaction.test.js.map +1 -0
- package/lib-es/bridge/createTransaction.d.ts +10 -0
- package/lib-es/bridge/createTransaction.d.ts.map +1 -0
- package/lib-es/bridge/createTransaction.js +20 -0
- package/lib-es/bridge/createTransaction.js.map +1 -0
- package/lib-es/bridge/estimateMaxSpendable.d.ts +14 -0
- package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -0
- package/lib-es/bridge/estimateMaxSpendable.js +37 -0
- package/lib-es/bridge/estimateMaxSpendable.js.map +1 -0
- package/lib-es/bridge/estimateMaxSpendable.test.d.ts +2 -0
- package/lib-es/bridge/estimateMaxSpendable.test.d.ts.map +1 -0
- package/lib-es/bridge/estimateMaxSpendable.test.js +23 -0
- package/lib-es/bridge/estimateMaxSpendable.test.js.map +1 -0
- package/lib-es/bridge/formatters.d.ts +10 -0
- package/lib-es/bridge/formatters.d.ts.map +1 -0
- package/lib-es/bridge/formatters.js +19 -0
- package/lib-es/bridge/formatters.js.map +1 -0
- package/lib-es/bridge/formatters.test.d.ts +2 -0
- package/lib-es/bridge/formatters.test.d.ts.map +1 -0
- package/lib-es/bridge/formatters.test.js +16 -0
- package/lib-es/bridge/formatters.test.js.map +1 -0
- package/lib-es/bridge/getFeesForTransaction.d.ts +15 -0
- package/lib-es/bridge/getFeesForTransaction.d.ts.map +1 -0
- package/lib-es/bridge/getFeesForTransaction.js +29 -0
- package/lib-es/bridge/getFeesForTransaction.js.map +1 -0
- package/lib-es/bridge/getFeesForTransaction.test.d.ts +2 -0
- package/lib-es/bridge/getFeesForTransaction.test.d.ts.map +1 -0
- package/lib-es/bridge/getFeesForTransaction.test.js +30 -0
- package/lib-es/bridge/getFeesForTransaction.test.js.map +1 -0
- package/lib-es/bridge/getTransactionStatus.d.ts +12 -0
- package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -0
- package/lib-es/bridge/getTransactionStatus.js +55 -0
- package/lib-es/bridge/getTransactionStatus.js.map +1 -0
- package/lib-es/bridge/getTransactionStatus.test.d.ts +2 -0
- package/lib-es/bridge/getTransactionStatus.test.d.ts.map +1 -0
- package/lib-es/bridge/getTransactionStatus.test.js +43 -0
- package/lib-es/bridge/getTransactionStatus.test.js.map +1 -0
- package/lib-es/bridge/index.d.ts +10 -0
- package/lib-es/bridge/index.d.ts.map +1 -0
- package/lib-es/bridge/index.js +56 -0
- package/lib-es/bridge/index.js.map +1 -0
- package/lib-es/bridge/preload.d.ts +11 -0
- package/lib-es/bridge/preload.d.ts.map +1 -0
- package/lib-es/bridge/preload.js +32 -0
- package/lib-es/bridge/preload.js.map +1 -0
- package/lib-es/bridge/prepareTransaction.d.ts +13 -0
- package/lib-es/bridge/prepareTransaction.d.ts.map +1 -0
- package/lib-es/bridge/prepareTransaction.js +36 -0
- package/lib-es/bridge/prepareTransaction.js.map +1 -0
- package/lib-es/bridge/prepareTransaction.test.d.ts +2 -0
- package/lib-es/bridge/prepareTransaction.test.d.ts.map +1 -0
- package/lib-es/bridge/prepareTransaction.test.js +40 -0
- package/lib-es/bridge/prepareTransaction.test.js.map +1 -0
- package/lib-es/bridge/serialization.d.ts +7 -0
- package/lib-es/bridge/serialization.d.ts.map +1 -0
- package/lib-es/bridge/serialization.js +20 -0
- package/lib-es/bridge/serialization.js.map +1 -0
- package/lib-es/bridge/serialization.test.d.ts +2 -0
- package/lib-es/bridge/serialization.test.d.ts.map +1 -0
- package/lib-es/bridge/serialization.test.js +126 -0
- package/lib-es/bridge/serialization.test.js.map +1 -0
- package/lib-es/bridge/signOperation.d.ts +9 -0
- package/lib-es/bridge/signOperation.d.ts.map +1 -0
- package/lib-es/bridge/signOperation.js +68 -0
- package/lib-es/bridge/signOperation.js.map +1 -0
- package/lib-es/bridge/signOperation.test.d.ts +2 -0
- package/lib-es/bridge/signOperation.test.d.ts.map +1 -0
- package/lib-es/bridge/signOperation.test.js +71 -0
- package/lib-es/bridge/signOperation.test.js.map +1 -0
- package/lib-es/bridge/synchronisation.d.ts +21 -0
- package/lib-es/bridge/synchronisation.d.ts.map +1 -0
- package/lib-es/bridge/synchronisation.js +61 -0
- package/lib-es/bridge/synchronisation.js.map +1 -0
- package/lib-es/bridge/synchronisation.test.d.ts +2 -0
- package/lib-es/bridge/synchronisation.test.d.ts.map +1 -0
- package/lib-es/bridge/synchronisation.test.js +113 -0
- package/lib-es/bridge/synchronisation.test.js.map +1 -0
- package/lib-es/bridge/transaction.d.ts +15 -0
- package/lib-es/bridge/transaction.d.ts.map +1 -0
- package/lib-es/bridge/transaction.js +49 -0
- package/lib-es/bridge/transaction.js.map +1 -0
- package/lib-es/bridge/transaction.test.d.ts +2 -0
- package/lib-es/bridge/transaction.test.d.ts.map +1 -0
- package/lib-es/bridge/transaction.test.js +63 -0
- package/lib-es/bridge/transaction.test.js.map +1 -0
- package/lib-es/bridge/utils.d.ts +27 -0
- package/lib-es/bridge/utils.d.ts.map +1 -0
- package/lib-es/bridge/utils.js +51 -0
- package/lib-es/bridge/utils.js.map +1 -0
- package/lib-es/config.d.ts +15 -0
- package/lib-es/config.d.ts.map +1 -0
- package/lib-es/config.js +4 -0
- package/lib-es/config.js.map +1 -0
- package/lib-es/index.d.ts +3 -0
- package/lib-es/index.d.ts.map +1 -0
- package/lib-es/index.js +3 -0
- package/lib-es/index.js.map +1 -0
- package/lib-es/logic/broadcast.d.ts +9 -0
- package/lib-es/logic/broadcast.d.ts.map +1 -0
- package/lib-es/logic/broadcast.js +19 -0
- package/lib-es/logic/broadcast.js.map +1 -0
- package/lib-es/logic/craftTransaction.d.ts +17 -0
- package/lib-es/logic/craftTransaction.d.ts.map +1 -0
- package/lib-es/logic/craftTransaction.js +15 -0
- package/lib-es/logic/craftTransaction.js.map +1 -0
- package/lib-es/logic/estimateFees.d.ts +10 -0
- package/lib-es/logic/estimateFees.d.ts.map +1 -0
- package/lib-es/logic/estimateFees.js +13 -0
- package/lib-es/logic/estimateFees.js.map +1 -0
- package/lib-es/logic/index.d.ts +4 -0
- package/lib-es/logic/index.d.ts.map +1 -0
- package/lib-es/logic/index.js +4 -0
- package/lib-es/logic/index.js.map +1 -0
- package/lib-es/network/index.d.ts +18 -0
- package/lib-es/network/index.d.ts.map +1 -0
- package/lib-es/network/index.js +10 -0
- package/lib-es/network/index.js.map +1 -0
- package/lib-es/network/sdk.d.ts +61 -0
- package/lib-es/network/sdk.d.ts.map +1 -0
- package/lib-es/network/sdk.integration.test.d.ts +2 -0
- package/lib-es/network/sdk.integration.test.d.ts.map +1 -0
- package/lib-es/network/sdk.integration.test.js +65 -0
- package/lib-es/network/sdk.integration.test.js.map +1 -0
- package/lib-es/network/sdk.js +189 -0
- package/lib-es/network/sdk.js.map +1 -0
- package/lib-es/network/sdk.test.d.ts +2 -0
- package/lib-es/network/sdk.test.d.ts.map +1 -0
- package/lib-es/network/sdk.test.js +164 -0
- package/lib-es/network/sdk.test.js.map +1 -0
- package/lib-es/signer/getAddress.d.ts +6 -0
- package/lib-es/signer/getAddress.d.ts.map +1 -0
- package/lib-es/signer/getAddress.js +18 -0
- package/lib-es/signer/getAddress.js.map +1 -0
- package/lib-es/signer/getAddress.test.d.ts +2 -0
- package/lib-es/signer/getAddress.test.d.ts.map +1 -0
- package/lib-es/signer/getAddress.test.js +101 -0
- package/lib-es/signer/getAddress.test.js.map +1 -0
- package/lib-es/signer/index.d.ts +6 -0
- package/lib-es/signer/index.d.ts.map +1 -0
- package/lib-es/signer/index.js +6 -0
- package/lib-es/signer/index.js.map +1 -0
- package/lib-es/test/cli.d.ts +16 -0
- package/lib-es/test/cli.d.ts.map +1 -0
- package/lib-es/test/cli.js +13 -0
- package/lib-es/test/cli.js.map +1 -0
- package/lib-es/types/bridge.d.ts +72 -0
- package/lib-es/types/bridge.d.ts.map +1 -0
- package/lib-es/types/bridge.fixture.d.ts +30 -0
- package/lib-es/types/bridge.fixture.d.ts.map +1 -0
- package/lib-es/types/bridge.fixture.js +80 -0
- package/lib-es/types/bridge.fixture.js.map +1 -0
- package/lib-es/types/bridge.js +2 -0
- package/lib-es/types/bridge.js.map +1 -0
- package/lib-es/types/index.d.ts +4 -0
- package/lib-es/types/index.d.ts.map +1 -0
- package/lib-es/types/index.js +4 -0
- package/lib-es/types/index.js.map +1 -0
- package/lib-es/types/model.d.ts +6 -0
- package/lib-es/types/model.d.ts.map +1 -0
- package/lib-es/types/model.js +2 -0
- package/lib-es/types/model.js.map +1 -0
- package/lib-es/types/signer.d.ts +13 -0
- package/lib-es/types/signer.d.ts.map +1 -0
- package/lib-es/types/signer.js +2 -0
- package/lib-es/types/signer.js.map +1 -0
- package/lib-es/utils.d.ts +7 -0
- package/lib-es/utils.d.ts.map +1 -0
- package/lib-es/utils.js +9 -0
- package/lib-es/utils.js.map +1 -0
- package/package.json +152 -0
- package/src/api/chain/index.ts +17 -0
- package/src/bridge/bridge.integration.test.ts +140 -0
- package/src/bridge/broadcast.test.ts +52 -0
- package/src/bridge/broadcast.ts +21 -0
- package/src/bridge/buildOptimisticOperation.test.ts +53 -0
- package/src/bridge/buildOptimisticOperation.ts +105 -0
- package/src/bridge/buildTransaction.test.ts +17 -0
- package/src/bridge/buildTransaction.ts +14 -0
- package/src/bridge/createTransaction.ts +23 -0
- package/src/bridge/estimateMaxSpendable.test.ts +27 -0
- package/src/bridge/estimateMaxSpendable.ts +46 -0
- package/src/bridge/formatters.test.ts +17 -0
- package/src/bridge/formatters.ts +26 -0
- package/src/bridge/getFeesForTransaction.test.ts +36 -0
- package/src/bridge/getFeesForTransaction.ts +37 -0
- package/src/bridge/getTransactionStatus.test.ts +57 -0
- package/src/bridge/getTransactionStatus.ts +73 -0
- package/src/bridge/index.ts +77 -0
- package/src/bridge/preload.ts +46 -0
- package/src/bridge/prepareTransaction.test.ts +47 -0
- package/src/bridge/prepareTransaction.ts +44 -0
- package/src/bridge/serialization.test.ts +135 -0
- package/src/bridge/serialization.ts +24 -0
- package/src/bridge/signOperation.test.ts +80 -0
- package/src/bridge/signOperation.ts +101 -0
- package/src/bridge/synchronisation.test.ts +140 -0
- package/src/bridge/synchronisation.ts +75 -0
- package/src/bridge/transaction.test.ts +73 -0
- package/src/bridge/transaction.ts +61 -0
- package/src/bridge/utils.ts +69 -0
- package/src/config.ts +19 -0
- package/src/index.ts +3 -0
- package/src/logic/broadcast.ts +19 -0
- package/src/logic/craftTransaction.ts +28 -0
- package/src/logic/estimateFees.ts +14 -0
- package/src/logic/index.ts +3 -0
- package/src/network/index.ts +17 -0
- package/src/network/sdk.integration.test.ts +75 -0
- package/src/network/sdk.test.ts +203 -0
- package/src/network/sdk.ts +262 -0
- package/src/signer/getAddress.test.ts +119 -0
- package/src/signer/getAddress.ts +26 -0
- package/src/signer/index.ts +7 -0
- package/src/test/cli.ts +21 -0
- package/src/types/bridge.fixture.ts +84 -0
- package/src/types/bridge.ts +95 -0
- package/src/types/index.ts +3 -0
- package/src/types/model.ts +7 -0
- package/src/types/signer.ts +12 -0
- package/src/utils.ts +8 -0
- package/tsconfig.json +14 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { BigNumber } from "bignumber.js";
|
|
2
|
+
import { createFixtureAccount, createFixtureTransaction } from "../types/bridge.fixture";
|
|
3
|
+
import { formatTransaction, fromTransactionRaw, toTransactionRaw } from "./transaction";
|
|
4
|
+
describe("transaction", () => {
|
|
5
|
+
const account = createFixtureAccount();
|
|
6
|
+
describe("formatTransaction", () => {
|
|
7
|
+
it("should format a basic transaction", () => {
|
|
8
|
+
const transaction = createFixtureTransaction({
|
|
9
|
+
amount: new BigNumber(500000000),
|
|
10
|
+
recipient: "0x456",
|
|
11
|
+
});
|
|
12
|
+
const formatted = formatTransaction(transaction, account);
|
|
13
|
+
expect(formatted).toBe("\nSEND 0.5 SUI\nTO 0x456");
|
|
14
|
+
});
|
|
15
|
+
it("should format a transaction with useAllAmount", () => {
|
|
16
|
+
const transaction = createFixtureTransaction({ useAllAmount: true, recipient: "0x456" });
|
|
17
|
+
const formatted = formatTransaction(transaction, account);
|
|
18
|
+
expect(formatted).toBe("\nSEND MAX\nTO 0x456");
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
describe("fromTransactionRaw", () => {
|
|
22
|
+
it("should convert from raw transaction", () => {
|
|
23
|
+
const rawTransaction = {
|
|
24
|
+
family: "sui",
|
|
25
|
+
mode: "send",
|
|
26
|
+
amount: "500000000",
|
|
27
|
+
recipient: "0x456",
|
|
28
|
+
useAllAmount: false,
|
|
29
|
+
fees: "1000000",
|
|
30
|
+
};
|
|
31
|
+
const transaction = fromTransactionRaw(rawTransaction);
|
|
32
|
+
expect(transaction).toEqual({
|
|
33
|
+
family: "sui",
|
|
34
|
+
mode: "send",
|
|
35
|
+
amount: new BigNumber("500000000"),
|
|
36
|
+
recipient: "0x456",
|
|
37
|
+
useAllAmount: false,
|
|
38
|
+
fees: new BigNumber("1000000"),
|
|
39
|
+
errors: {},
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
describe("toTransactionRaw", () => {
|
|
44
|
+
it("should convert to raw transaction", () => {
|
|
45
|
+
const transaction = createFixtureTransaction();
|
|
46
|
+
const rawTransaction = toTransactionRaw(transaction);
|
|
47
|
+
expect(rawTransaction).toEqual({
|
|
48
|
+
family: "sui",
|
|
49
|
+
mode: "send",
|
|
50
|
+
amount: "3000000000",
|
|
51
|
+
recipient: "0x65449f57946938c84c512732f1d69405d1fce417d9c9894696ddf4522f479e24",
|
|
52
|
+
useAllAmount: false,
|
|
53
|
+
fees: "3976000",
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
it("should handle null fees", () => {
|
|
57
|
+
const transaction = createFixtureTransaction({ fees: null });
|
|
58
|
+
const rawTransaction = toTransactionRaw(transaction);
|
|
59
|
+
expect(rawTransaction.fees).toBe("");
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=transaction.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.test.js","sourceRoot":"","sources":["../../src/bridge/transaction.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { BigNumber } from "bignumber.js";
|
|
2
|
+
import { AccountLike } from "@ledgerhq/types-live";
|
|
3
|
+
import type { SuiAccount, Transaction } from "../types";
|
|
4
|
+
export declare const MAX_AMOUNT_INPUT = 18446744073709552000;
|
|
5
|
+
export declare enum AccountType {
|
|
6
|
+
Account = "Account",
|
|
7
|
+
TokenAccount = "TokenAccount"
|
|
8
|
+
}
|
|
9
|
+
export declare function getAccountUnit(account: AccountLike): {
|
|
10
|
+
name: string;
|
|
11
|
+
code: string;
|
|
12
|
+
magnitude: number;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Calculates the amount to be sent in a transaction based on the account's balance and transaction details.
|
|
16
|
+
*
|
|
17
|
+
* @param {Object} params - The parameters for the calculation.
|
|
18
|
+
* @param {SuiAccount} params.account - The account from which the amount is being sent.
|
|
19
|
+
* @param {Transaction} params.transaction - The transaction details including the amount and fees.
|
|
20
|
+
* @returns {BigNumber} - The calculated amount that can be sent, ensuring it does not exceed the maximum allowed or fall below zero.
|
|
21
|
+
*/
|
|
22
|
+
export declare const calculateAmount: ({ account, transaction, }: {
|
|
23
|
+
account: SuiAccount;
|
|
24
|
+
transaction: Transaction;
|
|
25
|
+
}) => BigNumber;
|
|
26
|
+
export declare const assertUnreachable: (_: never) => never;
|
|
27
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bridge/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGxD,eAAO,MAAM,gBAAgB,uBAAqB,CAAC;AAEnD,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,YAAY,iBAAiB;CAC9B;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,CAMA;AAcD;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;aAIjB,UAAU;iBACN,WAAW;MACtB,SAcH,CAAC;AAEF,eAAO,MAAM,iBAAiB,MAAO,KAAK,KAAG,KAE5C,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { BigNumber } from "bignumber.js";
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/no-loss-of-precision
|
|
3
|
+
export const MAX_AMOUNT_INPUT = 0xffffffffffffffff;
|
|
4
|
+
export var AccountType;
|
|
5
|
+
(function (AccountType) {
|
|
6
|
+
AccountType["Account"] = "Account";
|
|
7
|
+
AccountType["TokenAccount"] = "TokenAccount";
|
|
8
|
+
})(AccountType || (AccountType = {}));
|
|
9
|
+
export function getAccountUnit(account) {
|
|
10
|
+
if (account.type === AccountType.TokenAccount) {
|
|
11
|
+
return account.token.units[0];
|
|
12
|
+
}
|
|
13
|
+
return account.currency.units[0];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Calculate the maximum amount that can be sent from the account after deducting fees.
|
|
17
|
+
*
|
|
18
|
+
* @param {SuiAccount} account - The account from which the amount is being sent.
|
|
19
|
+
* @param {Transaction} transaction - The transaction details including fees.
|
|
20
|
+
* @returns {BigNumber} - The maximum amount that can be sent, or 0 if insufficient balance.
|
|
21
|
+
*/
|
|
22
|
+
const calculateMaxSend = (account, transaction) => {
|
|
23
|
+
const amount = account.spendableBalance.minus(transaction.fees || 0);
|
|
24
|
+
return amount.lt(0) ? new BigNumber(0) : amount;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Calculates the amount to be sent in a transaction based on the account's balance and transaction details.
|
|
28
|
+
*
|
|
29
|
+
* @param {Object} params - The parameters for the calculation.
|
|
30
|
+
* @param {SuiAccount} params.account - The account from which the amount is being sent.
|
|
31
|
+
* @param {Transaction} params.transaction - The transaction details including the amount and fees.
|
|
32
|
+
* @returns {BigNumber} - The calculated amount that can be sent, ensuring it does not exceed the maximum allowed or fall below zero.
|
|
33
|
+
*/
|
|
34
|
+
export const calculateAmount = ({ account, transaction, }) => {
|
|
35
|
+
let amount = transaction.amount;
|
|
36
|
+
if (transaction.useAllAmount) {
|
|
37
|
+
switch (transaction.mode) {
|
|
38
|
+
case "send":
|
|
39
|
+
amount = calculateMaxSend(account, transaction);
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else if (transaction.amount.gt(MAX_AMOUNT_INPUT)) {
|
|
44
|
+
return new BigNumber(MAX_AMOUNT_INPUT);
|
|
45
|
+
}
|
|
46
|
+
return amount.lt(0) ? new BigNumber(0) : amount;
|
|
47
|
+
};
|
|
48
|
+
export const assertUnreachable = (_) => {
|
|
49
|
+
throw new Error("unreachable assertion failed");
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/bridge/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,mEAAmE;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAEnD,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,4CAA6B,CAAA;AAC/B,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,UAAU,cAAc,CAAC,OAAoB;IAKjD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,YAAY,EAAE,CAAC;QAC9C,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,CAAC,OAAmB,EAAE,WAAwB,EAAa,EAAE;IACpF,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IACrE,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAClD,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,OAAO,EACP,WAAW,GAIZ,EAAa,EAAE;IACd,IAAI,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAEhC,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,QAAQ,WAAW,CAAC,IAAI,EAAE,CAAC;YACzB,KAAK,MAAM;gBACT,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAChD,MAAM;QACV,CAAC;IACH,CAAC;SAAM,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAQ,EAAS,EAAE;IACnD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAClD,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
|
|
2
|
+
import { type CurrencyConfig } from "@ledgerhq/coin-framework/config";
|
|
3
|
+
export type SuiConfig = {
|
|
4
|
+
status: {
|
|
5
|
+
type: "active";
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export type SuiCoinConfig = CurrencyConfig & SuiConfig;
|
|
9
|
+
type CoinConfigType = {
|
|
10
|
+
setCoinConfig: (config: (currency?: CryptoCurrency) => SuiCoinConfig) => void;
|
|
11
|
+
getCoinConfig: (currency?: CryptoCurrency) => SuiCoinConfig;
|
|
12
|
+
};
|
|
13
|
+
declare const coinConfig: CoinConfigType;
|
|
14
|
+
export default coinConfig;
|
|
15
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAuB,EAAE,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtF,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,SAAS,CAAC;AAEvD,KAAK,cAAc,GAAG;IACpB,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,cAAc,KAAK,aAAa,KAAK,IAAI,CAAC;IAC9E,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,cAAc,KAAK,aAAa,CAAC;CAC7D,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,cAAgD,CAAC;AAEnE,eAAe,UAAU,CAAC"}
|
package/lib-es/config.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,cAAuC,MAAM,iCAAiC,CAAC;AAetF,MAAM,UAAU,GAAmB,cAAc,EAAiB,CAAC;AAEnE,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
package/lib-es/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Broadcasts a transaction to the Sui network.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} unsigned - The unsigned transaction block to be broadcasted.
|
|
5
|
+
* @param {string} serializedSignature - The serialized signature for the transaction.
|
|
6
|
+
* @returns {Promise<string>} A promise that resolves to the transaction digest.
|
|
7
|
+
*/
|
|
8
|
+
export declare function broadcast(unsigned: string, serializedSignature: string): Promise<string>;
|
|
9
|
+
//# sourceMappingURL=broadcast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../src/logic/broadcast.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS9F"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import suiAPI from "../network";
|
|
2
|
+
/**
|
|
3
|
+
* Broadcasts a transaction to the Sui network.
|
|
4
|
+
*
|
|
5
|
+
* @param {string} unsigned - The unsigned transaction block to be broadcasted.
|
|
6
|
+
* @param {string} serializedSignature - The serialized signature for the transaction.
|
|
7
|
+
* @returns {Promise<string>} A promise that resolves to the transaction digest.
|
|
8
|
+
*/
|
|
9
|
+
export async function broadcast(unsigned, serializedSignature) {
|
|
10
|
+
const result = await suiAPI.executeTransactionBlock({
|
|
11
|
+
transactionBlock: unsigned,
|
|
12
|
+
signature: serializedSignature,
|
|
13
|
+
options: {
|
|
14
|
+
showEffects: true,
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
return result?.digest ?? "";
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=broadcast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../src/logic/broadcast.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,YAAY,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,mBAA2B;IAC3E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC;QAClD,gBAAgB,EAAE,QAAQ;QAC1B,SAAS,EAAE,mBAAmB;QAC9B,OAAO,EAAE;YACP,WAAW,EAAE,IAAI;SAClB;KACF,CAAC,CAAC;IACH,OAAO,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import BigNumber from "bignumber.js";
|
|
2
|
+
import type { CoreTransaction } from "../types";
|
|
3
|
+
export type CreateExtrinsicArg = {
|
|
4
|
+
mode: string;
|
|
5
|
+
amount: BigNumber;
|
|
6
|
+
recipient: string;
|
|
7
|
+
useAllAmount?: boolean | undefined;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Crafts a transaction
|
|
11
|
+
*
|
|
12
|
+
* @param {string} address - The address of the sender.
|
|
13
|
+
* @param {CreateExtrinsicArg} extractExtrinsicArg - The arguments for creating the transaction, including mode, amount, recipient, and optional useAllAmount.
|
|
14
|
+
* @returns {Promise<CoreTransaction>} A promise that resolves to the crafted CoreTransaction containing the unsigned transaction.
|
|
15
|
+
*/
|
|
16
|
+
export declare function craftTransaction(address: string, extractExtrinsicArg: CreateExtrinsicArg): Promise<CoreTransaction>;
|
|
17
|
+
//# sourceMappingURL=craftTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACpC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,kBAAkB,GACtC,OAAO,CAAC,eAAe,CAAC,CAM1B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import suiAPI from "../network";
|
|
2
|
+
/**
|
|
3
|
+
* Crafts a transaction
|
|
4
|
+
*
|
|
5
|
+
* @param {string} address - The address of the sender.
|
|
6
|
+
* @param {CreateExtrinsicArg} extractExtrinsicArg - The arguments for creating the transaction, including mode, amount, recipient, and optional useAllAmount.
|
|
7
|
+
* @returns {Promise<CoreTransaction>} A promise that resolves to the crafted CoreTransaction containing the unsigned transaction.
|
|
8
|
+
*/
|
|
9
|
+
export async function craftTransaction(address, extractExtrinsicArg) {
|
|
10
|
+
const unsigned = await suiAPI.createTransaction(address, extractExtrinsicArg);
|
|
11
|
+
return {
|
|
12
|
+
unsigned,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=craftTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"craftTransaction.js","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,YAAY,CAAC;AAShC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAe,EACf,mBAAuC;IAEvC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAE9E,OAAO;QACL,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Transaction } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Estimates the fees for a transaction
|
|
4
|
+
*
|
|
5
|
+
* @param {string} sender - The address of the sender for whom the fees are being estimated.
|
|
6
|
+
* @param {Transaction} transaction - The transaction details for which the fees are to be estimated.
|
|
7
|
+
* @returns {Promise<bigint>} A promise that resolves to the estimated fees in bigint format.
|
|
8
|
+
*/
|
|
9
|
+
export declare function estimateFees(sender: string, transaction: Transaction): Promise<bigint>;
|
|
10
|
+
//# sourceMappingURL=estimateFees.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"estimateFees.d.ts","sourceRoot":"","sources":["../../src/logic/estimateFees.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAG5F"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import suiAPI from "../network";
|
|
2
|
+
/**
|
|
3
|
+
* Estimates the fees for a transaction
|
|
4
|
+
*
|
|
5
|
+
* @param {string} sender - The address of the sender for whom the fees are being estimated.
|
|
6
|
+
* @param {Transaction} transaction - The transaction details for which the fees are to be estimated.
|
|
7
|
+
* @returns {Promise<bigint>} A promise that resolves to the estimated fees in bigint format.
|
|
8
|
+
*/
|
|
9
|
+
export async function estimateFees(sender, transaction) {
|
|
10
|
+
const { gasBudget } = await suiAPI.paymentInfo(sender, transaction);
|
|
11
|
+
return BigInt(gasBudget);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=estimateFees.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"estimateFees.js","sourceRoot":"","sources":["../../src/logic/estimateFees.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,YAAY,CAAC;AAGhC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc,EAAE,WAAwB;IACzE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA2B,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { getAccount, getOperations, paymentInfo, createTransaction, executeTransactionBlock } from "./sdk";
|
|
2
|
+
export { getAccount, getOperations, paymentInfo, createTransaction, executeTransactionBlock };
|
|
3
|
+
declare const _default: {
|
|
4
|
+
getAccount: (addr: string) => Promise<{
|
|
5
|
+
blockHeight: number;
|
|
6
|
+
balance: import("bignumber.js").BigNumber;
|
|
7
|
+
}>;
|
|
8
|
+
getOperations: (accountId: string, addr: string, inCursor?: string | null | undefined, outCursor?: string | null | undefined) => Promise<import("@ledgerhq/types-live").Operation[]>;
|
|
9
|
+
paymentInfo: (sender: string, fakeTransaction: import("..").Transaction) => Promise<{
|
|
10
|
+
gasBudget: string;
|
|
11
|
+
totalGasUsed: bigint;
|
|
12
|
+
fees: bigint;
|
|
13
|
+
}>;
|
|
14
|
+
createTransaction: (address: string, transaction: import("../logic").CreateExtrinsicArg) => Promise<Uint8Array>;
|
|
15
|
+
executeTransactionBlock: (params: import("@mysten/sui/client").ExecuteTransactionBlockParams) => Promise<import("@mysten/sui/client").SuiTransactionBlockResponse>;
|
|
16
|
+
};
|
|
17
|
+
export default _default;
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,CAAC;;;;;;;;;;;;;;;AAE9F,wBAME"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { getAccount, getOperations, paymentInfo, createTransaction, executeTransactionBlock, } from "./sdk";
|
|
2
|
+
export { getAccount, getOperations, paymentInfo, createTransaction, executeTransactionBlock };
|
|
3
|
+
export default {
|
|
4
|
+
getAccount,
|
|
5
|
+
getOperations,
|
|
6
|
+
paymentInfo,
|
|
7
|
+
createTransaction,
|
|
8
|
+
executeTransactionBlock,
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,CAAC;AAE9F,eAAe;IACb,UAAU;IACV,aAAa;IACb,WAAW;IACX,iBAAiB;IACjB,uBAAuB;CACxB,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { SuiClient, ExecuteTransactionBlockParams } from "@mysten/sui/client";
|
|
2
|
+
import { TransactionBlockData, SuiTransactionBlockResponse } from "@mysten/sui/client";
|
|
3
|
+
import { BigNumber } from "bignumber.js";
|
|
4
|
+
import type { Operation, OperationType } from "@ledgerhq/types-live";
|
|
5
|
+
import type { Transaction as TransactionType } from "../types";
|
|
6
|
+
import type { CreateExtrinsicArg } from "../logic/craftTransaction";
|
|
7
|
+
export declare const getBalanceCached: import("@ledgerhq/live-network/cache").CacheRes<[params: {
|
|
8
|
+
api: SuiClient;
|
|
9
|
+
owner: string;
|
|
10
|
+
}], import("@mysten/sui/client").CoinBalance>;
|
|
11
|
+
/**
|
|
12
|
+
* Get account balance
|
|
13
|
+
*/
|
|
14
|
+
export declare const getAccount: (addr: string) => Promise<{
|
|
15
|
+
blockHeight: number;
|
|
16
|
+
balance: BigNumber;
|
|
17
|
+
}>;
|
|
18
|
+
/**
|
|
19
|
+
* Returns true if account is the signer
|
|
20
|
+
*/
|
|
21
|
+
export declare function isSender(addr: string, transaction?: TransactionBlockData): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Map transaction to an Operation Type
|
|
24
|
+
*/
|
|
25
|
+
export declare function getOperationType(addr: string, transaction?: TransactionBlockData): OperationType;
|
|
26
|
+
/**
|
|
27
|
+
* Extract senders from transaction
|
|
28
|
+
*/
|
|
29
|
+
export declare const getOperationSenders: (transaction?: TransactionBlockData) => string[];
|
|
30
|
+
/**
|
|
31
|
+
* Extract recipients from transaction
|
|
32
|
+
*/
|
|
33
|
+
export declare const getOperationRecipients: (transaction?: TransactionBlockData) => string[];
|
|
34
|
+
/**
|
|
35
|
+
* Extract value from transaction
|
|
36
|
+
*/
|
|
37
|
+
export declare const getOperationAmount: (address: string, transaction: SuiTransactionBlockResponse) => BigNumber;
|
|
38
|
+
/**
|
|
39
|
+
* Extract fee from transaction
|
|
40
|
+
*/
|
|
41
|
+
export declare const getOperationFee: (transaction: SuiTransactionBlockResponse) => BigNumber;
|
|
42
|
+
/**
|
|
43
|
+
* Extract date from transaction
|
|
44
|
+
*/
|
|
45
|
+
export declare const getOperationDate: (transaction: SuiTransactionBlockResponse) => Date;
|
|
46
|
+
/**
|
|
47
|
+
* Map the Sui history transaction to a Ledger Live Operation
|
|
48
|
+
*/
|
|
49
|
+
export declare function transactionToOperation(accountId: string, address: string, transaction: SuiTransactionBlockResponse): Operation;
|
|
50
|
+
/**
|
|
51
|
+
* Fetch operation list
|
|
52
|
+
*/
|
|
53
|
+
export declare const getOperations: (accountId: string, addr: string, inCursor?: string | null | undefined, outCursor?: string | null | undefined) => Promise<Operation[]>;
|
|
54
|
+
export declare const paymentInfo: (sender: string, fakeTransaction: TransactionType) => Promise<{
|
|
55
|
+
gasBudget: string;
|
|
56
|
+
totalGasUsed: bigint;
|
|
57
|
+
fees: bigint;
|
|
58
|
+
}>;
|
|
59
|
+
export declare const createTransaction: (address: string, transaction: CreateExtrinsicArg) => Promise<Uint8Array>;
|
|
60
|
+
export declare const executeTransactionBlock: (params: ExecuteTransactionBlockParams) => Promise<SuiTransactionBlockResponse>;
|
|
61
|
+
//# sourceMappingURL=sdk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/network/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EACT,6BAA6B,EAE9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAc,MAAM,oBAAoB,CAAC;AAEnG,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAOrE,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAyBpE,eAAO,MAAM,gBAAgB;SAEX,SAAS;WAAS,MAAM;6CAEzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,SAAgB,MAAM;;;EAOzC,CAAC;AAEL;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAElF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,oBAAoB,GAAG,aAAa,CAEhG;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,iBAAkB,oBAAoB,KAAG,MAAM,EAE9E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,iBAAkB,oBAAoB,KAAG,MAAM,EAYjF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,YACpB,MAAM,eACF,2BAA2B,KACvC,SAiBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,gBAAiB,2BAA2B,KAAG,SAQ1E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,gBAAiB,2BAA2B,KAAG,IAE3E,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,2BAA2B,GACvC,SAAS,CAkBX;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,cACb,MAAM,QACX,MAAM,aACD,MAAM,GAAG,IAAI,GAAG,SAAS,cACxB,MAAM,GAAG,IAAI,GAAG,SAAS,KACpC,QAAQ,SAAS,EAAE,CASlB,CAAC;AAYL,eAAO,MAAM,WAAW,WAAkB,MAAM,mBAAmB,eAAe;;;;EAc9E,CAAC;AAEL,eAAO,MAAM,iBAAiB,YAAmB,MAAM,eAAe,kBAAkB,wBASpF,CAAC;AAEL,eAAO,MAAM,uBAAuB,WAAkB,6BAA6B,yCAG/E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk.integration.test.d.ts","sourceRoot":"","sources":["../../src/network/sdk.integration.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import BigNumber from "bignumber.js";
|
|
2
|
+
import { getOperations } from "./sdk";
|
|
3
|
+
describe("getOperations", () => {
|
|
4
|
+
describe("Account 0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164", () => {
|
|
5
|
+
// https://suiscan.xyz/mainnet/account/0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164/activity
|
|
6
|
+
// 2 as of 23/03/2025
|
|
7
|
+
const IN_OPERATIONS_COUNT = 1;
|
|
8
|
+
const OUT_OPERATIONS_COUNT = 1;
|
|
9
|
+
const TOTAL_OPERATIONS_COUNT = IN_OPERATIONS_COUNT + OUT_OPERATIONS_COUNT;
|
|
10
|
+
let operations;
|
|
11
|
+
const testingAccount = "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164";
|
|
12
|
+
beforeAll(async () => {
|
|
13
|
+
operations = await getOperations("mockAccoundId", testingAccount);
|
|
14
|
+
});
|
|
15
|
+
describe("List", () => {
|
|
16
|
+
it("should fetch operations successfully", async () => {
|
|
17
|
+
expect(Array.isArray(operations)).toBeDefined();
|
|
18
|
+
});
|
|
19
|
+
it("should fetch all operations", async () => {
|
|
20
|
+
expect(operations.length).toBeGreaterThanOrEqual(TOTAL_OPERATIONS_COUNT);
|
|
21
|
+
});
|
|
22
|
+
it("should return the first operation at index 0 and the last at the end", async () => {
|
|
23
|
+
const oldestTxHash = "rkTA5Tn9dgrWPnHgj2WK7rVnk5t9jC3ViPcHU9dewDg";
|
|
24
|
+
const newestTxHash = "CnVCqFLDv9iJc3DPU2WGpJdZUjqFPhyEVJ5BAigEj9VW";
|
|
25
|
+
expect(operations[operations.length - TOTAL_OPERATIONS_COUNT].hash).toEqual(newestTxHash);
|
|
26
|
+
expect(operations[operations.length - 1].hash).toEqual(oldestTxHash);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
describe("Transaction types", () => {
|
|
30
|
+
it("should return correct IN/OUT operations numbers", async () => {
|
|
31
|
+
const inOps = operations.filter(op => op.type === "IN");
|
|
32
|
+
const outOps = operations.filter(op => op.type === "OUT");
|
|
33
|
+
expect(inOps.length).toBeGreaterThanOrEqual(IN_OPERATIONS_COUNT);
|
|
34
|
+
expect(outOps.length).toBeGreaterThanOrEqual(OUT_OPERATIONS_COUNT);
|
|
35
|
+
});
|
|
36
|
+
describe("SUI operations", () => {
|
|
37
|
+
it("should return SUI IN operations correctly", () => {
|
|
38
|
+
// https://suiscan.xyz/mainnet/tx/rkTA5Tn9dgrWPnHgj2WK7rVnk5t9jC3ViPcHU9dewDg
|
|
39
|
+
// Send 0.15 SUI to 0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164
|
|
40
|
+
const txHash = "rkTA5Tn9dgrWPnHgj2WK7rVnk5t9jC3ViPcHU9dewDg";
|
|
41
|
+
const operation = operations.find(op => op.hash === txHash);
|
|
42
|
+
expect(operation).toMatchObject({
|
|
43
|
+
type: "IN",
|
|
44
|
+
value: BigNumber("150000000"),
|
|
45
|
+
senders: ["0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0"],
|
|
46
|
+
recipients: [testingAccount],
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
it("should return SUI OUT operations correctly", () => {
|
|
50
|
+
// https://suiscan.xyz/mainnet/tx/CnVCqFLDv9iJc3DPU2WGpJdZUjqFPhyEVJ5BAigEj9VW
|
|
51
|
+
// Get 0.052 SUI from 0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164
|
|
52
|
+
const txHash = "CnVCqFLDv9iJc3DPU2WGpJdZUjqFPhyEVJ5BAigEj9VW";
|
|
53
|
+
const operation = operations.find(op => op.hash === txHash);
|
|
54
|
+
expect(operation).toMatchObject({
|
|
55
|
+
type: "OUT",
|
|
56
|
+
value: BigNumber("51747880"),
|
|
57
|
+
recipients: ["0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0"],
|
|
58
|
+
senders: [testingAccount],
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=sdk.integration.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk.integration.test.js","sourceRoot":"","sources":["../../src/network/sdk.integration.test.ts"],"names":[],"mappings":"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"}
|