@bitgo/account-lib 3.0.0-hotfix.0 → 4.0.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/.mocharc.js +1 -1
- package/CHANGELOG.md +203 -29
- package/README.md +5 -7
- package/dist/resources/README.md +0 -22
- package/dist/src/index.d.ts +34 -20
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +57 -40
- package/dist/tsconfig.tsbuildinfo +26050 -40851
- package/package.json +29 -77
- package/resources/README.md +0 -22
- package/dist/browser/bitgo-account-lib.js +0 -2
- package/dist/browser/bitgo-account-lib.js.LICENSE.txt +0 -335
- package/dist/resources/hbar/protobuf/BasicTypes.proto +0 -424
- package/dist/resources/hbar/protobuf/CryptoCreate.proto +0 -47
- package/dist/resources/hbar/protobuf/CryptoTransfer.proto +0 -33
- package/dist/resources/hbar/protobuf/Duration.proto +0 -28
- package/dist/resources/hbar/protobuf/Timestamp.proto +0 -34
- package/dist/resources/hbar/protobuf/Transaction.proto +0 -35
- package/dist/resources/hbar/protobuf/TransactionBody.proto +0 -24
- package/dist/resources/hbar/protobuf/TransactionContents.proto +0 -33
- package/dist/resources/hbar/protobuf/hedera.d.ts +0 -4612
- package/dist/resources/hbar/protobuf/hedera.js +0 -12192
- package/dist/resources/trx/protobuf/Contract.proto +0 -256
- package/dist/resources/trx/protobuf/Discover.proto +0 -44
- package/dist/resources/trx/protobuf/tron.d.ts +0 -11024
- package/dist/resources/trx/protobuf/tron.js +0 -31510
- package/dist/resources/trx/protobuf/tron.proto +0 -677
- package/dist/src/coin/algo/assetTransferBuilder.d.ts +0 -42
- package/dist/src/coin/algo/assetTransferBuilder.d.ts.map +0 -1
- package/dist/src/coin/algo/assetTransferBuilder.js +0 -105
- package/dist/src/coin/algo/errors.d.ts +0 -11
- package/dist/src/coin/algo/errors.d.ts.map +0 -1
- package/dist/src/coin/algo/errors.js +0 -27
- package/dist/src/coin/algo/ifaces.d.ts +0 -46
- package/dist/src/coin/algo/ifaces.d.ts.map +0 -1
- package/dist/src/coin/algo/ifaces.js +0 -3
- package/dist/src/coin/algo/index.d.ts +0 -13
- package/dist/src/coin/algo/index.d.ts.map +0 -1
- package/dist/src/coin/algo/index.js +0 -47
- package/dist/src/coin/algo/keyPair.d.ts +0 -25
- package/dist/src/coin/algo/keyPair.d.ts.map +0 -1
- package/dist/src/coin/algo/keyPair.js +0 -77
- package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +0 -104
- package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +0 -1
- package/dist/src/coin/algo/keyRegistrationBuilder.js +0 -239
- package/dist/src/coin/algo/seedEncoding.d.ts +0 -25
- package/dist/src/coin/algo/seedEncoding.d.ts.map +0 -1
- package/dist/src/coin/algo/seedEncoding.js +0 -97
- package/dist/src/coin/algo/transaction.d.ts +0 -75
- package/dist/src/coin/algo/transaction.d.ts.map +0 -1
- package/dist/src/coin/algo/transaction.js +0 -251
- package/dist/src/coin/algo/transactionBuilder.d.ts +0 -204
- package/dist/src/coin/algo/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/algo/transactionBuilder.js +0 -373
- package/dist/src/coin/algo/transactionBuilderFactory.d.ts +0 -16
- package/dist/src/coin/algo/transactionBuilderFactory.d.ts.map +0 -1
- package/dist/src/coin/algo/transactionBuilderFactory.js +0 -52
- package/dist/src/coin/algo/transferBuilder.d.ts +0 -40
- package/dist/src/coin/algo/transferBuilder.d.ts.map +0 -1
- package/dist/src/coin/algo/transferBuilder.js +0 -89
- package/dist/src/coin/algo/txnSchema.d.ts +0 -7
- package/dist/src/coin/algo/txnSchema.d.ts.map +0 -1
- package/dist/src/coin/algo/txnSchema.js +0 -68
- package/dist/src/coin/algo/utils.d.ts +0 -249
- package/dist/src/coin/algo/utils.d.ts.map +0 -1
- package/dist/src/coin/algo/utils.js +0 -539
- package/dist/src/coin/avaxc/index.d.ts +0 -8
- package/dist/src/coin/avaxc/index.d.ts.map +0 -1
- package/dist/src/coin/avaxc/index.js +0 -35
- package/dist/src/coin/avaxc/keyPair.d.ts +0 -26
- package/dist/src/coin/avaxc/keyPair.d.ts.map +0 -1
- package/dist/src/coin/avaxc/keyPair.js +0 -83
- package/dist/src/coin/avaxc/resources.d.ts +0 -12
- package/dist/src/coin/avaxc/resources.d.ts.map +0 -1
- package/dist/src/coin/avaxc/resources.js +0 -27
- package/dist/src/coin/avaxc/transactionBuilder.d.ts +0 -17
- package/dist/src/coin/avaxc/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/avaxc/transactionBuilder.js +0 -45
- package/dist/src/coin/avaxc/transferBuilder.d.ts +0 -17
- package/dist/src/coin/avaxc/transferBuilder.d.ts.map +0 -1
- package/dist/src/coin/avaxc/transferBuilder.js +0 -25
- package/dist/src/coin/avaxc/utils.d.ts +0 -39
- package/dist/src/coin/avaxc/utils.d.ts.map +0 -1
- package/dist/src/coin/avaxc/utils.js +0 -70
- package/dist/src/coin/avaxc/walletUtil.d.ts +0 -22
- package/dist/src/coin/avaxc/walletUtil.d.ts.map +0 -1
- package/dist/src/coin/avaxc/walletUtil.js +0 -62
- package/dist/src/coin/baseCoin/baseKeyPair.d.ts +0 -27
- package/dist/src/coin/baseCoin/baseKeyPair.d.ts.map +0 -1
- package/dist/src/coin/baseCoin/baseKeyPair.js +0 -3
- package/dist/src/coin/baseCoin/baseTransaction.d.ts +0 -71
- package/dist/src/coin/baseCoin/baseTransaction.d.ts.map +0 -1
- package/dist/src/coin/baseCoin/baseTransaction.js +0 -94
- package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts +0 -128
- package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/baseCoin/baseTransactionBuilder.js +0 -179
- package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts +0 -30
- package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts.map +0 -1
- package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.js +0 -20
- package/dist/src/coin/baseCoin/baseUtils.d.ts +0 -45
- package/dist/src/coin/baseCoin/baseUtils.d.ts.map +0 -1
- package/dist/src/coin/baseCoin/baseUtils.js +0 -3
- package/dist/src/coin/baseCoin/blsKeyPair.d.ts +0 -75
- package/dist/src/coin/baseCoin/blsKeyPair.d.ts.map +0 -1
- package/dist/src/coin/baseCoin/blsKeyPair.js +0 -232
- package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts +0 -50
- package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts.map +0 -1
- package/dist/src/coin/baseCoin/ed25519KeyPair.js +0 -141
- package/dist/src/coin/baseCoin/enum.d.ts +0 -43
- package/dist/src/coin/baseCoin/enum.d.ts.map +0 -1
- package/dist/src/coin/baseCoin/enum.js +0 -70
- package/dist/src/coin/baseCoin/errors.d.ts +0 -65
- package/dist/src/coin/baseCoin/errors.d.ts.map +0 -1
- package/dist/src/coin/baseCoin/errors.js +0 -156
- package/dist/src/coin/baseCoin/iface.d.ts +0 -162
- package/dist/src/coin/baseCoin/iface.d.ts.map +0 -1
- package/dist/src/coin/baseCoin/iface.js +0 -38
- package/dist/src/coin/baseCoin/index.d.ts +0 -12
- package/dist/src/coin/baseCoin/index.d.ts.map +0 -1
- package/dist/src/coin/baseCoin/index.js +0 -41
- package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts +0 -55
- package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +0 -1
- package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.js +0 -124
- package/dist/src/coin/celo/index.d.ts +0 -8
- package/dist/src/coin/celo/index.d.ts.map +0 -1
- package/dist/src/coin/celo/index.js +0 -35
- package/dist/src/coin/celo/resources.d.ts +0 -10
- package/dist/src/coin/celo/resources.d.ts.map +0 -1
- package/dist/src/coin/celo/resources.js +0 -26
- package/dist/src/coin/celo/stakingBuilder.d.ts +0 -91
- package/dist/src/coin/celo/stakingBuilder.d.ts.map +0 -1
- package/dist/src/coin/celo/stakingBuilder.js +0 -277
- package/dist/src/coin/celo/stakingCall.d.ts +0 -7
- package/dist/src/coin/celo/stakingCall.d.ts.map +0 -1
- package/dist/src/coin/celo/stakingCall.js +0 -13
- package/dist/src/coin/celo/stakingUtils.d.ts +0 -15
- package/dist/src/coin/celo/stakingUtils.d.ts.map +0 -1
- package/dist/src/coin/celo/stakingUtils.js +0 -98
- package/dist/src/coin/celo/transaction.d.ts +0 -10
- package/dist/src/coin/celo/transaction.d.ts.map +0 -1
- package/dist/src/coin/celo/transaction.js +0 -37
- package/dist/src/coin/celo/transactionBuilder.d.ts +0 -86
- package/dist/src/coin/celo/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/celo/transactionBuilder.js +0 -228
- package/dist/src/coin/celo/transferBuilder.d.ts +0 -19
- package/dist/src/coin/celo/transferBuilder.d.ts.map +0 -1
- package/dist/src/coin/celo/transferBuilder.js +0 -27
- package/dist/src/coin/celo/types.d.ts +0 -52
- package/dist/src/coin/celo/types.d.ts.map +0 -1
- package/dist/src/coin/celo/types.js +0 -222
- package/dist/src/coin/celo/utils.d.ts +0 -18
- package/dist/src/coin/celo/utils.d.ts.map +0 -1
- package/dist/src/coin/celo/utils.js +0 -99
- package/dist/src/coin/cspr/constants.d.ts +0 -19
- package/dist/src/coin/cspr/constants.d.ts.map +0 -1
- package/dist/src/coin/cspr/constants.js +0 -28
- package/dist/src/coin/cspr/delegateBuilder.d.ts +0 -49
- package/dist/src/coin/cspr/delegateBuilder.d.ts.map +0 -1
- package/dist/src/coin/cspr/delegateBuilder.js +0 -111
- package/dist/src/coin/cspr/ifaces.d.ts +0 -69
- package/dist/src/coin/cspr/ifaces.d.ts.map +0 -1
- package/dist/src/coin/cspr/ifaces.js +0 -3
- package/dist/src/coin/cspr/index.d.ts +0 -5
- package/dist/src/coin/cspr/index.d.ts.map +0 -1
- package/dist/src/coin/cspr/index.js +0 -29
- package/dist/src/coin/cspr/keyPair.d.ts +0 -18
- package/dist/src/coin/cspr/keyPair.d.ts.map +0 -1
- package/dist/src/coin/cspr/keyPair.js +0 -75
- package/dist/src/coin/cspr/transaction.d.ts +0 -55
- package/dist/src/coin/cspr/transaction.d.ts.map +0 -1
- package/dist/src/coin/cspr/transaction.js +0 -227
- package/dist/src/coin/cspr/transactionBuilder.d.ts +0 -124
- package/dist/src/coin/cspr/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/cspr/transactionBuilder.js +0 -312
- package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +0 -46
- package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +0 -1
- package/dist/src/coin/cspr/transactionBuilderFactory.js +0 -98
- package/dist/src/coin/cspr/transferBuilder.d.ts +0 -39
- package/dist/src/coin/cspr/transferBuilder.d.ts.map +0 -1
- package/dist/src/coin/cspr/transferBuilder.js +0 -106
- package/dist/src/coin/cspr/undelegateBuilder.d.ts +0 -49
- package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +0 -1
- package/dist/src/coin/cspr/undelegateBuilder.js +0 -111
- package/dist/src/coin/cspr/utils.d.ts +0 -188
- package/dist/src/coin/cspr/utils.d.ts.map +0 -1
- package/dist/src/coin/cspr/utils.js +0 -478
- package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +0 -27
- package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +0 -1
- package/dist/src/coin/cspr/walletInitializationBuilder.js +0 -95
- package/dist/src/coin/dot/addressInitializationBuilder.d.ts +0 -79
- package/dist/src/coin/dot/addressInitializationBuilder.d.ts.map +0 -1
- package/dist/src/coin/dot/addressInitializationBuilder.js +0 -182
- package/dist/src/coin/dot/batchTransactionBuilder.d.ts +0 -47
- package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/dot/batchTransactionBuilder.js +0 -122
- package/dist/src/coin/dot/claimBuilder.d.ts +0 -58
- package/dist/src/coin/dot/claimBuilder.d.ts.map +0 -1
- package/dist/src/coin/dot/claimBuilder.js +0 -117
- package/dist/src/coin/dot/errors.d.ts +0 -8
- package/dist/src/coin/dot/errors.d.ts.map +0 -1
- package/dist/src/coin/dot/errors.js +0 -19
- package/dist/src/coin/dot/iface.d.ts +0 -194
- package/dist/src/coin/dot/iface.d.ts.map +0 -1
- package/dist/src/coin/dot/iface.js +0 -39
- package/dist/src/coin/dot/index.d.ts +0 -17
- package/dist/src/coin/dot/index.d.ts.map +0 -1
- package/dist/src/coin/dot/index.js +0 -53
- package/dist/src/coin/dot/keyPair.d.ts +0 -31
- package/dist/src/coin/dot/keyPair.d.ts.map +0 -1
- package/dist/src/coin/dot/keyPair.js +0 -74
- package/dist/src/coin/dot/singletonRegistry.d.ts +0 -7
- package/dist/src/coin/dot/singletonRegistry.d.ts.map +0 -1
- package/dist/src/coin/dot/singletonRegistry.js +0 -20
- package/dist/src/coin/dot/stakingBuilder.d.ts +0 -58
- package/dist/src/coin/dot/stakingBuilder.d.ts.map +0 -1
- package/dist/src/coin/dot/stakingBuilder.js +0 -135
- package/dist/src/coin/dot/transaction.d.ts +0 -65
- package/dist/src/coin/dot/transaction.d.ts.map +0 -1
- package/dist/src/coin/dot/transaction.js +0 -396
- package/dist/src/coin/dot/transactionBuilder.d.ts +0 -131
- package/dist/src/coin/dot/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/dot/transactionBuilder.js +0 -332
- package/dist/src/coin/dot/transactionBuilderFactory.d.ts +0 -26
- package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +0 -1
- package/dist/src/coin/dot/transactionBuilderFactory.js +0 -93
- package/dist/src/coin/dot/transferBuilder.d.ts +0 -71
- package/dist/src/coin/dot/transferBuilder.d.ts.map +0 -1
- package/dist/src/coin/dot/transferBuilder.js +0 -171
- package/dist/src/coin/dot/txnSchema.d.ts +0 -14
- package/dist/src/coin/dot/txnSchema.d.ts.map +0 -1
- package/dist/src/coin/dot/txnSchema.js +0 -104
- package/dist/src/coin/dot/unnominateBuilder.d.ts +0 -24
- package/dist/src/coin/dot/unnominateBuilder.d.ts.map +0 -1
- package/dist/src/coin/dot/unnominateBuilder.js +0 -50
- package/dist/src/coin/dot/unstakeBuilder.d.ts +0 -38
- package/dist/src/coin/dot/unstakeBuilder.d.ts.map +0 -1
- package/dist/src/coin/dot/unstakeBuilder.js +0 -89
- package/dist/src/coin/dot/utils.d.ts +0 -138
- package/dist/src/coin/dot/utils.d.ts.map +0 -1
- package/dist/src/coin/dot/utils.js +0 -269
- package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts +0 -38
- package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts.map +0 -1
- package/dist/src/coin/dot/withdrawUnstakedBuilder.js +0 -90
- package/dist/src/coin/etc/index.d.ts +0 -8
- package/dist/src/coin/etc/index.d.ts.map +0 -1
- package/dist/src/coin/etc/index.js +0 -35
- package/dist/src/coin/etc/resources.d.ts +0 -10
- package/dist/src/coin/etc/resources.d.ts.map +0 -1
- package/dist/src/coin/etc/resources.js +0 -26
- package/dist/src/coin/etc/transactionBuilder.d.ts +0 -17
- package/dist/src/coin/etc/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/etc/transactionBuilder.js +0 -45
- package/dist/src/coin/etc/transferBuilder.d.ts +0 -19
- package/dist/src/coin/etc/transferBuilder.d.ts.map +0 -1
- package/dist/src/coin/etc/transferBuilder.js +0 -27
- package/dist/src/coin/etc/utils.d.ts +0 -18
- package/dist/src/coin/etc/utils.d.ts.map +0 -1
- package/dist/src/coin/etc/utils.js +0 -42
- package/dist/src/coin/eth/contractCall.d.ts +0 -8
- package/dist/src/coin/eth/contractCall.d.ts.map +0 -1
- package/dist/src/coin/eth/contractCall.js +0 -17
- package/dist/src/coin/eth/iface.d.ts +0 -122
- package/dist/src/coin/eth/iface.d.ts.map +0 -1
- package/dist/src/coin/eth/iface.js +0 -8
- package/dist/src/coin/eth/index.d.ts +0 -10
- package/dist/src/coin/eth/index.d.ts.map +0 -1
- package/dist/src/coin/eth/index.js +0 -39
- package/dist/src/coin/eth/keyPair.d.ts +0 -26
- package/dist/src/coin/eth/keyPair.d.ts.map +0 -1
- package/dist/src/coin/eth/keyPair.js +0 -85
- package/dist/src/coin/eth/transaction.d.ts +0 -64
- package/dist/src/coin/eth/transaction.d.ts.map +0 -1
- package/dist/src/coin/eth/transaction.js +0 -137
- package/dist/src/coin/eth/transactionBuilder.d.ts +0 -194
- package/dist/src/coin/eth/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/eth/transactionBuilder.js +0 -624
- package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts +0 -47
- package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts.map +0 -1
- package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.js +0 -113
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts +0 -14
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts.map +0 -1
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.js +0 -83
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts +0 -13
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts.map +0 -1
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.js +0 -68
- package/dist/src/coin/eth/transferBuilder.d.ts +0 -65
- package/dist/src/coin/eth/transferBuilder.d.ts.map +0 -1
- package/dist/src/coin/eth/transferBuilder.js +0 -197
- package/dist/src/coin/eth/types.d.ts +0 -39
- package/dist/src/coin/eth/types.d.ts.map +0 -1
- package/dist/src/coin/eth/types.js +0 -135
- package/dist/src/coin/eth/utils.d.ts +0 -202
- package/dist/src/coin/eth/utils.d.ts.map +0 -1
- package/dist/src/coin/eth/utils.js +0 -485
- package/dist/src/coin/eth/walletUtil.d.ts +0 -19
- package/dist/src/coin/eth/walletUtil.d.ts.map +0 -1
- package/dist/src/coin/eth/walletUtil.js +0 -29
- package/dist/src/coin/eth2/index.d.ts +0 -2
- package/dist/src/coin/eth2/index.d.ts.map +0 -1
- package/dist/src/coin/eth2/index.js +0 -6
- package/dist/src/coin/eth2/keyPair.d.ts +0 -33
- package/dist/src/coin/eth2/keyPair.d.ts.map +0 -1
- package/dist/src/coin/eth2/keyPair.js +0 -65
- package/dist/src/coin/hbar/ifaces.d.ts +0 -26
- package/dist/src/coin/hbar/ifaces.d.ts.map +0 -1
- package/dist/src/coin/hbar/ifaces.js +0 -3
- package/dist/src/coin/hbar/index.d.ts +0 -6
- package/dist/src/coin/hbar/index.d.ts.map +0 -1
- package/dist/src/coin/hbar/index.js +0 -31
- package/dist/src/coin/hbar/keyPair.d.ts +0 -23
- package/dist/src/coin/hbar/keyPair.d.ts.map +0 -1
- package/dist/src/coin/hbar/keyPair.js +0 -70
- package/dist/src/coin/hbar/transaction.d.ts +0 -98
- package/dist/src/coin/hbar/transaction.d.ts.map +0 -1
- package/dist/src/coin/hbar/transaction.js +0 -245
- package/dist/src/coin/hbar/transactionBuilder.d.ts +0 -112
- package/dist/src/coin/hbar/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/hbar/transactionBuilder.js +0 -264
- package/dist/src/coin/hbar/transactionBuilderFactory.d.ts +0 -37
- package/dist/src/coin/hbar/transactionBuilderFactory.d.ts.map +0 -1
- package/dist/src/coin/hbar/transactionBuilderFactory.js +0 -77
- package/dist/src/coin/hbar/transferBuilder.d.ts +0 -44
- package/dist/src/coin/hbar/transferBuilder.d.ts.map +0 -1
- package/dist/src/coin/hbar/transferBuilder.js +0 -130
- package/dist/src/coin/hbar/utils.d.ts +0 -139
- package/dist/src/coin/hbar/utils.d.ts.map +0 -1
- package/dist/src/coin/hbar/utils.js +0 -310
- package/dist/src/coin/hbar/walletInitializationBuilder.d.ts +0 -28
- package/dist/src/coin/hbar/walletInitializationBuilder.d.ts.map +0 -1
- package/dist/src/coin/hbar/walletInitializationBuilder.js +0 -90
- package/dist/src/coin/near/constants.d.ts +0 -12
- package/dist/src/coin/near/constants.d.ts.map +0 -1
- package/dist/src/coin/near/constants.js +0 -15
- package/dist/src/coin/near/contractCallWrapper.d.ts +0 -33
- package/dist/src/coin/near/contractCallWrapper.d.ts.map +0 -1
- package/dist/src/coin/near/contractCallWrapper.js +0 -68
- package/dist/src/coin/near/errors.d.ts +0 -5
- package/dist/src/coin/near/errors.d.ts.map +0 -1
- package/dist/src/coin/near/errors.js +0 -12
- package/dist/src/coin/near/iface.d.ts +0 -40
- package/dist/src/coin/near/iface.d.ts.map +0 -1
- package/dist/src/coin/near/iface.js +0 -8
- package/dist/src/coin/near/index.d.ts +0 -11
- package/dist/src/coin/near/index.d.ts.map +0 -1
- package/dist/src/coin/near/index.js +0 -41
- package/dist/src/coin/near/keyPair.d.ts +0 -25
- package/dist/src/coin/near/keyPair.d.ts.map +0 -1
- package/dist/src/coin/near/keyPair.js +0 -73
- package/dist/src/coin/near/stakingActivateBuilder.d.ts +0 -32
- package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +0 -1
- package/dist/src/coin/near/stakingActivateBuilder.js +0 -90
- package/dist/src/coin/near/stakingDeactivateBuilder.d.ts +0 -32
- package/dist/src/coin/near/stakingDeactivateBuilder.d.ts.map +0 -1
- package/dist/src/coin/near/stakingDeactivateBuilder.js +0 -89
- package/dist/src/coin/near/stakingWithdrawBuilder.d.ts +0 -32
- package/dist/src/coin/near/stakingWithdrawBuilder.d.ts.map +0 -1
- package/dist/src/coin/near/stakingWithdrawBuilder.js +0 -89
- package/dist/src/coin/near/transaction.d.ts +0 -90
- package/dist/src/coin/near/transaction.d.ts.map +0 -1
- package/dist/src/coin/near/transaction.js +0 -368
- package/dist/src/coin/near/transactionBuilder.d.ts +0 -89
- package/dist/src/coin/near/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/near/transactionBuilder.js +0 -216
- package/dist/src/coin/near/transactionBuilderFactory.d.ts +0 -30
- package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +0 -1
- package/dist/src/coin/near/transactionBuilderFactory.js +0 -71
- package/dist/src/coin/near/transferBuilder.d.ts +0 -26
- package/dist/src/coin/near/transferBuilder.d.ts.map +0 -1
- package/dist/src/coin/near/transferBuilder.js +0 -72
- package/dist/src/coin/near/utils.d.ts +0 -42
- package/dist/src/coin/near/utils.d.ts.map +0 -1
- package/dist/src/coin/near/utils.js +0 -92
- package/dist/src/coin/near/walletInitializationBuilder.d.ts +0 -12
- package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +0 -1
- package/dist/src/coin/near/walletInitializationBuilder.js +0 -20
- package/dist/src/coin/rbtc/index.d.ts +0 -8
- package/dist/src/coin/rbtc/index.d.ts.map +0 -1
- package/dist/src/coin/rbtc/index.js +0 -35
- package/dist/src/coin/rbtc/resources.d.ts +0 -10
- package/dist/src/coin/rbtc/resources.d.ts.map +0 -1
- package/dist/src/coin/rbtc/resources.js +0 -25
- package/dist/src/coin/rbtc/transactionBuilder.d.ts +0 -17
- package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/rbtc/transactionBuilder.js +0 -44
- package/dist/src/coin/rbtc/transferBuilder.d.ts +0 -19
- package/dist/src/coin/rbtc/transferBuilder.d.ts.map +0 -1
- package/dist/src/coin/rbtc/transferBuilder.js +0 -27
- package/dist/src/coin/rbtc/utils.d.ts +0 -18
- package/dist/src/coin/rbtc/utils.d.ts.map +0 -1
- package/dist/src/coin/rbtc/utils.js +0 -42
- package/dist/src/coin/sol/ataInitializationBuilder.d.ts +0 -33
- package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +0 -1
- package/dist/src/coin/sol/ataInitializationBuilder.js +0 -93
- package/dist/src/coin/sol/ataInitializationTransaction.d.ts +0 -14
- package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +0 -1
- package/dist/src/coin/sol/ataInitializationTransaction.js +0 -81
- package/dist/src/coin/sol/constants.d.ts +0 -58
- package/dist/src/coin/sol/constants.d.ts.map +0 -1
- package/dist/src/coin/sol/constants.js +0 -76
- package/dist/src/coin/sol/iface.d.ts +0 -99
- package/dist/src/coin/sol/iface.d.ts.map +0 -1
- package/dist/src/coin/sol/iface.js +0 -3
- package/dist/src/coin/sol/index.d.ts +0 -11
- package/dist/src/coin/sol/index.d.ts.map +0 -1
- package/dist/src/coin/sol/index.js +0 -41
- package/dist/src/coin/sol/instructionParamsFactory.d.ts +0 -12
- package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +0 -1
- package/dist/src/coin/sol/instructionParamsFactory.js +0 -260
- package/dist/src/coin/sol/keyPair.d.ts +0 -26
- package/dist/src/coin/sol/keyPair.d.ts.map +0 -1
- package/dist/src/coin/sol/keyPair.js +0 -63
- package/dist/src/coin/sol/solInstructionFactory.d.ts +0 -10
- package/dist/src/coin/sol/solInstructionFactory.d.ts.map +0 -1
- package/dist/src/coin/sol/solInstructionFactory.js +0 -213
- package/dist/src/coin/sol/stakingActivateBuilder.d.ts +0 -41
- package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +0 -1
- package/dist/src/coin/sol/stakingActivateBuilder.js +0 -94
- package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +0 -23
- package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +0 -1
- package/dist/src/coin/sol/stakingDeactivateBuilder.js +0 -62
- package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +0 -31
- package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +0 -1
- package/dist/src/coin/sol/stakingWithdrawBuilder.js +0 -78
- package/dist/src/coin/sol/tokenEncodeDecode.d.ts +0 -85
- package/dist/src/coin/sol/tokenEncodeDecode.d.ts.map +0 -1
- package/dist/src/coin/sol/tokenEncodeDecode.js +0 -133
- package/dist/src/coin/sol/tokenTransferBuilder.d.ts +0 -27
- package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +0 -1
- package/dist/src/coin/sol/tokenTransferBuilder.js +0 -73
- package/dist/src/coin/sol/transaction.d.ts +0 -61
- package/dist/src/coin/sol/transaction.d.ts.map +0 -1
- package/dist/src/coin/sol/transaction.js +0 -369
- package/dist/src/coin/sol/transactionBuilder.d.ts +0 -101
- package/dist/src/coin/sol/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/sol/transactionBuilder.js +0 -261
- package/dist/src/coin/sol/transactionBuilderFactory.d.ts +0 -76
- package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +0 -1
- package/dist/src/coin/sol/transactionBuilderFactory.js +0 -136
- package/dist/src/coin/sol/transferBuilder.d.ts +0 -26
- package/dist/src/coin/sol/transferBuilder.d.ts.map +0 -1
- package/dist/src/coin/sol/transferBuilder.js +0 -67
- package/dist/src/coin/sol/utils.d.ts +0 -146
- package/dist/src/coin/sol/utils.d.ts.map +0 -1
- package/dist/src/coin/sol/utils.js +0 -361
- package/dist/src/coin/sol/walletInitializationBuilder.d.ts +0 -26
- package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +0 -1
- package/dist/src/coin/sol/walletInitializationBuilder.js +0 -71
- package/dist/src/coin/stx/abstractContractBuilder.d.ts +0 -19
- package/dist/src/coin/stx/abstractContractBuilder.d.ts.map +0 -1
- package/dist/src/coin/stx/abstractContractBuilder.js +0 -70
- package/dist/src/coin/stx/constants.d.ts +0 -8
- package/dist/src/coin/stx/constants.d.ts.map +0 -1
- package/dist/src/coin/stx/constants.js +0 -19
- package/dist/src/coin/stx/contractBuilder.d.ts +0 -33
- package/dist/src/coin/stx/contractBuilder.d.ts.map +0 -1
- package/dist/src/coin/stx/contractBuilder.js +0 -116
- package/dist/src/coin/stx/iface.d.ts +0 -48
- package/dist/src/coin/stx/iface.d.ts.map +0 -1
- package/dist/src/coin/stx/iface.js +0 -3
- package/dist/src/coin/stx/index.d.ts +0 -6
- package/dist/src/coin/stx/index.d.ts.map +0 -1
- package/dist/src/coin/stx/index.js +0 -32
- package/dist/src/coin/stx/keyPair.d.ts +0 -55
- package/dist/src/coin/stx/keyPair.d.ts.map +0 -1
- package/dist/src/coin/stx/keyPair.js +0 -140
- package/dist/src/coin/stx/sendmanyBuilder.d.ts +0 -23
- package/dist/src/coin/stx/sendmanyBuilder.d.ts.map +0 -1
- package/dist/src/coin/stx/sendmanyBuilder.js +0 -75
- package/dist/src/coin/stx/transaction.d.ts +0 -49
- package/dist/src/coin/stx/transaction.d.ts.map +0 -1
- package/dist/src/coin/stx/transaction.js +0 -225
- package/dist/src/coin/stx/transactionBuilder.d.ts +0 -86
- package/dist/src/coin/stx/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/stx/transactionBuilder.js +0 -263
- package/dist/src/coin/stx/transactionBuilderFactory.d.ts +0 -30
- package/dist/src/coin/stx/transactionBuilderFactory.d.ts.map +0 -1
- package/dist/src/coin/stx/transactionBuilderFactory.js +0 -81
- package/dist/src/coin/stx/transferBuilder.d.ts +0 -30
- package/dist/src/coin/stx/transferBuilder.d.ts.map +0 -1
- package/dist/src/coin/stx/transferBuilder.js +0 -99
- package/dist/src/coin/stx/utils.d.ts +0 -207
- package/dist/src/coin/stx/utils.d.ts.map +0 -1
- package/dist/src/coin/stx/utils.js +0 -504
- package/dist/src/coin/trx/address.d.ts +0 -11
- package/dist/src/coin/trx/address.d.ts.map +0 -1
- package/dist/src/coin/trx/address.js +0 -13
- package/dist/src/coin/trx/contractCallBuilder.d.ts +0 -96
- package/dist/src/coin/trx/contractCallBuilder.d.ts.map +0 -1
- package/dist/src/coin/trx/contractCallBuilder.js +0 -281
- package/dist/src/coin/trx/enum.d.ts +0 -23
- package/dist/src/coin/trx/enum.d.ts.map +0 -1
- package/dist/src/coin/trx/enum.js +0 -28
- package/dist/src/coin/trx/iface.d.ts +0 -92
- package/dist/src/coin/trx/iface.d.ts.map +0 -1
- package/dist/src/coin/trx/iface.js +0 -3
- package/dist/src/coin/trx/index.d.ts +0 -10
- package/dist/src/coin/trx/index.d.ts.map +0 -1
- package/dist/src/coin/trx/index.js +0 -39
- package/dist/src/coin/trx/keyPair.d.ts +0 -44
- package/dist/src/coin/trx/keyPair.d.ts.map +0 -1
- package/dist/src/coin/trx/keyPair.js +0 -121
- package/dist/src/coin/trx/transaction.d.ts +0 -74
- package/dist/src/coin/trx/transaction.d.ts.map +0 -1
- package/dist/src/coin/trx/transaction.js +0 -205
- package/dist/src/coin/trx/transactionBuilder.d.ts +0 -65
- package/dist/src/coin/trx/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/trx/transactionBuilder.js +0 -215
- package/dist/src/coin/trx/utils.d.ts +0 -127
- package/dist/src/coin/trx/utils.d.ts.map +0 -1
- package/dist/src/coin/trx/utils.js +0 -369
- package/dist/src/coin/trx/wrappedBuilder.d.ts +0 -52
- package/dist/src/coin/trx/wrappedBuilder.d.ts.map +0 -1
- package/dist/src/coin/trx/wrappedBuilder.js +0 -104
- package/dist/src/coin/xrp/index.d.ts +0 -5
- package/dist/src/coin/xrp/index.d.ts.map +0 -1
- package/dist/src/coin/xrp/index.js +0 -29
- package/dist/src/coin/xrp/keyPair.d.ts +0 -10
- package/dist/src/coin/xrp/keyPair.d.ts.map +0 -1
- package/dist/src/coin/xrp/keyPair.js +0 -16
- package/dist/src/coin/xrp/transaction.d.ts +0 -10
- package/dist/src/coin/xrp/transaction.d.ts.map +0 -1
- package/dist/src/coin/xrp/transaction.js +0 -20
- package/dist/src/coin/xrp/transactionBuilder.d.ts +0 -27
- package/dist/src/coin/xrp/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/xrp/transactionBuilder.js +0 -46
- package/dist/src/coin/xrp/transactionBuilderFactory.d.ts +0 -24
- package/dist/src/coin/xrp/transactionBuilderFactory.d.ts.map +0 -1
- package/dist/src/coin/xrp/transactionBuilderFactory.js +0 -38
- package/dist/src/coin/xrp/transferBuilder.d.ts +0 -14
- package/dist/src/coin/xrp/transferBuilder.d.ts.map +0 -1
- package/dist/src/coin/xrp/transferBuilder.js +0 -24
- package/dist/src/coin/xrp/utils.d.ts +0 -16
- package/dist/src/coin/xrp/utils.d.ts.map +0 -1
- package/dist/src/coin/xrp/utils.js +0 -32
- package/dist/src/coin/xrp/walletInitializationBuilder.d.ts +0 -14
- package/dist/src/coin/xrp/walletInitializationBuilder.d.ts.map +0 -1
- package/dist/src/coin/xrp/walletInitializationBuilder.js +0 -24
- package/dist/src/coin/xtz/address.d.ts +0 -8
- package/dist/src/coin/xtz/address.d.ts.map +0 -1
- package/dist/src/coin/xtz/address.js +0 -10
- package/dist/src/coin/xtz/iface.d.ts +0 -81
- package/dist/src/coin/xtz/iface.d.ts.map +0 -1
- package/dist/src/coin/xtz/iface.js +0 -3
- package/dist/src/coin/xtz/index.d.ts +0 -8
- package/dist/src/coin/xtz/index.d.ts.map +0 -1
- package/dist/src/coin/xtz/index.js +0 -37
- package/dist/src/coin/xtz/keyPair.d.ts +0 -40
- package/dist/src/coin/xtz/keyPair.d.ts.map +0 -1
- package/dist/src/coin/xtz/keyPair.js +0 -136
- package/dist/src/coin/xtz/multisigUtils.d.ts +0 -134
- package/dist/src/coin/xtz/multisigUtils.d.ts.map +0 -1
- package/dist/src/coin/xtz/multisigUtils.js +0 -1180
- package/dist/src/coin/xtz/transaction.d.ts +0 -119
- package/dist/src/coin/xtz/transaction.d.ts.map +0 -1
- package/dist/src/coin/xtz/transaction.js +0 -315
- package/dist/src/coin/xtz/transactionBuilder.d.ts +0 -171
- package/dist/src/coin/xtz/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/xtz/transactionBuilder.js +0 -453
- package/dist/src/coin/xtz/transferBuilder.d.ts +0 -24
- package/dist/src/coin/xtz/transferBuilder.d.ts.map +0 -1
- package/dist/src/coin/xtz/transferBuilder.js +0 -64
- package/dist/src/coin/xtz/utils.d.ts +0 -265
- package/dist/src/coin/xtz/utils.d.ts.map +0 -1
- package/dist/src/coin/xtz/utils.js +0 -460
- package/dist/src/mpc/curves/baseCurve.d.ts +0 -18
- package/dist/src/mpc/curves/baseCurve.d.ts.map +0 -1
- package/dist/src/mpc/curves/baseCurve.js +0 -6
- package/dist/src/mpc/curves/ed25519.d.ts +0 -17
- package/dist/src/mpc/curves/ed25519.d.ts.map +0 -1
- package/dist/src/mpc/curves/ed25519.js +0 -48
- package/dist/src/mpc/curves/index.d.ts +0 -5
- package/dist/src/mpc/curves/index.d.ts.map +0 -1
- package/dist/src/mpc/curves/index.js +0 -6
- package/dist/src/mpc/curves/secp256k1.d.ts +0 -16
- package/dist/src/mpc/curves/secp256k1.d.ts.map +0 -1
- package/dist/src/mpc/curves/secp256k1.js +0 -66
- package/dist/src/mpc/hdTree.d.ts +0 -24
- package/dist/src/mpc/hdTree.d.ts.map +0 -1
- package/dist/src/mpc/hdTree.js +0 -94
- package/dist/src/mpc/shamir.d.ts +0 -26
- package/dist/src/mpc/shamir.d.ts.map +0 -1
- package/dist/src/mpc/shamir.js +0 -86
- package/dist/src/mpc/tss/eddsa/eddsa.d.ts +0 -29
- package/dist/src/mpc/tss/eddsa/eddsa.d.ts.map +0 -1
- package/dist/src/mpc/tss/eddsa/eddsa.js +0 -273
- package/dist/src/mpc/tss/eddsa/index.d.ts +0 -4
- package/dist/src/mpc/tss/eddsa/index.d.ts.map +0 -1
- package/dist/src/mpc/tss/eddsa/index.js +0 -30
- package/dist/src/mpc/tss/eddsa/types.d.ts +0 -70
- package/dist/src/mpc/tss/eddsa/types.d.ts.map +0 -1
- package/dist/src/mpc/tss/eddsa/types.js +0 -3
- package/dist/src/mpc/tss/index.d.ts +0 -5
- package/dist/src/mpc/tss/index.d.ts.map +0 -1
- package/dist/src/mpc/tss/index.js +0 -32
- package/dist/src/mpc/tss.d.ts +0 -98
- package/dist/src/mpc/tss.d.ts.map +0 -1
- package/dist/src/mpc/tss.js +0 -277
- package/dist/src/mpc/util.d.ts +0 -7
- package/dist/src/mpc/util.d.ts.map +0 -1
- package/dist/src/mpc/util.js +0 -38
- package/dist/src/utils/crypto.d.ts +0 -99
- package/dist/src/utils/crypto.d.ts.map +0 -1
- package/dist/src/utils/crypto.js +0 -260
- package/dist/src/utils/ed25519KeyDeriver.d.ts +0 -49
- package/dist/src/utils/ed25519KeyDeriver.d.ts.map +0 -1
- package/dist/src/utils/ed25519KeyDeriver.js +0 -92
- package/resources/hbar/protobuf/BasicTypes.proto +0 -424
- package/resources/hbar/protobuf/CryptoCreate.proto +0 -47
- package/resources/hbar/protobuf/CryptoTransfer.proto +0 -33
- package/resources/hbar/protobuf/Duration.proto +0 -28
- package/resources/hbar/protobuf/Timestamp.proto +0 -34
- package/resources/hbar/protobuf/Transaction.proto +0 -35
- package/resources/hbar/protobuf/TransactionBody.proto +0 -24
- package/resources/hbar/protobuf/TransactionContents.proto +0 -33
- package/resources/hbar/protobuf/hedera.d.ts +0 -4612
- package/resources/hbar/protobuf/hedera.js +0 -12192
- package/resources/trx/protobuf/Contract.proto +0 -256
- package/resources/trx/protobuf/Discover.proto +0 -44
- package/resources/trx/protobuf/tron.d.ts +0 -11024
- package/resources/trx/protobuf/tron.js +0 -31510
- package/resources/trx/protobuf/tron.proto +0 -677
|
@@ -1,373 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.TransactionBuilder = void 0;
|
|
7
|
-
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
|
-
const algosdk_1 = __importDefault(require("algosdk"));
|
|
9
|
-
const transaction_1 = require("./transaction");
|
|
10
|
-
const errors_1 = require("./errors");
|
|
11
|
-
const keyPair_1 = require("./keyPair");
|
|
12
|
-
const txnSchema_1 = require("./txnSchema");
|
|
13
|
-
const utils_1 = __importDefault(require("./utils"));
|
|
14
|
-
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
15
|
-
const MIN_FEE = 1000; // in microalgos
|
|
16
|
-
const MAINNET_GENESIS_ID = 'mainnet-v1.0';
|
|
17
|
-
const MAINNET_GENESIS_HASH = 'wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=';
|
|
18
|
-
const TESTNET_GENESIS_ID = 'testnet-v1.0';
|
|
19
|
-
const TESTNET_GENESIS_HASH = 'SGO1GKSzyE7IEPItTxCByw9x8FmnrCDexi9/cOUJOiI=';
|
|
20
|
-
const BETANET_GENESIS_ID = 'betanet-v1.0';
|
|
21
|
-
const BETANET_GENESIS_HASH = 'mFgazF+2uRS1tMiL9dsj01hJGySEmPN28B/TjjvpVW0=';
|
|
22
|
-
class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
23
|
-
constructor(coinConfig) {
|
|
24
|
-
super(coinConfig);
|
|
25
|
-
this._transaction = new transaction_1.Transaction(coinConfig);
|
|
26
|
-
this._keyPairs = [];
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Sets the fee.
|
|
30
|
-
*
|
|
31
|
-
* The minimum fee is 1000 microalgos.
|
|
32
|
-
*
|
|
33
|
-
* @param {BaseFee} feeObj The amount to pay to the fee sink denoted in microalgos
|
|
34
|
-
* @returns {TransactionBuilder} This transaction builder.
|
|
35
|
-
*
|
|
36
|
-
* @see https://developer.algorand.org/docs/reference/transactions/
|
|
37
|
-
*/
|
|
38
|
-
fee(feeObj) {
|
|
39
|
-
this._isFlatFee = true;
|
|
40
|
-
const fee = new bignumber_js_1.default(feeObj.fee).toNumber();
|
|
41
|
-
if (this._isFlatFee && fee < MIN_FEE) {
|
|
42
|
-
throw new errors_1.InsufficientFeeError(fee, MIN_FEE);
|
|
43
|
-
}
|
|
44
|
-
this._fee = fee;
|
|
45
|
-
return this;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Sets whether the fee is a flat fee.
|
|
49
|
-
*
|
|
50
|
-
* A flat fee is the fee for the entire transaction whereas a normal fee
|
|
51
|
-
* is a fee for every byte in the transaction.
|
|
52
|
-
*
|
|
53
|
-
* @param {boolean} isFlatFee Whether the fee should be specified as a flat fee.
|
|
54
|
-
* @returns {TransactionBuilder} This transaction builder.
|
|
55
|
-
*/
|
|
56
|
-
isFlatFee(isFlatFee) {
|
|
57
|
-
this._isFlatFee = isFlatFee;
|
|
58
|
-
return this;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Sets the transaction sender.
|
|
62
|
-
*
|
|
63
|
-
* @param {BaseAddress} sender The sender account
|
|
64
|
-
* @returns {TransactionBuilder} This transaction builder.
|
|
65
|
-
*
|
|
66
|
-
* @see https://developer.algorand.org/docs/reference/transactions/
|
|
67
|
-
*/
|
|
68
|
-
sender(sender) {
|
|
69
|
-
this.validateAddress(sender);
|
|
70
|
-
this._sender = sender.address;
|
|
71
|
-
this._transaction.sender(sender.address);
|
|
72
|
-
return this;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Sets the genesis id.
|
|
76
|
-
*
|
|
77
|
-
* @param {string} genesisId The genesis id.
|
|
78
|
-
* @example "mainnet-v1.0"
|
|
79
|
-
*
|
|
80
|
-
* @returns {TransactionBuilder} This transaction builder.
|
|
81
|
-
*
|
|
82
|
-
* @see https://developer.algorand.org/docs/reference/transactions/
|
|
83
|
-
*/
|
|
84
|
-
genesisId(genesisId) {
|
|
85
|
-
this._genesisId = genesisId;
|
|
86
|
-
return this;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Sets the genesis hash.
|
|
90
|
-
*
|
|
91
|
-
* The genesis hash must be base64 encoded.
|
|
92
|
-
*
|
|
93
|
-
* @param {string} genesisHash The genesis hash.
|
|
94
|
-
* @example "wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8="
|
|
95
|
-
*
|
|
96
|
-
* @returns {TransactionBuilder} This transaction builder.
|
|
97
|
-
*
|
|
98
|
-
* @see https://developer.algorand.org/docs/reference/transactions/
|
|
99
|
-
*/
|
|
100
|
-
genesisHash(genesisHash) {
|
|
101
|
-
this._genesisHash = genesisHash;
|
|
102
|
-
return this;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Sets the genesis id and hash to mainnet.
|
|
106
|
-
*
|
|
107
|
-
* @returns {TransactionBuilder} This transaction builder.
|
|
108
|
-
*
|
|
109
|
-
* @see https://developer.algorand.org/docs/reference/algorand-networks/mainnet/#genesis-id
|
|
110
|
-
* @see https://developer.algorand.org/docs/reference/algorand-networks/mainnet/#genesis-hash
|
|
111
|
-
*/
|
|
112
|
-
mainnet() {
|
|
113
|
-
this.genesisId(MAINNET_GENESIS_ID);
|
|
114
|
-
this.genesisHash(MAINNET_GENESIS_HASH);
|
|
115
|
-
return this;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Sets the genesis id and hash to testnet.
|
|
119
|
-
*
|
|
120
|
-
* @returns {TransactionBuilder} This transaction builder.
|
|
121
|
-
*
|
|
122
|
-
* @see https://developer.algorand.org/docs/reference/algorand-networks/testnet/#genesis-id
|
|
123
|
-
* @see https://developer.algorand.org/docs/reference/algorand-networks/testnet/#genesis-hash
|
|
124
|
-
*/
|
|
125
|
-
testnet() {
|
|
126
|
-
this.genesisId(TESTNET_GENESIS_ID);
|
|
127
|
-
this.genesisHash(TESTNET_GENESIS_HASH);
|
|
128
|
-
return this;
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Sets the genesis id and hash to betanet.
|
|
132
|
-
*
|
|
133
|
-
* @returns {TransactionBuilder} This transaction builder.
|
|
134
|
-
*
|
|
135
|
-
* @see https://developer.algorand.org/docs/reference/algorand-networks/betanet/#genesis-id
|
|
136
|
-
* @see https://developer.algorand.org/docs/reference/algorand-networks/betanet/#genesis-hash
|
|
137
|
-
*/
|
|
138
|
-
betanet() {
|
|
139
|
-
this.genesisId(BETANET_GENESIS_ID);
|
|
140
|
-
this.genesisHash(BETANET_GENESIS_HASH);
|
|
141
|
-
return this;
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Sets the first round.
|
|
145
|
-
*
|
|
146
|
-
* @param {number} round The first protocol round on which this txn is valid.
|
|
147
|
-
* @returns {TransactionBuilder} This transaction builder.
|
|
148
|
-
*
|
|
149
|
-
* @see https://developer.algorand.org/docs/reference/transactions/
|
|
150
|
-
*/
|
|
151
|
-
firstRound(round) {
|
|
152
|
-
this.validateValue(new bignumber_js_1.default(round));
|
|
153
|
-
this._firstRound = round;
|
|
154
|
-
return this;
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Sets the last round.
|
|
158
|
-
*
|
|
159
|
-
* @param {number} round The first protocol round on which this txn is valid.
|
|
160
|
-
* @returns {TransactionBuilder} This transaction builder.
|
|
161
|
-
*
|
|
162
|
-
* @see https://developer.algorand.org/docs/reference/transactions/
|
|
163
|
-
*/
|
|
164
|
-
lastRound(round) {
|
|
165
|
-
this.validateValue(new bignumber_js_1.default(round));
|
|
166
|
-
this._lastRound = round;
|
|
167
|
-
return this;
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Sets the lease on the transaction.
|
|
171
|
-
*
|
|
172
|
-
* A lease is a mutex on the transaction that prevents any other transaction
|
|
173
|
-
* from being sent with the same lease until the prior transaction's last
|
|
174
|
-
* round has passed.
|
|
175
|
-
*
|
|
176
|
-
* @param {Uint8Array} lease The lease to put the transaction.
|
|
177
|
-
* @returns {TransactionBuilder} This transaction builder.
|
|
178
|
-
*
|
|
179
|
-
* @see https://developer.algorand.org/docs/reference/transactions/
|
|
180
|
-
*/
|
|
181
|
-
lease(lease) {
|
|
182
|
-
this._lease = lease;
|
|
183
|
-
return this;
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Sets the note for the transaction.
|
|
187
|
-
*
|
|
188
|
-
* @param {Uint8Array} note Arbitrary data for sender to store.
|
|
189
|
-
* @returns {TransactionBuilder} This transaction builder.
|
|
190
|
-
*
|
|
191
|
-
* @see https://developer.algorand.org/docs/reference/transactions/
|
|
192
|
-
*/
|
|
193
|
-
note(note) {
|
|
194
|
-
this._note = note;
|
|
195
|
-
return this;
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Sets the authorized address.
|
|
199
|
-
*
|
|
200
|
-
* The authorized asset will be used to authorize all future transactions.
|
|
201
|
-
*
|
|
202
|
-
* @param {BaseAddress} authorizer The address to delegate authorization authority to.
|
|
203
|
-
* @returns {TransactionBuilder} This transaction builder.
|
|
204
|
-
*
|
|
205
|
-
* @see https://developer.algorand.org/docs/reference/transactions/
|
|
206
|
-
*/
|
|
207
|
-
reKeyTo(authorizer) {
|
|
208
|
-
this.validateAddress(authorizer);
|
|
209
|
-
this._reKeyTo = authorizer.address;
|
|
210
|
-
return this;
|
|
211
|
-
}
|
|
212
|
-
/** @inheritdoc */
|
|
213
|
-
validateAddress({ address }) {
|
|
214
|
-
if (!algosdk_1.default.isValidAddress(address)) {
|
|
215
|
-
throw new errors_1.AddressValidationError(address);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
/** @inheritdoc */
|
|
219
|
-
async buildImplementation() {
|
|
220
|
-
this.transaction.setAlgoTransaction(this.buildAlgoTxn());
|
|
221
|
-
this.transaction.setTransactionType(this.transactionType);
|
|
222
|
-
this.transaction.sign(this._keyPairs);
|
|
223
|
-
this._transaction.loadInputsAndOutputs();
|
|
224
|
-
return this._transaction;
|
|
225
|
-
}
|
|
226
|
-
/** @inheritdoc */
|
|
227
|
-
fromImplementation(rawTransaction) {
|
|
228
|
-
const decodedTxn = utils_1.default.decodeAlgoTxn(rawTransaction);
|
|
229
|
-
const algosdkTxn = decodedTxn.txn;
|
|
230
|
-
if (decodedTxn.signed) {
|
|
231
|
-
this._transaction.signedTransaction = decodedTxn.rawTransaction;
|
|
232
|
-
if (decodedTxn.signers) {
|
|
233
|
-
this.setSigners(decodedTxn.signers);
|
|
234
|
-
}
|
|
235
|
-
if (decodedTxn.signedBy) {
|
|
236
|
-
this._transaction.signedBy = decodedTxn.signedBy;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
this.sender({ address: algosdk_1.default.encodeAddress(algosdkTxn.from.publicKey) });
|
|
240
|
-
this._isFlatFee = true;
|
|
241
|
-
this._fee = algosdkTxn.fee;
|
|
242
|
-
this._genesisHash = algosdkTxn.genesisHash.toString('base64');
|
|
243
|
-
this._genesisId = algosdkTxn.genesisID;
|
|
244
|
-
this._firstRound = algosdkTxn.firstRound;
|
|
245
|
-
this._lastRound = algosdkTxn.lastRound;
|
|
246
|
-
this._lease = algosdkTxn.lease;
|
|
247
|
-
this._note = algosdkTxn.note;
|
|
248
|
-
this._reKeyTo = algosdkTxn.reKeyTo ? algosdk_1.default.encodeAddress(algosdkTxn.reKeyTo.publicKey) : undefined;
|
|
249
|
-
this._transaction.setAlgoTransaction(algosdkTxn);
|
|
250
|
-
return this._transaction;
|
|
251
|
-
}
|
|
252
|
-
/** @inheritdoc */
|
|
253
|
-
signImplementation({ key }) {
|
|
254
|
-
const buffKey = utils_1.default.decodeSeed(key);
|
|
255
|
-
const keypair = new keyPair_1.KeyPair({ prv: Buffer.from(buffKey.seed).toString('hex') });
|
|
256
|
-
this._keyPairs.push(keypair);
|
|
257
|
-
return this._transaction;
|
|
258
|
-
}
|
|
259
|
-
numberOfSigners(num) {
|
|
260
|
-
this._transaction.setNumberOfRequiredSigners(num);
|
|
261
|
-
return this;
|
|
262
|
-
}
|
|
263
|
-
setSigners(addrs) {
|
|
264
|
-
const signers = addrs instanceof Array ? addrs : [addrs];
|
|
265
|
-
signers.forEach((address) => this.validateAddress({ address: address }));
|
|
266
|
-
this._transaction.signers = signers;
|
|
267
|
-
return this;
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* Sets the number of signers required to sign the transaction.
|
|
271
|
-
*
|
|
272
|
-
* The number of signers cannot be set to a negative value.
|
|
273
|
-
*
|
|
274
|
-
* @param {number} n The number of signers.
|
|
275
|
-
* @returns {TransactionBuilder} This transaction builder.
|
|
276
|
-
*/
|
|
277
|
-
numberOfRequiredSigners(n) {
|
|
278
|
-
if (n < 0) {
|
|
279
|
-
throw new sdk_core_1.BuildTransactionError(`Number of signers: '${n}' cannot be negative`);
|
|
280
|
-
}
|
|
281
|
-
this._transaction.setNumberOfRequiredSigners(n);
|
|
282
|
-
return this;
|
|
283
|
-
}
|
|
284
|
-
/**
|
|
285
|
-
* @inheritdoc
|
|
286
|
-
* @see https://developer.algorand.org/docs/features/accounts/#transformation-private-key-to-base64-private-key
|
|
287
|
-
*/
|
|
288
|
-
validateKey({ key }) {
|
|
289
|
-
let isValidPrivateKeyFromBytes;
|
|
290
|
-
const isValidPrivateKeyFromHex = sdk_core_1.isValidEd25519Seed(key);
|
|
291
|
-
const isValidPrivateKeyFromBase64 = sdk_core_1.isValidEd25519Seed(Buffer.from(key, 'base64').toString('hex'));
|
|
292
|
-
try {
|
|
293
|
-
const decodedSeed = utils_1.default.decodeSeed(key);
|
|
294
|
-
isValidPrivateKeyFromBytes = sdk_core_1.isValidEd25519Seed(Buffer.from(decodedSeed.seed).toString('hex'));
|
|
295
|
-
}
|
|
296
|
-
catch (err) {
|
|
297
|
-
isValidPrivateKeyFromBytes = false;
|
|
298
|
-
}
|
|
299
|
-
if (!isValidPrivateKeyFromBytes && !isValidPrivateKeyFromHex && !isValidPrivateKeyFromBase64) {
|
|
300
|
-
throw new sdk_core_1.BuildTransactionError(`Key validation failed`);
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
/** @inheritdoc */
|
|
304
|
-
validateRawTransaction(rawTransaction) {
|
|
305
|
-
const decodedTxn = utils_1.default.decodeAlgoTxn(rawTransaction);
|
|
306
|
-
const algoTxn = decodedTxn.txn;
|
|
307
|
-
const validationResult = txnSchema_1.BaseTransactionSchema.validate({
|
|
308
|
-
fee: algoTxn === null || algoTxn === void 0 ? void 0 : algoTxn.fee,
|
|
309
|
-
firstRound: algoTxn === null || algoTxn === void 0 ? void 0 : algoTxn.firstRound,
|
|
310
|
-
genesisHash: algoTxn === null || algoTxn === void 0 ? void 0 : algoTxn.genesisHash.toString('base64'),
|
|
311
|
-
lastRound: algoTxn === null || algoTxn === void 0 ? void 0 : algoTxn.lastRound,
|
|
312
|
-
sender: algoTxn ? algosdk_1.default.encodeAddress(algoTxn.from.publicKey) : undefined,
|
|
313
|
-
genesisId: algoTxn === null || algoTxn === void 0 ? void 0 : algoTxn.genesisID,
|
|
314
|
-
lease: algoTxn === null || algoTxn === void 0 ? void 0 : algoTxn.lease,
|
|
315
|
-
note: algoTxn === null || algoTxn === void 0 ? void 0 : algoTxn.note,
|
|
316
|
-
reKeyTo: (algoTxn === null || algoTxn === void 0 ? void 0 : algoTxn.reKeyTo) ? algosdk_1.default.encodeAddress(algoTxn.reKeyTo.publicKey) : undefined,
|
|
317
|
-
});
|
|
318
|
-
if (validationResult.error) {
|
|
319
|
-
throw new sdk_core_1.InvalidTransactionError(`Transaction validation failed: ${validationResult.error.message}`);
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
/** @inheritdoc */
|
|
323
|
-
validateTransaction(_) {
|
|
324
|
-
this.validateBaseFields(this._fee, this._firstRound, this._genesisHash, this._lastRound, this._sender, this._genesisId, this._lease, this._note, this._reKeyTo);
|
|
325
|
-
}
|
|
326
|
-
validateBaseFields(fee, firstRound, genesisHash, lastRound, sender, genesisId, lease, note, reKeyTo) {
|
|
327
|
-
const validationResult = txnSchema_1.BaseTransactionSchema.validate({
|
|
328
|
-
fee,
|
|
329
|
-
firstRound,
|
|
330
|
-
genesisHash,
|
|
331
|
-
lastRound,
|
|
332
|
-
sender,
|
|
333
|
-
genesisId,
|
|
334
|
-
lease,
|
|
335
|
-
note,
|
|
336
|
-
reKeyTo,
|
|
337
|
-
});
|
|
338
|
-
if (validationResult.error) {
|
|
339
|
-
throw new sdk_core_1.InvalidTransactionError(`Transaction validation failed: ${validationResult.error.message}`);
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
/** @inheritdoc */
|
|
343
|
-
validateValue(value) {
|
|
344
|
-
if (value.isLessThan(0)) {
|
|
345
|
-
throw new sdk_core_1.BuildTransactionError('Value cannot be less than zero');
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
/** @inheritdoc */
|
|
349
|
-
get transaction() {
|
|
350
|
-
return this._transaction;
|
|
351
|
-
}
|
|
352
|
-
/** @inheritdoc */
|
|
353
|
-
set transaction(transaction) {
|
|
354
|
-
this._transaction = transaction;
|
|
355
|
-
}
|
|
356
|
-
/**
|
|
357
|
-
* Convenience method to retrieve the algosdk suggested parameters.
|
|
358
|
-
*
|
|
359
|
-
* @returns {algosdk.SuggestedParams} The algosdk suggested parameters.
|
|
360
|
-
*/
|
|
361
|
-
get suggestedParams() {
|
|
362
|
-
return {
|
|
363
|
-
flatFee: this._isFlatFee,
|
|
364
|
-
fee: this._fee,
|
|
365
|
-
firstRound: this._firstRound,
|
|
366
|
-
lastRound: this._lastRound,
|
|
367
|
-
genesisID: this._genesisId,
|
|
368
|
-
genesisHash: this._genesisHash,
|
|
369
|
-
};
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
exports.TransactionBuilder = TransactionBuilder;
|
|
373
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vYWxnby90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsZ0VBQXFDO0FBQ3JDLHNEQUE4QjtBQUU5QiwrQ0FBNEM7QUFDNUMscUNBQXdFO0FBQ3hFLHVDQUFvQztBQUNwQywyQ0FBb0Q7QUFDcEQsb0RBQTRCO0FBQzVCLDhDQVN5QjtBQUV6QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0I7QUFFdEMsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQUM7QUFDMUMsTUFBTSxvQkFBb0IsR0FBRyw4Q0FBOEMsQ0FBQztBQUM1RSxNQUFNLGtCQUFrQixHQUFHLGNBQWMsQ0FBQztBQUMxQyxNQUFNLG9CQUFvQixHQUFHLDhDQUE4QyxDQUFDO0FBQzVFLE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxDQUFDO0FBQzFDLE1BQU0sb0JBQW9CLEdBQUcsOENBQThDLENBQUM7QUFFNUUsTUFBc0Isa0JBQW1CLFNBQVEsaUNBQXNCO0lBbUJyRSxZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVsQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUkseUJBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsR0FBRyxDQUFDLE1BQWU7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxzQkFBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksR0FBRyxHQUFHLE9BQU8sRUFBRTtZQUNwQyxNQUFNLElB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UztZQUNULE1BQU07WUFDTixTQUFTO1lBQ1QsS0FBSztZQUNMLElBQUk7WUFDSixPQUFPO1NBQ1IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7WUFDMUIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLGtDQUFrQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUN2RztJQUNILENBQUM7SUFDRCxrQkFBa0I7SUFDbEIsYUFBYSxDQUFDLEtBQWdCO1FBQzVCLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2QixNQUFNLElBQUksZ0NBQXFCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNuRTtJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBYyxXQUFXO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQWMsV0FBVyxDQUFDLFdBQXdCO1FBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBYyxlQUFlO1FBQzNCLE9BQU87WUFDTCxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDeEIsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2QsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzVCLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMxQixTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDMUIsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQy9CLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFwY0QsZ0RBb2NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCBhbGdvc2RrIGZyb20gJ2FsZ29zZGsnO1xuXG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQWRkcmVzc1ZhbGlkYXRpb25FcnJvciwgSW5zdWZmaWNpZW50RmVlRXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmltcG9ydCB7IEJhc2VUcmFuc2FjdGlvblNjaGVtYSB9IGZyb20gJy4vdHhuU2NoZW1hJztcbmltcG9ydCBVdGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7XG4gIEJhc2VBZGRyZXNzLFxuICBCYXNlRmVlLFxuICBCYXNlS2V5LFxuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxuICBpc1ZhbGlkRWQyNTUxOVNlZWQsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcblxuY29uc3QgTUlOX0ZFRSA9IDEwMDA7IC8vIGluIG1pY3JvYWxnb3NcblxuY29uc3QgTUFJTk5FVF9HRU5FU0lTX0lEID0gJ21haW5uZXQtdjEuMCc7XG5jb25zdCBNQUlOTkVUX0dFTkVTSVNfSEFTSCA9ICd3R0hFMlB3ZHZkN1MxMkJMNUZhT1AyMEVHWWVzTjcza3RpQzFxemtraXQ4PSc7XG5jb25zdCBURVNUTkVUX0dFTkVTSVNfSUQgPSAndGVzdG5ldC12MS4wJztcbmNvbnN0IFRFU1RORVRfR0VORVNJU19IQVNIID0gJ1NHTzFHS1N6eUU3SUVQSXRUeENCeXc5eDhGbW5yQ0RleGk5L2NPVUpPaUk9JztcbmNvbnN0IEJFVEFORVRfR0VORVNJU19JRCA9ICdiZXRhbmV0LXYxLjAnO1xuY29uc3QgQkVUQU5FVF9HRU5FU0lTX0hBU0ggPSAnbUZnYXpGKzJ1UlMxdE1pTDlkc2owMWhKR3lTRW1QTjI4Qi9Uamp2cFZXMD0nO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uO1xuICBwcm90ZWN0ZWQgX2tleVBhaXJzOiBLZXlQYWlyW107XG5cbiAgLy8gdGhlIGZlZSBpcyBzcGVjaWZpZWQgYXMgYSBudW1iZXIgaGVyZSBpbnN0ZWFkIG9mIGEgYmlnIG51bWJlciBiZWNhdXNlXG4gIC8vIHRoZSBhbGdvc2RrIGFsc28gc3BlY2lmaWVzIGl0IGFzIGEgbnVtYmVyLlxuICBwcm90ZWN0ZWQgX2ZlZTogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX2lzRmxhdEZlZTogYm9vbGVhbjtcblxuICBwcm90ZWN0ZWQgX3NlbmRlcjogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2dlbmVzaXNIYXNoOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfZ2VuZXNpc0lkOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfZmlyc3RSb3VuZDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX2xhc3RSb3VuZDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX2xlYXNlPzogVWludDhBcnJheTtcbiAgcHJvdGVjdGVkIF9ub3RlPzogVWludDhBcnJheTtcbiAgcHJvdGVjdGVkIF9yZUtleVRvPzogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3N1Z2dlc3RlZFBhcmFtczogYWxnb3Nkay5TdWdnZXN0ZWRQYXJhbXM7XG5cbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihjb2luQ29uZmlnKTtcblxuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5Db25maWcpO1xuICAgIHRoaXMuX2tleVBhaXJzID0gW107XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZmVlLlxuICAgKlxuICAgKiBUaGUgbWluaW11bSBmZWUgaXMgMTAwMCBtaWNyb2FsZ29zLlxuICAgKlxuICAgKiBAcGFyYW0ge0Jhc2VGZWV9IGZlZU9iaiBUaGUgYW1vdW50IHRvIHBheSB0byB0aGUgZmVlIHNpbmsgZGVub3RlZCBpbiBtaWNyb2FsZ29zXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5hbGdvcmFuZC5vcmcvZG9jcy9yZWZlcmVuY2UvdHJhbnNhY3Rpb25zL1xuICAgKi9cbiAgZmVlKGZlZU9iajogQmFzZUZlZSk6IHRoaXMge1xuICAgIHRoaXMuX2lzRmxhdEZlZSA9IHRydWU7XG4gICAgY29uc3QgZmVlID0gbmV3IEJpZ051bWJlcihmZWVPYmouZmVlKS50b051bWJlcigpO1xuICAgIGlmICh0aGlzLl9pc0ZsYXRGZWUgJiYgZmVlIDwgTUlOX0ZFRSkge1xuICAgICAgdGhyb3cgbmV3IEluc3VmZmljaWVudEZlZUVycm9yKGZlZSwgTUlOX0ZFRSk7XG4gICAgfVxuXG4gICAgdGhpcy5fZmVlID0gZmVlO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB3aGV0aGVyIHRoZSBmZWUgaXMgYSBmbGF0IGZlZS5cbiAgICpcbiAgICogQSBmbGF0IGZlZSBpcyB0aGUgZmVlIGZvciB0aGUgZW50aXJlIHRyYW5zYWN0aW9uIHdoZXJlYXMgYSBub3JtYWwgZmVlXG4gICAqIGlzIGEgZmVlIGZvciBldmVyeSBieXRlIGluIHRoZSB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSBpc0ZsYXRGZWUgV2hldGhlciB0aGUgZmVlIHNob3VsZCBiZSBzcGVjaWZpZWQgYXMgYSBmbGF0IGZlZS5cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyLlxuICAgKi9cbiAgaXNGbGF0RmVlKGlzRmxhdEZlZTogYm9vbGVhbik6IHRoaXMge1xuICAgIHRoaXMuX2lzRmxhdEZlZSA9IGlzRmxhdEZlZTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHRyYW5zYWN0aW9uIHNlbmRlci5cbiAgICpcbiAgICogQHBhcmFtIHtCYXNlQWRkcmVzc30gc2VuZGVyIFRoZSBzZW5kZXIgYWNjb3VudFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIuYWxnb3JhbmQub3JnL2RvY3MvcmVmZXJlbmNlL3RyYW5zYWN0aW9ucy9cbiAgICovXG4gIHNlbmRlcihzZW5kZXI6IEJhc2VBZGRyZXNzKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3Moc2VuZGVyKTtcbiAgICB0aGlzLl9zZW5kZXIgPSBzZW5kZXIuYWRkcmVzcztcbiAgICB0aGlzLl90cmFuc2FjdGlvbi5zZW5kZXIoc2VuZGVyLmFkZHJlc3MpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZ2VuZXNpcyBpZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGdlbmVzaXNJZCBUaGUgZ2VuZXNpcyBpZC5cbiAgICogQGV4YW1wbGUgXCJtYWlubmV0LXYxLjBcIlxuICAgKlxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIuYWxnb3JhbmQub3JnL2RvY3MvcmVmZXJlbmNlL3RyYW5zYWN0aW9ucy9cbiAgICovXG4gIGdlbmVzaXNJZChnZW5lc2lzSWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX2dlbmVzaXNJZCA9IGdlbmVzaXNJZDtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGdlbmVzaXMgaGFzaC5cbiAgICpcbiAgICogVGhlIGdlbmVzaXMgaGFzaCBtdXN0IGJlIGJhc2U2NCBlbmNvZGVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZ2VuZXNpc0hhc2ggVGhlIGdlbmVzaXMgaGFzaC5cbiAgICogQGV4YW1wbGUgXCJ3R0hFMlB3ZHZkN1MxMkJMNUZhT1AyMEVHWWVzTjcza3RpQzFxemtraXQ4PVwiXG4gICAqXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5hbGdvcmFuZC5vcmcvZG9jcy9yZWZlcmVuY2UvdHJhbnNhY3Rpb25zL1xuICAgKi9cbiAgZ2VuZXNpc0hhc2goZ2VuZXNpc0hhc2g6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX2dlbmVzaXNIYXNoID0gZ2VuZXNpc0hhc2g7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBnZW5lc2lzIGlkIGFuZCBoYXNoIHRvIG1haW5uZXQuXG4gICAqXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5hbGdvcmFuZC5vcmcvZG9jcy9yZWZlcmVuY2UvYWxnb3JhbmQtbmV0d29ya3MvbWFpbm5ldC8jZ2VuZXNpcy1pZFxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmFsZ29yYW5kLm9yZy9kb2NzL3JlZmVyZW5jZS9hbGdvcmFuZC1uZXR3b3Jrcy9tYWlubmV0LyNnZW5lc2lzLWhhc2hcbiAgICovXG4gIG1haW5uZXQoKTogdGhpcyB7XG4gICAgdGhpcy5nZW5lc2lzSWQoTUFJTk5FVF9HRU5FU0lTX0lEKTtcbiAgICB0aGlzLmdlbmVzaXNIYXNoKE1BSU5ORVRfR0VORVNJU19IQVNIKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGdlbmVzaXMgaWQgYW5kIGhhc2ggdG8gdGVzdG5ldC5cbiAgICpcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmFsZ29yYW5kLm9yZy9kb2NzL3JlZmVyZW5jZS9hbGdvcmFuZC1uZXR3b3Jrcy90ZXN0bmV0LyNnZW5lc2lzLWlkXG4gICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIuYWxnb3JhbmQub3JnL2RvY3MvcmVmZXJlbmNlL2FsZ29yYW5kLW5ldHdvcmtzL3Rlc3RuZXQvI2dlbmVzaXMtaGFzaFxuICAgKi9cbiAgdGVzdG5ldCgpOiB0aGlzIHtcbiAgICB0aGlzLmdlbmVzaXNJZChURVNUTkVUX0dFTkVTSVNfSUQpO1xuICAgIHRoaXMuZ2VuZXNpc0hhc2goVEVTVE5FVF9HRU5FU0lTX0hBU0gpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZ2VuZXNpcyBpZCBhbmQgaGFzaCB0byBiZXRhbmV0LlxuICAgKlxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIuYWxnb3JhbmQub3JnL2RvY3MvcmVmZXJlbmNlL2FsZ29yYW5kLW5ldHdvcmtzL2JldGFuZXQvI2dlbmVzaXMtaWRcbiAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5hbGdvcmFuZC5vcmcvZG9jcy9yZWZlcmVuY2UvYWxnb3JhbmQtbmV0d29ya3MvYmV0YW5ldC8jZ2VuZXNpcy1oYXNoXG4gICAqL1xuICBiZXRhbmV0KCk6IHRoaXMge1xuICAgIHRoaXMuZ2VuZXNpc0lkKEJFVEFORVRfR0VORVNJU19JRCk7XG4gICAgdGhpcy5nZW5lc2lzSGFzaChCRVRBTkVUX0dFTkVTSVNfSEFTSCk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBmaXJzdCByb3VuZC5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHJvdW5kIFRoZSBmaXJzdCBwcm90b2NvbCByb3VuZCBvbiB3aGljaCB0aGlzIHR4biBpcyB2YWxpZC5cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmFsZ29yYW5kLm9yZy9kb2NzL3JlZmVyZW5jZS90cmFuc2FjdGlvbnMvXG4gICAqL1xuICBmaXJzdFJvdW5kKHJvdW5kOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihyb3VuZCkpO1xuXG4gICAgdGhpcy5fZmlyc3RSb3VuZCA9IHJvdW5kO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbGFzdCByb3VuZC5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHJvdW5kIFRoZSBmaXJzdCBwcm90b2NvbCByb3VuZCBvbiB3aGljaCB0aGlzIHR4biBpcyB2YWxpZC5cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmFsZ29yYW5kLm9yZy9kb2NzL3JlZmVyZW5jZS90cmFuc2FjdGlvbnMvXG4gICAqL1xuICBsYXN0Um91bmQocm91bmQ6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKHJvdW5kKSk7XG5cbiAgICB0aGlzLl9sYXN0Um91bmQgPSByb3VuZDtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGxlYXNlIG9uIHRoZSB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQSBsZWFzZSBpcyBhIG11dGV4IG9uIHRoZSB0cmFuc2FjdGlvbiB0aGF0IHByZXZlbnRzIGFueSBvdGhlciB0cmFuc2FjdGlvblxuICAgKiBmcm9tIGJlaW5nIHNlbnQgd2l0aCB0aGUgc2FtZSBsZWFzZSB1bnRpbCB0aGUgcHJpb3IgdHJhbnNhY3Rpb24ncyBsYXN0XG4gICAqIHJvdW5kIGhhcyBwYXNzZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7VWludDhBcnJheX0gbGVhc2UgVGhlIGxlYXNlIHRvIHB1dCB0aGUgdHJhbnNhY3Rpb24uXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5hbGdvcmFuZC5vcmcvZG9jcy9yZWZlcmVuY2UvdHJhbnNhY3Rpb25zL1xuICAgKi9cbiAgbGVhc2UobGVhc2U6IFVpbnQ4QXJyYXkpOiB0aGlzIHtcbiAgICB0aGlzLl9sZWFzZSA9IGxlYXNlO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbm90ZSBmb3IgdGhlIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge1VpbnQ4QXJyYXl9IG5vdGUgQXJiaXRyYXJ5IGRhdGEgZm9yIHNlbmRlciB0byBzdG9yZS5cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmFsZ29yYW5kLm9yZy9kb2NzL3JlZmVyZW5jZS90cmFuc2FjdGlvbnMvXG4gICAqL1xuICBub3RlKG5vdGU6IFVpbnQ4QXJyYXkpOiB0aGlzIHtcbiAgICB0aGlzLl9ub3RlID0gbm90ZTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGF1dGhvcml6ZWQgYWRkcmVzcy5cbiAgICpcbiAgICogVGhlIGF1dGhvcml6ZWQgYXNzZXQgd2lsbCBiZSB1c2VkIHRvIGF1dGhvcml6ZSBhbGwgZnV0dXJlIHRyYW5zYWN0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHtCYXNlQWRkcmVzc30gYXV0aG9yaXplciBUaGUgYWRkcmVzcyB0byBkZWxlZ2F0ZSBhdXRob3JpemF0aW9uIGF1dGhvcml0eSB0by5cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmFsZ29yYW5kLm9yZy9kb2NzL3JlZmVyZW5jZS90cmFuc2FjdGlvbnMvXG4gICAqL1xuICByZUtleVRvKGF1dGhvcml6ZXI6IEJhc2VBZGRyZXNzKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoYXV0aG9yaXplcik7XG4gICAgdGhpcy5fcmVLZXlUbyA9IGF1dGhvcml6ZXIuYWRkcmVzcztcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3MgfTogQmFzZUFkZHJlc3MpOiB2b2lkIHtcbiAgICBpZiAoIWFsZ29zZGsuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBBZGRyZXNzVmFsaWRhdGlvbkVycm9yKGFkZHJlc3MpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRBbGdvVHJhbnNhY3Rpb24odGhpcy5idWlsZEFsZ29UeG4oKSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvblR5cGUodGhpcy50cmFuc2FjdGlvblR5cGUpO1xuXG4gICAgdGhpcy50cmFuc2FjdGlvbi5zaWduKHRoaXMuX2tleVBhaXJzKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbi5sb2FkSW5wdXRzQW5kT3V0cHV0cygpO1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgdGhlIGFsZ29yYW5kIHRyYW5zYWN0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGJ1aWxkQWxnb1R4bigpOiBhbGdvc2RrLlRyYW5zYWN0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgdHJhbnNhY3Rpb24gdHlwZS5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZTtcblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogVWludDhBcnJheSB8IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBkZWNvZGVkVHhuID0gVXRpbHMuZGVjb2RlQWxnb1R4bihyYXdUcmFuc2FjdGlvbik7XG4gICAgY29uc3QgYWxnb3Nka1R4biA9IGRlY29kZWRUeG4udHhuO1xuXG4gICAgaWYgKGRlY29kZWRUeG4uc2lnbmVkKSB7XG4gICAgICB0aGlzLl90cmFuc2FjdGlvbi5zaWduZWRUcmFuc2FjdGlvbiA9IGRlY29kZWRUeG4ucmF3VHJhbnNhY3Rpb247XG4gICAgICBpZiAoZGVjb2RlZFR4bi5zaWduZXJzKSB7XG4gICAgICAgIHRoaXMuc2V0U2lnbmVycyhkZWNvZGVkVHhuLnNpZ25lcnMpO1xuICAgICAgfVxuICAgICAgaWYgKGRlY29kZWRUeG4uc2lnbmVkQnkpIHtcbiAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb24uc2lnbmVkQnkgPSBkZWNvZGVkVHhuLnNpZ25lZEJ5O1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNlbmRlcih7IGFkZHJlc3M6IGFsZ29zZGsuZW5jb2RlQWRkcmVzcyhhbGdvc2RrVHhuLmZyb20ucHVibGljS2V5KSB9KTtcbiAgICB0aGlzLl9pc0ZsYXRGZWUgPSB0cnVlO1xuICAgIHRoaXMuX2ZlZSA9IGFsZ29zZGtUeG4uZmVlO1xuICAgIHRoaXMuX2dlbmVzaXNIYXNoID0gYWxnb3Nka1R4bi5nZW5lc2lzSGFzaC50b1N0cmluZygnYmFzZTY0Jyk7XG4gICAgdGhpcy5fZ2VuZXNpc0lkID0gYWxnb3Nka1R4bi5nZW5lc2lzSUQ7XG4gICAgdGhpcy5fZmlyc3RSb3VuZCA9IGFsZ29zZGtUeG4uZmlyc3RSb3VuZDtcbiAgICB0aGlzLl9sYXN0Um91bmQgPSBhbGdvc2RrVHhuLmxhc3RSb3VuZDtcbiAgICB0aGlzLl9sZWFzZSA9IGFsZ29zZGtUeG4ubGVhc2U7XG4gICAgdGhpcy5fbm90ZSA9IGFsZ29zZGtUeG4ubm90ZTtcbiAgICB0aGlzLl9yZUtleVRvID0gYWxnb3Nka1R4bi5yZUtleVRvID8gYWxnb3Nkay5lbmNvZGVBZGRyZXNzKGFsZ29zZGtUeG4ucmVLZXlUby5wdWJsaWNLZXkpIDogdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5fdHJhbnNhY3Rpb24uc2V0QWxnb1RyYW5zYWN0aW9uKGFsZ29zZGtUeG4pO1xuXG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzaWduSW1wbGVtZW50YXRpb24oeyBrZXkgfTogQmFzZUtleSk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBidWZmS2V5ID0gVXRpbHMuZGVjb2RlU2VlZChrZXkpO1xuICAgIGNvbnN0IGtleXBhaXIgPSBuZXcgS2V5UGFpcih7IHBydjogQnVmZmVyLmZyb20oYnVmZktleS5zZWVkKS50b1N0cmluZygnaGV4JykgfSk7XG4gICAgdGhpcy5fa2V5UGFpcnMucHVzaChrZXlwYWlyKTtcblxuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIG51bWJlck9mU2lnbmVycyhudW06IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnNldE51bWJlck9mUmVxdWlyZWRTaWduZXJzKG51bSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldFNpZ25lcnMoYWRkcnM6IHN0cmluZyB8IHN0cmluZ1tdKTogdGhpcyB7XG4gICAgY29uc3Qgc2lnbmVycyA9IGFkZHJzIGluc3RhbmNlb2YgQXJyYXkgPyBhZGRycyA6IFthZGRyc107XG4gICAgc2lnbmVycy5mb3JFYWNoKChhZGRyZXNzKSA9PiB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6IGFkZHJlc3MgfSkpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnNpZ25lcnMgPSBzaWduZXJzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG51bWJlciBvZiBzaWduZXJzIHJlcXVpcmVkIHRvIHNpZ24gdGhlIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBUaGUgbnVtYmVyIG9mIHNpZ25lcnMgY2Fubm90IGJlIHNldCB0byBhIG5lZ2F0aXZlIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbiBUaGUgbnVtYmVyIG9mIHNpZ25lcnMuXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlci5cbiAgICovXG4gIG51bWJlck9mUmVxdWlyZWRTaWduZXJzKG46IG51bWJlcik6IHRoaXMge1xuICAgIGlmIChuIDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihgTnVtYmVyIG9mIHNpZ25lcnM6ICcke259JyBjYW5ub3QgYmUgbmVnYXRpdmVgKTtcbiAgICB9XG5cbiAgICB0aGlzLl90cmFuc2FjdGlvbi5zZXROdW1iZXJPZlJlcXVpcmVkU2lnbmVycyhuKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIuYWxnb3JhbmQub3JnL2RvY3MvZmVhdHVyZXMvYWNjb3VudHMvI3RyYW5zZm9ybWF0aW9uLXByaXZhdGUta2V5LXRvLWJhc2U2NC1wcml2YXRlLWtleVxuICAgKi9cbiAgdmFsaWRhdGVLZXkoeyBrZXkgfTogQmFzZUtleSk6IHZvaWQge1xuICAgIGxldCBpc1ZhbGlkUHJpdmF0ZUtleUZyb21CeXRlcztcbiAgICBjb25zdCBpc1ZhbGlkUHJpdmF0ZUtleUZyb21IZXggPSBpc1ZhbGlkRWQyNTUxOVNlZWQoa2V5KTtcbiAgICBjb25zdCBpc1ZhbGlkUHJpdmF0ZUtleUZyb21CYXNlNjQgPSBpc1ZhbGlkRWQyNTUxOVNlZWQoQnVmZmVyLmZyb20oa2V5LCAnYmFzZTY0JykudG9TdHJpbmcoJ2hleCcpKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZGVjb2RlZFNlZWQgPSBVdGlscy5kZWNvZGVTZWVkKGtleSk7XG4gICAgICBpc1ZhbGlkUHJpdmF0ZUtleUZyb21CeXRlcyA9IGlzVmFsaWRFZDI1NTE5U2VlZChCdWZmZXIuZnJvbShkZWNvZGVkU2VlZC5zZWVkKS50b1N0cmluZygnaGV4JykpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaXNWYWxpZFByaXZhdGVLZXlGcm9tQnl0ZXMgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoIWlzVmFsaWRQcml2YXRlS2V5RnJvbUJ5dGVzICYmICFpc1ZhbGlkUHJpdmF0ZUtleUZyb21IZXggJiYgIWlzVmFsaWRQcml2YXRlS2V5RnJvbUJhc2U2NCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihgS2V5IHZhbGlkYXRpb24gZmFpbGVkYCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IFVpbnQ4QXJyYXkgfCBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBkZWNvZGVkVHhuID0gVXRpbHMuZGVjb2RlQWxnb1R4bihyYXdUcmFuc2FjdGlvbik7XG4gICAgY29uc3QgYWxnb1R4biA9IGRlY29kZWRUeG4udHhuO1xuXG4gICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IEJhc2VUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7XG4gICAgICBmZWU6IGFsZ29UeG4/LmZlZSxcbiAgICAgIGZpcnN0Um91bmQ6IGFsZ29UeG4/LmZpcnN0Um91bmQsXG4gICAgICBnZW5lc2lzSGFzaDogYWxnb1R4bj8uZ2VuZXNpc0hhc2gudG9TdHJpbmcoJ2Jhc2U2NCcpLFxuICAgICAgbGFzdFJvdW5kOiBhbGdvVHhuPy5sYXN0Um91bmQsXG4gICAgICBzZW5kZXI6IGFsZ29UeG4gPyBhbGdvc2RrLmVuY29kZUFkZHJlc3MoYWxnb1R4bi5mcm9tLnB1YmxpY0tleSkgOiB1bmRlZmluZWQsXG4gICAgICBnZW5lc2lzSWQ6IGFsZ29UeG4/LmdlbmVzaXNJRCxcbiAgICAgIGxlYXNlOiBhbGdvVHhuPy5sZWFzZSxcbiAgICAgIG5vdGU6IGFsZ29UeG4/Lm5vdGUsXG4gICAgICByZUtleVRvOiBhbGdvVHhuPy5yZUtleVRvID8gYWxnb3Nkay5lbmNvZGVBZGRyZXNzKGFsZ29UeG4ucmVLZXlUby5wdWJsaWNLZXkpIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKF86IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0ZUJhc2VGaWVsZHMoXG4gICAgICB0aGlzLl9mZWUsXG4gICAgICB0aGlzLl9maXJzdFJvdW5kLFxuICAgICAgdGhpcy5fZ2VuZXNpc0hhc2gsXG4gICAgICB0aGlzLl9sYXN0Um91bmQsXG4gICAgICB0aGlzLl9zZW5kZXIsXG4gICAgICB0aGlzLl9nZW5lc2lzSWQsXG4gICAgICB0aGlzLl9sZWFzZSxcbiAgICAgIHRoaXMuX25vdGUsXG4gICAgICB0aGlzLl9yZUtleVRvLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQmFzZUZpZWxkcyhcbiAgICBmZWU6IG51bWJlcixcbiAgICBmaXJzdFJvdW5kOiBudW1iZXIsXG4gICAgZ2VuZXNpc0hhc2g6IHN0cmluZyxcbiAgICBsYXN0Um91bmQ6IG51bWJlcixcbiAgICBzZW5kZXI6IHN0cmluZyxcbiAgICBnZW5lc2lzSWQ6IHN0cmluZyxcbiAgICBsZWFzZTogVWludDhBcnJheSB8IHVuZGVmaW5lZCxcbiAgICBub3RlOiBVaW50OEFycmF5IHwgdW5kZWZpbmVkLFxuICAgIHJlS2V5VG86IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IEJhc2VUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7XG4gICAgICBmZWUsXG4gICAgICBmaXJzdFJvdW5kLFxuICAgICAgZ2VuZXNpc0hhc2gsXG4gICAgICBsYXN0Um91bmQsXG4gICAgICBzZW5kZXIsXG4gICAgICBnZW5lc2lzSWQsXG4gICAgICBsZWFzZSxcbiAgICAgIG5vdGUsXG4gICAgICByZUtleVRvLFxuICAgIH0pO1xuXG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVWYWx1ZSh2YWx1ZTogQmlnTnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlLmlzTGVzc1RoYW4oMCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1ZhbHVlIGNhbm5vdCBiZSBsZXNzIHRoYW4gemVybycpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNldCB0cmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlbmllbmNlIG1ldGhvZCB0byByZXRyaWV2ZSB0aGUgYWxnb3NkayBzdWdnZXN0ZWQgcGFyYW1ldGVycy5cbiAgICpcbiAgICogQHJldHVybnMge2FsZ29zZGsuU3VnZ2VzdGVkUGFyYW1zfSBUaGUgYWxnb3NkayBzdWdnZXN0ZWQgcGFyYW1ldGVycy5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgc3VnZ2VzdGVkUGFyYW1zKCk6IGFsZ29zZGsuU3VnZ2VzdGVkUGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgZmxhdEZlZTogdGhpcy5faXNGbGF0RmVlLFxuICAgICAgZmVlOiB0aGlzLl9mZWUsXG4gICAgICBmaXJzdFJvdW5kOiB0aGlzLl9maXJzdFJvdW5kLFxuICAgICAgbGFzdFJvdW5kOiB0aGlzLl9sYXN0Um91bmQsXG4gICAgICBnZW5lc2lzSUQ6IHRoaXMuX2dlbmVzaXNJZCxcbiAgICAgIGdlbmVzaXNIYXNoOiB0aGlzLl9nZW5lc2lzSGFzaCxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
-
import { KeyRegistrationBuilder } from './keyRegistrationBuilder';
|
|
3
|
-
import { TransferBuilder } from './transferBuilder';
|
|
4
|
-
import { TransactionBuilder } from './transactionBuilder';
|
|
5
|
-
import { AssetTransferBuilder } from './assetTransferBuilder';
|
|
6
|
-
import { BaseTransactionBuilderFactory } from '@bitgo/sdk-core';
|
|
7
|
-
export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
|
|
8
|
-
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
9
|
-
getTransferBuilder(): TransferBuilder;
|
|
10
|
-
getAssetTransferBuilder(): AssetTransferBuilder;
|
|
11
|
-
getKeyRegistrationBuilder(): KeyRegistrationBuilder;
|
|
12
|
-
from(rawTxn: string | Uint8Array): TransactionBuilder;
|
|
13
|
-
private getBuilder;
|
|
14
|
-
getWalletInitializationBuilder(): KeyRegistrationBuilder;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=transactionBuilderFactory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../src/coin/algo/transactionBuilderFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,6BAA6B,EAAgB,MAAM,iBAAiB,CAAC;AAE9E,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB,IAAI,eAAe;IAIrC,uBAAuB,IAAI,oBAAoB;IAI/C,yBAAyB,IAAI,sBAAsB;IAInD,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,kBAAkB;IAOrD,OAAO,CAAC,UAAU;IAcX,8BAA8B,IAAI,sBAAsB;CAGhE"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.TransactionBuilderFactory = void 0;
|
|
7
|
-
const algosdk_1 = __importDefault(require("algosdk"));
|
|
8
|
-
const keyRegistrationBuilder_1 = require("./keyRegistrationBuilder");
|
|
9
|
-
const transferBuilder_1 = require("./transferBuilder");
|
|
10
|
-
const assetTransferBuilder_1 = require("./assetTransferBuilder");
|
|
11
|
-
const utils_1 = __importDefault(require("./utils"));
|
|
12
|
-
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
13
|
-
class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
|
|
14
|
-
constructor(_coinConfig) {
|
|
15
|
-
super(_coinConfig);
|
|
16
|
-
}
|
|
17
|
-
getTransferBuilder() {
|
|
18
|
-
return new transferBuilder_1.TransferBuilder(this._coinConfig);
|
|
19
|
-
}
|
|
20
|
-
getAssetTransferBuilder() {
|
|
21
|
-
return new assetTransferBuilder_1.AssetTransferBuilder(this._coinConfig);
|
|
22
|
-
}
|
|
23
|
-
getKeyRegistrationBuilder() {
|
|
24
|
-
return new keyRegistrationBuilder_1.KeyRegistrationBuilder(this._coinConfig);
|
|
25
|
-
}
|
|
26
|
-
from(rawTxn) {
|
|
27
|
-
const builder = this.getBuilder(rawTxn);
|
|
28
|
-
builder.from(rawTxn);
|
|
29
|
-
return builder;
|
|
30
|
-
}
|
|
31
|
-
getBuilder(rawTxn) {
|
|
32
|
-
const decodeTxn = utils_1.default.decodeAlgoTxn(rawTxn);
|
|
33
|
-
const algoTxn = decodeTxn.txn;
|
|
34
|
-
if (algoTxn.type == algosdk_1.default.TransactionType.keyreg) {
|
|
35
|
-
return this.getWalletInitializationBuilder();
|
|
36
|
-
}
|
|
37
|
-
else if (algoTxn.type == algosdk_1.default.TransactionType.pay) {
|
|
38
|
-
return this.getTransferBuilder();
|
|
39
|
-
}
|
|
40
|
-
else if (algoTxn.type == algosdk_1.default.TransactionType.axfer) {
|
|
41
|
-
return this.getAssetTransferBuilder();
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
throw new sdk_core_1.NotSupported('Transaction cannot be parsed or has an unsupported transaction type');
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
getWalletInitializationBuilder() {
|
|
48
|
-
return new keyRegistrationBuilder_1.KeyRegistrationBuilder(this._coinConfig);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
exports.TransactionBuilderFactory = TransactionBuilderFactory;
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2luL2FsZ28vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxzREFBOEI7QUFHOUIscUVBQWtFO0FBQ2xFLHVEQUFvRDtBQUVwRCxpRUFBOEQ7QUFDOUQsb0RBQTRCO0FBQzVCLDhDQUE4RTtBQUU5RSxNQUFhLHlCQUEwQixTQUFRLHdDQUE2QjtJQUMxRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxpQ0FBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLE9BQU8sSUFBSSwyQ0FBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELHlCQUF5QjtRQUN2QixPQUFPLElBQUksK0NBQXNCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLENBQUMsTUFBMkI7UUFDOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXJCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxVQUFVLENBQUMsTUFBMkI7UUFDNUMsTUFBTSxTQUFTLEdBQUcsZUFBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDO1FBQzlCLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxpQkFBTyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUU7WUFDbEQsT0FBTyxJQUFJLENBQUMsOEJBQThCLEVBQUUsQ0FBQztTQUM5QzthQUFNLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxpQkFBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDdEQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUNsQzthQUFNLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxpQkFBTyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUU7WUFDeEQsT0FBTyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztTQUN2QzthQUFNO1lBQ0wsTUFBTSxJQUFJLHVCQUFZLENBQUMscUVBQXFFLENBQUMsQ0FBQztTQUMvRjtJQUNILENBQUM7SUFFTSw4QkFBOEI7UUFDbkMsT0FBTyxJQUFJLCtDQUFzQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0Y7QUF6Q0QsOERBeUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFsZ29zZGsgZnJvbSAnYWxnb3Nkayc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuXG5pbXBvcnQgeyBLZXlSZWdpc3RyYXRpb25CdWlsZGVyIH0gZnJvbSAnLi9rZXlSZWdpc3RyYXRpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IEFzc2V0VHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi9hc3NldFRyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSwgTm90U3VwcG9ydGVkIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGdldFRyYW5zZmVyQnVpbGRlcigpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpO1xuICB9XG5cbiAgZ2V0QXNzZXRUcmFuc2ZlckJ1aWxkZXIoKTogQXNzZXRUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgQXNzZXRUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXRLZXlSZWdpc3RyYXRpb25CdWlsZGVyKCk6IEtleVJlZ2lzdHJhdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgS2V5UmVnaXN0cmF0aW9uQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGZyb20ocmF3VHhuOiBzdHJpbmcgfCBVaW50OEFycmF5KTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICBjb25zdCBidWlsZGVyID0gdGhpcy5nZXRCdWlsZGVyKHJhd1R4bik7XG4gICAgYnVpbGRlci5mcm9tKHJhd1R4bik7XG5cbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnVpbGRlcihyYXdUeG46IHN0cmluZyB8IFVpbnQ4QXJyYXkpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIGNvbnN0IGRlY29kZVR4biA9IFV0aWxzLmRlY29kZUFsZ29UeG4ocmF3VHhuKTtcbiAgICBjb25zdCBhbGdvVHhuID0gZGVjb2RlVHhuLnR4bjtcbiAgICBpZiAoYWxnb1R4bi50eXBlID09IGFsZ29zZGsuVHJhbnNhY3Rpb25UeXBlLmtleXJlZykge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKCk7XG4gICAgfSBlbHNlIGlmIChhbGdvVHhuLnR5cGUgPT0gYWxnb3Nkay5UcmFuc2FjdGlvblR5cGUucGF5KSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKGFsZ29UeG4udHlwZSA9PSBhbGdvc2RrLlRyYW5zYWN0aW9uVHlwZS5heGZlcikge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0QXNzZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IE5vdFN1cHBvcnRlZCgnVHJhbnNhY3Rpb24gY2Fubm90IGJlIHBhcnNlZCBvciBoYXMgYW4gdW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gdHlwZScpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIoKTogS2V5UmVnaXN0cmF0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBLZXlSZWdpc3RyYXRpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
-
import algosdk from 'algosdk';
|
|
3
|
-
import { TransactionBuilder } from './transactionBuilder';
|
|
4
|
-
import { Transaction } from './transaction';
|
|
5
|
-
import { BaseAddress, TransactionType } from '@bitgo/sdk-core';
|
|
6
|
-
export declare class TransferBuilder extends TransactionBuilder {
|
|
7
|
-
protected _to: string;
|
|
8
|
-
protected _amount: number | bigint;
|
|
9
|
-
protected _closeRemainderTo?: string;
|
|
10
|
-
constructor(coinConfig: Readonly<CoinConfig>);
|
|
11
|
-
protected buildAlgoTxn(): algosdk.Transaction;
|
|
12
|
-
protected get transactionType(): TransactionType;
|
|
13
|
-
protected fromImplementation(rawTransaction: Uint8Array | string): Transaction;
|
|
14
|
-
validateRawTransaction(rawTransaction: Uint8Array | string): void;
|
|
15
|
-
validateTransaction(transaction: Transaction): void;
|
|
16
|
-
/**
|
|
17
|
-
* Sets the payment receiver.
|
|
18
|
-
*
|
|
19
|
-
* @param {BaseAddress} to The receiver account
|
|
20
|
-
* @returns {TransferBuilder} This transfer builder.
|
|
21
|
-
*
|
|
22
|
-
*/
|
|
23
|
-
to(to: BaseAddress): this;
|
|
24
|
-
/**
|
|
25
|
-
* Sets the amount of payment.
|
|
26
|
-
*
|
|
27
|
-
* @param {number} amount The amount of payment.
|
|
28
|
-
* @returns {TransferBuilder} This transfer builder.
|
|
29
|
-
*/
|
|
30
|
-
amount(amount: number | bigint): this;
|
|
31
|
-
/**
|
|
32
|
-
* Sets address to transfer remainder amount on closing.
|
|
33
|
-
*
|
|
34
|
-
* @param {BaseAddress} closeRemainderTo The address for receiving remainder amount
|
|
35
|
-
* @returns {TransferBuilder} This transfer builder.
|
|
36
|
-
*
|
|
37
|
-
*/
|
|
38
|
-
closeRemainderTo(closeRemainderTo: BaseAddress): this;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=transferBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/algo/transferBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,WAAW,EAA2B,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAExF,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;gBAEzB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,SAAS,CAAC,YAAY,IAAI,OAAO,CAAC,WAAW;IAY7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,WAAW;IAc9E,sBAAsB,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;IAUjE,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAanD;;;;;;OAMG;IACH,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAOzB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOrC;;;;;;OAMG;IACH,gBAAgB,CAAC,gBAAgB,EAAE,WAAW,GAAG,IAAI;CAMtD"}
|