@bitgo/account-lib 2.20.0-rc.2 → 2.20.0-rc.22
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 +195 -0
- package/dist/resources/README.md +8 -2
- package/dist/resources/trx/protobuf/tron.js +5 -1
- package/dist/src/coin/avaxc/index.js +3 -3
- package/dist/src/coin/avaxc/keyPair.d.ts +1 -2
- package/dist/src/coin/avaxc/keyPair.d.ts.map +1 -1
- package/dist/src/coin/avaxc/keyPair.js +25 -44
- package/dist/src/coin/avaxc/resources.js +3 -3
- package/dist/src/coin/avaxc/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/avaxc/transactionBuilder.js +22 -41
- package/dist/src/coin/avaxc/transferBuilder.js +8 -28
- package/dist/src/coin/avaxc/utils.js +14 -54
- package/dist/src/coin/celo/index.js +3 -3
- package/dist/src/coin/celo/resources.js +3 -3
- package/dist/src/coin/celo/stakingBuilder.d.ts +1 -1
- package/dist/src/coin/celo/stakingBuilder.d.ts.map +1 -1
- package/dist/src/coin/celo/stakingBuilder.js +102 -104
- package/dist/src/coin/celo/stakingCall.js +8 -26
- package/dist/src/coin/celo/stakingUtils.d.ts +1 -1
- package/dist/src/coin/celo/stakingUtils.d.ts.map +1 -1
- package/dist/src/coin/celo/stakingUtils.js +33 -34
- package/dist/src/coin/celo/transaction.js +10 -30
- package/dist/src/coin/celo/transactionBuilder.d.ts +1 -1
- package/dist/src/coin/celo/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/celo/transactionBuilder.js +96 -115
- package/dist/src/coin/celo/transferBuilder.js +8 -28
- package/dist/src/coin/celo/types.js +71 -125
- package/dist/src/coin/celo/utils.js +25 -25
- package/dist/src/coin/dot/addressInitializationBuilder.d.ts +1 -2
- package/dist/src/coin/dot/addressInitializationBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/addressInitializationBuilder.js +60 -83
- package/dist/src/coin/dot/batchTransactionBuilder.d.ts +1 -1
- package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/batchTransactionBuilder.js +55 -78
- package/dist/src/coin/dot/claimBuilder.d.ts +1 -2
- package/dist/src/coin/dot/claimBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/claimBuilder.js +46 -68
- package/dist/src/coin/dot/errors.d.ts +1 -1
- package/dist/src/coin/dot/errors.d.ts.map +1 -1
- package/dist/src/coin/dot/errors.js +12 -33
- package/dist/src/coin/dot/iface.d.ts +1 -2
- package/dist/src/coin/dot/iface.d.ts.map +1 -1
- package/dist/src/coin/dot/iface.js +1 -1
- package/dist/src/coin/dot/index.js +3 -3
- package/dist/src/coin/dot/keyPair.d.ts +1 -2
- package/dist/src/coin/dot/keyPair.d.ts.map +1 -1
- package/dist/src/coin/dot/keyPair.js +34 -52
- package/dist/src/coin/dot/singletonRegistry.js +6 -9
- package/dist/src/coin/dot/stakingBuilder.d.ts +1 -2
- package/dist/src/coin/dot/stakingBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/stakingBuilder.js +49 -71
- package/dist/src/coin/dot/transaction.d.ts +1 -2
- package/dist/src/coin/dot/transaction.d.ts.map +1 -1
- package/dist/src/coin/dot/transaction.js +146 -162
- package/dist/src/coin/dot/transactionBuilder.d.ts +2 -3
- package/dist/src/coin/dot/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/transactionBuilder.js +132 -204
- package/dist/src/coin/dot/transactionBuilderFactory.d.ts +1 -1
- package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/coin/dot/transactionBuilderFactory.js +46 -65
- package/dist/src/coin/dot/transferBuilder.d.ts +1 -2
- package/dist/src/coin/dot/transferBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/transferBuilder.js +62 -85
- package/dist/src/coin/dot/txnSchema.js +17 -15
- package/dist/src/coin/dot/unnominateBuilder.d.ts +1 -1
- package/dist/src/coin/dot/unnominateBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/unnominateBuilder.js +24 -46
- package/dist/src/coin/dot/unstakeBuilder.d.ts +1 -1
- package/dist/src/coin/dot/unstakeBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/unstakeBuilder.js +38 -60
- package/dist/src/coin/dot/utils.d.ts +1 -2
- package/dist/src/coin/dot/utils.d.ts.map +1 -1
- package/dist/src/coin/dot/utils.js +97 -101
- package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts +1 -1
- package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/withdrawUnstakedBuilder.js +38 -60
- package/dist/src/coin/etc/index.js +3 -3
- package/dist/src/coin/etc/resources.js +3 -3
- package/dist/src/coin/etc/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/etc/transactionBuilder.js +22 -41
- package/dist/src/coin/etc/transferBuilder.js +8 -28
- package/dist/src/coin/etc/utils.js +10 -50
- package/dist/src/coin/eth/contractCall.js +8 -9
- package/dist/src/coin/eth/iface.d.ts +1 -1
- package/dist/src/coin/eth/iface.d.ts.map +1 -1
- package/dist/src/coin/eth/iface.js +1 -1
- package/dist/src/coin/eth/index.js +3 -3
- package/dist/src/coin/eth/keyPair.d.ts +1 -2
- package/dist/src/coin/eth/keyPair.d.ts.map +1 -1
- package/dist/src/coin/eth/keyPair.js +25 -44
- package/dist/src/coin/eth/transaction.d.ts +1 -2
- package/dist/src/coin/eth/transaction.d.ts.map +1 -1
- package/dist/src/coin/eth/transaction.js +48 -114
- package/dist/src/coin/eth/transactionBuilder.d.ts +1 -2
- package/dist/src/coin/eth/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/eth/transactionBuilder.js +232 -303
- package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.js +37 -38
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.js +36 -53
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.js +32 -49
- package/dist/src/coin/eth/transferBuilder.js +58 -59
- package/dist/src/coin/eth/types.js +52 -56
- package/dist/src/coin/eth/utils.d.ts +1 -1
- package/dist/src/coin/eth/utils.d.ts.map +1 -1
- package/dist/src/coin/eth/utils.js +100 -147
- package/dist/src/coin/eth/walletUtil.d.ts +2 -0
- package/dist/src/coin/eth/walletUtil.d.ts.map +1 -1
- package/dist/src/coin/eth/walletUtil.js +4 -2
- package/dist/src/coin/eth2/keyPair.d.ts +1 -2
- package/dist/src/coin/eth2/keyPair.d.ts.map +1 -1
- package/dist/src/coin/eth2/keyPair.js +19 -37
- package/dist/src/coin/hbar/index.js +2 -2
- package/dist/src/coin/hbar/keyPair.d.ts +1 -2
- package/dist/src/coin/hbar/keyPair.d.ts.map +1 -1
- package/dist/src/coin/hbar/keyPair.js +30 -49
- package/dist/src/coin/hbar/transaction.d.ts +1 -2
- package/dist/src/coin/hbar/transaction.d.ts.map +1 -1
- package/dist/src/coin/hbar/transaction.js +77 -146
- package/dist/src/coin/hbar/transactionBuilder.d.ts +1 -2
- package/dist/src/coin/hbar/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/hbar/transactionBuilder.js +110 -193
- package/dist/src/coin/hbar/transactionBuilderFactory.d.ts +1 -1
- package/dist/src/coin/hbar/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/coin/hbar/transactionBuilderFactory.js +27 -45
- package/dist/src/coin/hbar/transferBuilder.d.ts +1 -1
- package/dist/src/coin/hbar/transferBuilder.d.ts.map +1 -1
- package/dist/src/coin/hbar/transferBuilder.js +49 -113
- package/dist/src/coin/hbar/utils.d.ts +2 -15
- package/dist/src/coin/hbar/utils.d.ts.map +1 -1
- package/dist/src/coin/hbar/utils.js +38 -57
- package/dist/src/coin/hbar/walletInitializationBuilder.d.ts.map +1 -1
- package/dist/src/coin/hbar/walletInitializationBuilder.js +42 -107
- package/dist/src/coin/near/contractCallWrapper.js +46 -65
- package/dist/src/coin/near/errors.d.ts +1 -1
- package/dist/src/coin/near/errors.d.ts.map +1 -1
- package/dist/src/coin/near/errors.js +7 -25
- package/dist/src/coin/near/iface.d.ts +1 -2
- package/dist/src/coin/near/iface.d.ts.map +1 -1
- package/dist/src/coin/near/iface.js +1 -1
- package/dist/src/coin/near/index.d.ts +3 -0
- package/dist/src/coin/near/index.d.ts.map +1 -1
- package/dist/src/coin/near/index.js +9 -3
- package/dist/src/coin/near/keyPair.d.ts +1 -2
- package/dist/src/coin/near/keyPair.d.ts.map +1 -1
- package/dist/src/coin/near/keyPair.js +23 -40
- package/dist/src/coin/near/stakingActivateBuilder.d.ts +1 -1
- package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +1 -1
- package/dist/src/coin/near/stakingActivateBuilder.js +36 -105
- package/dist/src/coin/near/stakingDeactivateBuilder.d.ts +1 -1
- package/dist/src/coin/near/stakingDeactivateBuilder.d.ts.map +1 -1
- package/dist/src/coin/near/stakingDeactivateBuilder.js +36 -105
- package/dist/src/coin/near/stakingWithdrawBuilder.d.ts +1 -1
- package/dist/src/coin/near/stakingWithdrawBuilder.d.ts.map +1 -1
- package/dist/src/coin/near/stakingWithdrawBuilder.js +36 -105
- package/dist/src/coin/near/transaction.d.ts +1 -2
- package/dist/src/coin/near/transaction.d.ts.map +1 -1
- package/dist/src/coin/near/transaction.js +125 -154
- package/dist/src/coin/near/transactionBuilder.d.ts +1 -2
- package/dist/src/coin/near/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/near/transactionBuilder.js +81 -144
- package/dist/src/coin/near/transactionBuilderFactory.d.ts +1 -1
- package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/coin/near/transactionBuilderFactory.js +33 -51
- package/dist/src/coin/near/transferBuilder.d.ts +1 -1
- package/dist/src/coin/near/transferBuilder.d.ts.map +1 -1
- package/dist/src/coin/near/transferBuilder.js +27 -91
- package/dist/src/coin/near/utils.d.ts +1 -1
- package/dist/src/coin/near/utils.d.ts.map +1 -1
- package/dist/src/coin/near/utils.js +35 -45
- package/dist/src/coin/near/walletInitializationBuilder.d.ts +1 -1
- package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +1 -1
- package/dist/src/coin/near/walletInitializationBuilder.js +13 -70
- 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.js +3 -3
- package/dist/src/coin/rbtc/resources.js +3 -3
- package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/rbtc/transactionBuilder.js +21 -40
- package/dist/src/coin/rbtc/transferBuilder.js +8 -28
- package/dist/src/coin/rbtc/utils.js +10 -50
- package/dist/src/coin/sol/ataInitializationBuilder.d.ts +1 -1
- package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +1 -1
- package/dist/src/coin/sol/ataInitializationBuilder.js +52 -123
- package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +1 -1
- package/dist/src/coin/sol/ataInitializationTransaction.js +34 -57
- package/dist/src/coin/sol/iface.d.ts +1 -1
- package/dist/src/coin/sol/iface.d.ts.map +1 -1
- package/dist/src/coin/sol/iface.js +1 -1
- package/dist/src/coin/sol/index.js +3 -3
- package/dist/src/coin/sol/instructionParamsFactory.d.ts +1 -1
- package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +1 -1
- package/dist/src/coin/sol/instructionParamsFactory.js +62 -67
- package/dist/src/coin/sol/keyPair.d.ts +1 -2
- package/dist/src/coin/sol/keyPair.d.ts.map +1 -1
- package/dist/src/coin/sol/keyPair.js +24 -42
- package/dist/src/coin/sol/solInstructionFactory.js +33 -33
- package/dist/src/coin/sol/stakingActivateBuilder.d.ts +1 -1
- package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +1 -1
- package/dist/src/coin/sol/stakingActivateBuilder.js +45 -113
- package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +1 -1
- package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +1 -1
- package/dist/src/coin/sol/stakingDeactivateBuilder.js +36 -104
- package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +1 -1
- package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +1 -1
- package/dist/src/coin/sol/stakingWithdrawBuilder.js +41 -109
- package/dist/src/coin/sol/tokenEncodeDecode.js +46 -75
- package/dist/src/coin/sol/tokenTransferBuilder.d.ts +1 -1
- package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +1 -1
- package/dist/src/coin/sol/tokenTransferBuilder.js +42 -115
- package/dist/src/coin/sol/transaction.d.ts +1 -2
- package/dist/src/coin/sol/transaction.d.ts.map +1 -1
- package/dist/src/coin/sol/transaction.js +130 -221
- package/dist/src/coin/sol/transactionBuilder.d.ts +1 -2
- package/dist/src/coin/sol/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/sol/transactionBuilder.js +104 -171
- package/dist/src/coin/sol/transactionBuilderFactory.d.ts +1 -1
- package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/coin/sol/transactionBuilderFactory.js +46 -64
- package/dist/src/coin/sol/transferBuilder.d.ts +1 -1
- package/dist/src/coin/sol/transferBuilder.d.ts.map +1 -1
- package/dist/src/coin/sol/transferBuilder.js +37 -108
- package/dist/src/coin/sol/utils.d.ts +1 -1
- package/dist/src/coin/sol/utils.d.ts.map +1 -1
- package/dist/src/coin/sol/utils.js +49 -117
- package/dist/src/coin/sol/walletInitializationBuilder.d.ts +1 -1
- package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +1 -1
- package/dist/src/coin/sol/walletInitializationBuilder.js +39 -107
- package/dist/src/coin/stx/abstractContractBuilder.d.ts.map +1 -1
- package/dist/src/coin/stx/abstractContractBuilder.js +34 -104
- package/dist/src/coin/stx/contractBuilder.js +38 -57
- package/dist/src/coin/stx/index.js +2 -2
- package/dist/src/coin/stx/keyPair.d.ts +1 -2
- package/dist/src/coin/stx/keyPair.d.ts.map +1 -1
- package/dist/src/coin/stx/keyPair.js +39 -62
- package/dist/src/coin/stx/sendmanyBuilder.js +43 -108
- package/dist/src/coin/stx/transaction.d.ts +1 -2
- package/dist/src/coin/stx/transaction.d.ts.map +1 -1
- package/dist/src/coin/stx/transaction.js +102 -183
- package/dist/src/coin/stx/transactionBuilder.d.ts +1 -2
- package/dist/src/coin/stx/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/stx/transactionBuilder.js +121 -218
- package/dist/src/coin/stx/transactionBuilderFactory.d.ts +1 -1
- package/dist/src/coin/stx/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/coin/stx/transactionBuilderFactory.js +36 -54
- package/dist/src/coin/stx/transferBuilder.d.ts.map +1 -1
- package/dist/src/coin/stx/transferBuilder.js +41 -111
- package/dist/src/coin/stx/utils.d.ts.map +1 -1
- package/dist/src/coin/stx/utils.js +58 -65
- package/dist/src/coin/trx/address.d.ts +1 -1
- package/dist/src/coin/trx/address.d.ts.map +1 -1
- package/dist/src/coin/trx/address.js +3 -6
- package/dist/src/coin/trx/contractCallBuilder.d.ts +1 -1
- package/dist/src/coin/trx/contractCallBuilder.d.ts.map +1 -1
- package/dist/src/coin/trx/contractCallBuilder.js +100 -160
- package/dist/src/coin/trx/iface.d.ts +1 -1
- package/dist/src/coin/trx/iface.d.ts.map +1 -1
- package/dist/src/coin/trx/iface.js +1 -1
- package/dist/src/coin/trx/index.js +4 -4
- package/dist/src/coin/trx/keyPair.d.ts +1 -3
- package/dist/src/coin/trx/keyPair.d.ts.map +1 -1
- package/dist/src/coin/trx/keyPair.js +37 -57
- package/dist/src/coin/trx/transaction.d.ts +1 -3
- package/dist/src/coin/trx/transaction.d.ts.map +1 -1
- package/dist/src/coin/trx/transaction.js +84 -124
- package/dist/src/coin/trx/transactionBuilder.d.ts +1 -2
- package/dist/src/coin/trx/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/trx/transactionBuilder.js +72 -134
- package/dist/src/coin/trx/utils.js +57 -59
- package/dist/src/coin/trx/wrappedBuilder.d.ts +1 -2
- package/dist/src/coin/trx/wrappedBuilder.d.ts.map +1 -1
- package/dist/src/coin/trx/wrappedBuilder.js +43 -101
- package/dist/src/coin/xrp/index.js +2 -2
- package/dist/src/coin/xrp/keyPair.d.ts +1 -2
- package/dist/src/coin/xrp/keyPair.d.ts.map +1 -1
- package/dist/src/coin/xrp/keyPair.js +6 -23
- package/dist/src/coin/xrp/transaction.d.ts +1 -2
- package/dist/src/coin/xrp/transaction.d.ts.map +1 -1
- package/dist/src/coin/xrp/transaction.js +13 -34
- package/dist/src/coin/xrp/transactionBuilder.d.ts +1 -2
- package/dist/src/coin/xrp/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/xrp/transactionBuilder.js +29 -51
- package/dist/src/coin/xrp/transactionBuilderFactory.d.ts +1 -1
- package/dist/src/coin/xrp/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/coin/xrp/transactionBuilderFactory.js +17 -35
- package/dist/src/coin/xrp/transferBuilder.d.ts +1 -1
- package/dist/src/coin/xrp/transferBuilder.d.ts.map +1 -1
- package/dist/src/coin/xrp/transferBuilder.js +16 -73
- package/dist/src/coin/xrp/utils.d.ts +1 -1
- package/dist/src/coin/xrp/utils.d.ts.map +1 -1
- package/dist/src/coin/xrp/utils.js +22 -25
- package/dist/src/coin/xrp/walletInitializationBuilder.d.ts +1 -1
- package/dist/src/coin/xrp/walletInitializationBuilder.d.ts.map +1 -1
- package/dist/src/coin/xrp/walletInitializationBuilder.js +16 -73
- package/dist/src/coin/xtz/address.d.ts +1 -1
- package/dist/src/coin/xtz/address.d.ts.map +1 -1
- package/dist/src/coin/xtz/address.js +3 -6
- package/dist/src/coin/xtz/iface.d.ts +1 -1
- package/dist/src/coin/xtz/iface.d.ts.map +1 -1
- package/dist/src/coin/xtz/iface.js +1 -1
- package/dist/src/coin/xtz/index.js +4 -4
- package/dist/src/coin/xtz/keyPair.d.ts +1 -2
- package/dist/src/coin/xtz/keyPair.d.ts.map +1 -1
- package/dist/src/coin/xtz/keyPair.js +39 -59
- package/dist/src/coin/xtz/multisigUtils.js +64 -77
- package/dist/src/coin/xtz/transaction.d.ts +1 -2
- package/dist/src/coin/xtz/transaction.d.ts.map +1 -1
- package/dist/src/coin/xtz/transaction.js +175 -345
- package/dist/src/coin/xtz/transactionBuilder.d.ts +1 -2
- package/dist/src/coin/xtz/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/xtz/transactionBuilder.js +212 -347
- package/dist/src/coin/xtz/transferBuilder.js +25 -28
- package/dist/src/coin/xtz/utils.d.ts.map +1 -1
- package/dist/src/coin/xtz/utils.js +54 -125
- package/dist/src/index.d.ts +7 -11
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +38 -44
- package/dist/src/keyPair/index.d.ts +1 -2
- package/dist/src/keyPair/index.d.ts.map +1 -1
- package/dist/src/keyPair/index.js +9 -9
- package/dist/src/utils/index.d.ts +1 -1
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +9 -9
- package/dist/tsconfig.tsbuildinfo +21131 -16701
- package/package.json +21 -43
- package/resources/README.md +8 -2
- package/resources/trx/protobuf/tron.js +5 -1
- package/dist/browser/bitgo-account-lib.js +0 -2
- package/dist/browser/bitgo-account-lib.js.LICENSE.txt +0 -335
- package/dist/src/coin/algo/assetTransferBuilder.d.ts +0 -43
- package/dist/src/coin/algo/assetTransferBuilder.d.ts.map +0 -1
- package/dist/src/coin/algo/assetTransferBuilder.js +0 -127
- 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 -51
- 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 -26
- package/dist/src/coin/algo/keyPair.d.ts.map +0 -1
- package/dist/src/coin/algo/keyPair.js +0 -95
- 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 -262
- 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 -100
- package/dist/src/coin/algo/transaction.d.ts +0 -76
- package/dist/src/coin/algo/transaction.d.ts.map +0 -1
- package/dist/src/coin/algo/transaction.js +0 -287
- package/dist/src/coin/algo/transactionBuilder.d.ts +0 -205
- package/dist/src/coin/algo/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/algo/transactionBuilder.js +0 -445
- 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 -70
- package/dist/src/coin/algo/transferBuilder.d.ts +0 -41
- package/dist/src/coin/algo/transferBuilder.d.ts.map +0 -1
- package/dist/src/coin/algo/transferBuilder.js +0 -111
- 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 -544
- 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/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 -175
- 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 -19
- package/dist/src/coin/cspr/keyPair.d.ts.map +0 -1
- package/dist/src/coin/cspr/keyPair.js +0 -94
- package/dist/src/coin/cspr/transaction.d.ts +0 -56
- package/dist/src/coin/cspr/transaction.d.ts.map +0 -1
- package/dist/src/coin/cspr/transaction.js +0 -251
- package/dist/src/coin/cspr/transactionBuilder.d.ts +0 -125
- package/dist/src/coin/cspr/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/cspr/transactionBuilder.js +0 -383
- 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 -116
- 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 -169
- 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 -175
- package/dist/src/coin/cspr/utils.d.ts +0 -189
- package/dist/src/coin/cspr/utils.d.ts.map +0 -1
- package/dist/src/coin/cspr/utils.js +0 -483
- 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 -160
- 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 -96
- 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/hdTree.d.ts +0 -24
- package/dist/src/mpc/hdTree.d.ts.map +0 -1
- package/dist/src/mpc/hdTree.js +0 -143
- 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 -87
- 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 -346
- 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
|
@@ -1,159 +1,83 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
-
function step(op) {
|
|
31
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
-
while (_) try {
|
|
33
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
-
switch (op[0]) {
|
|
36
|
-
case 0: case 1: t = op; break;
|
|
37
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
-
default:
|
|
41
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
-
if (t[2]) _.ops.pop();
|
|
46
|
-
_.trys.pop(); continue;
|
|
47
|
-
}
|
|
48
|
-
op = body.call(thisArg, _);
|
|
49
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
54
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
55
4
|
};
|
|
56
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
6
|
exports.Transaction = void 0;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
function Transaction(_coinConfig) {
|
|
66
|
-
return _super.call(this, _coinConfig) || this;
|
|
7
|
+
const transactions_1 = require("@stacks/transactions");
|
|
8
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
9
|
+
const utils_1 = require("./utils");
|
|
10
|
+
const bn_js_1 = __importDefault(require("bn.js"));
|
|
11
|
+
class Transaction extends sdk_core_1.BaseTransaction {
|
|
12
|
+
constructor(_coinConfig) {
|
|
13
|
+
super(_coinConfig);
|
|
67
14
|
}
|
|
68
15
|
/** @inheritdoc */
|
|
69
|
-
|
|
16
|
+
canSign(key) {
|
|
70
17
|
return true;
|
|
71
|
-
}
|
|
72
|
-
|
|
18
|
+
}
|
|
19
|
+
async sign(keyPair, sigHash) {
|
|
73
20
|
var _a;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
21
|
+
const keyPairs = keyPair instanceof Array ? keyPair : [keyPair];
|
|
22
|
+
const signer = new transactions_1.TransactionSigner(this._stxTransaction);
|
|
23
|
+
signer.checkOversign = false;
|
|
24
|
+
signer.sigHash = (_a = sigHash !== null && sigHash !== void 0 ? sigHash : this._sigHash) !== null && _a !== void 0 ? _a : this._stxTransaction.verifyBegin();
|
|
25
|
+
for (const kp of keyPairs) {
|
|
26
|
+
const keys = kp.getKeys(kp.getCompressed());
|
|
27
|
+
if (!keys.prv) {
|
|
28
|
+
throw new sdk_core_1.SigningError('Missing private key');
|
|
29
|
+
}
|
|
30
|
+
const privKey = transactions_1.createStacksPrivateKey(keys.prv);
|
|
31
|
+
signer.signOrigin(privKey);
|
|
32
|
+
this._sigHash = signer.sigHash;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
async appendOrigin(pubKeyString) {
|
|
36
|
+
const pubKeyStrings = pubKeyString instanceof Array ? pubKeyString : [pubKeyString];
|
|
37
|
+
const signer = new transactions_1.TransactionSigner(this._stxTransaction);
|
|
38
|
+
pubKeyStrings.forEach((pubKey) => {
|
|
39
|
+
signer.appendOrigin(transactions_1.createStacksPublicKey(pubKey));
|
|
93
40
|
});
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
41
|
+
}
|
|
42
|
+
async signWithSignatures(signature, isMultiSig) {
|
|
43
|
+
if (!signature) {
|
|
44
|
+
throw new sdk_core_1.SigningError('Missing signatures');
|
|
45
|
+
}
|
|
46
|
+
const signatures = signature instanceof Array ? signature : [signature];
|
|
47
|
+
if (!isMultiSig) {
|
|
48
|
+
this._stxTransaction = this._stxTransaction.createTxWithSignature(signatures[0].data);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
const authFields = signatures.map((sig) => transactions_1.createTransactionAuthField(transactions_1.PubKeyEncoding.Compressed, sig));
|
|
52
|
+
this._stxTransaction.auth.spendingCondition.fields = this._stxTransaction.auth.spendingCondition.fields.concat(authFields);
|
|
53
|
+
}
|
|
54
|
+
if (signatures.length > 0) {
|
|
55
|
+
this._sigHash = signatures[signatures.length - 1].sigHash;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
get signature() {
|
|
59
|
+
if (this._stxTransaction && this._stxTransaction.auth.spendingCondition) {
|
|
60
|
+
if (transactions_1.isSingleSig(this._stxTransaction.auth.spendingCondition)) {
|
|
61
|
+
return [this._stxTransaction.auth.spendingCondition.signature.data];
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
const signatures = [];
|
|
65
|
+
this._stxTransaction.auth.spendingCondition.fields.forEach((field) => {
|
|
66
|
+
if (field.contents.type === transactions_1.StacksMessageType.MessageSignature) {
|
|
67
|
+
signatures.push(field.contents.data);
|
|
68
|
+
}
|
|
103
69
|
});
|
|
104
|
-
return
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
};
|
|
108
|
-
Transaction.prototype.signWithSignatures = function (signature, isMultiSig) {
|
|
109
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
110
|
-
var signatures, authFields;
|
|
111
|
-
return __generator(this, function (_a) {
|
|
112
|
-
if (!signature) {
|
|
113
|
-
throw new errors_1.SigningError('Missing signatures');
|
|
114
|
-
}
|
|
115
|
-
signatures = signature instanceof Array ? signature : [signature];
|
|
116
|
-
if (!isMultiSig) {
|
|
117
|
-
this._stxTransaction = this._stxTransaction.createTxWithSignature(signatures[0].data);
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
authFields = signatures.map(function (sig) { return transactions_1.createTransactionAuthField(transactions_1.PubKeyEncoding.Compressed, sig); });
|
|
121
|
-
this._stxTransaction.auth.spendingCondition.fields = this._stxTransaction.auth.spendingCondition.fields.concat(authFields);
|
|
122
|
-
}
|
|
123
|
-
if (signatures.length > 0) {
|
|
124
|
-
this._sigHash = signatures[signatures.length - 1].sigHash;
|
|
125
|
-
}
|
|
126
|
-
return [2 /*return*/];
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
};
|
|
130
|
-
Object.defineProperty(Transaction.prototype, "signature", {
|
|
131
|
-
get: function () {
|
|
132
|
-
if (this._stxTransaction && this._stxTransaction.auth.spendingCondition) {
|
|
133
|
-
if (transactions_1.isSingleSig(this._stxTransaction.auth.spendingCondition)) {
|
|
134
|
-
return [this._stxTransaction.auth.spendingCondition.signature.data];
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
var signatures_1 = [];
|
|
138
|
-
this._stxTransaction.auth.spendingCondition.fields.forEach(function (field) {
|
|
139
|
-
if (field.contents.type === transactions_1.StacksMessageType.MessageSignature) {
|
|
140
|
-
signatures_1.push(field.contents.data);
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
return signatures_1;
|
|
144
|
-
}
|
|
70
|
+
return signatures;
|
|
145
71
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
configurable: true
|
|
150
|
-
});
|
|
72
|
+
}
|
|
73
|
+
return [];
|
|
74
|
+
}
|
|
151
75
|
/** @inheritdoc */
|
|
152
|
-
|
|
76
|
+
toJson() {
|
|
153
77
|
if (!this._stxTransaction) {
|
|
154
|
-
throw new
|
|
78
|
+
throw new sdk_core_1.ParseTransactionError('Empty transaction');
|
|
155
79
|
}
|
|
156
|
-
|
|
80
|
+
const result = {
|
|
157
81
|
id: this._stxTransaction.txid(),
|
|
158
82
|
fee: this._stxTransaction.auth.getFee().toString(10),
|
|
159
83
|
from: utils_1.getTxSenderAddress(this._stxTransaction),
|
|
@@ -161,11 +85,11 @@ var Transaction = /** @class */ (function (_super) {
|
|
|
161
85
|
payload: this.getPayloadData(),
|
|
162
86
|
};
|
|
163
87
|
return result;
|
|
164
|
-
}
|
|
165
|
-
|
|
88
|
+
}
|
|
89
|
+
getPayloadData() {
|
|
166
90
|
if (this._stxTransaction.payload.payloadType === transactions_1.PayloadType.TokenTransfer) {
|
|
167
|
-
|
|
168
|
-
|
|
91
|
+
const payload = this._stxTransaction.payload;
|
|
92
|
+
const txPayload = {
|
|
169
93
|
payloadType: transactions_1.PayloadType.TokenTransfer,
|
|
170
94
|
// result.payload.memo will be padded with \u0000 up to
|
|
171
95
|
// MEMO_MAX_LENGTH_BYTES as defined in @stacks/transactions
|
|
@@ -180,8 +104,8 @@ var Transaction = /** @class */ (function (_super) {
|
|
|
180
104
|
return txPayload;
|
|
181
105
|
}
|
|
182
106
|
else if (this._stxTransaction.payload.payloadType === transactions_1.PayloadType.ContractCall) {
|
|
183
|
-
|
|
184
|
-
|
|
107
|
+
const payload = this._stxTransaction.payload;
|
|
108
|
+
const contractPayload = {
|
|
185
109
|
payloadType: transactions_1.PayloadType.ContractCall,
|
|
186
110
|
contractAddress: transactions_1.addressToString(payload.contractAddress),
|
|
187
111
|
contractName: payload.contractName.content,
|
|
@@ -191,71 +115,67 @@ var Transaction = /** @class */ (function (_super) {
|
|
|
191
115
|
return contractPayload;
|
|
192
116
|
}
|
|
193
117
|
else {
|
|
194
|
-
throw new
|
|
118
|
+
throw new sdk_core_1.NotSupported('payload type not supported');
|
|
195
119
|
}
|
|
196
|
-
}
|
|
120
|
+
}
|
|
197
121
|
/**
|
|
198
122
|
* Return the length of a transaction. This is needed to calculate
|
|
199
123
|
* the transaction fee.
|
|
200
124
|
*
|
|
201
125
|
* @returns {number} size in bytes of the serialized transaction
|
|
202
126
|
*/
|
|
203
|
-
|
|
127
|
+
transactionSize() {
|
|
204
128
|
return this._stxTransaction.serialize().length;
|
|
205
|
-
}
|
|
206
|
-
|
|
129
|
+
}
|
|
130
|
+
toBroadcastFormat() {
|
|
207
131
|
if (!this._stxTransaction) {
|
|
208
|
-
throw new
|
|
132
|
+
throw new sdk_core_1.ParseTransactionError('Empty transaction');
|
|
209
133
|
}
|
|
210
134
|
return this._stxTransaction.serialize().toString('hex');
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
enumerable: false,
|
|
220
|
-
configurable: true
|
|
221
|
-
});
|
|
222
|
-
Transaction.prototype.getNonce = function () {
|
|
135
|
+
}
|
|
136
|
+
get stxTransaction() {
|
|
137
|
+
return this._stxTransaction;
|
|
138
|
+
}
|
|
139
|
+
set stxTransaction(t) {
|
|
140
|
+
this._stxTransaction = t;
|
|
141
|
+
}
|
|
142
|
+
getNonce() {
|
|
223
143
|
if (this._stxTransaction.auth.spendingCondition) {
|
|
224
144
|
return Number(this._stxTransaction.auth.spendingCondition.nonce);
|
|
225
145
|
}
|
|
226
146
|
else {
|
|
227
|
-
throw new
|
|
147
|
+
throw new sdk_core_1.InvalidTransactionError('spending condition is null');
|
|
228
148
|
}
|
|
229
|
-
}
|
|
149
|
+
}
|
|
230
150
|
/**
|
|
231
151
|
* Sets this transaction payload
|
|
232
152
|
*
|
|
233
153
|
* @param rawTransaction
|
|
234
154
|
*/
|
|
235
|
-
|
|
236
|
-
|
|
155
|
+
fromRawTransaction(rawTransaction) {
|
|
156
|
+
const raw = utils_1.removeHexPrefix(rawTransaction);
|
|
237
157
|
try {
|
|
238
158
|
this._stxTransaction = transactions_1.deserializeTransaction(transactions_1.BufferReader.fromBuffer(Buffer.from(raw, 'hex')));
|
|
239
159
|
}
|
|
240
160
|
catch (e) {
|
|
241
|
-
throw new
|
|
161
|
+
throw new sdk_core_1.ParseTransactionError('Error parsing the raw transaction');
|
|
242
162
|
}
|
|
243
163
|
this.loadInputsAndOutputs();
|
|
244
|
-
}
|
|
164
|
+
}
|
|
245
165
|
/**
|
|
246
166
|
* Set the transaction type
|
|
247
167
|
*
|
|
248
168
|
* @param {TransactionType} transactionType The transaction type to be set
|
|
249
169
|
*/
|
|
250
|
-
|
|
170
|
+
setTransactionType(transactionType) {
|
|
251
171
|
this._type = transactionType;
|
|
252
|
-
}
|
|
172
|
+
}
|
|
253
173
|
/**
|
|
254
174
|
* Load the input and output data on this transaction using the transaction json
|
|
255
175
|
* if there are outputs.
|
|
256
176
|
*/
|
|
257
|
-
|
|
258
|
-
|
|
177
|
+
loadInputsAndOutputs() {
|
|
178
|
+
const txJson = this.toJson();
|
|
259
179
|
if (txJson.payload.payloadType === transactions_1.PayloadType.TokenTransfer) {
|
|
260
180
|
if (txJson.payload.to && txJson.payload.amount) {
|
|
261
181
|
this._outputs = [
|
|
@@ -276,11 +196,11 @@ var Transaction = /** @class */ (function (_super) {
|
|
|
276
196
|
}
|
|
277
197
|
else if (txJson.payload.payloadType === transactions_1.PayloadType.ContractCall) {
|
|
278
198
|
if (txJson.payload.contractAddress === this._coinConfig.network.sendmanymemoContractAddress) {
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
this._outputs = sendParams.map(
|
|
283
|
-
this._inputs = [{ address: txJson.from, value: sum.toString(), coin
|
|
199
|
+
const sendParams = utils_1.functionArgsToSendParams(this.stxTransaction.payload.functionArgs);
|
|
200
|
+
const coin = this._coinConfig.name;
|
|
201
|
+
const sum = sendParams.reduce((current, next) => current.add(new bn_js_1.default(next.amount)), new bn_js_1.default(0));
|
|
202
|
+
this._outputs = sendParams.map((sendParam) => ({ address: sendParam.address, value: sendParam.amount, coin }));
|
|
203
|
+
this._inputs = [{ address: txJson.from, value: sum.toString(), coin }];
|
|
284
204
|
}
|
|
285
205
|
else {
|
|
286
206
|
this._outputs = [
|
|
@@ -299,8 +219,7 @@ var Transaction = /** @class */ (function (_super) {
|
|
|
299
219
|
];
|
|
300
220
|
}
|
|
301
221
|
}
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
}(baseCoin_1.BaseTransaction));
|
|
222
|
+
}
|
|
223
|
+
}
|
|
305
224
|
exports.Transaction = Transaction;
|
|
306
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9zdHgvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBYzhCO0FBRTlCLDZDQUFnSDtBQUVoSCx3Q0FBK0Q7QUFFL0QsaUNBQWdIO0FBR2hILGdEQUEyQjtBQUUzQjtJQUFpQywrQkFBZTtJQUs5QyxxQkFBWSxXQUFpQztlQUMzQyxrQkFBTSxXQUFXLENBQUM7SUFDcEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQiw2QkFBTyxHQUFQLFVBQVEsR0FBWTtRQUNsQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFSywwQkFBSSxHQUFWLFVBQVcsT0FBNEIsRUFBRSxPQUFnQjs7Ozs7Z0JBQ2pELFFBQVEsR0FBRyxPQUFPLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzFELE1BQU0sR0FBRyxJQUFJLGdDQUFpQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDM0QsTUFBTSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzdCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBQSxPQUFPLGFBQVAsT0FBTyxjQUFQLE9BQU8sR0FBSSxJQUFJLENBQUMsUUFBUSxtQ0FBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNoRixXQUF5QixFQUFSLHFCQUFRLEVBQVIsc0JBQVEsRUFBUixJQUFRLEVBQUU7b0JBQWhCLEVBQUU7b0JBQ0wsSUFBSSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7b0JBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO3dCQUNiLE1BQU0sSUFBSSxxQkFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7cUJBQy9DO29CQUNLLE9BQU8sR0FBRyxxQ0FBc0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2pELE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztpQkFDaEM7Ozs7S0FDRjtJQUVLLGtDQUFZLEdBQWxCLFVBQW1CLFlBQStCOzs7O2dCQUMxQyxhQUFhLEdBQUcsWUFBWSxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUM5RSxNQUFNLEdBQXNCLElBQUksZ0NBQWlCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUM5RSxhQUFhLENBQUMsT0FBTyxDQUFDLFVBQUMsTUFBTTtvQkFDM0IsTUFBTSxDQUFDLFlBQVksQ0FBQyxvQ0FBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDLENBQUMsQ0FBQzs7OztLQUNKO0lBRUssd0NBQWtCLEdBQXhCLFVBQXlCLFNBQTBDLEVBQUUsVUFBbUI7Ozs7Z0JBQ3RGLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQ2QsTUFBTSxJQUFJLHFCQUFZLENBQUMsb0JBQW9CLENBQUMsQ0FBQztpQkFDOUM7Z0JBQ0ssVUFBVSxHQUFHLFNBQVMsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFFeEUsSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDZixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN2RjtxQkFBTTtvQkFDQyxVQUFVLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFDLEdBQUcsSUFBSyxPQUFBLHlDQUEwQixDQUFDLDZCQUFjLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxFQUExRCxDQUEwRCxDQUFDLENBQUM7b0JBQ3RHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGlCQUErQyxDQUFDLE1BQU0sR0FDL0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsaUJBQzNCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDN0I7Z0JBQ0QsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7aUJBQzNEOzs7O0tBQ0Y7SUFFRCxzQkFBSSxrQ0FBUzthQUFiO1lBQ0UsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUN2RSxJQUFJLDBCQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRTtvQkFDNUQsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDckU7cUJBQU07b0JBQ0wsSUFBTSxZQUFVLEdBQWEsRUFBRSxDQUFDO29CQUNoQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQUMsS0FBSzt3QkFDL0QsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxnQ0FBaUIsQ0FBQyxnQkFBZ0IsRUFBRTs0QkFDOUQsWUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO3lCQUN0QztvQkFDSCxDQUFDLENBQUMsQ0FBQztvQkFDSCxPQUFPLFlBQVUsQ0FBQztpQkFDbkI7YUFDRjtZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQzs7O09BQUE7SUFFRCxrQkFBa0I7SUFDbEIsNEJBQU0sR0FBTjtRQUNFLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3pCLE1BQU0sSUFBSSw4QkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsSUFBTSxNQUFNLEdBQVc7WUFDckIsRUFBRSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFO1lBQy9CLEdBQUcsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3BELElBQUksRUFBRSwwQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQzlDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3RCLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO1NBQy9CLENBQUM7UUFDRixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sb0NBQWMsR0FBdEI7UUFDRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLFdBQVcsS0FBSywwQkFBVyxDQUFDLGFBQWEsRUFBRTtZQUMxRSxJQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQztZQUM3QyxJQUFNLFNBQVMsR0FBNkI7Z0JBQzFDLFdBQVcsRUFBRSwwQkFBVyxDQUFDLGFBQWE7Z0JBQ3RDLHVEQUF1RDtnQkFDdkQsMkRBQTJEO2dCQUMzRCxJQUFJLEVBQUUsaUJBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDckMsRUFBRSxFQUFFLDhCQUFlLENBQUM7b0JBQ2xCLElBQUksRUFBRSxnQ0FBaUIsQ0FBQyxPQUFPO29CQUMvQixPQUFPLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTztvQkFDMUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7aUJBQ3RELENBQUM7Z0JBQ0YsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO2FBQ2xDLENBQUM7WUFDRixPQUFPLFNBQVMsQ0FBQztTQUNsQjthQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsV0FBVyxLQUFLLDBCQUFXLENBQUMsWUFBWSxFQUFFO1lBQ2hGLElBQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDO1lBQzdDLElBQU0sZUFBZSxHQUEwQjtnQkFDN0MsV0FBVyxFQUFFLDBCQUFXLENBQUMsWUFBWTtnQkFDckMsZUFBZSxFQUFFLDhCQUFlLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQztnQkFDekQsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTztnQkFDMUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTztnQkFDMUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLG1CQUFXLENBQUM7YUFDcEQsQ0FBQztZQUNGLE9BQU8sZUFBZSxDQUFDO1NBQ3hCO2FBQU07WUFDTCxNQUFNLElBQUkscUJBQVksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1NBQ3REO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gscUNBQWUsR0FBZjtRQUNFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDakQsQ0FBQztJQUVELHVDQUFpQixHQUFqQjtRQUNFLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3pCLE1BQU0sSUFBSSw4QkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsc0JBQUksdUNBQWM7YUFBbEI7WUFDRSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDOUIsQ0FBQzthQUVELFVBQW1CLENBQW9CO1lBQ3JDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLENBQUM7OztPQUpBO0lBTU8sOEJBQVEsR0FBaEI7UUFDRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQy9DLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2xFO2FBQU07WUFDTCxNQUFNLElBQUksZ0NBQXVCLENBQUMsNEJBQTRCLENBQUMsQ0FBQztTQUNqRTtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsd0NBQWtCLEdBQWxCLFVBQW1CLGNBQXNCO1FBQ3ZDLElBQU0sR0FBRyxHQUFHLHVCQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUMsSUFBSTtZQUNGLElBQUksQ0FBQyxlQUFlLEdBQUcscUNBQXNCLENBQUMsMkJBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pHO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixNQUFNLElBQUksOEJBQXFCLENBQUMsbUNBQW1DLENBQUMsQ0FBQztTQUN0RTtRQUNELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsd0NBQWtCLEdBQWxCLFVBQW1CLGVBQWdDO1FBQ2pELElBQUksQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7O09BR0c7SUFDSCwwQ0FBb0IsR0FBcEI7UUFDRSxJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0IsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsS0FBSywwQkFBVyxDQUFDLGFBQWEsRUFBRTtZQUM1RCxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHO29CQUNkO3dCQUNFLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7d0JBQzFCLEtBQUssRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU07d0JBQzVCLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7cUJBQzVCO2lCQUNGLENBQUM7Z0JBRUYsSUFBSSxDQUFDLE9BQU8sR0FBRztvQkFDYjt3QkFDRSxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUk7d0JBQ3BCLEtBQUssRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU07d0JBQzVCLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7cUJBQzVCO2lCQUNGLENBQUM7YUFDSDtTQUNGO2FBQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsS0FBSywwQkFBVyxDQUFDLFlBQVksRUFBRTtZQUNsRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxLQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBeUIsQ0FBQywyQkFBMkIsRUFBRTtnQkFDOUcsSUFBTSxVQUFVLEdBQUcsZ0NBQXdCLENBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUErQixDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUMvRyxJQUFNLE1BQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztnQkFDbkMsSUFBTSxHQUFHLEdBQVcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFDLE9BQU8sRUFBRSxJQUFJLElBQUssT0FBQSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksZUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFwQyxDQUFvQyxFQUFFLElBQUksZUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlHLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFDLFNBQVMsSUFBSyxPQUFBLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLFFBQUEsRUFBRSxDQUFDLEVBQS9ELENBQStELENBQUMsQ0FBQztnQkFDL0csSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQUEsRUFBRSxDQUFDLENBQUM7YUFDeEU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRztvQkFDZDt3QkFDRSxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxlQUFlO3dCQUN2QyxLQUFLLEVBQUUsR0FBRzt3QkFDVixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO3FCQUM1QjtpQkFDRixDQUFDO2dCQUVGLElBQUksQ0FBQyxPQUFPLEdBQUc7b0JBQ2I7d0JBQ0UsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJO3dCQUNwQixLQUFLLEVBQUUsR0FBRzt3QkFDVixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO3FCQUM1QjtpQkFDRixDQUFDO2FBQ0g7U0FDRjtJQUNILENBQUM7SUFDSCxrQkFBQztBQUFELENBQUMsQUFuT0QsQ0FBaUMsMEJBQWUsR0FtTy9DO0FBbk9ZLGtDQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYWRkcmVzc1RvU3RyaW5nLFxuICBCdWZmZXJSZWFkZXIsXG4gIGNyZWF0ZVN0YWNrc1ByaXZhdGVLZXksXG4gIGNyZWF0ZVN0YWNrc1B1YmxpY0tleSxcbiAgY3JlYXRlVHJhbnNhY3Rpb25BdXRoRmllbGQsXG4gIGRlc2VyaWFsaXplVHJhbnNhY3Rpb24sXG4gIGlzU2luZ2xlU2lnLFxuICBNdWx0aVNpZ1NwZW5kaW5nQ29uZGl0aW9uLFxuICBQYXlsb2FkVHlwZSxcbiAgUHViS2V5RW5jb2RpbmcsXG4gIFN0YWNrc01lc3NhZ2VUeXBlLFxuICBTdGFja3NUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25TaWduZXIsXG59IGZyb20gJ0BzdGFja3MvdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcsIFN0YWNrc05ldHdvcmsgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgTm90U3VwcG9ydGVkLCBQYXJzZVRyYW5zYWN0aW9uRXJyb3IsIFNpZ25pbmdFcnJvciB9IGZyb20gJy4uL2Jhc2VDb2luL2Vycm9ycyc7XG5pbXBvcnQgeyBCYXNlS2V5IH0gZnJvbSAnLi4vYmFzZUNvaW4vaWZhY2UnO1xuaW1wb3J0IHsgQmFzZVRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBTaWduYXR1cmVEYXRhLCBTdGFja3NDb250cmFjdFBheWxvYWQsIFN0YWNrc1RyYW5zYWN0aW9uUGF5bG9hZCwgVHhEYXRhIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBmdW5jdGlvbkFyZ3NUb1NlbmRQYXJhbXMsIGdldFR4U2VuZGVyQWRkcmVzcywgcmVtb3ZlSGV4UHJlZml4LCBzdHJpbmdpZnlDdiwgdW5wYWRNZW1vIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmltcG9ydCB7IENvbnRyYWN0Q2FsbFBheWxvYWQgfSBmcm9tICdAc3RhY2tzL3RyYW5zYWN0aW9ucy9kaXN0L3BheWxvYWQnO1xuaW1wb3J0IEJpZ051bSBmcm9tICdibi5qcyc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbiB7XG4gIHByaXZhdGUgX3N0eFRyYW5zYWN0aW9uOiBTdGFja3NUcmFuc2FjdGlvbjtcbiAgcHJvdGVjdGVkIF90eXBlOiBUcmFuc2FjdGlvblR5cGU7XG4gIHByaXZhdGUgX3NpZ0hhc2g6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgY2FuU2lnbihrZXk6IEJhc2VLZXkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIHNpZ24oa2V5UGFpcjogS2V5UGFpcltdIHwgS2V5UGFpciwgc2lnSGFzaD86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGtleVBhaXJzID0ga2V5UGFpciBpbnN0YW5jZW9mIEFycmF5ID8ga2V5UGFpciA6IFtrZXlQYWlyXTtcbiAgICBjb25zdCBzaWduZXIgPSBuZXcgVHJhbnNhY3Rpb25TaWduZXIodGhpcy5fc3R4VHJhbnNhY3Rpb24pO1xuICAgIHNpZ25lci5jaGVja092ZXJzaWduID0gZmFsc2U7XG4gICAgc2lnbmVyLnNpZ0hhc2ggPSBzaWdIYXNoID8/IHRoaXMuX3NpZ0hhc2ggPz8gdGhpcy5fc3R4VHJhbnNhY3Rpb24udmVyaWZ5QmVnaW4oKTtcbiAgICBmb3IgKGNvbnN0IGtwIG9mIGtleVBhaXJzKSB7XG4gICAgICBjb25zdCBrZXlzID0ga3AuZ2V0S2V5cyhrcC5nZXRDb21wcmVzc2VkKCkpO1xuICAgICAgaWYgKCFrZXlzLnBydikge1xuICAgICAgICB0aHJvdyBuZXcgU2lnbmluZ0Vycm9yKCdNaXNzaW5nIHByaXZhdGUga2V5Jyk7XG4gICAgICB9XG4gICAgICBjb25zdCBwcml2S2V5ID0gY3JlYXRlU3RhY2tzUHJpdmF0ZUtleShrZXlzLnBydik7XG4gICAgICBzaWduZXIuc2lnbk9yaWdpbihwcml2S2V5KTtcbiAgICAgIHRoaXMuX3NpZ0hhc2ggPSBzaWduZXIuc2lnSGFzaDtcbiAgICB9XG4gIH1cblxuICBhc3luYyBhcHBlbmRPcmlnaW4ocHViS2V5U3RyaW5nOiBzdHJpbmdbXSB8IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHB1YktleVN0cmluZ3MgPSBwdWJLZXlTdHJpbmcgaW5zdGFuY2VvZiBBcnJheSA/IHB1YktleVN0cmluZyA6IFtwdWJLZXlTdHJpbmddO1xuICAgIGNvbnN0IHNpZ25lcjogVHJhbnNhY3Rpb25TaWduZXIgPSBuZXcgVHJhbnNhY3Rpb25TaWduZXIodGhpcy5fc3R4VHJhbnNhY3Rpb24pO1xuICAgIHB1YktleVN0cmluZ3MuZm9yRWFjaCgocHViS2V5KSA9PiB7XG4gICAgICBzaWduZXIuYXBwZW5kT3JpZ2luKGNyZWF0ZVN0YWNrc1B1YmxpY0tleShwdWJLZXkpKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNpZ25XaXRoU2lnbmF0dXJlcyhzaWduYXR1cmU6IFNpZ25hdHVyZURhdGFbXSB8IFNpZ25hdHVyZURhdGEsIGlzTXVsdGlTaWc6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXNpZ25hdHVyZSkge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignTWlzc2luZyBzaWduYXR1cmVzJyk7XG4gICAgfVxuICAgIGNvbnN0IHNpZ25hdHVyZXMgPSBzaWduYXR1cmUgaW5zdGFuY2VvZiBBcnJheSA/IHNpZ25hdHVyZSA6IFtzaWduYXR1cmVdO1xuXG4gICAgaWYgKCFpc011bHRpU2lnKSB7XG4gICAgICB0aGlzLl9zdHhUcmFuc2FjdGlvbiA9IHRoaXMuX3N0eFRyYW5zYWN0aW9uLmNyZWF0ZVR4V2l0aFNpZ25hdHVyZShzaWduYXR1cmVzWzBdLmRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBhdXRoRmllbGRzID0gc2lnbmF0dXJlcy5tYXAoKHNpZykgPT4gY3JlYXRlVHJhbnNhY3Rpb25BdXRoRmllbGQoUHViS2V5RW5jb2RpbmcuQ29tcHJlc3NlZCwgc2lnKSk7XG4gICAgICAodGhpcy5fc3R4VHJhbnNhY3Rpb24uYXV0aC5zcGVuZGluZ0NvbmRpdGlvbiBhcyBNdWx0aVNpZ1NwZW5kaW5nQ29uZGl0aW9uKS5maWVsZHMgPSAoXG4gICAgICAgIHRoaXMuX3N0eFRyYW5zYWN0aW9uLmF1dGguc3BlbmRpbmdDb25kaXRpb24gYXMgTXVsdGlTaWdTcGVuZGluZ0NvbmRpdGlvblxuICAgICAgKS5maWVsZHMuY29uY2F0KGF1dGhGaWVsZHMpO1xuICAgIH1cbiAgICBpZiAoc2lnbmF0dXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLl9zaWdIYXNoID0gc2lnbmF0dXJlc1tzaWduYXR1cmVzLmxlbmd0aCAtIDFdLnNpZ0hhc2g7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNpZ25hdHVyZSgpOiBzdHJpbmdbXSB7XG4gICAgaWYgKHRoaXMuX3N0eFRyYW5zYWN0aW9uICYmIHRoaXMuX3N0eFRyYW5zYWN0aW9uLmF1dGguc3BlbmRpbmdDb25kaXRpb24pIHtcbiAgICAgIGlmIChpc1NpbmdsZVNpZyh0aGlzLl9zdHhUcmFuc2FjdGlvbi5hdXRoLnNwZW5kaW5nQ29uZGl0aW9uKSkge1xuICAgICAgICByZXR1cm4gW3RoaXMuX3N0eFRyYW5zYWN0aW9uLmF1dGguc3BlbmRpbmdDb25kaXRpb24uc2lnbmF0dXJlLmRhdGFdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc2lnbmF0dXJlczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgdGhpcy5fc3R4VHJhbnNhY3Rpb24uYXV0aC5zcGVuZGluZ0NvbmRpdGlvbi5maWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICBpZiAoZmllbGQuY29udGVudHMudHlwZSA9PT0gU3RhY2tzTWVzc2FnZVR5cGUuTWVzc2FnZVNpZ25hdHVyZSkge1xuICAgICAgICAgICAgc2lnbmF0dXJlcy5wdXNoKGZpZWxkLmNvbnRlbnRzLmRhdGEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBzaWduYXR1cmVzO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdG9Kc29uKCk6IFR4RGF0YSB7XG4gICAgaWYgKCF0aGlzLl9zdHhUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0OiBUeERhdGEgPSB7XG4gICAgICBpZDogdGhpcy5fc3R4VHJhbnNhY3Rpb24udHhpZCgpLFxuICAgICAgZmVlOiB0aGlzLl9zdHhUcmFuc2FjdGlvbi5hdXRoLmdldEZlZSgpLnRvU3RyaW5nKDEwKSxcbiAgICAgIGZyb206IGdldFR4U2VuZGVyQWRkcmVzcyh0aGlzLl9zdHhUcmFuc2FjdGlvbiksXG4gICAgICBub25jZTogdGhpcy5nZXROb25jZSgpLFxuICAgICAgcGF5bG9hZDogdGhpcy5nZXRQYXlsb2FkRGF0YSgpLFxuICAgIH07XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGF5bG9hZERhdGEoKTogU3RhY2tzVHJhbnNhY3Rpb25QYXlsb2FkIHwgU3RhY2tzQ29udHJhY3RQYXlsb2FkIHtcbiAgICBpZiAodGhpcy5fc3R4VHJhbnNhY3Rpb24ucGF5bG9hZC5wYXlsb2FkVHlwZSA9PT0gUGF5bG9hZFR5cGUuVG9rZW5UcmFuc2Zlcikge1xuICAgICAgY29uc3QgcGF5bG9hZCA9IHRoaXMuX3N0eFRyYW5zYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCB0eFBheWxvYWQ6IFN0YWNrc1RyYW5zYWN0aW9uUGF5bG9hZCA9IHtcbiAgICAgICAgcGF5bG9hZFR5cGU6IFBheWxvYWRUeXBlLlRva2VuVHJhbnNmZXIsXG4gICAgICAgIC8vIHJlc3VsdC5wYXlsb2FkLm1lbW8gd2lsbCBiZSBwYWRkZWQgd2l0aCBcXHUwMDAwIHVwIHRvXG4gICAgICAgIC8vIE1FTU9fTUFYX0xFTkdUSF9CWVRFUyBhcyBkZWZpbmVkIGluIEBzdGFja3MvdHJhbnNhY3Rpb25zXG4gICAgICAgIG1lbW86IHVucGFkTWVtbyhwYXlsb2FkLm1lbW8uY29udGVudCksXG4gICAgICAgIHRvOiBhZGRyZXNzVG9TdHJpbmcoe1xuICAgICAgICAgIHR5cGU6IFN0YWNrc01lc3NhZ2VUeXBlLkFkZHJlc3MsXG4gICAgICAgICAgdmVyc2lvbjogcGF5bG9hZC5yZWNpcGllbnQuYWRkcmVzcy52ZXJzaW9uLFxuICAgICAgICAgIGhhc2gxNjA6IHBheWxvYWQucmVjaXBpZW50LmFkZHJlc3MuaGFzaDE2MC50b1N0cmluZygpLFxuICAgICAgICB9KSxcbiAgICAgICAgYW1vdW50OiBwYXlsb2FkLmFtb3VudC50b1N0cmluZygpLFxuICAgICAgfTtcbiAgICAgIHJldHVybiB0eFBheWxvYWQ7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9zdHhUcmFuc2FjdGlvbi5wYXlsb2FkLnBheWxvYWRUeXBlID09PSBQYXlsb2FkVHlwZS5Db250cmFjdENhbGwpIHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSB0aGlzLl9zdHhUcmFuc2FjdGlvbi5wYXlsb2FkO1xuICAgICAgY29uc3QgY29udHJhY3RQYXlsb2FkOiBTdGFja3NDb250cmFjdFBheWxvYWQgPSB7XG4gICAgICAgIHBheWxvYWRUeXBlOiBQYXlsb2FkVHlwZS5Db250cmFjdENhbGwsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogYWRkcmVzc1RvU3RyaW5nKHBheWxvYWQuY29udHJhY3RBZGRyZXNzKSxcbiAgICAgICAgY29udHJhY3ROYW1lOiBwYXlsb2FkLmNvbnRyYWN0TmFtZS5jb250ZW50LFxuICAgICAgICBmdW5jdGlvbk5hbWU6IHBheWxvYWQuZnVuY3Rpb25OYW1lLmNvbnRlbnQsXG4gICAgICAgIGZ1bmN0aW9uQXJnczogcGF5bG9hZC5mdW5jdGlvbkFyZ3MubWFwKHN0cmluZ2lmeUN2KSxcbiAgICAgIH07XG4gICAgICByZXR1cm4gY29udHJhY3RQYXlsb2FkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgTm90U3VwcG9ydGVkKCdwYXlsb2FkIHR5cGUgbm90IHN1cHBvcnRlZCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGxlbmd0aCBvZiBhIHRyYW5zYWN0aW9uLiAgVGhpcyBpcyBuZWVkZWQgdG8gY2FsY3VsYXRlXG4gICAqIHRoZSB0cmFuc2FjdGlvbiBmZWUuXG4gICAqXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IHNpemUgaW4gYnl0ZXMgb2YgdGhlIHNlcmlhbGl6ZWQgdHJhbnNhY3Rpb25cbiAgICovXG4gIHRyYW5zYWN0aW9uU2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zdHhUcmFuc2FjdGlvbi5zZXJpYWxpemUoKS5sZW5ndGg7XG4gIH1cblxuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fc3R4VHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9zdHhUcmFuc2FjdGlvbi5zZXJpYWxpemUoKS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICBnZXQgc3R4VHJhbnNhY3Rpb24oKTogU3RhY2tzVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl9zdHhUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIHNldCBzdHhUcmFuc2FjdGlvbih0OiBTdGFja3NUcmFuc2FjdGlvbikge1xuICAgIHRoaXMuX3N0eFRyYW5zYWN0aW9uID0gdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9uY2UoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5fc3R4VHJhbnNhY3Rpb24uYXV0aC5zcGVuZGluZ0NvbmRpdGlvbikge1xuICAgICAgcmV0dXJuIE51bWJlcih0aGlzLl9zdHhUcmFuc2FjdGlvbi5hdXRoLnNwZW5kaW5nQ29uZGl0aW9uLm5vbmNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdzcGVuZGluZyBjb25kaXRpb24gaXMgbnVsbCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoaXMgdHJhbnNhY3Rpb24gcGF5bG9hZFxuICAgKlxuICAgKiBAcGFyYW0gcmF3VHJhbnNhY3Rpb25cbiAgICovXG4gIGZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcmF3ID0gcmVtb3ZlSGV4UHJlZml4KHJhd1RyYW5zYWN0aW9uKTtcbiAgICB0cnkge1xuICAgICAgdGhpcy5fc3R4VHJhbnNhY3Rpb24gPSBkZXNlcmlhbGl6ZVRyYW5zYWN0aW9uKEJ1ZmZlclJlYWRlci5mcm9tQnVmZmVyKEJ1ZmZlci5mcm9tKHJhdywgJ2hleCcpKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlVHJhbnNhY3Rpb25FcnJvcignRXJyb3IgcGFyc2luZyB0aGUgcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHRoaXMubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRyYW5zYWN0aW9uIHR5cGVcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvblR5cGV9IHRyYW5zYWN0aW9uVHlwZSBUaGUgdHJhbnNhY3Rpb24gdHlwZSB0byBiZSBzZXRcbiAgICovXG4gIHNldFRyYW5zYWN0aW9uVHlwZSh0cmFuc2FjdGlvblR5cGU6IFRyYW5zYWN0aW9uVHlwZSk6IHZvaWQge1xuICAgIHRoaXMuX3R5cGUgPSB0cmFuc2FjdGlvblR5cGU7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCB0aGUgaW5wdXQgYW5kIG91dHB1dCBkYXRhIG9uIHRoaXMgdHJhbnNhY3Rpb24gdXNpbmcgdGhlIHRyYW5zYWN0aW9uIGpzb25cbiAgICogaWYgdGhlcmUgYXJlIG91dHB1dHMuXG4gICAqL1xuICBsb2FkSW5wdXRzQW5kT3V0cHV0cygpOiB2b2lkIHtcbiAgICBjb25zdCB0eEpzb24gPSB0aGlzLnRvSnNvbigpO1xuICAgIGlmICh0eEpzb24ucGF5bG9hZC5wYXlsb2FkVHlwZSA9PT0gUGF5bG9hZFR5cGUuVG9rZW5UcmFuc2Zlcikge1xuICAgICAgaWYgKHR4SnNvbi5wYXlsb2FkLnRvICYmIHR4SnNvbi5wYXlsb2FkLmFtb3VudCkge1xuICAgICAgICB0aGlzLl9vdXRwdXRzID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFkZHJlc3M6IHR4SnNvbi5wYXlsb2FkLnRvLFxuICAgICAgICAgICAgdmFsdWU6IHR4SnNvbi5wYXlsb2FkLmFtb3VudCxcbiAgICAgICAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuXG4gICAgICAgIHRoaXMuX2lucHV0cyA9IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhZGRyZXNzOiB0eEpzb24uZnJvbSxcbiAgICAgICAgICAgIHZhbHVlOiB0eEpzb24ucGF5bG9hZC5hbW91bnQsXG4gICAgICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR4SnNvbi5wYXlsb2FkLnBheWxvYWRUeXBlID09PSBQYXlsb2FkVHlwZS5Db250cmFjdENhbGwpIHtcbiAgICAgIGlmICh0eEpzb24ucGF5bG9hZC5jb250cmFjdEFkZHJlc3MgPT09ICh0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsgYXMgU3RhY2tzTmV0d29yaykuc2VuZG1hbnltZW1vQ29udHJhY3RBZGRyZXNzKSB7XG4gICAgICAgIGNvbnN0IHNlbmRQYXJhbXMgPSBmdW5jdGlvbkFyZ3NUb1NlbmRQYXJhbXMoKHRoaXMuc3R4VHJhbnNhY3Rpb24ucGF5bG9hZCBhcyBDb250cmFjdENhbGxQYXlsb2FkKS5mdW5jdGlvbkFyZ3MpO1xuICAgICAgICBjb25zdCBjb2luID0gdGhpcy5fY29pbkNvbmZpZy5uYW1lO1xuICAgICAgICBjb25zdCBzdW06IEJpZ051bSA9IHNlbmRQYXJhbXMucmVkdWNlKChjdXJyZW50LCBuZXh0KSA9PiBjdXJyZW50LmFkZChuZXcgQmlnTnVtKG5leHQuYW1vdW50KSksIG5ldyBCaWdOdW0oMCkpO1xuICAgICAgICB0aGlzLl9vdXRwdXRzID0gc2VuZFBhcmFtcy5tYXAoKHNlbmRQYXJhbSkgPT4gKHsgYWRkcmVzczogc2VuZFBhcmFtLmFkZHJlc3MsIHZhbHVlOiBzZW5kUGFyYW0uYW1vdW50LCBjb2luIH0pKTtcbiAgICAgICAgdGhpcy5faW5wdXRzID0gW3sgYWRkcmVzczogdHhKc29uLmZyb20sIHZhbHVlOiBzdW0udG9TdHJpbmcoKSwgY29pbiB9XTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX291dHB1dHMgPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWRkcmVzczogdHhKc29uLnBheWxvYWQuY29udHJhY3RBZGRyZXNzLFxuICAgICAgICAgICAgdmFsdWU6ICcwJyxcbiAgICAgICAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuXG4gICAgICAgIHRoaXMuX2lucHV0cyA9IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhZGRyZXNzOiB0eEpzb24uZnJvbSxcbiAgICAgICAgICAgIHZhbHVlOiAnMCcsXG4gICAgICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9zdHgvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsdURBYzhCO0FBRTlCLDhDQVF5QjtBQUV6QixtQ0FBZ0g7QUFHaEgsa0RBQTJCO0FBRTNCLE1BQWEsV0FBWSxTQUFRLDBCQUFlO0lBSzlDLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsT0FBTyxDQUFDLEdBQVk7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUE0QixFQUFFLE9BQWdCOztRQUN2RCxNQUFNLFFBQVEsR0FBRyxPQUFPLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxnQ0FBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0QsTUFBTSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDN0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFBLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLElBQUksQ0FBQyxRQUFRLG1DQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEYsS0FBSyxNQUFNLEVBQUUsSUFBSSxRQUFRLEVBQUU7WUFDekIsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDYixNQUFNLElBQUksdUJBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2FBQy9DO1lBQ0QsTUFBTSxPQUFPLEdBQUcs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LEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQy9HLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUN4RTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxHQUFHO29CQUNkO3dCQUNFLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWU7d0JBQ3ZDLEtBQUssRUFBRSxHQUFHO3dCQUNWLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7cUJBQzVCO2lCQUNGLENBQUM7Z0JBRUYsSUFBSSxDQUFDLE9BQU8sR0FBRztvQkFDYjt3QkFDRSxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUk7d0JBQ3BCLEtBQUssRUFBRSxHQUFHO3dCQUNWLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7cUJBQzVCO2lCQUNGLENBQUM7YUFDSDtTQUNGO0lBQ0gsQ0FBQztDQUNGO0FBbk9ELGtDQW1PQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFkZHJlc3NUb1N0cmluZyxcbiAgQnVmZmVyUmVhZGVyLFxuICBjcmVhdGVTdGFja3NQcml2YXRlS2V5LFxuICBjcmVhdGVTdGFja3NQdWJsaWNLZXksXG4gIGNyZWF0ZVRyYW5zYWN0aW9uQXV0aEZpZWxkLFxuICBkZXNlcmlhbGl6ZVRyYW5zYWN0aW9uLFxuICBpc1NpbmdsZVNpZyxcbiAgTXVsdGlTaWdTcGVuZGluZ0NvbmRpdGlvbixcbiAgUGF5bG9hZFR5cGUsXG4gIFB1YktleUVuY29kaW5nLFxuICBTdGFja3NNZXNzYWdlVHlwZSxcbiAgU3RhY2tzVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uU2lnbmVyLFxufSBmcm9tICdAc3RhY2tzL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnLCBTdGFja3NOZXR3b3JrIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgTm90U3VwcG9ydGVkLFxuICBQYXJzZVRyYW5zYWN0aW9uRXJyb3IsXG4gIFNpZ25pbmdFcnJvcixcbiAgVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgU2lnbmF0dXJlRGF0YSwgU3RhY2tzQ29udHJhY3RQYXlsb2FkLCBTdGFja3NUcmFuc2FjdGlvblBheWxvYWQsIFR4RGF0YSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgZnVuY3Rpb25BcmdzVG9TZW5kUGFyYW1zLCBnZXRUeFNlbmRlckFkZHJlc3MsIHJlbW92ZUhleFByZWZpeCwgc3RyaW5naWZ5Q3YsIHVucGFkTWVtbyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5pbXBvcnQgeyBDb250cmFjdENhbGxQYXlsb2FkIH0gZnJvbSAnQHN0YWNrcy90cmFuc2FjdGlvbnMvZGlzdC9wYXlsb2FkJztcbmltcG9ydCBCaWdOdW0gZnJvbSAnYm4uanMnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcml2YXRlIF9zdHhUcmFuc2FjdGlvbjogU3RhY2tzVHJhbnNhY3Rpb247XG4gIHByb3RlY3RlZCBfdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xuICBwcml2YXRlIF9zaWdIYXNoOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGNhblNpZ24oa2V5OiBCYXNlS2V5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBhc3luYyBzaWduKGtleVBhaXI6IEtleVBhaXJbXSB8IEtleVBhaXIsIHNpZ0hhc2g/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBrZXlQYWlycyA9IGtleVBhaXIgaW5zdGFuY2VvZiBBcnJheSA/IGtleVBhaXIgOiBba2V5UGFpcl07XG4gICAgY29uc3Qgc2lnbmVyID0gbmV3IFRyYW5zYWN0aW9uU2lnbmVyKHRoaXMuX3N0eFRyYW5zYWN0aW9uKTtcbiAgICBzaWduZXIuY2hlY2tPdmVyc2lnbiA9IGZhbHNlO1xuICAgIHNpZ25lci5zaWdIYXNoID0gc2lnSGFzaCA/PyB0aGlzLl9zaWdIYXNoID8/IHRoaXMuX3N0eFRyYW5zYWN0aW9uLnZlcmlmeUJlZ2luKCk7XG4gICAgZm9yIChjb25zdCBrcCBvZiBrZXlQYWlycykge1xuICAgICAgY29uc3Qga2V5cyA9IGtwLmdldEtleXMoa3AuZ2V0Q29tcHJlc3NlZCgpKTtcbiAgICAgIGlmICgha2V5cy5wcnYpIHtcbiAgICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignTWlzc2luZyBwcml2YXRlIGtleScpO1xuICAgICAgfVxuICAgICAgY29uc3QgcHJpdktleSA9IGNyZWF0ZVN0YWNrc1ByaXZhdGVLZXkoa2V5cy5wcnYpO1xuICAgICAgc2lnbmVyLnNpZ25PcmlnaW4ocHJpdktleSk7XG4gICAgICB0aGlzLl9zaWdIYXNoID0gc2lnbmVyLnNpZ0hhc2g7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgYXBwZW5kT3JpZ2luKHB1YktleVN0cmluZzogc3RyaW5nW10gfCBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwdWJLZXlTdHJpbmdzID0gcHViS2V5U3RyaW5nIGluc3RhbmNlb2YgQXJyYXkgPyBwdWJLZXlTdHJpbmcgOiBbcHViS2V5U3RyaW5nXTtcbiAgICBjb25zdCBzaWduZXI6IFRyYW5zYWN0aW9uU2lnbmVyID0gbmV3IFRyYW5zYWN0aW9uU2lnbmVyKHRoaXMuX3N0eFRyYW5zYWN0aW9uKTtcbiAgICBwdWJLZXlTdHJpbmdzLmZvckVhY2goKHB1YktleSkgPT4ge1xuICAgICAgc2lnbmVyLmFwcGVuZE9yaWdpbihjcmVhdGVTdGFja3NQdWJsaWNLZXkocHViS2V5KSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBzaWduV2l0aFNpZ25hdHVyZXMoc2lnbmF0dXJlOiBTaWduYXR1cmVEYXRhW10gfCBTaWduYXR1cmVEYXRhLCBpc011bHRpU2lnOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFzaWduYXR1cmUpIHtcbiAgICAgIHRocm93IG5ldyBTaWduaW5nRXJyb3IoJ01pc3Npbmcgc2lnbmF0dXJlcycpO1xuICAgIH1cbiAgICBjb25zdCBzaWduYXR1cmVzID0gc2lnbmF0dXJlIGluc3RhbmNlb2YgQXJyYXkgPyBzaWduYXR1cmUgOiBbc2lnbmF0dXJlXTtcblxuICAgIGlmICghaXNNdWx0aVNpZykge1xuICAgICAgdGhpcy5fc3R4VHJhbnNhY3Rpb24gPSB0aGlzLl9zdHhUcmFuc2FjdGlvbi5jcmVhdGVUeFdpdGhTaWduYXR1cmUoc2lnbmF0dXJlc1swXS5kYXRhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYXV0aEZpZWxkcyA9IHNpZ25hdHVyZXMubWFwKChzaWcpID0+IGNyZWF0ZVRyYW5zYWN0aW9uQXV0aEZpZWxkKFB1YktleUVuY29kaW5nLkNvbXByZXNzZWQsIHNpZykpO1xuICAgICAgKHRoaXMuX3N0eFRyYW5zYWN0aW9uLmF1dGguc3BlbmRpbmdDb25kaXRpb24gYXMgTXVsdGlTaWdTcGVuZGluZ0NvbmRpdGlvbikuZmllbGRzID0gKFxuICAgICAgICB0aGlzLl9zdHhUcmFuc2FjdGlvbi5hdXRoLnNwZW5kaW5nQ29uZGl0aW9uIGFzIE11bHRpU2lnU3BlbmRpbmdDb25kaXRpb25cbiAgICAgICkuZmllbGRzLmNvbmNhdChhdXRoRmllbGRzKTtcbiAgICB9XG4gICAgaWYgKHNpZ25hdHVyZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fc2lnSGFzaCA9IHNpZ25hdHVyZXNbc2lnbmF0dXJlcy5sZW5ndGggLSAxXS5zaWdIYXNoO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzaWduYXR1cmUoKTogc3RyaW5nW10ge1xuICAgIGlmICh0aGlzLl9zdHhUcmFuc2FjdGlvbiAmJiB0aGlzLl9zdHhUcmFuc2FjdGlvbi5hdXRoLnNwZW5kaW5nQ29uZGl0aW9uKSB7XG4gICAgICBpZiAoaXNTaW5nbGVTaWcodGhpcy5fc3R4VHJhbnNhY3Rpb24uYXV0aC5zcGVuZGluZ0NvbmRpdGlvbikpIHtcbiAgICAgICAgcmV0dXJuIFt0aGlzLl9zdHhUcmFuc2FjdGlvbi5hdXRoLnNwZW5kaW5nQ29uZGl0aW9uLnNpZ25hdHVyZS5kYXRhXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHNpZ25hdHVyZXM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIHRoaXMuX3N0eFRyYW5zYWN0aW9uLmF1dGguc3BlbmRpbmdDb25kaXRpb24uZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgICAgICAgaWYgKGZpZWxkLmNvbnRlbnRzLnR5cGUgPT09IFN0YWNrc01lc3NhZ2VUeXBlLk1lc3NhZ2VTaWduYXR1cmUpIHtcbiAgICAgICAgICAgIHNpZ25hdHVyZXMucHVzaChmaWVsZC5jb250ZW50cy5kYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gc2lnbmF0dXJlcztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvSnNvbigpOiBUeERhdGEge1xuICAgIGlmICghdGhpcy5fc3R4VHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdDogVHhEYXRhID0ge1xuICAgICAgaWQ6IHRoaXMuX3N0eFRyYW5zYWN0aW9uLnR4aWQoKSxcbiAgICAgIGZlZTogdGhpcy5fc3R4VHJhbnNhY3Rpb24uYXV0aC5nZXRGZWUoKS50b1N0cmluZygxMCksXG4gICAgICBmcm9tOiBnZXRUeFNlbmRlckFkZHJlc3ModGhpcy5fc3R4VHJhbnNhY3Rpb24pLFxuICAgICAgbm9uY2U6IHRoaXMuZ2V0Tm9uY2UoKSxcbiAgICAgIHBheWxvYWQ6IHRoaXMuZ2V0UGF5bG9hZERhdGEoKSxcbiAgICB9O1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldFBheWxvYWREYXRhKCk6IFN0YWNrc1RyYW5zYWN0aW9uUGF5bG9hZCB8IFN0YWNrc0NvbnRyYWN0UGF5bG9hZCB7XG4gICAgaWYgKHRoaXMuX3N0eFRyYW5zYWN0aW9uLnBheWxvYWQucGF5bG9hZFR5cGUgPT09IFBheWxvYWRUeXBlLlRva2VuVHJhbnNmZXIpIHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSB0aGlzLl9zdHhUcmFuc2FjdGlvbi5wYXlsb2FkO1xuICAgICAgY29uc3QgdHhQYXlsb2FkOiBTdGFja3NUcmFuc2FjdGlvblBheWxvYWQgPSB7XG4gICAgICAgIHBheWxvYWRUeXBlOiBQYXlsb2FkVHlwZS5Ub2tlblRyYW5zZmVyLFxuICAgICAgICAvLyByZXN1bHQucGF5bG9hZC5tZW1vIHdpbGwgYmUgcGFkZGVkIHdpdGggXFx1MDAwMCB1cCB0b1xuICAgICAgICAvLyBNRU1PX01BWF9MRU5HVEhfQllURVMgYXMgZGVmaW5lZCBpbiBAc3RhY2tzL3RyYW5zYWN0aW9uc1xuICAgICAgICBtZW1vOiB1bnBhZE1lbW8ocGF5bG9hZC5tZW1vLmNvbnRlbnQpLFxuICAgICAgICB0bzogYWRkcmVzc1RvU3RyaW5nKHtcbiAgICAgICAgICB0eXBlOiBTdGFja3NNZXNzYWdlVHlwZS5BZGRyZXNzLFxuICAgICAgICAgIHZlcnNpb246IHBheWxvYWQucmVjaXBpZW50LmFkZHJlc3MudmVyc2lvbixcbiAgICAgICAgICBoYXNoMTYwOiBwYXlsb2FkLnJlY2lwaWVudC5hZGRyZXNzLmhhc2gxNjAudG9TdHJpbmcoKSxcbiAgICAgICAgfSksXG4gICAgICAgIGFtb3VudDogcGF5bG9hZC5hbW91bnQudG9TdHJpbmcoKSxcbiAgICAgIH07XG4gICAgICByZXR1cm4gdHhQYXlsb2FkO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fc3R4VHJhbnNhY3Rpb24ucGF5bG9hZC5wYXlsb2FkVHlwZSA9PT0gUGF5bG9hZFR5cGUuQ29udHJhY3RDYWxsKSB7XG4gICAgICBjb25zdCBwYXlsb2FkID0gdGhpcy5fc3R4VHJhbnNhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IGNvbnRyYWN0UGF5bG9hZDogU3RhY2tzQ29udHJhY3RQYXlsb2FkID0ge1xuICAgICAgICBwYXlsb2FkVHlwZTogUGF5bG9hZFR5cGUuQ29udHJhY3RDYWxsLFxuICAgICAgICBjb250cmFjdEFkZHJlc3M6IGFkZHJlc3NUb1N0cmluZyhwYXlsb2FkLmNvbnRyYWN0QWRkcmVzcyksXG4gICAgICAgIGNvbnRyYWN0TmFtZTogcGF5bG9hZC5jb250cmFjdE5hbWUuY29udGVudCxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBwYXlsb2FkLmZ1bmN0aW9uTmFtZS5jb250ZW50LFxuICAgICAgICBmdW5jdGlvbkFyZ3M6IHBheWxvYWQuZnVuY3Rpb25BcmdzLm1hcChzdHJpbmdpZnlDdiksXG4gICAgICB9O1xuICAgICAgcmV0dXJuIGNvbnRyYWN0UGF5bG9hZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IE5vdFN1cHBvcnRlZCgncGF5bG9hZCB0eXBlIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBsZW5ndGggb2YgYSB0cmFuc2FjdGlvbi4gIFRoaXMgaXMgbmVlZGVkIHRvIGNhbGN1bGF0ZVxuICAgKiB0aGUgdHJhbnNhY3Rpb24gZmVlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSBzaXplIGluIGJ5dGVzIG9mIHRoZSBzZXJpYWxpemVkIHRyYW5zYWN0aW9uXG4gICAqL1xuICB0cmFuc2FjdGlvblNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fc3R4VHJhbnNhY3Rpb24uc2VyaWFsaXplKCkubGVuZ3RoO1xuICB9XG5cbiAgdG9Ccm9hZGNhc3RGb3JtYXQoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX3N0eFRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc3R4VHJhbnNhY3Rpb24uc2VyaWFsaXplKCkudG9TdHJpbmcoJ2hleCcpO1xuICB9XG5cbiAgZ2V0IHN0eFRyYW5zYWN0aW9uKCk6IFN0YWNrc1RyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fc3R4VHJhbnNhY3Rpb247XG4gIH1cblxuICBzZXQgc3R4VHJhbnNhY3Rpb24odDogU3RhY2tzVHJhbnNhY3Rpb24pIHtcbiAgICB0aGlzLl9zdHhUcmFuc2FjdGlvbiA9IHQ7XG4gIH1cblxuICBwcml2YXRlIGdldE5vbmNlKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuX3N0eFRyYW5zYWN0aW9uLmF1dGguc3BlbmRpbmdDb25kaXRpb24pIHtcbiAgICAgIHJldHVybiBOdW1iZXIodGhpcy5fc3R4VHJhbnNhY3Rpb24uYXV0aC5zcGVuZGluZ0NvbmRpdGlvbi5ub25jZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignc3BlbmRpbmcgY29uZGl0aW9uIGlzIG51bGwnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGlzIHRyYW5zYWN0aW9uIHBheWxvYWRcbiAgICpcbiAgICogQHBhcmFtIHJhd1RyYW5zYWN0aW9uXG4gICAqL1xuICBmcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHJhdyA9IHJlbW92ZUhleFByZWZpeChyYXdUcmFuc2FjdGlvbik7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuX3N0eFRyYW5zYWN0aW9uID0gZGVzZXJpYWxpemVUcmFuc2FjdGlvbihCdWZmZXJSZWFkZXIuZnJvbUJ1ZmZlcihCdWZmZXIuZnJvbShyYXcsICdoZXgnKSkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ0Vycm9yIHBhcnNpbmcgdGhlIHJhdyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICB0aGlzLmxvYWRJbnB1dHNBbmRPdXRwdXRzKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0cmFuc2FjdGlvbiB0eXBlXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25UeXBlfSB0cmFuc2FjdGlvblR5cGUgVGhlIHRyYW5zYWN0aW9uIHR5cGUgdG8gYmUgc2V0XG4gICAqL1xuICBzZXRUcmFuc2FjdGlvblR5cGUodHJhbnNhY3Rpb25UeXBlOiBUcmFuc2FjdGlvblR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLl90eXBlID0gdHJhbnNhY3Rpb25UeXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgdGhlIGlucHV0IGFuZCBvdXRwdXQgZGF0YSBvbiB0aGlzIHRyYW5zYWN0aW9uIHVzaW5nIHRoZSB0cmFuc2FjdGlvbiBqc29uXG4gICAqIGlmIHRoZXJlIGFyZSBvdXRwdXRzLlxuICAgKi9cbiAgbG9hZElucHV0c0FuZE91dHB1dHMoKTogdm9pZCB7XG4gICAgY29uc3QgdHhKc29uID0gdGhpcy50b0pzb24oKTtcbiAgICBpZiAodHhKc29uLnBheWxvYWQucGF5bG9hZFR5cGUgPT09IFBheWxvYWRUeXBlLlRva2VuVHJhbnNmZXIpIHtcbiAgICAgIGlmICh0eEpzb24ucGF5bG9hZC50byAmJiB0eEpzb24ucGF5bG9hZC5hbW91bnQpIHtcbiAgICAgICAgdGhpcy5fb3V0cHV0cyA9IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhZGRyZXNzOiB0eEpzb24ucGF5bG9hZC50byxcbiAgICAgICAgICAgIHZhbHVlOiB0eEpzb24ucGF5bG9hZC5hbW91bnQsXG4gICAgICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcblxuICAgICAgICB0aGlzLl9pbnB1dHMgPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWRkcmVzczogdHhKc29uLmZyb20sXG4gICAgICAgICAgICB2YWx1ZTogdHhKc29uLnBheWxvYWQuYW1vdW50LFxuICAgICAgICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0eEpzb24ucGF5bG9hZC5wYXlsb2FkVHlwZSA9PT0gUGF5bG9hZFR5cGUuQ29udHJhY3RDYWxsKSB7XG4gICAgICBpZiAodHhKc29uLnBheWxvYWQuY29udHJhY3RBZGRyZXNzID09PSAodGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrIGFzIFN0YWNrc05ldHdvcmspLnNlbmRtYW55bWVtb0NvbnRyYWN0QWRkcmVzcykge1xuICAgICAgICBjb25zdCBzZW5kUGFyYW1zID0gZnVuY3Rpb25BcmdzVG9TZW5kUGFyYW1zKCh0aGlzLnN0eFRyYW5zYWN0aW9uLnBheWxvYWQgYXMgQ29udHJhY3RDYWxsUGF5bG9hZCkuZnVuY3Rpb25BcmdzKTtcbiAgICAgICAgY29uc3QgY29pbiA9IHRoaXMuX2NvaW5Db25maWcubmFtZTtcbiAgICAgICAgY29uc3Qgc3VtOiBCaWdOdW0gPSBzZW5kUGFyYW1zLnJlZHVjZSgoY3VycmVudCwgbmV4dCkgPT4gY3VycmVudC5hZGQobmV3IEJpZ051bShuZXh0LmFtb3VudCkpLCBuZXcgQmlnTnVtKDApKTtcbiAgICAgICAgdGhpcy5fb3V0cHV0cyA9IHNlbmRQYXJhbXMubWFwKChzZW5kUGFyYW0pID0+ICh7IGFkZHJlc3M6IHNlbmRQYXJhbS5hZGRyZXNzLCB2YWx1ZTogc2VuZFBhcmFtLmFtb3VudCwgY29pbiB9KSk7XG4gICAgICAgIHRoaXMuX2lucHV0cyA9IFt7IGFkZHJlc3M6IHR4SnNvbi5mcm9tLCB2YWx1ZTogc3VtLnRvU3RyaW5nKCksIGNvaW4gfV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9vdXRwdXRzID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFkZHJlc3M6IHR4SnNvbi5wYXlsb2FkLmNvbnRyYWN0QWRkcmVzcyxcbiAgICAgICAgICAgIHZhbHVlOiAnMCcsXG4gICAgICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcblxuICAgICAgICB0aGlzLl9pbnB1dHMgPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWRkcmVzczogdHhKc29uLmZyb20sXG4gICAgICAgICAgICB2YWx1ZTogJzAnLFxuICAgICAgICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
2
|
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
3
3
|
import { StacksNetwork } from '@stacks/network';
|
|
4
|
-
import { BaseTransactionBuilder } from '
|
|
5
|
-
import { BaseAddress, BaseFee, BaseKey } from '../baseCoin/iface';
|
|
4
|
+
import { BaseAddress, BaseFee, BaseKey, BaseTransactionBuilder } from '@bitgo/sdk-core';
|
|
6
5
|
import { Transaction } from './transaction';
|
|
7
6
|
import { KeyPair } from './keyPair';
|
|
8
7
|
import { SignatureData } from './iface';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/stx/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAe,MAAM,gBAAgB,CAAC;AAarE,OAAO,EAAE,aAAa,EAAgC,MAAM,iBAAiB,CAAC;AAC9E,OAAO,
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/stx/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAe,MAAM,gBAAgB,CAAC;AAarE,OAAO,EAAE,aAAa,EAAgC,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EACL,WAAW,EACX,OAAO,EACP,OAAO,EACP,sBAAsB,EAOvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIxC,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,OAAO,CAAC,YAAY,CAAc;IAClC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC;IAC1C,SAAS,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC;IACvC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC;IAClC,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;gBAErB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAW7C;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IA2ClC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAYjE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAwB3D,OAAO,CAAC,YAAY,CAC8B;IAClD,OAAO,CAAC,aAAa,CACoF;IAEzG,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAmBvD,kBAAkB;IAClB,SAAS,KAAK,WAAW,IAAI,WAAW,CAEvC;IAED,kBAAkB;IAClB,SAAS,KAAK,WAAW,CAAC,WAAW,EAAE,WAAW,EAEjD;IAED;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAMvB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAajD;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQxB;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAOxC,kBAAkB;IAClB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnE,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAO/B,kBAAkB;IAClB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAWpD,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI;IAKpD,kBAAkB;IAClB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAMrC;;OAEG;IACH,OAAO,CAAC,WAAW;IAWnB;;OAEG;IACH,OAAO,CAAC,aAAa;CAUtB"}
|