@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,47 @@
|
|
|
1
|
+
export declare abstract class BaseNFTTransferBuilder {
|
|
2
|
+
protected readonly _EMPTY_HEX_VALUE = "0x";
|
|
3
|
+
protected _fromAddress: string;
|
|
4
|
+
protected _toAddress: string;
|
|
5
|
+
protected _sequenceId: number;
|
|
6
|
+
protected _signKey: string;
|
|
7
|
+
protected _expirationTime: number;
|
|
8
|
+
protected _signature: string;
|
|
9
|
+
protected _data: string;
|
|
10
|
+
protected _tokenContractAddress: string;
|
|
11
|
+
protected constructor(serializedData?: string);
|
|
12
|
+
expirationTime(date: number): this;
|
|
13
|
+
key(signKey: string): this;
|
|
14
|
+
contractSequenceId(counter: number): this;
|
|
15
|
+
to(address: string): this;
|
|
16
|
+
from(address: string): this;
|
|
17
|
+
/** Return an expiration time, in seconds, set to one hour from now
|
|
18
|
+
*
|
|
19
|
+
* @returns {number} expiration time
|
|
20
|
+
*/
|
|
21
|
+
private static getExpirationTime;
|
|
22
|
+
/**
|
|
23
|
+
* If a signing key is set for this builder, recalculates the signature
|
|
24
|
+
*
|
|
25
|
+
* @returns {string} the signature value
|
|
26
|
+
*/
|
|
27
|
+
protected getSignature(): string;
|
|
28
|
+
/**
|
|
29
|
+
* Get the prefix used in generating an operation hash for sending native coins
|
|
30
|
+
*
|
|
31
|
+
* @returns the string prefix
|
|
32
|
+
*/
|
|
33
|
+
protected getNativeOperationHashPrefix(): string;
|
|
34
|
+
/**
|
|
35
|
+
* Obtains the proper operation hash to sign either a sendMultiSig data
|
|
36
|
+
* or a sendMultiSigToken data
|
|
37
|
+
*
|
|
38
|
+
* @returns {string} the operation hash
|
|
39
|
+
*/
|
|
40
|
+
private getOperationHash;
|
|
41
|
+
/**
|
|
42
|
+
* Signs the Message with the given private key
|
|
43
|
+
* @returns {string} 65 byte long raw signature
|
|
44
|
+
*/
|
|
45
|
+
protected ethSignMsgHash(): string;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=baseNFTTransferBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseNFTTransferBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/coin/eth/transferBuilder/baseNFTTransferBuilder.ts"],"names":[],"mappings":"AAIA,8BAAsB,sBAAsB;IAC1C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,QAAQ;IAE3C,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAExC,SAAS,aAAa,cAAc,CAAC,EAAE,MAAM;IAS7C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IASlC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK1B,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASzC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASzB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAS3B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAMhC;;;;OAIG;IACH,SAAS,CAAC,YAAY,IAAI,MAAM;IAUhC;;;;OAIG;IACH,SAAS,CAAC,4BAA4B,IAAI,MAAM;IAIhD;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAexB;;;OAGG;IACH,SAAS,CAAC,cAAc,IAAI,MAAM;CAOnC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseNFTTransferBuilder = void 0;
|
|
4
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
|
+
const utils_2 = require("ethers/lib/utils");
|
|
7
|
+
class BaseNFTTransferBuilder {
|
|
8
|
+
constructor(serializedData) {
|
|
9
|
+
this._EMPTY_HEX_VALUE = '0x';
|
|
10
|
+
if (serializedData === undefined) {
|
|
11
|
+
// initialize with default values for non mandatory fields
|
|
12
|
+
this._expirationTime = BaseNFTTransferBuilder.getExpirationTime();
|
|
13
|
+
this._data = this._EMPTY_HEX_VALUE;
|
|
14
|
+
this._signature = this._EMPTY_HEX_VALUE;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
expirationTime(date) {
|
|
18
|
+
if (date > 0) {
|
|
19
|
+
this._signature = this._EMPTY_HEX_VALUE;
|
|
20
|
+
this._expirationTime = date;
|
|
21
|
+
return this;
|
|
22
|
+
}
|
|
23
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid expiration time');
|
|
24
|
+
}
|
|
25
|
+
key(signKey) {
|
|
26
|
+
this._signKey = signKey;
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
contractSequenceId(counter) {
|
|
30
|
+
if (counter >= 0) {
|
|
31
|
+
this._signature = this._EMPTY_HEX_VALUE;
|
|
32
|
+
this._sequenceId = counter;
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid contract sequence id');
|
|
36
|
+
}
|
|
37
|
+
to(address) {
|
|
38
|
+
if (utils_1.isValidEthAddress(address)) {
|
|
39
|
+
this._signature = this._EMPTY_HEX_VALUE;
|
|
40
|
+
this._toAddress = address;
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid address');
|
|
44
|
+
}
|
|
45
|
+
from(address) {
|
|
46
|
+
if (utils_1.isValidEthAddress(address)) {
|
|
47
|
+
this._signature = this._EMPTY_HEX_VALUE;
|
|
48
|
+
this._fromAddress = address;
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid address');
|
|
52
|
+
}
|
|
53
|
+
/** Return an expiration time, in seconds, set to one hour from now
|
|
54
|
+
*
|
|
55
|
+
* @returns {number} expiration time
|
|
56
|
+
*/
|
|
57
|
+
static getExpirationTime() {
|
|
58
|
+
const currentDate = new Date();
|
|
59
|
+
currentDate.setHours(currentDate.getHours() + 1);
|
|
60
|
+
return currentDate.getTime() / 1000;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* If a signing key is set for this builder, recalculates the signature
|
|
64
|
+
*
|
|
65
|
+
* @returns {string} the signature value
|
|
66
|
+
*/
|
|
67
|
+
getSignature() {
|
|
68
|
+
if (this._signKey) {
|
|
69
|
+
this._signature = this.ethSignMsgHash();
|
|
70
|
+
}
|
|
71
|
+
if (this._signature == null) {
|
|
72
|
+
throw new sdk_core_1.InvalidSignatureError('Null signature value');
|
|
73
|
+
}
|
|
74
|
+
return this._signature;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Get the prefix used in generating an operation hash for sending native coins
|
|
78
|
+
*
|
|
79
|
+
* @returns the string prefix
|
|
80
|
+
*/
|
|
81
|
+
getNativeOperationHashPrefix() {
|
|
82
|
+
return 'ETHER';
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Obtains the proper operation hash to sign either a sendMultiSig data
|
|
86
|
+
* or a sendMultiSigToken data
|
|
87
|
+
*
|
|
88
|
+
* @returns {string} the operation hash
|
|
89
|
+
*/
|
|
90
|
+
getOperationHash() {
|
|
91
|
+
const hash = utils_2.solidityKeccak256(['string', 'address', 'uint', 'bytes', 'uint', 'uint'], [
|
|
92
|
+
this.getNativeOperationHashPrefix(),
|
|
93
|
+
this._toAddress,
|
|
94
|
+
'0',
|
|
95
|
+
this._data,
|
|
96
|
+
this._expirationTime,
|
|
97
|
+
this._sequenceId,
|
|
98
|
+
]);
|
|
99
|
+
return hash;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Signs the Message with the given private key
|
|
103
|
+
* @returns {string} 65 byte long raw signature
|
|
104
|
+
*/
|
|
105
|
+
ethSignMsgHash() {
|
|
106
|
+
const signKey = new utils_2.SigningKey('0x'.concat(this._signKey));
|
|
107
|
+
const digest = signKey.signDigest(this.getOperationHash());
|
|
108
|
+
const rawSignature = utils_2.joinSignature(digest);
|
|
109
|
+
return rawSignature;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.BaseNFTTransferBuilder = BaseNFTTransferBuilder;
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU5GVFRyYW5zZmVyQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb2luL2V0aC90cmFuc2ZlckJ1aWxkZXIvYmFzZU5GVFRyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4Q0FBb0Y7QUFDcEYsb0NBQTZDO0FBQzdDLDRDQUFnRjtBQUVoRixNQUFzQixzQkFBc0I7SUFZMUMsWUFBc0IsY0FBdUI7UUFYMUIscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBWXpDLElBQUksY0FBYyxLQUFLLFNBQVMsRUFBRTtZQUNoQywwREFBMEQ7WUFDMUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2xFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtZQUNaLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBQ3hDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxNQUFNLElBQUkscUNBQTBCLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsR0FBRyxDQUFDLE9BQWU7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBZTtRQUNoQyxJQUFJLE9BQU8sSUFBSSxDQUFDLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7WUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7WUFDM0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE1BQU0sSUFBSSxxQ0FBMEIsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxFQUFFLENBQUMsT0FBZTtRQUNoQixJQUFJLHlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBQ3hDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxNQUFNLElBQUkscUNBQTBCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQWU7UUFDbEIsSUFBSSx5QkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsTUFBTSxJQUFJLHFDQUEwQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7T0FHRztJQUNLLE1BQU0sQ0FBQyxpQkFBaUI7UUFDOUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMvQixXQUFXLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRCxPQUFPLFdBQVcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyxZQUFZO1FBQ3BCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUU7WUFDM0IsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDekQ7UUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyw0QkFBNEI7UUFDcEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssZ0JBQWdCO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLHlCQUFpQixDQUM1QixDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQ3REO1lBQ0UsSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ25DLElBQUksQ0FBQyxVQUFVO1lBQ2YsR0FBRztZQUNILElBQUksQ0FBQyxLQUFLO1lBQ1YsSUFBSSxDQUFDLGVBQWU7WUFDcEIsSUFBSSxDQUFDLFdBQVc7U0FDakIsQ0FDRixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sY0FBYztRQUN0QixNQUFNLE9BQU8sR0FBRyxJQUFJLGtCQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMzRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDM0QsTUFBTSxZQUFZLEdBQUcscUJBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUzQyxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUFoSUQsd0RBZ0lDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IsIEludmFsaWRTaWduYXR1cmVFcnJvciB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBpc1ZhbGlkRXRoQWRkcmVzcyB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGpvaW5TaWduYXR1cmUsIHNvbGlkaXR5S2VjY2FrMjU2LCBTaWduaW5nS2V5IH0gZnJvbSAnZXRoZXJzL2xpYi91dGlscyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTkZUVHJhbnNmZXJCdWlsZGVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9FTVBUWV9IRVhfVkFMVUUgPSAnMHgnO1xuICAvLyBkdW1teSBhY2NvdW50IHZhbHVlLCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIFNlbmRNdWx0aVNpZ1xuICBwcm90ZWN0ZWQgX2Zyb21BZGRyZXNzOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfdG9BZGRyZXNzOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfc2VxdWVuY2VJZDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX3NpZ25LZXk6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9leHBpcmF0aW9uVGltZTogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX3NpZ25hdHVyZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2RhdGE6IHN0cmluZztcbiAgcHJvdGVjdGVkIF90b2tlbkNvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihzZXJpYWxpemVkRGF0YT86IHN0cmluZykge1xuICAgIGlmIChzZXJpYWxpemVkRGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBpbml0aWFsaXplIHdpdGggZGVmYXVsdCB2YWx1ZXMgZm9yIG5vbiBtYW5kYXRvcnkgZmllbGRzXG4gICAgICB0aGlzLl9leHBpcmF0aW9uVGltZSA9IEJhc2VORlRUcmFuc2ZlckJ1aWxkZXIuZ2V0RXhwaXJhdGlvblRpbWUoKTtcbiAgICAgIHRoaXMuX2RhdGEgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgICB0aGlzLl9zaWduYXR1cmUgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgfVxuICB9XG5cbiAgZXhwaXJhdGlvblRpbWUoZGF0ZTogbnVtYmVyKTogdGhpcyB7XG4gICAgaWYgKGRhdGUgPiAwKSB7XG4gICAgICB0aGlzLl9zaWduYXR1cmUgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgICB0aGlzLl9leHBpcmF0aW9uVGltZSA9IGRhdGU7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGV4cGlyYXRpb24gdGltZScpO1xuICB9XG5cbiAga2V5KHNpZ25LZXk6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX3NpZ25LZXkgPSBzaWduS2V5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgY29udHJhY3RTZXF1ZW5jZUlkKGNvdW50ZXI6IG51bWJlcik6IHRoaXMge1xuICAgIGlmIChjb3VudGVyID49IDApIHtcbiAgICAgIHRoaXMuX3NpZ25hdHVyZSA9IHRoaXMuX0VNUFRZX0hFWF9WQUxVRTtcbiAgICAgIHRoaXMuX3NlcXVlbmNlSWQgPSBjb3VudGVyO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBjb250cmFjdCBzZXF1ZW5jZSBpZCcpO1xuICB9XG5cbiAgdG8oYWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKGlzVmFsaWRFdGhBZGRyZXNzKGFkZHJlc3MpKSB7XG4gICAgICB0aGlzLl9zaWduYXR1cmUgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgICB0aGlzLl90b0FkZHJlc3MgPSBhZGRyZXNzO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhZGRyZXNzJyk7XG4gIH1cblxuICBmcm9tKGFkZHJlc3M6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmIChpc1ZhbGlkRXRoQWRkcmVzcyhhZGRyZXNzKSkge1xuICAgICAgdGhpcy5fc2lnbmF0dXJlID0gdGhpcy5fRU1QVFlfSEVYX1ZBTFVFO1xuICAgICAgdGhpcy5fZnJvbUFkZHJlc3MgPSBhZGRyZXNzO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhZGRyZXNzJyk7XG4gIH1cblxuICAvKiogUmV0dXJuIGFuIGV4cGlyYXRpb24gdGltZSwgaW4gc2Vjb25kcywgc2V0IHRvIG9uZSBob3VyIGZyb20gbm93XG4gICAqXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IGV4cGlyYXRpb24gdGltZVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0RXhwaXJhdGlvblRpbWUoKTogbnVtYmVyIHtcbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgY3VycmVudERhdGUuc2V0SG91cnMoY3VycmVudERhdGUuZ2V0SG91cnMoKSArIDEpO1xuICAgIHJldHVybiBjdXJyZW50RGF0ZS5nZXRUaW1lKCkgLyAxMDAwO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIGEgc2lnbmluZyBrZXkgaXMgc2V0IGZvciB0aGlzIGJ1aWxkZXIsIHJlY2FsY3VsYXRlcyB0aGUgc2lnbmF0dXJlXG4gICAqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IHRoZSBzaWduYXR1cmUgdmFsdWVcbiAgICovXG4gIHByb3RlY3RlZCBnZXRTaWduYXR1cmUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fc2lnbktleSkge1xuICAgICAgdGhpcy5fc2lnbmF0dXJlID0gdGhpcy5ldGhTaWduTXNnSGFzaCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fc2lnbmF0dXJlID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkU2lnbmF0dXJlRXJyb3IoJ051bGwgc2lnbmF0dXJlIHZhbHVlJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9zaWduYXR1cmU7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBwcmVmaXggdXNlZCBpbiBnZW5lcmF0aW5nIGFuIG9wZXJhdGlvbiBoYXNoIGZvciBzZW5kaW5nIG5hdGl2ZSBjb2luc1xuICAgKlxuICAgKiBAcmV0dXJucyB0aGUgc3RyaW5nIHByZWZpeFxuICAgKi9cbiAgcHJvdGVjdGVkIGdldE5hdGl2ZU9wZXJhdGlvbkhhc2hQcmVmaXgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0VUSEVSJztcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRhaW5zIHRoZSBwcm9wZXIgb3BlcmF0aW9uIGhhc2ggdG8gc2lnbiBlaXRoZXIgYSBzZW5kTXVsdGlTaWcgZGF0YVxuICAgKiBvciBhIHNlbmRNdWx0aVNpZ1Rva2VuIGRhdGFcbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ30gdGhlIG9wZXJhdGlvbiBoYXNoXG4gICAqL1xuICBwcml2YXRlIGdldE9wZXJhdGlvbkhhc2goKTogc3RyaW5nIHtcbiAgICBjb25zdCBoYXNoID0gc29saWRpdHlLZWNjYWsyNTYoXG4gICAgICBbJ3N0cmluZycsICdhZGRyZXNzJywgJ3VpbnQnLCAnYnl0ZXMnLCAndWludCcsICd1aW50J10sXG4gICAgICBbXG4gICAgICAgIHRoaXMuZ2V0TmF0aXZlT3BlcmF0aW9uSGFzaFByZWZpeCgpLFxuICAgICAgICB0aGlzLl90b0FkZHJlc3MsXG4gICAgICAgICcwJywgLy8gZHVtbXkgYW1vdW50IHZhbHVlXG4gICAgICAgIHRoaXMuX2RhdGEsXG4gICAgICAgIHRoaXMuX2V4cGlyYXRpb25UaW1lLFxuICAgICAgICB0aGlzLl9zZXF1ZW5jZUlkLFxuICAgICAgXSxcbiAgICApO1xuICAgIHJldHVybiBoYXNoO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpZ25zIHRoZSBNZXNzYWdlIHdpdGggdGhlIGdpdmVuIHByaXZhdGUga2V5XG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IDY1IGJ5dGUgbG9uZyByYXcgc2lnbmF0dXJlXG4gICAqL1xuICBwcm90ZWN0ZWQgZXRoU2lnbk1zZ0hhc2goKTogc3RyaW5nIHtcbiAgICBjb25zdCBzaWduS2V5ID0gbmV3IFNpZ25pbmdLZXkoJzB4Jy5jb25jYXQodGhpcy5fc2lnbktleSkpO1xuICAgIGNvbnN0IGRpZ2VzdCA9IHNpZ25LZXkuc2lnbkRpZ2VzdCh0aGlzLmdldE9wZXJhdGlvbkhhc2goKSk7XG4gICAgY29uc3QgcmF3U2lnbmF0dXJlID0gam9pblNpZ25hdHVyZShkaWdlc3QpO1xuXG4gICAgcmV0dXJuIHJhd1NpZ25hdHVyZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseNFTTransferBuilder } from './baseNFTTransferBuilder';
|
|
2
|
+
export declare class ERC1155TransferBuilder extends BaseNFTTransferBuilder {
|
|
3
|
+
private _tokenIds;
|
|
4
|
+
private _values;
|
|
5
|
+
private _bytes;
|
|
6
|
+
constructor(serializedData?: string);
|
|
7
|
+
tokenContractAddress(address: string): ERC1155TransferBuilder;
|
|
8
|
+
entry(tokenId: number, value: number): ERC1155TransferBuilder;
|
|
9
|
+
bytes(bytesInNumber: number): ERC1155TransferBuilder;
|
|
10
|
+
signAndBuild(): string;
|
|
11
|
+
private hasMandatoryFields;
|
|
12
|
+
private decodeTransferData;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=transferBuilderERC1155.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferBuilderERC1155.d.ts","sourceRoot":"","sources":["../../../../../src/coin/eth/transferBuilder/transferBuilderERC1155.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,qBAAa,sBAAuB,SAAQ,sBAAsB;IAChE,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,MAAM,CAAS;gBAEX,cAAc,CAAC,EAAE,MAAM;IAWnC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB;IAQ7D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,sBAAsB;IAM7D,KAAK,CAAC,aAAa,EAAE,MAAM,GAAG,sBAAsB;IAKpD,YAAY,IAAI,MAAM;IA4BtB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,kBAAkB;CAc3B"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ERC1155TransferBuilder = void 0;
|
|
4
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
5
|
+
const contractCall_1 = require("../contractCall");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
const walletUtil_1 = require("../walletUtil");
|
|
8
|
+
const baseNFTTransferBuilder_1 = require("./baseNFTTransferBuilder");
|
|
9
|
+
const utils_2 = require("ethers/lib/utils");
|
|
10
|
+
class ERC1155TransferBuilder extends baseNFTTransferBuilder_1.BaseNFTTransferBuilder {
|
|
11
|
+
constructor(serializedData) {
|
|
12
|
+
super(serializedData);
|
|
13
|
+
this.bytes(0);
|
|
14
|
+
if (serializedData) {
|
|
15
|
+
this.decodeTransferData(serializedData);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
this._tokenIds = [];
|
|
19
|
+
this._values = [];
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
tokenContractAddress(address) {
|
|
23
|
+
if (utils_1.isValidEthAddress(address)) {
|
|
24
|
+
this._tokenContractAddress = address;
|
|
25
|
+
return this;
|
|
26
|
+
}
|
|
27
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid address');
|
|
28
|
+
}
|
|
29
|
+
entry(tokenId, value) {
|
|
30
|
+
this._tokenIds.push(tokenId.toString());
|
|
31
|
+
this._values.push(value.toString());
|
|
32
|
+
return this;
|
|
33
|
+
}
|
|
34
|
+
bytes(bytesInNumber) {
|
|
35
|
+
this._bytes = utils_2.hexZeroPad(utils_2.hexlify(bytesInNumber), 32);
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
signAndBuild() {
|
|
39
|
+
const hasMandatoryFields = this.hasMandatoryFields();
|
|
40
|
+
if (hasMandatoryFields) {
|
|
41
|
+
if (this._tokenIds.length === 1) {
|
|
42
|
+
const values = [this._fromAddress, this._toAddress, this._tokenIds[0], this._values[0], this._bytes];
|
|
43
|
+
const contractCall = new contractCall_1.ContractCall(walletUtil_1.ERC1155SafeTransferTypeMethodId, walletUtil_1.ERC1155SafeTransferTypes, values);
|
|
44
|
+
this._data = contractCall.serialize();
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const values = [this._fromAddress, this._toAddress, this._tokenIds, this._values, this._bytes];
|
|
48
|
+
const contractCall = new contractCall_1.ContractCall(walletUtil_1.ERC1155BatchTransferTypeMethodId, walletUtil_1.ERC1155BatchTransferTypes, values);
|
|
49
|
+
this._data = contractCall.serialize();
|
|
50
|
+
}
|
|
51
|
+
return utils_1.sendMultiSigData(this._tokenContractAddress, '0', // dummy amount value
|
|
52
|
+
this._data, this._expirationTime, this._sequenceId, this.getSignature());
|
|
53
|
+
}
|
|
54
|
+
throw new sdk_core_1.BuildTransactionError(`Missing transfer mandatory fields.
|
|
55
|
+
Destination (to) address, source (from) address, sequenceID, the token contract address, tokenIDs and their values are mandatory`);
|
|
56
|
+
}
|
|
57
|
+
hasMandatoryFields() {
|
|
58
|
+
return (this._tokenIds !== undefined &&
|
|
59
|
+
this._tokenIds.length !== 0 &&
|
|
60
|
+
this._values.length !== 0 &&
|
|
61
|
+
this._tokenIds.length === this._values.length &&
|
|
62
|
+
this._toAddress !== undefined &&
|
|
63
|
+
this._fromAddress !== undefined &&
|
|
64
|
+
this._tokenContractAddress !== undefined &&
|
|
65
|
+
this._sequenceId !== undefined);
|
|
66
|
+
}
|
|
67
|
+
decodeTransferData(data) {
|
|
68
|
+
const transferData = utils_1.decodeERC1155TransferData(data);
|
|
69
|
+
this._toAddress = transferData.to;
|
|
70
|
+
this._fromAddress = transferData.from;
|
|
71
|
+
this._expirationTime = transferData.expireTime;
|
|
72
|
+
this._sequenceId = transferData.sequenceId;
|
|
73
|
+
this._signature = transferData.signature;
|
|
74
|
+
this._tokenContractAddress = transferData.tokenContractAddress;
|
|
75
|
+
this._tokenIds = transferData.tokenIds;
|
|
76
|
+
this._values = transferData.values;
|
|
77
|
+
if (transferData.data) {
|
|
78
|
+
this._data = transferData.data;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.ERC1155TransferBuilder = ERC1155TransferBuilder;
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyRVJDMTE1NS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb2luL2V0aC90cmFuc2ZlckJ1aWxkZXIvdHJhbnNmZXJCdWlsZGVyRVJDMTE1NS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4Q0FBb0Y7QUFDcEYsa0RBQStDO0FBQy9DLG9DQUEwRjtBQUMxRiw4Q0FLdUI7QUFDdkIscUVBQWtFO0FBQ2xFLDRDQUF1RDtBQUV2RCxNQUFhLHNCQUF1QixTQUFRLCtDQUFzQjtJQUtoRSxZQUFZLGNBQXVCO1FBQ2pDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3pDO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxPQUFlO1FBQ2xDLElBQUkseUJBQWlCLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE9BQU8sQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsTUFBTSxJQUFJLHFDQUEwQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFlLEVBQUUsS0FBYTtRQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBcUI7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxrQkFBVSxDQUFDLGVBQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNyRCxJQUFJLGtCQUFrQixFQUFFO1lBQ3RCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUMvQixNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNyRyxNQUFNLFlBQVksR0FBRyxJQUFJLDJCQUFZLENBQUMsNENBQStCLEVBQUUscUNBQXdCLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3pHLElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ3ZDO2lCQUFNO2dCQUNMLE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQy9GLE1BQU0sWUFBWSxHQUFHLElBQUksMkJBQVksQ0FBQyw2Q0FBZ0MsRUFBRSxzQ0FBeUIsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDM0csSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDdkM7WUFFRCxPQUFPLHdCQUFnQixDQUNyQixJQUFJLENBQUMscUJBQXFCLEVBQzFCLEdBQUcsRUFBRSxxQkFBcUI7WUFDMUIsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQ3BCLENBQUM7U0FDSDtRQUNELE1BQU0sSUFBSSxnQ0FBcUIsQ0FDN0I7d0lBQ2tJLENBQ25JLENBQUM7SUFDSixDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE9BQU8sQ0FDTCxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVM7WUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUM3QyxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVM7WUFDN0IsSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFTO1lBQy9CLElBQUksQ0FBQyxxQkFBcUIsS0FBSyxTQUFTO1lBQ3hDLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUMvQixDQUFDO0lBQ0osQ0FBQztJQUNPLGtCQUFrQixDQUFDLElBQVk7UUFDckMsTUFBTSxZQUFZLEdBQUcsaUNBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQztRQUN0QyxJQUFJLENBQUMsZUFBZSxHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUM7UUFDL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQztRQUN6QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixDQUFDO1FBQy9ELElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDbkMsSUFBSSxZQUFZLENBQUMsSUFBSSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQztTQUNoQztJQUNILENBQUM7Q0FDRjtBQXpGRCx3REF5RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IENvbnRyYWN0Q2FsbCB9IGZyb20gJy4uL2NvbnRyYWN0Q2FsbCc7XG5pbXBvcnQgeyBkZWNvZGVFUkMxMTU1VHJhbnNmZXJEYXRhLCBpc1ZhbGlkRXRoQWRkcmVzcywgc2VuZE11bHRpU2lnRGF0YSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7XG4gIEVSQzExNTVCYXRjaFRyYW5zZmVyVHlwZXMsXG4gIEVSQzExNTVTYWZlVHJhbnNmZXJUeXBlcyxcbiAgRVJDMTE1NUJhdGNoVHJhbnNmZXJUeXBlTWV0aG9kSWQsXG4gIEVSQzExNTVTYWZlVHJhbnNmZXJUeXBlTWV0aG9kSWQsXG59IGZyb20gJy4uL3dhbGxldFV0aWwnO1xuaW1wb3J0IHsgQmFzZU5GVFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vYmFzZU5GVFRyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBoZXhsaWZ5LCBoZXhaZXJvUGFkIH0gZnJvbSAnZXRoZXJzL2xpYi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBFUkMxMTU1VHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgQmFzZU5GVFRyYW5zZmVyQnVpbGRlciB7XG4gIHByaXZhdGUgX3Rva2VuSWRzOiBzdHJpbmdbXTtcbiAgcHJpdmF0ZSBfdmFsdWVzOiBzdHJpbmdbXTtcbiAgcHJpdmF0ZSBfYnl0ZXM6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzZXJpYWxpemVkRGF0YT86IHN0cmluZykge1xuICAgIHN1cGVyKHNlcmlhbGl6ZWREYXRhKTtcbiAgICB0aGlzLmJ5dGVzKDApO1xuICAgIGlmIChzZXJpYWxpemVkRGF0YSkge1xuICAgICAgdGhpcy5kZWNvZGVUcmFuc2ZlckRhdGEoc2VyaWFsaXplZERhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl90b2tlbklkcyA9IFtdO1xuICAgICAgdGhpcy5fdmFsdWVzID0gW107XG4gICAgfVxuICB9XG5cbiAgdG9rZW5Db250cmFjdEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogRVJDMTE1NVRyYW5zZmVyQnVpbGRlciB7XG4gICAgaWYgKGlzVmFsaWRFdGhBZGRyZXNzKGFkZHJlc3MpKSB7XG4gICAgICB0aGlzLl90b2tlbkNvbnRyYWN0QWRkcmVzcyA9IGFkZHJlc3M7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGFkZHJlc3MnKTtcbiAgfVxuXG4gIGVudHJ5KHRva2VuSWQ6IG51bWJlciwgdmFsdWU6IG51bWJlcik6IEVSQzExNTVUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHRoaXMuX3Rva2VuSWRzLnB1c2godG9rZW5JZC50b1N0cmluZygpKTtcbiAgICB0aGlzLl92YWx1ZXMucHVzaCh2YWx1ZS50b1N0cmluZygpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGJ5dGVzKGJ5dGVzSW5OdW1iZXI6IG51bWJlcik6IEVSQzExNTVUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHRoaXMuX2J5dGVzID0gaGV4WmVyb1BhZChoZXhsaWZ5KGJ5dGVzSW5OdW1iZXIpLCAzMik7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzaWduQW5kQnVpbGQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBoYXNNYW5kYXRvcnlGaWVsZHMgPSB0aGlzLmhhc01hbmRhdG9yeUZpZWxkcygpO1xuICAgIGlmIChoYXNNYW5kYXRvcnlGaWVsZHMpIHtcbiAgICAgIGlmICh0aGlzLl90b2tlbklkcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gW3RoaXMuX2Zyb21BZGRyZXNzLCB0aGlzLl90b0FkZHJlc3MsIHRoaXMuX3Rva2VuSWRzWzBdLCB0aGlzLl92YWx1ZXNbMF0sIHRoaXMuX2J5dGVzXTtcbiAgICAgICAgY29uc3QgY29udHJhY3RDYWxsID0gbmV3IENvbnRyYWN0Q2FsbChFUkMxMTU1U2FmZVRyYW5zZmVyVHlwZU1ldGhvZElkLCBFUkMxMTU1U2FmZVRyYW5zZmVyVHlwZXMsIHZhbHVlcyk7XG4gICAgICAgIHRoaXMuX2RhdGEgPSBjb250cmFjdENhbGwuc2VyaWFsaXplKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSBbdGhpcy5fZnJvbUFkZHJlc3MsIHRoaXMuX3RvQWRkcmVzcywgdGhpcy5fdG9rZW5JZHMsIHRoaXMuX3ZhbHVlcywgdGhpcy5fYnl0ZXNdO1xuICAgICAgICBjb25zdCBjb250cmFjdENhbGwgPSBuZXcgQ29udHJhY3RDYWxsKEVSQzExNTVCYXRjaFRyYW5zZmVyVHlwZU1ldGhvZElkLCBFUkMxMTU1QmF0Y2hUcmFuc2ZlclR5cGVzLCB2YWx1ZXMpO1xuICAgICAgICB0aGlzLl9kYXRhID0gY29udHJhY3RDYWxsLnNlcmlhbGl6ZSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc2VuZE11bHRpU2lnRGF0YShcbiAgICAgICAgdGhpcy5fdG9rZW5Db250cmFjdEFkZHJlc3MsXG4gICAgICAgICcwJywgLy8gZHVtbXkgYW1vdW50IHZhbHVlXG4gICAgICAgIHRoaXMuX2RhdGEsXG4gICAgICAgIHRoaXMuX2V4cGlyYXRpb25UaW1lLFxuICAgICAgICB0aGlzLl9zZXF1ZW5jZUlkLFxuICAgICAgICB0aGlzLmdldFNpZ25hdHVyZSgpLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgIGBNaXNzaW5nIHRyYW5zZmVyIG1hbmRhdG9yeSBmaWVsZHMuIFxuICAgICAgIERlc3RpbmF0aW9uICh0bykgYWRkcmVzcywgc291cmNlIChmcm9tKSBhZGRyZXNzLCBzZXF1ZW5jZUlELCB0aGUgdG9rZW4gY29udHJhY3QgYWRkcmVzcywgdG9rZW5JRHMgYW5kIHRoZWlyIHZhbHVlcyBhcmUgbWFuZGF0b3J5YCxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNNYW5kYXRvcnlGaWVsZHMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuX3Rva2VuSWRzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMuX3Rva2VuSWRzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgdGhpcy5fdmFsdWVzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgdGhpcy5fdG9rZW5JZHMubGVuZ3RoID09PSB0aGlzLl92YWx1ZXMubGVuZ3RoICYmXG4gICAgICB0aGlzLl90b0FkZHJlc3MgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy5fZnJvbUFkZHJlc3MgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy5fdG9rZW5Db250cmFjdEFkZHJlc3MgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy5fc2VxdWVuY2VJZCAhPT0gdW5kZWZpbmVkXG4gICAgKTtcbiAgfVxuICBwcml2YXRlIGRlY29kZVRyYW5zZmVyRGF0YShkYXRhOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB0cmFuc2ZlckRhdGEgPSBkZWNvZGVFUkMxMTU1VHJhbnNmZXJEYXRhKGRhdGEpO1xuICAgIHRoaXMuX3RvQWRkcmVzcyA9IHRyYW5zZmVyRGF0YS50bztcbiAgICB0aGlzLl9mcm9tQWRkcmVzcyA9IHRyYW5zZmVyRGF0YS5mcm9tO1xuICAgIHRoaXMuX2V4cGlyYXRpb25UaW1lID0gdHJhbnNmZXJEYXRhLmV4cGlyZVRpbWU7XG4gICAgdGhpcy5fc2VxdWVuY2VJZCA9IHRyYW5zZmVyRGF0YS5zZXF1ZW5jZUlkO1xuICAgIHRoaXMuX3NpZ25hdHVyZSA9IHRyYW5zZmVyRGF0YS5zaWduYXR1cmU7XG4gICAgdGhpcy5fdG9rZW5Db250cmFjdEFkZHJlc3MgPSB0cmFuc2ZlckRhdGEudG9rZW5Db250cmFjdEFkZHJlc3M7XG4gICAgdGhpcy5fdG9rZW5JZHMgPSB0cmFuc2ZlckRhdGEudG9rZW5JZHM7XG4gICAgdGhpcy5fdmFsdWVzID0gdHJhbnNmZXJEYXRhLnZhbHVlcztcbiAgICBpZiAodHJhbnNmZXJEYXRhLmRhdGEpIHtcbiAgICAgIHRoaXMuX2RhdGEgPSB0cmFuc2ZlckRhdGEuZGF0YTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseNFTTransferBuilder } from './baseNFTTransferBuilder';
|
|
2
|
+
export declare class ERC721TransferBuilder extends BaseNFTTransferBuilder {
|
|
3
|
+
private _tokenId;
|
|
4
|
+
private _bytes;
|
|
5
|
+
constructor(serializedData?: string);
|
|
6
|
+
tokenContractAddress(address: string): ERC721TransferBuilder;
|
|
7
|
+
tokenId(token: string): ERC721TransferBuilder;
|
|
8
|
+
bytes(bytesInNumber: number): ERC721TransferBuilder;
|
|
9
|
+
signAndBuild(): string;
|
|
10
|
+
private hasMandatoryFields;
|
|
11
|
+
private decodeTransferData;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=transferBuilderERC721.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferBuilderERC721.d.ts","sourceRoot":"","sources":["../../../../../src/coin/eth/transferBuilder/transferBuilderERC721.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAIlE,qBAAa,qBAAsB,SAAQ,sBAAsB;IAC/D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;gBAEX,cAAc,CAAC,EAAE,MAAM;IAQnC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB;IAQ5D,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB;IAK7C,KAAK,CAAC,aAAa,EAAE,MAAM,GAAG,qBAAqB;IAKnD,YAAY,IAAI,MAAM;IAuBtB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,kBAAkB;CAa3B"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ERC721TransferBuilder = void 0;
|
|
4
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
5
|
+
const contractCall_1 = require("../contractCall");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
const baseNFTTransferBuilder_1 = require("./baseNFTTransferBuilder");
|
|
8
|
+
const walletUtil_1 = require("../walletUtil");
|
|
9
|
+
const utils_2 = require("ethers/lib/utils");
|
|
10
|
+
class ERC721TransferBuilder extends baseNFTTransferBuilder_1.BaseNFTTransferBuilder {
|
|
11
|
+
constructor(serializedData) {
|
|
12
|
+
super(serializedData);
|
|
13
|
+
this.bytes(0);
|
|
14
|
+
if (serializedData) {
|
|
15
|
+
this.decodeTransferData(serializedData);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
tokenContractAddress(address) {
|
|
19
|
+
if (utils_1.isValidEthAddress(address)) {
|
|
20
|
+
this._tokenContractAddress = address;
|
|
21
|
+
return this;
|
|
22
|
+
}
|
|
23
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid address');
|
|
24
|
+
}
|
|
25
|
+
tokenId(token) {
|
|
26
|
+
this._tokenId = token;
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
bytes(bytesInNumber) {
|
|
30
|
+
this._bytes = utils_2.hexZeroPad(utils_2.hexlify(bytesInNumber), 32);
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
signAndBuild() {
|
|
34
|
+
if (this.hasMandatoryFields()) {
|
|
35
|
+
const types = ['address', 'address', 'uint256', 'bytes'];
|
|
36
|
+
const values = [this._fromAddress, this._toAddress, this._tokenId, this._bytes];
|
|
37
|
+
const contractCall = new contractCall_1.ContractCall(walletUtil_1.ERC721SafeTransferTypeMethodId, types, values);
|
|
38
|
+
this._data = contractCall.serialize();
|
|
39
|
+
return utils_1.sendMultiSigData(this._tokenContractAddress, // to
|
|
40
|
+
'0', // dummy amount value
|
|
41
|
+
this._data, this._expirationTime, this._sequenceId, this.getSignature());
|
|
42
|
+
}
|
|
43
|
+
throw new sdk_core_1.BuildTransactionError(`Missing transfer mandatory fields.
|
|
44
|
+
Destination (to) address, Source (from) address, sequenceID, the token contract address and tokenID are mandatory`);
|
|
45
|
+
}
|
|
46
|
+
hasMandatoryFields() {
|
|
47
|
+
return (this._tokenId !== undefined &&
|
|
48
|
+
this._toAddress !== undefined &&
|
|
49
|
+
this._fromAddress !== undefined &&
|
|
50
|
+
this._tokenContractAddress !== undefined &&
|
|
51
|
+
this._sequenceId !== undefined);
|
|
52
|
+
}
|
|
53
|
+
decodeTransferData(data) {
|
|
54
|
+
const transferData = utils_1.decodeERC721TransferData(data);
|
|
55
|
+
this._toAddress = transferData.to;
|
|
56
|
+
this._fromAddress = transferData.from;
|
|
57
|
+
this._expirationTime = transferData.expireTime;
|
|
58
|
+
this._sequenceId = transferData.sequenceId;
|
|
59
|
+
this._signature = transferData.signature;
|
|
60
|
+
this._tokenContractAddress = transferData.tokenContractAddress;
|
|
61
|
+
this._tokenId = transferData.tokenId;
|
|
62
|
+
if (transferData.data) {
|
|
63
|
+
this._data = transferData.data;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.ERC721TransferBuilder = ERC721TransferBuilder;
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyRVJDNzIxLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvaW4vZXRoL3RyYW5zZmVyQnVpbGRlci90cmFuc2ZlckJ1aWxkZXJFUkM3MjEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQW9GO0FBQ3BGLGtEQUErQztBQUMvQyxvQ0FBeUY7QUFDekYscUVBQWtFO0FBQ2xFLDhDQUErRDtBQUMvRCw0Q0FBdUQ7QUFFdkQsTUFBYSxxQkFBc0IsU0FBUSwrQ0FBc0I7SUFJL0QsWUFBWSxjQUF1QjtRQUNqQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNkLElBQUksY0FBYyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxPQUFlO1FBQ2xDLElBQUkseUJBQWlCLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE9BQU8sQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsTUFBTSxJQUFJLHFDQUEwQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFhO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFxQjtRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLGtCQUFVLENBQUMsZUFBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFO1lBQzdCLE1BQU0sS0FBSyxHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDekQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEYsTUFBTSxZQUFZLEdBQUcsSUFBSSwyQkFBWSxDQUFDLDJDQUE4QixFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNyRixJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUV0QyxPQUFPLHdCQUFnQixDQUNyQixJQUFJLENBQUMscUJBQXFCLEVBQUUsS0FBSztZQUNqQyxHQUFHLEVBQUUscUJBQXFCO1lBQzFCLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUNwQixDQUFDO1NBQ0g7UUFFRCxNQUFNLElBQUksZ0NBQXFCLENBQzdCO3lIQUNtSCxDQUNwSCxDQUFDO0lBQ0osQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixPQUFPLENBQ0wsSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTO1lBQzNCLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUztZQUM3QixJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVM7WUFDL0IsSUFBSSxDQUFDLHFCQUFxQixLQUFLLFNBQVM7WUFDeEMsSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQy9CLENBQUM7SUFDSixDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBWTtRQUNyQyxNQUFNLFlBQVksR0FBRyxnQ0FBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQztRQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUM7UUFDM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxZQUFZLENBQUMsb0JBQW9CLENBQUM7UUFDL0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDO1FBQ3JDLElBQUksWUFBWSxDQUFDLElBQUksRUFBRTtZQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUM7U0FDaEM7SUFDSCxDQUFDO0NBQ0Y7QUE1RUQsc0RBNEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvciB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBDb250cmFjdENhbGwgfSBmcm9tICcuLi9jb250cmFjdENhbGwnO1xuaW1wb3J0IHsgZGVjb2RlRVJDNzIxVHJhbnNmZXJEYXRhLCBpc1ZhbGlkRXRoQWRkcmVzcywgc2VuZE11bHRpU2lnRGF0YSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEJhc2VORlRUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL2Jhc2VORlRUcmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgRVJDNzIxU2FmZVRyYW5zZmVyVHlwZU1ldGhvZElkIH0gZnJvbSAnLi4vd2FsbGV0VXRpbCc7XG5pbXBvcnQgeyBoZXhsaWZ5LCBoZXhaZXJvUGFkIH0gZnJvbSAnZXRoZXJzL2xpYi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBFUkM3MjFUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBCYXNlTkZUVHJhbnNmZXJCdWlsZGVyIHtcbiAgcHJpdmF0ZSBfdG9rZW5JZDogc3RyaW5nO1xuICBwcml2YXRlIF9ieXRlczogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNlcmlhbGl6ZWREYXRhPzogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2VyaWFsaXplZERhdGEpO1xuICAgIHRoaXMuYnl0ZXMoMCk7XG4gICAgaWYgKHNlcmlhbGl6ZWREYXRhKSB7XG4gICAgICB0aGlzLmRlY29kZVRyYW5zZmVyRGF0YShzZXJpYWxpemVkRGF0YSk7XG4gICAgfVxuICB9XG5cbiAgdG9rZW5Db250cmFjdEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogRVJDNzIxVHJhbnNmZXJCdWlsZGVyIHtcbiAgICBpZiAoaXNWYWxpZEV0aEFkZHJlc3MoYWRkcmVzcykpIHtcbiAgICAgIHRoaXMuX3Rva2VuQ29udHJhY3RBZGRyZXNzID0gYWRkcmVzcztcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgYWRkcmVzcycpO1xuICB9XG5cbiAgdG9rZW5JZCh0b2tlbjogc3RyaW5nKTogRVJDNzIxVHJhbnNmZXJCdWlsZGVyIHtcbiAgICB0aGlzLl90b2tlbklkID0gdG9rZW47XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBieXRlcyhieXRlc0luTnVtYmVyOiBudW1iZXIpOiBFUkM3MjFUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHRoaXMuX2J5dGVzID0gaGV4WmVyb1BhZChoZXhsaWZ5KGJ5dGVzSW5OdW1iZXIpLCAzMik7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzaWduQW5kQnVpbGQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5oYXNNYW5kYXRvcnlGaWVsZHMoKSkge1xuICAgICAgY29uc3QgdHlwZXMgPSBbJ2FkZHJlc3MnLCAnYWRkcmVzcycsICd1aW50MjU2JywgJ2J5dGVzJ107XG4gICAgICBjb25zdCB2YWx1ZXMgPSBbdGhpcy5fZnJvbUFkZHJlc3MsIHRoaXMuX3RvQWRkcmVzcywgdGhpcy5fdG9rZW5JZCwgdGhpcy5fYnl0ZXNdO1xuICAgICAgY29uc3QgY29udHJhY3RDYWxsID0gbmV3IENvbnRyYWN0Q2FsbChFUkM3MjFTYWZlVHJhbnNmZXJUeXBlTWV0aG9kSWQsIHR5cGVzLCB2YWx1ZXMpO1xuICAgICAgdGhpcy5fZGF0YSA9IGNvbnRyYWN0Q2FsbC5zZXJpYWxpemUoKTtcblxuICAgICAgcmV0dXJuIHNlbmRNdWx0aVNpZ0RhdGEoXG4gICAgICAgIHRoaXMuX3Rva2VuQ29udHJhY3RBZGRyZXNzLCAvLyB0b1xuICAgICAgICAnMCcsIC8vIGR1bW15IGFtb3VudCB2YWx1ZVxuICAgICAgICB0aGlzLl9kYXRhLFxuICAgICAgICB0aGlzLl9leHBpcmF0aW9uVGltZSxcbiAgICAgICAgdGhpcy5fc2VxdWVuY2VJZCxcbiAgICAgICAgdGhpcy5nZXRTaWduYXR1cmUoKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgIGBNaXNzaW5nIHRyYW5zZmVyIG1hbmRhdG9yeSBmaWVsZHMuIFxuICAgICAgIERlc3RpbmF0aW9uICh0bykgYWRkcmVzcywgU291cmNlIChmcm9tKSBhZGRyZXNzLCBzZXF1ZW5jZUlELCB0aGUgdG9rZW4gY29udHJhY3QgYWRkcmVzcyBhbmQgdG9rZW5JRCBhcmUgbWFuZGF0b3J5YCxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNNYW5kYXRvcnlGaWVsZHMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuX3Rva2VuSWQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy5fdG9BZGRyZXNzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMuX2Zyb21BZGRyZXNzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMuX3Rva2VuQ29udHJhY3RBZGRyZXNzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMuX3NlcXVlbmNlSWQgIT09IHVuZGVmaW5lZFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGRlY29kZVRyYW5zZmVyRGF0YShkYXRhOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB0cmFuc2ZlckRhdGEgPSBkZWNvZGVFUkM3MjFUcmFuc2ZlckRhdGEoZGF0YSk7XG4gICAgdGhpcy5fdG9BZGRyZXNzID0gdHJhbnNmZXJEYXRhLnRvO1xuICAgIHRoaXMuX2Zyb21BZGRyZXNzID0gdHJhbnNmZXJEYXRhLmZyb207XG4gICAgdGhpcy5fZXhwaXJhdGlvblRpbWUgPSB0cmFuc2ZlckRhdGEuZXhwaXJlVGltZTtcbiAgICB0aGlzLl9zZXF1ZW5jZUlkID0gdHJhbnNmZXJEYXRhLnNlcXVlbmNlSWQ7XG4gICAgdGhpcy5fc2lnbmF0dXJlID0gdHJhbnNmZXJEYXRhLnNpZ25hdHVyZTtcbiAgICB0aGlzLl90b2tlbkNvbnRyYWN0QWRkcmVzcyA9IHRyYW5zZmVyRGF0YS50b2tlbkNvbnRyYWN0QWRkcmVzcztcbiAgICB0aGlzLl90b2tlbklkID0gdHJhbnNmZXJEYXRhLnRva2VuSWQ7XG4gICAgaWYgKHRyYW5zZmVyRGF0YS5kYXRhKSB7XG4gICAgICB0aGlzLl9kYXRhID0gdHJhbnNmZXJEYXRhLmRhdGE7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/** ETH transfer builder */
|
|
3
|
+
export declare class TransferBuilder {
|
|
4
|
+
private readonly _EMPTY_HEX_VALUE;
|
|
5
|
+
protected _amount: string;
|
|
6
|
+
protected _toAddress: string;
|
|
7
|
+
protected _sequenceId: number;
|
|
8
|
+
protected _signKey: string;
|
|
9
|
+
protected _expirationTime: number;
|
|
10
|
+
protected _signature: string;
|
|
11
|
+
private _data;
|
|
12
|
+
private _tokenContractAddress?;
|
|
13
|
+
private _coin;
|
|
14
|
+
constructor(serializedData?: string);
|
|
15
|
+
/**
|
|
16
|
+
* A method to set the ERC20 token to be transferred.
|
|
17
|
+
* This ERC20 token may not be compatible with the network.
|
|
18
|
+
*
|
|
19
|
+
* @param {string} coin the ERC20 coin to be set
|
|
20
|
+
* @returns {TransferBuilder} the transfer builder instance modified
|
|
21
|
+
*/
|
|
22
|
+
coin(coin: string): TransferBuilder;
|
|
23
|
+
data(additionalData: string): TransferBuilder;
|
|
24
|
+
amount(amount: string): this;
|
|
25
|
+
to(address: string): TransferBuilder;
|
|
26
|
+
contractSequenceId(counter: number): TransferBuilder;
|
|
27
|
+
key(signKey: string): TransferBuilder;
|
|
28
|
+
expirationTime(date: number): TransferBuilder;
|
|
29
|
+
signAndBuild(): string;
|
|
30
|
+
private hasMandatoryFields;
|
|
31
|
+
/**
|
|
32
|
+
* Obtains the proper operation hash to sign either a sendMultiSig data
|
|
33
|
+
* or a sendMultiSigToken data
|
|
34
|
+
*
|
|
35
|
+
* @returns {string} the operation hash
|
|
36
|
+
*/
|
|
37
|
+
private getOperationHash;
|
|
38
|
+
protected getOperationData(): (string | Buffer)[][];
|
|
39
|
+
/**
|
|
40
|
+
* Get the prefix used in generating an operation hash for sending tokens
|
|
41
|
+
*
|
|
42
|
+
* @returns the string prefix
|
|
43
|
+
*/
|
|
44
|
+
protected getTokenOperationHashPrefix(): string;
|
|
45
|
+
/**
|
|
46
|
+
* Get the prefix used in generating an operation hash for sending native coins
|
|
47
|
+
*
|
|
48
|
+
* @returns the string prefix
|
|
49
|
+
*/
|
|
50
|
+
protected getNativeOperationHashPrefix(): string;
|
|
51
|
+
/** Return an expiration time, in seconds, set to one hour from now
|
|
52
|
+
*
|
|
53
|
+
* @returns {number} expiration time
|
|
54
|
+
*/
|
|
55
|
+
private getExpirationTime;
|
|
56
|
+
/**
|
|
57
|
+
* If a signing key is set for this builder, recalculates the signature
|
|
58
|
+
*
|
|
59
|
+
* @returns {string} the signature value
|
|
60
|
+
*/
|
|
61
|
+
protected getSignature(): string;
|
|
62
|
+
protected ethSignMsgHash(): string;
|
|
63
|
+
private decodeTransferData;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=transferBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/eth/transferBuilder.ts"],"names":[],"mappings":";AAMA,2BAA2B;AAC3B,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,KAAK,CAAqB;gBAEtB,cAAc,CAAC,EAAE,MAAM;IAWnC;;;;;;OAMG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAUnC,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,eAAe;IAM7C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS5B,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IASpC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IASpD,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IAKrC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAS7C,YAAY,IAAI,MAAM;IA2BtB,OAAO,CAAC,kBAAkB;IAI1B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAKxB,SAAS,CAAC,gBAAgB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE;IA8BnD;;;;OAIG;IACH,SAAS,CAAC,2BAA2B,IAAI,MAAM;IAI/C;;;;OAIG;IACH,SAAS,CAAC,4BAA4B,IAAI,MAAM;IAIhD;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;;OAIG;IACH,SAAS,CAAC,YAAY,IAAI,MAAM;IAOhC,SAAS,CAAC,cAAc,IAAI,MAAM;IAgBlC,OAAO,CAAC,kBAAkB;CAiB3B"}
|