@bitgo/account-lib 2.20.1-rc.2 → 2.21.0-hotfix.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 +79 -0
- package/README.md +5 -7
- package/dist/browser/bitgo-account-lib.js +2 -0
- package/dist/browser/bitgo-account-lib.js.LICENSE.txt +337 -0
- package/dist/resources/hbar/protobuf/BasicTypes.proto +424 -0
- package/dist/resources/hbar/protobuf/CryptoCreate.proto +47 -0
- package/dist/resources/hbar/protobuf/CryptoTransfer.proto +33 -0
- package/dist/resources/hbar/protobuf/Duration.proto +28 -0
- package/dist/resources/hbar/protobuf/Timestamp.proto +34 -0
- package/dist/resources/hbar/protobuf/Transaction.proto +35 -0
- package/dist/resources/hbar/protobuf/TransactionBody.proto +24 -0
- package/dist/resources/hbar/protobuf/TransactionContents.proto +33 -0
- package/dist/resources/hbar/protobuf/hedera.d.ts +4612 -0
- package/dist/resources/hbar/protobuf/hedera.js +12192 -0
- package/dist/resources/trx/protobuf/Contract.proto +256 -0
- package/dist/resources/trx/protobuf/Discover.proto +44 -0
- package/dist/resources/trx/protobuf/tron.d.ts +11024 -0
- package/dist/resources/trx/protobuf/tron.js +31510 -0
- package/dist/resources/trx/protobuf/tron.proto +677 -0
- package/dist/src/coin/algo/assetTransferBuilder.d.ts +42 -0
- package/dist/src/coin/algo/assetTransferBuilder.d.ts.map +1 -0
- package/dist/src/coin/algo/assetTransferBuilder.js +105 -0
- package/dist/src/coin/algo/errors.d.ts +11 -0
- package/dist/src/coin/algo/errors.d.ts.map +1 -0
- package/dist/src/coin/algo/errors.js +27 -0
- package/dist/src/coin/algo/ifaces.d.ts +46 -0
- package/dist/src/coin/algo/ifaces.d.ts.map +1 -0
- package/dist/src/coin/algo/ifaces.js +3 -0
- package/dist/src/coin/algo/index.d.ts +13 -0
- package/dist/src/coin/algo/index.d.ts.map +1 -0
- package/dist/src/coin/algo/index.js +47 -0
- package/dist/src/coin/algo/keyPair.d.ts +25 -0
- package/dist/src/coin/algo/keyPair.d.ts.map +1 -0
- package/dist/src/coin/algo/keyPair.js +77 -0
- package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +104 -0
- package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +1 -0
- package/dist/src/coin/algo/keyRegistrationBuilder.js +239 -0
- package/dist/src/coin/algo/seedEncoding.d.ts +25 -0
- package/dist/src/coin/algo/seedEncoding.d.ts.map +1 -0
- package/dist/src/coin/algo/seedEncoding.js +97 -0
- package/dist/src/coin/algo/transaction.d.ts +75 -0
- package/dist/src/coin/algo/transaction.d.ts.map +1 -0
- package/dist/src/coin/algo/transaction.js +251 -0
- package/dist/src/coin/algo/transactionBuilder.d.ts +204 -0
- package/dist/src/coin/algo/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/algo/transactionBuilder.js +373 -0
- package/dist/src/coin/algo/transactionBuilderFactory.d.ts +16 -0
- package/dist/src/coin/algo/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/algo/transactionBuilderFactory.js +52 -0
- package/dist/src/coin/algo/transferBuilder.d.ts +40 -0
- package/dist/src/coin/algo/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/algo/transferBuilder.js +89 -0
- package/dist/src/coin/algo/txnSchema.d.ts +7 -0
- package/dist/src/coin/algo/txnSchema.d.ts.map +1 -0
- package/dist/src/coin/algo/txnSchema.js +68 -0
- package/dist/src/coin/algo/utils.d.ts +249 -0
- package/dist/src/coin/algo/utils.d.ts.map +1 -0
- package/dist/src/coin/algo/utils.js +539 -0
- package/dist/src/coin/avaxc/index.d.ts +8 -0
- package/dist/src/coin/avaxc/index.d.ts.map +1 -0
- package/dist/src/coin/avaxc/index.js +35 -0
- package/dist/src/coin/avaxc/keyPair.d.ts +26 -0
- package/dist/src/coin/avaxc/keyPair.d.ts.map +1 -0
- package/dist/src/coin/avaxc/keyPair.js +83 -0
- package/dist/src/coin/avaxc/resources.d.ts +12 -0
- package/dist/src/coin/avaxc/resources.d.ts.map +1 -0
- package/dist/src/coin/avaxc/resources.js +27 -0
- package/dist/src/coin/avaxc/transactionBuilder.d.ts +17 -0
- package/dist/src/coin/avaxc/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/avaxc/transactionBuilder.js +45 -0
- package/dist/src/coin/avaxc/transferBuilder.d.ts +17 -0
- package/dist/src/coin/avaxc/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/avaxc/transferBuilder.js +25 -0
- package/dist/src/coin/avaxc/utils.d.ts +39 -0
- package/dist/src/coin/avaxc/utils.d.ts.map +1 -0
- package/dist/src/coin/avaxc/utils.js +70 -0
- package/dist/src/coin/avaxc/walletUtil.d.ts +22 -0
- package/dist/src/coin/avaxc/walletUtil.d.ts.map +1 -0
- package/dist/src/coin/avaxc/walletUtil.js +62 -0
- package/dist/src/coin/baseCoin/baseKeyPair.d.ts +27 -0
- package/dist/src/coin/baseCoin/baseKeyPair.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/baseKeyPair.js +3 -0
- package/dist/src/coin/baseCoin/baseTransaction.d.ts +71 -0
- package/dist/src/coin/baseCoin/baseTransaction.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/baseTransaction.js +94 -0
- package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts +128 -0
- package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/baseTransactionBuilder.js +179 -0
- package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts +30 -0
- package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.js +20 -0
- package/dist/src/coin/baseCoin/baseUtils.d.ts +45 -0
- package/dist/src/coin/baseCoin/baseUtils.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/baseUtils.js +3 -0
- package/dist/src/coin/baseCoin/blsKeyPair.d.ts +75 -0
- package/dist/src/coin/baseCoin/blsKeyPair.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/blsKeyPair.js +232 -0
- package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts +50 -0
- package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/ed25519KeyPair.js +141 -0
- package/dist/src/coin/baseCoin/enum.d.ts +43 -0
- package/dist/src/coin/baseCoin/enum.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/enum.js +70 -0
- package/dist/src/coin/baseCoin/errors.d.ts +65 -0
- package/dist/src/coin/baseCoin/errors.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/errors.js +156 -0
- package/dist/src/coin/baseCoin/iface.d.ts +162 -0
- package/dist/src/coin/baseCoin/iface.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/iface.js +38 -0
- package/dist/src/coin/baseCoin/index.d.ts +12 -0
- package/dist/src/coin/baseCoin/index.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/index.js +41 -0
- package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts +55 -0
- package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.js +124 -0
- package/dist/src/coin/celo/index.d.ts +8 -0
- package/dist/src/coin/celo/index.d.ts.map +1 -0
- package/dist/src/coin/celo/index.js +35 -0
- package/dist/src/coin/celo/resources.d.ts +10 -0
- package/dist/src/coin/celo/resources.d.ts.map +1 -0
- package/dist/src/coin/celo/resources.js +26 -0
- package/dist/src/coin/celo/stakingBuilder.d.ts +91 -0
- package/dist/src/coin/celo/stakingBuilder.d.ts.map +1 -0
- package/dist/src/coin/celo/stakingBuilder.js +277 -0
- package/dist/src/coin/celo/stakingCall.d.ts +7 -0
- package/dist/src/coin/celo/stakingCall.d.ts.map +1 -0
- package/dist/src/coin/celo/stakingCall.js +13 -0
- package/dist/src/coin/celo/stakingUtils.d.ts +15 -0
- package/dist/src/coin/celo/stakingUtils.d.ts.map +1 -0
- package/dist/src/coin/celo/stakingUtils.js +98 -0
- package/dist/src/coin/celo/transaction.d.ts +10 -0
- package/dist/src/coin/celo/transaction.d.ts.map +1 -0
- package/dist/src/coin/celo/transaction.js +37 -0
- package/dist/src/coin/celo/transactionBuilder.d.ts +86 -0
- package/dist/src/coin/celo/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/celo/transactionBuilder.js +228 -0
- package/dist/src/coin/celo/transferBuilder.d.ts +19 -0
- package/dist/src/coin/celo/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/celo/transferBuilder.js +27 -0
- package/dist/src/coin/celo/types.d.ts +52 -0
- package/dist/src/coin/celo/types.d.ts.map +1 -0
- package/dist/src/coin/celo/types.js +222 -0
- package/dist/src/coin/celo/utils.d.ts +18 -0
- package/dist/src/coin/celo/utils.d.ts.map +1 -0
- package/dist/src/coin/celo/utils.js +99 -0
- package/dist/src/coin/cspr/constants.d.ts +19 -0
- package/dist/src/coin/cspr/constants.d.ts.map +1 -0
- package/dist/src/coin/cspr/constants.js +28 -0
- package/dist/src/coin/cspr/delegateBuilder.d.ts +49 -0
- package/dist/src/coin/cspr/delegateBuilder.d.ts.map +1 -0
- package/dist/src/coin/cspr/delegateBuilder.js +111 -0
- package/dist/src/coin/cspr/ifaces.d.ts +69 -0
- package/dist/src/coin/cspr/ifaces.d.ts.map +1 -0
- package/dist/src/coin/cspr/ifaces.js +3 -0
- package/dist/src/coin/cspr/index.d.ts +6 -0
- package/dist/src/coin/cspr/index.d.ts.map +1 -0
- package/dist/src/coin/cspr/index.js +31 -0
- package/dist/src/coin/cspr/keyPair.d.ts +18 -0
- package/dist/src/coin/cspr/keyPair.d.ts.map +1 -0
- package/dist/src/coin/cspr/keyPair.js +75 -0
- package/dist/src/coin/cspr/transaction.d.ts +55 -0
- package/dist/src/coin/cspr/transaction.d.ts.map +1 -0
- package/dist/src/coin/cspr/transaction.js +227 -0
- package/dist/src/coin/cspr/transactionBuilder.d.ts +124 -0
- package/dist/src/coin/cspr/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/cspr/transactionBuilder.js +312 -0
- package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +46 -0
- package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/cspr/transactionBuilderFactory.js +98 -0
- package/dist/src/coin/cspr/transferBuilder.d.ts +39 -0
- package/dist/src/coin/cspr/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/cspr/transferBuilder.js +106 -0
- package/dist/src/coin/cspr/undelegateBuilder.d.ts +49 -0
- package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +1 -0
- package/dist/src/coin/cspr/undelegateBuilder.js +111 -0
- package/dist/src/coin/cspr/utils.d.ts +188 -0
- package/dist/src/coin/cspr/utils.d.ts.map +1 -0
- package/dist/src/coin/cspr/utils.js +477 -0
- package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +27 -0
- package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/cspr/walletInitializationBuilder.js +95 -0
- package/dist/src/coin/dot/addressInitializationBuilder.d.ts +79 -0
- package/dist/src/coin/dot/addressInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/addressInitializationBuilder.js +182 -0
- package/dist/src/coin/dot/batchTransactionBuilder.d.ts +47 -0
- package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/batchTransactionBuilder.js +122 -0
- package/dist/src/coin/dot/claimBuilder.d.ts +58 -0
- package/dist/src/coin/dot/claimBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/claimBuilder.js +119 -0
- package/dist/src/coin/dot/errors.d.ts +8 -0
- package/dist/src/coin/dot/errors.d.ts.map +1 -0
- package/dist/src/coin/dot/errors.js +19 -0
- package/dist/src/coin/dot/iface.d.ts +194 -0
- package/dist/src/coin/dot/iface.d.ts.map +1 -0
- package/dist/src/coin/dot/iface.js +39 -0
- package/dist/src/coin/dot/index.d.ts +17 -0
- package/dist/src/coin/dot/index.d.ts.map +1 -0
- package/dist/src/coin/dot/index.js +53 -0
- package/dist/src/coin/dot/keyPair.d.ts +31 -0
- package/dist/src/coin/dot/keyPair.d.ts.map +1 -0
- package/dist/src/coin/dot/keyPair.js +70 -0
- package/dist/src/coin/dot/singletonRegistry.d.ts +7 -0
- package/dist/src/coin/dot/singletonRegistry.d.ts.map +1 -0
- package/dist/src/coin/dot/singletonRegistry.js +20 -0
- package/dist/src/coin/dot/stakingBuilder.d.ts +58 -0
- package/dist/src/coin/dot/stakingBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/stakingBuilder.js +139 -0
- package/dist/src/coin/dot/transaction.d.ts +65 -0
- package/dist/src/coin/dot/transaction.d.ts.map +1 -0
- package/dist/src/coin/dot/transaction.js +396 -0
- package/dist/src/coin/dot/transactionBuilder.d.ts +131 -0
- package/dist/src/coin/dot/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/transactionBuilder.js +332 -0
- package/dist/src/coin/dot/transactionBuilderFactory.d.ts +26 -0
- package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/dot/transactionBuilderFactory.js +93 -0
- package/dist/src/coin/dot/transferBuilder.d.ts +71 -0
- package/dist/src/coin/dot/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/transferBuilder.js +177 -0
- package/dist/src/coin/dot/txnSchema.d.ts +14 -0
- package/dist/src/coin/dot/txnSchema.d.ts.map +1 -0
- package/dist/src/coin/dot/txnSchema.js +104 -0
- package/dist/src/coin/dot/unnominateBuilder.d.ts +24 -0
- package/dist/src/coin/dot/unnominateBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/unnominateBuilder.js +50 -0
- package/dist/src/coin/dot/unstakeBuilder.d.ts +38 -0
- package/dist/src/coin/dot/unstakeBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/unstakeBuilder.js +89 -0
- package/dist/src/coin/dot/utils.d.ts +145 -0
- package/dist/src/coin/dot/utils.d.ts.map +1 -0
- package/dist/src/coin/dot/utils.js +283 -0
- package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts +38 -0
- package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/withdrawUnstakedBuilder.js +90 -0
- package/dist/src/coin/etc/index.d.ts +8 -0
- package/dist/src/coin/etc/index.d.ts.map +1 -0
- package/dist/src/coin/etc/index.js +35 -0
- package/dist/src/coin/etc/resources.d.ts +10 -0
- package/dist/src/coin/etc/resources.d.ts.map +1 -0
- package/dist/src/coin/etc/resources.js +26 -0
- package/dist/src/coin/etc/transactionBuilder.d.ts +17 -0
- package/dist/src/coin/etc/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/etc/transactionBuilder.js +45 -0
- package/dist/src/coin/etc/transferBuilder.d.ts +19 -0
- package/dist/src/coin/etc/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/etc/transferBuilder.js +27 -0
- package/dist/src/coin/etc/utils.d.ts +18 -0
- package/dist/src/coin/etc/utils.d.ts.map +1 -0
- package/dist/src/coin/etc/utils.js +42 -0
- package/dist/src/coin/eth/contractCall.d.ts +8 -0
- package/dist/src/coin/eth/contractCall.d.ts.map +1 -0
- package/dist/src/coin/eth/contractCall.js +17 -0
- package/dist/src/coin/eth/iface.d.ts +122 -0
- package/dist/src/coin/eth/iface.d.ts.map +1 -0
- package/dist/src/coin/eth/iface.js +8 -0
- package/dist/src/coin/eth/index.d.ts +10 -0
- package/dist/src/coin/eth/index.d.ts.map +1 -0
- package/dist/src/coin/eth/index.js +39 -0
- package/dist/src/coin/eth/keyPair.d.ts +26 -0
- package/dist/src/coin/eth/keyPair.d.ts.map +1 -0
- package/dist/src/coin/eth/keyPair.js +85 -0
- package/dist/src/coin/eth/transaction.d.ts +64 -0
- package/dist/src/coin/eth/transaction.d.ts.map +1 -0
- package/dist/src/coin/eth/transaction.js +137 -0
- package/dist/src/coin/eth/transactionBuilder.d.ts +194 -0
- package/dist/src/coin/eth/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/eth/transactionBuilder.js +624 -0
- package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts +47 -0
- package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts.map +1 -0
- package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.js +113 -0
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts +14 -0
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts.map +1 -0
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.js +83 -0
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts +13 -0
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts.map +1 -0
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.js +68 -0
- package/dist/src/coin/eth/transferBuilder.d.ts +65 -0
- package/dist/src/coin/eth/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/eth/transferBuilder.js +197 -0
- package/dist/src/coin/eth/types.d.ts +39 -0
- package/dist/src/coin/eth/types.d.ts.map +1 -0
- package/dist/src/coin/eth/types.js +135 -0
- package/dist/src/coin/eth/utils.d.ts +201 -0
- package/dist/src/coin/eth/utils.d.ts.map +1 -0
- package/dist/src/coin/eth/utils.js +486 -0
- package/dist/src/coin/eth/walletUtil.d.ts +21 -0
- package/dist/src/coin/eth/walletUtil.d.ts.map +1 -0
- package/dist/src/coin/eth/walletUtil.js +31 -0
- package/dist/src/coin/eth2/index.d.ts +2 -0
- package/dist/src/coin/eth2/index.d.ts.map +1 -0
- package/dist/src/coin/eth2/index.js +6 -0
- package/dist/src/coin/eth2/keyPair.d.ts +33 -0
- package/dist/src/coin/eth2/keyPair.d.ts.map +1 -0
- package/dist/src/coin/eth2/keyPair.js +65 -0
- package/dist/src/coin/hbar/constants.d.ts +8 -0
- package/dist/src/coin/hbar/constants.d.ts.map +1 -0
- package/dist/src/coin/hbar/constants.js +12 -0
- package/dist/src/coin/hbar/iface.d.ts +26 -0
- package/dist/src/coin/hbar/iface.d.ts.map +1 -0
- package/dist/src/coin/hbar/iface.js +3 -0
- package/dist/src/coin/hbar/ifaces.d.ts +26 -0
- package/dist/src/coin/hbar/ifaces.d.ts.map +1 -0
- package/dist/src/coin/hbar/ifaces.js +3 -0
- package/dist/src/coin/hbar/index.d.ts +6 -0
- package/dist/src/coin/hbar/index.d.ts.map +1 -0
- package/dist/src/coin/hbar/index.js +31 -0
- package/dist/src/coin/hbar/keyPair.d.ts +23 -0
- package/dist/src/coin/hbar/keyPair.d.ts.map +1 -0
- package/dist/src/coin/hbar/keyPair.js +70 -0
- package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts +35 -0
- package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts.map +1 -0
- package/dist/src/coin/hbar/tokenAssociateBuilder.js +118 -0
- package/dist/src/coin/hbar/transaction.d.ts +97 -0
- package/dist/src/coin/hbar/transaction.d.ts.map +1 -0
- package/dist/src/coin/hbar/transaction.js +255 -0
- package/dist/src/coin/hbar/transactionBuilder.d.ts +111 -0
- package/dist/src/coin/hbar/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/hbar/transactionBuilder.js +270 -0
- package/dist/src/coin/hbar/transactionBuilderFactory.d.ts +42 -0
- package/dist/src/coin/hbar/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/hbar/transactionBuilderFactory.js +79 -0
- package/dist/src/coin/hbar/transferBuilder.d.ts +43 -0
- package/dist/src/coin/hbar/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/hbar/transferBuilder.js +124 -0
- package/dist/src/coin/hbar/utils.d.ts +186 -0
- package/dist/src/coin/hbar/utils.d.ts.map +1 -0
- package/dist/src/coin/hbar/utils.js +400 -0
- package/dist/src/coin/hbar/walletInitializationBuilder.d.ts +28 -0
- package/dist/src/coin/hbar/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/hbar/walletInitializationBuilder.js +110 -0
- package/dist/src/coin/near/constants.d.ts +12 -0
- package/dist/src/coin/near/constants.d.ts.map +1 -0
- package/dist/src/coin/near/constants.js +15 -0
- package/dist/src/coin/near/contractCallWrapper.d.ts +33 -0
- package/dist/src/coin/near/contractCallWrapper.d.ts.map +1 -0
- package/dist/src/coin/near/contractCallWrapper.js +68 -0
- package/dist/src/coin/near/errors.d.ts +5 -0
- package/dist/src/coin/near/errors.d.ts.map +1 -0
- package/dist/src/coin/near/errors.js +12 -0
- package/dist/src/coin/near/iface.d.ts +40 -0
- package/dist/src/coin/near/iface.d.ts.map +1 -0
- package/dist/src/coin/near/iface.js +8 -0
- package/dist/src/coin/near/index.d.ts +11 -0
- package/dist/src/coin/near/index.d.ts.map +1 -0
- package/dist/src/coin/near/index.js +41 -0
- package/dist/src/coin/near/keyPair.d.ts +25 -0
- package/dist/src/coin/near/keyPair.d.ts.map +1 -0
- package/dist/src/coin/near/keyPair.js +73 -0
- package/dist/src/coin/near/stakingActivateBuilder.d.ts +32 -0
- package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +1 -0
- package/dist/src/coin/near/stakingActivateBuilder.js +90 -0
- package/dist/src/coin/near/stakingDeactivateBuilder.d.ts +32 -0
- package/dist/src/coin/near/stakingDeactivateBuilder.d.ts.map +1 -0
- package/dist/src/coin/near/stakingDeactivateBuilder.js +89 -0
- package/dist/src/coin/near/stakingWithdrawBuilder.d.ts +32 -0
- package/dist/src/coin/near/stakingWithdrawBuilder.d.ts.map +1 -0
- package/dist/src/coin/near/stakingWithdrawBuilder.js +89 -0
- package/dist/src/coin/near/transaction.d.ts +90 -0
- package/dist/src/coin/near/transaction.d.ts.map +1 -0
- package/dist/src/coin/near/transaction.js +368 -0
- package/dist/src/coin/near/transactionBuilder.d.ts +89 -0
- package/dist/src/coin/near/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/near/transactionBuilder.js +216 -0
- package/dist/src/coin/near/transactionBuilderFactory.d.ts +30 -0
- package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/near/transactionBuilderFactory.js +71 -0
- package/dist/src/coin/near/transferBuilder.d.ts +26 -0
- package/dist/src/coin/near/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/near/transferBuilder.js +72 -0
- package/dist/src/coin/near/utils.d.ts +42 -0
- package/dist/src/coin/near/utils.d.ts.map +1 -0
- package/dist/src/coin/near/utils.js +85 -0
- package/dist/src/coin/near/walletInitializationBuilder.d.ts +12 -0
- package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/near/walletInitializationBuilder.js +20 -0
- package/dist/src/coin/polygon/index.d.ts +8 -0
- package/dist/src/coin/polygon/index.d.ts.map +1 -0
- package/dist/src/coin/polygon/index.js +35 -0
- package/dist/src/coin/polygon/resources.d.ts +10 -0
- package/dist/src/coin/polygon/resources.d.ts.map +1 -0
- package/dist/src/coin/polygon/resources.js +25 -0
- package/dist/src/coin/polygon/transactionBuilder.d.ts +17 -0
- package/dist/src/coin/polygon/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/polygon/transactionBuilder.js +44 -0
- package/dist/src/coin/polygon/transferBuilder.d.ts +19 -0
- package/dist/src/coin/polygon/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/polygon/transferBuilder.js +27 -0
- package/dist/src/coin/polygon/utils.d.ts +18 -0
- package/dist/src/coin/polygon/utils.d.ts.map +1 -0
- package/dist/src/coin/polygon/utils.js +42 -0
- package/dist/src/coin/polygon/walletUtil.d.ts +48 -0
- package/dist/src/coin/polygon/walletUtil.d.ts.map +1 -0
- package/dist/src/coin/polygon/walletUtil.js +632 -0
- package/dist/src/coin/rbtc/index.d.ts +8 -0
- package/dist/src/coin/rbtc/index.d.ts.map +1 -0
- package/dist/src/coin/rbtc/index.js +35 -0
- package/dist/src/coin/rbtc/resources.d.ts +10 -0
- package/dist/src/coin/rbtc/resources.d.ts.map +1 -0
- package/dist/src/coin/rbtc/resources.js +25 -0
- package/dist/src/coin/rbtc/transactionBuilder.d.ts +17 -0
- package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/rbtc/transactionBuilder.js +44 -0
- package/dist/src/coin/rbtc/transferBuilder.d.ts +19 -0
- package/dist/src/coin/rbtc/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/rbtc/transferBuilder.js +27 -0
- package/dist/src/coin/rbtc/utils.d.ts +18 -0
- package/dist/src/coin/rbtc/utils.d.ts.map +1 -0
- package/dist/src/coin/rbtc/utils.js +42 -0
- package/dist/src/coin/sol/ataInitializationBuilder.d.ts +41 -0
- package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/ataInitializationBuilder.js +110 -0
- package/dist/src/coin/sol/ataInitializationTransaction.d.ts +14 -0
- package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +1 -0
- package/dist/src/coin/sol/ataInitializationTransaction.js +81 -0
- package/dist/src/coin/sol/constants.d.ts +58 -0
- package/dist/src/coin/sol/constants.d.ts.map +1 -0
- package/dist/src/coin/sol/constants.js +76 -0
- package/dist/src/coin/sol/iface.d.ts +99 -0
- package/dist/src/coin/sol/iface.d.ts.map +1 -0
- package/dist/src/coin/sol/iface.js +3 -0
- package/dist/src/coin/sol/index.d.ts +11 -0
- package/dist/src/coin/sol/index.d.ts.map +1 -0
- package/dist/src/coin/sol/index.js +41 -0
- package/dist/src/coin/sol/instructionParamsFactory.d.ts +12 -0
- package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +1 -0
- package/dist/src/coin/sol/instructionParamsFactory.js +260 -0
- package/dist/src/coin/sol/keyPair.d.ts +26 -0
- package/dist/src/coin/sol/keyPair.d.ts.map +1 -0
- package/dist/src/coin/sol/keyPair.js +63 -0
- package/dist/src/coin/sol/solInstructionFactory.d.ts +10 -0
- package/dist/src/coin/sol/solInstructionFactory.d.ts.map +1 -0
- package/dist/src/coin/sol/solInstructionFactory.js +213 -0
- package/dist/src/coin/sol/stakingActivateBuilder.d.ts +41 -0
- package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/stakingActivateBuilder.js +94 -0
- package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +23 -0
- package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/stakingDeactivateBuilder.js +62 -0
- package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +31 -0
- package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/stakingWithdrawBuilder.js +78 -0
- package/dist/src/coin/sol/tokenEncodeDecode.d.ts +85 -0
- package/dist/src/coin/sol/tokenEncodeDecode.d.ts.map +1 -0
- package/dist/src/coin/sol/tokenEncodeDecode.js +133 -0
- package/dist/src/coin/sol/tokenTransferBuilder.d.ts +27 -0
- package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/tokenTransferBuilder.js +73 -0
- package/dist/src/coin/sol/transaction.d.ts +61 -0
- package/dist/src/coin/sol/transaction.d.ts.map +1 -0
- package/dist/src/coin/sol/transaction.js +369 -0
- package/dist/src/coin/sol/transactionBuilder.d.ts +101 -0
- package/dist/src/coin/sol/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/transactionBuilder.js +261 -0
- package/dist/src/coin/sol/transactionBuilderFactory.d.ts +76 -0
- package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/sol/transactionBuilderFactory.js +136 -0
- package/dist/src/coin/sol/transferBuilder.d.ts +26 -0
- package/dist/src/coin/sol/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/transferBuilder.js +67 -0
- package/dist/src/coin/sol/utils.d.ts +146 -0
- package/dist/src/coin/sol/utils.d.ts.map +1 -0
- package/dist/src/coin/sol/utils.js +361 -0
- package/dist/src/coin/sol/walletInitializationBuilder.d.ts +26 -0
- package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/walletInitializationBuilder.js +71 -0
- package/dist/src/coin/stx/abstractContractBuilder.d.ts +19 -0
- package/dist/src/coin/stx/abstractContractBuilder.d.ts.map +1 -0
- package/dist/src/coin/stx/abstractContractBuilder.js +70 -0
- package/dist/src/coin/stx/constants.d.ts +8 -0
- package/dist/src/coin/stx/constants.d.ts.map +1 -0
- package/dist/src/coin/stx/constants.js +19 -0
- package/dist/src/coin/stx/contractBuilder.d.ts +33 -0
- package/dist/src/coin/stx/contractBuilder.d.ts.map +1 -0
- package/dist/src/coin/stx/contractBuilder.js +116 -0
- package/dist/src/coin/stx/iface.d.ts +48 -0
- package/dist/src/coin/stx/iface.d.ts.map +1 -0
- package/dist/src/coin/stx/iface.js +3 -0
- package/dist/src/coin/stx/index.d.ts +6 -0
- package/dist/src/coin/stx/index.d.ts.map +1 -0
- package/dist/src/coin/stx/index.js +32 -0
- package/dist/src/coin/stx/keyPair.d.ts +55 -0
- package/dist/src/coin/stx/keyPair.d.ts.map +1 -0
- package/dist/src/coin/stx/keyPair.js +140 -0
- package/dist/src/coin/stx/sendmanyBuilder.d.ts +23 -0
- package/dist/src/coin/stx/sendmanyBuilder.d.ts.map +1 -0
- package/dist/src/coin/stx/sendmanyBuilder.js +75 -0
- package/dist/src/coin/stx/transaction.d.ts +49 -0
- package/dist/src/coin/stx/transaction.d.ts.map +1 -0
- package/dist/src/coin/stx/transaction.js +225 -0
- package/dist/src/coin/stx/transactionBuilder.d.ts +86 -0
- package/dist/src/coin/stx/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/stx/transactionBuilder.js +263 -0
- package/dist/src/coin/stx/transactionBuilderFactory.d.ts +30 -0
- package/dist/src/coin/stx/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/stx/transactionBuilderFactory.js +81 -0
- package/dist/src/coin/stx/transferBuilder.d.ts +30 -0
- package/dist/src/coin/stx/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/stx/transferBuilder.js +99 -0
- package/dist/src/coin/stx/utils.d.ts +207 -0
- package/dist/src/coin/stx/utils.d.ts.map +1 -0
- package/dist/src/coin/stx/utils.js +503 -0
- package/dist/src/coin/trx/address.d.ts +11 -0
- package/dist/src/coin/trx/address.d.ts.map +1 -0
- package/dist/src/coin/trx/address.js +13 -0
- package/dist/src/coin/trx/contractCallBuilder.d.ts +96 -0
- package/dist/src/coin/trx/contractCallBuilder.d.ts.map +1 -0
- package/dist/src/coin/trx/contractCallBuilder.js +281 -0
- package/dist/src/coin/trx/enum.d.ts +23 -0
- package/dist/src/coin/trx/enum.d.ts.map +1 -0
- package/dist/src/coin/trx/enum.js +28 -0
- package/dist/src/coin/trx/iface.d.ts +92 -0
- package/dist/src/coin/trx/iface.d.ts.map +1 -0
- package/dist/src/coin/trx/iface.js +3 -0
- package/dist/src/coin/trx/index.d.ts +10 -0
- package/dist/src/coin/trx/index.d.ts.map +1 -0
- package/dist/src/coin/trx/index.js +39 -0
- package/dist/src/coin/trx/keyPair.d.ts +44 -0
- package/dist/src/coin/trx/keyPair.d.ts.map +1 -0
- package/dist/src/coin/trx/keyPair.js +121 -0
- package/dist/src/coin/trx/transaction.d.ts +74 -0
- package/dist/src/coin/trx/transaction.d.ts.map +1 -0
- package/dist/src/coin/trx/transaction.js +205 -0
- package/dist/src/coin/trx/transactionBuilder.d.ts +65 -0
- package/dist/src/coin/trx/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/trx/transactionBuilder.js +215 -0
- package/dist/src/coin/trx/utils.d.ts +127 -0
- package/dist/src/coin/trx/utils.d.ts.map +1 -0
- package/dist/src/coin/trx/utils.js +369 -0
- package/dist/src/coin/trx/wrappedBuilder.d.ts +52 -0
- package/dist/src/coin/trx/wrappedBuilder.d.ts.map +1 -0
- package/dist/src/coin/trx/wrappedBuilder.js +104 -0
- package/dist/src/coin/xrp/index.d.ts +5 -0
- package/dist/src/coin/xrp/index.d.ts.map +1 -0
- package/dist/src/coin/xrp/index.js +29 -0
- package/dist/src/coin/xrp/keyPair.d.ts +10 -0
- package/dist/src/coin/xrp/keyPair.d.ts.map +1 -0
- package/dist/src/coin/xrp/keyPair.js +16 -0
- package/dist/src/coin/xrp/transaction.d.ts +10 -0
- package/dist/src/coin/xrp/transaction.d.ts.map +1 -0
- package/dist/src/coin/xrp/transaction.js +20 -0
- package/dist/src/coin/xrp/transactionBuilder.d.ts +27 -0
- package/dist/src/coin/xrp/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/xrp/transactionBuilder.js +46 -0
- package/dist/src/coin/xrp/transactionBuilderFactory.d.ts +24 -0
- package/dist/src/coin/xrp/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/xrp/transactionBuilderFactory.js +38 -0
- package/dist/src/coin/xrp/transferBuilder.d.ts +14 -0
- package/dist/src/coin/xrp/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/xrp/transferBuilder.js +24 -0
- package/dist/src/coin/xrp/utils.d.ts +16 -0
- package/dist/src/coin/xrp/utils.d.ts.map +1 -0
- package/dist/src/coin/xrp/utils.js +32 -0
- package/dist/src/coin/xrp/walletInitializationBuilder.d.ts +14 -0
- package/dist/src/coin/xrp/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/xrp/walletInitializationBuilder.js +24 -0
- package/dist/src/coin/xtz/address.d.ts +8 -0
- package/dist/src/coin/xtz/address.d.ts.map +1 -0
- package/dist/src/coin/xtz/address.js +10 -0
- package/dist/src/coin/xtz/iface.d.ts +81 -0
- package/dist/src/coin/xtz/iface.d.ts.map +1 -0
- package/dist/src/coin/xtz/iface.js +3 -0
- package/dist/src/coin/xtz/index.d.ts +8 -0
- package/dist/src/coin/xtz/index.d.ts.map +1 -0
- package/dist/src/coin/xtz/index.js +37 -0
- package/dist/src/coin/xtz/keyPair.d.ts +40 -0
- package/dist/src/coin/xtz/keyPair.d.ts.map +1 -0
- package/dist/src/coin/xtz/keyPair.js +136 -0
- package/dist/src/coin/xtz/multisigUtils.d.ts +134 -0
- package/dist/src/coin/xtz/multisigUtils.d.ts.map +1 -0
- package/dist/src/coin/xtz/multisigUtils.js +1180 -0
- package/dist/src/coin/xtz/transaction.d.ts +119 -0
- package/dist/src/coin/xtz/transaction.d.ts.map +1 -0
- package/dist/src/coin/xtz/transaction.js +315 -0
- package/dist/src/coin/xtz/transactionBuilder.d.ts +171 -0
- package/dist/src/coin/xtz/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/xtz/transactionBuilder.js +453 -0
- package/dist/src/coin/xtz/transferBuilder.d.ts +24 -0
- package/dist/src/coin/xtz/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/xtz/transferBuilder.js +64 -0
- package/dist/src/coin/xtz/utils.d.ts +265 -0
- package/dist/src/coin/xtz/utils.d.ts.map +1 -0
- package/dist/src/coin/xtz/utils.js +460 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -2
- package/dist/src/mpc/curves/baseCurve.d.ts +18 -0
- package/dist/src/mpc/curves/baseCurve.d.ts.map +1 -0
- package/dist/src/mpc/curves/baseCurve.js +6 -0
- package/dist/src/mpc/curves/ed25519.d.ts +17 -0
- package/dist/src/mpc/curves/ed25519.d.ts.map +1 -0
- package/dist/src/mpc/curves/ed25519.js +48 -0
- package/dist/src/mpc/curves/index.d.ts +5 -0
- package/dist/src/mpc/curves/index.d.ts.map +1 -0
- package/dist/src/mpc/curves/index.js +6 -0
- package/dist/src/mpc/curves/secp256k1.d.ts +16 -0
- package/dist/src/mpc/curves/secp256k1.d.ts.map +1 -0
- package/dist/src/mpc/curves/secp256k1.js +66 -0
- package/dist/src/mpc/curves.d.ts +29 -0
- package/dist/src/mpc/curves.d.ts.map +1 -0
- package/dist/src/mpc/curves.js +96 -0
- package/dist/src/mpc/hdTree.d.ts +24 -0
- package/dist/src/mpc/hdTree.d.ts.map +1 -0
- package/dist/src/mpc/hdTree.js +143 -0
- package/dist/src/mpc/shamir.d.ts +26 -0
- package/dist/src/mpc/shamir.d.ts.map +1 -0
- package/dist/src/mpc/shamir.js +87 -0
- package/dist/src/mpc/tss/eddsa/eddsa.d.ts +29 -0
- package/dist/src/mpc/tss/eddsa/eddsa.d.ts.map +1 -0
- package/dist/src/mpc/tss/eddsa/eddsa.js +273 -0
- package/dist/src/mpc/tss/eddsa/index.d.ts +4 -0
- package/dist/src/mpc/tss/eddsa/index.d.ts.map +1 -0
- package/dist/src/mpc/tss/eddsa/index.js +30 -0
- package/dist/src/mpc/tss/eddsa/types.d.ts +70 -0
- package/dist/src/mpc/tss/eddsa/types.d.ts.map +1 -0
- package/dist/src/mpc/tss/eddsa/types.js +3 -0
- package/dist/src/mpc/tss/index.d.ts +5 -0
- package/dist/src/mpc/tss/index.d.ts.map +1 -0
- package/dist/src/mpc/tss/index.js +32 -0
- package/dist/src/mpc/tss.d.ts +98 -0
- package/dist/src/mpc/tss.d.ts.map +1 -0
- package/dist/src/mpc/tss.js +344 -0
- package/dist/src/mpc/util.d.ts +7 -0
- package/dist/src/mpc/util.d.ts.map +1 -0
- package/dist/src/mpc/util.js +38 -0
- package/dist/src/utils/crypto.d.ts +99 -0
- package/dist/src/utils/crypto.d.ts.map +1 -0
- package/dist/src/utils/crypto.js +260 -0
- package/dist/src/utils/ed25519KeyDeriver.d.ts +49 -0
- package/dist/src/utils/ed25519KeyDeriver.d.ts.map +1 -0
- package/dist/src/utils/ed25519KeyDeriver.js +92 -0
- package/dist/tsconfig.tsbuildinfo +7282 -1934
- package/package.json +24 -27
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TransferBuilder = void 0;
|
|
7
|
+
const ethereumjs_utils_old_1 = __importDefault(require("@bitgo/ethereumjs-utils-old"));
|
|
8
|
+
const ethereumjs_abi_1 = __importDefault(require("ethereumjs-abi"));
|
|
9
|
+
const statics_1 = require("@bitgo/statics");
|
|
10
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
11
|
+
const utils_1 = require("./utils");
|
|
12
|
+
/** ETH transfer builder */
|
|
13
|
+
class TransferBuilder {
|
|
14
|
+
constructor(serializedData) {
|
|
15
|
+
this._EMPTY_HEX_VALUE = '0x';
|
|
16
|
+
if (serializedData) {
|
|
17
|
+
this.decodeTransferData(serializedData);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
// initialize with default values for non mandatory fields
|
|
21
|
+
this._expirationTime = this.getExpirationTime();
|
|
22
|
+
this._data = this._EMPTY_HEX_VALUE;
|
|
23
|
+
this._signature = this._EMPTY_HEX_VALUE;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* A method to set the ERC20 token to be transferred.
|
|
28
|
+
* This ERC20 token may not be compatible with the network.
|
|
29
|
+
*
|
|
30
|
+
* @param {string} coin the ERC20 coin to be set
|
|
31
|
+
* @returns {TransferBuilder} the transfer builder instance modified
|
|
32
|
+
*/
|
|
33
|
+
coin(coin) {
|
|
34
|
+
this._coin = statics_1.coins.get(coin);
|
|
35
|
+
if (this._coin instanceof statics_1.ContractAddressDefinedToken) {
|
|
36
|
+
this._tokenContractAddress = this._coin.contractAddress.toString();
|
|
37
|
+
}
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
data(additionalData) {
|
|
41
|
+
this._signature = this._EMPTY_HEX_VALUE;
|
|
42
|
+
this._data = additionalData;
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
amount(amount) {
|
|
46
|
+
if (!utils_1.isValidAmount(amount)) {
|
|
47
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid amount');
|
|
48
|
+
}
|
|
49
|
+
this._signature = this._EMPTY_HEX_VALUE;
|
|
50
|
+
this._amount = amount;
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
to(address) {
|
|
54
|
+
if (utils_1.isValidEthAddress(address)) {
|
|
55
|
+
this._signature = this._EMPTY_HEX_VALUE;
|
|
56
|
+
this._toAddress = address;
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid address');
|
|
60
|
+
}
|
|
61
|
+
contractSequenceId(counter) {
|
|
62
|
+
if (counter >= 0) {
|
|
63
|
+
this._signature = this._EMPTY_HEX_VALUE;
|
|
64
|
+
this._sequenceId = counter;
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid contract sequence id');
|
|
68
|
+
}
|
|
69
|
+
key(signKey) {
|
|
70
|
+
this._signKey = signKey;
|
|
71
|
+
return this;
|
|
72
|
+
}
|
|
73
|
+
expirationTime(date) {
|
|
74
|
+
if (date > 0) {
|
|
75
|
+
this._signature = this._EMPTY_HEX_VALUE;
|
|
76
|
+
this._expirationTime = date;
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid expiration time');
|
|
80
|
+
}
|
|
81
|
+
signAndBuild() {
|
|
82
|
+
if (this.hasMandatoryFields()) {
|
|
83
|
+
if (this._tokenContractAddress !== undefined) {
|
|
84
|
+
return utils_1.sendMultiSigTokenData(this._toAddress, this._amount, this._tokenContractAddress, this._expirationTime, this._sequenceId, this.getSignature());
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
return utils_1.sendMultiSigData(this._toAddress, this._amount, this._data, this._expirationTime, this._sequenceId, this.getSignature());
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
throw new sdk_core_1.BuildTransactionError('Missing transfer mandatory fields. Amount, destination (to) address and sequenceID are mandatory');
|
|
91
|
+
}
|
|
92
|
+
hasMandatoryFields() {
|
|
93
|
+
return this._amount !== undefined && this._toAddress !== undefined && this._sequenceId !== undefined;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Obtains the proper operation hash to sign either a sendMultiSig data
|
|
97
|
+
* or a sendMultiSigToken data
|
|
98
|
+
*
|
|
99
|
+
* @returns {string} the operation hash
|
|
100
|
+
*/
|
|
101
|
+
getOperationHash() {
|
|
102
|
+
const operationData = this.getOperationData();
|
|
103
|
+
return ethereumjs_utils_old_1.default.bufferToHex(ethereumjs_abi_1.default.soliditySHA3(...operationData));
|
|
104
|
+
}
|
|
105
|
+
getOperationData() {
|
|
106
|
+
let operationData;
|
|
107
|
+
if (this._tokenContractAddress !== undefined) {
|
|
108
|
+
operationData = [
|
|
109
|
+
['string', 'address', 'uint', 'address', 'uint', 'uint'],
|
|
110
|
+
[
|
|
111
|
+
this.getTokenOperationHashPrefix(),
|
|
112
|
+
new ethereumjs_utils_old_1.default.BN(ethereumjs_utils_old_1.default.stripHexPrefix(this._toAddress), 16),
|
|
113
|
+
this._amount,
|
|
114
|
+
new ethereumjs_utils_old_1.default.BN(ethereumjs_utils_old_1.default.stripHexPrefix(this._tokenContractAddress), 16),
|
|
115
|
+
this._expirationTime,
|
|
116
|
+
this._sequenceId,
|
|
117
|
+
],
|
|
118
|
+
];
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
operationData = [
|
|
122
|
+
['string', 'address', 'uint', 'bytes', 'uint', 'uint'],
|
|
123
|
+
[
|
|
124
|
+
this.getNativeOperationHashPrefix(),
|
|
125
|
+
new ethereumjs_utils_old_1.default.BN(ethereumjs_utils_old_1.default.stripHexPrefix(this._toAddress), 16),
|
|
126
|
+
this._amount,
|
|
127
|
+
Buffer.from(ethereumjs_utils_old_1.default.stripHexPrefix(this._data) || '', 'hex'),
|
|
128
|
+
this._expirationTime,
|
|
129
|
+
this._sequenceId,
|
|
130
|
+
],
|
|
131
|
+
];
|
|
132
|
+
}
|
|
133
|
+
return operationData;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Get the prefix used in generating an operation hash for sending tokens
|
|
137
|
+
*
|
|
138
|
+
* @returns the string prefix
|
|
139
|
+
*/
|
|
140
|
+
getTokenOperationHashPrefix() {
|
|
141
|
+
return 'ERC20';
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Get the prefix used in generating an operation hash for sending native coins
|
|
145
|
+
*
|
|
146
|
+
* @returns the string prefix
|
|
147
|
+
*/
|
|
148
|
+
getNativeOperationHashPrefix() {
|
|
149
|
+
return 'ETHER';
|
|
150
|
+
}
|
|
151
|
+
/** Return an expiration time, in seconds, set to one hour from now
|
|
152
|
+
*
|
|
153
|
+
* @returns {number} expiration time
|
|
154
|
+
*/
|
|
155
|
+
getExpirationTime() {
|
|
156
|
+
const currentDate = new Date();
|
|
157
|
+
currentDate.setHours(currentDate.getHours() + 1);
|
|
158
|
+
return currentDate.getTime() / 1000;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* If a signing key is set for this builder, recalculates the signature
|
|
162
|
+
*
|
|
163
|
+
* @returns {string} the signature value
|
|
164
|
+
*/
|
|
165
|
+
getSignature() {
|
|
166
|
+
if (this._signKey) {
|
|
167
|
+
this._signature = this.ethSignMsgHash();
|
|
168
|
+
}
|
|
169
|
+
return this._signature;
|
|
170
|
+
}
|
|
171
|
+
ethSignMsgHash() {
|
|
172
|
+
const data = this.getOperationHash();
|
|
173
|
+
const signatureInParts = ethereumjs_utils_old_1.default.ecsign(Buffer.from(ethereumjs_utils_old_1.default.stripHexPrefix(data), 'hex'), Buffer.from(this._signKey, 'hex'));
|
|
174
|
+
// Assemble strings from r, s and v
|
|
175
|
+
const r = ethereumjs_utils_old_1.default.setLengthLeft(signatureInParts.r, 32).toString('hex');
|
|
176
|
+
const s = ethereumjs_utils_old_1.default.setLengthLeft(signatureInParts.s, 32).toString('hex');
|
|
177
|
+
const v = ethereumjs_utils_old_1.default.stripHexPrefix(ethereumjs_utils_old_1.default.intToHex(signatureInParts.v));
|
|
178
|
+
// Concatenate the r, s and v parts to make the signature string
|
|
179
|
+
return ethereumjs_utils_old_1.default.addHexPrefix(r.concat(s, v));
|
|
180
|
+
}
|
|
181
|
+
decodeTransferData(data) {
|
|
182
|
+
const transferData = utils_1.decodeTransferData(data);
|
|
183
|
+
this._toAddress = transferData.to;
|
|
184
|
+
this._amount = transferData.amount;
|
|
185
|
+
this._expirationTime = transferData.expireTime;
|
|
186
|
+
this._sequenceId = transferData.sequenceId;
|
|
187
|
+
this._signature = transferData.signature;
|
|
188
|
+
if (transferData.data) {
|
|
189
|
+
this._data = transferData.data;
|
|
190
|
+
}
|
|
191
|
+
if (transferData.tokenContractAddress) {
|
|
192
|
+
this._tokenContractAddress = transferData.tokenContractAddress;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
exports.TransferBuilder = TransferBuilder;
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vZXRoL3RyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1RkFBa0Q7QUFDbEQsb0VBQXlDO0FBQ3pDLDRDQUE4RTtBQUM5RSw4Q0FBb0Y7QUFDcEYsbUNBQXdIO0FBRXhILDJCQUEyQjtBQUMzQixNQUFhLGVBQWU7SUFZMUIsWUFBWSxjQUF1QjtRQVhsQixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFZdkMsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3pDO2FBQU07WUFDTCwwREFBMEQ7WUFDMUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxJQUFJLENBQUMsSUFBWTtRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU3QixJQUFJLElBQUksQ0FBQyxLQUFLLFlBQVkscUNBQTJCLEVBQUU7WUFDckQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3BFO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxDQUFDLGNBQXNCO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ3hDLElBQUksQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDO1FBQzVCLE9BQU8sSUFB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Qyw4QkFBTyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZFLGdFQUFnRTtRQUNoRSxPQUFPLDhCQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVPLGtCQUFrQixDQUFDLElBQVk7UUFDckMsTUFBTSxZQUFZLEdBQUcsMEJBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxJQUFJLENBQUMsZUFBZSxHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUM7UUFDL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQztRQUV6QyxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUU7WUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO1NBQ2hDO1FBRUQsSUFBSSxZQUFZLENBQUMsb0JBQW9CLEVBQUU7WUFDckMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQztTQUNoRTtJQUNILENBQUM7Q0FDRjtBQXhPRCwwQ0F3T0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZXRoVXRpbCBmcm9tICdAYml0Z28vZXRoZXJldW1qcy11dGlscy1vbGQnO1xuaW1wb3J0IEV0aGVyZXVtQWJpIGZyb20gJ2V0aGVyZXVtanMtYWJpJztcbmltcG9ydCB7IGNvaW5zLCBCYXNlQ29pbiwgQ29udHJhY3RBZGRyZXNzRGVmaW5lZFRva2VuIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvciB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBkZWNvZGVUcmFuc2ZlckRhdGEsIHNlbmRNdWx0aVNpZ0RhdGEsIHNlbmRNdWx0aVNpZ1Rva2VuRGF0YSwgaXNWYWxpZEV0aEFkZHJlc3MsIGlzVmFsaWRBbW91bnQgfSBmcm9tICcuL3V0aWxzJztcblxuLyoqIEVUSCB0cmFuc2ZlciBidWlsZGVyICovXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJCdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfRU1QVFlfSEVYX1ZBTFVFID0gJzB4JztcbiAgcHJvdGVjdGVkIF9hbW91bnQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF90b0FkZHJlc3M6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9zZXF1ZW5jZUlkOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfc2lnbktleTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2V4cGlyYXRpb25UaW1lOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfc2lnbmF0dXJlOiBzdHJpbmc7XG4gIHByaXZhdGUgX2RhdGE6IHN0cmluZztcbiAgcHJpdmF0ZSBfdG9rZW5Db250cmFjdEFkZHJlc3M/OiBzdHJpbmc7XG4gIHByaXZhdGUgX2NvaW46IFJlYWRvbmx5PEJhc2VDb2luPjtcblxuICBjb25zdHJ1Y3RvcihzZXJpYWxpemVkRGF0YT86IHN0cmluZykge1xuICAgIGlmIChzZXJpYWxpemVkRGF0YSkge1xuICAgICAgdGhpcy5kZWNvZGVUcmFuc2ZlckRhdGEoc2VyaWFsaXplZERhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpbml0aWFsaXplIHdpdGggZGVmYXVsdCB2YWx1ZXMgZm9yIG5vbiBtYW5kYXRvcnkgZmllbGRzXG4gICAgICB0aGlzLl9leHBpcmF0aW9uVGltZSA9IHRoaXMuZ2V0RXhwaXJhdGlvblRpbWUoKTtcbiAgICAgIHRoaXMuX2RhdGEgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgICB0aGlzLl9zaWduYXR1cmUgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHRvIHNldCB0aGUgRVJDMjAgdG9rZW4gdG8gYmUgdHJhbnNmZXJyZWQuXG4gICAqIFRoaXMgRVJDMjAgdG9rZW4gbWF5IG5vdCBiZSBjb21wYXRpYmxlIHdpdGggdGhlIG5ldHdvcmsuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb2luIHRoZSBFUkMyMCBjb2luIHRvIGJlIHNldFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSB0aGUgdHJhbnNmZXIgYnVpbGRlciBpbnN0YW5jZSBtb2RpZmllZFxuICAgKi9cbiAgY29pbihjb2luOiBzdHJpbmcpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHRoaXMuX2NvaW4gPSBjb2lucy5nZXQoY29pbik7XG5cbiAgICBpZiAodGhpcy5fY29pbiBpbnN0YW5jZW9mIENvbnRyYWN0QWRkcmVzc0RlZmluZWRUb2tlbikge1xuICAgICAgdGhpcy5fdG9rZW5Db250cmFjdEFkZHJlc3MgPSB0aGlzLl9jb2luLmNvbnRyYWN0QWRkcmVzcy50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZGF0YShhZGRpdGlvbmFsRGF0YTogc3RyaW5nKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICB0aGlzLl9zaWduYXR1cmUgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgdGhpcy5fZGF0YSA9IGFkZGl0aW9uYWxEYXRhO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgYW1vdW50KGFtb3VudDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkQW1vdW50KGFtb3VudCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhbW91bnQnKTtcbiAgICB9XG4gICAgdGhpcy5fc2lnbmF0dXJlID0gdGhpcy5fRU1QVFlfSEVYX1ZBTFVFO1xuICAgIHRoaXMuX2Ftb3VudCA9IGFtb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHRvKGFkZHJlc3M6IHN0cmluZyk6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgaWYgKGlzVmFsaWRFdGhBZGRyZXNzKGFkZHJlc3MpKSB7XG4gICAgICB0aGlzLl9zaWduYXR1cmUgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgICB0aGlzLl90b0FkZHJlc3MgPSBhZGRyZXNzO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhZGRyZXNzJyk7XG4gIH1cblxuICBjb250cmFjdFNlcXVlbmNlSWQoY291bnRlcjogbnVtYmVyKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICBpZiAoY291bnRlciA+PSAwKSB7XG4gICAgICB0aGlzLl9zaWduYXR1cmUgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgICB0aGlzLl9zZXF1ZW5jZUlkID0gY291bnRlcjtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgY29udHJhY3Qgc2VxdWVuY2UgaWQnKTtcbiAgfVxuXG4gIGtleShzaWduS2V5OiBzdHJpbmcpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHRoaXMuX3NpZ25LZXkgPSBzaWduS2V5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZXhwaXJhdGlvblRpbWUoZGF0ZTogbnVtYmVyKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICBpZiAoZGF0ZSA+IDApIHtcbiAgICAgIHRoaXMuX3NpZ25hdHVyZSA9IHRoaXMuX0VNUFRZX0hFWF9WQUxVRTtcbiAgICAgIHRoaXMuX2V4cGlyYXRpb25UaW1lID0gZGF0ZTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgZXhwaXJhdGlvbiB0aW1lJyk7XG4gIH1cblxuICBzaWduQW5kQnVpbGQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5oYXNNYW5kYXRvcnlGaWVsZHMoKSkge1xuICAgICAgaWYgKHRoaXMuX3Rva2VuQ29udHJhY3RBZGRyZXNzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHNlbmRNdWx0aVNpZ1Rva2VuRGF0YShcbiAgICAgICAgICB0aGlzLl90b0FkZHJlc3MsXG4gICAgICAgICAgdGhpcy5fYW1vdW50LFxuICAgICAgICAgIHRoaXMuX3Rva2VuQ29udHJhY3RBZGRyZXNzLFxuICAgICAgICAgIHRoaXMuX2V4cGlyYXRpb25UaW1lLFxuICAgICAgICAgIHRoaXMuX3NlcXVlbmNlSWQsXG4gICAgICAgICAgdGhpcy5nZXRTaWduYXR1cmUoKSxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBzZW5kTXVsdGlTaWdEYXRhKFxuICAgICAgICAgIHRoaXMuX3RvQWRkcmVzcyxcbiAgICAgICAgICB0aGlzLl9hbW91bnQsXG4gICAgICAgICAgdGhpcy5fZGF0YSxcbiAgICAgICAgICB0aGlzLl9leHBpcmF0aW9uVGltZSxcbiAgICAgICAgICB0aGlzLl9zZXF1ZW5jZUlkLFxuICAgICAgICAgIHRoaXMuZ2V0U2lnbmF0dXJlKCksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAnTWlzc2luZyB0cmFuc2ZlciBtYW5kYXRvcnkgZmllbGRzLiBBbW91bnQsIGRlc3RpbmF0aW9uICh0bykgYWRkcmVzcyBhbmQgc2VxdWVuY2VJRCBhcmUgbWFuZGF0b3J5JyxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNNYW5kYXRvcnlGaWVsZHMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Ftb3VudCAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX3RvQWRkcmVzcyAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX3NlcXVlbmNlSWQgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRhaW5zIHRoZSBwcm9wZXIgb3BlcmF0aW9uIGhhc2ggdG8gc2lnbiBlaXRoZXIgYSBzZW5kTXVsdGlTaWcgZGF0YVxuICAgKiBvciBhIHNlbmRNdWx0aVNpZ1Rva2VuIGRhdGFcbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ30gdGhlIG9wZXJhdGlvbiBoYXNoXG4gICAqL1xuICBwcml2YXRlIGdldE9wZXJhdGlvbkhhc2goKTogc3RyaW5nIHtcbiAgICBjb25zdCBvcGVyYXRpb25EYXRhID0gdGhpcy5nZXRPcGVyYXRpb25EYXRhKCk7XG4gICAgcmV0dXJuIGV0aFV0aWwuYnVmZmVyVG9IZXgoRXRoZXJldW1BYmkuc29saWRpdHlTSEEzKC4uLm9wZXJhdGlvbkRhdGEpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRPcGVyYXRpb25EYXRhKCk6IChzdHJpbmcgfCBCdWZmZXIpW11bXSB7XG4gICAgbGV0IG9wZXJhdGlvbkRhdGE7XG4gICAgaWYgKHRoaXMuX3Rva2VuQ29udHJhY3RBZGRyZXNzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9wZXJhdGlvbkRhdGEgPSBbXG4gICAgICAgIFsnc3RyaW5nJywgJ2FkZHJlc3MnLCAndWludCcsICdhZGRyZXNzJywgJ3VpbnQnLCAndWludCddLFxuICAgICAgICBbXG4gICAgICAgICAgdGhpcy5nZXRUb2tlbk9wZXJhdGlvbkhhc2hQcmVmaXgoKSxcbiAgICAgICAgICBuZXcgZXRoVXRpbC5CTihldGhVdGlsLnN0cmlwSGV4UHJlZml4KHRoaXMuX3RvQWRkcmVzcyksIDE2KSxcbiAgICAgICAgICB0aGlzLl9hbW91bnQsXG4gICAgICAgICAgbmV3IGV0aFV0aWwuQk4oZXRoVXRpbC5zdHJpcEhleFByZWZpeCh0aGlzLl90b2tlbkNvbnRyYWN0QWRkcmVzcyksIDE2KSxcbiAgICAgICAgICB0aGlzLl9leHBpcmF0aW9uVGltZSxcbiAgICAgICAgICB0aGlzLl9zZXF1ZW5jZUlkLFxuICAgICAgICBdLFxuICAgICAgXTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3BlcmF0aW9uRGF0YSA9IFtcbiAgICAgICAgWydzdHJpbmcnLCAnYWRkcmVzcycsICd1aW50JywgJ2J5dGVzJywgJ3VpbnQnLCAndWludCddLFxuICAgICAgICBbXG4gICAgICAgICAgdGhpcy5nZXROYXRpdmVPcGVyYXRpb25IYXNoUHJlZml4KCksXG4gICAgICAgICAgbmV3IGV0aFV0aWwuQk4oZXRoVXRpbC5zdHJpcEhleFByZWZpeCh0aGlzLl90b0FkZHJlc3MpLCAxNiksXG4gICAgICAgICAgdGhpcy5fYW1vdW50LFxuICAgICAgICAgIEJ1ZmZlci5mcm9tKGV0aFV0aWwuc3RyaXBIZXhQcmVmaXgodGhpcy5fZGF0YSkgfHwgJycsICdoZXgnKSxcbiAgICAgICAgICB0aGlzLl9leHBpcmF0aW9uVGltZSxcbiAgICAgICAgICB0aGlzLl9zZXF1ZW5jZUlkLFxuICAgICAgICBdLFxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIG9wZXJhdGlvbkRhdGE7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBwcmVmaXggdXNlZCBpbiBnZW5lcmF0aW5nIGFuIG9wZXJhdGlvbiBoYXNoIGZvciBzZW5kaW5nIHRva2Vuc1xuICAgKlxuICAgKiBAcmV0dXJucyB0aGUgc3RyaW5nIHByZWZpeFxuICAgKi9cbiAgcHJvdGVjdGVkIGdldFRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnRVJDMjAnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcHJlZml4IHVzZWQgaW4gZ2VuZXJhdGluZyBhbiBvcGVyYXRpb24gaGFzaCBmb3Igc2VuZGluZyBuYXRpdmUgY29pbnNcbiAgICpcbiAgICogQHJldHVybnMgdGhlIHN0cmluZyBwcmVmaXhcbiAgICovXG4gIHByb3RlY3RlZCBnZXROYXRpdmVPcGVyYXRpb25IYXNoUHJlZml4KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdFVEhFUic7XG4gIH1cblxuICAvKiogUmV0dXJuIGFuIGV4cGlyYXRpb24gdGltZSwgaW4gc2Vjb25kcywgc2V0IHRvIG9uZSBob3VyIGZyb20gbm93XG4gICAqXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IGV4cGlyYXRpb24gdGltZVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRFeHBpcmF0aW9uVGltZSgpOiBudW1iZXIge1xuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcbiAgICBjdXJyZW50RGF0ZS5zZXRIb3VycyhjdXJyZW50RGF0ZS5nZXRIb3VycygpICsgMSk7XG4gICAgcmV0dXJuIGN1cnJlbnREYXRlLmdldFRpbWUoKSAvIDEwMDA7XG4gIH1cblxuICAvKipcbiAgICogSWYgYSBzaWduaW5nIGtleSBpcyBzZXQgZm9yIHRoaXMgYnVpbGRlciwgcmVjYWxjdWxhdGVzIHRoZSBzaWduYXR1cmVcbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ30gdGhlIHNpZ25hdHVyZSB2YWx1ZVxuICAgKi9cbiAgcHJvdGVjdGVkIGdldFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLl9zaWduS2V5KSB7XG4gICAgICB0aGlzLl9zaWduYXR1cmUgPSB0aGlzLmV0aFNpZ25Nc2dIYXNoKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9zaWduYXR1cmUhO1xuICB9XG5cbiAgcHJvdGVjdGVkIGV0aFNpZ25Nc2dIYXNoKCk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZ2V0T3BlcmF0aW9uSGFzaCgpO1xuICAgIGNvbnN0IHNpZ25hdHVyZUluUGFydHMgPSBldGhVdGlsLmVjc2lnbihcbiAgICAgIEJ1ZmZlci5mcm9tKGV0aFV0aWwuc3RyaXBIZXhQcmVmaXgoZGF0YSksICdoZXgnKSxcbiAgICAgIEJ1ZmZlci5mcm9tKHRoaXMuX3NpZ25LZXksICdoZXgnKSxcbiAgICApO1xuXG4gICAgLy8gQXNzZW1ibGUgc3RyaW5ncyBmcm9tIHIsIHMgYW5kIHZcbiAgICBjb25zdCByID0gZXRoVXRpbC5zZXRMZW5ndGhMZWZ0KHNpZ25hdHVyZUluUGFydHMuciwgMzIpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCBzID0gZXRoVXRpbC5zZXRMZW5ndGhMZWZ0KHNpZ25hdHVyZUluUGFydHMucywgMzIpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCB2ID0gZXRoVXRpbC5zdHJpcEhleFByZWZpeChldGhVdGlsLmludFRvSGV4KHNpZ25hdHVyZUluUGFydHMudikpO1xuXG4gICAgLy8gQ29uY2F0ZW5hdGUgdGhlIHIsIHMgYW5kIHYgcGFydHMgdG8gbWFrZSB0aGUgc2lnbmF0dXJlIHN0cmluZ1xuICAgIHJldHVybiBldGhVdGlsLmFkZEhleFByZWZpeChyLmNvbmNhdChzLCB2KSk7XG4gIH1cblxuICBwcml2YXRlIGRlY29kZVRyYW5zZmVyRGF0YShkYXRhOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB0cmFuc2ZlckRhdGEgPSBkZWNvZGVUcmFuc2ZlckRhdGEoZGF0YSk7XG5cbiAgICB0aGlzLl90b0FkZHJlc3MgPSB0cmFuc2ZlckRhdGEudG87XG4gICAgdGhpcy5fYW1vdW50ID0gdHJhbnNmZXJEYXRhLmFtb3VudDtcbiAgICB0aGlzLl9leHBpcmF0aW9uVGltZSA9IHRyYW5zZmVyRGF0YS5leHBpcmVUaW1lO1xuICAgIHRoaXMuX3NlcXVlbmNlSWQgPSB0cmFuc2ZlckRhdGEuc2VxdWVuY2VJZDtcbiAgICB0aGlzLl9zaWduYXR1cmUgPSB0cmFuc2ZlckRhdGEuc2lnbmF0dXJlO1xuXG4gICAgaWYgKHRyYW5zZmVyRGF0YS5kYXRhKSB7XG4gICAgICB0aGlzLl9kYXRhID0gdHJhbnNmZXJEYXRhLmRhdGE7XG4gICAgfVxuXG4gICAgaWYgKHRyYW5zZmVyRGF0YS50b2tlbkNvbnRyYWN0QWRkcmVzcykge1xuICAgICAgdGhpcy5fdG9rZW5Db250cmFjdEFkZHJlc3MgPSB0cmFuc2ZlckRhdGEudG9rZW5Db250cmFjdEFkZHJlc3M7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { TypedTransaction } from '@ethereumjs/tx';
|
|
2
|
+
import EthereumCommon from '@ethereumjs/common';
|
|
3
|
+
import { EthLikeTransactionData, TxData } from './iface';
|
|
4
|
+
import { KeyPair } from './keyPair';
|
|
5
|
+
/**
|
|
6
|
+
* An Ethereum transaction with helpers for serialization and deserialization.
|
|
7
|
+
*/
|
|
8
|
+
export declare class EthTransactionData implements EthLikeTransactionData {
|
|
9
|
+
private tx;
|
|
10
|
+
protected args?: {
|
|
11
|
+
deployedAddress?: string;
|
|
12
|
+
chainId?: string;
|
|
13
|
+
};
|
|
14
|
+
constructor(tx: TypedTransaction, args?: {
|
|
15
|
+
deployedAddress?: string;
|
|
16
|
+
chainId?: string;
|
|
17
|
+
});
|
|
18
|
+
/**
|
|
19
|
+
* Build an thereum transaction from its JSON representation
|
|
20
|
+
*
|
|
21
|
+
* @param {TxData} tx The JSON representation of the transaction
|
|
22
|
+
* @param {EthereumCommon} common Class to access chain and hardfork parameters
|
|
23
|
+
* @returns {EthTransactionData} a new ethereum transaction object
|
|
24
|
+
*/
|
|
25
|
+
static fromJson(tx: TxData, common: EthereumCommon): EthTransactionData;
|
|
26
|
+
/**
|
|
27
|
+
* Build an ethereum transaction from its string serialization
|
|
28
|
+
*
|
|
29
|
+
* @param tx The string serialization of the ethereum transaction
|
|
30
|
+
* @param common
|
|
31
|
+
*/
|
|
32
|
+
static fromSerialized(tx: string, common: EthereumCommon): EthTransactionData;
|
|
33
|
+
sign(keyPair: KeyPair): void;
|
|
34
|
+
/** @inheritdoc */
|
|
35
|
+
toJson(): TxData;
|
|
36
|
+
/** @inheritdoc */
|
|
37
|
+
toSerialized(): string;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/coin/eth/types.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAIjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EAA6B,sBAAsB,EAAoC,MAAM,EAAE,MAAM,SAAS,CAAC;AACtH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;GAEG;AACH,qBAAa,kBAAmB,YAAW,sBAAsB;IAC/D,OAAO,CAAC,EAAE,CAAmB;IAC7B,SAAS,CAAC,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;gBAEpD,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAKvF;;;;;;OAMG;WACW,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,kBAAkB;IAuC9E;;;;;OAKG;WACW,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,kBAAkB;IAMpF,IAAI,CAAC,OAAO,EAAE,OAAO;IAKrB,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAuDhB,kBAAkB;IAClB,YAAY,IAAI,MAAM;CAGvB"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.EthTransactionData = void 0;
|
|
7
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
|
+
const tx_1 = require("@ethereumjs/tx");
|
|
9
|
+
const ethereumjs_utils_old_1 = require("@bitgo/ethereumjs-utils-old");
|
|
10
|
+
const ethereumjs_util_1 = require("ethereumjs-util");
|
|
11
|
+
const iface_1 = require("./iface");
|
|
12
|
+
// https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/tx/src/transactionFactory.ts#L31
|
|
13
|
+
const LEGACY_TX_TYPE = 0;
|
|
14
|
+
const EIP1559_TX_TYPE = 2;
|
|
15
|
+
/**
|
|
16
|
+
* An Ethereum transaction with helpers for serialization and deserialization.
|
|
17
|
+
*/
|
|
18
|
+
class EthTransactionData {
|
|
19
|
+
constructor(tx, args) {
|
|
20
|
+
this.tx = tx;
|
|
21
|
+
this.args = args;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Build an thereum transaction from its JSON representation
|
|
25
|
+
*
|
|
26
|
+
* @param {TxData} tx The JSON representation of the transaction
|
|
27
|
+
* @param {EthereumCommon} common Class to access chain and hardfork parameters
|
|
28
|
+
* @returns {EthTransactionData} a new ethereum transaction object
|
|
29
|
+
*/
|
|
30
|
+
static fromJson(tx, common) {
|
|
31
|
+
const nonce = ethereumjs_util_1.addHexPrefix(new bignumber_js_1.default(tx.nonce).toString(16));
|
|
32
|
+
const value = ethereumjs_util_1.addHexPrefix(new bignumber_js_1.default(tx.value).toString(16));
|
|
33
|
+
const gasLimit = ethereumjs_util_1.addHexPrefix(new bignumber_js_1.default(tx.gasLimit).toString(16));
|
|
34
|
+
const chainId = tx.chainId ? ethereumjs_util_1.addHexPrefix(new bignumber_js_1.default(tx.chainId).toString(16)) : undefined;
|
|
35
|
+
const gasPrice = isLegacyTx(tx) ? ethereumjs_util_1.addHexPrefix(new bignumber_js_1.default(tx.gasPrice).toString(16)) : undefined;
|
|
36
|
+
const maxFeePerGas = isEIP1559Txn(tx) ? ethereumjs_util_1.addHexPrefix(new bignumber_js_1.default(tx.maxFeePerGas).toString(16)) : undefined;
|
|
37
|
+
const maxPriorityFeePerGas = isEIP1559Txn(tx)
|
|
38
|
+
? ethereumjs_util_1.addHexPrefix(new bignumber_js_1.default(tx.maxPriorityFeePerGas).toString(16))
|
|
39
|
+
: undefined;
|
|
40
|
+
return new EthTransactionData(tx_1.TransactionFactory.fromTxData({
|
|
41
|
+
type: isLegacyTx(tx) ? LEGACY_TX_TYPE : EIP1559_TX_TYPE,
|
|
42
|
+
chainId,
|
|
43
|
+
nonce,
|
|
44
|
+
to: tx.to,
|
|
45
|
+
gasPrice,
|
|
46
|
+
gasLimit,
|
|
47
|
+
maxFeePerGas,
|
|
48
|
+
maxPriorityFeePerGas,
|
|
49
|
+
value,
|
|
50
|
+
data: tx.data,
|
|
51
|
+
v: tx.v,
|
|
52
|
+
r: tx.r,
|
|
53
|
+
s: tx.s,
|
|
54
|
+
}, { common: common }), {
|
|
55
|
+
deployedAddress: tx.deployedAddress,
|
|
56
|
+
chainId: ethereumjs_util_1.addHexPrefix(new bignumber_js_1.default(Number(tx.chainId)).toString(16)),
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Build an ethereum transaction from its string serialization
|
|
61
|
+
*
|
|
62
|
+
* @param tx The string serialization of the ethereum transaction
|
|
63
|
+
* @param common
|
|
64
|
+
*/
|
|
65
|
+
static fromSerialized(tx, common) {
|
|
66
|
+
return new EthTransactionData(tx_1.TransactionFactory.fromSerializedData(ethereumjs_util_1.toBuffer(ethereumjs_util_1.addHexPrefix(tx)), { common: common }));
|
|
67
|
+
}
|
|
68
|
+
sign(keyPair) {
|
|
69
|
+
const privateKey = Buffer.from(keyPair.getKeys().prv, 'hex');
|
|
70
|
+
this.tx = this.tx.sign(privateKey);
|
|
71
|
+
}
|
|
72
|
+
/** @inheritdoc */
|
|
73
|
+
toJson() {
|
|
74
|
+
const result = {
|
|
75
|
+
nonce: ethereumjs_utils_old_1.bufferToInt(this.tx.nonce),
|
|
76
|
+
gasLimit: new bignumber_js_1.default(ethereumjs_utils_old_1.bufferToHex(this.tx.gasLimit), 16).toString(10),
|
|
77
|
+
value: this.tx.value.toString(10),
|
|
78
|
+
data: ethereumjs_utils_old_1.bufferToHex(this.tx.data),
|
|
79
|
+
};
|
|
80
|
+
if (this.tx.isSigned()) {
|
|
81
|
+
result.id = ethereumjs_util_1.addHexPrefix(ethereumjs_utils_old_1.bufferToHex(this.tx.hash()));
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
result.id = ethereumjs_util_1.addHexPrefix(ethereumjs_utils_old_1.bufferToHex(this.tx.getMessageToSign()));
|
|
85
|
+
}
|
|
86
|
+
if (this.tx.to) {
|
|
87
|
+
result.to = ethereumjs_utils_old_1.bufferToHex(this.tx.to.toBuffer());
|
|
88
|
+
}
|
|
89
|
+
if (this.tx.verifySignature()) {
|
|
90
|
+
result.from = ethereumjs_utils_old_1.bufferToHex(this.tx.getSenderAddress().toBuffer());
|
|
91
|
+
result.r = ethereumjs_utils_old_1.bufferToHex(this.tx.r);
|
|
92
|
+
result.s = ethereumjs_utils_old_1.bufferToHex(this.tx.s);
|
|
93
|
+
}
|
|
94
|
+
if (this.tx.v) {
|
|
95
|
+
result.v = ethereumjs_utils_old_1.bufferToHex(this.tx.v);
|
|
96
|
+
}
|
|
97
|
+
result.chainId = ethereumjs_util_1.addHexPrefix(this.tx.common.chainIdBN().toString(16));
|
|
98
|
+
if (this.args && this.args.deployedAddress) {
|
|
99
|
+
result.deployedAddress = this.args.deployedAddress;
|
|
100
|
+
}
|
|
101
|
+
if (this.tx instanceof tx_1.Transaction) {
|
|
102
|
+
const gasPrice = new bignumber_js_1.default(ethereumjs_utils_old_1.bufferToHex(this.tx.gasPrice), 16).toString(10);
|
|
103
|
+
return {
|
|
104
|
+
...result,
|
|
105
|
+
_type: iface_1.ETHTransactionType.LEGACY,
|
|
106
|
+
gasPrice,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
else if (this.tx instanceof tx_1.FeeMarketEIP1559Transaction) {
|
|
110
|
+
const maxFeePerGas = new bignumber_js_1.default(ethereumjs_utils_old_1.bufferToHex(this.tx.maxFeePerGas), 16).toString(10);
|
|
111
|
+
const maxPriorityFeePerGas = new bignumber_js_1.default(ethereumjs_utils_old_1.bufferToHex(this.tx.maxPriorityFeePerGas), 16).toString(10);
|
|
112
|
+
return {
|
|
113
|
+
...result,
|
|
114
|
+
_type: iface_1.ETHTransactionType.EIP1559,
|
|
115
|
+
maxFeePerGas,
|
|
116
|
+
maxPriorityFeePerGas,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
throw new Error(`Unsupported tx type: ${tx_1.AccessListEIP2930Transaction.name}`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/** @inheritdoc */
|
|
124
|
+
toSerialized() {
|
|
125
|
+
return ethereumjs_util_1.addHexPrefix(this.tx.serialize().toString('hex'));
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
exports.EthTransactionData = EthTransactionData;
|
|
129
|
+
function isLegacyTx(tx) {
|
|
130
|
+
return tx._type === iface_1.ETHTransactionType.LEGACY;
|
|
131
|
+
}
|
|
132
|
+
function isEIP1559Txn(tx) {
|
|
133
|
+
return tx._type === iface_1.ETHTransactionType.EIP1559;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9ldGgvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0VBQXFDO0FBQ3JDLHVDQU13QjtBQUV4QixzRUFBdUU7QUFDdkUscURBQXlEO0FBQ3pELG1DQUFzSDtBQUd0SCwwR0FBMEc7QUFDMUcsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQztBQUUxQjs7R0FFRztBQUNILE1BQWEsa0JBQWtCO0lBSTdCLFlBQVksRUFBb0IsRUFBRSxJQUFxRDtRQUNyRixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQVUsRUFBRSxNQUFzQjtRQUN2RCxNQUFNLEtBQUssR0FBRyw4QkFBWSxDQUFDLElBQUksc0JBQVMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakUsTUFBTSxLQUFLLEdBQUcsOEJBQVksQ0FBQyxJQUFJLHNCQUFTLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sUUFBUSxHQUFHLDhCQUFZLENBQUMsSUFBSSxzQkFBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2RSxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyw4QkFBWSxDQUFDLElBQUksc0JBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMs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SSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0NBQ0Y7QUFwSUQsZ0RBb0lDO0FBRUQsU0FBUyxVQUFVLENBQUMsRUFBVTtJQUM1QixPQUFPLEVBQUUsQ0FBQyxLQUFLLEtBQUssMEJBQWtCLENBQUMsTUFBTSxDQUFDO0FBQ2hELENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxFQUFVO0lBQzlCLE9BQU8sRUFBRSxDQUFDLEtBQUssS0FBSywwQkFBa0IsQ0FBQyxPQUFPLENBQUM7QUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7XG4gIFRyYW5zYWN0aW9uRmFjdG9yeSxcbiAgVHlwZWRUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb24gYXMgTGVnYWN5VHJhbnNhY3Rpb24sXG4gIEZlZU1hcmtldEVJUDE1NTlUcmFuc2FjdGlvbixcbiAgQWNjZXNzTGlzdEVJUDI5MzBUcmFuc2FjdGlvbixcbn0gZnJvbSAnQGV0aGVyZXVtanMvdHgnO1xuaW1wb3J0IEV0aGVyZXVtQ29tbW9uIGZyb20gJ0BldGhlcmV1bWpzL2NvbW1vbic7XG5pbXBvcnQgeyBidWZmZXJUb0hleCwgYnVmZmVyVG9JbnQgfSBmcm9tICdAYml0Z28vZXRoZXJldW1qcy11dGlscy1vbGQnO1xuaW1wb3J0IHsgdG9CdWZmZXIsIGFkZEhleFByZWZpeCB9IGZyb20gJ2V0aGVyZXVtanMtdXRpbCc7XG5pbXBvcnQgeyBCYXNlVHhEYXRhLCBFSVAxNTU5VHhEYXRhLCBFdGhMaWtlVHJhbnNhY3Rpb25EYXRhLCBMZWdhY3lUeERhdGEsIEVUSFRyYW5zYWN0aW9uVHlwZSwgVHhEYXRhIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2V0aGVyZXVtanMvZXRoZXJldW1qcy1tb25vcmVwby9ibG9iL21hc3Rlci9wYWNrYWdlcy90eC9zcmMvdHJhbnNhY3Rpb25GYWN0b3J5LnRzI0wzMVxuY29uc3QgTEVHQUNZX1RYX1RZUEUgPSAwO1xuY29uc3QgRUlQMTU1OV9UWF9UWVBFID0gMjtcblxuLyoqXG4gKiBBbiBFdGhlcmV1bSB0cmFuc2FjdGlvbiB3aXRoIGhlbHBlcnMgZm9yIHNlcmlhbGl6YXRpb24gYW5kIGRlc2VyaWFsaXphdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEV0aFRyYW5zYWN0aW9uRGF0YSBpbXBsZW1lbnRzIEV0aExpa2VUcmFuc2FjdGlvbkRhdGEge1xuICBwcml2YXRlIHR4OiBUeXBlZFRyYW5zYWN0aW9uO1xuICBwcm90ZWN0ZWQgYXJncz86IHsgZGVwbG95ZWRBZGRyZXNzPzogc3RyaW5nOyBjaGFpbklkPzogc3RyaW5nIH07XG5cbiAgY29uc3RydWN0b3IodHg6IFR5cGVkVHJhbnNhY3Rpb24sIGFyZ3M/OiB7IGRlcGxveWVkQWRkcmVzcz86IHN0cmluZzsgY2hhaW5JZD86IHN0cmluZyB9KSB7XG4gICAgdGhpcy50eCA9IHR4O1xuICAgIHRoaXMuYXJncyA9IGFyZ3M7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYW4gdGhlcmV1bSB0cmFuc2FjdGlvbiBmcm9tIGl0cyBKU09OIHJlcHJlc2VudGF0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VHhEYXRhfSB0eCBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGUgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHtFdGhlcmV1bUNvbW1vbn0gY29tbW9uIENsYXNzIHRvIGFjY2VzcyBjaGFpbiBhbmQgaGFyZGZvcmsgcGFyYW1ldGVyc1xuICAgKiBAcmV0dXJucyB7RXRoVHJhbnNhY3Rpb25EYXRhfSBhIG5ldyBldGhlcmV1bSB0cmFuc2FjdGlvbiBvYmplY3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUpzb24odHg6IFR4RGF0YSwgY29tbW9uOiBFdGhlcmV1bUNvbW1vbik6IEV0aFRyYW5zYWN0aW9uRGF0YSB7XG4gICAgY29uc3Qgbm9uY2UgPSBhZGRIZXhQcmVmaXgobmV3IEJpZ051bWJlcih0eC5ub25jZSkudG9TdHJpbmcoMTYpKTtcbiAgICBjb25zdCB2YWx1ZSA9IGFkZEhleFByZWZpeChuZXcgQmlnTnVtYmVyKHR4LnZhbHVlKS50b1N0cmluZygxNikpO1xuICAgIGNvbnN0IGdhc0xpbWl0ID0gYWRkSGV4UHJlZml4KG5ldyBCaWdOdW1iZXIodHguZ2FzTGltaXQpLnRvU3RyaW5nKDE2KSk7XG4gICAgY29uc3QgY2hhaW5JZCA9IHR4LmNoYWluSWQgPyBhZGRIZXhQcmVmaXgobmV3IEJpZ051bWJlcih0eC5jaGFpbklkKS50b1N0cmluZygxNikpIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgZ2FzUHJpY2UgPSBpc0xlZ2FjeVR4KHR4KSA/IGFkZEhleFByZWZpeChuZXcgQmlnTnVtYmVyKHR4Lmdhc1ByaWNlKS50b1N0cmluZygxNikpIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgbWF4RmVlUGVyR2FzID0gaXNFSVAxNTU5VHhuKHR4KSA/IGFkZEhleFByZWZpeChuZXcgQmlnTnVtYmVyKHR4Lm1heEZlZVBlckdhcykudG9TdHJpbmcoMTYpKSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBtYXhQcmlvcml0eUZlZVBlckdhcyA9IGlzRUlQMTU1OVR4bih0eClcbiAgICAgID8gYWRkSGV4UHJlZml4KG5ldyBCaWdOdW1iZXIodHgubWF4UHJpb3JpdHlGZWVQZXJHYXMpLnRvU3RyaW5nKDE2KSlcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIG5ldyBFdGhUcmFuc2FjdGlvbkRhdGEoXG4gICAgICBUcmFuc2FjdGlvbkZhY3RvcnkuZnJvbVR4RGF0YShcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IGlzTGVnYWN5VHgodHgpID8gTEVHQUNZX1RYX1RZUEUgOiBFSVAxNTU5X1RYX1RZUEUsXG4gICAgICAgICAgY2hhaW5JZCxcbiAgICAgICAgICBub25jZSxcbiAgICAgICAgICB0bzogdHgudG8sXG4gICAgICAgICAgZ2FzUHJpY2UsXG4gICAgICAgICAgZ2FzTGltaXQsXG4gICAgICAgICAgbWF4RmVlUGVyR2FzLFxuICAgICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzLFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIGRhdGE6IHR4LmRhdGEsXG4gICAgICAgICAgdjogdHgudixcbiAgICAgICAgICByOiB0eC5yLFxuICAgICAgICAgIHM6IHR4LnMsXG4gICAgICAgIH0sXG4gICAgICAgIHsgY29tbW9uOiBjb21tb24gfSxcbiAgICAgICksXG4gICAgICB7XG4gICAgICAgIGRlcGxveWVkQWRkcmVzczogdHguZGVwbG95ZWRBZGRyZXNzLFxuICAgICAgICBjaGFpbklkOiBhZGRIZXhQcmVmaXgobmV3IEJpZ051bWJlcihOdW1iZXIodHguY2hhaW5JZCkpLnRvU3RyaW5nKDE2KSksXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYW4gZXRoZXJldW0gdHJhbnNhY3Rpb24gZnJvbSBpdHMgc3RyaW5nIHNlcmlhbGl6YXRpb25cbiAgICpcbiAgICogQHBhcmFtIHR4IFRoZSBzdHJpbmcgc2VyaWFsaXphdGlvbiBvZiB0aGUgZXRoZXJldW0gdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIGNvbW1vblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tU2VyaWFsaXplZCh0eDogc3RyaW5nLCBjb21tb246IEV0aGVyZXVtQ29tbW9uKTogRXRoVHJhbnNhY3Rpb25EYXRhIHtcbiAgICByZXR1cm4gbmV3IEV0aFRyYW5zYWN0aW9uRGF0YShcbiAgICAgIFRyYW5zYWN0aW9uRmFjdG9yeS5mcm9tU2VyaWFsaXplZERhdGEodG9CdWZmZXIoYWRkSGV4UHJlZml4KHR4KSksIHsgY29tbW9uOiBjb21tb24gfSksXG4gICAgKTtcbiAgfVxuXG4gIHNpZ24oa2V5UGFpcjogS2V5UGFpcikge1xuICAgIGNvbnN0IHByaXZhdGVLZXkgPSBCdWZmZXIuZnJvbShrZXlQYWlyLmdldEtleXMoKS5wcnYgYXMgc3RyaW5nLCAnaGV4Jyk7XG4gICAgdGhpcy50eCA9IHRoaXMudHguc2lnbihwcml2YXRlS2V5KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0pzb24oKTogVHhEYXRhIHtcbiAgICBjb25zdCByZXN1bHQ6IEJhc2VUeERhdGEgPSB7XG4gICAgICBub25jZTogYnVmZmVyVG9JbnQodGhpcy50eC5ub25jZSksXG4gICAgICBnYXNMaW1pdDogbmV3IEJpZ051bWJlcihidWZmZXJUb0hleCh0aGlzLnR4Lmdhc0xpbWl0KSwgMTYpLnRvU3RyaW5nKDEwKSxcbiAgICAgIHZhbHVlOiB0aGlzLnR4LnZhbHVlLnRvU3RyaW5nKDEwKSxcbiAgICAgIGRhdGE6IGJ1ZmZlclRvSGV4KHRoaXMudHguZGF0YSksXG4gICAgfTtcblxuICAgIGlmICh0aGlzLnR4LmlzU2lnbmVkKCkpIHtcbiAgICAgIHJlc3VsdC5pZCA9IGFkZEhleFByZWZpeChidWZmZXJUb0hleCh0aGlzLnR4Lmhhc2goKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQuaWQgPSBhZGRIZXhQcmVmaXgoYnVmZmVyVG9IZXgodGhpcy50eC5nZXRNZXNzYWdlVG9TaWduKCkpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50eC50bykge1xuICAgICAgcmVzdWx0LnRvID0gYnVmZmVyVG9IZXgodGhpcy50eC50by50b0J1ZmZlcigpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50eC52ZXJpZnlTaWduYXR1cmUoKSkge1xuICAgICAgcmVzdWx0LmZyb20gPSBidWZmZXJUb0hleCh0aGlzLnR4LmdldFNlbmRlckFkZHJlc3MoKS50b0J1ZmZlcigpKTtcbiAgICAgIHJlc3VsdC5yID0gYnVmZmVyVG9IZXgodGhpcy50eC5yKTtcbiAgICAgIHJlc3VsdC5zID0gYnVmZmVyVG9IZXgodGhpcy50eC5zKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudHgudikge1xuICAgICAgcmVzdWx0LnYgPSBidWZmZXJUb0hleCh0aGlzLnR4LnYpO1xuICAgIH1cbiAgICByZXN1bHQuY2hhaW5JZCA9IGFkZEhleFByZWZpeCh0aGlzLnR4LmNvbW1vbi5jaGFpbklkQk4oKS50b1N0cmluZygxNikpO1xuXG4gICAgaWYgKHRoaXMuYXJncyAmJiB0aGlzLmFyZ3MuZGVwbG95ZWRBZGRyZXNzKSB7XG4gICAgICByZXN1bHQuZGVwbG95ZWRBZGRyZXNzID0gdGhpcy5hcmdzLmRlcGxveWVkQWRkcmVzcztcbiAgICB9XG5cbiAgICBpZiAodGhpcy50eCBpbnN0YW5jZW9mIExlZ2FjeVRyYW5zYWN0aW9uKSB7XG4gICAgICBjb25zdCBnYXNQcmljZSA9IG5ldyBCaWdOdW1iZXIoYnVmZmVyVG9IZXgodGhpcy50eC5nYXNQcmljZSksIDE2KS50b1N0cmluZygxMCk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgX3R5cGU6IEVUSFRyYW5zYWN0aW9uVHlwZS5MRUdBQ1ksXG4gICAgICAgIGdhc1ByaWNlLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudHggaW5zdGFuY2VvZiBGZWVNYXJrZXRFSVAxNTU5VHJhbnNhY3Rpb24pIHtcbiAgICAgIGNvbnN0IG1heEZlZVBlckdhcyA9IG5ldyBCaWdOdW1iZXIoYnVmZmVyVG9IZXgodGhpcy50eC5tYXhGZWVQZXJHYXMpLCAxNikudG9TdHJpbmcoMTApO1xuICAgICAgY29uc3QgbWF4UHJpb3JpdHlGZWVQZXJHYXMgPSBuZXcgQmlnTnVtYmVyKGJ1ZmZlclRvSGV4KHRoaXMudHgubWF4UHJpb3JpdHlGZWVQZXJHYXMpLCAxNikudG9TdHJpbmcoMTApO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgIF90eXBlOiBFVEhUcmFuc2FjdGlvblR5cGUuRUlQMTU1OSxcbiAgICAgICAgbWF4RmVlUGVyR2FzLFxuICAgICAgICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgdHggdHlwZTogJHtBY2Nlc3NMaXN0RUlQMjkzMFRyYW5zYWN0aW9uLm5hbWV9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvU2VyaWFsaXplZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBhZGRIZXhQcmVmaXgodGhpcy50eC5zZXJpYWxpemUoKS50b1N0cmluZygnaGV4JykpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzTGVnYWN5VHgodHg6IFR4RGF0YSk6IHR4IGlzIExlZ2FjeVR4RGF0YSB7XG4gIHJldHVybiB0eC5fdHlwZSA9PT0gRVRIVHJhbnNhY3Rpb25UeXBlLkxFR0FDWTtcbn1cblxuZnVuY3Rpb24gaXNFSVAxNTU5VHhuKHR4OiBUeERhdGEpOiB0eCBpcyBFSVAxNTU5VHhEYXRhIHtcbiAgcmV0dXJuIHR4Ll90eXBlID09PSBFVEhUcmFuc2FjdGlvblR5cGUuRUlQMTU1OTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { BaseCoin, BaseNetwork, EthereumNetwork } from '@bitgo/statics';
|
|
3
|
+
import EthereumCommon from '@ethereumjs/common';
|
|
4
|
+
import { TransactionType } from '@bitgo/sdk-core';
|
|
5
|
+
import { ERC1155TransferData, ERC721TransferData, FlushTokensData, NativeTransferData, SignatureParts, TokenTransferData, TransferData, TxData } from './iface';
|
|
6
|
+
import { KeyPair } from './keyPair';
|
|
7
|
+
/**
|
|
8
|
+
* @param network
|
|
9
|
+
*/
|
|
10
|
+
export declare function getCommon(network: EthereumNetwork): EthereumCommon;
|
|
11
|
+
/**
|
|
12
|
+
* Signs the transaction using the appropriate algorithm
|
|
13
|
+
* and the provided common for the blockchain
|
|
14
|
+
*
|
|
15
|
+
* @param {TxData} transactionData the transaction data to sign
|
|
16
|
+
* @param {KeyPair} keyPair the signer's keypair
|
|
17
|
+
* @param {EthereumCommon} customCommon the network's custom common
|
|
18
|
+
* @returns {string} the transaction signed and encoded
|
|
19
|
+
*/
|
|
20
|
+
export declare function signInternal(transactionData: TxData, keyPair: KeyPair, customCommon: EthereumCommon): Promise<string>;
|
|
21
|
+
/**
|
|
22
|
+
* Signs the transaction using the appropriate algorithm
|
|
23
|
+
*
|
|
24
|
+
* @param {TxData} transactionData the transaction data to sign
|
|
25
|
+
* @param {KeyPair} keyPair the signer's keypair
|
|
26
|
+
* @returns {string} the transaction signed and encoded
|
|
27
|
+
*/
|
|
28
|
+
export declare function sign(transactionData: TxData, keyPair: KeyPair): Promise<string>;
|
|
29
|
+
/**
|
|
30
|
+
* Returns the contract method encoded data
|
|
31
|
+
*
|
|
32
|
+
* @param {string} to destination address
|
|
33
|
+
* @param {number} value Amount to tranfer
|
|
34
|
+
* @param {string} data aditional method call data
|
|
35
|
+
* @param {number} expireTime expiration time for the transaction in seconds
|
|
36
|
+
* @param {number} sequenceId sequence id
|
|
37
|
+
* @param {string} signature signature of the call
|
|
38
|
+
* @returns {string} -- the contract method encoded data
|
|
39
|
+
*/
|
|
40
|
+
export declare function sendMultiSigData(to: string, value: string, data: string, expireTime: number, sequenceId: number, signature: string): string;
|
|
41
|
+
/**
|
|
42
|
+
* Returns the contract method encoded data
|
|
43
|
+
*
|
|
44
|
+
* @param {string} to destination address
|
|
45
|
+
* @param {number} value Amount to tranfer
|
|
46
|
+
* @param {string} tokenContractAddress the address of the erc20 token contract
|
|
47
|
+
* @param {number} expireTime expiration time for the transaction in seconds
|
|
48
|
+
* @param {number} sequenceId sequence id
|
|
49
|
+
* @param {string} signature signature of the call
|
|
50
|
+
* @returns {string} -- the contract method encoded data
|
|
51
|
+
*/
|
|
52
|
+
export declare function sendMultiSigTokenData(to: string, value: string, tokenContractAddress: string, expireTime: number, sequenceId: number, signature: string): string;
|
|
53
|
+
/**
|
|
54
|
+
* Get the data required to make a flush tokens contract call
|
|
55
|
+
*
|
|
56
|
+
* @param forwarderAddress The forwarder address to flush
|
|
57
|
+
* @param tokenAddress The token address to flush from
|
|
58
|
+
*/
|
|
59
|
+
export declare function flushTokensData(forwarderAddress: any, tokenAddress: any): string;
|
|
60
|
+
/**
|
|
61
|
+
* Get the data required to make a flush native coins contract call
|
|
62
|
+
*/
|
|
63
|
+
export declare function flushCoinsData(): string;
|
|
64
|
+
/**
|
|
65
|
+
* Returns the create forwarder method calling data
|
|
66
|
+
*
|
|
67
|
+
* @returns {string} - the createForwarder method encoded
|
|
68
|
+
*/
|
|
69
|
+
export declare function getAddressInitializationData(): string;
|
|
70
|
+
/**
|
|
71
|
+
* Returns whether or not the string is a valid Eth address
|
|
72
|
+
*
|
|
73
|
+
* @param {string} address - the tx hash to validate
|
|
74
|
+
* @returns {boolean} - the validation result
|
|
75
|
+
*/
|
|
76
|
+
export declare function isValidEthAddress(address: string): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Returns whether or not the string is a valid amount number
|
|
79
|
+
*
|
|
80
|
+
* @param {string} amount - the string to validate
|
|
81
|
+
* @returns {boolean} - the validation result
|
|
82
|
+
*/
|
|
83
|
+
export declare function isValidAmount(amount: string): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Returns the smart contract encoded data
|
|
86
|
+
*
|
|
87
|
+
* @param {string} data The wallet creation data to decode
|
|
88
|
+
* @returns {string[]} - The list of signer addresses
|
|
89
|
+
*/
|
|
90
|
+
export declare function decodeWalletCreationData(data: string): string[];
|
|
91
|
+
/**
|
|
92
|
+
* Decode the given ABI-encoded transfer data and return parsed fields
|
|
93
|
+
*
|
|
94
|
+
* @param data The data to decode
|
|
95
|
+
* @returns parsed transfer data
|
|
96
|
+
*/
|
|
97
|
+
export declare function decodeTransferData(data: string): TransferData;
|
|
98
|
+
/**
|
|
99
|
+
* Decode the given ABI-encoded transfer data for the sendMultisigToken function and return parsed fields
|
|
100
|
+
*
|
|
101
|
+
* @param data The data to decode
|
|
102
|
+
* @returns parsed token transfer data
|
|
103
|
+
*/
|
|
104
|
+
export declare function decodeTokenTransferData(data: string): TokenTransferData;
|
|
105
|
+
export declare function decodeERC721TransferData(data: string): ERC721TransferData;
|
|
106
|
+
export declare function decodeERC1155TransferData(data: string): ERC1155TransferData;
|
|
107
|
+
/**
|
|
108
|
+
* Decode the given ABI-encoded transfer data for the sendMultisig function and return parsed fields
|
|
109
|
+
*
|
|
110
|
+
* @param data The data to decode
|
|
111
|
+
* @returns parsed transfer data
|
|
112
|
+
*/
|
|
113
|
+
export declare function decodeNativeTransferData(data: string): NativeTransferData;
|
|
114
|
+
/**
|
|
115
|
+
* Decode the given ABI-encoded flush tokens data and return parsed fields
|
|
116
|
+
*
|
|
117
|
+
* @param data The data to decode
|
|
118
|
+
* @returns parsed transfer data
|
|
119
|
+
*/
|
|
120
|
+
export declare function decodeFlushTokensData(data: string): FlushTokensData;
|
|
121
|
+
/**
|
|
122
|
+
* Classify the given transaction data based as a transaction type.
|
|
123
|
+
* ETH transactions are defined by the first 8 bytes of the transaction data, also known as the method id
|
|
124
|
+
*
|
|
125
|
+
* @param {string} data The data to classify the transaction with
|
|
126
|
+
* @returns {TransactionType} The classified transaction type
|
|
127
|
+
*/
|
|
128
|
+
export declare function classifyTransaction(data: string): TransactionType;
|
|
129
|
+
/**
|
|
130
|
+
*
|
|
131
|
+
* @param {number} num number to be converted to hex
|
|
132
|
+
* @returns {string} the hex number
|
|
133
|
+
*/
|
|
134
|
+
export declare function numberToHexString(num: number): string;
|
|
135
|
+
/**
|
|
136
|
+
*
|
|
137
|
+
* @param {string} hex The hex string to be converted
|
|
138
|
+
* @returns {number} the resulting number
|
|
139
|
+
*/
|
|
140
|
+
export declare function hexStringToNumber(hex: string): number;
|
|
141
|
+
/**
|
|
142
|
+
* Generates an address of the forwarder address to be deployed
|
|
143
|
+
*
|
|
144
|
+
* @param {string} contractAddress the address which is creating this new address
|
|
145
|
+
* @param {number} contractCounter the nonce of the contract address
|
|
146
|
+
* @returns {string} the calculated forwarder contract address
|
|
147
|
+
*/
|
|
148
|
+
export declare function calculateForwarderAddress(contractAddress: string, contractCounter: number): string;
|
|
149
|
+
/**
|
|
150
|
+
* Calculate the forwarder v1 address that will be generated if `creatorAddress` creates it with salt `salt`
|
|
151
|
+
* and initcode `inicode using the create2 opcode
|
|
152
|
+
* @param {string} creatorAddress The address that is sending the tx to create a new address, hex string
|
|
153
|
+
* @param {string} salt The salt to create the address with using create2, hex string
|
|
154
|
+
* @param {string} initcode The initcode that will be deployed to the address, hex string
|
|
155
|
+
* @return {string} The calculated address
|
|
156
|
+
*/
|
|
157
|
+
export declare function calculateForwarderV1Address(creatorAddress: string, salt: string, initcode: string): string;
|
|
158
|
+
/**
|
|
159
|
+
* Take the implementation address for the proxy contract, and get the binary initcode for the associated proxy
|
|
160
|
+
* @param {string} implementationAddress The address of the implementation contract for the proxy
|
|
161
|
+
* @return {string} Binary hex string of the proxy
|
|
162
|
+
*/
|
|
163
|
+
export declare function getProxyInitcode(implementationAddress: string): string;
|
|
164
|
+
/**
|
|
165
|
+
* Convert the given signature parts to a string representation
|
|
166
|
+
*
|
|
167
|
+
* @param {SignatureParts} sig The signature to convert to string
|
|
168
|
+
* @returns {string} String representation of the signature
|
|
169
|
+
*/
|
|
170
|
+
export declare function toStringSig(sig: SignatureParts): string;
|
|
171
|
+
/**
|
|
172
|
+
* Return whether or not the given tx data has a signature
|
|
173
|
+
*
|
|
174
|
+
* @param {TxData} txData The transaction data to check for signature
|
|
175
|
+
* @returns {boolean} true if the tx has a signature, else false
|
|
176
|
+
*/
|
|
177
|
+
export declare function hasSignature(txData: TxData): boolean;
|
|
178
|
+
/**
|
|
179
|
+
* Get the raw data decoded for some types
|
|
180
|
+
*
|
|
181
|
+
* @param {string[]} types ABI types definition
|
|
182
|
+
* @param {Buffer} serializedArgs encoded args
|
|
183
|
+
* @returns {Buffer[]} the decoded raw
|
|
184
|
+
*/
|
|
185
|
+
export declare function getRawDecoded(types: string[], serializedArgs: Buffer): Buffer[];
|
|
186
|
+
/**
|
|
187
|
+
* Get the buffered bytecode from rawData using a methodId as delimiter
|
|
188
|
+
*
|
|
189
|
+
* @param {string} methodId the hex encoded method Id
|
|
190
|
+
* @param {string} rawData the hex encoded raw data
|
|
191
|
+
* @returns {Buffer} data buffered bytecode
|
|
192
|
+
*/
|
|
193
|
+
export declare function getBufferedByteCode(methodId: string, rawData: string): Buffer;
|
|
194
|
+
/**
|
|
195
|
+
* Get the statics coin object matching a given contract address if it exists
|
|
196
|
+
*
|
|
197
|
+
* @param tokenContractAddress The contract address to match against
|
|
198
|
+
* @returns statics BaseCoin object for the matching token
|
|
199
|
+
*/
|
|
200
|
+
export declare function getToken(tokenContractAddress: string, network: BaseNetwork): Readonly<BaseCoin> | undefined;
|
|
201
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/coin/eth/utils.ts"],"names":[],"mappings":"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"}
|