@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 @@
|
|
|
1
|
+
{"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../../src/coin/eth/keyPair.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EAIX,cAAc,EACd,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAMzB;;GAEG;AACH,qBAAa,OAAQ,SAAQ,wBAAwB;IACnD;;;;;OAKG;gBACS,MAAM,CAAC,EAAE,cAAc;IAoBnC;;;;OAIG;IACH,OAAO,IAAI,WAAW;IAStB;;;;OAIG;IACH,UAAU,IAAI,MAAM;CAIrB"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.KeyPair = void 0;
|
|
23
|
+
const ethereumjs_util_1 = require("ethereumjs-util");
|
|
24
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
25
|
+
const crypto_1 = require("crypto");
|
|
26
|
+
const bip32 = __importStar(require("bip32"));
|
|
27
|
+
const DEFAULT_SEED_SIZE_BYTES = 64;
|
|
28
|
+
/**
|
|
29
|
+
* Ethereum keys and address management.
|
|
30
|
+
*/
|
|
31
|
+
class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
|
|
32
|
+
/**
|
|
33
|
+
* Public constructor. By default, creates a key pair with a random master seed.
|
|
34
|
+
*
|
|
35
|
+
* @param { KeyPairOptions } source Either a master seed, a private key (extended or raw), or a public key
|
|
36
|
+
* (extended, compressed, or uncompressed)
|
|
37
|
+
*/
|
|
38
|
+
constructor(source) {
|
|
39
|
+
super(source);
|
|
40
|
+
if (!source) {
|
|
41
|
+
const seed = crypto_1.randomBytes(DEFAULT_SEED_SIZE_BYTES);
|
|
42
|
+
this.hdNode = bip32.fromSeed(seed);
|
|
43
|
+
}
|
|
44
|
+
else if (sdk_core_1.isSeed(source)) {
|
|
45
|
+
this.hdNode = bip32.fromSeed(source.seed);
|
|
46
|
+
}
|
|
47
|
+
else if (sdk_core_1.isPrivateKey(source)) {
|
|
48
|
+
this.recordKeysFromPrivateKey(source.prv);
|
|
49
|
+
}
|
|
50
|
+
else if (sdk_core_1.isPublicKey(source)) {
|
|
51
|
+
this.recordKeysFromPublicKey(source.pub);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
throw new Error('Invalid key pair options');
|
|
55
|
+
}
|
|
56
|
+
if (this.hdNode) {
|
|
57
|
+
this.keyPair = sdk_core_1.Secp256k1ExtendedKeyPair.toKeyPair(this.hdNode);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Ethereum default keys format is raw private and uncompressed public key
|
|
62
|
+
*
|
|
63
|
+
* @returns { DefaultKeys } The keys in the protocol default key format
|
|
64
|
+
*/
|
|
65
|
+
getKeys() {
|
|
66
|
+
var _a;
|
|
67
|
+
return {
|
|
68
|
+
pub: this.getPublicKey({ compressed: this.hdNode !== undefined })
|
|
69
|
+
.toString('hex')
|
|
70
|
+
.toUpperCase(),
|
|
71
|
+
prv: (_a = this.getPrivateKey()) === null || _a === void 0 ? void 0 : _a.toString('hex').toUpperCase(),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get an Ethereum public address
|
|
76
|
+
*
|
|
77
|
+
* @returns {string} The address derived from the public key
|
|
78
|
+
*/
|
|
79
|
+
getAddress() {
|
|
80
|
+
const publicKey = Buffer.from(this.getKeys().pub, 'hex'); // first two characters identify a public key
|
|
81
|
+
return ethereumjs_util_1.addHexPrefix(ethereumjs_util_1.pubToAddress(publicKey, true).toString('hex'));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.KeyPair = KeyPair;
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2luL2V0aC9rZXlQYWlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBNkQ7QUFDN0QsOENBT3lCO0FBQ3pCLG1DQUFxQztBQUNyQyw2Q0FBK0I7QUFFL0IsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7QUFFbkM7O0dBRUc7QUFDSCxNQUFhLE9BQVEsU0FBUSxtQ0FBd0I7SUFDbkQ7Ozs7O09BS0c7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxNQUFNLElBQUksR0FBRyxvQkFBVyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3BDO2FBQU0sSUFBSSxpQkFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0M7YUFBTSxJQUFJLHVCQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMzQzthQUFNLElBQUksc0JBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzFDO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDN0M7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLG1DQUF3QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDaEU7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE9BQU87O1FBQ0wsT0FBTztZQUNMLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7aUJBQzlELFFBQVEsQ0FBQyxLQUFLLENBQUM7aUJBQ2YsV0FBVyxFQUFFO1lBQ2hCLEdBQUcsRUFBRSxNQUFBLElBQUksQ0FBQyxhQUFhLEVBQUUsMENBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUU7U0FDekQsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVTtRQUNSLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLDZDQUE2QztRQUN2RyxPQUFPLDhCQUFZLENBQUMsOEJBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztDQUNGO0FBbERELDBCQWtEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZEhleFByZWZpeCwgcHViVG9BZGRyZXNzIH0gZnJvbSAnZXRoZXJldW1qcy11dGlsJztcbmltcG9ydCB7XG4gIERlZmF1bHRLZXlzLFxuICBpc1ByaXZhdGVLZXksXG4gIGlzUHVibGljS2V5LFxuICBpc1NlZWQsXG4gIEtleVBhaXJPcHRpb25zLFxuICBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgKiBhcyBiaXAzMiBmcm9tICdiaXAzMic7XG5cbmNvbnN0IERFRkFVTFRfU0VFRF9TSVpFX0JZVEVTID0gNjQ7XG5cbi8qKlxuICogRXRoZXJldW0ga2V5cyBhbmQgYWRkcmVzcyBtYW5hZ2VtZW50LlxuICovXG5leHBvcnQgY2xhc3MgS2V5UGFpciBleHRlbmRzIFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpciB7XG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIG1hc3RlciBzZWVkLlxuICAgKlxuICAgKiBAcGFyYW0geyBLZXlQYWlyT3B0aW9ucyB9IHNvdXJjZSBFaXRoZXIgYSBtYXN0ZXIgc2VlZCwgYSBwcml2YXRlIGtleSAoZXh0ZW5kZWQgb3IgcmF3KSwgb3IgYSBwdWJsaWMga2V5XG4gICAqICAgICAoZXh0ZW5kZWQsIGNvbXByZXNzZWQsIG9yIHVuY29tcHJlc3NlZClcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNvdXJjZT86IEtleVBhaXJPcHRpb25zKSB7XG4gICAgc3VwZXIoc291cmNlKTtcbiAgICBpZiAoIXNvdXJjZSkge1xuICAgICAgY29uc3Qgc2VlZCA9IHJhbmRvbUJ5dGVzKERFRkFVTFRfU0VFRF9TSVpFX0JZVEVTKTtcbiAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbVNlZWQoc2VlZCk7XG4gICAgfSBlbHNlIGlmIChpc1NlZWQoc291cmNlKSkge1xuICAgICAgdGhpcy5oZE5vZGUgPSBiaXAzMi5mcm9tU2VlZChzb3VyY2Uuc2VlZCk7XG4gICAgfSBlbHNlIGlmIChpc1ByaXZhdGVLZXkoc291cmNlKSkge1xuICAgICAgdGhpcy5yZWNvcmRLZXlzRnJvbVByaXZhdGVLZXkoc291cmNlLnBydik7XG4gICAgfSBlbHNlIGlmIChpc1B1YmxpY0tleShzb3VyY2UpKSB7XG4gICAgICB0aGlzLnJlY29yZEtleXNGcm9tUHVibGljS2V5KHNvdXJjZS5wdWIpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQga2V5IHBhaXIgb3B0aW9ucycpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhkTm9kZSkge1xuICAgICAgdGhpcy5rZXlQYWlyID0gU2VjcDI1NmsxRXh0ZW5kZWRLZXlQYWlyLnRvS2V5UGFpcih0aGlzLmhkTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEV0aGVyZXVtIGRlZmF1bHQga2V5cyBmb3JtYXQgaXMgcmF3IHByaXZhdGUgYW5kIHVuY29tcHJlc3NlZCBwdWJsaWMga2V5XG4gICAqXG4gICAqIEByZXR1cm5zIHsgRGVmYXVsdEtleXMgfSBUaGUga2V5cyBpbiB0aGUgcHJvdG9jb2wgZGVmYXVsdCBrZXkgZm9ybWF0XG4gICAqL1xuICBnZXRLZXlzKCk6IERlZmF1bHRLZXlzIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHViOiB0aGlzLmdldFB1YmxpY0tleSh7IGNvbXByZXNzZWQ6IHRoaXMuaGROb2RlICE9PSB1bmRlZmluZWQgfSlcbiAgICAgICAgLnRvU3RyaW5nKCdoZXgnKVxuICAgICAgICAudG9VcHBlckNhc2UoKSxcbiAgICAgIHBydjogdGhpcy5nZXRQcml2YXRlS2V5KCk/LnRvU3RyaW5nKCdoZXgnKS50b1VwcGVyQ2FzZSgpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIEV0aGVyZXVtIHB1YmxpYyBhZGRyZXNzXG4gICAqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBhZGRyZXNzIGRlcml2ZWQgZnJvbSB0aGUgcHVibGljIGtleVxuICAgKi9cbiAgZ2V0QWRkcmVzcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHB1YmxpY0tleSA9IEJ1ZmZlci5mcm9tKHRoaXMuZ2V0S2V5cygpLnB1YiwgJ2hleCcpOyAvLyBmaXJzdCB0d28gY2hhcmFjdGVycyBpZGVudGlmeSBhIHB1YmxpYyBrZXlcbiAgICByZXR1cm4gYWRkSGV4UHJlZml4KHB1YlRvQWRkcmVzcyhwdWJsaWNLZXksIHRydWUpLnRvU3RyaW5nKCdoZXgnKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ethereum transaction model. This is the base model for all ethereum based coins (Celo, ETC, RSK, ETH)
|
|
3
|
+
*/
|
|
4
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
5
|
+
import EthereumCommon from '@ethereumjs/common';
|
|
6
|
+
import { BaseKey, Entry, BaseTransaction, TransactionType } from '@bitgo/sdk-core';
|
|
7
|
+
import { KeyPair } from './keyPair';
|
|
8
|
+
import { EthLikeTransactionData, TxData } from './iface';
|
|
9
|
+
export declare class Transaction extends BaseTransaction {
|
|
10
|
+
protected _id: string;
|
|
11
|
+
protected _inputs: Entry[];
|
|
12
|
+
protected _outputs: Entry[];
|
|
13
|
+
protected _signatures: string[];
|
|
14
|
+
protected _type: TransactionType;
|
|
15
|
+
protected _common: EthereumCommon;
|
|
16
|
+
protected _transactionData?: EthLikeTransactionData;
|
|
17
|
+
/**
|
|
18
|
+
* return a new Transaction initialized with the serialized tx string
|
|
19
|
+
*
|
|
20
|
+
* @param coinConfig The coin configuration object
|
|
21
|
+
* @param common network commons
|
|
22
|
+
* @param serializedTx The serialized tx string with which to initialize the transaction
|
|
23
|
+
* @returns a new transaction object
|
|
24
|
+
*/
|
|
25
|
+
static fromSerialized(coinConfig: Readonly<CoinConfig>, common: EthereumCommon, serializedTx: string): Transaction;
|
|
26
|
+
/**
|
|
27
|
+
* Public constructor.
|
|
28
|
+
*
|
|
29
|
+
* @param {Readonly<CoinConfig>} coinConfig
|
|
30
|
+
* @param common the network commons
|
|
31
|
+
* @param {TxData} txData The object transaction data or encoded transaction data
|
|
32
|
+
*/
|
|
33
|
+
constructor(coinConfig: Readonly<CoinConfig>, common: EthereumCommon, txData?: TxData);
|
|
34
|
+
/**
|
|
35
|
+
* Set the transaction data
|
|
36
|
+
*
|
|
37
|
+
* @param {TxData} txData The transaction data to set
|
|
38
|
+
*/
|
|
39
|
+
setTransactionData(txData: TxData): void;
|
|
40
|
+
/**
|
|
41
|
+
* Update the internal fields based on the currently set transaction data, if there is any
|
|
42
|
+
*/
|
|
43
|
+
protected updateFields(): void;
|
|
44
|
+
/**
|
|
45
|
+
* Set the transaction type
|
|
46
|
+
*
|
|
47
|
+
* @param {TransactionType} transactionType The transaction type to be set
|
|
48
|
+
*/
|
|
49
|
+
setTransactionType(transactionType: TransactionType): void;
|
|
50
|
+
/** @inheritdoc */
|
|
51
|
+
canSign(key: BaseKey): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Sign the transaction with the provided key. It does not check if the signer is allowed to sign
|
|
54
|
+
* it or not.
|
|
55
|
+
*
|
|
56
|
+
* @param {KeyPair} keyPair The key to sign the transaction with
|
|
57
|
+
*/
|
|
58
|
+
sign(keyPair: KeyPair): Promise<void>;
|
|
59
|
+
/** @inheritdoc */
|
|
60
|
+
toBroadcastFormat(): string;
|
|
61
|
+
/** @inheritdoc */
|
|
62
|
+
toJson(): TxData;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/coin/eth/transaction.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,OAAO,EACP,KAAK,EACL,eAAe,EACf,eAAe,EAGhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAMzD,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5B,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAChC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;IACjC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;IAElC,SAAS,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAEpD;;;;;;;OAOG;WACW,cAAc,CAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAChC,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,MAAM,GACnB,WAAW;IAId;;;;;;OAMG;gBACS,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,MAAM;IAQrF;;;;OAIG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKxC;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAmD9B;;;;OAIG;IACH,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAI1D,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAK9B;;;;;OAKG;IACG,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3C,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B,kBAAkB;IAClB,MAAM,IAAI,MAAM;CAMjB"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Transaction = void 0;
|
|
4
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
5
|
+
const types_1 = require("./types");
|
|
6
|
+
const utils_1 = require("./utils");
|
|
7
|
+
const UNSUPPORTED_COIN_NAME = 'unsupported';
|
|
8
|
+
class Transaction extends sdk_core_1.BaseTransaction {
|
|
9
|
+
/**
|
|
10
|
+
* Public constructor.
|
|
11
|
+
*
|
|
12
|
+
* @param {Readonly<CoinConfig>} coinConfig
|
|
13
|
+
* @param common the network commons
|
|
14
|
+
* @param {TxData} txData The object transaction data or encoded transaction data
|
|
15
|
+
*/
|
|
16
|
+
constructor(coinConfig, common, txData) {
|
|
17
|
+
super(coinConfig);
|
|
18
|
+
this._common = common;
|
|
19
|
+
if (txData) {
|
|
20
|
+
this.setTransactionData(txData);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* return a new Transaction initialized with the serialized tx string
|
|
25
|
+
*
|
|
26
|
+
* @param coinConfig The coin configuration object
|
|
27
|
+
* @param common network commons
|
|
28
|
+
* @param serializedTx The serialized tx string with which to initialize the transaction
|
|
29
|
+
* @returns a new transaction object
|
|
30
|
+
*/
|
|
31
|
+
static fromSerialized(coinConfig, common, serializedTx) {
|
|
32
|
+
return new Transaction(coinConfig, common, types_1.EthTransactionData.fromSerialized(serializedTx, common).toJson());
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Set the transaction data
|
|
36
|
+
*
|
|
37
|
+
* @param {TxData} txData The transaction data to set
|
|
38
|
+
*/
|
|
39
|
+
setTransactionData(txData) {
|
|
40
|
+
this._transactionData = types_1.EthTransactionData.fromJson(txData, this._common);
|
|
41
|
+
this.updateFields();
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Update the internal fields based on the currently set transaction data, if there is any
|
|
45
|
+
*/
|
|
46
|
+
updateFields() {
|
|
47
|
+
if (!this._transactionData) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const txData = this._transactionData.toJson();
|
|
51
|
+
if (txData.id) {
|
|
52
|
+
this._id = txData.id;
|
|
53
|
+
}
|
|
54
|
+
this._type = utils_1.classifyTransaction(txData.data);
|
|
55
|
+
// reset arrays to empty to ensure that they are only set with one set of fresh values
|
|
56
|
+
this._inputs = [];
|
|
57
|
+
this._outputs = [];
|
|
58
|
+
this._signatures = [];
|
|
59
|
+
if (utils_1.hasSignature(txData)) {
|
|
60
|
+
this._signatures.push(utils_1.toStringSig({ v: txData.v, r: txData.r, s: txData.s }));
|
|
61
|
+
}
|
|
62
|
+
// only send transactions have inputs / outputs / signatures to parse
|
|
63
|
+
if (this._type === sdk_core_1.TransactionType.Send ||
|
|
64
|
+
this._type === sdk_core_1.TransactionType.SendERC721 ||
|
|
65
|
+
this._type === sdk_core_1.TransactionType.SendERC1155) {
|
|
66
|
+
const { to, amount, tokenContractAddress, signature } = utils_1.decodeTransferData(txData.data);
|
|
67
|
+
let coinName;
|
|
68
|
+
if (tokenContractAddress) {
|
|
69
|
+
const token = utils_1.getToken(tokenContractAddress, this._coinConfig.network);
|
|
70
|
+
coinName = token ? token.name : UNSUPPORTED_COIN_NAME;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
coinName = this._coinConfig.name;
|
|
74
|
+
}
|
|
75
|
+
this.outputs.push({
|
|
76
|
+
address: to,
|
|
77
|
+
value: amount,
|
|
78
|
+
coin: coinName,
|
|
79
|
+
});
|
|
80
|
+
this.inputs.push({
|
|
81
|
+
address: txData.to,
|
|
82
|
+
value: amount,
|
|
83
|
+
coin: coinName,
|
|
84
|
+
});
|
|
85
|
+
this._signatures.push(signature);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Set the transaction type
|
|
90
|
+
*
|
|
91
|
+
* @param {TransactionType} transactionType The transaction type to be set
|
|
92
|
+
*/
|
|
93
|
+
setTransactionType(transactionType) {
|
|
94
|
+
this._type = transactionType;
|
|
95
|
+
}
|
|
96
|
+
/** @inheritdoc */
|
|
97
|
+
canSign(key) {
|
|
98
|
+
// TODO: implement this validation for the ethereum network
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Sign the transaction with the provided key. It does not check if the signer is allowed to sign
|
|
103
|
+
* it or not.
|
|
104
|
+
*
|
|
105
|
+
* @param {KeyPair} keyPair The key to sign the transaction with
|
|
106
|
+
*/
|
|
107
|
+
async sign(keyPair) {
|
|
108
|
+
if (!this._transactionData) {
|
|
109
|
+
throw new sdk_core_1.InvalidTransactionError('No transaction data to sign');
|
|
110
|
+
}
|
|
111
|
+
if (!keyPair.getKeys().prv) {
|
|
112
|
+
throw new sdk_core_1.SigningError('Missing private key');
|
|
113
|
+
}
|
|
114
|
+
await this._transactionData.sign(keyPair);
|
|
115
|
+
const txData = this._transactionData.toJson();
|
|
116
|
+
if (txData.id) {
|
|
117
|
+
this._id = txData.id;
|
|
118
|
+
}
|
|
119
|
+
this._signatures.push(utils_1.toStringSig({ v: txData.v, r: txData.r, s: txData.s }));
|
|
120
|
+
}
|
|
121
|
+
/** @inheritdoc */
|
|
122
|
+
toBroadcastFormat() {
|
|
123
|
+
if (this._transactionData) {
|
|
124
|
+
return this._transactionData.toSerialized();
|
|
125
|
+
}
|
|
126
|
+
throw new sdk_core_1.InvalidTransactionError('No transaction data to format');
|
|
127
|
+
}
|
|
128
|
+
/** @inheritdoc */
|
|
129
|
+
toJson() {
|
|
130
|
+
if (this._transactionData) {
|
|
131
|
+
return this._transactionData.toJson();
|
|
132
|
+
}
|
|
133
|
+
throw new sdk_core_1.InvalidTransactionError('Empty transaction');
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.Transaction = Transaction;
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9ldGgvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsOENBT3lCO0FBR3pCLG1DQUE2QztBQUM3QyxtQ0FBdUc7QUFFdkcsTUFBTSxxQkFBcUIsR0FBRyxhQUFhLENBQUM7QUFFNUMsTUFBYSxXQUFZLFNBQVEsMEJBQWU7SUEwQjlDOzs7Ozs7T0FNRztJQUNILFlBQVksVUFBZ0MsRUFBRSxNQUFzQixFQUFFLE1BQWU7UUFDbkYsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQTdCRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLGNBQWMsQ0FDMUIsVUFBZ0MsRUFDaEMsTUFBc0IsRUFDdEIsWUFBb0I7UUFFcEIsT0FBTyxJQUFJLFdBQVcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLDBCQUFrQixDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBaUJEOzs7O09BSUc7SUFDSCxrQkFBa0IsQ0FBQyxNQUFjO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRywwQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ08sWUFBWTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzFCLE9BQU87U0FDUjtRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFB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QyxNQUFNLEVBQUUsQ0FBQztRQUM5QyxJQUFJLE1BQU0sQ0FBQyxFQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7U0FDdEI7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxtQkFBVyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixpQkFBaUI7UUFDZixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUM3QztRQUNELE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3ZDO1FBQ0QsTUFBTSxJQUFJLGtDQUF1QixDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNGO0FBNUpELGtDQTRKQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXRoZXJldW0gdHJhbnNhY3Rpb24gbW9kZWwuIFRoaXMgaXMgdGhlIGJhc2UgbW9kZWwgZm9yIGFsbCBldGhlcmV1bSBiYXNlZCBjb2lucyAoQ2VsbywgRVRDLCBSU0ssIEVUSClcbiAqL1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCBFdGhlcmV1bUNvbW1vbiBmcm9tICdAZXRoZXJldW1qcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQmFzZUtleSxcbiAgRW50cnksXG4gIEJhc2VUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25UeXBlLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgU2lnbmluZ0Vycm9yLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5pbXBvcnQgeyBFdGhMaWtlVHJhbnNhY3Rpb25EYXRhLCBUeERhdGEgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IEV0aFRyYW5zYWN0aW9uRGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgY2xhc3NpZnlUcmFuc2FjdGlvbiwgZGVjb2RlVHJhbnNmZXJEYXRhLCBnZXRUb2tlbiwgaGFzU2lnbmF0dXJlLCB0b1N0cmluZ1NpZyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBVTlNVUFBPUlRFRF9DT0lOX05BTUUgPSAndW5zdXBwb3J0ZWQnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcm90ZWN0ZWQgX2lkOiBzdHJpbmc7IC8vIFRoZSB0cmFuc2FjdGlvbiBpZCBhcyBzZWVuIGluIHRoZSBibG9ja2NoYWluXG4gIHByb3RlY3RlZCBfaW5wdXRzOiBFbnRyeVtdO1xuICBwcm90ZWN0ZWQgX291dHB1dHM6IEVudHJ5W107XG4gIHByb3RlY3RlZCBfc2lnbmF0dXJlczogc3RyaW5nW107XG4gIHByb3RlY3RlZCBfdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xuICBwcm90ZWN0ZWQgX2NvbW1vbjogRXRoZXJldW1Db21tb247XG5cbiAgcHJvdGVjdGVkIF90cmFuc2FjdGlvbkRhdGE/OiBFdGhMaWtlVHJhbnNhY3Rpb25EYXRhO1xuXG4gIC8qKlxuICAgKiByZXR1cm4gYSBuZXcgVHJhbnNhY3Rpb24gaW5pdGlhbGl6ZWQgd2l0aCB0aGUgc2VyaWFsaXplZCB0eCBzdHJpbmdcbiAgICpcbiAgICogQHBhcmFtIGNvaW5Db25maWcgVGhlIGNvaW4gY29uZmlndXJhdGlvbiBvYmplY3RcbiAgICogQHBhcmFtIGNvbW1vbiBuZXR3b3JrIGNvbW1vbnNcbiAgICogQHBhcmFtIHNlcmlhbGl6ZWRUeCBUaGUgc2VyaWFsaXplZCB0eCBzdHJpbmcgd2l0aCB3aGljaCB0byBpbml0aWFsaXplIHRoZSB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJucyBhIG5ldyB0cmFuc2FjdGlvbiBvYmplY3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVNlcmlhbGl6ZWQoXG4gICAgY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4sXG4gICAgY29tbW9uOiBFdGhlcmV1bUNvbW1vbixcbiAgICBzZXJpYWxpemVkVHg6IHN0cmluZyxcbiAgKTogVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb24oY29pbkNvbmZpZywgY29tbW9uLCBFdGhUcmFuc2FjdGlvbkRhdGEuZnJvbVNlcmlhbGl6ZWQoc2VyaWFsaXplZFR4LCBjb21tb24pLnRvSnNvbigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVhZG9ubHk8Q29pbkNvbmZpZz59IGNvaW5Db25maWdcbiAgICogQHBhcmFtIGNvbW1vbiB0aGUgbmV0d29yayBjb21tb25zXG4gICAqIEBwYXJhbSB7VHhEYXRhfSB0eERhdGEgVGhlIG9iamVjdCB0cmFuc2FjdGlvbiBkYXRhIG9yIGVuY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKi9cbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4sIGNvbW1vbjogRXRoZXJldW1Db21tb24sIHR4RGF0YT86IFR4RGF0YSkge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICAgIHRoaXMuX2NvbW1vbiA9IGNvbW1vbjtcbiAgICBpZiAodHhEYXRhKSB7XG4gICAgICB0aGlzLnNldFRyYW5zYWN0aW9uRGF0YSh0eERhdGEpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRyYW5zYWN0aW9uIGRhdGFcbiAgICpcbiAgICogQHBhcmFtIHtUeERhdGF9IHR4RGF0YSBUaGUgdHJhbnNhY3Rpb24gZGF0YSB0byBzZXRcbiAgICovXG4gIHNldFRyYW5zYWN0aW9uRGF0YSh0eERhdGE6IFR4RGF0YSk6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uRGF0YSA9IEV0aFRyYW5zYWN0aW9uRGF0YS5mcm9tSnNvbih0eERhdGEsIHRoaXMuX2NvbW1vbik7XG4gICAgdGhpcy51cGRhdGVGaWVsZHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIGludGVybmFsIGZpZWxkcyBiYXNlZCBvbiB0aGUgY3VycmVudGx5IHNldCB0cmFuc2FjdGlvbiBkYXRhLCBpZiB0aGVyZSBpcyBhbnlcbiAgICovXG4gIHByb3RlY3RlZCB1cGRhdGVGaWVsZHMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl90cmFuc2FjdGlvbkRhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0eERhdGEgPSB0aGlzLl90cmFuc2FjdGlvbkRhdGEudG9Kc29uKCk7XG4gICAgaWYgKHR4RGF0YS5pZCkge1xuICAgICAgdGhpcy5faWQgPSB0eERhdGEuaWQ7XG4gICAgfVxuICAgIHRoaXMuX3R5cGUgPSBjbGFzc2lmeVRyYW5zYWN0aW9uKHR4RGF0YS5kYXRhKTtcblxuICAgIC8vIHJlc2V0IGFycmF5cyB0byBlbXB0eSB0byBlbnN1cmUgdGhhdCB0aGV5IGFyZSBvbmx5IHNldCB3aXRoIG9uZSBzZXQgb2YgZnJlc2ggdmFsdWVzXG4gICAgdGhpcy5faW5wdXRzID0gW107XG4gICAgdGhpcy5fb3V0cHV0cyA9IFtdO1xuICAgIHRoaXMuX3NpZ25hdHVyZXMgPSBbXTtcblxuICAgIGlmIChoYXNTaWduYXR1cmUodHhEYXRhKSkge1xuICAgICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHRvU3RyaW5nU2lnKHsgdjogdHhEYXRhLnYhLCByOiB0eERhdGEuciEsIHM6IHR4RGF0YS5zISB9KSk7XG4gICAgfVxuXG4gICAgLy8gb25seSBzZW5kIHRyYW5zYWN0aW9ucyBoYXZlIGlucHV0cyAvIG91dHB1dHMgLyBzaWduYXR1cmVzIHRvIHBhcnNlXG4gICAgaWYgKFxuICAgICAgdGhpcy5fdHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlNlbmQgfHxcbiAgICAgIHRoaXMuX3R5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5TZW5kRVJDNzIxIHx8XG4gICAgICB0aGlzLl90eXBlID09PSBUcmFuc2FjdGlvblR5cGUuU2VuZEVSQzExNTVcbiAgICApIHtcbiAgICAgIGNvbnN0IHsgdG8sIGFtb3VudCwgdG9rZW5Db250cmFjdEFkZHJlc3MsIHNpZ25hdHVyZSB9ID0gZGVjb2RlVHJhbnNmZXJEYXRhKHR4RGF0YS5kYXRhKTtcbiAgICAgIGxldCBjb2luTmFtZTogc3RyaW5nO1xuICAgICAgaWYgKHRva2VuQ29udHJhY3RBZGRyZXNzKSB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gZ2V0VG9rZW4odG9rZW5Db250cmFjdEFkZHJlc3MsIHRoaXMuX2NvaW5Db25maWcubmV0d29yayk7XG4gICAgICAgIGNvaW5OYW1lID0gdG9rZW4gPyB0b2tlbi5uYW1lIDogVU5TVVBQT1JURURfQ09JTl9OQU1FO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29pbk5hbWUgPSB0aGlzLl9jb2luQ29uZmlnLm5hbWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMub3V0cHV0cy5wdXNoKHtcbiAgICAgICAgYWRkcmVzczogdG8sXG4gICAgICAgIHZhbHVlOiBhbW91bnQsXG4gICAgICAgIGNvaW46IGNvaW5OYW1lLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuaW5wdXRzLnB1c2goe1xuICAgICAgICBhZGRyZXNzOiB0eERhdGEudG8hLCAvLyB0aGUgc2VuZGluZyB3YWxsZXQgY29udHJhY3QgaXMgdGhlIHJlY2lwaWVudCBvZiB0aGUgb3V0ZXIgdHJhbnNhY3Rpb25cbiAgICAgICAgdmFsdWU6IGFtb3VudCxcbiAgICAgICAgY29pbjogY29pbk5hbWUsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHNpZ25hdHVyZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgdHJhbnNhY3Rpb24gdHlwZVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uVHlwZX0gdHJhbnNhY3Rpb25UeXBlIFRoZSB0cmFuc2FjdGlvbiB0eXBlIHRvIGJlIHNldFxuICAgKi9cbiAgc2V0VHJhbnNhY3Rpb25UeXBlKHRyYW5zYWN0aW9uVHlwZTogVHJhbnNhY3Rpb25UeXBlKTogdm9pZCB7XG4gICAgdGhpcy5fdHlwZSA9IHRyYW5zYWN0aW9uVHlwZTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBjYW5TaWduKGtleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIC8vIFRPRE86IGltcGxlbWVudCB0aGlzIHZhbGlkYXRpb24gZm9yIHRoZSBldGhlcmV1bSBuZXR3b3JrXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogU2lnbiB0aGUgdHJhbnNhY3Rpb24gd2l0aCB0aGUgcHJvdmlkZWQga2V5LiBJdCBkb2VzIG5vdCBjaGVjayBpZiB0aGUgc2lnbmVyIGlzIGFsbG93ZWQgdG8gc2lnblxuICAgKiBpdCBvciBub3QuXG4gICAqXG4gICAqIEBwYXJhbSB7S2V5UGFpcn0ga2V5UGFpciBUaGUga2V5IHRvIHNpZ24gdGhlIHRyYW5zYWN0aW9uIHdpdGhcbiAgICovXG4gIGFzeW5jIHNpZ24oa2V5UGFpcjogS2V5UGFpcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5fdHJhbnNhY3Rpb25EYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ05vIHRyYW5zYWN0aW9uIGRhdGEgdG8gc2lnbicpO1xuICAgIH1cbiAgICBpZiAoIWtleVBhaXIuZ2V0S2V5cygpLnBydikge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignTWlzc2luZyBwcml2YXRlIGtleScpO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLl90cmFuc2FjdGlvbkRhdGEuc2lnbihrZXlQYWlyKTtcbiAgICBjb25zdCB0eERhdGEgPSB0aGlzLl90cmFuc2FjdGlvbkRhdGEudG9Kc29uKCk7XG4gICAgaWYgKHR4RGF0YS5pZCkge1xuICAgICAgdGhpcy5faWQgPSB0eERhdGEuaWQ7XG4gICAgfVxuICAgIHRoaXMuX3NpZ25hdHVyZXMucHVzaCh0b1N0cmluZ1NpZyh7IHY6IHR4RGF0YS52ISwgcjogdHhEYXRhLnIhLCBzOiB0eERhdGEucyEgfSkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvQnJvYWRjYXN0Rm9ybWF0KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uRGF0YSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uRGF0YS50b1NlcmlhbGl6ZWQoKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdObyB0cmFuc2FjdGlvbiBkYXRhIHRvIGZvcm1hdCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvSnNvbigpOiBUeERhdGEge1xuICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbkRhdGEpIHtcbiAgICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbkRhdGEudG9Kc29uKCk7XG4gICAgfVxuICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import EthereumCommon from '@ethereumjs/common';
|
|
3
|
+
import BigNumber from 'bignumber.js';
|
|
4
|
+
import { BaseAddress, BaseKey, BaseTransaction, BaseTransactionBuilder, TransactionType } from '@bitgo/sdk-core';
|
|
5
|
+
import { Transaction, TransferBuilder } from '../eth';
|
|
6
|
+
import { Fee, TxData } from './iface';
|
|
7
|
+
import { ERC1155TransferBuilder } from './transferBuilder/transferBuilderERC1155';
|
|
8
|
+
import { ERC721TransferBuilder } from './transferBuilder/transferBuilderERC721';
|
|
9
|
+
/**
|
|
10
|
+
* Ethereum transaction builder.
|
|
11
|
+
*/
|
|
12
|
+
export declare class TransactionBuilder extends BaseTransactionBuilder {
|
|
13
|
+
protected _type: TransactionType;
|
|
14
|
+
protected _common: EthereumCommon;
|
|
15
|
+
private _transaction;
|
|
16
|
+
private _sourceKeyPair;
|
|
17
|
+
private _counter;
|
|
18
|
+
private _fee;
|
|
19
|
+
private _value;
|
|
20
|
+
private _txSignature;
|
|
21
|
+
private _walletOwnerAddresses;
|
|
22
|
+
private _forwarderAddress;
|
|
23
|
+
private _tokenAddress;
|
|
24
|
+
protected _transfer: TransferBuilder | ERC721TransferBuilder | ERC1155TransferBuilder;
|
|
25
|
+
private _contractAddress;
|
|
26
|
+
private _contractCounter;
|
|
27
|
+
private _data;
|
|
28
|
+
/**
|
|
29
|
+
* Public constructor.
|
|
30
|
+
*
|
|
31
|
+
* @param _coinConfig
|
|
32
|
+
*/
|
|
33
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
34
|
+
/** @inheritdoc */
|
|
35
|
+
protected buildImplementation(): Promise<BaseTransaction>;
|
|
36
|
+
protected getTransactionData(): TxData;
|
|
37
|
+
/** @inheritdoc */
|
|
38
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
39
|
+
/**
|
|
40
|
+
* Load the builder data using the deserialized transaction
|
|
41
|
+
*
|
|
42
|
+
* @param {TxData} transactionJson the deserialized transaction json
|
|
43
|
+
*/
|
|
44
|
+
protected loadBuilderInput(transactionJson: TxData): void;
|
|
45
|
+
protected setTransactionTypeFields(decodedType: TransactionType, transactionJson: TxData): void;
|
|
46
|
+
/** @inheritdoc */
|
|
47
|
+
protected signImplementation(key: BaseKey): BaseTransaction;
|
|
48
|
+
/** @inheritdoc */
|
|
49
|
+
validateAddress(address: BaseAddress): void;
|
|
50
|
+
/** @inheritdoc */
|
|
51
|
+
validateKey(key: BaseKey): void;
|
|
52
|
+
/**
|
|
53
|
+
* Validate the raw transaction is either a JSON or
|
|
54
|
+
* a hex encoded transaction
|
|
55
|
+
*
|
|
56
|
+
* @param {any} rawTransaction The raw transaction to be validated
|
|
57
|
+
*/
|
|
58
|
+
validateRawTransaction(rawTransaction: any): void;
|
|
59
|
+
private isEip1559Txn;
|
|
60
|
+
private isRLPDecodable;
|
|
61
|
+
protected validateBaseTransactionFields(): void;
|
|
62
|
+
/** @inheritdoc */
|
|
63
|
+
validateTransaction(transaction: BaseTransaction): void;
|
|
64
|
+
/**
|
|
65
|
+
* Check wallet owner addresses for wallet initialization transactions are valid or throw.
|
|
66
|
+
*/
|
|
67
|
+
private validateWalletInitializationFields;
|
|
68
|
+
/**
|
|
69
|
+
* Check if a token address for the tx was defined or throw.
|
|
70
|
+
*/
|
|
71
|
+
private validateTokenAddress;
|
|
72
|
+
/**
|
|
73
|
+
* Check if a forwarder address for the tx was defined or throw.
|
|
74
|
+
*/
|
|
75
|
+
private validateForwarderAddress;
|
|
76
|
+
/**
|
|
77
|
+
* Check if a contract address for the wallet was defined or throw.
|
|
78
|
+
*/
|
|
79
|
+
private validateContractAddress;
|
|
80
|
+
/**
|
|
81
|
+
* Checks if a contract call data field was defined or throws otherwise
|
|
82
|
+
*/
|
|
83
|
+
private validateDataField;
|
|
84
|
+
private setContract;
|
|
85
|
+
validateValue(value: BigNumber): void;
|
|
86
|
+
/**
|
|
87
|
+
* The type of transaction being built.
|
|
88
|
+
*
|
|
89
|
+
* @param {TransactionType} type
|
|
90
|
+
*/
|
|
91
|
+
type(type: TransactionType): void;
|
|
92
|
+
/**
|
|
93
|
+
* Set the transaction fees. Low fees may get a transaction rejected or never picked up by bakers.
|
|
94
|
+
*
|
|
95
|
+
* @param {Fee} fee Baker fees. May also include the maximum gas to pay
|
|
96
|
+
*/
|
|
97
|
+
fee(fee: Fee): void;
|
|
98
|
+
/**
|
|
99
|
+
* Set the transaction counter to prevent submitting repeated transactions.
|
|
100
|
+
*
|
|
101
|
+
* @param {number} counter The counter to use
|
|
102
|
+
*/
|
|
103
|
+
counter(counter: number): void;
|
|
104
|
+
/**
|
|
105
|
+
* The value to send along with this transaction. 0 by default
|
|
106
|
+
*
|
|
107
|
+
* @param {string} value The value to send along with this transaction
|
|
108
|
+
*/
|
|
109
|
+
value(value: string): void;
|
|
110
|
+
protected buildBase(data: string): TxData;
|
|
111
|
+
/**
|
|
112
|
+
* Set one of the owners of the multisig wallet.
|
|
113
|
+
*
|
|
114
|
+
* @param {string} address An Ethereum address
|
|
115
|
+
*/
|
|
116
|
+
owner(address: string): void;
|
|
117
|
+
/**
|
|
118
|
+
* Build a transaction for a generic multisig contract.
|
|
119
|
+
*
|
|
120
|
+
* @returns {TxData} The Ethereum transaction data
|
|
121
|
+
*/
|
|
122
|
+
protected buildWalletInitializationTransaction(): TxData;
|
|
123
|
+
/**
|
|
124
|
+
* Returns the smart contract encoded data
|
|
125
|
+
*
|
|
126
|
+
* @param {string[]} addresses - the contract signers
|
|
127
|
+
* @returns {string} - the smart contract encoded data
|
|
128
|
+
*/
|
|
129
|
+
protected getContractData(addresses: string[]): string;
|
|
130
|
+
contract(address: string): void;
|
|
131
|
+
/**
|
|
132
|
+
* Gets the transfer funds builder if exist, or creates a new one for this transaction and returns it
|
|
133
|
+
*
|
|
134
|
+
* @param [data] transfer data to initialize the transfer builder with, empty if none given
|
|
135
|
+
* @returns {TransferBuilder} the transfer builder
|
|
136
|
+
*/
|
|
137
|
+
transfer(data?: string): TransferBuilder | ERC721TransferBuilder | ERC1155TransferBuilder;
|
|
138
|
+
/**
|
|
139
|
+
* Returns the serialized sendMultiSig contract method data
|
|
140
|
+
*
|
|
141
|
+
* @returns {string} serialized sendMultiSig data
|
|
142
|
+
*/
|
|
143
|
+
private getSendData;
|
|
144
|
+
private buildSendTransaction;
|
|
145
|
+
/**
|
|
146
|
+
* Set the contract transaction nonce to calculate the forwarder address.
|
|
147
|
+
*
|
|
148
|
+
* @param {number} contractCounter The counter to use
|
|
149
|
+
*/
|
|
150
|
+
contractCounter(contractCounter: number): void;
|
|
151
|
+
/**
|
|
152
|
+
* Build a transaction to create a forwarder.
|
|
153
|
+
*
|
|
154
|
+
* @returns {TxData} The Ethereum transaction data
|
|
155
|
+
*/
|
|
156
|
+
private buildAddressInitializationTransaction;
|
|
157
|
+
/**
|
|
158
|
+
* Set the forwarder address to flush
|
|
159
|
+
*
|
|
160
|
+
* @param {string} address The address to flush
|
|
161
|
+
*/
|
|
162
|
+
forwarderAddress(address: string): void;
|
|
163
|
+
/**
|
|
164
|
+
* Set the address of the ERC20 token contract that we are flushing tokens for
|
|
165
|
+
*
|
|
166
|
+
* @param {string} address the contract address of the token to flush
|
|
167
|
+
*/
|
|
168
|
+
tokenAddress(address: string): void;
|
|
169
|
+
/**
|
|
170
|
+
* Build a transaction to flush tokens from a forwarder.
|
|
171
|
+
*
|
|
172
|
+
* @returns {TxData} The Ethereum transaction data
|
|
173
|
+
*/
|
|
174
|
+
private buildFlushTokensTransaction;
|
|
175
|
+
/**
|
|
176
|
+
* Build a transaction to flush tokens from a forwarder.
|
|
177
|
+
*
|
|
178
|
+
* @returns {TxData} The Ethereum transaction data
|
|
179
|
+
*/
|
|
180
|
+
private buildFlushCoinsTransaction;
|
|
181
|
+
data(encodedCall: string): void;
|
|
182
|
+
private buildGenericContractCallTransaction;
|
|
183
|
+
/** @inheritdoc */
|
|
184
|
+
protected get transaction(): Transaction;
|
|
185
|
+
/** @inheritdoc */
|
|
186
|
+
protected set transaction(transaction: Transaction);
|
|
187
|
+
/**
|
|
188
|
+
* Get the final v value. Final v is described in EIP-155.
|
|
189
|
+
*
|
|
190
|
+
* @protected for internal use when the enableFinalVField flag is true.
|
|
191
|
+
*/
|
|
192
|
+
protected getFinalV(): string;
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=transactionBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/eth/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAmB,MAAM,gBAAgB,CAAC;AACzE,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAEhD,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EACL,WAAW,EACX,OAAO,EACP,eAAe,EACf,sBAAsB,EAOtB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAS,MAAM,QAAQ,CAAC;AAE7D,OAAO,EAAsB,GAAG,EAAkB,MAAM,EAAE,MAAM,SAAS,CAAC;AAa1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAIhF;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,sBAAsB;IAC5D,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;IAEjC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;IAClC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,MAAM,CAAS;IAGvB,OAAO,CAAC,YAAY,CAAiB;IAGrC,OAAO,CAAC,qBAAqB,CAAW;IAGxC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,aAAa,CAAS;IAG9B,SAAS,CAAC,SAAS,EAAE,eAAe,GAAG,qBAAqB,GAAG,sBAAsB,CAAC;IACtF,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,gBAAgB,CAAS;IAIjC,OAAO,CAAC,KAAK,CAAS;IAEtB;;;;OAIG;gBACS,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAU7C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,eAAe,CAAC;IAkB/D,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAuBtC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAYjE;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI;IA6BzD,SAAS,CAAC,wBAAwB,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAuC/F,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe;IAc3D,kBAAkB;IAClB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAM3C,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAM/B;;;;;OAKG;IACH,sBAAsB,CAAC,cAAc,EAAE,GAAG,GAAG,IAAI;IAsBjD,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,cAAc;IAStB,SAAS,CAAC,6BAA6B,IAAI,IAAI;IAY/C,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI;IA0CvD;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAY1C;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAMhC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAM/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,WAAW;IAOnB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IASrC;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAIjC;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAenB;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQ9B;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IA8BzC;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAgB5B;;;;OAIG;IACH,SAAS,CAAC,oCAAoC,IAAI,MAAM;IAIxD;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;IAWtD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO/B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,qBAAqB,GAAG,sBAAsB;IAqBzF;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,oBAAoB;IAW5B;;;;OAIG;IACH,eAAe,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI;IAQ9C;;;;OAIG;IACH,OAAO,CAAC,qCAAqC;IAY7C;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOvC;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOnC;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAInC;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAMlC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAO/B,OAAO,CAAC,mCAAmC;IAK3C,kBAAkB;IAClB,SAAS,KAAK,WAAW,IAAI,WAAW,CAEvC;IAED,kBAAkB;IAClB,SAAS,KAAK,WAAW,CAAC,WAAW,EAAE,WAAW,EAEjD;IAED;;;;OAIG;IACH,SAAS,CAAC,SAAS,IAAI,MAAM;CAG9B"}
|