@bitgo/account-lib 2.20.0-rc.30 → 2.20.0-rc.33
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 +29 -0
- package/dist/resources/README.md +0 -22
- package/dist/src/coin/hbar/coinTransferBuilder.js +2 -2
- package/dist/src/coin/hbar/iface.d.ts +21 -4
- package/dist/src/coin/hbar/iface.d.ts.map +1 -1
- package/dist/src/coin/hbar/iface.js +1 -1
- package/dist/src/coin/hbar/index.d.ts +3 -0
- package/dist/src/coin/hbar/index.d.ts.map +1 -1
- package/dist/src/coin/hbar/index.js +8 -2
- package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts +4 -1
- package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts.map +1 -1
- package/dist/src/coin/hbar/tokenAssociateBuilder.js +18 -10
- package/dist/src/coin/hbar/tokenTransferBuilder.js +2 -2
- package/dist/src/coin/hbar/transaction.d.ts +10 -2
- package/dist/src/coin/hbar/transaction.d.ts.map +1 -1
- package/dist/src/coin/hbar/transaction.js +76 -29
- package/dist/src/coin/hbar/utils.d.ts +0 -1
- package/dist/src/coin/hbar/utils.d.ts.map +1 -1
- package/dist/src/coin/hbar/utils.js +1 -2
- package/dist/src/index.d.ts +20 -10
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +27 -17
- package/dist/tsconfig.tsbuildinfo +6757 -19435
- package/package.json +19 -32
- 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 -337
- 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 -7
- package/dist/src/coin/avaxc/index.d.ts.map +0 -1
- package/dist/src/coin/avaxc/index.js +0 -34
- 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 -38
- 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/celo/index.d.ts +0 -7
- package/dist/src/coin/celo/index.d.ts.map +0 -1
- package/dist/src/coin/celo/index.js +0 -34
- 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 -276
- 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 -9
- 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 -85
- package/dist/src/coin/celo/transactionBuilder.d.ts.map +0 -1
- package/dist/src/coin/celo/transactionBuilder.js +0 -208
- 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 -51
- 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 -6
- package/dist/src/coin/cspr/index.d.ts.map +0 -1
- package/dist/src/coin/cspr/index.js +0 -31
- 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 -477
- 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/etc/index.d.ts +0 -6
- package/dist/src/coin/etc/index.d.ts.map +0 -1
- package/dist/src/coin/etc/index.js +0 -33
- 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 -17
- 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 -201
- package/dist/src/coin/eth/utils.d.ts.map +0 -1
- package/dist/src/coin/eth/utils.js +0 -486
- package/dist/src/coin/eth/walletUtil.d.ts +0 -21
- package/dist/src/coin/eth/walletUtil.d.ts.map +0 -1
- package/dist/src/coin/eth/walletUtil.js +0 -31
- 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/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 -85
- 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 -6
- package/dist/src/coin/rbtc/index.d.ts.map +0 -1
- package/dist/src/coin/rbtc/index.js +0 -33
- 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 -17
- 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 -41
- package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +0 -1
- package/dist/src/coin/sol/ataInitializationBuilder.js +0 -110
- 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 -503
- 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/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/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,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.Utils = exports.TransferBuilder = exports.TransactionBuilder = exports.Transaction = exports.Interface = exports.KeyPair = void 0;
|
|
23
|
-
var sdk_coin_eth_1 = require("@bitgo/sdk-coin-eth");
|
|
24
|
-
Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return sdk_coin_eth_1.KeyPair; } });
|
|
25
|
-
Object.defineProperty(exports, "Interface", { enumerable: true, get: function () { return sdk_coin_eth_1.Interface; } });
|
|
26
|
-
var transaction_1 = require("./transaction");
|
|
27
|
-
Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
|
|
28
|
-
var transactionBuilder_1 = require("./transactionBuilder");
|
|
29
|
-
Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
|
|
30
|
-
var transferBuilder_1 = require("./transferBuilder");
|
|
31
|
-
Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
|
|
32
|
-
const Utils = __importStar(require("./utils"));
|
|
33
|
-
exports.Utils = Utils;
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9jZWxvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBeUQ7QUFBaEQsdUdBQUEsT0FBTyxPQUFBO0FBQUUseUdBQUEsU0FBUyxPQUFBO0FBQzNCLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIsMkRBQTBEO0FBQWpELHdIQUFBLGtCQUFrQixPQUFBO0FBQzNCLHFEQUFvRDtBQUEzQyxrSEFBQSxlQUFlLE9BQUE7QUFFeEIsK0NBQWlDO0FBRXhCLHNCQUFLIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgS2V5UGFpciwgSW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLWV0aCc7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuXG5pbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHsgVXRpbHMgfTtcbiJdfQ==
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import EthereumCommon from '@ethereumjs/common';
|
|
2
|
-
/**
|
|
3
|
-
* A Common object defining the chain and the hardfork for CELO Testnet
|
|
4
|
-
*/
|
|
5
|
-
export declare const testnetCommon: EthereumCommon;
|
|
6
|
-
/**
|
|
7
|
-
* A Common object defining the chain and the hardfork for CELO Mainnet
|
|
8
|
-
*/
|
|
9
|
-
export declare const mainnetCommon: EthereumCommon;
|
|
10
|
-
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../../src/coin/celo/resources.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,aAAa,gBAQzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,gBAQzB,CAAC"}
|
|
@@ -1,26 +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.mainnetCommon = exports.testnetCommon = void 0;
|
|
7
|
-
const statics_1 = require("@bitgo/statics");
|
|
8
|
-
const common_1 = __importDefault(require("@ethereumjs/common"));
|
|
9
|
-
/**
|
|
10
|
-
* A Common object defining the chain and the hardfork for CELO Testnet
|
|
11
|
-
*/
|
|
12
|
-
exports.testnetCommon = common_1.default.forCustomChain('mainnet', // It's a test net based on the main ethereum net
|
|
13
|
-
{
|
|
14
|
-
name: 'alfajores',
|
|
15
|
-
networkId: statics_1.coins.get('tcelo').network.chainId,
|
|
16
|
-
chainId: statics_1.coins.get('tcelo').network.chainId,
|
|
17
|
-
}, 'petersburg');
|
|
18
|
-
/**
|
|
19
|
-
* A Common object defining the chain and the hardfork for CELO Mainnet
|
|
20
|
-
*/
|
|
21
|
-
exports.mainnetCommon = common_1.default.forCustomChain('mainnet', {
|
|
22
|
-
name: 'rc1',
|
|
23
|
-
networkId: statics_1.coins.get('celo').network.chainId,
|
|
24
|
-
chainId: statics_1.coins.get('celo').network.chainId,
|
|
25
|
-
}, 'petersburg');
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vY2Vsby9yZXNvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNENBQXdEO0FBQ3hELGdFQUFnRDtBQUVoRDs7R0FFRztBQUNVLFFBQUEsYUFBYSxHQUFHLGdCQUFjLENBQUMsY0FBYyxDQUN4RCxTQUFTLEVBQUUsaURBQWlEO0FBQzVEO0lBQ0UsSUFBSSxFQUFFLFdBQVc7SUFDakIsU0FBUyxFQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBMkIsQ0FBQyxPQUFPO0lBQ2xFLE9BQU8sRUFBRyxlQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQTJCLENBQUMsT0FBTztDQUNqRSxFQUNELFlBQVksQ0FDYixDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLGFBQWEsR0FBRyxnQkFBYyxDQUFDLGNBQWMsQ0FDeEQsU0FBUyxFQUNUO0lBQ0UsSUFBSSxFQUFFLEtBQUs7SUFDWCxTQUFTLEVBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUEyQixDQUFDLE9BQU87SUFDakUsT0FBTyxFQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBMkIsQ0FBQyxPQUFPO0NBQ2hFLEVBQ0QsWUFBWSxDQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2lucywgRXRoZXJldW1OZXR3b3JrIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IEV0aGVyZXVtQ29tbW9uIGZyb20gJ0BldGhlcmV1bWpzL2NvbW1vbic7XG5cbi8qKlxuICogQSBDb21tb24gb2JqZWN0IGRlZmluaW5nIHRoZSBjaGFpbiBhbmQgdGhlIGhhcmRmb3JrIGZvciBDRUxPIFRlc3RuZXRcbiAqL1xuZXhwb3J0IGNvbnN0IHRlc3RuZXRDb21tb24gPSBFdGhlcmV1bUNvbW1vbi5mb3JDdXN0b21DaGFpbihcbiAgJ21haW5uZXQnLCAvLyBJdCdzIGEgdGVzdCBuZXQgYmFzZWQgb24gdGhlIG1haW4gZXRoZXJldW0gbmV0XG4gIHtcbiAgICBuYW1lOiAnYWxmYWpvcmVzJyxcbiAgICBuZXR3b3JrSWQ6IChjb2lucy5nZXQoJ3RjZWxvJykubmV0d29yayBhcyBFdGhlcmV1bU5ldHdvcmspLmNoYWluSWQsXG4gICAgY2hhaW5JZDogKGNvaW5zLmdldCgndGNlbG8nKS5uZXR3b3JrIGFzIEV0aGVyZXVtTmV0d29yaykuY2hhaW5JZCxcbiAgfSxcbiAgJ3BldGVyc2J1cmcnLFxuKTtcblxuLyoqXG4gKiBBIENvbW1vbiBvYmplY3QgZGVmaW5pbmcgdGhlIGNoYWluIGFuZCB0aGUgaGFyZGZvcmsgZm9yIENFTE8gTWFpbm5ldFxuICovXG5leHBvcnQgY29uc3QgbWFpbm5ldENvbW1vbiA9IEV0aGVyZXVtQ29tbW9uLmZvckN1c3RvbUNoYWluKFxuICAnbWFpbm5ldCcsXG4gIHtcbiAgICBuYW1lOiAncmMxJyxcbiAgICBuZXR3b3JrSWQ6IChjb2lucy5nZXQoJ2NlbG8nKS5uZXR3b3JrIGFzIEV0aGVyZXVtTmV0d29yaykuY2hhaW5JZCxcbiAgICBjaGFpbklkOiAoY29pbnMuZ2V0KCdjZWxvJykubmV0d29yayBhcyBFdGhlcmV1bU5ldHdvcmspLmNoYWluSWQsXG4gIH0sXG4gICdwZXRlcnNidXJnJyxcbik7XG4iXX0=
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
-
import { StakingOperationTypes } from '@bitgo/sdk-core';
|
|
3
|
-
import { StakingCall } from './stakingCall';
|
|
4
|
-
export declare class StakingBuilder {
|
|
5
|
-
private readonly DEFAULT_ADDRESS;
|
|
6
|
-
private _amount;
|
|
7
|
-
private _validatorGroup;
|
|
8
|
-
private _lesser;
|
|
9
|
-
private _greater;
|
|
10
|
-
private _index;
|
|
11
|
-
private _type;
|
|
12
|
-
private _coinConfig;
|
|
13
|
-
constructor(coinConfig: Readonly<CoinConfig>, serializedData?: string);
|
|
14
|
-
type(type: StakingOperationTypes): this;
|
|
15
|
-
amount(value: string): this;
|
|
16
|
-
group(validatorGroup: string): this;
|
|
17
|
-
lesser(lesser: string): this;
|
|
18
|
-
greater(greater: string): this;
|
|
19
|
-
index(index: number): this;
|
|
20
|
-
build(): StakingCall;
|
|
21
|
-
/**
|
|
22
|
-
* Builds a lock gold operation sending the amount on the transaction value field
|
|
23
|
-
*
|
|
24
|
-
* @returns {StakingCall} a lock gold operation using the LockedGold contract
|
|
25
|
-
*/
|
|
26
|
-
private buildLockStaking;
|
|
27
|
-
/**
|
|
28
|
-
* Builds an unlock gold operation sending the amount encoded on the data field
|
|
29
|
-
*
|
|
30
|
-
* params
|
|
31
|
-
* amount: amount of locked gold to be unlocked
|
|
32
|
-
*
|
|
33
|
-
* @returns {StakingCall} an unlock gold operation using the LockedGold contract
|
|
34
|
-
*/
|
|
35
|
-
private buildUnlockStaking;
|
|
36
|
-
/**
|
|
37
|
-
* Builds a vote operation that uses locked gold to add pending votes for a validator group.
|
|
38
|
-
*
|
|
39
|
-
* params
|
|
40
|
-
* validatorGroup: group to vote for
|
|
41
|
-
* amount: amount of votes (locked gold) for the group
|
|
42
|
-
* lesser: validator group that has less votes than the validatorGroup
|
|
43
|
-
* greater: validator group that has more vots than the validatorGroup
|
|
44
|
-
*
|
|
45
|
-
* @returns {StakingCall} an vote operation using the Election contract
|
|
46
|
-
*/
|
|
47
|
-
private buildVoteStaking;
|
|
48
|
-
/**
|
|
49
|
-
* Builds an unvote operation to revoke active votes for a validator group.
|
|
50
|
-
*
|
|
51
|
-
* params
|
|
52
|
-
* validatorGroup: group whose votes will be revoked
|
|
53
|
-
* amount: amount of votes (locked gold) that will be revoked
|
|
54
|
-
* lesser: validator group that has less votes than the validatorGroup
|
|
55
|
-
* greater: validator group that has more vots than the validatorGroup
|
|
56
|
-
* index: index of the validatorGroup on the list of groups the address has voted for
|
|
57
|
-
*
|
|
58
|
-
* @returns {StakingCall} an vote operation using the Election contract
|
|
59
|
-
*/
|
|
60
|
-
private buildUnvoteStaking;
|
|
61
|
-
/**
|
|
62
|
-
* Builds an activate vote operation to change all the votes casted for a validator
|
|
63
|
-
* from 'pending' to 'active'
|
|
64
|
-
*
|
|
65
|
-
* params
|
|
66
|
-
* validatorGroup: group whose votes will be activated
|
|
67
|
-
*
|
|
68
|
-
* @returns {StakingCall} an activate votes operation
|
|
69
|
-
*/
|
|
70
|
-
private buildActivateStaking;
|
|
71
|
-
/**
|
|
72
|
-
* Builds a withdraw operation for locked gold that has been unlocked
|
|
73
|
-
* after the unlocking period has passed.
|
|
74
|
-
*
|
|
75
|
-
* params
|
|
76
|
-
* index: index of the unlock operation whose unlocking period has passed.
|
|
77
|
-
*
|
|
78
|
-
* @returns {StakingCall} an activate votes operation
|
|
79
|
-
*/
|
|
80
|
-
private buildWithdrawStaking;
|
|
81
|
-
private validateMandatoryFields;
|
|
82
|
-
private validateElectionFields;
|
|
83
|
-
private validateIndex;
|
|
84
|
-
private validateAmount;
|
|
85
|
-
private validateUnvoteFields;
|
|
86
|
-
private validateGroup;
|
|
87
|
-
private decodeStakingData;
|
|
88
|
-
private validateDecodedDataLength;
|
|
89
|
-
private classifyStakingType;
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=stakingBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stakingBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/celo/stakingBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAQxD,OAAO,EAML,qBAAqB,EAKtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgD;IAChF,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,WAAW,CAAuB;gBAE9B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,EAAE,MAAM;IASrE,IAAI,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAKvC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ3B,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAQnC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ5B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQ9B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAY1B,KAAK,IAAI,WAAW;IA0BpB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,iBAAiB;IA6CzB,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,mBAAmB;CAiB5B"}
|
|
@@ -1,276 +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.StakingBuilder = void 0;
|
|
7
|
-
const ethereumjs_utils_old_1 = __importDefault(require("@bitgo/ethereumjs-utils-old"));
|
|
8
|
-
const sdk_coin_eth_1 = require("@bitgo/sdk-coin-eth");
|
|
9
|
-
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
10
|
-
const stakingCall_1 = require("./stakingCall");
|
|
11
|
-
class StakingBuilder {
|
|
12
|
-
constructor(coinConfig, serializedData) {
|
|
13
|
-
this.DEFAULT_ADDRESS = '0x0000000000000000000000000000000000000000';
|
|
14
|
-
this._lesser = this.DEFAULT_ADDRESS;
|
|
15
|
-
this._greater = this.DEFAULT_ADDRESS;
|
|
16
|
-
this._coinConfig = coinConfig;
|
|
17
|
-
if (serializedData) {
|
|
18
|
-
this.decodeStakingData(serializedData);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
// region Staking properties
|
|
22
|
-
type(type) {
|
|
23
|
-
this._type = type;
|
|
24
|
-
return this;
|
|
25
|
-
}
|
|
26
|
-
amount(value) {
|
|
27
|
-
if (!sdk_coin_eth_1.isValidAmount(value)) {
|
|
28
|
-
throw new sdk_core_1.InvalidParameterValueError('Invalid value for stake transaction');
|
|
29
|
-
}
|
|
30
|
-
this._amount = value;
|
|
31
|
-
return this;
|
|
32
|
-
}
|
|
33
|
-
group(validatorGroup) {
|
|
34
|
-
if (!sdk_coin_eth_1.isValidEthAddress(validatorGroup)) {
|
|
35
|
-
throw new sdk_core_1.InvalidParameterValueError('Invalid validator group address');
|
|
36
|
-
}
|
|
37
|
-
this._validatorGroup = validatorGroup;
|
|
38
|
-
return this;
|
|
39
|
-
}
|
|
40
|
-
lesser(lesser) {
|
|
41
|
-
if (!sdk_coin_eth_1.isValidEthAddress(lesser)) {
|
|
42
|
-
throw new sdk_core_1.InvalidParameterValueError('Invalid address for lesser');
|
|
43
|
-
}
|
|
44
|
-
this._lesser = lesser;
|
|
45
|
-
return this;
|
|
46
|
-
}
|
|
47
|
-
greater(greater) {
|
|
48
|
-
if (!sdk_coin_eth_1.isValidEthAddress(greater)) {
|
|
49
|
-
throw new sdk_core_1.InvalidParameterValueError('Invalid address for greater');
|
|
50
|
-
}
|
|
51
|
-
this._greater = greater;
|
|
52
|
-
return this;
|
|
53
|
-
}
|
|
54
|
-
index(index) {
|
|
55
|
-
if (index < 0) {
|
|
56
|
-
throw new sdk_core_1.InvalidParameterValueError('Invalid index for staking transaction');
|
|
57
|
-
}
|
|
58
|
-
this._index = index;
|
|
59
|
-
return this;
|
|
60
|
-
}
|
|
61
|
-
// endregion
|
|
62
|
-
// region Staking building
|
|
63
|
-
build() {
|
|
64
|
-
this.validateMandatoryFields();
|
|
65
|
-
switch (this._type) {
|
|
66
|
-
case sdk_core_1.StakingOperationTypes.LOCK:
|
|
67
|
-
this.validateAmount();
|
|
68
|
-
return this.buildLockStaking();
|
|
69
|
-
case sdk_core_1.StakingOperationTypes.VOTE:
|
|
70
|
-
this.validateElectionFields();
|
|
71
|
-
return this.buildVoteStaking();
|
|
72
|
-
case sdk_core_1.StakingOperationTypes.ACTIVATE:
|
|
73
|
-
this.validateGroup();
|
|
74
|
-
return this.buildActivateStaking();
|
|
75
|
-
case sdk_core_1.StakingOperationTypes.UNVOTE:
|
|
76
|
-
this.validateUnvoteFields();
|
|
77
|
-
return this.buildUnvoteStaking();
|
|
78
|
-
case sdk_core_1.StakingOperationTypes.UNLOCK:
|
|
79
|
-
this.validateAmount();
|
|
80
|
-
return this.buildUnlockStaking();
|
|
81
|
-
case sdk_core_1.StakingOperationTypes.WITHDRAW:
|
|
82
|
-
this.validateIndex();
|
|
83
|
-
return this.buildWithdrawStaking();
|
|
84
|
-
default:
|
|
85
|
-
throw new sdk_core_1.InvalidTransactionError('Invalid staking operation: ' + this._type);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Builds a lock gold operation sending the amount on the transaction value field
|
|
90
|
-
*
|
|
91
|
-
* @returns {StakingCall} a lock gold operation using the LockedGold contract
|
|
92
|
-
*/
|
|
93
|
-
buildLockStaking() {
|
|
94
|
-
const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
95
|
-
return new stakingCall_1.StakingCall(this._amount, operation.contractAddress, operation.methodId, operation.types, []);
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Builds an unlock gold operation sending the amount encoded on the data field
|
|
99
|
-
*
|
|
100
|
-
* params
|
|
101
|
-
* amount: amount of locked gold to be unlocked
|
|
102
|
-
*
|
|
103
|
-
* @returns {StakingCall} an unlock gold operation using the LockedGold contract
|
|
104
|
-
*/
|
|
105
|
-
buildUnlockStaking() {
|
|
106
|
-
const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
107
|
-
const params = [this._amount];
|
|
108
|
-
return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Builds a vote operation that uses locked gold to add pending votes for a validator group.
|
|
112
|
-
*
|
|
113
|
-
* params
|
|
114
|
-
* validatorGroup: group to vote for
|
|
115
|
-
* amount: amount of votes (locked gold) for the group
|
|
116
|
-
* lesser: validator group that has less votes than the validatorGroup
|
|
117
|
-
* greater: validator group that has more vots than the validatorGroup
|
|
118
|
-
*
|
|
119
|
-
* @returns {StakingCall} an vote operation using the Election contract
|
|
120
|
-
*/
|
|
121
|
-
buildVoteStaking() {
|
|
122
|
-
const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
123
|
-
const params = [this._validatorGroup, this._amount, this._lesser, this._greater];
|
|
124
|
-
return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Builds an unvote operation to revoke active votes for a validator group.
|
|
128
|
-
*
|
|
129
|
-
* params
|
|
130
|
-
* validatorGroup: group whose votes will be revoked
|
|
131
|
-
* amount: amount of votes (locked gold) that will be revoked
|
|
132
|
-
* lesser: validator group that has less votes than the validatorGroup
|
|
133
|
-
* greater: validator group that has more vots than the validatorGroup
|
|
134
|
-
* index: index of the validatorGroup on the list of groups the address has voted for
|
|
135
|
-
*
|
|
136
|
-
* @returns {StakingCall} an vote operation using the Election contract
|
|
137
|
-
*/
|
|
138
|
-
buildUnvoteStaking() {
|
|
139
|
-
const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
140
|
-
const params = [this._validatorGroup, this._amount, this._lesser, this._greater, this._index.toString()];
|
|
141
|
-
return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Builds an activate vote operation to change all the votes casted for a validator
|
|
145
|
-
* from 'pending' to 'active'
|
|
146
|
-
*
|
|
147
|
-
* params
|
|
148
|
-
* validatorGroup: group whose votes will be activated
|
|
149
|
-
*
|
|
150
|
-
* @returns {StakingCall} an activate votes operation
|
|
151
|
-
*/
|
|
152
|
-
buildActivateStaking() {
|
|
153
|
-
const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
154
|
-
const params = [this._validatorGroup];
|
|
155
|
-
return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Builds a withdraw operation for locked gold that has been unlocked
|
|
159
|
-
* after the unlocking period has passed.
|
|
160
|
-
*
|
|
161
|
-
* params
|
|
162
|
-
* index: index of the unlock operation whose unlocking period has passed.
|
|
163
|
-
*
|
|
164
|
-
* @returns {StakingCall} an activate votes operation
|
|
165
|
-
*/
|
|
166
|
-
buildWithdrawStaking() {
|
|
167
|
-
const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
168
|
-
const params = [this._index.toString()];
|
|
169
|
-
return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
|
|
170
|
-
}
|
|
171
|
-
// endregion
|
|
172
|
-
// region Validation methods
|
|
173
|
-
validateMandatoryFields() {
|
|
174
|
-
if (!(this._type !== undefined && this._coinConfig)) {
|
|
175
|
-
throw new sdk_core_1.BuildTransactionError('Missing staking mandatory fields. Type and coin are required');
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
validateElectionFields() {
|
|
179
|
-
this.validateGroup();
|
|
180
|
-
this.validateAmount();
|
|
181
|
-
if (this._lesser === this._greater) {
|
|
182
|
-
throw new sdk_core_1.BuildTransactionError('Greater and lesser values should not be the same');
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
validateIndex() {
|
|
186
|
-
if (this._index === undefined) {
|
|
187
|
-
throw new sdk_core_1.BuildTransactionError('Missing index for staking transaction');
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
validateAmount() {
|
|
191
|
-
if (this._amount === undefined) {
|
|
192
|
-
throw new sdk_core_1.BuildTransactionError('Missing amount for staking transaction');
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
validateUnvoteFields() {
|
|
196
|
-
this.validateElectionFields();
|
|
197
|
-
this.validateIndex();
|
|
198
|
-
}
|
|
199
|
-
validateGroup() {
|
|
200
|
-
if (!this._validatorGroup) {
|
|
201
|
-
throw new sdk_core_1.BuildTransactionError('Missing validator group for staking transaction');
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
// endregion
|
|
205
|
-
// region Deserialization methods
|
|
206
|
-
decodeStakingData(data) {
|
|
207
|
-
this.classifyStakingType(data);
|
|
208
|
-
const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
209
|
-
const decoded = sdk_coin_eth_1.getRawDecoded(operation.types, sdk_coin_eth_1.getBufferedByteCode(operation.methodId, data));
|
|
210
|
-
switch (this._type) {
|
|
211
|
-
case sdk_core_1.StakingOperationTypes.VOTE:
|
|
212
|
-
this.validateDecodedDataLength(decoded.length, 4, data);
|
|
213
|
-
const [groupToVote, amount, lesser, greater] = decoded;
|
|
214
|
-
this._amount = ethereumjs_utils_old_1.default.bufferToHex(amount);
|
|
215
|
-
this._validatorGroup = ethereumjs_utils_old_1.default.addHexPrefix(groupToVote);
|
|
216
|
-
this._lesser = ethereumjs_utils_old_1.default.addHexPrefix(lesser);
|
|
217
|
-
this._greater = ethereumjs_utils_old_1.default.addHexPrefix(greater);
|
|
218
|
-
break;
|
|
219
|
-
case sdk_core_1.StakingOperationTypes.UNVOTE:
|
|
220
|
-
this.validateDecodedDataLength(decoded.length, 5, data);
|
|
221
|
-
const [groupToUnvote, amountUnvote, lesserUnvote, greaterUnvote, indexUnvote] = decoded;
|
|
222
|
-
this._validatorGroup = ethereumjs_utils_old_1.default.addHexPrefix(groupToUnvote);
|
|
223
|
-
this._amount = ethereumjs_utils_old_1.default.bufferToHex(amountUnvote);
|
|
224
|
-
this._lesser = ethereumjs_utils_old_1.default.addHexPrefix(lesserUnvote);
|
|
225
|
-
this._greater = ethereumjs_utils_old_1.default.addHexPrefix(greaterUnvote);
|
|
226
|
-
this._index = sdk_coin_eth_1.hexStringToNumber(ethereumjs_utils_old_1.default.bufferToHex(indexUnvote));
|
|
227
|
-
break;
|
|
228
|
-
case sdk_core_1.StakingOperationTypes.ACTIVATE:
|
|
229
|
-
this.validateDecodedDataLength(decoded.length, 1, data);
|
|
230
|
-
const [groupToActivate] = decoded;
|
|
231
|
-
this._validatorGroup = ethereumjs_utils_old_1.default.addHexPrefix(groupToActivate);
|
|
232
|
-
break;
|
|
233
|
-
case sdk_core_1.StakingOperationTypes.UNLOCK:
|
|
234
|
-
if (decoded.length !== 1) {
|
|
235
|
-
throw new sdk_core_1.BuildTransactionError(`Invalid unlock decoded data: ${data}`);
|
|
236
|
-
}
|
|
237
|
-
const [decodedAmount] = decoded;
|
|
238
|
-
this._amount = ethereumjs_utils_old_1.default.bufferToHex(decodedAmount);
|
|
239
|
-
break;
|
|
240
|
-
case sdk_core_1.StakingOperationTypes.WITHDRAW:
|
|
241
|
-
this.validateDecodedDataLength(decoded.length, 1, data);
|
|
242
|
-
const [index] = decoded;
|
|
243
|
-
this._index = sdk_coin_eth_1.hexStringToNumber(ethereumjs_utils_old_1.default.bufferToHex(index));
|
|
244
|
-
break;
|
|
245
|
-
default:
|
|
246
|
-
throw new sdk_core_1.BuildTransactionError(`Invalid staking data: ${this._type}`);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
validateDecodedDataLength(actual, expected, data) {
|
|
250
|
-
if (actual !== expected) {
|
|
251
|
-
throw new sdk_core_1.BuildTransactionError(`Invalid staking decoded data: ${data}`);
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
classifyStakingType(data) {
|
|
255
|
-
if (data.startsWith(sdk_core_1.VoteMethodId)) {
|
|
256
|
-
this._type = sdk_core_1.StakingOperationTypes.VOTE;
|
|
257
|
-
}
|
|
258
|
-
else if (data.startsWith(sdk_core_1.UnvoteMethodId)) {
|
|
259
|
-
this._type = sdk_core_1.StakingOperationTypes.UNVOTE;
|
|
260
|
-
}
|
|
261
|
-
else if (data.startsWith(sdk_core_1.ActivateMethodId)) {
|
|
262
|
-
this._type = sdk_core_1.StakingOperationTypes.ACTIVATE;
|
|
263
|
-
}
|
|
264
|
-
else if (data.startsWith(sdk_core_1.UnlockMethodId)) {
|
|
265
|
-
this._type = sdk_core_1.StakingOperationTypes.UNLOCK;
|
|
266
|
-
}
|
|
267
|
-
else if (data.startsWith(sdk_core_1.WithdrawMethodId)) {
|
|
268
|
-
this._type = sdk_core_1.StakingOperationTypes.WITHDRAW;
|
|
269
|
-
}
|
|
270
|
-
else {
|
|
271
|
-
throw new sdk_core_1.BuildTransactionError(`Invalid staking bytecode: ${data}`);
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
exports.StakingBuilder = StakingBuilder;
|
|
276
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9jZWxvL3N0YWtpbmdCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHVGQUFrRDtBQUVsRCxzREFNNkI7QUFDN0IsOENBV3lCO0FBQ3pCLCtDQUE0QztBQUU1QyxNQUFhLGNBQWM7SUFVekIsWUFBWSxVQUFnQyxFQUFFLGNBQXVCO1FBVHBELG9CQUFlLEdBQUcsNENBQTRDLENBQUM7UUFHeEUsWUFBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDL0IsYUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFNdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVELDRCQUE0QjtJQUU1QixJQUFJLENBQUMsSUFBMkI7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLDRCQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekIsTUFBTSxJQUFJLHFDQUEwQixDQUFDLHFDQUFxQyxDQUFDLENBQUM7U0FDN0U7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBc0I7UUFDMUIsSUFBSSxDQUFDLGdDQUFpQixDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxxQ0FBMEIsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3pFO1FBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDdEMsT0FBTyxJQUFJ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LENBQUMsdUJBQVksQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsZ0NBQXFCLENBQUMsSUFBSSxDQUFDO1NBQ3pDO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLHlCQUFjLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLGdDQUFxQixDQUFDLE1BQU0sQ0FBQztTQUMzQzthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBZ0IsQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsZ0NBQXFCLENBQUMsUUFBUSxDQUFDO1NBQzdDO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLHlCQUFjLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLGdDQUFxQixDQUFDLE1BQU0sQ0FBQztTQUMzQzthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBZ0IsQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsZ0NBQXFCLENBQUMsUUFBUSxDQUFDO1NBQzdDO2FBQU07WUFDTCxNQUFNLElBQUksZ0NBQXFCLENBQUMsNkJBQTZCLElBQUksRUFBRSxDQUFDLENBQUM7U0FDdEU7SUFDSCxDQUFDO0NBR0Y7QUF2U0Qsd0NBdVNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGV0aFV0aWwgZnJvbSAnQGJpdGdvL2V0aGVyZXVtanMtdXRpbHMtb2xkJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQge1xuICBpc1ZhbGlkQW1vdW50LFxuICBpc1ZhbGlkRXRoQWRkcmVzcyxcbiAgZ2V0UmF3RGVjb2RlZCxcbiAgZ2V0QnVmZmVyZWRCeXRlQ29kZSxcbiAgaGV4U3RyaW5nVG9OdW1iZXIsXG59IGZyb20gJ0BiaXRnby9zZGstY29pbi1ldGgnO1xuaW1wb3J0IHtcbiAgQWN0aXZhdGVNZXRob2RJZCxcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBnZXRPcGVyYXRpb25Db25maWcsXG4gIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgU3Rha2luZ09wZXJhdGlvblR5cGVzLFxuICBVbmxvY2tNZXRob2RJZCxcbiAgVW52b3RlTWV0aG9kSWQsXG4gIFZvdGVNZXRob2RJZCxcbiAgV2l0aGRyYXdNZXRob2RJZCxcbn0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IFN0YWtpbmdDYWxsIH0gZnJvbSAnLi9zdGFraW5nQ2FsbCc7XG5cbmV4cG9ydCBjbGFzcyBTdGFraW5nQnVpbGRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9BRERSRVNTID0gJzB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7XG4gIHByaXZhdGUgX2Ftb3VudDogc3RyaW5nO1xuICBwcml2YXRlIF92YWxpZGF0b3JHcm91cDogc3RyaW5nO1xuICBwcml2YXRlIF9sZXNzZXIgPSB0aGlzLkRFRkFVTFRfQUREUkVTUztcbiAgcHJpdmF0ZSBfZ3JlYXRlciA9IHRoaXMuREVGQVVMVF9BRERSRVNTO1xuICBwcml2YXRlIF9pbmRleDogbnVtYmVyO1xuICBwcml2YXRlIF90eXBlOiBTdGFraW5nT3BlcmF0aW9uVHlwZXM7XG4gIHByaXZhdGUgX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+O1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+LCBzZXJpYWxpemVkRGF0YT86IHN0cmluZykge1xuICAgIHRoaXMuX2NvaW5Db25maWcgPSBjb2luQ29uZmlnO1xuICAgIGlmIChzZXJpYWxpemVkRGF0YSkge1xuICAgICAgdGhpcy5kZWNvZGVTdGFraW5nRGF0YShzZXJpYWxpemVkRGF0YSk7XG4gICAgfVxuICB9XG5cbiAgLy8gcmVnaW9uIFN0YWtpbmcgcHJvcGVydGllc1xuXG4gIHR5cGUodHlwZTogU3Rha2luZ09wZXJhdGlvblR5cGVzKTogdGhpcyB7XG4gICAgdGhpcy5fdHlwZSA9IHR5cGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhbW91bnQodmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaXNWYWxpZEFtb3VudCh2YWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCB2YWx1ZSBmb3Igc3Rha2UgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgdGhpcy5fYW1vdW50ID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBncm91cCh2YWxpZGF0b3JHcm91cDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkRXRoQWRkcmVzcyh2YWxpZGF0b3JHcm91cCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCB2YWxpZGF0b3IgZ3JvdXAgYWRkcmVzcycpO1xuICAgIH1cbiAgICB0aGlzLl92YWxpZGF0b3JHcm91cCA9IHZhbGlkYXRvckdyb3VwO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgbGVzc2VyKGxlc3Nlcjogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkRXRoQWRkcmVzcyhsZXNzZXIpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgYWRkcmVzcyBmb3IgbGVzc2VyJyk7XG4gICAgfVxuICAgIHRoaXMuX2xlc3NlciA9IGxlc3NlcjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGdyZWF0ZXIoZ3JlYXRlcjogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkRXRoQWRkcmVzcyhncmVhdGVyKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGFkZHJlc3MgZm9yIGdyZWF0ZXInKTtcbiAgICB9XG4gICAgdGhpcy5fZ3JlYXRlciA9IGdyZWF0ZXI7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBpbmRleChpbmRleDogbnVtYmVyKTogdGhpcyB7XG4gICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGluZGV4IGZvciBzdGFraW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHRoaXMuX2luZGV4ID0gaW5kZXg7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvLyBlbmRyZWdpb25cblxuICAvLyByZWdpb24gU3Rha2luZyBidWlsZGluZ1xuXG4gIGJ1aWxkKCk6IFN0YWtpbmdDYWxsIHtcbiAgICB0aGlzLnZhbGlkYXRlTWFuZGF0b3J5RmllbGRzKCk7XG4gICAgc3dpdGNoICh0aGlzLl90eXBlKSB7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5MT0NLOlxuICAgICAgICB0aGlzLnZhbGlkYXRlQW1vdW50KCk7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkTG9ja1N0YWtpbmcoKTtcbiAgICAgIGNhc2UgU3Rha2luZ09wZXJhdGlvblR5cGVzLlZPVEU6XG4gICAgICAgIHRoaXMudmFsaWRhdGVFbGVjdGlvbkZpZWxkcygpO1xuICAgICAgICByZXR1cm4gdGhpcy5idWlsZFZvdGVTdGFraW5nKCk7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5BQ1RJVkFURTpcbiAgICAgICAgdGhpcy52YWxpZGF0ZUdyb3VwKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkQWN0aXZhdGVTdGFraW5nKCk7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5VTlZPVEU6XG4gICAgICAgIHRoaXMudmFsaWRhdGVVbnZvdGVGaWVsZHMoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRVbnZvdGVTdGFraW5nKCk7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5VTkxPQ0s6XG4gICAgICAgIHRoaXMudmFsaWRhdGVBbW91bnQoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRVbmxvY2tTdGFraW5nKCk7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5XSVRIRFJBVzpcbiAgICAgICAgdGhpcy52YWxpZGF0ZUluZGV4KCk7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkV2l0aGRyYXdTdGFraW5nKCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgc3Rha2luZyBvcGVyYXRpb246ICcgKyB0aGlzLl90eXBlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGEgbG9jayBnb2xkIG9wZXJhdGlvbiBzZW5kaW5nIHRoZSBhbW91bnQgb24gdGhlIHRyYW5zYWN0aW9uIHZhbHVlIGZpZWxkXG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQ2FsbH0gYSBsb2NrIGdvbGQgb3BlcmF0aW9uIHVzaW5nIHRoZSBMb2NrZWRHb2xkIGNvbnRyYWN0XG4gICAqL1xuICBwcml2YXRlIGJ1aWxkTG9ja1N0YWtpbmcoKTogU3Rha2luZ0NhbGwge1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IGdldE9wZXJhdGlvbkNvbmZpZyh0aGlzLl90eXBlLCB0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgcmV0dXJuIG5ldyBTdGFraW5nQ2FsbCh0aGlzLl9hbW91bnQsIG9wZXJhdGlvbi5jb250cmFjdEFkZHJlc3MsIG9wZXJhdGlvbi5tZXRob2RJZCwgb3BlcmF0aW9uLnR5cGVzLCBbXSk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGFuIHVubG9jayBnb2xkIG9wZXJhdGlvbiBzZW5kaW5nIHRoZSBhbW91bnQgZW5jb2RlZCBvbiB0aGUgZGF0YSBmaWVsZFxuICAgKlxuICAgKiBwYXJhbXNcbiAgICogYW1vdW50OiBhbW91bnQgb2YgbG9ja2VkIGdvbGQgdG8gYmUgdW5sb2NrZWRcbiAgICpcbiAgICogQHJldHVybnMge1N0YWtpbmdDYWxsfSBhbiB1bmxvY2sgZ29sZCBvcGVyYXRpb24gdXNpbmcgdGhlIExvY2tlZEdvbGQgY29udHJhY3RcbiAgICovXG4gIHByaXZhdGUgYnVpbGRVbmxvY2tTdGFraW5nKCk6IFN0YWtpbmdDYWxsIHtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBnZXRPcGVyYXRpb25Db25maWcodGhpcy5fdHlwZSwgdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuICAgIGNvbnN0IHBhcmFtcyA9IFt0aGlzLl9hbW91bnRdO1xuICAgIHJldHVybiBuZXcgU3Rha2luZ0NhbGwoJzAnLCBvcGVyYXRpb24uY29udHJhY3RBZGRyZXNzLCBvcGVyYXRpb24ubWV0aG9kSWQsIG9wZXJhdGlvbi50eXBlcywgcGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSB2b3RlIG9wZXJhdGlvbiB0aGF0IHVzZXMgbG9ja2VkIGdvbGQgdG8gYWRkIHBlbmRpbmcgdm90ZXMgZm9yIGEgdmFsaWRhdG9yIGdyb3VwLlxuICAgKlxuICAgKiBwYXJhbXNcbiAgICogdmFsaWRhdG9yR3JvdXA6IGdyb3VwIHRvIHZvdGUgZm9yXG4gICAqIGFtb3VudDogYW1vdW50IG9mIHZvdGVzIChsb2NrZWQgZ29sZCkgZm9yIHRoZSBncm91cFxuICAgKiBsZXNzZXI6IHZhbGlkYXRvciBncm91cCB0aGF0IGhhcyBsZXNzIHZvdGVzIHRoYW4gdGhlIHZhbGlkYXRvckdyb3VwXG4gICAqIGdyZWF0ZXI6IHZhbGlkYXRvciBncm91cCB0aGF0IGhhcyBtb3JlIHZvdHMgdGhhbiB0aGUgdmFsaWRhdG9yR3JvdXBcbiAgICpcbiAgICogQHJldHVybnMge1N0YWtpbmdDYWxsfSBhbiB2b3RlIG9wZXJhdGlvbiB1c2luZyB0aGUgRWxlY3Rpb24gY29udHJhY3RcbiAgICovXG4gIHByaXZhdGUgYnVpbGRWb3RlU3Rha2luZygpOiBTdGFraW5nQ2FsbCB7XG4gICAgY29uc3Qgb3BlcmF0aW9uID0gZ2V0T3BlcmF0aW9uQ29uZmlnKHRoaXMuX3R5cGUsIHRoaXMuX2NvaW5Db25maWcubmV0d29yay50eXBlKTtcbiAgICBjb25zdCBwYXJhbXMgPSBbdGhpcy5fdmFsaWRhdG9yR3JvdXAsIHRoaXMuX2Ftb3VudCwgdGhpcy5fbGVzc2VyLCB0aGlzLl9ncmVhdGVyXTtcbiAgICByZXR1cm4gbmV3IFN0YWtpbmdDYWxsKCcwJywgb3BlcmF0aW9uLmNvbnRyYWN0QWRkcmVzcywgb3BlcmF0aW9uLm1ldGhvZElkLCBvcGVyYXRpb24udHlwZXMsIHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGFuIHVudm90ZSBvcGVyYXRpb24gdG8gcmV2b2tlIGFjdGl2ZSB2b3RlcyBmb3IgYSB2YWxpZGF0b3IgZ3JvdXAuXG4gICAqXG4gICAqIHBhcmFtc1xuICAgKiB2YWxpZGF0b3JHcm91cDogZ3JvdXAgd2hvc2Ugdm90ZXMgd2lsbCBiZSByZXZva2VkXG4gICAqIGFtb3VudDogYW1vdW50IG9mIHZvdGVzIChsb2NrZWQgZ29sZCkgdGhhdCB3aWxsIGJlIHJldm9rZWRcbiAgICogbGVzc2VyOiB2YWxpZGF0b3IgZ3JvdXAgdGhhdCBoYXMgbGVzcyB2b3RlcyB0aGFuIHRoZSB2YWxpZGF0b3JHcm91cFxuICAgKiBncmVhdGVyOiB2YWxpZGF0b3IgZ3JvdXAgdGhhdCBoYXMgbW9yZSB2b3RzIHRoYW4gdGhlIHZhbGlkYXRvckdyb3VwXG4gICAqIGluZGV4OiBpbmRleCBvZiB0aGUgdmFsaWRhdG9yR3JvdXAgb24gdGhlIGxpc3Qgb2YgZ3JvdXBzIHRoZSBhZGRyZXNzIGhhcyB2b3RlZCBmb3JcbiAgICpcbiAgICogQHJldHVybnMge1N0YWtpbmdDYWxsfSBhbiB2b3RlIG9wZXJhdGlvbiB1c2luZyB0aGUgRWxlY3Rpb24gY29udHJhY3RcbiAgICovXG4gIHByaXZhdGUgYnVpbGRVbnZvdGVTdGFraW5nKCk6IFN0YWtpbmdDYWxsIHtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBnZXRPcGVyYXRpb25Db25maWcodGhpcy5fdHlwZSwgdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuICAgIGNvbnN0IHBhcmFtcyA9IFt0aGlzLl92YWxpZGF0b3JHcm91cCwgdGhpcy5fYW1vdW50LCB0aGlzLl9sZXNzZXIsIHRoaXMuX2dyZWF0ZXIsIHRoaXMuX2luZGV4LnRvU3RyaW5nKCldO1xuICAgIHJldHVybiBuZXcgU3Rha2luZ0NhbGwoJzAnLCBvcGVyYXRpb24uY29udHJhY3RBZGRyZXNzLCBvcGVyYXRpb24ubWV0aG9kSWQsIG9wZXJhdGlvbi50eXBlcywgcGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYW4gYWN0aXZhdGUgdm90ZSBvcGVyYXRpb24gdG8gY2hhbmdlIGFsbCB0aGUgdm90ZXMgY2FzdGVkIGZvciBhIHZhbGlkYXRvclxuICAgKiBmcm9tICdwZW5kaW5nJyB0byAnYWN0aXZlJ1xuICAgKlxuICAgKiBwYXJhbXNcbiAgICogdmFsaWRhdG9yR3JvdXA6IGdyb3VwIHdob3NlIHZvdGVzIHdpbGwgYmUgYWN0aXZhdGVkXG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQ2FsbH0gYW4gYWN0aXZhdGUgdm90ZXMgb3BlcmF0aW9uXG4gICAqL1xuICBwcml2YXRlIGJ1aWxkQWN0aXZhdGVTdGFraW5nKCk6IFN0YWtpbmdDYWxsIHtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBnZXRPcGVyYXRpb25Db25maWcodGhpcy5fdHlwZSwgdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuICAgIGNvbnN0IHBhcmFtcyA9IFt0aGlzLl92YWxpZGF0b3JHcm91cF07XG4gICAgcmV0dXJuIG5ldyBTdGFraW5nQ2FsbCgnMCcsIG9wZXJhdGlvbi5jb250cmFjdEFkZHJlc3MsIG9wZXJhdGlvbi5tZXRob2RJZCwgb3BlcmF0aW9uLnR5cGVzLCBwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhIHdpdGhkcmF3IG9wZXJhdGlvbiBmb3IgbG9ja2VkIGdvbGQgdGhhdCBoYXMgYmVlbiB1bmxvY2tlZFxuICAgKiBhZnRlciB0aGUgdW5sb2NraW5nIHBlcmlvZCBoYXMgcGFzc2VkLlxuICAgKlxuICAgKiBwYXJhbXNcbiAgICogaW5kZXg6IGluZGV4IG9mIHRoZSB1bmxvY2sgb3BlcmF0aW9uIHdob3NlIHVubG9ja2luZyBwZXJpb2QgaGFzIHBhc3NlZC5cbiAgICpcbiAgICogQHJldHVybnMge1N0YWtpbmdDYWxsfSBhbiBhY3RpdmF0ZSB2b3RlcyBvcGVyYXRpb25cbiAgICovXG4gIHByaXZhdGUgYnVpbGRXaXRoZHJhd1N0YWtpbmcoKTogU3Rha2luZ0NhbGwge1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IGdldE9wZXJhdGlvbkNvbmZpZyh0aGlzLl90eXBlLCB0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgY29uc3QgcGFyYW1zID0gW3RoaXMuX2luZGV4LnRvU3RyaW5nKCldO1xuICAgIHJldHVybiBuZXcgU3Rha2luZ0NhbGwoJzAnLCBvcGVyYXRpb24uY29udHJhY3RBZGRyZXNzLCBvcGVyYXRpb24ubWV0aG9kSWQsIG9wZXJhdGlvbi50eXBlcywgcGFyYW1zKTtcbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBWYWxpZGF0aW9uIG1ldGhvZHNcblxuICBwcml2YXRlIHZhbGlkYXRlTWFuZGF0b3J5RmllbGRzKCk6IHZvaWQge1xuICAgIGlmICghKHRoaXMuX3R5cGUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9jb2luQ29uZmlnKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignTWlzc2luZyBzdGFraW5nIG1hbmRhdG9yeSBmaWVsZHMuIFR5cGUgYW5kIGNvaW4gYXJlIHJlcXVpcmVkJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUVsZWN0aW9uRmllbGRzKCk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdGVHcm91cCgpO1xuICAgIHRoaXMudmFsaWRhdGVBbW91bnQoKTtcbiAgICBpZiAodGhpcy5fbGVzc2VyID09PSB0aGlzLl9ncmVhdGVyKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdHcmVhdGVyIGFuZCBsZXNzZXIgdmFsdWVzIHNob3VsZCBub3QgYmUgdGhlIHNhbWUnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlSW5kZXgoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2luZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgaW5kZXggZm9yIHN0YWtpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQW1vdW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9hbW91bnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignTWlzc2luZyBhbW91bnQgZm9yIHN0YWtpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlVW52b3RlRmllbGRzKCk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdGVFbGVjdGlvbkZpZWxkcygpO1xuICAgIHRoaXMudmFsaWRhdGVJbmRleCgpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUdyb3VwKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fdmFsaWRhdG9yR3JvdXApIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgdmFsaWRhdG9yIGdyb3VwIGZvciBzdGFraW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIERlc2VyaWFsaXphdGlvbiBtZXRob2RzXG4gIHByaXZhdGUgZGVjb2RlU3Rha2luZ0RhdGEoZGF0YTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jbGFzc2lmeVN0YWtpbmdUeXBlKGRhdGEpO1xuXG4gICAgY29uc3Qgb3BlcmF0aW9uID0gZ2V0T3BlcmF0aW9uQ29uZmlnKHRoaXMuX3R5cGUsIHRoaXMuX2NvaW5Db25maWcubmV0d29yay50eXBlKTtcbiAgICBjb25zdCBkZWNvZGVkID0gZ2V0UmF3RGVjb2RlZChvcGVyYXRpb24udHlwZXMsIGdldEJ1ZmZlcmVkQnl0ZUNvZGUob3BlcmF0aW9uLm1ldGhvZElkLCBkYXRhKSk7XG4gICAgc3dpdGNoICh0aGlzLl90eXBlKSB7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5WT1RFOlxuICAgICAgICB0aGlzLnZhbGlkYXRlRGVjb2RlZERhdGFMZW5ndGgoZGVjb2RlZC5sZW5ndGgsIDQsIGRhdGEpO1xuICAgICAgICBjb25zdCBbZ3JvdXBUb1ZvdGUsIGFtb3VudCwgbGVzc2VyLCBncmVhdGVyXSA9IGRlY29kZWQ7XG4gICAgICAgIHRoaXMuX2Ftb3VudCA9IGV0aFV0aWwuYnVmZmVyVG9IZXgoYW1vdW50KTtcbiAgICAgICAgdGhpcy5fdmFsaWRhdG9yR3JvdXAgPSBldGhVdGlsLmFkZEhleFByZWZpeChncm91cFRvVm90ZSk7XG4gICAgICAgIHRoaXMuX2xlc3NlciA9IGV0aFV0aWwuYWRkSGV4UHJlZml4KGxlc3Nlcik7XG4gICAgICAgIHRoaXMuX2dyZWF0ZXIgPSBldGhVdGlsLmFkZEhleFByZWZpeChncmVhdGVyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5VTlZPVEU6XG4gICAgICAgIHRoaXMudmFsaWRhdGVEZWNvZGVkRGF0YUxlbmd0aChkZWNvZGVkLmxlbmd0aCwgNSwgZGF0YSk7XG4gICAgICAgIGNvbnN0IFtncm91cFRvVW52b3RlLCBhbW91bnRVbnZvdGUsIGxlc3NlclVudm90ZSwgZ3JlYXRlclVudm90ZSwgaW5kZXhVbnZvdGVdID0gZGVjb2RlZDtcbiAgICAgICAgdGhpcy5fdmFsaWRhdG9yR3JvdXAgPSBldGhVdGlsLmFkZEhleFByZWZpeChncm91cFRvVW52b3RlKTtcbiAgICAgICAgdGhpcy5fYW1vdW50ID0gZXRoVXRpbC5idWZmZXJUb0hleChhbW91bnRVbnZvdGUpO1xuICAgICAgICB0aGlzLl9sZXNzZXIgPSBldGhVdGlsLmFkZEhleFByZWZpeChsZXNzZXJVbnZvdGUpO1xuICAgICAgICB0aGlzLl9ncmVhdGVyID0gZXRoVXRpbC5hZGRIZXhQcmVmaXgoZ3JlYXRlclVudm90ZSk7XG4gICAgICAgIHRoaXMuX2luZGV4ID0gaGV4U3RyaW5nVG9OdW1iZXIoZXRoVXRpbC5idWZmZXJUb0hleChpbmRleFVudm90ZSkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU3Rha2luZ09wZXJhdGlvblR5cGVzLkFDVElWQVRFOlxuICAgICAgICB0aGlzLnZhbGlkYXRlRGVjb2RlZERhdGFMZW5ndGgoZGVjb2RlZC5sZW5ndGgsIDEsIGRhdGEpO1xuICAgICAgICBjb25zdCBbZ3JvdXBUb0FjdGl2YXRlXSA9IGRlY29kZWQ7XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRvckdyb3VwID0gZXRoVXRpbC5hZGRIZXhQcmVmaXgoZ3JvdXBUb0FjdGl2YXRlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5VTkxPQ0s6XG4gICAgICAgIGlmIChkZWNvZGVkLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgdW5sb2NrIGRlY29kZWQgZGF0YTogJHtkYXRhfWApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IFtkZWNvZGVkQW1vdW50XSA9IGRlY29kZWQ7XG4gICAgICAgIHRoaXMuX2Ftb3VudCA9IGV0aFV0aWwuYnVmZmVyVG9IZXgoZGVjb2RlZEFtb3VudCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuV0lUSERSQVc6XG4gICAgICAgIHRoaXMudmFsaWRhdGVEZWNvZGVkRGF0YUxlbmd0aChkZWNvZGVkLmxlbmd0aCwgMSwgZGF0YSk7XG4gICAgICAgIGNvbnN0IFtpbmRleF0gPSBkZWNvZGVkO1xuICAgICAgICB0aGlzLl9pbmRleCA9IGhleFN0cmluZ1RvTnVtYmVyKGV0aFV0aWwuYnVmZmVyVG9IZXgoaW5kZXgpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHN0YWtpbmcgZGF0YTogJHt0aGlzLl90eXBlfWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVEZWNvZGVkRGF0YUxlbmd0aChhY3R1YWw6IG51bWJlciwgZXhwZWN0ZWQ6IG51bWJlciwgZGF0YTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgc3Rha2luZyBkZWNvZGVkIGRhdGE6ICR7ZGF0YX1gKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNsYXNzaWZ5U3Rha2luZ1R5cGUoZGF0YTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGRhdGEuc3RhcnRzV2l0aChWb3RlTWV0aG9kSWQpKSB7XG4gICAgICB0aGlzLl90eXBlID0gU3Rha2luZ09wZXJhdGlvblR5cGVzLlZPVEU7XG4gICAgfSBlbHNlIGlmIChkYXRhLnN0YXJ0c1dpdGgoVW52b3RlTWV0aG9kSWQpKSB7XG4gICAgICB0aGlzLl90eXBlID0gU3Rha2luZ09wZXJhdGlvblR5cGVzLlVOVk9URTtcbiAgICB9IGVsc2UgaWYgKGRhdGEuc3RhcnRzV2l0aChBY3RpdmF0ZU1ldGhvZElkKSkge1xuICAgICAgdGhpcy5fdHlwZSA9IFN0YWtpbmdPcGVyYXRpb25UeXBlcy5BQ1RJVkFURTtcbiAgICB9IGVsc2UgaWYgKGRhdGEuc3RhcnRzV2l0aChVbmxvY2tNZXRob2RJZCkpIHtcbiAgICAgIHRoaXMuX3R5cGUgPSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuVU5MT0NLO1xuICAgIH0gZWxzZSBpZiAoZGF0YS5zdGFydHNXaXRoKFdpdGhkcmF3TWV0aG9kSWQpKSB7XG4gICAgICB0aGlzLl90eXBlID0gU3Rha2luZ09wZXJhdGlvblR5cGVzLldJVEhEUkFXO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHN0YWtpbmcgYnl0ZWNvZGU6ICR7ZGF0YX1gKTtcbiAgICB9XG4gIH1cblxuICAvLyBlbmRyZWdpb25cbn1cbiJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ContractCall } from '@bitgo/sdk-coin-eth';
|
|
2
|
-
export declare class StakingCall extends ContractCall {
|
|
3
|
-
amount: string;
|
|
4
|
-
address: string;
|
|
5
|
-
constructor(amount: string, address: string, _methodId: string, _types: string[], _params: string[]);
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=stakingCall.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stakingCall.d.ts","sourceRoot":"","sources":["../../../../src/coin/celo/stakingCall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,qBAAa,WAAY,SAAQ,YAAY;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;gBACX,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;CAKpG"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StakingCall = void 0;
|
|
4
|
-
const sdk_coin_eth_1 = require("@bitgo/sdk-coin-eth");
|
|
5
|
-
class StakingCall extends sdk_coin_eth_1.ContractCall {
|
|
6
|
-
constructor(amount, address, _methodId, _types, _params) {
|
|
7
|
-
super(_methodId, _types, _params);
|
|
8
|
-
this.amount = amount;
|
|
9
|
-
this.address = address;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.StakingCall = StakingCall;
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0NhbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9jZWxvL3N0YWtpbmdDYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUFtRDtBQUVuRCxNQUFhLFdBQVksU0FBUSwyQkFBWTtJQUczQyxZQUFZLE1BQWMsRUFBRSxPQUFlLEVBQUUsU0FBaUIsRUFBRSxNQUFnQixFQUFFLE9BQWlCO1FBQ2pHLEtBQUssQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7Q0FDRjtBQVJELGtDQVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJhY3RDYWxsIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLWV0aCc7XG5cbmV4cG9ydCBjbGFzcyBTdGFraW5nQ2FsbCBleHRlbmRzIENvbnRyYWN0Q2FsbCB7XG4gIHB1YmxpYyBhbW91bnQ6IHN0cmluZztcbiAgcHVibGljIGFkZHJlc3M6IHN0cmluZztcbiAgY29uc3RydWN0b3IoYW1vdW50OiBzdHJpbmcsIGFkZHJlc3M6IHN0cmluZywgX21ldGhvZElkOiBzdHJpbmcsIF90eXBlczogc3RyaW5nW10sIF9wYXJhbXM6IHN0cmluZ1tdKSB7XG4gICAgc3VwZXIoX21ldGhvZElkLCBfdHlwZXMsIF9wYXJhbXMpO1xuICAgIHRoaXMuYW1vdW50ID0gYW1vdW50O1xuICAgIHRoaXMuYWRkcmVzcyA9IGFkZHJlc3M7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { NetworkType } from '@bitgo/statics';
|
|
2
|
-
import { StakingOperationTypes } from '@bitgo/sdk-core';
|
|
3
|
-
import { ContractMethodConfig } from '../eth/iface';
|
|
4
|
-
export declare const LockMethodId = "0xf83d08ba";
|
|
5
|
-
export declare const UnlockMethodId = "0x6198e339";
|
|
6
|
-
export declare const VoteMethodId = "0x580d747a";
|
|
7
|
-
export declare const UnvoteMethodId = "0x6e198475";
|
|
8
|
-
export declare const ActivateMethodId = "0x1c5a9d9c";
|
|
9
|
-
export declare const WithdrawMethodId = "0x2e1a7d4d";
|
|
10
|
-
/**
|
|
11
|
-
* @param type
|
|
12
|
-
* @param network
|
|
13
|
-
*/
|
|
14
|
-
export declare function getOperationConfig(type: StakingOperationTypes, network: NetworkType): ContractMethodConfig;
|
|
15
|
-
//# sourceMappingURL=stakingUtils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stakingUtils.d.ts","sourceRoot":"","sources":["../../../../src/coin/celo/stakingUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,eAAO,MAAM,YAAY,eAAe,CAAC;AACzC,eAAO,MAAM,cAAc,eAAe,CAAC;AAC3C,eAAO,MAAM,YAAY,eAAe,CAAC;AACzC,eAAO,MAAM,cAAc,eAAe,CAAC;AAC3C,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAC7C,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAkF7C;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,WAAW,GAAG,oBAAoB,CAE1G"}
|