@ledgerhq/coin-evm 0.3.0 → 0.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/CHANGELOG.md +31 -0
- package/jest.config.js +4 -0
- package/lib/__tests__/fixtures/common.fixtures.d.ts +9 -0
- package/lib/__tests__/fixtures/common.fixtures.d.ts.map +1 -0
- package/lib/{testUtils.js → __tests__/fixtures/common.fixtures.js} +40 -9
- package/lib/__tests__/fixtures/common.fixtures.js.map +1 -0
- package/lib/__tests__/fixtures/etherscan.fixtures.d.ts +86 -0
- package/lib/__tests__/fixtures/etherscan.fixtures.d.ts.map +1 -0
- package/lib/__tests__/fixtures/etherscan.fixtures.js +267 -0
- package/lib/__tests__/fixtures/etherscan.fixtures.js.map +1 -0
- package/lib/__tests__/fixtures/prepareTransaction.fixtures.d.ts +10 -0
- package/lib/__tests__/fixtures/prepareTransaction.fixtures.d.ts.map +1 -0
- package/lib/__tests__/fixtures/prepareTransaction.fixtures.js +69 -0
- package/lib/__tests__/fixtures/prepareTransaction.fixtures.js.map +1 -0
- package/lib/__tests__/fixtures/synchronization.fixtures.d.ts +44 -0
- package/lib/__tests__/fixtures/synchronization.fixtures.d.ts.map +1 -0
- package/lib/__tests__/fixtures/synchronization.fixtures.js +219 -0
- package/lib/__tests__/fixtures/synchronization.fixtures.js.map +1 -0
- package/lib/__tests__/fixtures/transaction.fixtures.d.ts +47 -0
- package/lib/__tests__/fixtures/transaction.fixtures.d.ts.map +1 -0
- package/lib/__tests__/fixtures/transaction.fixtures.js +182 -0
- package/lib/__tests__/fixtures/transaction.fixtures.js.map +1 -0
- package/lib/__tests__/integration/bridge.integration.test.d.ts +7 -0
- package/lib/__tests__/integration/bridge.integration.test.d.ts.map +1 -0
- package/lib/__tests__/integration/bridge.integration.test.js +74 -0
- package/lib/__tests__/integration/bridge.integration.test.js.map +1 -0
- package/lib/__tests__/unit/adapters.unit.test.d.ts.map +1 -0
- package/lib/__tests__/unit/adapters.unit.test.js +989 -0
- package/lib/__tests__/unit/adapters.unit.test.js.map +1 -0
- package/lib/__tests__/unit/api/explorer/etherscan.unit.test.d.ts +2 -0
- package/lib/__tests__/unit/api/explorer/etherscan.unit.test.d.ts.map +1 -0
- package/lib/__tests__/unit/api/explorer/etherscan.unit.test.js +430 -0
- package/lib/__tests__/unit/api/explorer/etherscan.unit.test.js.map +1 -0
- package/lib/__tests__/unit/api/explorer/index.unit.test.d.ts +2 -0
- package/lib/__tests__/unit/api/explorer/index.unit.test.d.ts.map +1 -0
- package/lib/__tests__/unit/api/explorer/index.unit.test.js +49 -0
- package/lib/__tests__/unit/api/explorer/index.unit.test.js.map +1 -0
- package/lib/__tests__/unit/api/gasTracker/index.unit.test.d.ts +2 -0
- package/lib/__tests__/unit/api/gasTracker/index.unit.test.d.ts.map +1 -0
- package/lib/__tests__/{gasTracker → unit/api/gasTracker}/index.unit.test.js +3 -3
- package/lib/__tests__/unit/api/gasTracker/index.unit.test.js.map +1 -0
- package/lib/__tests__/unit/api/gasTracker/ledger.unit.test.d.ts.map +1 -0
- package/lib/__tests__/{gasTracker → unit/api/gasTracker}/ledger.unit.test.js +2 -2
- package/lib/__tests__/unit/api/gasTracker/ledger.unit.test.js.map +1 -0
- package/lib/__tests__/unit/api/rpc/rpc.unit.test.d.ts.map +1 -0
- package/lib/__tests__/{rpc.unit.test.js → unit/api/rpc/rpc.unit.test.js} +14 -14
- package/lib/__tests__/unit/api/rpc/rpc.unit.test.js.map +1 -0
- package/lib/__tests__/unit/broadcast.unit.test.d.ts.map +1 -0
- package/lib/__tests__/unit/broadcast.unit.test.js +335 -0
- package/lib/__tests__/unit/broadcast.unit.test.js.map +1 -0
- package/lib/__tests__/unit/buildOptimisticOperation.unit.test.d.ts.map +1 -0
- package/lib/__tests__/{buildOptimisticOperation.unit.test.js → unit/buildOptimisticOperation.unit.test.js} +132 -6
- package/lib/__tests__/unit/buildOptimisticOperation.unit.test.js.map +1 -0
- package/lib/__tests__/unit/createTransaction.unit.test.d.ts.map +1 -0
- package/lib/__tests__/{createTransaction.unit.test.js → unit/createTransaction.unit.test.js} +5 -5
- package/lib/__tests__/unit/createTransaction.unit.test.js.map +1 -0
- package/lib/__tests__/unit/deviceTransactionConfig.unit.test.d.ts.map +1 -0
- package/lib/__tests__/{deviceTransactionConfig.unit.test.js → unit/deviceTransactionConfig.unit.test.js} +123 -6
- package/lib/__tests__/unit/deviceTransactionConfig.unit.test.js.map +1 -0
- package/lib/__tests__/unit/estimateMaxSpendable.unit.test.d.ts.map +1 -0
- package/lib/__tests__/{estimateMaxSpendable.unit.test.js → unit/estimateMaxSpendable.unit.test.js} +6 -6
- package/lib/__tests__/unit/estimateMaxSpendable.unit.test.js.map +1 -0
- package/lib/__tests__/unit/getTransactionStatus.unit.test.d.ts.map +1 -0
- package/lib/__tests__/{getTransactionStatus.unit.test.js → unit/getTransactionStatus.unit.test.js} +76 -6
- package/lib/__tests__/unit/getTransactionStatus.unit.test.js.map +1 -0
- package/lib/__tests__/unit/hw-getAddress.unit.test.d.ts.map +1 -0
- package/lib/__tests__/{hw-getAddress.unit.test.js → unit/hw-getAddress.unit.test.js} +5 -1
- package/lib/__tests__/unit/hw-getAddress.unit.test.js.map +1 -0
- package/lib/__tests__/unit/hw-signMessage.unit.test.d.ts +2 -0
- package/lib/__tests__/unit/hw-signMessage.unit.test.d.ts.map +1 -0
- package/lib/__tests__/unit/hw-signMessage.unit.test.js +188 -0
- package/lib/__tests__/unit/hw-signMessage.unit.test.js.map +1 -0
- package/lib/__tests__/unit/logic.unit.test.d.ts.map +1 -0
- package/lib/__tests__/{logic.unit.test.js → unit/logic.unit.test.js} +111 -20
- package/lib/__tests__/unit/logic.unit.test.js.map +1 -0
- package/lib/__tests__/unit/nftResolvers.unit.test.d.ts +2 -0
- package/lib/__tests__/unit/nftResolvers.unit.test.d.ts.map +1 -0
- package/lib/__tests__/unit/nftResolvers.unit.test.js +163 -0
- package/lib/__tests__/unit/nftResolvers.unit.test.js.map +1 -0
- package/lib/__tests__/unit/preload.unit.test.d.ts.map +1 -0
- package/lib/__tests__/{preload.unit.test.js → unit/preload.unit.test.js} +3 -3
- package/lib/__tests__/unit/preload.unit.test.js.map +1 -0
- package/lib/__tests__/unit/prepareTransaction.unit.test.d.ts.map +1 -0
- package/lib/__tests__/unit/prepareTransaction.unit.test.js +300 -0
- package/lib/__tests__/unit/prepareTransaction.unit.test.js.map +1 -0
- package/lib/__tests__/unit/signOperation.unit.test.d.ts.map +1 -0
- package/lib/__tests__/{signOperation.unit.test.js → unit/signOperation.unit.test.js} +14 -17
- package/lib/__tests__/unit/signOperation.unit.test.js.map +1 -0
- package/lib/__tests__/unit/synchronization.unit.test.d.ts.map +1 -0
- package/lib/__tests__/{synchronization.unit.test.js → unit/synchronization.unit.test.js} +139 -231
- package/lib/__tests__/unit/synchronization.unit.test.js.map +1 -0
- package/lib/__tests__/unit/transaction.unit.test.d.ts.map +1 -0
- package/lib/__tests__/{transaction.unit.test.js → unit/transaction.unit.test.js} +48 -80
- package/lib/__tests__/unit/transaction.unit.test.js.map +1 -0
- package/lib/abis/erc1155.abi.json +314 -0
- package/lib/abis/erc721.abi.json +346 -0
- package/lib/adapters.d.ts +18 -7
- package/lib/adapters.d.ts.map +1 -1
- package/lib/adapters.js +131 -46
- package/lib/adapters.js.map +1 -1
- package/lib/api/explorer/etherscan.d.ts +39 -11
- package/lib/api/explorer/etherscan.d.ts.map +1 -1
- package/lib/api/explorer/etherscan.js +151 -9
- package/lib/api/explorer/etherscan.js.map +1 -1
- package/lib/api/explorer/index.d.ts +7 -16
- package/lib/api/explorer/index.d.ts.map +1 -1
- package/lib/api/explorer/index.js.map +1 -1
- package/lib/api/nft/index.d.ts +24 -0
- package/lib/api/nft/index.d.ts.map +1 -0
- package/lib/api/nft/index.js +54 -0
- package/lib/api/nft/index.js.map +1 -0
- package/lib/api/rpc/index.native.d.ts.map +1 -1
- package/lib/api/rpc/index.native.js +1 -0
- package/lib/api/rpc/index.native.js.map +1 -1
- package/lib/api/rpc/rpc.common.d.ts +2 -2
- package/lib/api/rpc/rpc.common.d.ts.map +1 -1
- package/lib/api/rpc/rpc.common.js +3 -3
- package/lib/api/rpc/rpc.common.js.map +1 -1
- package/lib/bridge/js.d.ts +1 -1
- package/lib/bridge/js.d.ts.map +1 -1
- package/lib/bridge/js.js +10 -10
- package/lib/bridge/js.js.map +1 -1
- package/lib/broadcast.d.ts.map +1 -1
- package/lib/broadcast.js +9 -2
- package/lib/broadcast.js.map +1 -1
- package/lib/buildOptimisticOperation.d.ts +5 -1
- package/lib/buildOptimisticOperation.d.ts.map +1 -1
- package/lib/buildOptimisticOperation.js +46 -4
- package/lib/buildOptimisticOperation.js.map +1 -1
- package/lib/cli-transaction.d.ts.map +1 -1
- package/lib/cli-transaction.js +1 -0
- package/lib/cli-transaction.js.map +1 -1
- package/lib/datasets/ethereum1.d.ts.map +1 -1
- package/lib/datasets/ethereum1.js +3 -2
- package/lib/datasets/ethereum1.js.map +1 -1
- package/lib/deviceTransactionConfig.d.ts.map +1 -1
- package/lib/deviceTransactionConfig.js +50 -0
- package/lib/deviceTransactionConfig.js.map +1 -1
- package/lib/errors.d.ts +9 -0
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +7 -1
- package/lib/errors.js.map +1 -1
- package/lib/getTransactionStatus.d.ts +1 -0
- package/lib/getTransactionStatus.d.ts.map +1 -1
- package/lib/getTransactionStatus.js +25 -3
- package/lib/getTransactionStatus.js.map +1 -1
- package/lib/hw-signMessage.d.ts +15 -0
- package/lib/hw-signMessage.d.ts.map +1 -0
- package/lib/hw-signMessage.js +86 -0
- package/lib/hw-signMessage.js.map +1 -0
- package/lib/logic.d.ts +63 -1
- package/lib/logic.d.ts.map +1 -1
- package/lib/logic.js +98 -2
- package/lib/logic.js.map +1 -1
- package/lib/nftResolvers.d.ts +19 -0
- package/lib/nftResolvers.d.ts.map +1 -0
- package/lib/nftResolvers.js +58 -0
- package/lib/nftResolvers.js.map +1 -0
- package/lib/preload.d.ts.map +1 -1
- package/lib/preload.js +7 -3
- package/lib/preload.js.map +1 -1
- package/lib/prepareTransaction.d.ts +6 -1
- package/lib/prepareTransaction.d.ts.map +1 -1
- package/lib/prepareTransaction.js +69 -18
- package/lib/prepareTransaction.js.map +1 -1
- package/lib/signOperation.d.ts +1 -1
- package/lib/signOperation.d.ts.map +1 -1
- package/lib/signOperation.js +17 -6
- package/lib/signOperation.js.map +1 -1
- package/lib/signer.d.ts +24 -1
- package/lib/signer.d.ts.map +1 -1
- package/lib/specs.d.ts +3 -1
- package/lib/specs.d.ts.map +1 -1
- package/lib/specs.js +3 -3
- package/lib/specs.js.map +1 -1
- package/lib/speculos-deviceActions.d.ts.map +1 -1
- package/lib/speculos-deviceActions.js +2 -1
- package/lib/speculos-deviceActions.js.map +1 -1
- package/lib/synchronization.d.ts +7 -2
- package/lib/synchronization.d.ts.map +1 -1
- package/lib/synchronization.js +45 -45
- package/lib/synchronization.js.map +1 -1
- package/lib/transaction.d.ts +3 -4
- package/lib/transaction.d.ts.map +1 -1
- package/lib/transaction.js +58 -12
- package/lib/transaction.js.map +1 -1
- package/lib/types.d.ts +85 -10
- package/lib/types.d.ts.map +1 -1
- package/lib-es/__tests__/fixtures/common.fixtures.d.ts +9 -0
- package/lib-es/__tests__/fixtures/common.fixtures.d.ts.map +1 -0
- package/lib-es/{testUtils.js → __tests__/fixtures/common.fixtures.js} +36 -8
- package/lib-es/__tests__/fixtures/common.fixtures.js.map +1 -0
- package/lib-es/__tests__/fixtures/etherscan.fixtures.d.ts +86 -0
- package/lib-es/__tests__/fixtures/etherscan.fixtures.d.ts.map +1 -0
- package/lib-es/__tests__/fixtures/etherscan.fixtures.js +264 -0
- package/lib-es/__tests__/fixtures/etherscan.fixtures.js.map +1 -0
- package/lib-es/__tests__/fixtures/prepareTransaction.fixtures.d.ts +10 -0
- package/lib-es/__tests__/fixtures/prepareTransaction.fixtures.d.ts.map +1 -0
- package/lib-es/__tests__/fixtures/prepareTransaction.fixtures.js +62 -0
- package/lib-es/__tests__/fixtures/prepareTransaction.fixtures.js.map +1 -0
- package/lib-es/__tests__/fixtures/synchronization.fixtures.d.ts +44 -0
- package/lib-es/__tests__/fixtures/synchronization.fixtures.d.ts.map +1 -0
- package/lib-es/__tests__/fixtures/synchronization.fixtures.js +190 -0
- package/lib-es/__tests__/fixtures/synchronization.fixtures.js.map +1 -0
- package/lib-es/__tests__/fixtures/transaction.fixtures.d.ts +47 -0
- package/lib-es/__tests__/fixtures/transaction.fixtures.d.ts.map +1 -0
- package/lib-es/__tests__/fixtures/transaction.fixtures.js +176 -0
- package/lib-es/__tests__/fixtures/transaction.fixtures.js.map +1 -0
- package/lib-es/__tests__/integration/bridge.integration.test.d.ts +7 -0
- package/lib-es/__tests__/integration/bridge.integration.test.d.ts.map +1 -0
- package/lib-es/__tests__/integration/bridge.integration.test.js +71 -0
- package/lib-es/__tests__/integration/bridge.integration.test.js.map +1 -0
- package/lib-es/__tests__/unit/adapters.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/unit/adapters.unit.test.js +984 -0
- package/lib-es/__tests__/unit/adapters.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/api/explorer/etherscan.unit.test.d.ts +2 -0
- package/lib-es/__tests__/unit/api/explorer/etherscan.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/unit/api/explorer/etherscan.unit.test.js +402 -0
- package/lib-es/__tests__/unit/api/explorer/etherscan.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/api/explorer/index.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/unit/api/explorer/index.unit.test.js +44 -0
- package/lib-es/__tests__/unit/api/explorer/index.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/api/gasTracker/index.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/{gasTracker → unit/api/gasTracker}/index.unit.test.js +3 -3
- package/lib-es/__tests__/unit/api/gasTracker/index.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/api/gasTracker/ledger.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/{gasTracker → unit/api/gasTracker}/ledger.unit.test.js +2 -2
- package/lib-es/__tests__/unit/api/gasTracker/ledger.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/api/rpc/rpc.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/{rpc.unit.test.js → unit/api/rpc/rpc.unit.test.js} +13 -13
- package/lib-es/__tests__/unit/api/rpc/rpc.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/broadcast.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/unit/broadcast.unit.test.js +307 -0
- package/lib-es/__tests__/unit/broadcast.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/buildOptimisticOperation.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/{buildOptimisticOperation.unit.test.js → unit/buildOptimisticOperation.unit.test.js} +130 -4
- package/lib-es/__tests__/unit/buildOptimisticOperation.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/createTransaction.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/{createTransaction.unit.test.js → unit/createTransaction.unit.test.js} +3 -3
- package/lib-es/__tests__/unit/createTransaction.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/{deviceTransactionConfig.unit.test.js → unit/deviceTransactionConfig.unit.test.js} +121 -4
- package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/{estimateMaxSpendable.unit.test.js → unit/estimateMaxSpendable.unit.test.js} +4 -4
- package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/getTransactionStatus.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/{getTransactionStatus.unit.test.js → unit/getTransactionStatus.unit.test.js} +74 -4
- package/lib-es/__tests__/unit/getTransactionStatus.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/hw-getAddress.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/{hw-getAddress.unit.test.js → unit/hw-getAddress.unit.test.js} +5 -1
- package/lib-es/__tests__/unit/hw-getAddress.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/hw-signMessage.unit.test.d.ts +2 -0
- package/lib-es/__tests__/unit/hw-signMessage.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/unit/hw-signMessage.unit.test.js +186 -0
- package/lib-es/__tests__/unit/hw-signMessage.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/logic.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/{logic.unit.test.js → unit/logic.unit.test.js} +97 -6
- package/lib-es/__tests__/unit/logic.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/nftResolvers.unit.test.d.ts +2 -0
- package/lib-es/__tests__/unit/nftResolvers.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/unit/nftResolvers.unit.test.js +158 -0
- package/lib-es/__tests__/unit/nftResolvers.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/preload.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/{preload.unit.test.js → unit/preload.unit.test.js} +3 -3
- package/lib-es/__tests__/unit/preload.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/prepareTransaction.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/{prepareTransaction.unit.test.js → unit/prepareTransaction.unit.test.js} +134 -82
- package/lib-es/__tests__/unit/prepareTransaction.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/signOperation.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/{signOperation.unit.test.js → unit/signOperation.unit.test.js} +13 -16
- package/lib-es/__tests__/unit/signOperation.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/synchronization.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/{synchronization.unit.test.js → unit/synchronization.unit.test.js} +115 -207
- package/lib-es/__tests__/unit/synchronization.unit.test.js.map +1 -0
- package/lib-es/__tests__/unit/transaction.unit.test.d.ts.map +1 -0
- package/lib-es/__tests__/{transaction.unit.test.js → unit/transaction.unit.test.js} +40 -72
- package/lib-es/__tests__/unit/transaction.unit.test.js.map +1 -0
- package/lib-es/abis/erc1155.abi.json +314 -0
- package/lib-es/abis/erc721.abi.json +346 -0
- package/lib-es/adapters.d.ts +18 -7
- package/lib-es/adapters.d.ts.map +1 -1
- package/lib-es/adapters.js +127 -44
- package/lib-es/adapters.js.map +1 -1
- package/lib-es/api/explorer/etherscan.d.ts +39 -11
- package/lib-es/api/explorer/etherscan.d.ts.map +1 -1
- package/lib-es/api/explorer/etherscan.js +146 -10
- package/lib-es/api/explorer/etherscan.js.map +1 -1
- package/lib-es/api/explorer/index.d.ts +7 -16
- package/lib-es/api/explorer/index.d.ts.map +1 -1
- package/lib-es/api/explorer/index.js.map +1 -1
- package/lib-es/api/nft/index.d.ts +24 -0
- package/lib-es/api/nft/index.d.ts.map +1 -0
- package/lib-es/api/nft/index.js +46 -0
- package/lib-es/api/nft/index.js.map +1 -0
- package/lib-es/api/rpc/index.native.d.ts.map +1 -1
- package/lib-es/api/rpc/index.native.js +1 -0
- package/lib-es/api/rpc/index.native.js.map +1 -1
- package/lib-es/api/rpc/rpc.common.d.ts +2 -2
- package/lib-es/api/rpc/rpc.common.d.ts.map +1 -1
- package/lib-es/api/rpc/rpc.common.js +3 -3
- package/lib-es/api/rpc/rpc.common.js.map +1 -1
- package/lib-es/bridge/js.d.ts +1 -1
- package/lib-es/bridge/js.d.ts.map +1 -1
- package/lib-es/bridge/js.js +10 -10
- package/lib-es/bridge/js.js.map +1 -1
- package/lib-es/broadcast.d.ts.map +1 -1
- package/lib-es/broadcast.js +9 -2
- package/lib-es/broadcast.js.map +1 -1
- package/lib-es/buildOptimisticOperation.d.ts +5 -1
- package/lib-es/buildOptimisticOperation.d.ts.map +1 -1
- package/lib-es/buildOptimisticOperation.js +45 -4
- package/lib-es/buildOptimisticOperation.js.map +1 -1
- package/lib-es/cli-transaction.d.ts.map +1 -1
- package/lib-es/cli-transaction.js +1 -0
- package/lib-es/cli-transaction.js.map +1 -1
- package/lib-es/datasets/ethereum1.d.ts.map +1 -1
- package/lib-es/datasets/ethereum1.js +3 -2
- package/lib-es/datasets/ethereum1.js.map +1 -1
- package/lib-es/deviceTransactionConfig.d.ts.map +1 -1
- package/lib-es/deviceTransactionConfig.js +50 -0
- package/lib-es/deviceTransactionConfig.js.map +1 -1
- package/lib-es/errors.d.ts +9 -0
- package/lib-es/errors.d.ts.map +1 -1
- package/lib-es/errors.js +6 -0
- package/lib-es/errors.js.map +1 -1
- package/lib-es/getTransactionStatus.d.ts +1 -0
- package/lib-es/getTransactionStatus.d.ts.map +1 -1
- package/lib-es/getTransactionStatus.js +23 -2
- package/lib-es/getTransactionStatus.js.map +1 -1
- package/lib-es/hw-signMessage.d.ts +15 -0
- package/lib-es/hw-signMessage.d.ts.map +1 -0
- package/lib-es/hw-signMessage.js +81 -0
- package/lib-es/hw-signMessage.js.map +1 -0
- package/lib-es/logic.d.ts +63 -1
- package/lib-es/logic.d.ts.map +1 -1
- package/lib-es/logic.js +95 -1
- package/lib-es/logic.js.map +1 -1
- package/lib-es/nftResolvers.d.ts +19 -0
- package/lib-es/nftResolvers.d.ts.map +1 -0
- package/lib-es/nftResolvers.js +50 -0
- package/lib-es/nftResolvers.js.map +1 -0
- package/lib-es/preload.d.ts.map +1 -1
- package/lib-es/preload.js +7 -3
- package/lib-es/preload.js.map +1 -1
- package/lib-es/prepareTransaction.d.ts +6 -1
- package/lib-es/prepareTransaction.d.ts.map +1 -1
- package/lib-es/prepareTransaction.js +68 -18
- package/lib-es/prepareTransaction.js.map +1 -1
- package/lib-es/signOperation.d.ts +1 -1
- package/lib-es/signOperation.d.ts.map +1 -1
- package/lib-es/signOperation.js +17 -6
- package/lib-es/signOperation.js.map +1 -1
- package/lib-es/signer.d.ts +24 -1
- package/lib-es/signer.d.ts.map +1 -1
- package/lib-es/specs.d.ts +3 -1
- package/lib-es/specs.d.ts.map +1 -1
- package/lib-es/specs.js +3 -3
- package/lib-es/specs.js.map +1 -1
- package/lib-es/speculos-deviceActions.d.ts.map +1 -1
- package/lib-es/speculos-deviceActions.js +2 -1
- package/lib-es/speculos-deviceActions.js.map +1 -1
- package/lib-es/synchronization.d.ts +7 -2
- package/lib-es/synchronization.d.ts.map +1 -1
- package/lib-es/synchronization.js +46 -46
- package/lib-es/synchronization.js.map +1 -1
- package/lib-es/transaction.d.ts +3 -4
- package/lib-es/transaction.d.ts.map +1 -1
- package/lib-es/transaction.js +58 -12
- package/lib-es/transaction.js.map +1 -1
- package/lib-es/types.d.ts +85 -10
- package/lib-es/types.d.ts.map +1 -1
- package/package.json +13 -12
- package/src/{testUtils.ts → __tests__/fixtures/common.fixtures.ts} +78 -11
- package/src/__tests__/fixtures/etherscan.fixtures.ts +266 -0
- package/src/__tests__/fixtures/prepareTransaction.fixtures.ts +86 -0
- package/src/__tests__/fixtures/synchronization.fixtures.ts +229 -0
- package/src/__tests__/fixtures/transaction.fixtures.ts +229 -0
- package/src/__tests__/integration/bridge.integration.test.ts +74 -0
- package/src/__tests__/unit/adapters.unit.test.ts +1076 -0
- package/src/__tests__/unit/api/explorer/etherscan.unit.test.ts +563 -0
- package/src/__tests__/unit/api/explorer/index.unit.test.ts +36 -0
- package/src/__tests__/{gasTracker → unit/api/gasTracker}/index.unit.test.ts +3 -3
- package/src/__tests__/{gasTracker → unit/api/gasTracker}/ledger.unit.test.ts +3 -3
- package/src/__tests__/{rpc.unit.test.ts → unit/api/rpc/rpc.unit.test.ts} +17 -14
- package/src/__tests__/unit/broadcast.unit.test.ts +332 -0
- package/src/__tests__/{buildOptimisticOperation.unit.test.ts → unit/buildOptimisticOperation.unit.test.ts} +144 -5
- package/src/__tests__/{createTransaction.unit.test.ts → unit/createTransaction.unit.test.ts} +4 -4
- package/src/__tests__/{deviceTransactionConfig.unit.test.ts → unit/deviceTransactionConfig.unit.test.ts} +130 -5
- package/src/__tests__/{estimateMaxSpendable.unit.test.ts → unit/estimateMaxSpendable.unit.test.ts} +5 -5
- package/src/__tests__/{getTransactionStatus.unit.test.ts → unit/getTransactionStatus.unit.test.ts} +121 -5
- package/src/__tests__/{hw-getAddress.unit.test.ts → unit/hw-getAddress.unit.test.ts} +6 -2
- package/src/__tests__/unit/hw-signMessage.unit.test.ts +192 -0
- package/src/__tests__/{logic.unit.test.ts → unit/logic.unit.test.ts} +143 -8
- package/src/__tests__/unit/nftResolvers.unit.test.ts +179 -0
- package/src/__tests__/{preload.unit.test.ts → unit/preload.unit.test.ts} +4 -4
- package/src/__tests__/{prepareTransaction.unit.test.ts → unit/prepareTransaction.unit.test.ts} +284 -109
- package/src/__tests__/{signOperation.unit.test.ts → unit/signOperation.unit.test.ts} +18 -20
- package/src/__tests__/{synchronization.unit.test.ts → unit/synchronization.unit.test.ts} +202 -280
- package/src/__tests__/unit/transaction.unit.test.ts +198 -0
- package/src/abis/erc1155.abi.json +314 -0
- package/src/abis/erc20.abi.json +4 -12
- package/src/abis/erc721.abi.json +346 -0
- package/src/adapters.ts +177 -64
- package/src/api/explorer/etherscan.ts +265 -49
- package/src/api/explorer/index.ts +24 -10
- package/src/api/nft/index.ts +49 -0
- package/src/api/rpc/index.native.ts +2 -0
- package/src/api/rpc/rpc.common.ts +3 -3
- package/src/bridge/js.ts +13 -16
- package/src/broadcast.ts +29 -2
- package/src/buildOptimisticOperation.ts +71 -6
- package/src/cli-transaction.ts +2 -0
- package/src/datasets/ethereum1.ts +4 -2
- package/src/deviceTransactionConfig.ts +65 -0
- package/src/errors.ts +8 -0
- package/src/getTransactionStatus.ts +26 -0
- package/src/hw-signMessage.ts +92 -0
- package/src/logic.ts +118 -2
- package/src/nftResolvers.ts +71 -0
- package/src/preload.ts +9 -3
- package/src/prepareTransaction.ts +102 -24
- package/src/signOperation.ts +21 -8
- package/src/signer.ts +44 -1
- package/src/specs.ts +11 -6
- package/src/speculos-deviceActions.ts +3 -1
- package/src/synchronization.ts +73 -59
- package/src/transaction.ts +68 -15
- package/src/types.ts +108 -10
- package/.eslintrc.js +0 -22
- package/lib/__tests__/adapters.unit.test.d.ts.map +0 -1
- package/lib/__tests__/adapters.unit.test.js +0 -455
- package/lib/__tests__/adapters.unit.test.js.map +0 -1
- package/lib/__tests__/broadcast.unit.test.d.ts.map +0 -1
- package/lib/__tests__/broadcast.unit.test.js +0 -181
- package/lib/__tests__/broadcast.unit.test.js.map +0 -1
- package/lib/__tests__/buildOptimisticOperation.unit.test.d.ts.map +0 -1
- package/lib/__tests__/buildOptimisticOperation.unit.test.js.map +0 -1
- package/lib/__tests__/createTransaction.unit.test.d.ts.map +0 -1
- package/lib/__tests__/createTransaction.unit.test.js.map +0 -1
- package/lib/__tests__/deviceTransactionConfig.unit.test.d.ts.map +0 -1
- package/lib/__tests__/deviceTransactionConfig.unit.test.js.map +0 -1
- package/lib/__tests__/estimateMaxSpendable.unit.test.d.ts.map +0 -1
- package/lib/__tests__/estimateMaxSpendable.unit.test.js.map +0 -1
- package/lib/__tests__/gasTracker/index.unit.test.d.ts.map +0 -1
- package/lib/__tests__/gasTracker/index.unit.test.js.map +0 -1
- package/lib/__tests__/gasTracker/ledger.unit.test.d.ts.map +0 -1
- package/lib/__tests__/gasTracker/ledger.unit.test.js.map +0 -1
- package/lib/__tests__/getTransactionStatus.unit.test.d.ts.map +0 -1
- package/lib/__tests__/getTransactionStatus.unit.test.js.map +0 -1
- package/lib/__tests__/hw-getAddress.unit.test.d.ts.map +0 -1
- package/lib/__tests__/hw-getAddress.unit.test.js.map +0 -1
- package/lib/__tests__/logic.unit.test.d.ts.map +0 -1
- package/lib/__tests__/logic.unit.test.js.map +0 -1
- package/lib/__tests__/preload.unit.test.d.ts.map +0 -1
- package/lib/__tests__/preload.unit.test.js.map +0 -1
- package/lib/__tests__/prepareTransaction.unit.test.d.ts.map +0 -1
- package/lib/__tests__/prepareTransaction.unit.test.js +0 -248
- package/lib/__tests__/prepareTransaction.unit.test.js.map +0 -1
- package/lib/__tests__/rpc.unit.test.d.ts.map +0 -1
- package/lib/__tests__/rpc.unit.test.js.map +0 -1
- package/lib/__tests__/signOperation.unit.test.d.ts.map +0 -1
- package/lib/__tests__/signOperation.unit.test.js.map +0 -1
- package/lib/__tests__/synchronization.unit.test.d.ts.map +0 -1
- package/lib/__tests__/synchronization.unit.test.js.map +0 -1
- package/lib/__tests__/transaction.unit.test.d.ts.map +0 -1
- package/lib/__tests__/transaction.unit.test.js.map +0 -1
- package/lib/bridge.integration.test.d.ts +0 -14
- package/lib/bridge.integration.test.d.ts.map +0 -1
- package/lib/bridge.integration.test.js +0 -85
- package/lib/bridge.integration.test.js.map +0 -1
- package/lib/datasets/ethereum.scanAccounts.1.d.ts +0 -7
- package/lib/datasets/ethereum.scanAccounts.1.d.ts.map +0 -1
- package/lib/datasets/ethereum.scanAccounts.1.js +0 -51
- package/lib/datasets/ethereum.scanAccounts.1.js.map +0 -1
- package/lib/datasets/ethereum2.d.ts +0 -3
- package/lib/datasets/ethereum2.d.ts.map +0 -1
- package/lib/datasets/ethereum2.js +0 -22
- package/lib/datasets/ethereum2.js.map +0 -1
- package/lib/datasets/ethereum_classic.d.ts +0 -5
- package/lib/datasets/ethereum_classic.d.ts.map +0 -1
- package/lib/datasets/ethereum_classic.js +0 -69
- package/lib/datasets/ethereum_classic.js.map +0 -1
- package/lib/testUtils.d.ts +0 -6
- package/lib/testUtils.d.ts.map +0 -1
- package/lib/testUtils.js.map +0 -1
- package/lib-es/__tests__/adapters.unit.test.d.ts.map +0 -1
- package/lib-es/__tests__/adapters.unit.test.js +0 -450
- package/lib-es/__tests__/adapters.unit.test.js.map +0 -1
- package/lib-es/__tests__/broadcast.unit.test.d.ts.map +0 -1
- package/lib-es/__tests__/broadcast.unit.test.js +0 -153
- package/lib-es/__tests__/broadcast.unit.test.js.map +0 -1
- package/lib-es/__tests__/buildOptimisticOperation.unit.test.d.ts.map +0 -1
- package/lib-es/__tests__/buildOptimisticOperation.unit.test.js.map +0 -1
- package/lib-es/__tests__/createTransaction.unit.test.d.ts.map +0 -1
- package/lib-es/__tests__/createTransaction.unit.test.js.map +0 -1
- package/lib-es/__tests__/deviceTransactionConfig.unit.test.d.ts.map +0 -1
- package/lib-es/__tests__/deviceTransactionConfig.unit.test.js.map +0 -1
- package/lib-es/__tests__/estimateMaxSpendable.unit.test.d.ts.map +0 -1
- package/lib-es/__tests__/estimateMaxSpendable.unit.test.js.map +0 -1
- package/lib-es/__tests__/gasTracker/index.unit.test.d.ts.map +0 -1
- package/lib-es/__tests__/gasTracker/index.unit.test.js.map +0 -1
- package/lib-es/__tests__/gasTracker/ledger.unit.test.d.ts.map +0 -1
- package/lib-es/__tests__/gasTracker/ledger.unit.test.js.map +0 -1
- package/lib-es/__tests__/getTransactionStatus.unit.test.d.ts.map +0 -1
- package/lib-es/__tests__/getTransactionStatus.unit.test.js.map +0 -1
- package/lib-es/__tests__/hw-getAddress.unit.test.d.ts.map +0 -1
- package/lib-es/__tests__/hw-getAddress.unit.test.js.map +0 -1
- package/lib-es/__tests__/logic.unit.test.d.ts.map +0 -1
- package/lib-es/__tests__/logic.unit.test.js.map +0 -1
- package/lib-es/__tests__/preload.unit.test.d.ts.map +0 -1
- package/lib-es/__tests__/preload.unit.test.js.map +0 -1
- package/lib-es/__tests__/prepareTransaction.unit.test.d.ts.map +0 -1
- package/lib-es/__tests__/prepareTransaction.unit.test.js.map +0 -1
- package/lib-es/__tests__/rpc.unit.test.d.ts.map +0 -1
- package/lib-es/__tests__/rpc.unit.test.js.map +0 -1
- package/lib-es/__tests__/signOperation.unit.test.d.ts.map +0 -1
- package/lib-es/__tests__/signOperation.unit.test.js.map +0 -1
- package/lib-es/__tests__/synchronization.unit.test.d.ts.map +0 -1
- package/lib-es/__tests__/synchronization.unit.test.js.map +0 -1
- package/lib-es/__tests__/transaction.unit.test.d.ts.map +0 -1
- package/lib-es/__tests__/transaction.unit.test.js.map +0 -1
- package/lib-es/bridge.integration.test.d.ts +0 -14
- package/lib-es/bridge.integration.test.d.ts.map +0 -1
- package/lib-es/bridge.integration.test.js +0 -79
- package/lib-es/bridge.integration.test.js.map +0 -1
- package/lib-es/datasets/ethereum.scanAccounts.1.d.ts +0 -7
- package/lib-es/datasets/ethereum.scanAccounts.1.d.ts.map +0 -1
- package/lib-es/datasets/ethereum.scanAccounts.1.js +0 -49
- package/lib-es/datasets/ethereum.scanAccounts.1.js.map +0 -1
- package/lib-es/datasets/ethereum2.d.ts +0 -3
- package/lib-es/datasets/ethereum2.d.ts.map +0 -1
- package/lib-es/datasets/ethereum2.js +0 -19
- package/lib-es/datasets/ethereum2.js.map +0 -1
- package/lib-es/datasets/ethereum_classic.d.ts +0 -5
- package/lib-es/datasets/ethereum_classic.d.ts.map +0 -1
- package/lib-es/datasets/ethereum_classic.js +0 -67
- package/lib-es/datasets/ethereum_classic.js.map +0 -1
- package/lib-es/testUtils.d.ts +0 -6
- package/lib-es/testUtils.d.ts.map +0 -1
- package/lib-es/testUtils.js.map +0 -1
- package/src/__tests__/adapters.unit.test.ts +0 -497
- package/src/__tests__/broadcast.unit.test.ts +0 -163
- package/src/__tests__/transaction.unit.test.ts +0 -188
- package/src/bridge.integration.test.ts +0 -86
- package/src/datasets/ethereum.scanAccounts.1.ts +0 -48
- package/src/datasets/ethereum2.ts +0 -20
- package/src/datasets/ethereum_classic.ts +0 -68
- /package/lib/__tests__/{adapters.unit.test.d.ts → unit/adapters.unit.test.d.ts} +0 -0
- /package/lib/__tests__/{gasTracker → unit/api/gasTracker}/ledger.unit.test.d.ts +0 -0
- /package/lib/__tests__/{rpc.unit.test.d.ts → unit/api/rpc/rpc.unit.test.d.ts} +0 -0
- /package/lib/__tests__/{broadcast.unit.test.d.ts → unit/broadcast.unit.test.d.ts} +0 -0
- /package/lib/__tests__/{buildOptimisticOperation.unit.test.d.ts → unit/buildOptimisticOperation.unit.test.d.ts} +0 -0
- /package/lib/__tests__/{createTransaction.unit.test.d.ts → unit/createTransaction.unit.test.d.ts} +0 -0
- /package/lib/__tests__/{deviceTransactionConfig.unit.test.d.ts → unit/deviceTransactionConfig.unit.test.d.ts} +0 -0
- /package/lib/__tests__/{estimateMaxSpendable.unit.test.d.ts → unit/estimateMaxSpendable.unit.test.d.ts} +0 -0
- /package/lib/__tests__/{getTransactionStatus.unit.test.d.ts → unit/getTransactionStatus.unit.test.d.ts} +0 -0
- /package/lib/__tests__/{hw-getAddress.unit.test.d.ts → unit/hw-getAddress.unit.test.d.ts} +0 -0
- /package/lib/__tests__/{logic.unit.test.d.ts → unit/logic.unit.test.d.ts} +0 -0
- /package/lib/__tests__/{preload.unit.test.d.ts → unit/preload.unit.test.d.ts} +0 -0
- /package/lib/__tests__/{prepareTransaction.unit.test.d.ts → unit/prepareTransaction.unit.test.d.ts} +0 -0
- /package/lib/__tests__/{signOperation.unit.test.d.ts → unit/signOperation.unit.test.d.ts} +0 -0
- /package/lib/__tests__/{synchronization.unit.test.d.ts → unit/synchronization.unit.test.d.ts} +0 -0
- /package/lib/__tests__/{transaction.unit.test.d.ts → unit/transaction.unit.test.d.ts} +0 -0
- /package/lib-es/__tests__/{adapters.unit.test.d.ts → unit/adapters.unit.test.d.ts} +0 -0
- /package/lib-es/__tests__/{gasTracker → unit/api/explorer}/index.unit.test.d.ts +0 -0
- /package/{lib/__tests__ → lib-es/__tests__/unit/api}/gasTracker/index.unit.test.d.ts +0 -0
- /package/lib-es/__tests__/{gasTracker → unit/api/gasTracker}/ledger.unit.test.d.ts +0 -0
- /package/lib-es/__tests__/{rpc.unit.test.d.ts → unit/api/rpc/rpc.unit.test.d.ts} +0 -0
- /package/lib-es/__tests__/{broadcast.unit.test.d.ts → unit/broadcast.unit.test.d.ts} +0 -0
- /package/lib-es/__tests__/{buildOptimisticOperation.unit.test.d.ts → unit/buildOptimisticOperation.unit.test.d.ts} +0 -0
- /package/lib-es/__tests__/{createTransaction.unit.test.d.ts → unit/createTransaction.unit.test.d.ts} +0 -0
- /package/lib-es/__tests__/{deviceTransactionConfig.unit.test.d.ts → unit/deviceTransactionConfig.unit.test.d.ts} +0 -0
- /package/lib-es/__tests__/{estimateMaxSpendable.unit.test.d.ts → unit/estimateMaxSpendable.unit.test.d.ts} +0 -0
- /package/lib-es/__tests__/{getTransactionStatus.unit.test.d.ts → unit/getTransactionStatus.unit.test.d.ts} +0 -0
- /package/lib-es/__tests__/{hw-getAddress.unit.test.d.ts → unit/hw-getAddress.unit.test.d.ts} +0 -0
- /package/lib-es/__tests__/{logic.unit.test.d.ts → unit/logic.unit.test.d.ts} +0 -0
- /package/lib-es/__tests__/{preload.unit.test.d.ts → unit/preload.unit.test.d.ts} +0 -0
- /package/lib-es/__tests__/{prepareTransaction.unit.test.d.ts → unit/prepareTransaction.unit.test.d.ts} +0 -0
- /package/lib-es/__tests__/{signOperation.unit.test.d.ts → unit/signOperation.unit.test.d.ts} +0 -0
- /package/lib-es/__tests__/{synchronization.unit.test.d.ts → unit/synchronization.unit.test.d.ts} +0 -0
- /package/lib-es/__tests__/{transaction.unit.test.d.ts → unit/transaction.unit.test.d.ts} +0 -0
package/lib/broadcast.js
CHANGED
|
@@ -10,15 +10,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.broadcast = void 0;
|
|
13
|
+
const nftOperationId_1 = require("@ledgerhq/coin-framework/nft/nftOperationId");
|
|
14
|
+
const nftId_1 = require("@ledgerhq/coin-framework/nft/nftId");
|
|
13
15
|
const operation_1 = require("@ledgerhq/coin-framework/operation");
|
|
14
16
|
const rpc_1 = require("./api/rpc");
|
|
15
17
|
/**
|
|
16
18
|
* Broadcast a transaction and update the operation linked
|
|
17
19
|
*/
|
|
18
20
|
const broadcast = ({ account, signedOperation: { signature, operation }, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
-
var _a;
|
|
21
|
+
var _a, _b;
|
|
20
22
|
const txResponse = yield (0, rpc_1.broadcastTransaction)(account.currency, signature);
|
|
21
|
-
return Object.assign(Object.assign({}, operation), { id: (0, operation_1.encodeOperationId)(operation.accountId, txResponse.hash, operation.type), hash: txResponse.hash, blockNumber: txResponse.blockNumber, blockHeight: txResponse.blockNumber, blockHash: txResponse.blockHash, date: new Date(txResponse.timestamp ? txResponse.timestamp * 1000 : Date.now()), subOperations: ((_a = operation.subOperations) === null || _a === void 0 ? void 0 : _a.map(subOp => (Object.assign(Object.assign({}, subOp), { id: (0, operation_1.encodeOperationId)(subOp.accountId, txResponse.hash, subOp.type), hash: txResponse.hash, blockNumber: txResponse.blockNumber, blockHeight: txResponse.blockNumber, blockHash: txResponse.blockHash, date: new Date(txResponse.timestamp ? txResponse.timestamp * 1000 : Date.now()) })))) || []
|
|
23
|
+
return Object.assign(Object.assign({}, operation), { id: (0, operation_1.encodeOperationId)(operation.accountId, txResponse.hash, operation.type), hash: txResponse.hash, blockNumber: txResponse.blockNumber, blockHeight: txResponse.blockNumber, blockHash: txResponse.blockHash, date: new Date(txResponse.timestamp ? txResponse.timestamp * 1000 : Date.now()), subOperations: ((_a = operation.subOperations) === null || _a === void 0 ? void 0 : _a.map(subOp => (Object.assign(Object.assign({}, subOp), { id: (0, operation_1.encodeOperationId)(subOp.accountId, txResponse.hash, subOp.type), hash: txResponse.hash, blockNumber: txResponse.blockNumber, blockHeight: txResponse.blockNumber, blockHash: txResponse.blockHash, date: new Date(txResponse.timestamp ? txResponse.timestamp * 1000 : Date.now()) })))) || [], nftOperations: ((_b = operation.nftOperations) === null || _b === void 0 ? void 0 : _b.map(nftOp => {
|
|
24
|
+
const nftId = (0, nftId_1.encodeNftId)(nftOp.accountId, nftOp.contract || "", nftOp.tokenId || "", account.currency.id);
|
|
25
|
+
return Object.assign(Object.assign({}, nftOp), { id: nftOp.standard === "ERC721"
|
|
26
|
+
? (0, nftOperationId_1.encodeERC721OperationId)(nftId, txResponse.hash, nftOp.type, 0)
|
|
27
|
+
: (0, nftOperationId_1.encodeERC1155OperationId)(nftId, txResponse.hash, nftOp.type, 0), hash: txResponse.hash, blockNumber: txResponse.blockNumber, blockHeight: txResponse.blockNumber, blockHash: txResponse.blockHash, date: new Date(txResponse.timestamp ? txResponse.timestamp * 1000 : Date.now()) });
|
|
28
|
+
})) || [] });
|
|
22
29
|
});
|
|
23
30
|
exports.broadcast = broadcast;
|
|
24
31
|
exports.default = exports.broadcast;
|
package/lib/broadcast.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../src/broadcast.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAAuE;AAEvE,mCAAiD;
|
|
1
|
+
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../src/broadcast.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gFAGqD;AACrD,8DAAiE;AAEjE,kEAAuE;AAEvE,mCAAiD;AAEjD;;GAEG;AACI,MAAM,SAAS,GAA+C,CAAO,EAC1E,OAAO,EACP,eAAe,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,GAC1C,EAAE,EAAE;;IACH,MAAM,UAAU,GAAG,MAAM,IAAA,0BAAoB,EAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE3E,OAAO,gCACF,SAAS,KACZ,EAAE,EAAE,IAAA,6BAAiB,EAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAC3E,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,SAAS,EAAE,UAAU,CAAC,SAAS,EAC/B,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAC/E,aAAa,EACX,CAAA,MAAA,SAAS,CAAC,aAAa,0CAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,iCACjC,KAAK,KACR,EAAE,EAAE,IAAA,6BAAiB,EAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EACnE,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,SAAS,EAAE,UAAU,CAAC,SAAS,EAC/B,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAC/E,CAAC,KAAI,EAAE,EACX,aAAa,EACX,CAAA,MAAA,SAAS,CAAC,aAAa,0CAAE,GAAG,CAAC,KAAK,CAAC,EAAE;YACnC,MAAM,KAAK,GAAG,IAAA,mBAAW,EACvB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,QAAQ,IAAI,EAAE,EACpB,KAAK,CAAC,OAAO,IAAI,EAAE,EACnB,OAAO,CAAC,QAAQ,CAAC,EAAE,CACpB,CAAC;YAEF,uCACK,KAAK,KACR,EAAE,EACA,KAAK,CAAC,QAAQ,KAAK,QAAQ;oBACzB,CAAC,CAAC,IAAA,wCAAuB,EAAC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;oBAChE,CAAC,CAAC,IAAA,yCAAwB,EAAC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EACrE,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,SAAS,EAAE,UAAU,CAAC,SAAS,EAC/B,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAC/E;QACJ,CAAC,CAAC,KAAI,EAAE,GACE,CAAC;AACjB,CAAC,CAAA,CAAC;AA/CW,QAAA,SAAS,aA+CpB;AAEF,kBAAe,iBAAS,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Account, Operation, OperationType, TokenAccount } from "@ledgerhq/types-live";
|
|
2
|
-
import { Transaction as EvmTransaction } from "./types";
|
|
2
|
+
import { EvmNftTransaction, Transaction as EvmTransaction } from "./types";
|
|
3
3
|
/**
|
|
4
4
|
* Build an optimistic operation for the coin of the integration (e.g. Ether for Ethereum)
|
|
5
5
|
*/
|
|
@@ -8,6 +8,10 @@ export declare const buildOptimisticCoinOperation: (account: Account, transactio
|
|
|
8
8
|
* Build an optimistic operation for an ERC20 transaction
|
|
9
9
|
*/
|
|
10
10
|
export declare const buildOptimisticTokenOperation: (account: Account, tokenAccount: TokenAccount, transaction: EvmTransaction) => Operation;
|
|
11
|
+
/**
|
|
12
|
+
* Build an optimistic operation for an ERC721 or ERC1155 transaction
|
|
13
|
+
*/
|
|
14
|
+
export declare const buildOptimisticNftOperation: (account: Account, transaction: EvmNftTransaction & EvmTransaction) => Operation;
|
|
11
15
|
/**
|
|
12
16
|
* Create a temporary operation to use until it's confirmed by the blockchain
|
|
13
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildOptimisticOperation.d.ts","sourceRoot":"","sources":["../src/buildOptimisticOperation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"buildOptimisticOperation.d.ts","sourceRoot":"","sources":["../src/buildOptimisticOperation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAQvF,OAAO,EAAE,iBAAiB,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,SAAS,CAAC;AAG3E;;GAEG;AACH,eAAO,MAAM,4BAA4B,YAC9B,OAAO,eACH,cAAc,oBACT,aAAa,KAC9B,SAuBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B,YAC/B,OAAO,gBACF,YAAY,eACb,cAAc,KAC1B,SAsCF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,YAC7B,OAAO,eACH,iBAAiB,GAAG,cAAc,KAC9C,SAgDF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,YAC1B,OAAO,eACH,cAAc,KAC1B,SAWF,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
|
|
@@ -3,11 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.buildOptimisticOperation = exports.buildOptimisticTokenOperation = exports.buildOptimisticCoinOperation = void 0;
|
|
7
|
-
const index_1 = require("@ledgerhq/coin-framework/account/index");
|
|
8
|
-
const operation_1 = require("@ledgerhq/coin-framework/operation");
|
|
9
|
-
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
6
|
+
exports.buildOptimisticOperation = exports.buildOptimisticNftOperation = exports.buildOptimisticTokenOperation = exports.buildOptimisticCoinOperation = void 0;
|
|
10
7
|
const eip55_1 = __importDefault(require("eip55"));
|
|
8
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
9
|
+
const nftOperationId_1 = require("@ledgerhq/coin-framework/nft/nftOperationId");
|
|
10
|
+
const nftId_1 = require("@ledgerhq/coin-framework/nft/nftId");
|
|
11
|
+
const operation_1 = require("@ledgerhq/coin-framework/operation");
|
|
12
|
+
const index_1 = require("@ledgerhq/coin-framework/account/index");
|
|
11
13
|
const logic_1 = require("./logic");
|
|
12
14
|
/**
|
|
13
15
|
* Build an optimistic operation for the coin of the integration (e.g. Ether for Ethereum)
|
|
@@ -65,10 +67,50 @@ const buildOptimisticTokenOperation = (account, tokenAccount, transaction) => {
|
|
|
65
67
|
return operation;
|
|
66
68
|
};
|
|
67
69
|
exports.buildOptimisticTokenOperation = buildOptimisticTokenOperation;
|
|
70
|
+
/**
|
|
71
|
+
* Build an optimistic operation for an ERC721 or ERC1155 transaction
|
|
72
|
+
*/
|
|
73
|
+
const buildOptimisticNftOperation = (account, transaction) => {
|
|
74
|
+
const type = "NFT_OUT";
|
|
75
|
+
const estimatedFees = (0, logic_1.getEstimatedFees)(transaction);
|
|
76
|
+
const { nft } = transaction;
|
|
77
|
+
const value = nft.quantity;
|
|
78
|
+
const coinOperation = (0, exports.buildOptimisticCoinOperation)(account, Object.assign(Object.assign({}, transaction), { recipient: nft.contract, amount: new bignumber_js_1.default(0) }), "FEES");
|
|
79
|
+
const nftId = (0, nftId_1.encodeNftId)(account.id, nft.contract, nft.tokenId, account.currency.id);
|
|
80
|
+
const nftOpId = transaction.mode === "erc721"
|
|
81
|
+
? (0, nftOperationId_1.encodeERC721OperationId)(nftId, "", type, 0)
|
|
82
|
+
: (0, nftOperationId_1.encodeERC1155OperationId)(nftId, "", type, 0);
|
|
83
|
+
// keys marked with a <-- will be updated by the broadcast method
|
|
84
|
+
const operation = Object.assign(Object.assign({}, coinOperation), { nftOperations: [
|
|
85
|
+
{
|
|
86
|
+
id: nftOpId,
|
|
87
|
+
hash: "",
|
|
88
|
+
type,
|
|
89
|
+
value,
|
|
90
|
+
fee: estimatedFees,
|
|
91
|
+
blockHash: null,
|
|
92
|
+
blockHeight: null,
|
|
93
|
+
senders: [eip55_1.default.encode(account.freshAddress)],
|
|
94
|
+
recipients: [eip55_1.default.encode(transaction.recipient)],
|
|
95
|
+
accountId: account.id,
|
|
96
|
+
transactionSequenceNumber: transaction.nonce,
|
|
97
|
+
date: new Date(),
|
|
98
|
+
extra: {},
|
|
99
|
+
contract: nft.contract,
|
|
100
|
+
standard: transaction.mode.toUpperCase(),
|
|
101
|
+
tokenId: nft.tokenId,
|
|
102
|
+
},
|
|
103
|
+
] });
|
|
104
|
+
return operation;
|
|
105
|
+
};
|
|
106
|
+
exports.buildOptimisticNftOperation = buildOptimisticNftOperation;
|
|
68
107
|
/**
|
|
69
108
|
* Create a temporary operation to use until it's confirmed by the blockchain
|
|
70
109
|
*/
|
|
71
110
|
const buildOptimisticOperation = (account, transaction) => {
|
|
111
|
+
if ((0, logic_1.isNftTransaction)(transaction)) {
|
|
112
|
+
return (0, exports.buildOptimisticNftOperation)(account, transaction);
|
|
113
|
+
}
|
|
72
114
|
const subAccount = (0, index_1.findSubAccountById)(account, (transaction === null || transaction === void 0 ? void 0 : transaction.subAccountId) || "");
|
|
73
115
|
const isTokenTransaction = (subAccount === null || subAccount === void 0 ? void 0 : subAccount.type) === "TokenAccount";
|
|
74
116
|
return isTokenTransaction
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildOptimisticOperation.js","sourceRoot":"","sources":["../src/buildOptimisticOperation.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"buildOptimisticOperation.js","sourceRoot":"","sources":["../src/buildOptimisticOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-transaction.d.ts","sourceRoot":"","sources":["../src/cli-transaction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-transaction.d.ts","sourceRoot":"","sources":["../src/cli-transaction.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,YAAY,OAEnC"}
|
package/lib/cli-transaction.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-transaction.js","sourceRoot":"","sources":["../src/cli-transaction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-transaction.js","sourceRoot":"","sources":["../src/cli-transaction.ts"],"names":[],"mappings":";AAAA,kDAAkD;;AAElD,0CAA0C;AAC1C,6DAA6D;AAC7D,SAAwB,YAAY;IAClC,OAAO,EAAE,CAAC;AACZ,CAAC;AAFD,+BAEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ethereum1.d.ts","sourceRoot":"","sources":["../../src/datasets/ethereum1.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ethereum1.d.ts","sourceRoot":"","sources":["../../src/datasets/ethereum1.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,eAAO,MAAM,SAAS,EAAE,UAiBvB,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/* istanbul ignore file: pure exports, test unecessary */
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.ethereum1 = void 0;
|
|
4
5
|
exports.ethereum1 = {
|
|
5
|
-
id: "js:1:
|
|
6
|
+
id: "js:1:ethereum_as_evm_test_only:0x0E3F0bb9516F01f2C34c25E0957518b8aC9414c5:",
|
|
6
7
|
seedIdentifier: "0x0E3F0bb9516F01f2C34c25E0957518b8aC9414c5",
|
|
7
8
|
name: "Ethereum legacy xpub6Bem...JyAdpYZy",
|
|
8
9
|
derivationMode: "",
|
|
@@ -12,7 +13,7 @@ exports.ethereum1 = {
|
|
|
12
13
|
freshAddresses: [],
|
|
13
14
|
pendingOperations: [],
|
|
14
15
|
operations: [],
|
|
15
|
-
currencyId: "
|
|
16
|
+
currencyId: "ethereum_as_evm_test_only",
|
|
16
17
|
unitMagnitude: 18,
|
|
17
18
|
balance: "",
|
|
18
19
|
blockHeight: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ethereum1.js","sourceRoot":"","sources":["../../src/datasets/ethereum1.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ethereum1.js","sourceRoot":"","sources":["../../src/datasets/ethereum1.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAI5C,QAAA,SAAS,GAAe;IACnC,EAAE,EAAE,4EAA4E;IAChF,cAAc,EAAE,4CAA4C;IAC5D,IAAI,EAAE,qCAAqC;IAC3C,cAAc,EAAE,EAAE;IAClB,KAAK,EAAE,CAAC;IACR,YAAY,EAAE,4CAA4C;IAC1D,gBAAgB,EAAE,gBAAgB;IAClC,cAAc,EAAE,EAAE;IAClB,iBAAiB,EAAE,EAAE;IACrB,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,2BAA2B;IACvC,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,EAAE;IAChB,IAAI,EAAE,EAAE;CACT,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceTransactionConfig.d.ts","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE3E,KAAK,sBAAsB,GAAG,4BAA4B,CAAC;AAE3D;;GAEG;AACH,iBAAS,0BAA0B,CAAC,EAClC,OAAO,EACP,aAAa,EACb,WAAW,GACZ,EAAE;IACD,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,WAAW,EAAE,cAAc,CAAC;IAC5B,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GAAG,KAAK,CAAC,sBAAsB,CAAC,
|
|
1
|
+
{"version":3,"file":"deviceTransactionConfig.d.ts","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE3E,KAAK,sBAAsB,GAAG,4BAA4B,CAAC;AAE3D;;GAEG;AACH,iBAAS,0BAA0B,CAAC,EAClC,OAAO,EACP,aAAa,EACb,WAAW,GACZ,EAAE;IACD,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,WAAW,EAAE,cAAc,CAAC;IAC5B,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAyGhC;AAED,eAAe,0BAA0B,CAAC"}
|
|
@@ -33,6 +33,56 @@ function getDeviceTransactionConfig({ account, parentAccount, transaction, }) {
|
|
|
33
33
|
value: mainAccount.currency.name,
|
|
34
34
|
});
|
|
35
35
|
break;
|
|
36
|
+
case "erc721":
|
|
37
|
+
fields.push({
|
|
38
|
+
type: "text",
|
|
39
|
+
label: "Type",
|
|
40
|
+
value: `NFT Transfer`,
|
|
41
|
+
}, {
|
|
42
|
+
type: "text",
|
|
43
|
+
label: "To",
|
|
44
|
+
value: transaction.recipient,
|
|
45
|
+
}, {
|
|
46
|
+
type: "text",
|
|
47
|
+
label: "Collection Name",
|
|
48
|
+
value: transaction.nft.collectionName,
|
|
49
|
+
}, {
|
|
50
|
+
type: "address",
|
|
51
|
+
label: "NFT Address",
|
|
52
|
+
address: transaction.nft.contract,
|
|
53
|
+
}, {
|
|
54
|
+
type: "text",
|
|
55
|
+
label: "NFT ID",
|
|
56
|
+
value: transaction.nft.tokenId,
|
|
57
|
+
});
|
|
58
|
+
break;
|
|
59
|
+
case "erc1155":
|
|
60
|
+
fields.push({
|
|
61
|
+
type: "text",
|
|
62
|
+
label: "Type",
|
|
63
|
+
value: `NFT Transfer`,
|
|
64
|
+
}, {
|
|
65
|
+
type: "text",
|
|
66
|
+
label: "To",
|
|
67
|
+
value: transaction.recipient,
|
|
68
|
+
}, {
|
|
69
|
+
type: "text",
|
|
70
|
+
label: "Collection Name",
|
|
71
|
+
value: transaction.nft.collectionName,
|
|
72
|
+
}, {
|
|
73
|
+
type: "text",
|
|
74
|
+
label: "Quantity",
|
|
75
|
+
value: transaction.nft.quantity.toFixed(),
|
|
76
|
+
}, {
|
|
77
|
+
type: "address",
|
|
78
|
+
label: "NFT Address",
|
|
79
|
+
address: transaction.nft.contract,
|
|
80
|
+
}, {
|
|
81
|
+
type: "text",
|
|
82
|
+
label: "NFT ID",
|
|
83
|
+
value: transaction.nft.tokenId,
|
|
84
|
+
});
|
|
85
|
+
break;
|
|
36
86
|
}
|
|
37
87
|
fields.push({
|
|
38
88
|
type: "fees",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":";;AAAA,kEAAwE;AACxE,gEAAsE;AAQtE;;GAEG;AACH,SAAS,0BAA0B,CAAC,EAClC,OAAO,EACP,aAAa,EACb,WAAW,GAMZ;;IACC,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;IAC7B,MAAM,MAAM,GAAkC,EAAE,CAAC;IACjD,MAAM,cAAc,GAAG,IAAA,sBAAc,EAAC,MAAA,WAAW,CAAC,eAAe,0CAAE,MAAM,CAAC,CAAC;IAE3E,QAAQ,IAAI,EAAE;QACZ,QAAQ;QACR,KAAK,MAAM;YACT,MAAM,CAAC,IAAI,CACT;gBACE,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;aAChB,EACD,WAAW,CAAC,eAAe,IAAI,cAAc;gBAC3C,CAAC,CAAC;oBACE,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,MAAM;iBAC1C;gBACH,CAAC,CAAC;oBACE,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,SAAS;oBAChB,OAAO,EAAE,WAAW,CAAC,SAAS;iBAC/B,EACL;gBACE,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI;aACjC,CACF,CAAC;YACF,MAAM;KACT;IAED,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,UAAU;KAClB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kBAAe,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"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"}
|
package/lib/errors.d.ts
CHANGED
|
@@ -13,4 +13,13 @@ export declare const NoGasTrackerFound: import("@ledgerhq/errors/lib/helpers").L
|
|
|
13
13
|
export declare const GasTrackerDoesNotSupportEIP1559: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
|
|
14
14
|
[key: string]: unknown;
|
|
15
15
|
}>;
|
|
16
|
+
export declare const NotOwnedNft: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
|
|
17
|
+
[key: string]: unknown;
|
|
18
|
+
}>;
|
|
19
|
+
export declare const NotEnoughNftOwned: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
|
|
20
|
+
[key: string]: unknown;
|
|
21
|
+
}>;
|
|
22
|
+
export declare const QuantityNeedsToBePositive: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
|
|
23
|
+
[key: string]: unknown;
|
|
24
|
+
}>;
|
|
16
25
|
//# sourceMappingURL=errors.d.ts.map
|
package/lib/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB;;EAA8C,CAAC;AAG7E,eAAO,MAAM,kBAAkB;;EAA+C,CAAC;AAC/E,eAAO,MAAM,iBAAiB;;EAA8C,CAAC;AAG7E,eAAO,MAAM,iBAAiB;;EAA8C,CAAC;AAC7E,eAAO,MAAM,+BAA+B;;EAE3C,CAAC;AAGF,eAAO,MAAM,WAAW;;EAAwC,CAAC;AACjE,eAAO,MAAM,iBAAiB;;EAA8C,CAAC;AAC7E,eAAO,MAAM,yBAAyB;;EAAsD,CAAC"}
|
package/lib/errors.js
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GasTrackerDoesNotSupportEIP1559 = exports.NoGasTrackerFound = exports.InsufficientFunds = exports.GasEstimationError = exports.EtherscanAPIError = void 0;
|
|
3
|
+
exports.QuantityNeedsToBePositive = exports.NotEnoughNftOwned = exports.NotOwnedNft = exports.GasTrackerDoesNotSupportEIP1559 = exports.NoGasTrackerFound = exports.InsufficientFunds = exports.GasEstimationError = exports.EtherscanAPIError = void 0;
|
|
4
4
|
const errors_1 = require("@ledgerhq/errors");
|
|
5
|
+
// Etherscan API
|
|
5
6
|
exports.EtherscanAPIError = (0, errors_1.createCustomErrorClass)("EtherscanAPIError");
|
|
7
|
+
// Gas
|
|
6
8
|
exports.GasEstimationError = (0, errors_1.createCustomErrorClass)("GasEstimationError");
|
|
7
9
|
exports.InsufficientFunds = (0, errors_1.createCustomErrorClass)("InsufficientFunds");
|
|
8
10
|
// GasTracker errors
|
|
9
11
|
exports.NoGasTrackerFound = (0, errors_1.createCustomErrorClass)("NoGasTrackerFound");
|
|
10
12
|
exports.GasTrackerDoesNotSupportEIP1559 = (0, errors_1.createCustomErrorClass)("GasTrackerDoesNotSupportEIP1559");
|
|
13
|
+
// Nfts
|
|
14
|
+
exports.NotOwnedNft = (0, errors_1.createCustomErrorClass)("NotOwnedNft");
|
|
15
|
+
exports.NotEnoughNftOwned = (0, errors_1.createCustomErrorClass)("NotEnoughNftOwned");
|
|
16
|
+
exports.QuantityNeedsToBePositive = (0, errors_1.createCustomErrorClass)("QuantityNeedsToBePositive");
|
|
11
17
|
//# sourceMappingURL=errors.js.map
|
package/lib/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,6CAA0D;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,6CAA0D;AAE1D,gBAAgB;AACH,QAAA,iBAAiB,GAAG,IAAA,+BAAsB,EAAC,mBAAmB,CAAC,CAAC;AAE7E,MAAM;AACO,QAAA,kBAAkB,GAAG,IAAA,+BAAsB,EAAC,oBAAoB,CAAC,CAAC;AAClE,QAAA,iBAAiB,GAAG,IAAA,+BAAsB,EAAC,mBAAmB,CAAC,CAAC;AAE7E,oBAAoB;AACP,QAAA,iBAAiB,GAAG,IAAA,+BAAsB,EAAC,mBAAmB,CAAC,CAAC;AAChE,QAAA,+BAA+B,GAAG,IAAA,+BAAsB,EACnE,iCAAiC,CAClC,CAAC;AAEF,OAAO;AACM,QAAA,WAAW,GAAG,IAAA,+BAAsB,EAAC,aAAa,CAAC,CAAC;AACpD,QAAA,iBAAiB,GAAG,IAAA,+BAAsB,EAAC,mBAAmB,CAAC,CAAC;AAChE,QAAA,yBAAyB,GAAG,IAAA,+BAAsB,EAAC,2BAA2B,CAAC,CAAC"}
|
|
@@ -15,6 +15,7 @@ export declare const validateAmount: (account: Account | SubAccount, transaction
|
|
|
15
15
|
* Validate gas properties of a transaction, depending on its type and the account emitter
|
|
16
16
|
*/
|
|
17
17
|
export declare const validateGas: (account: Account, tx: EvmTransaction, gasLimit: BigNumber, estimatedFees: BigNumber) => Array<ValidationIssues>;
|
|
18
|
+
export declare const validateNft: (account: Account, tx: EvmTransaction) => Array<ValidationIssues>;
|
|
18
19
|
/**
|
|
19
20
|
* Validate a transaction and get all possibles errors and warnings about it
|
|
20
21
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTransactionStatus.d.ts","sourceRoot":"","sources":["../src/getTransactionStatus.ts"],"names":[],"mappings":"AAYA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAG1E,OAAO,EAGL,WAAW,IAAI,cAAc,EAC9B,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"getTransactionStatus.d.ts","sourceRoot":"","sources":["../src/getTransactionStatus.ts"],"names":[],"mappings":"AAYA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAG1E,OAAO,EAGL,WAAW,IAAI,cAAc,EAC9B,MAAM,SAAS,CAAC;AAGjB,KAAK,0BAA0B,GAC3B,WAAW,GACX,UAAU,GACV,UAAU,GACV,QAAQ,GACR,gBAAgB,CAAC;AACrB,KAAK,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC,CAAC;AAK3E;;GAEG;AACH,eAAO,MAAM,iBAAiB,YACnB,OAAO,MACZ,cAAc,KACjB,MAAM,gBAAgB,CA8BxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,YAChB,OAAO,GAAG,UAAU,eAChB,cAAc,cACf,SAAS,KACpB,MAAM,gBAAgB,CAmBxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,YACb,OAAO,MACZ,cAAc,YACR,SAAS,iBACJ,SAAS,KACvB,MAAM,gBAAgB,CAwBxB,CAAC;AAEF,eAAO,MAAM,WAAW,YAAa,OAAO,MAAM,cAAc,KAAG,MAAM,gBAAgB,CAoBxF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC,sBAAsB,CAuCtF,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -9,11 +9,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.getTransactionStatus = exports.validateGas = exports.validateAmount = exports.validateRecipient = void 0;
|
|
12
|
+
exports.getTransactionStatus = exports.validateNft = exports.validateGas = exports.validateAmount = exports.validateRecipient = void 0;
|
|
13
13
|
const errors_1 = require("@ledgerhq/errors");
|
|
14
14
|
const ethers_1 = require("ethers");
|
|
15
15
|
const index_1 = require("@ledgerhq/coin-framework/account/index");
|
|
16
16
|
const logic_1 = require("./logic");
|
|
17
|
+
const errors_2 = require("./errors");
|
|
17
18
|
// This regex will not work with Starknet since addresses are 65 caracters long after the 0x
|
|
18
19
|
const ethAddressRegEx = /^(0x)?[0-9a-fA-F]{40}$/;
|
|
19
20
|
/**
|
|
@@ -101,6 +102,26 @@ const validateGas = (account, tx, gasLimit, estimatedFees) => {
|
|
|
101
102
|
return [errors, warnings];
|
|
102
103
|
};
|
|
103
104
|
exports.validateGas = validateGas;
|
|
105
|
+
const validateNft = (account, tx) => {
|
|
106
|
+
var _a;
|
|
107
|
+
if (!tx.nft)
|
|
108
|
+
return [{}, {}];
|
|
109
|
+
const errors = {};
|
|
110
|
+
const warnings = {};
|
|
111
|
+
const quantityIsPositive = tx.nft.quantity.gt(0);
|
|
112
|
+
const nftFromAccount = (_a = account.nfts) === null || _a === void 0 ? void 0 : _a.find(nft => nft.tokenId === tx.nft.tokenId && nft.contract === tx.nft.contract);
|
|
113
|
+
if (!nftFromAccount) {
|
|
114
|
+
errors.amount = new errors_2.NotOwnedNft();
|
|
115
|
+
}
|
|
116
|
+
else if (!quantityIsPositive) {
|
|
117
|
+
errors.amount = new errors_2.QuantityNeedsToBePositive();
|
|
118
|
+
}
|
|
119
|
+
else if (nftFromAccount.amount.lt(tx.nft.quantity)) {
|
|
120
|
+
errors.amount = new errors_2.NotEnoughNftOwned();
|
|
121
|
+
}
|
|
122
|
+
return [errors, warnings];
|
|
123
|
+
};
|
|
124
|
+
exports.validateNft = validateNft;
|
|
104
125
|
/**
|
|
105
126
|
* Validate a transaction and get all possibles errors and warnings about it
|
|
106
127
|
*/
|
|
@@ -117,8 +138,9 @@ const getTransactionStatus = (account, tx) => __awaiter(void 0, void 0, void 0,
|
|
|
117
138
|
const [amountErr, amountWarn] = (0, exports.validateAmount)(subAccount || account, tx, totalSpent);
|
|
118
139
|
// Gas related errors and warnings
|
|
119
140
|
const [gasErr, gasWarn] = (0, exports.validateGas)(account, tx, gasLimit, totalFees);
|
|
120
|
-
const
|
|
121
|
-
const
|
|
141
|
+
const [nftErr, nftWarn] = (0, exports.validateNft)(account, tx);
|
|
142
|
+
const errors = Object.assign(Object.assign(Object.assign(Object.assign({}, recipientErr), gasErr), amountErr), nftErr);
|
|
143
|
+
const warnings = Object.assign(Object.assign(Object.assign(Object.assign({}, recipientWarn), gasWarn), amountWarn), nftWarn);
|
|
122
144
|
return {
|
|
123
145
|
errors,
|
|
124
146
|
warnings,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../src/getTransactionStatus.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAU0B;AAC1B,mCAAgC;AAGhC,kEAA4E;AAC5E,mCAAgG;
|
|
1
|
+
{"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../src/getTransactionStatus.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SignerContext } from "@ledgerhq/coin-framework/signer";
|
|
2
|
+
import { Account, AnyMessage, DeviceId, TypedEvmMessage } from "@ledgerhq/types-live";
|
|
3
|
+
import { EvmSignature, EvmSigner } from "./signer";
|
|
4
|
+
export declare const prepareMessageToSign: ({ message }: {
|
|
5
|
+
message: string;
|
|
6
|
+
}) => TypedEvmMessage;
|
|
7
|
+
export declare const signMessage: (signerContext: SignerContext<EvmSigner, EvmSignature>) => (deviceId: DeviceId, account: Account, messageOpts: AnyMessage) => Promise<{
|
|
8
|
+
rsv: {
|
|
9
|
+
r: string;
|
|
10
|
+
s: string;
|
|
11
|
+
v: string | number;
|
|
12
|
+
};
|
|
13
|
+
signature: string;
|
|
14
|
+
}>;
|
|
15
|
+
//# sourceMappingURL=hw-signMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hw-signMessage.d.ts","sourceRoot":"","sources":["../src/hw-signMessage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEnD,eAAO,MAAM,oBAAoB;aAA4B,MAAM;MAAK,eA8BvE,CAAC;AAEF,eAAO,MAAM,WAAW,kBACN,cAAc,SAAS,EAAE,YAAY,CAAC,gBAE1C,QAAQ,WACT,OAAO,eACH,UAAU,KACtB,QAAQ;IACT,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAClD,SAAS,EAAE,MAAM,CAAC;CACnB,CA4CA,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
+
var t = {};
|
|
13
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
+
t[p] = s[p];
|
|
15
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
+
t[p[i]] = s[p[i]];
|
|
19
|
+
}
|
|
20
|
+
return t;
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.signMessage = exports.prepareMessageToSign = void 0;
|
|
24
|
+
const ethers_1 = require("ethers");
|
|
25
|
+
const index_1 = require("@ledgerhq/evm-tools/message/EIP712/index");
|
|
26
|
+
const prepareMessageToSign = ({ message }) => {
|
|
27
|
+
const parsedMessage = (() => {
|
|
28
|
+
try {
|
|
29
|
+
return JSON.parse(message);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
return message;
|
|
33
|
+
}
|
|
34
|
+
})();
|
|
35
|
+
if ((0, index_1.isEIP712Message)(parsedMessage)) {
|
|
36
|
+
// With the ethers lib, EIP712Domain type should be removed otherwise
|
|
37
|
+
// you'll end up with a "ambiguous primary types" error
|
|
38
|
+
const _a = parsedMessage.types, { EIP712Domain } = _a, otherTypes = __rest(_a, ["EIP712Domain"]);
|
|
39
|
+
return {
|
|
40
|
+
standard: "EIP712",
|
|
41
|
+
message: parsedMessage,
|
|
42
|
+
domainHash: ethers_1.ethers.utils._TypedDataEncoder.hashDomain(parsedMessage.domain),
|
|
43
|
+
hashStruct: ethers_1.ethers.utils._TypedDataEncoder.hashStruct(parsedMessage.primaryType, otherTypes, parsedMessage.message),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
standard: "EIP191",
|
|
48
|
+
message,
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
exports.prepareMessageToSign = prepareMessageToSign;
|
|
52
|
+
const signMessage = (signerContext) => (deviceId, account, messageOpts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
53
|
+
if (messageOpts.standard === "EIP191") {
|
|
54
|
+
const { r, s, v } = yield signerContext(deviceId, signer => {
|
|
55
|
+
return signer.signPersonalMessage(account.freshAddressPath, Buffer.from(messageOpts.message).toString("hex"));
|
|
56
|
+
});
|
|
57
|
+
const signature = ethers_1.ethers.utils.joinSignature({
|
|
58
|
+
r: `0x${r}`,
|
|
59
|
+
s: `0x${s}`,
|
|
60
|
+
v: typeof v === "string" ? parseInt(v, 16) : v,
|
|
61
|
+
});
|
|
62
|
+
return { rsv: { r, s, v }, signature };
|
|
63
|
+
}
|
|
64
|
+
if (messageOpts.standard === "EIP712") {
|
|
65
|
+
const { r, s, v } = yield signerContext(deviceId, (signer) => __awaiter(void 0, void 0, void 0, function* () {
|
|
66
|
+
try {
|
|
67
|
+
return yield signer.signEIP712Message(account.freshAddressPath, messageOpts.message);
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
if (e instanceof Error && "statusText" in e && e.statusText === "INS_NOT_SUPPORTED") {
|
|
71
|
+
return yield signer.signEIP712HashedMessage(account.freshAddressPath, messageOpts.domainHash, messageOpts.hashStruct);
|
|
72
|
+
}
|
|
73
|
+
throw e;
|
|
74
|
+
}
|
|
75
|
+
}));
|
|
76
|
+
const signature = ethers_1.ethers.utils.joinSignature({
|
|
77
|
+
r: `0x${r}`,
|
|
78
|
+
s: `0x${s}`,
|
|
79
|
+
v: typeof v === "string" ? parseInt(v, 16) : v,
|
|
80
|
+
});
|
|
81
|
+
return { rsv: { r, s, v }, signature };
|
|
82
|
+
}
|
|
83
|
+
throw new Error("Unsupported message standard");
|
|
84
|
+
});
|
|
85
|
+
exports.signMessage = signMessage;
|
|
86
|
+
//# sourceMappingURL=hw-signMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hw-signMessage.js","sourceRoot":"","sources":["../src/hw-signMessage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAgC;AAEhC,oEAA2E;AAIpE,MAAM,oBAAoB,GAAG,CAAC,EAAE,OAAO,EAAuB,EAAmB,EAAE;IACxF,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;QAC1B,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;SACvD;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,OAAO,CAAC;SAChB;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,IAAA,uBAAe,EAAC,aAAa,CAAC,EAAE;QAClC,qEAAqE;QACrE,uDAAuD;QACvD,MAAM,KAAkC,aAAa,CAAC,KAAK,EAArD,EAAE,YAAY,OAAuC,EAAlC,UAAU,cAA7B,gBAA+B,CAAsB,CAAC;QAE5D,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,eAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC;YAC3E,UAAU,EAAE,eAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CACnD,aAAa,CAAC,WAAW,EACzB,UAAU,EACV,aAAa,CAAC,OAAO,CACtB;SACF,CAAC;KACH;IAED,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,OAAO;KACR,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,oBAAoB,wBA8B/B;AAEK,MAAM,WAAW,GACtB,CAAC,aAAqD,EAAE,EAAE,CAC1D,CACE,QAAkB,EAClB,OAAgB,EAChB,WAAuB,EAItB,EAAE;IACH,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE;QACrC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;YACzD,OAAO,MAAM,CAAC,mBAAmB,CAC/B,OAAO,CAAC,gBAAgB,EACxB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACjD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,aAAa,CAAC;YAC3C,CAAC,EAAE,KAAK,CAAC,EAAE;YACX,CAAC,EAAE,KAAK,CAAC,EAAE;YACX,CAAC,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/C,CAAC,CAAC;QAEH,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC;KACxC;IAED,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE;QACrC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAM,MAAM,EAAC,EAAE;YAC/D,IAAI;gBACF,OAAO,MAAM,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;aACtF;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,YAAY,KAAK,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,mBAAmB,EAAE;oBACnF,OAAO,MAAM,MAAM,CAAC,uBAAuB,CACzC,OAAO,CAAC,gBAAgB,EACxB,WAAW,CAAC,UAAU,EACtB,WAAW,CAAC,UAAU,CACvB,CAAC;iBACH;gBACD,MAAM,CAAC,CAAC;aACT;QACH,CAAC,CAAA,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,aAAa,CAAC;YAC3C,CAAC,EAAE,KAAK,CAAC,EAAE;YACX,CAAC,EAAE,KAAK,CAAC,EAAE;YACX,CAAC,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/C,CAAC,CAAC;QAEH,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC;KACxC;IAED,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAClD,CAAC,CAAA,CAAC;AArDS,QAAA,WAAW,eAqDpB"}
|
package/lib/logic.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import BigNumber from "bignumber.js";
|
|
2
3
|
import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
|
|
3
|
-
import { Account, SubAccount } from "@ledgerhq/types-live";
|
|
4
|
+
import { Account, SubAccount, Operation } from "@ledgerhq/types-live";
|
|
4
5
|
import { Transaction as EvmTransaction, EvmTransactionEIP1559, EvmTransactionLegacy } from "./types";
|
|
5
6
|
/**
|
|
6
7
|
* Helper to check if a legacy transaction has the right fee property
|
|
@@ -26,6 +27,67 @@ export declare const mergeSubAccounts: (initialAccount: Account | undefined, new
|
|
|
26
27
|
/**
|
|
27
28
|
* Method creating a hash that will help triggering or not a full synchronization on an account.
|
|
28
29
|
* As of now, it's checking if a token has been added, removed of changed regarding important properties
|
|
30
|
+
* and if the NFTs are activated/supported on this chain
|
|
29
31
|
*/
|
|
30
32
|
export declare const getSyncHash: (currency: CryptoCurrency) => string;
|
|
33
|
+
/**
|
|
34
|
+
* Helper in charge of linking operations together based on transaction hash.
|
|
35
|
+
* Token operations & NFT operations are the result of a coin operation
|
|
36
|
+
* and if this coin operation is originated by our user we want
|
|
37
|
+
* to link those operations together as main & children ops.
|
|
38
|
+
*
|
|
39
|
+
* A sub operation should always be linked to a coin operation,
|
|
40
|
+
* even if the user isn't at the origin of the sub op.
|
|
41
|
+
* "NONE" coin ops can be added when necessary.
|
|
42
|
+
*
|
|
43
|
+
* ⚠️ If an NFT operation was found without a coin parent op
|
|
44
|
+
* just like if it was not initiated by the synced account
|
|
45
|
+
* and we were to find that coin op during another sync,
|
|
46
|
+
* the NONE operation created would not be removed,
|
|
47
|
+
* creating a duplicate that will cause issues.
|
|
48
|
+
* (Incorrect NFT balance & React key dup)
|
|
49
|
+
*/
|
|
50
|
+
export declare const attachOperations: (_coinOperations: Operation[], _tokenOperations: Operation[], _nftOperations: Operation[]) => Operation[];
|
|
51
|
+
/**
|
|
52
|
+
* Type guard for NFT transactions
|
|
53
|
+
*/
|
|
54
|
+
export declare const isNftTransaction: (transaction: EvmTransaction) => transaction is (import("@ledgerhq/types-live").TransactionCommon & {
|
|
55
|
+
family: "evm";
|
|
56
|
+
mode: import("./types").EvmTransactionMode;
|
|
57
|
+
nonce: number;
|
|
58
|
+
gasLimit: BigNumber;
|
|
59
|
+
chainId: number;
|
|
60
|
+
data?: Buffer | null | undefined;
|
|
61
|
+
type?: number | undefined;
|
|
62
|
+
additionalFees?: BigNumber | undefined;
|
|
63
|
+
gasOptions?: import("./types").GasOptions | undefined;
|
|
64
|
+
nft?: import("./types").EvmTransactionNftParam | undefined;
|
|
65
|
+
} & {
|
|
66
|
+
mode: "erc721" | "erc1155";
|
|
67
|
+
nft: import("./types").EvmTransactionNftParam;
|
|
68
|
+
} & {
|
|
69
|
+
type?: 0 | 1 | undefined;
|
|
70
|
+
gasPrice: BigNumber;
|
|
71
|
+
maxPriorityFeePerGas?: undefined;
|
|
72
|
+
maxFeePerGas?: undefined;
|
|
73
|
+
}) | (import("@ledgerhq/types-live").TransactionCommon & {
|
|
74
|
+
family: "evm";
|
|
75
|
+
mode: import("./types").EvmTransactionMode;
|
|
76
|
+
nonce: number;
|
|
77
|
+
gasLimit: BigNumber;
|
|
78
|
+
chainId: number;
|
|
79
|
+
data?: Buffer | null | undefined;
|
|
80
|
+
type?: number | undefined;
|
|
81
|
+
additionalFees?: BigNumber | undefined;
|
|
82
|
+
gasOptions?: import("./types").GasOptions | undefined;
|
|
83
|
+
nft?: import("./types").EvmTransactionNftParam | undefined;
|
|
84
|
+
} & {
|
|
85
|
+
mode: "erc721" | "erc1155";
|
|
86
|
+
nft: import("./types").EvmTransactionNftParam;
|
|
87
|
+
} & {
|
|
88
|
+
type: 2;
|
|
89
|
+
gasPrice?: undefined;
|
|
90
|
+
maxPriorityFeePerGas: BigNumber;
|
|
91
|
+
maxFeePerGas: BigNumber;
|
|
92
|
+
});
|
|
31
93
|
//# sourceMappingURL=logic.d.ts.map
|
package/lib/logic.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../src/logic.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../src/logic.ts"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKtE,OAAO,EAEL,WAAW,IAAI,cAAc,EAC7B,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,eAAO,MAAM,wBAAwB,OAAQ,oBAAoB,KAAG,OACjB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,yBAAyB,OAAQ,qBAAqB,KAAG,OACA,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,gBAAgB,OAAQ,cAAc,KAAG,SAKrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,aACxB,cAAc,eACX,cAAc,KAC1B,QAAQ,SAAS,GAAG,SAAS,CAU/B,CAAC;AAcF;;GAEG;AACH,eAAO,MAAM,gBAAgB,mBACX,OAAO,GAAG,SAAS,kBACnB,QAAQ,UAAU,CAAC,EAAE,KACpC,MAAM,QAAQ,UAAU,CAAC,GAAG,UAAU,CAqDxC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,aAAc,cAAc,KAAG,MAQtD,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,gBAAgB,oBACV,SAAS,EAAE,oBACV,SAAS,EAAE,kBACb,SAAS,EAAE,KAC1B,SAAS,EA+EX,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,gBACd,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEqB,CAAC"}
|