@ledgerhq/coin-aptos 1.4.0-next.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/.turbo/turbo-build.log +4 -0
- package/.unimportedrc.json +16 -0
- package/CHANGELOG.md +18 -0
- package/LICENSE.txt +21 -0
- package/jest.config.js +8 -0
- package/lib/__tests__/api/index.test.d.ts +2 -0
- package/lib/__tests__/api/index.test.d.ts.map +1 -0
- package/lib/__tests__/api/index.test.js +447 -0
- package/lib/__tests__/api/index.test.js.map +1 -0
- package/lib/__tests__/bridge/broadcast.test.d.ts +2 -0
- package/lib/__tests__/bridge/broadcast.test.d.ts.map +1 -0
- package/lib/__tests__/bridge/broadcast.test.js +98 -0
- package/lib/__tests__/bridge/broadcast.test.js.map +1 -0
- package/lib/__tests__/bridge/buildTransaction.test.d.ts +2 -0
- package/lib/__tests__/bridge/buildTransaction.test.d.ts.map +1 -0
- package/lib/__tests__/bridge/buildTransaction.test.js +62 -0
- package/lib/__tests__/bridge/buildTransaction.test.js.map +1 -0
- package/lib/__tests__/bridge/createTransaction.test.d.ts +2 -0
- package/lib/__tests__/bridge/createTransaction.test.d.ts.map +1 -0
- package/lib/__tests__/bridge/createTransaction.test.js +38 -0
- package/lib/__tests__/bridge/createTransaction.test.js.map +1 -0
- package/lib/__tests__/bridge/deviceTransactionConfig.test.d.ts +2 -0
- package/lib/__tests__/bridge/deviceTransactionConfig.test.d.ts.map +1 -0
- package/lib/__tests__/bridge/deviceTransactionConfig.test.js +43 -0
- package/lib/__tests__/bridge/deviceTransactionConfig.test.js.map +1 -0
- package/lib/__tests__/bridge/estimateMaxSpendable.test.d.ts +2 -0
- package/lib/__tests__/bridge/estimateMaxSpendable.test.d.ts.map +1 -0
- package/lib/__tests__/bridge/estimateMaxSpendable.test.js +84 -0
- package/lib/__tests__/bridge/estimateMaxSpendable.test.js.map +1 -0
- package/lib/__tests__/bridge/getFeesForTransaction.test.d.ts +2 -0
- package/lib/__tests__/bridge/getFeesForTransaction.test.d.ts.map +1 -0
- package/lib/__tests__/bridge/getFeesForTransaction.test.js +188 -0
- package/lib/__tests__/bridge/getFeesForTransaction.test.js.map +1 -0
- package/lib/__tests__/bridge/getTransactionStatus.test.d.ts +2 -0
- package/lib/__tests__/bridge/getTransactionStatus.test.d.ts.map +1 -0
- package/lib/__tests__/bridge/getTransactionStatus.test.js +133 -0
- package/lib/__tests__/bridge/getTransactionStatus.test.js.map +1 -0
- package/lib/__tests__/bridge/index.test.d.ts +2 -0
- package/lib/__tests__/bridge/index.test.d.ts.map +1 -0
- package/lib/__tests__/bridge/index.test.js +116 -0
- package/lib/__tests__/bridge/index.test.js.map +1 -0
- package/lib/__tests__/bridge/logic.test.d.ts +2 -0
- package/lib/__tests__/bridge/logic.test.d.ts.map +1 -0
- package/lib/__tests__/bridge/logic.test.js +773 -0
- package/lib/__tests__/bridge/logic.test.js.map +1 -0
- package/lib/__tests__/bridge/prepareTransaction.test.d.ts +2 -0
- package/lib/__tests__/bridge/prepareTransaction.test.d.ts.map +1 -0
- package/lib/__tests__/bridge/prepareTransaction.test.js +121 -0
- package/lib/__tests__/bridge/prepareTransaction.test.js.map +1 -0
- package/lib/__tests__/bridge/signOperation.test.d.ts +2 -0
- package/lib/__tests__/bridge/signOperation.test.d.ts.map +1 -0
- package/lib/__tests__/bridge/signOperation.test.js +185 -0
- package/lib/__tests__/bridge/signOperation.test.js.map +1 -0
- package/lib/__tests__/bridge/synchronisation.test.d.ts +2 -0
- package/lib/__tests__/bridge/synchronisation.test.d.ts.map +1 -0
- package/lib/__tests__/bridge/synchronisation.test.js +349 -0
- package/lib/__tests__/bridge/synchronisation.test.js.map +1 -0
- package/lib/__tests__/bridge/transaction.test.d.ts +2 -0
- package/lib/__tests__/bridge/transaction.test.d.ts.map +1 -0
- package/lib/__tests__/bridge/transaction.test.js +231 -0
- package/lib/__tests__/bridge/transaction.test.js.map +1 -0
- package/lib/__tests__/errors.test.d.ts +2 -0
- package/lib/__tests__/errors.test.d.ts.map +1 -0
- package/lib/__tests__/errors.test.js +18 -0
- package/lib/__tests__/errors.test.js.map +1 -0
- package/lib/__tests__/index.test.d.ts +2 -0
- package/lib/__tests__/index.test.d.ts.map +1 -0
- package/lib/__tests__/index.test.js +27 -0
- package/lib/__tests__/index.test.js.map +1 -0
- package/lib/__tests__/network/index.test.d.ts +2 -0
- package/lib/__tests__/network/index.test.d.ts.map +1 -0
- package/lib/__tests__/network/index.test.js +57 -0
- package/lib/__tests__/network/index.test.js.map +1 -0
- package/lib/__tests__/signer/index.test.d.ts +2 -0
- package/lib/__tests__/signer/index.test.d.ts.map +1 -0
- package/lib/__tests__/signer/index.test.js +37 -0
- package/lib/__tests__/signer/index.test.js.map +1 -0
- package/lib/api/graphql/queries.d.ts +5 -0
- package/lib/api/graphql/queries.d.ts.map +1 -0
- package/lib/api/graphql/queries.js +56 -0
- package/lib/api/graphql/queries.js.map +1 -0
- package/lib/api/graphql/types.d.ts +79 -0
- package/lib/api/graphql/types.d.ts.map +1 -0
- package/lib/api/graphql/types.js +3 -0
- package/lib/api/graphql/types.js.map +1 -0
- package/lib/api/index.d.ts +31 -0
- package/lib/api/index.d.ts.map +1 -0
- package/lib/api/index.js +200 -0
- package/lib/api/index.js.map +1 -0
- package/lib/bridge/bridge.fixture.d.ts +4 -0
- package/lib/bridge/bridge.fixture.d.ts.map +1 -0
- package/lib/bridge/bridge.fixture.js +56 -0
- package/lib/bridge/bridge.fixture.js.map +1 -0
- package/lib/bridge/broadcast.d.ts +7 -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/buildTransaction.d.ts +7 -0
- package/lib/bridge/buildTransaction.d.ts.map +1 -0
- package/lib/bridge/buildTransaction.js +28 -0
- package/lib/bridge/buildTransaction.js.map +1 -0
- package/lib/bridge/createTransaction.d.ts +4 -0
- package/lib/bridge/createTransaction.d.ts.map +1 -0
- package/lib/bridge/createTransaction.js +20 -0
- package/lib/bridge/createTransaction.js.map +1 -0
- package/lib/bridge/deviceTransactionConfig.d.ts +11 -0
- package/lib/bridge/deviceTransactionConfig.d.ts.map +1 -0
- package/lib/bridge/deviceTransactionConfig.js +23 -0
- package/lib/bridge/deviceTransactionConfig.js.map +1 -0
- package/lib/bridge/estimateMaxSpendable.d.ts +10 -0
- package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -0
- package/lib/bridge/estimateMaxSpendable.js +30 -0
- package/lib/bridge/estimateMaxSpendable.js.map +1 -0
- package/lib/bridge/getFeesForTransaction.d.ts +16 -0
- package/lib/bridge/getFeesForTransaction.d.ts.map +1 -0
- package/lib/bridge/getFeesForTransaction.js +74 -0
- package/lib/bridge/getFeesForTransaction.js.map +1 -0
- package/lib/bridge/getTransactionStatus.d.ts +5 -0
- package/lib/bridge/getTransactionStatus.d.ts.map +1 -0
- package/lib/bridge/getTransactionStatus.js +48 -0
- package/lib/bridge/getTransactionStatus.js.map +1 -0
- package/lib/bridge/index.d.ts +8 -0
- package/lib/bridge/index.d.ts.map +1 -0
- package/lib/bridge/index.js +54 -0
- package/lib/bridge/index.js.map +1 -0
- package/lib/bridge/logic.d.ts +24 -0
- package/lib/bridge/logic.d.ts.map +1 -0
- package/lib/bridge/logic.js +200 -0
- package/lib/bridge/logic.js.map +1 -0
- package/lib/bridge/prepareTransaction.d.ts +5 -0
- package/lib/bridge/prepareTransaction.d.ts.map +1 -0
- package/lib/bridge/prepareTransaction.js +44 -0
- package/lib/bridge/prepareTransaction.js.map +1 -0
- package/lib/bridge/signOperation.d.ts +11 -0
- package/lib/bridge/signOperation.d.ts.map +1 -0
- package/lib/bridge/signOperation.js +77 -0
- package/lib/bridge/signOperation.js.map +1 -0
- package/lib/bridge/synchronisation.d.ts +3 -0
- package/lib/bridge/synchronisation.d.ts.map +1 -0
- package/lib/bridge/synchronisation.js +53 -0
- package/lib/bridge/synchronisation.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 +37 -0
- package/lib/bridge/transaction.js.map +1 -0
- package/lib/constants.d.ts +19 -0
- package/lib/constants.d.ts.map +1 -0
- package/lib/constants.js +33 -0
- package/lib/constants.js.map +1 -0
- package/lib/errors.d.ts +10 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +8 -0
- package/lib/errors.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/network/index.d.ts +6 -0
- package/lib/network/index.d.ts.map +1 -0
- package/lib/network/index.js +39 -0
- package/lib/network/index.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 +23 -0
- package/lib/signer/index.js.map +1 -0
- package/lib/test/bot-specs.d.ts +7 -0
- package/lib/test/bot-specs.d.ts.map +1 -0
- package/lib/test/bot-specs.js +77 -0
- package/lib/test/bot-specs.js.map +1 -0
- package/lib/test/bridgeDatasetTest.d.ts +4 -0
- package/lib/test/bridgeDatasetTest.d.ts.map +1 -0
- package/lib/test/bridgeDatasetTest.js +85 -0
- package/lib/test/bridgeDatasetTest.js.map +1 -0
- package/lib/test/cli.d.ts +19 -0
- package/lib/test/cli.d.ts.map +1 -0
- package/lib/test/cli.js +59 -0
- package/lib/test/cli.js.map +1 -0
- package/lib/test/index.d.ts +4 -0
- package/lib/test/index.d.ts.map +1 -0
- package/lib/test/index.js +20 -0
- package/lib/test/index.js.map +1 -0
- package/lib/test/speculos-deviceActions.d.ts +5 -0
- package/lib/test/speculos-deviceActions.d.ts.map +1 -0
- package/lib/test/speculos-deviceActions.js +46 -0
- package/lib/test/speculos-deviceActions.js.map +1 -0
- package/lib/types/bridge.d.ts +5 -0
- package/lib/types/bridge.d.ts.map +1 -0
- package/lib/types/bridge.js +9 -0
- package/lib/types/bridge.js.map +1 -0
- package/lib/types/index.d.ts +62 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +19 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/signer.d.ts +27 -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-es/__tests__/api/index.test.d.ts +2 -0
- package/lib-es/__tests__/api/index.test.d.ts.map +1 -0
- package/lib-es/__tests__/api/index.test.js +442 -0
- package/lib-es/__tests__/api/index.test.js.map +1 -0
- package/lib-es/__tests__/bridge/broadcast.test.d.ts +2 -0
- package/lib-es/__tests__/bridge/broadcast.test.d.ts.map +1 -0
- package/lib-es/__tests__/bridge/broadcast.test.js +93 -0
- package/lib-es/__tests__/bridge/broadcast.test.js.map +1 -0
- package/lib-es/__tests__/bridge/buildTransaction.test.d.ts +2 -0
- package/lib-es/__tests__/bridge/buildTransaction.test.d.ts.map +1 -0
- package/lib-es/__tests__/bridge/buildTransaction.test.js +57 -0
- package/lib-es/__tests__/bridge/buildTransaction.test.js.map +1 -0
- package/lib-es/__tests__/bridge/createTransaction.test.d.ts +2 -0
- package/lib-es/__tests__/bridge/createTransaction.test.d.ts.map +1 -0
- package/lib-es/__tests__/bridge/createTransaction.test.js +33 -0
- package/lib-es/__tests__/bridge/createTransaction.test.js.map +1 -0
- package/lib-es/__tests__/bridge/deviceTransactionConfig.test.d.ts +2 -0
- package/lib-es/__tests__/bridge/deviceTransactionConfig.test.d.ts.map +1 -0
- package/lib-es/__tests__/bridge/deviceTransactionConfig.test.js +18 -0
- package/lib-es/__tests__/bridge/deviceTransactionConfig.test.js.map +1 -0
- package/lib-es/__tests__/bridge/estimateMaxSpendable.test.d.ts +2 -0
- package/lib-es/__tests__/bridge/estimateMaxSpendable.test.d.ts.map +1 -0
- package/lib-es/__tests__/bridge/estimateMaxSpendable.test.js +79 -0
- package/lib-es/__tests__/bridge/estimateMaxSpendable.test.js.map +1 -0
- package/lib-es/__tests__/bridge/getFeesForTransaction.test.d.ts +2 -0
- package/lib-es/__tests__/bridge/getFeesForTransaction.test.d.ts.map +1 -0
- package/lib-es/__tests__/bridge/getFeesForTransaction.test.js +160 -0
- package/lib-es/__tests__/bridge/getFeesForTransaction.test.js.map +1 -0
- package/lib-es/__tests__/bridge/getTransactionStatus.test.d.ts +2 -0
- package/lib-es/__tests__/bridge/getTransactionStatus.test.d.ts.map +1 -0
- package/lib-es/__tests__/bridge/getTransactionStatus.test.js +128 -0
- package/lib-es/__tests__/bridge/getTransactionStatus.test.js.map +1 -0
- package/lib-es/__tests__/bridge/index.test.d.ts +2 -0
- package/lib-es/__tests__/bridge/index.test.d.ts.map +1 -0
- package/lib-es/__tests__/bridge/index.test.js +111 -0
- package/lib-es/__tests__/bridge/index.test.js.map +1 -0
- package/lib-es/__tests__/bridge/logic.test.d.ts +2 -0
- package/lib-es/__tests__/bridge/logic.test.d.ts.map +1 -0
- package/lib-es/__tests__/bridge/logic.test.js +768 -0
- package/lib-es/__tests__/bridge/logic.test.js.map +1 -0
- package/lib-es/__tests__/bridge/prepareTransaction.test.d.ts +2 -0
- package/lib-es/__tests__/bridge/prepareTransaction.test.d.ts.map +1 -0
- package/lib-es/__tests__/bridge/prepareTransaction.test.js +116 -0
- package/lib-es/__tests__/bridge/prepareTransaction.test.js.map +1 -0
- package/lib-es/__tests__/bridge/signOperation.test.d.ts +2 -0
- package/lib-es/__tests__/bridge/signOperation.test.d.ts.map +1 -0
- package/lib-es/__tests__/bridge/signOperation.test.js +157 -0
- package/lib-es/__tests__/bridge/signOperation.test.js.map +1 -0
- package/lib-es/__tests__/bridge/synchronisation.test.d.ts +2 -0
- package/lib-es/__tests__/bridge/synchronisation.test.d.ts.map +1 -0
- package/lib-es/__tests__/bridge/synchronisation.test.js +347 -0
- package/lib-es/__tests__/bridge/synchronisation.test.js.map +1 -0
- package/lib-es/__tests__/bridge/transaction.test.d.ts +2 -0
- package/lib-es/__tests__/bridge/transaction.test.d.ts.map +1 -0
- package/lib-es/__tests__/bridge/transaction.test.js +226 -0
- package/lib-es/__tests__/bridge/transaction.test.js.map +1 -0
- package/lib-es/__tests__/errors.test.d.ts +2 -0
- package/lib-es/__tests__/errors.test.d.ts.map +1 -0
- package/lib-es/__tests__/errors.test.js +16 -0
- package/lib-es/__tests__/errors.test.js.map +1 -0
- package/lib-es/__tests__/index.test.d.ts +2 -0
- package/lib-es/__tests__/index.test.d.ts.map +1 -0
- package/lib-es/__tests__/index.test.js +25 -0
- package/lib-es/__tests__/index.test.js.map +1 -0
- package/lib-es/__tests__/network/index.test.d.ts +2 -0
- package/lib-es/__tests__/network/index.test.d.ts.map +1 -0
- package/lib-es/__tests__/network/index.test.js +55 -0
- package/lib-es/__tests__/network/index.test.js.map +1 -0
- package/lib-es/__tests__/signer/index.test.d.ts +2 -0
- package/lib-es/__tests__/signer/index.test.d.ts.map +1 -0
- package/lib-es/__tests__/signer/index.test.js +32 -0
- package/lib-es/__tests__/signer/index.test.js.map +1 -0
- package/lib-es/api/graphql/queries.d.ts +5 -0
- package/lib-es/api/graphql/queries.d.ts.map +1 -0
- package/lib-es/api/graphql/queries.js +53 -0
- package/lib-es/api/graphql/queries.js.map +1 -0
- package/lib-es/api/graphql/types.d.ts +79 -0
- package/lib-es/api/graphql/types.d.ts.map +1 -0
- package/lib-es/api/graphql/types.js +2 -0
- package/lib-es/api/graphql/types.js.map +1 -0
- package/lib-es/api/index.d.ts +31 -0
- package/lib-es/api/index.d.ts.map +1 -0
- package/lib-es/api/index.js +193 -0
- package/lib-es/api/index.js.map +1 -0
- package/lib-es/bridge/bridge.fixture.d.ts +4 -0
- package/lib-es/bridge/bridge.fixture.d.ts.map +1 -0
- package/lib-es/bridge/bridge.fixture.js +48 -0
- package/lib-es/bridge/bridge.fixture.js.map +1 -0
- package/lib-es/bridge/broadcast.d.ts +7 -0
- package/lib-es/bridge/broadcast.d.ts.map +1 -0
- package/lib-es/bridge/broadcast.js +18 -0
- package/lib-es/bridge/broadcast.js.map +1 -0
- package/lib-es/bridge/buildTransaction.d.ts +7 -0
- package/lib-es/bridge/buildTransaction.d.ts.map +1 -0
- package/lib-es/bridge/buildTransaction.js +26 -0
- package/lib-es/bridge/buildTransaction.js.map +1 -0
- package/lib-es/bridge/createTransaction.d.ts +4 -0
- package/lib-es/bridge/createTransaction.d.ts.map +1 -0
- package/lib-es/bridge/createTransaction.js +15 -0
- package/lib-es/bridge/createTransaction.js.map +1 -0
- package/lib-es/bridge/deviceTransactionConfig.d.ts +11 -0
- package/lib-es/bridge/deviceTransactionConfig.d.ts.map +1 -0
- package/lib-es/bridge/deviceTransactionConfig.js +19 -0
- package/lib-es/bridge/deviceTransactionConfig.js.map +1 -0
- package/lib-es/bridge/estimateMaxSpendable.d.ts +10 -0
- package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -0
- package/lib-es/bridge/estimateMaxSpendable.js +28 -0
- package/lib-es/bridge/estimateMaxSpendable.js.map +1 -0
- package/lib-es/bridge/getFeesForTransaction.d.ts +16 -0
- package/lib-es/bridge/getFeesForTransaction.d.ts.map +1 -0
- package/lib-es/bridge/getFeesForTransaction.js +66 -0
- package/lib-es/bridge/getFeesForTransaction.js.map +1 -0
- package/lib-es/bridge/getTransactionStatus.d.ts +5 -0
- package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -0
- package/lib-es/bridge/getTransactionStatus.js +46 -0
- package/lib-es/bridge/getTransactionStatus.js.map +1 -0
- package/lib-es/bridge/index.d.ts +8 -0
- package/lib-es/bridge/index.d.ts.map +1 -0
- package/lib-es/bridge/index.js +47 -0
- package/lib-es/bridge/index.js.map +1 -0
- package/lib-es/bridge/logic.d.ts +24 -0
- package/lib-es/bridge/logic.d.ts.map +1 -0
- package/lib-es/bridge/logic.js +183 -0
- package/lib-es/bridge/logic.js.map +1 -0
- package/lib-es/bridge/prepareTransaction.d.ts +5 -0
- package/lib-es/bridge/prepareTransaction.d.ts.map +1 -0
- package/lib-es/bridge/prepareTransaction.js +39 -0
- package/lib-es/bridge/prepareTransaction.js.map +1 -0
- package/lib-es/bridge/signOperation.d.ts +11 -0
- package/lib-es/bridge/signOperation.d.ts.map +1 -0
- package/lib-es/bridge/signOperation.js +70 -0
- package/lib-es/bridge/signOperation.js.map +1 -0
- package/lib-es/bridge/synchronisation.d.ts +3 -0
- package/lib-es/bridge/synchronisation.d.ts.map +1 -0
- package/lib-es/bridge/synchronisation.js +49 -0
- package/lib-es/bridge/synchronisation.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 +31 -0
- package/lib-es/bridge/transaction.js.map +1 -0
- package/lib-es/constants.d.ts +19 -0
- package/lib-es/constants.d.ts.map +1 -0
- package/lib-es/constants.js +30 -0
- package/lib-es/constants.js.map +1 -0
- package/lib-es/errors.d.ts +10 -0
- package/lib-es/errors.d.ts.map +1 -0
- package/lib-es/errors.js +5 -0
- package/lib-es/errors.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/network/index.d.ts +6 -0
- package/lib-es/network/index.d.ts.map +1 -0
- package/lib-es/network/index.js +35 -0
- package/lib-es/network/index.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 +21 -0
- package/lib-es/signer/index.js.map +1 -0
- package/lib-es/test/bot-specs.d.ts +7 -0
- package/lib-es/test/bot-specs.d.ts.map +1 -0
- package/lib-es/test/bot-specs.js +72 -0
- package/lib-es/test/bot-specs.js.map +1 -0
- package/lib-es/test/bridgeDatasetTest.d.ts +4 -0
- package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -0
- package/lib-es/test/bridgeDatasetTest.js +79 -0
- package/lib-es/test/bridgeDatasetTest.js.map +1 -0
- package/lib-es/test/cli.d.ts +19 -0
- package/lib-es/test/cli.d.ts.map +1 -0
- package/lib-es/test/cli.js +53 -0
- package/lib-es/test/cli.js.map +1 -0
- package/lib-es/test/index.d.ts +4 -0
- package/lib-es/test/index.d.ts.map +1 -0
- package/lib-es/test/index.js +4 -0
- package/lib-es/test/index.js.map +1 -0
- package/lib-es/test/speculos-deviceActions.d.ts +5 -0
- package/lib-es/test/speculos-deviceActions.d.ts.map +1 -0
- package/lib-es/test/speculos-deviceActions.js +43 -0
- package/lib-es/test/speculos-deviceActions.js.map +1 -0
- package/lib-es/types/bridge.d.ts +5 -0
- package/lib-es/types/bridge.d.ts.map +1 -0
- package/lib-es/types/bridge.js +6 -0
- package/lib-es/types/bridge.js.map +1 -0
- package/lib-es/types/index.d.ts +62 -0
- package/lib-es/types/index.d.ts.map +1 -0
- package/lib-es/types/index.js +3 -0
- package/lib-es/types/index.js.map +1 -0
- package/lib-es/types/signer.d.ts +27 -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/package.json +124 -0
- package/src/__tests__/api/index.test.ts +499 -0
- package/src/__tests__/bridge/broadcast.test.ts +98 -0
- package/src/__tests__/bridge/buildTransaction.test.ts +61 -0
- package/src/__tests__/bridge/createTransaction.test.ts +27 -0
- package/src/__tests__/bridge/deviceTransactionConfig.test.ts +19 -0
- package/src/__tests__/bridge/estimateMaxSpendable.test.ts +94 -0
- package/src/__tests__/bridge/getFeesForTransaction.test.ts +189 -0
- package/src/__tests__/bridge/getTransactionStatus.test.ts +155 -0
- package/src/__tests__/bridge/index.test.ts +108 -0
- package/src/__tests__/bridge/logic.test.ts +876 -0
- package/src/__tests__/bridge/prepareTransaction.test.ts +118 -0
- package/src/__tests__/bridge/signOperation.test.ts +178 -0
- package/src/__tests__/bridge/synchronisation.test.ts +374 -0
- package/src/__tests__/bridge/transaction.test.ts +261 -0
- package/src/__tests__/errors.test.ts +25 -0
- package/src/__tests__/index.test.ts +26 -0
- package/src/__tests__/network/index.test.ts +95 -0
- package/src/__tests__/signer/index.test.ts +24 -0
- package/src/api/graphql/queries.ts +53 -0
- package/src/api/graphql/types.ts +85 -0
- package/src/api/index.ts +224 -0
- package/src/bridge/bridge.fixture.ts +53 -0
- package/src/bridge/broadcast.ts +17 -0
- package/src/bridge/buildTransaction.ts +29 -0
- package/src/bridge/createTransaction.ts +17 -0
- package/src/bridge/deviceTransactionConfig.ts +30 -0
- package/src/bridge/estimateMaxSpendable.ts +35 -0
- package/src/bridge/getFeesForTransaction.ts +87 -0
- package/src/bridge/getTransactionStatus.ts +54 -0
- package/src/bridge/index.ts +65 -0
- package/src/bridge/logic.ts +265 -0
- package/src/bridge/prepareTransaction.ts +55 -0
- package/src/bridge/signOperation.ts +82 -0
- package/src/bridge/synchronisation.ts +50 -0
- package/src/bridge/transaction.ts +61 -0
- package/src/constants.ts +34 -0
- package/src/errors.ts +7 -0
- package/src/index.ts +3 -0
- package/src/network/index.ts +54 -0
- package/src/signer/index.ts +17 -0
- package/src/test/bot-specs.ts +86 -0
- package/src/test/bridgeDatasetTest.ts +82 -0
- package/src/test/cli.ts +80 -0
- package/src/test/index.ts +3 -0
- package/src/test/speculos-deviceActions.ts +52 -0
- package/src/types/bridge.ts +4 -0
- package/src/types/index.ts +74 -0
- package/src/types/signer.ts +26 -0
- package/tsconfig.json +14 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { createFixtureAccount, createFixtureTransaction } from "../../bridge/bridge.fixture";
|
|
2
|
+
import estimateMaxSpendable from "../../bridge/estimateMaxSpendable";
|
|
3
|
+
import BigNumber from "bignumber.js";
|
|
4
|
+
|
|
5
|
+
jest.mock("../../bridge/getFeesForTransaction", () => ({
|
|
6
|
+
getEstimatedGas: jest.fn(() => ({
|
|
7
|
+
fees: new BigNumber(0),
|
|
8
|
+
estimate: {
|
|
9
|
+
maxGasAmount: 1,
|
|
10
|
+
gasUnitPrice: 2,
|
|
11
|
+
},
|
|
12
|
+
errors: {},
|
|
13
|
+
})),
|
|
14
|
+
}));
|
|
15
|
+
|
|
16
|
+
describe("estimateMaxSpendable Test", () => {
|
|
17
|
+
describe("spendable balance is lower than the total gas", () => {
|
|
18
|
+
it("should return 0", async () => {
|
|
19
|
+
const account = createFixtureAccount();
|
|
20
|
+
|
|
21
|
+
const spendableBalance = new BigNumber(0);
|
|
22
|
+
|
|
23
|
+
account.spendableBalance = spendableBalance;
|
|
24
|
+
|
|
25
|
+
const result = await estimateMaxSpendable({
|
|
26
|
+
account,
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
const expected = spendableBalance;
|
|
30
|
+
|
|
31
|
+
expect(result.isEqualTo(expected)).toBe(true);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
describe("spendable balance is higher than the total gas", () => {
|
|
36
|
+
it("should return spendable amount minus total gas", async () => {
|
|
37
|
+
const account = createFixtureAccount();
|
|
38
|
+
|
|
39
|
+
const spendableBalance = new BigNumber(100000);
|
|
40
|
+
|
|
41
|
+
account.spendableBalance = spendableBalance;
|
|
42
|
+
|
|
43
|
+
const result = await estimateMaxSpendable({
|
|
44
|
+
account,
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
const expected = new BigNumber(80000);
|
|
48
|
+
|
|
49
|
+
expect(result.isEqualTo(expected)).toBe(true);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
describe("transaction spendable balance is higher than the total gas", () => {
|
|
54
|
+
it("should return transaction spendable amount minus total gas", async () => {
|
|
55
|
+
const account = createFixtureAccount();
|
|
56
|
+
const transaction = createFixtureTransaction();
|
|
57
|
+
|
|
58
|
+
const spendableBalance = new BigNumber(1);
|
|
59
|
+
|
|
60
|
+
account.spendableBalance = spendableBalance;
|
|
61
|
+
|
|
62
|
+
const result = await estimateMaxSpendable({
|
|
63
|
+
account,
|
|
64
|
+
parentAccount: account,
|
|
65
|
+
transaction,
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
const expected = new BigNumber(0);
|
|
69
|
+
|
|
70
|
+
expect(result.isEqualTo(expected)).toBe(true);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
describe("transaction spendable balance is higher than the total gas", () => {
|
|
75
|
+
it("should return transaction spendable amount minus total gas", async () => {
|
|
76
|
+
const account = createFixtureAccount();
|
|
77
|
+
const transaction = createFixtureTransaction();
|
|
78
|
+
|
|
79
|
+
const spendableBalance = new BigNumber(100000);
|
|
80
|
+
|
|
81
|
+
account.spendableBalance = spendableBalance;
|
|
82
|
+
|
|
83
|
+
const result = await estimateMaxSpendable({
|
|
84
|
+
account,
|
|
85
|
+
parentAccount: account,
|
|
86
|
+
transaction,
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
const expected = new BigNumber(99998);
|
|
90
|
+
|
|
91
|
+
expect(result.isEqualTo(expected)).toBe(true);
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
});
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import BigNumber from "bignumber.js";
|
|
2
|
+
import { createFixtureAccount, createFixtureTransaction } from "../../bridge/bridge.fixture";
|
|
3
|
+
import * as getFeesForTransaction from "../../bridge/getFeesForTransaction";
|
|
4
|
+
import { AptosAPI } from "../../api";
|
|
5
|
+
|
|
6
|
+
let simulateTransaction = jest.fn();
|
|
7
|
+
|
|
8
|
+
jest.mock("../../api", () => {
|
|
9
|
+
return {
|
|
10
|
+
AptosAPI: function () {
|
|
11
|
+
return {
|
|
12
|
+
estimateGasPrice: jest.fn(() => ({ gas_estimate: 101 })),
|
|
13
|
+
generateTransaction: jest.fn(() => "tx"),
|
|
14
|
+
simulateTransaction,
|
|
15
|
+
getAccount: jest.fn(() => ({ sequence_number: "123" })),
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
jest.mock("@aptos-labs/ts-sdk", () => {
|
|
22
|
+
return {
|
|
23
|
+
Ed25519PublicKey: jest.fn(),
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
jest.mock("../../bridge/logic", () => {
|
|
28
|
+
return {
|
|
29
|
+
DEFAULT_GAS: 201,
|
|
30
|
+
DEFAULT_GAS_PRICE: 101,
|
|
31
|
+
ESTIMATE_GAS_MUL: 1,
|
|
32
|
+
normalizeTransactionOptions: jest.fn(),
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
describe("getFeesForTransaction Test", () => {
|
|
37
|
+
describe("when using getFee", () => {
|
|
38
|
+
describe("with vm_status as INSUFFICIENT_BALANCE", () => {
|
|
39
|
+
it("should return a fee estimation object", async () => {
|
|
40
|
+
simulateTransaction = jest.fn(() => [
|
|
41
|
+
{
|
|
42
|
+
success: false,
|
|
43
|
+
vm_status: ["INSUFFICIENT_BALANCE"],
|
|
44
|
+
expiration_timestamp_secs: 5,
|
|
45
|
+
gas_used: "202",
|
|
46
|
+
gas_unit_price: "102",
|
|
47
|
+
},
|
|
48
|
+
]);
|
|
49
|
+
|
|
50
|
+
const account = createFixtureAccount();
|
|
51
|
+
const transaction = createFixtureTransaction();
|
|
52
|
+
const aptosClient = new AptosAPI(account.currency.id);
|
|
53
|
+
|
|
54
|
+
transaction.amount = new BigNumber(1);
|
|
55
|
+
account.xpub = "xpub";
|
|
56
|
+
account.spendableBalance = new BigNumber(100000000);
|
|
57
|
+
|
|
58
|
+
const result = await getFeesForTransaction.getFee(account, transaction, aptosClient);
|
|
59
|
+
|
|
60
|
+
const expected = {
|
|
61
|
+
fees: new BigNumber(20604),
|
|
62
|
+
estimate: {
|
|
63
|
+
maxGasAmount: "202",
|
|
64
|
+
gasUnitPrice: "102",
|
|
65
|
+
},
|
|
66
|
+
errors: {},
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
expect(result).toEqual(expected);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
describe("with vm_status as DUMMY_STATE", () => {
|
|
74
|
+
it("should return a fee estimation object", () => {
|
|
75
|
+
simulateTransaction = jest.fn(() => [
|
|
76
|
+
{
|
|
77
|
+
success: false,
|
|
78
|
+
vm_status: ["DUMMY_STATE"],
|
|
79
|
+
expiration_timestamp_secs: 5,
|
|
80
|
+
gas_used: "9",
|
|
81
|
+
gas_unit_price: "100",
|
|
82
|
+
},
|
|
83
|
+
]);
|
|
84
|
+
|
|
85
|
+
const account = createFixtureAccount();
|
|
86
|
+
const transaction = createFixtureTransaction();
|
|
87
|
+
const aptosClient = new AptosAPI(account.currency.id);
|
|
88
|
+
|
|
89
|
+
transaction.amount = new BigNumber(1);
|
|
90
|
+
account.xpub = "xpub";
|
|
91
|
+
account.spendableBalance = new BigNumber(100000000);
|
|
92
|
+
|
|
93
|
+
expect(async () => {
|
|
94
|
+
await getFeesForTransaction.getFee(account, transaction, aptosClient);
|
|
95
|
+
}).rejects.toThrow("Simulation failed with following error: DUMMY_STATE");
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
describe("when using getEstimatedGas", () => {
|
|
101
|
+
describe("when key not in cache", () => {
|
|
102
|
+
it("should return fee", async () => {
|
|
103
|
+
simulateTransaction = jest.fn(() => [
|
|
104
|
+
{
|
|
105
|
+
success: true,
|
|
106
|
+
vm_status: [],
|
|
107
|
+
expiration_timestamp_secs: 5,
|
|
108
|
+
gas_used: "9",
|
|
109
|
+
gas_unit_price: "102",
|
|
110
|
+
},
|
|
111
|
+
]);
|
|
112
|
+
|
|
113
|
+
const account = createFixtureAccount();
|
|
114
|
+
const transaction = createFixtureTransaction();
|
|
115
|
+
const aptosClient = new AptosAPI(account.currency.id);
|
|
116
|
+
|
|
117
|
+
transaction.amount = new BigNumber(1);
|
|
118
|
+
account.xpub = "xpub";
|
|
119
|
+
account.spendableBalance = new BigNumber(100000000);
|
|
120
|
+
|
|
121
|
+
const result = await getFeesForTransaction.getEstimatedGas(
|
|
122
|
+
account,
|
|
123
|
+
transaction,
|
|
124
|
+
aptosClient,
|
|
125
|
+
);
|
|
126
|
+
|
|
127
|
+
const expected = {
|
|
128
|
+
errors: {},
|
|
129
|
+
estimate: {
|
|
130
|
+
gasUnitPrice: "102",
|
|
131
|
+
maxGasAmount: "9",
|
|
132
|
+
},
|
|
133
|
+
fees: new BigNumber("918"),
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
expect(result).toEqual(expected);
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
describe("when key is in cache", () => {
|
|
141
|
+
beforeEach(() => {
|
|
142
|
+
jest.clearAllMocks();
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
it("should return cached fee", async () => {
|
|
146
|
+
simulateTransaction = jest.fn(() => [
|
|
147
|
+
{
|
|
148
|
+
success: true,
|
|
149
|
+
vm_status: [],
|
|
150
|
+
expiration_timestamp_secs: 5,
|
|
151
|
+
gas_used: "202",
|
|
152
|
+
gas_unit_price: "102",
|
|
153
|
+
},
|
|
154
|
+
]);
|
|
155
|
+
const account = createFixtureAccount();
|
|
156
|
+
account.xpub = "xpub";
|
|
157
|
+
const transaction = createFixtureTransaction();
|
|
158
|
+
const aptosClient = new AptosAPI(account.currency.id);
|
|
159
|
+
|
|
160
|
+
transaction.amount = new BigNumber(10);
|
|
161
|
+
|
|
162
|
+
const result1 = await getFeesForTransaction.getEstimatedGas(
|
|
163
|
+
account,
|
|
164
|
+
transaction,
|
|
165
|
+
aptosClient,
|
|
166
|
+
);
|
|
167
|
+
const result2 = await getFeesForTransaction.getEstimatedGas(
|
|
168
|
+
account,
|
|
169
|
+
transaction,
|
|
170
|
+
aptosClient,
|
|
171
|
+
);
|
|
172
|
+
|
|
173
|
+
expect(simulateTransaction.mock.calls).toHaveLength(1);
|
|
174
|
+
|
|
175
|
+
const expected = {
|
|
176
|
+
errors: {},
|
|
177
|
+
estimate: {
|
|
178
|
+
gasUnitPrice: "102",
|
|
179
|
+
maxGasAmount: "202",
|
|
180
|
+
},
|
|
181
|
+
fees: new BigNumber("20604"),
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
expect(result1).toEqual(expected);
|
|
185
|
+
expect(result2).toEqual(expected);
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
});
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import BigNumber from "bignumber.js";
|
|
2
|
+
import { createFixtureAccount, createFixtureTransaction } from "../../bridge/bridge.fixture";
|
|
3
|
+
import getTransactionStatus from "../../bridge/getTransactionStatus";
|
|
4
|
+
import {
|
|
5
|
+
AmountRequired,
|
|
6
|
+
FeeNotLoaded,
|
|
7
|
+
InvalidAddress,
|
|
8
|
+
InvalidAddressBecauseDestinationIsAlsoSource,
|
|
9
|
+
NotEnoughBalance,
|
|
10
|
+
RecipientRequired,
|
|
11
|
+
} from "@ledgerhq/errors";
|
|
12
|
+
|
|
13
|
+
describe("getTransactionStatus Test", () => {
|
|
14
|
+
it("should return errors for AmountRequired", async () => {
|
|
15
|
+
const account = createFixtureAccount();
|
|
16
|
+
const transaction = createFixtureTransaction();
|
|
17
|
+
|
|
18
|
+
transaction.fees = new BigNumber(2);
|
|
19
|
+
transaction.recipient = "0x" + "0".repeat(64);
|
|
20
|
+
|
|
21
|
+
const result = await getTransactionStatus(account, transaction);
|
|
22
|
+
|
|
23
|
+
const expected = {
|
|
24
|
+
errors: {
|
|
25
|
+
amount: new AmountRequired(),
|
|
26
|
+
},
|
|
27
|
+
warnings: {},
|
|
28
|
+
estimatedFees: new BigNumber(2),
|
|
29
|
+
amount: new BigNumber(0),
|
|
30
|
+
totalSpent: new BigNumber(2),
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
expect(result).toEqual(expected);
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
it("should return errors for FeeNotLoaded", async () => {
|
|
37
|
+
const account = createFixtureAccount();
|
|
38
|
+
account.balance = new BigNumber(10);
|
|
39
|
+
|
|
40
|
+
const transaction = createFixtureTransaction();
|
|
41
|
+
transaction.fees = null;
|
|
42
|
+
transaction.amount = new BigNumber(2);
|
|
43
|
+
transaction.recipient = "0x" + "0".repeat(64);
|
|
44
|
+
|
|
45
|
+
const result = await getTransactionStatus(account, transaction);
|
|
46
|
+
|
|
47
|
+
const expected = {
|
|
48
|
+
errors: {
|
|
49
|
+
fees: new FeeNotLoaded(),
|
|
50
|
+
},
|
|
51
|
+
warnings: {},
|
|
52
|
+
estimatedFees: new BigNumber(0),
|
|
53
|
+
amount: new BigNumber(2),
|
|
54
|
+
totalSpent: new BigNumber(2),
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
expect(result).toEqual(expected);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it("should return errors for NotEnoughBalance", async () => {
|
|
61
|
+
const account = createFixtureAccount();
|
|
62
|
+
account.balance = new BigNumber(1);
|
|
63
|
+
|
|
64
|
+
const transaction = createFixtureTransaction();
|
|
65
|
+
transaction.recipient = "0x" + "0".repeat(64);
|
|
66
|
+
transaction.amount = new BigNumber(2);
|
|
67
|
+
transaction.fees = new BigNumber(2);
|
|
68
|
+
|
|
69
|
+
const result = await getTransactionStatus(account, transaction);
|
|
70
|
+
|
|
71
|
+
const expected = {
|
|
72
|
+
errors: {
|
|
73
|
+
amount: new NotEnoughBalance(),
|
|
74
|
+
},
|
|
75
|
+
warnings: {},
|
|
76
|
+
estimatedFees: new BigNumber(2),
|
|
77
|
+
amount: new BigNumber(2),
|
|
78
|
+
totalSpent: new BigNumber(4),
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
expect(result).toEqual(expected);
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
it("should return errors for RecipientRequired", async () => {
|
|
85
|
+
const account = createFixtureAccount();
|
|
86
|
+
account.balance = new BigNumber(10);
|
|
87
|
+
|
|
88
|
+
const transaction = createFixtureTransaction();
|
|
89
|
+
transaction.amount = new BigNumber(2);
|
|
90
|
+
transaction.fees = new BigNumber(2);
|
|
91
|
+
|
|
92
|
+
const result = await getTransactionStatus(account, transaction);
|
|
93
|
+
|
|
94
|
+
const expected = {
|
|
95
|
+
errors: {
|
|
96
|
+
recipient: new RecipientRequired(),
|
|
97
|
+
},
|
|
98
|
+
warnings: {},
|
|
99
|
+
estimatedFees: new BigNumber(2),
|
|
100
|
+
amount: new BigNumber(2),
|
|
101
|
+
totalSpent: new BigNumber(4),
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
expect(result).toEqual(expected);
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
it("should return errors for InvalidAddress", async () => {
|
|
108
|
+
const account = createFixtureAccount();
|
|
109
|
+
const transaction = createFixtureTransaction();
|
|
110
|
+
|
|
111
|
+
transaction.amount = new BigNumber(2);
|
|
112
|
+
transaction.fees = new BigNumber(2);
|
|
113
|
+
transaction.recipient = "0x";
|
|
114
|
+
|
|
115
|
+
const result = await getTransactionStatus(account, transaction);
|
|
116
|
+
|
|
117
|
+
const expected = {
|
|
118
|
+
errors: {
|
|
119
|
+
recipient: new InvalidAddress(),
|
|
120
|
+
amount: new NotEnoughBalance(),
|
|
121
|
+
},
|
|
122
|
+
warnings: {},
|
|
123
|
+
estimatedFees: new BigNumber(2),
|
|
124
|
+
amount: new BigNumber(2),
|
|
125
|
+
totalSpent: new BigNumber(4),
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
expect(result).toEqual(expected);
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
it("should return errors for InvalidAddressBecauseDestinationIsAlsoSource", async () => {
|
|
132
|
+
const account = createFixtureAccount();
|
|
133
|
+
const transaction = createFixtureTransaction();
|
|
134
|
+
|
|
135
|
+
transaction.amount = new BigNumber(2);
|
|
136
|
+
transaction.fees = new BigNumber(2);
|
|
137
|
+
transaction.recipient = "0x" + "0".repeat(64);
|
|
138
|
+
account.freshAddress = transaction.recipient;
|
|
139
|
+
|
|
140
|
+
const result = await getTransactionStatus(account, transaction);
|
|
141
|
+
|
|
142
|
+
const expected = {
|
|
143
|
+
errors: {
|
|
144
|
+
recipient: new InvalidAddressBecauseDestinationIsAlsoSource(),
|
|
145
|
+
amount: new NotEnoughBalance(),
|
|
146
|
+
},
|
|
147
|
+
warnings: {},
|
|
148
|
+
estimatedFees: new BigNumber(2),
|
|
149
|
+
amount: new BigNumber(2),
|
|
150
|
+
totalSpent: new BigNumber(4),
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
expect(result).toEqual(expected);
|
|
154
|
+
});
|
|
155
|
+
});
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import BigNumber from "bignumber.js";
|
|
2
|
+
import { createBridges } from "../../bridge";
|
|
3
|
+
import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
|
|
4
|
+
|
|
5
|
+
const signer = jest.fn();
|
|
6
|
+
const bridge = createBridges(signer);
|
|
7
|
+
|
|
8
|
+
describe("Aptos bridge interface ", () => {
|
|
9
|
+
describe("currencyBridge", () => {
|
|
10
|
+
it("should have a preload method that returns a promise", async () => {
|
|
11
|
+
const cryptoCurrency = getCryptoCurrencyById("aptos");
|
|
12
|
+
const result = bridge.currencyBridge.preload(cryptoCurrency);
|
|
13
|
+
expect(result).toBeInstanceOf(Promise);
|
|
14
|
+
await expect(result).resolves.toEqual({});
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it("should have a hydrate method that is a function", () => {
|
|
18
|
+
expect(bridge.currencyBridge.hydrate).toBeDefined();
|
|
19
|
+
expect(typeof bridge.currencyBridge.hydrate).toBe("function");
|
|
20
|
+
const cryptoCurrency = getCryptoCurrencyById("aptos");
|
|
21
|
+
const result = bridge.currencyBridge.hydrate({}, cryptoCurrency);
|
|
22
|
+
expect(result).toBeUndefined();
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it("should have a scanAccounts method that is a function", () => {
|
|
26
|
+
expect(bridge.currencyBridge.scanAccounts).toBeDefined();
|
|
27
|
+
expect(typeof bridge.currencyBridge.scanAccounts).toBe("function");
|
|
28
|
+
const cryptoCurrency = getCryptoCurrencyById("aptos");
|
|
29
|
+
const deviceId = "test-device";
|
|
30
|
+
const result = bridge.currencyBridge.scanAccounts({
|
|
31
|
+
currency: cryptoCurrency,
|
|
32
|
+
deviceId,
|
|
33
|
+
syncConfig: { paginationConfig: {} },
|
|
34
|
+
});
|
|
35
|
+
expect(result).toBeDefined();
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
describe("accountBridge", () => {
|
|
40
|
+
it("should contain all methods", () => {
|
|
41
|
+
expect(bridge.accountBridge.estimateMaxSpendable).toBeDefined();
|
|
42
|
+
expect(typeof bridge.accountBridge.estimateMaxSpendable).toBe("function");
|
|
43
|
+
expect(bridge.accountBridge.createTransaction).toBeDefined();
|
|
44
|
+
expect(typeof bridge.accountBridge.createTransaction).toBe("function");
|
|
45
|
+
expect(bridge.accountBridge.updateTransaction).toBeDefined();
|
|
46
|
+
expect(typeof bridge.accountBridge.updateTransaction).toBe("function");
|
|
47
|
+
expect(bridge.accountBridge.getTransactionStatus).toBeDefined();
|
|
48
|
+
expect(typeof bridge.accountBridge.getTransactionStatus).toBe("function");
|
|
49
|
+
expect(bridge.accountBridge.prepareTransaction).toBeDefined();
|
|
50
|
+
expect(typeof bridge.accountBridge.prepareTransaction).toBe("function");
|
|
51
|
+
expect(bridge.accountBridge.sync).toBeDefined();
|
|
52
|
+
expect(typeof bridge.accountBridge.sync).toBe("function");
|
|
53
|
+
expect(bridge.accountBridge.receive).toBeDefined();
|
|
54
|
+
expect(typeof bridge.accountBridge.receive).toBe("function");
|
|
55
|
+
expect(bridge.accountBridge.signOperation).toBeDefined();
|
|
56
|
+
expect(typeof bridge.accountBridge.signOperation).toBe("function");
|
|
57
|
+
expect(bridge.accountBridge.broadcast).toBeDefined();
|
|
58
|
+
expect(typeof bridge.accountBridge.broadcast).toBe("function");
|
|
59
|
+
expect(bridge.currencyBridge.hydrate).toBeDefined();
|
|
60
|
+
expect(typeof bridge.currencyBridge.hydrate).toBe("function");
|
|
61
|
+
expect(bridge.currencyBridge.preload).toBeDefined();
|
|
62
|
+
expect(typeof bridge.currencyBridge.preload).toBe("function");
|
|
63
|
+
expect(bridge.currencyBridge.scanAccounts).toBeDefined();
|
|
64
|
+
expect(typeof bridge.currencyBridge.scanAccounts).toBe("function");
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
describe("updateTransaction", () => {
|
|
69
|
+
it("should update the transaction with the given patch", () => {
|
|
70
|
+
const initialTransaction = {
|
|
71
|
+
amount: new BigNumber(100),
|
|
72
|
+
recipient: "address1",
|
|
73
|
+
mode: "send",
|
|
74
|
+
family: "aptos" as const,
|
|
75
|
+
options: { maxGasAmount: "", gasUnitPrice: "" },
|
|
76
|
+
};
|
|
77
|
+
const patch = { amount: new BigNumber(200) };
|
|
78
|
+
const updatedTransaction = bridge.accountBridge.updateTransaction(initialTransaction, patch);
|
|
79
|
+
expect(updatedTransaction).toEqual({
|
|
80
|
+
amount: new BigNumber(200),
|
|
81
|
+
recipient: "address1",
|
|
82
|
+
mode: "send",
|
|
83
|
+
family: "aptos" as const,
|
|
84
|
+
options: { maxGasAmount: "", gasUnitPrice: "" },
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
it("should not modify the original transaction object", () => {
|
|
89
|
+
const initialTransaction = {
|
|
90
|
+
amount: new BigNumber(100),
|
|
91
|
+
recipient: "address1",
|
|
92
|
+
mode: "send",
|
|
93
|
+
family: "aptos" as const,
|
|
94
|
+
options: { maxGasAmount: "", gasUnitPrice: "" },
|
|
95
|
+
};
|
|
96
|
+
const patch = { amount: new BigNumber(200) };
|
|
97
|
+
const updatedTransaction = bridge.accountBridge.updateTransaction(initialTransaction, patch);
|
|
98
|
+
expect(initialTransaction).toEqual({
|
|
99
|
+
amount: new BigNumber(100),
|
|
100
|
+
recipient: "address1",
|
|
101
|
+
mode: "send",
|
|
102
|
+
family: "aptos" as const,
|
|
103
|
+
options: { maxGasAmount: "", gasUnitPrice: "" },
|
|
104
|
+
});
|
|
105
|
+
expect(updatedTransaction).not.toBe(initialTransaction);
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
});
|