@bitgo/account-lib 2.20.1-rc.2 → 2.21.0-hotfix.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +79 -0
- package/README.md +5 -7
- package/dist/browser/bitgo-account-lib.js +2 -0
- package/dist/browser/bitgo-account-lib.js.LICENSE.txt +337 -0
- package/dist/resources/hbar/protobuf/BasicTypes.proto +424 -0
- package/dist/resources/hbar/protobuf/CryptoCreate.proto +47 -0
- package/dist/resources/hbar/protobuf/CryptoTransfer.proto +33 -0
- package/dist/resources/hbar/protobuf/Duration.proto +28 -0
- package/dist/resources/hbar/protobuf/Timestamp.proto +34 -0
- package/dist/resources/hbar/protobuf/Transaction.proto +35 -0
- package/dist/resources/hbar/protobuf/TransactionBody.proto +24 -0
- package/dist/resources/hbar/protobuf/TransactionContents.proto +33 -0
- package/dist/resources/hbar/protobuf/hedera.d.ts +4612 -0
- package/dist/resources/hbar/protobuf/hedera.js +12192 -0
- package/dist/resources/trx/protobuf/Contract.proto +256 -0
- package/dist/resources/trx/protobuf/Discover.proto +44 -0
- package/dist/resources/trx/protobuf/tron.d.ts +11024 -0
- package/dist/resources/trx/protobuf/tron.js +31510 -0
- package/dist/resources/trx/protobuf/tron.proto +677 -0
- package/dist/src/coin/algo/assetTransferBuilder.d.ts +42 -0
- package/dist/src/coin/algo/assetTransferBuilder.d.ts.map +1 -0
- package/dist/src/coin/algo/assetTransferBuilder.js +105 -0
- package/dist/src/coin/algo/errors.d.ts +11 -0
- package/dist/src/coin/algo/errors.d.ts.map +1 -0
- package/dist/src/coin/algo/errors.js +27 -0
- package/dist/src/coin/algo/ifaces.d.ts +46 -0
- package/dist/src/coin/algo/ifaces.d.ts.map +1 -0
- package/dist/src/coin/algo/ifaces.js +3 -0
- package/dist/src/coin/algo/index.d.ts +13 -0
- package/dist/src/coin/algo/index.d.ts.map +1 -0
- package/dist/src/coin/algo/index.js +47 -0
- package/dist/src/coin/algo/keyPair.d.ts +25 -0
- package/dist/src/coin/algo/keyPair.d.ts.map +1 -0
- package/dist/src/coin/algo/keyPair.js +77 -0
- package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +104 -0
- package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +1 -0
- package/dist/src/coin/algo/keyRegistrationBuilder.js +239 -0
- package/dist/src/coin/algo/seedEncoding.d.ts +25 -0
- package/dist/src/coin/algo/seedEncoding.d.ts.map +1 -0
- package/dist/src/coin/algo/seedEncoding.js +97 -0
- package/dist/src/coin/algo/transaction.d.ts +75 -0
- package/dist/src/coin/algo/transaction.d.ts.map +1 -0
- package/dist/src/coin/algo/transaction.js +251 -0
- package/dist/src/coin/algo/transactionBuilder.d.ts +204 -0
- package/dist/src/coin/algo/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/algo/transactionBuilder.js +373 -0
- package/dist/src/coin/algo/transactionBuilderFactory.d.ts +16 -0
- package/dist/src/coin/algo/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/algo/transactionBuilderFactory.js +52 -0
- package/dist/src/coin/algo/transferBuilder.d.ts +40 -0
- package/dist/src/coin/algo/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/algo/transferBuilder.js +89 -0
- package/dist/src/coin/algo/txnSchema.d.ts +7 -0
- package/dist/src/coin/algo/txnSchema.d.ts.map +1 -0
- package/dist/src/coin/algo/txnSchema.js +68 -0
- package/dist/src/coin/algo/utils.d.ts +249 -0
- package/dist/src/coin/algo/utils.d.ts.map +1 -0
- package/dist/src/coin/algo/utils.js +539 -0
- package/dist/src/coin/avaxc/index.d.ts +8 -0
- package/dist/src/coin/avaxc/index.d.ts.map +1 -0
- package/dist/src/coin/avaxc/index.js +35 -0
- package/dist/src/coin/avaxc/keyPair.d.ts +26 -0
- package/dist/src/coin/avaxc/keyPair.d.ts.map +1 -0
- package/dist/src/coin/avaxc/keyPair.js +83 -0
- package/dist/src/coin/avaxc/resources.d.ts +12 -0
- package/dist/src/coin/avaxc/resources.d.ts.map +1 -0
- package/dist/src/coin/avaxc/resources.js +27 -0
- package/dist/src/coin/avaxc/transactionBuilder.d.ts +17 -0
- package/dist/src/coin/avaxc/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/avaxc/transactionBuilder.js +45 -0
- package/dist/src/coin/avaxc/transferBuilder.d.ts +17 -0
- package/dist/src/coin/avaxc/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/avaxc/transferBuilder.js +25 -0
- package/dist/src/coin/avaxc/utils.d.ts +39 -0
- package/dist/src/coin/avaxc/utils.d.ts.map +1 -0
- package/dist/src/coin/avaxc/utils.js +70 -0
- package/dist/src/coin/avaxc/walletUtil.d.ts +22 -0
- package/dist/src/coin/avaxc/walletUtil.d.ts.map +1 -0
- package/dist/src/coin/avaxc/walletUtil.js +62 -0
- package/dist/src/coin/baseCoin/baseKeyPair.d.ts +27 -0
- package/dist/src/coin/baseCoin/baseKeyPair.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/baseKeyPair.js +3 -0
- package/dist/src/coin/baseCoin/baseTransaction.d.ts +71 -0
- package/dist/src/coin/baseCoin/baseTransaction.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/baseTransaction.js +94 -0
- package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts +128 -0
- package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/baseTransactionBuilder.js +179 -0
- package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts +30 -0
- package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.js +20 -0
- package/dist/src/coin/baseCoin/baseUtils.d.ts +45 -0
- package/dist/src/coin/baseCoin/baseUtils.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/baseUtils.js +3 -0
- package/dist/src/coin/baseCoin/blsKeyPair.d.ts +75 -0
- package/dist/src/coin/baseCoin/blsKeyPair.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/blsKeyPair.js +232 -0
- package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts +50 -0
- package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/ed25519KeyPair.js +141 -0
- package/dist/src/coin/baseCoin/enum.d.ts +43 -0
- package/dist/src/coin/baseCoin/enum.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/enum.js +70 -0
- package/dist/src/coin/baseCoin/errors.d.ts +65 -0
- package/dist/src/coin/baseCoin/errors.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/errors.js +156 -0
- package/dist/src/coin/baseCoin/iface.d.ts +162 -0
- package/dist/src/coin/baseCoin/iface.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/iface.js +38 -0
- package/dist/src/coin/baseCoin/index.d.ts +12 -0
- package/dist/src/coin/baseCoin/index.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/index.js +41 -0
- package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts +55 -0
- package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -0
- package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.js +124 -0
- package/dist/src/coin/celo/index.d.ts +8 -0
- package/dist/src/coin/celo/index.d.ts.map +1 -0
- package/dist/src/coin/celo/index.js +35 -0
- package/dist/src/coin/celo/resources.d.ts +10 -0
- package/dist/src/coin/celo/resources.d.ts.map +1 -0
- package/dist/src/coin/celo/resources.js +26 -0
- package/dist/src/coin/celo/stakingBuilder.d.ts +91 -0
- package/dist/src/coin/celo/stakingBuilder.d.ts.map +1 -0
- package/dist/src/coin/celo/stakingBuilder.js +277 -0
- package/dist/src/coin/celo/stakingCall.d.ts +7 -0
- package/dist/src/coin/celo/stakingCall.d.ts.map +1 -0
- package/dist/src/coin/celo/stakingCall.js +13 -0
- package/dist/src/coin/celo/stakingUtils.d.ts +15 -0
- package/dist/src/coin/celo/stakingUtils.d.ts.map +1 -0
- package/dist/src/coin/celo/stakingUtils.js +98 -0
- package/dist/src/coin/celo/transaction.d.ts +10 -0
- package/dist/src/coin/celo/transaction.d.ts.map +1 -0
- package/dist/src/coin/celo/transaction.js +37 -0
- package/dist/src/coin/celo/transactionBuilder.d.ts +86 -0
- package/dist/src/coin/celo/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/celo/transactionBuilder.js +228 -0
- package/dist/src/coin/celo/transferBuilder.d.ts +19 -0
- package/dist/src/coin/celo/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/celo/transferBuilder.js +27 -0
- package/dist/src/coin/celo/types.d.ts +52 -0
- package/dist/src/coin/celo/types.d.ts.map +1 -0
- package/dist/src/coin/celo/types.js +222 -0
- package/dist/src/coin/celo/utils.d.ts +18 -0
- package/dist/src/coin/celo/utils.d.ts.map +1 -0
- package/dist/src/coin/celo/utils.js +99 -0
- package/dist/src/coin/cspr/constants.d.ts +19 -0
- package/dist/src/coin/cspr/constants.d.ts.map +1 -0
- package/dist/src/coin/cspr/constants.js +28 -0
- package/dist/src/coin/cspr/delegateBuilder.d.ts +49 -0
- package/dist/src/coin/cspr/delegateBuilder.d.ts.map +1 -0
- package/dist/src/coin/cspr/delegateBuilder.js +111 -0
- package/dist/src/coin/cspr/ifaces.d.ts +69 -0
- package/dist/src/coin/cspr/ifaces.d.ts.map +1 -0
- package/dist/src/coin/cspr/ifaces.js +3 -0
- package/dist/src/coin/cspr/index.d.ts +6 -0
- package/dist/src/coin/cspr/index.d.ts.map +1 -0
- package/dist/src/coin/cspr/index.js +31 -0
- package/dist/src/coin/cspr/keyPair.d.ts +18 -0
- package/dist/src/coin/cspr/keyPair.d.ts.map +1 -0
- package/dist/src/coin/cspr/keyPair.js +75 -0
- package/dist/src/coin/cspr/transaction.d.ts +55 -0
- package/dist/src/coin/cspr/transaction.d.ts.map +1 -0
- package/dist/src/coin/cspr/transaction.js +227 -0
- package/dist/src/coin/cspr/transactionBuilder.d.ts +124 -0
- package/dist/src/coin/cspr/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/cspr/transactionBuilder.js +312 -0
- package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +46 -0
- package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/cspr/transactionBuilderFactory.js +98 -0
- package/dist/src/coin/cspr/transferBuilder.d.ts +39 -0
- package/dist/src/coin/cspr/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/cspr/transferBuilder.js +106 -0
- package/dist/src/coin/cspr/undelegateBuilder.d.ts +49 -0
- package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +1 -0
- package/dist/src/coin/cspr/undelegateBuilder.js +111 -0
- package/dist/src/coin/cspr/utils.d.ts +188 -0
- package/dist/src/coin/cspr/utils.d.ts.map +1 -0
- package/dist/src/coin/cspr/utils.js +477 -0
- package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +27 -0
- package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/cspr/walletInitializationBuilder.js +95 -0
- package/dist/src/coin/dot/addressInitializationBuilder.d.ts +79 -0
- package/dist/src/coin/dot/addressInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/addressInitializationBuilder.js +182 -0
- package/dist/src/coin/dot/batchTransactionBuilder.d.ts +47 -0
- package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/batchTransactionBuilder.js +122 -0
- package/dist/src/coin/dot/claimBuilder.d.ts +58 -0
- package/dist/src/coin/dot/claimBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/claimBuilder.js +119 -0
- package/dist/src/coin/dot/errors.d.ts +8 -0
- package/dist/src/coin/dot/errors.d.ts.map +1 -0
- package/dist/src/coin/dot/errors.js +19 -0
- package/dist/src/coin/dot/iface.d.ts +194 -0
- package/dist/src/coin/dot/iface.d.ts.map +1 -0
- package/dist/src/coin/dot/iface.js +39 -0
- package/dist/src/coin/dot/index.d.ts +17 -0
- package/dist/src/coin/dot/index.d.ts.map +1 -0
- package/dist/src/coin/dot/index.js +53 -0
- package/dist/src/coin/dot/keyPair.d.ts +31 -0
- package/dist/src/coin/dot/keyPair.d.ts.map +1 -0
- package/dist/src/coin/dot/keyPair.js +70 -0
- package/dist/src/coin/dot/singletonRegistry.d.ts +7 -0
- package/dist/src/coin/dot/singletonRegistry.d.ts.map +1 -0
- package/dist/src/coin/dot/singletonRegistry.js +20 -0
- package/dist/src/coin/dot/stakingBuilder.d.ts +58 -0
- package/dist/src/coin/dot/stakingBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/stakingBuilder.js +139 -0
- package/dist/src/coin/dot/transaction.d.ts +65 -0
- package/dist/src/coin/dot/transaction.d.ts.map +1 -0
- package/dist/src/coin/dot/transaction.js +396 -0
- package/dist/src/coin/dot/transactionBuilder.d.ts +131 -0
- package/dist/src/coin/dot/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/transactionBuilder.js +332 -0
- package/dist/src/coin/dot/transactionBuilderFactory.d.ts +26 -0
- package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/dot/transactionBuilderFactory.js +93 -0
- package/dist/src/coin/dot/transferBuilder.d.ts +71 -0
- package/dist/src/coin/dot/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/transferBuilder.js +177 -0
- package/dist/src/coin/dot/txnSchema.d.ts +14 -0
- package/dist/src/coin/dot/txnSchema.d.ts.map +1 -0
- package/dist/src/coin/dot/txnSchema.js +104 -0
- package/dist/src/coin/dot/unnominateBuilder.d.ts +24 -0
- package/dist/src/coin/dot/unnominateBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/unnominateBuilder.js +50 -0
- package/dist/src/coin/dot/unstakeBuilder.d.ts +38 -0
- package/dist/src/coin/dot/unstakeBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/unstakeBuilder.js +89 -0
- package/dist/src/coin/dot/utils.d.ts +145 -0
- package/dist/src/coin/dot/utils.d.ts.map +1 -0
- package/dist/src/coin/dot/utils.js +283 -0
- package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts +38 -0
- package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/withdrawUnstakedBuilder.js +90 -0
- package/dist/src/coin/etc/index.d.ts +8 -0
- package/dist/src/coin/etc/index.d.ts.map +1 -0
- package/dist/src/coin/etc/index.js +35 -0
- package/dist/src/coin/etc/resources.d.ts +10 -0
- package/dist/src/coin/etc/resources.d.ts.map +1 -0
- package/dist/src/coin/etc/resources.js +26 -0
- package/dist/src/coin/etc/transactionBuilder.d.ts +17 -0
- package/dist/src/coin/etc/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/etc/transactionBuilder.js +45 -0
- package/dist/src/coin/etc/transferBuilder.d.ts +19 -0
- package/dist/src/coin/etc/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/etc/transferBuilder.js +27 -0
- package/dist/src/coin/etc/utils.d.ts +18 -0
- package/dist/src/coin/etc/utils.d.ts.map +1 -0
- package/dist/src/coin/etc/utils.js +42 -0
- package/dist/src/coin/eth/contractCall.d.ts +8 -0
- package/dist/src/coin/eth/contractCall.d.ts.map +1 -0
- package/dist/src/coin/eth/contractCall.js +17 -0
- package/dist/src/coin/eth/iface.d.ts +122 -0
- package/dist/src/coin/eth/iface.d.ts.map +1 -0
- package/dist/src/coin/eth/iface.js +8 -0
- package/dist/src/coin/eth/index.d.ts +10 -0
- package/dist/src/coin/eth/index.d.ts.map +1 -0
- package/dist/src/coin/eth/index.js +39 -0
- package/dist/src/coin/eth/keyPair.d.ts +26 -0
- package/dist/src/coin/eth/keyPair.d.ts.map +1 -0
- package/dist/src/coin/eth/keyPair.js +85 -0
- package/dist/src/coin/eth/transaction.d.ts +64 -0
- package/dist/src/coin/eth/transaction.d.ts.map +1 -0
- package/dist/src/coin/eth/transaction.js +137 -0
- package/dist/src/coin/eth/transactionBuilder.d.ts +194 -0
- package/dist/src/coin/eth/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/eth/transactionBuilder.js +624 -0
- package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts +47 -0
- package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts.map +1 -0
- package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.js +113 -0
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts +14 -0
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts.map +1 -0
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.js +83 -0
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts +13 -0
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts.map +1 -0
- package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.js +68 -0
- package/dist/src/coin/eth/transferBuilder.d.ts +65 -0
- package/dist/src/coin/eth/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/eth/transferBuilder.js +197 -0
- package/dist/src/coin/eth/types.d.ts +39 -0
- package/dist/src/coin/eth/types.d.ts.map +1 -0
- package/dist/src/coin/eth/types.js +135 -0
- package/dist/src/coin/eth/utils.d.ts +201 -0
- package/dist/src/coin/eth/utils.d.ts.map +1 -0
- package/dist/src/coin/eth/utils.js +486 -0
- package/dist/src/coin/eth/walletUtil.d.ts +21 -0
- package/dist/src/coin/eth/walletUtil.d.ts.map +1 -0
- package/dist/src/coin/eth/walletUtil.js +31 -0
- package/dist/src/coin/eth2/index.d.ts +2 -0
- package/dist/src/coin/eth2/index.d.ts.map +1 -0
- package/dist/src/coin/eth2/index.js +6 -0
- package/dist/src/coin/eth2/keyPair.d.ts +33 -0
- package/dist/src/coin/eth2/keyPair.d.ts.map +1 -0
- package/dist/src/coin/eth2/keyPair.js +65 -0
- package/dist/src/coin/hbar/constants.d.ts +8 -0
- package/dist/src/coin/hbar/constants.d.ts.map +1 -0
- package/dist/src/coin/hbar/constants.js +12 -0
- package/dist/src/coin/hbar/iface.d.ts +26 -0
- package/dist/src/coin/hbar/iface.d.ts.map +1 -0
- package/dist/src/coin/hbar/iface.js +3 -0
- package/dist/src/coin/hbar/ifaces.d.ts +26 -0
- package/dist/src/coin/hbar/ifaces.d.ts.map +1 -0
- package/dist/src/coin/hbar/ifaces.js +3 -0
- package/dist/src/coin/hbar/index.d.ts +6 -0
- package/dist/src/coin/hbar/index.d.ts.map +1 -0
- package/dist/src/coin/hbar/index.js +31 -0
- package/dist/src/coin/hbar/keyPair.d.ts +23 -0
- package/dist/src/coin/hbar/keyPair.d.ts.map +1 -0
- package/dist/src/coin/hbar/keyPair.js +70 -0
- package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts +35 -0
- package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts.map +1 -0
- package/dist/src/coin/hbar/tokenAssociateBuilder.js +118 -0
- package/dist/src/coin/hbar/transaction.d.ts +97 -0
- package/dist/src/coin/hbar/transaction.d.ts.map +1 -0
- package/dist/src/coin/hbar/transaction.js +255 -0
- package/dist/src/coin/hbar/transactionBuilder.d.ts +111 -0
- package/dist/src/coin/hbar/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/hbar/transactionBuilder.js +270 -0
- package/dist/src/coin/hbar/transactionBuilderFactory.d.ts +42 -0
- package/dist/src/coin/hbar/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/hbar/transactionBuilderFactory.js +79 -0
- package/dist/src/coin/hbar/transferBuilder.d.ts +43 -0
- package/dist/src/coin/hbar/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/hbar/transferBuilder.js +124 -0
- package/dist/src/coin/hbar/utils.d.ts +186 -0
- package/dist/src/coin/hbar/utils.d.ts.map +1 -0
- package/dist/src/coin/hbar/utils.js +400 -0
- package/dist/src/coin/hbar/walletInitializationBuilder.d.ts +28 -0
- package/dist/src/coin/hbar/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/hbar/walletInitializationBuilder.js +110 -0
- package/dist/src/coin/near/constants.d.ts +12 -0
- package/dist/src/coin/near/constants.d.ts.map +1 -0
- package/dist/src/coin/near/constants.js +15 -0
- package/dist/src/coin/near/contractCallWrapper.d.ts +33 -0
- package/dist/src/coin/near/contractCallWrapper.d.ts.map +1 -0
- package/dist/src/coin/near/contractCallWrapper.js +68 -0
- package/dist/src/coin/near/errors.d.ts +5 -0
- package/dist/src/coin/near/errors.d.ts.map +1 -0
- package/dist/src/coin/near/errors.js +12 -0
- package/dist/src/coin/near/iface.d.ts +40 -0
- package/dist/src/coin/near/iface.d.ts.map +1 -0
- package/dist/src/coin/near/iface.js +8 -0
- package/dist/src/coin/near/index.d.ts +11 -0
- package/dist/src/coin/near/index.d.ts.map +1 -0
- package/dist/src/coin/near/index.js +41 -0
- package/dist/src/coin/near/keyPair.d.ts +25 -0
- package/dist/src/coin/near/keyPair.d.ts.map +1 -0
- package/dist/src/coin/near/keyPair.js +73 -0
- package/dist/src/coin/near/stakingActivateBuilder.d.ts +32 -0
- package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +1 -0
- package/dist/src/coin/near/stakingActivateBuilder.js +90 -0
- package/dist/src/coin/near/stakingDeactivateBuilder.d.ts +32 -0
- package/dist/src/coin/near/stakingDeactivateBuilder.d.ts.map +1 -0
- package/dist/src/coin/near/stakingDeactivateBuilder.js +89 -0
- package/dist/src/coin/near/stakingWithdrawBuilder.d.ts +32 -0
- package/dist/src/coin/near/stakingWithdrawBuilder.d.ts.map +1 -0
- package/dist/src/coin/near/stakingWithdrawBuilder.js +89 -0
- package/dist/src/coin/near/transaction.d.ts +90 -0
- package/dist/src/coin/near/transaction.d.ts.map +1 -0
- package/dist/src/coin/near/transaction.js +368 -0
- package/dist/src/coin/near/transactionBuilder.d.ts +89 -0
- package/dist/src/coin/near/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/near/transactionBuilder.js +216 -0
- package/dist/src/coin/near/transactionBuilderFactory.d.ts +30 -0
- package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/near/transactionBuilderFactory.js +71 -0
- package/dist/src/coin/near/transferBuilder.d.ts +26 -0
- package/dist/src/coin/near/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/near/transferBuilder.js +72 -0
- package/dist/src/coin/near/utils.d.ts +42 -0
- package/dist/src/coin/near/utils.d.ts.map +1 -0
- package/dist/src/coin/near/utils.js +85 -0
- package/dist/src/coin/near/walletInitializationBuilder.d.ts +12 -0
- package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/near/walletInitializationBuilder.js +20 -0
- package/dist/src/coin/polygon/index.d.ts +8 -0
- package/dist/src/coin/polygon/index.d.ts.map +1 -0
- package/dist/src/coin/polygon/index.js +35 -0
- package/dist/src/coin/polygon/resources.d.ts +10 -0
- package/dist/src/coin/polygon/resources.d.ts.map +1 -0
- package/dist/src/coin/polygon/resources.js +25 -0
- package/dist/src/coin/polygon/transactionBuilder.d.ts +17 -0
- package/dist/src/coin/polygon/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/polygon/transactionBuilder.js +44 -0
- package/dist/src/coin/polygon/transferBuilder.d.ts +19 -0
- package/dist/src/coin/polygon/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/polygon/transferBuilder.js +27 -0
- package/dist/src/coin/polygon/utils.d.ts +18 -0
- package/dist/src/coin/polygon/utils.d.ts.map +1 -0
- package/dist/src/coin/polygon/utils.js +42 -0
- package/dist/src/coin/polygon/walletUtil.d.ts +48 -0
- package/dist/src/coin/polygon/walletUtil.d.ts.map +1 -0
- package/dist/src/coin/polygon/walletUtil.js +632 -0
- package/dist/src/coin/rbtc/index.d.ts +8 -0
- package/dist/src/coin/rbtc/index.d.ts.map +1 -0
- package/dist/src/coin/rbtc/index.js +35 -0
- package/dist/src/coin/rbtc/resources.d.ts +10 -0
- package/dist/src/coin/rbtc/resources.d.ts.map +1 -0
- package/dist/src/coin/rbtc/resources.js +25 -0
- package/dist/src/coin/rbtc/transactionBuilder.d.ts +17 -0
- package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/rbtc/transactionBuilder.js +44 -0
- package/dist/src/coin/rbtc/transferBuilder.d.ts +19 -0
- package/dist/src/coin/rbtc/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/rbtc/transferBuilder.js +27 -0
- package/dist/src/coin/rbtc/utils.d.ts +18 -0
- package/dist/src/coin/rbtc/utils.d.ts.map +1 -0
- package/dist/src/coin/rbtc/utils.js +42 -0
- package/dist/src/coin/sol/ataInitializationBuilder.d.ts +41 -0
- package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/ataInitializationBuilder.js +110 -0
- package/dist/src/coin/sol/ataInitializationTransaction.d.ts +14 -0
- package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +1 -0
- package/dist/src/coin/sol/ataInitializationTransaction.js +81 -0
- package/dist/src/coin/sol/constants.d.ts +58 -0
- package/dist/src/coin/sol/constants.d.ts.map +1 -0
- package/dist/src/coin/sol/constants.js +76 -0
- package/dist/src/coin/sol/iface.d.ts +99 -0
- package/dist/src/coin/sol/iface.d.ts.map +1 -0
- package/dist/src/coin/sol/iface.js +3 -0
- package/dist/src/coin/sol/index.d.ts +11 -0
- package/dist/src/coin/sol/index.d.ts.map +1 -0
- package/dist/src/coin/sol/index.js +41 -0
- package/dist/src/coin/sol/instructionParamsFactory.d.ts +12 -0
- package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +1 -0
- package/dist/src/coin/sol/instructionParamsFactory.js +260 -0
- package/dist/src/coin/sol/keyPair.d.ts +26 -0
- package/dist/src/coin/sol/keyPair.d.ts.map +1 -0
- package/dist/src/coin/sol/keyPair.js +63 -0
- package/dist/src/coin/sol/solInstructionFactory.d.ts +10 -0
- package/dist/src/coin/sol/solInstructionFactory.d.ts.map +1 -0
- package/dist/src/coin/sol/solInstructionFactory.js +213 -0
- package/dist/src/coin/sol/stakingActivateBuilder.d.ts +41 -0
- package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/stakingActivateBuilder.js +94 -0
- package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +23 -0
- package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/stakingDeactivateBuilder.js +62 -0
- package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +31 -0
- package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/stakingWithdrawBuilder.js +78 -0
- package/dist/src/coin/sol/tokenEncodeDecode.d.ts +85 -0
- package/dist/src/coin/sol/tokenEncodeDecode.d.ts.map +1 -0
- package/dist/src/coin/sol/tokenEncodeDecode.js +133 -0
- package/dist/src/coin/sol/tokenTransferBuilder.d.ts +27 -0
- package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/tokenTransferBuilder.js +73 -0
- package/dist/src/coin/sol/transaction.d.ts +61 -0
- package/dist/src/coin/sol/transaction.d.ts.map +1 -0
- package/dist/src/coin/sol/transaction.js +369 -0
- package/dist/src/coin/sol/transactionBuilder.d.ts +101 -0
- package/dist/src/coin/sol/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/transactionBuilder.js +261 -0
- package/dist/src/coin/sol/transactionBuilderFactory.d.ts +76 -0
- package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/sol/transactionBuilderFactory.js +136 -0
- package/dist/src/coin/sol/transferBuilder.d.ts +26 -0
- package/dist/src/coin/sol/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/transferBuilder.js +67 -0
- package/dist/src/coin/sol/utils.d.ts +146 -0
- package/dist/src/coin/sol/utils.d.ts.map +1 -0
- package/dist/src/coin/sol/utils.js +361 -0
- package/dist/src/coin/sol/walletInitializationBuilder.d.ts +26 -0
- package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/walletInitializationBuilder.js +71 -0
- package/dist/src/coin/stx/abstractContractBuilder.d.ts +19 -0
- package/dist/src/coin/stx/abstractContractBuilder.d.ts.map +1 -0
- package/dist/src/coin/stx/abstractContractBuilder.js +70 -0
- package/dist/src/coin/stx/constants.d.ts +8 -0
- package/dist/src/coin/stx/constants.d.ts.map +1 -0
- package/dist/src/coin/stx/constants.js +19 -0
- package/dist/src/coin/stx/contractBuilder.d.ts +33 -0
- package/dist/src/coin/stx/contractBuilder.d.ts.map +1 -0
- package/dist/src/coin/stx/contractBuilder.js +116 -0
- package/dist/src/coin/stx/iface.d.ts +48 -0
- package/dist/src/coin/stx/iface.d.ts.map +1 -0
- package/dist/src/coin/stx/iface.js +3 -0
- package/dist/src/coin/stx/index.d.ts +6 -0
- package/dist/src/coin/stx/index.d.ts.map +1 -0
- package/dist/src/coin/stx/index.js +32 -0
- package/dist/src/coin/stx/keyPair.d.ts +55 -0
- package/dist/src/coin/stx/keyPair.d.ts.map +1 -0
- package/dist/src/coin/stx/keyPair.js +140 -0
- package/dist/src/coin/stx/sendmanyBuilder.d.ts +23 -0
- package/dist/src/coin/stx/sendmanyBuilder.d.ts.map +1 -0
- package/dist/src/coin/stx/sendmanyBuilder.js +75 -0
- package/dist/src/coin/stx/transaction.d.ts +49 -0
- package/dist/src/coin/stx/transaction.d.ts.map +1 -0
- package/dist/src/coin/stx/transaction.js +225 -0
- package/dist/src/coin/stx/transactionBuilder.d.ts +86 -0
- package/dist/src/coin/stx/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/stx/transactionBuilder.js +263 -0
- package/dist/src/coin/stx/transactionBuilderFactory.d.ts +30 -0
- package/dist/src/coin/stx/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/stx/transactionBuilderFactory.js +81 -0
- package/dist/src/coin/stx/transferBuilder.d.ts +30 -0
- package/dist/src/coin/stx/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/stx/transferBuilder.js +99 -0
- package/dist/src/coin/stx/utils.d.ts +207 -0
- package/dist/src/coin/stx/utils.d.ts.map +1 -0
- package/dist/src/coin/stx/utils.js +503 -0
- package/dist/src/coin/trx/address.d.ts +11 -0
- package/dist/src/coin/trx/address.d.ts.map +1 -0
- package/dist/src/coin/trx/address.js +13 -0
- package/dist/src/coin/trx/contractCallBuilder.d.ts +96 -0
- package/dist/src/coin/trx/contractCallBuilder.d.ts.map +1 -0
- package/dist/src/coin/trx/contractCallBuilder.js +281 -0
- package/dist/src/coin/trx/enum.d.ts +23 -0
- package/dist/src/coin/trx/enum.d.ts.map +1 -0
- package/dist/src/coin/trx/enum.js +28 -0
- package/dist/src/coin/trx/iface.d.ts +92 -0
- package/dist/src/coin/trx/iface.d.ts.map +1 -0
- package/dist/src/coin/trx/iface.js +3 -0
- package/dist/src/coin/trx/index.d.ts +10 -0
- package/dist/src/coin/trx/index.d.ts.map +1 -0
- package/dist/src/coin/trx/index.js +39 -0
- package/dist/src/coin/trx/keyPair.d.ts +44 -0
- package/dist/src/coin/trx/keyPair.d.ts.map +1 -0
- package/dist/src/coin/trx/keyPair.js +121 -0
- package/dist/src/coin/trx/transaction.d.ts +74 -0
- package/dist/src/coin/trx/transaction.d.ts.map +1 -0
- package/dist/src/coin/trx/transaction.js +205 -0
- package/dist/src/coin/trx/transactionBuilder.d.ts +65 -0
- package/dist/src/coin/trx/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/trx/transactionBuilder.js +215 -0
- package/dist/src/coin/trx/utils.d.ts +127 -0
- package/dist/src/coin/trx/utils.d.ts.map +1 -0
- package/dist/src/coin/trx/utils.js +369 -0
- package/dist/src/coin/trx/wrappedBuilder.d.ts +52 -0
- package/dist/src/coin/trx/wrappedBuilder.d.ts.map +1 -0
- package/dist/src/coin/trx/wrappedBuilder.js +104 -0
- package/dist/src/coin/xrp/index.d.ts +5 -0
- package/dist/src/coin/xrp/index.d.ts.map +1 -0
- package/dist/src/coin/xrp/index.js +29 -0
- package/dist/src/coin/xrp/keyPair.d.ts +10 -0
- package/dist/src/coin/xrp/keyPair.d.ts.map +1 -0
- package/dist/src/coin/xrp/keyPair.js +16 -0
- package/dist/src/coin/xrp/transaction.d.ts +10 -0
- package/dist/src/coin/xrp/transaction.d.ts.map +1 -0
- package/dist/src/coin/xrp/transaction.js +20 -0
- package/dist/src/coin/xrp/transactionBuilder.d.ts +27 -0
- package/dist/src/coin/xrp/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/xrp/transactionBuilder.js +46 -0
- package/dist/src/coin/xrp/transactionBuilderFactory.d.ts +24 -0
- package/dist/src/coin/xrp/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/xrp/transactionBuilderFactory.js +38 -0
- package/dist/src/coin/xrp/transferBuilder.d.ts +14 -0
- package/dist/src/coin/xrp/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/xrp/transferBuilder.js +24 -0
- package/dist/src/coin/xrp/utils.d.ts +16 -0
- package/dist/src/coin/xrp/utils.d.ts.map +1 -0
- package/dist/src/coin/xrp/utils.js +32 -0
- package/dist/src/coin/xrp/walletInitializationBuilder.d.ts +14 -0
- package/dist/src/coin/xrp/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/xrp/walletInitializationBuilder.js +24 -0
- package/dist/src/coin/xtz/address.d.ts +8 -0
- package/dist/src/coin/xtz/address.d.ts.map +1 -0
- package/dist/src/coin/xtz/address.js +10 -0
- package/dist/src/coin/xtz/iface.d.ts +81 -0
- package/dist/src/coin/xtz/iface.d.ts.map +1 -0
- package/dist/src/coin/xtz/iface.js +3 -0
- package/dist/src/coin/xtz/index.d.ts +8 -0
- package/dist/src/coin/xtz/index.d.ts.map +1 -0
- package/dist/src/coin/xtz/index.js +37 -0
- package/dist/src/coin/xtz/keyPair.d.ts +40 -0
- package/dist/src/coin/xtz/keyPair.d.ts.map +1 -0
- package/dist/src/coin/xtz/keyPair.js +136 -0
- package/dist/src/coin/xtz/multisigUtils.d.ts +134 -0
- package/dist/src/coin/xtz/multisigUtils.d.ts.map +1 -0
- package/dist/src/coin/xtz/multisigUtils.js +1180 -0
- package/dist/src/coin/xtz/transaction.d.ts +119 -0
- package/dist/src/coin/xtz/transaction.d.ts.map +1 -0
- package/dist/src/coin/xtz/transaction.js +315 -0
- package/dist/src/coin/xtz/transactionBuilder.d.ts +171 -0
- package/dist/src/coin/xtz/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/xtz/transactionBuilder.js +453 -0
- package/dist/src/coin/xtz/transferBuilder.d.ts +24 -0
- package/dist/src/coin/xtz/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/xtz/transferBuilder.js +64 -0
- package/dist/src/coin/xtz/utils.d.ts +265 -0
- package/dist/src/coin/xtz/utils.d.ts.map +1 -0
- package/dist/src/coin/xtz/utils.js +460 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -2
- package/dist/src/mpc/curves/baseCurve.d.ts +18 -0
- package/dist/src/mpc/curves/baseCurve.d.ts.map +1 -0
- package/dist/src/mpc/curves/baseCurve.js +6 -0
- package/dist/src/mpc/curves/ed25519.d.ts +17 -0
- package/dist/src/mpc/curves/ed25519.d.ts.map +1 -0
- package/dist/src/mpc/curves/ed25519.js +48 -0
- package/dist/src/mpc/curves/index.d.ts +5 -0
- package/dist/src/mpc/curves/index.d.ts.map +1 -0
- package/dist/src/mpc/curves/index.js +6 -0
- package/dist/src/mpc/curves/secp256k1.d.ts +16 -0
- package/dist/src/mpc/curves/secp256k1.d.ts.map +1 -0
- package/dist/src/mpc/curves/secp256k1.js +66 -0
- package/dist/src/mpc/curves.d.ts +29 -0
- package/dist/src/mpc/curves.d.ts.map +1 -0
- package/dist/src/mpc/curves.js +96 -0
- package/dist/src/mpc/hdTree.d.ts +24 -0
- package/dist/src/mpc/hdTree.d.ts.map +1 -0
- package/dist/src/mpc/hdTree.js +143 -0
- package/dist/src/mpc/shamir.d.ts +26 -0
- package/dist/src/mpc/shamir.d.ts.map +1 -0
- package/dist/src/mpc/shamir.js +87 -0
- package/dist/src/mpc/tss/eddsa/eddsa.d.ts +29 -0
- package/dist/src/mpc/tss/eddsa/eddsa.d.ts.map +1 -0
- package/dist/src/mpc/tss/eddsa/eddsa.js +273 -0
- package/dist/src/mpc/tss/eddsa/index.d.ts +4 -0
- package/dist/src/mpc/tss/eddsa/index.d.ts.map +1 -0
- package/dist/src/mpc/tss/eddsa/index.js +30 -0
- package/dist/src/mpc/tss/eddsa/types.d.ts +70 -0
- package/dist/src/mpc/tss/eddsa/types.d.ts.map +1 -0
- package/dist/src/mpc/tss/eddsa/types.js +3 -0
- package/dist/src/mpc/tss/index.d.ts +5 -0
- package/dist/src/mpc/tss/index.d.ts.map +1 -0
- package/dist/src/mpc/tss/index.js +32 -0
- package/dist/src/mpc/tss.d.ts +98 -0
- package/dist/src/mpc/tss.d.ts.map +1 -0
- package/dist/src/mpc/tss.js +344 -0
- package/dist/src/mpc/util.d.ts +7 -0
- package/dist/src/mpc/util.d.ts.map +1 -0
- package/dist/src/mpc/util.js +38 -0
- package/dist/src/utils/crypto.d.ts +99 -0
- package/dist/src/utils/crypto.d.ts.map +1 -0
- package/dist/src/utils/crypto.js +260 -0
- package/dist/src/utils/ed25519KeyDeriver.d.ts +49 -0
- package/dist/src/utils/ed25519KeyDeriver.d.ts.map +1 -0
- package/dist/src/utils/ed25519KeyDeriver.js +92 -0
- package/dist/tsconfig.tsbuildinfo +7282 -1934
- package/package.json +24 -27
|
@@ -0,0 +1,277 @@
|
|
|
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 utils_1 = require("../eth/utils");
|
|
9
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
10
|
+
const stakingCall_1 = require("./stakingCall");
|
|
11
|
+
const stakingUtils_1 = require("./stakingUtils");
|
|
12
|
+
class StakingBuilder {
|
|
13
|
+
constructor(coinConfig, serializedData) {
|
|
14
|
+
this.DEFAULT_ADDRESS = '0x0000000000000000000000000000000000000000';
|
|
15
|
+
this._lesser = this.DEFAULT_ADDRESS;
|
|
16
|
+
this._greater = this.DEFAULT_ADDRESS;
|
|
17
|
+
this._coinConfig = coinConfig;
|
|
18
|
+
if (serializedData) {
|
|
19
|
+
this.decodeStakingData(serializedData);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
// region Staking properties
|
|
23
|
+
type(type) {
|
|
24
|
+
this._type = type;
|
|
25
|
+
return this;
|
|
26
|
+
}
|
|
27
|
+
amount(value) {
|
|
28
|
+
if (!utils_1.isValidAmount(value)) {
|
|
29
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid value for stake transaction');
|
|
30
|
+
}
|
|
31
|
+
this._amount = value;
|
|
32
|
+
return this;
|
|
33
|
+
}
|
|
34
|
+
group(validatorGroup) {
|
|
35
|
+
if (!utils_1.isValidEthAddress(validatorGroup)) {
|
|
36
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid validator group address');
|
|
37
|
+
}
|
|
38
|
+
this._validatorGroup = validatorGroup;
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
lesser(lesser) {
|
|
42
|
+
if (!utils_1.isValidEthAddress(lesser)) {
|
|
43
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid address for lesser');
|
|
44
|
+
}
|
|
45
|
+
this._lesser = lesser;
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
greater(greater) {
|
|
49
|
+
if (!utils_1.isValidEthAddress(greater)) {
|
|
50
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid address for greater');
|
|
51
|
+
}
|
|
52
|
+
this._greater = greater;
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
index(index) {
|
|
56
|
+
if (index < 0) {
|
|
57
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid index for staking transaction');
|
|
58
|
+
}
|
|
59
|
+
this._index = index;
|
|
60
|
+
return this;
|
|
61
|
+
}
|
|
62
|
+
// endregion
|
|
63
|
+
// region Staking building
|
|
64
|
+
build() {
|
|
65
|
+
this.validateMandatoryFields();
|
|
66
|
+
switch (this._type) {
|
|
67
|
+
case sdk_core_1.StakingOperationTypes.LOCK:
|
|
68
|
+
this.validateAmount();
|
|
69
|
+
return this.buildLockStaking();
|
|
70
|
+
case sdk_core_1.StakingOperationTypes.VOTE:
|
|
71
|
+
this.validateElectionFields();
|
|
72
|
+
return this.buildVoteStaking();
|
|
73
|
+
case sdk_core_1.StakingOperationTypes.ACTIVATE:
|
|
74
|
+
this.validateGroup();
|
|
75
|
+
return this.buildActivateStaking();
|
|
76
|
+
case sdk_core_1.StakingOperationTypes.UNVOTE:
|
|
77
|
+
this.validateUnvoteFields();
|
|
78
|
+
return this.buildUnvoteStaking();
|
|
79
|
+
case sdk_core_1.StakingOperationTypes.UNLOCK:
|
|
80
|
+
this.validateAmount();
|
|
81
|
+
return this.buildUnlockStaking();
|
|
82
|
+
case sdk_core_1.StakingOperationTypes.WITHDRAW:
|
|
83
|
+
this.validateIndex();
|
|
84
|
+
return this.buildWithdrawStaking();
|
|
85
|
+
default:
|
|
86
|
+
throw new sdk_core_1.InvalidTransactionError('Invalid staking operation: ' + this._type);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Builds a lock gold operation sending the amount on the transaction value field
|
|
91
|
+
*
|
|
92
|
+
* @returns {StakingCall} a lock gold operation using the LockedGold contract
|
|
93
|
+
*/
|
|
94
|
+
buildLockStaking() {
|
|
95
|
+
const operation = stakingUtils_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
96
|
+
return new stakingCall_1.StakingCall(this._amount, operation.contractAddress, operation.methodId, operation.types, []);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Builds an unlock gold operation sending the amount encoded on the data field
|
|
100
|
+
*
|
|
101
|
+
* params
|
|
102
|
+
* amount: amount of locked gold to be unlocked
|
|
103
|
+
*
|
|
104
|
+
* @returns {StakingCall} an unlock gold operation using the LockedGold contract
|
|
105
|
+
*/
|
|
106
|
+
buildUnlockStaking() {
|
|
107
|
+
const operation = stakingUtils_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
108
|
+
const params = [this._amount];
|
|
109
|
+
return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Builds a vote operation that uses locked gold to add pending votes for a validator group.
|
|
113
|
+
*
|
|
114
|
+
* params
|
|
115
|
+
* validatorGroup: group to vote for
|
|
116
|
+
* amount: amount of votes (locked gold) for the group
|
|
117
|
+
* lesser: validator group that has less votes than the validatorGroup
|
|
118
|
+
* greater: validator group that has more vots than the validatorGroup
|
|
119
|
+
*
|
|
120
|
+
* @returns {StakingCall} an vote operation using the Election contract
|
|
121
|
+
*/
|
|
122
|
+
buildVoteStaking() {
|
|
123
|
+
const operation = stakingUtils_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
124
|
+
const params = [this._validatorGroup, this._amount, this._lesser, this._greater];
|
|
125
|
+
return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Builds an unvote operation to revoke active votes for a validator group.
|
|
129
|
+
*
|
|
130
|
+
* params
|
|
131
|
+
* validatorGroup: group whose votes will be revoked
|
|
132
|
+
* amount: amount of votes (locked gold) that will be revoked
|
|
133
|
+
* lesser: validator group that has less votes than the validatorGroup
|
|
134
|
+
* greater: validator group that has more vots than the validatorGroup
|
|
135
|
+
* index: index of the validatorGroup on the list of groups the address has voted for
|
|
136
|
+
*
|
|
137
|
+
* @returns {StakingCall} an vote operation using the Election contract
|
|
138
|
+
*/
|
|
139
|
+
buildUnvoteStaking() {
|
|
140
|
+
const operation = stakingUtils_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
141
|
+
const params = [this._validatorGroup, this._amount, this._lesser, this._greater, this._index.toString()];
|
|
142
|
+
return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Builds an activate vote operation to change all the votes casted for a validator
|
|
146
|
+
* from 'pending' to 'active'
|
|
147
|
+
*
|
|
148
|
+
* params
|
|
149
|
+
* validatorGroup: group whose votes will be activated
|
|
150
|
+
*
|
|
151
|
+
* @returns {StakingCall} an activate votes operation
|
|
152
|
+
*/
|
|
153
|
+
buildActivateStaking() {
|
|
154
|
+
const operation = stakingUtils_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
155
|
+
const params = [this._validatorGroup];
|
|
156
|
+
return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Builds a withdraw operation for locked gold that has been unlocked
|
|
160
|
+
* after the unlocking period has passed.
|
|
161
|
+
*
|
|
162
|
+
* params
|
|
163
|
+
* index: index of the unlock operation whose unlocking period has passed.
|
|
164
|
+
*
|
|
165
|
+
* @returns {StakingCall} an activate votes operation
|
|
166
|
+
*/
|
|
167
|
+
buildWithdrawStaking() {
|
|
168
|
+
const operation = stakingUtils_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
169
|
+
const params = [this._index.toString()];
|
|
170
|
+
return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
|
|
171
|
+
}
|
|
172
|
+
// endregion
|
|
173
|
+
// region Validation methods
|
|
174
|
+
validateMandatoryFields() {
|
|
175
|
+
if (!(this._type !== undefined && this._coinConfig)) {
|
|
176
|
+
throw new sdk_core_1.BuildTransactionError('Missing staking mandatory fields. Type and coin are required');
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
validateElectionFields() {
|
|
180
|
+
this.validateGroup();
|
|
181
|
+
this.validateAmount();
|
|
182
|
+
if (this._lesser === this._greater) {
|
|
183
|
+
throw new sdk_core_1.BuildTransactionError('Greater and lesser values should not be the same');
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
validateIndex() {
|
|
187
|
+
if (this._index === undefined) {
|
|
188
|
+
throw new sdk_core_1.BuildTransactionError('Missing index for staking transaction');
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
validateAmount() {
|
|
192
|
+
if (this._amount === undefined) {
|
|
193
|
+
throw new sdk_core_1.BuildTransactionError('Missing amount for staking transaction');
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
validateUnvoteFields() {
|
|
197
|
+
this.validateElectionFields();
|
|
198
|
+
this.validateIndex();
|
|
199
|
+
}
|
|
200
|
+
validateGroup() {
|
|
201
|
+
if (!this._validatorGroup) {
|
|
202
|
+
throw new sdk_core_1.BuildTransactionError('Missing validator group for staking transaction');
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
// endregion
|
|
206
|
+
// region Deserialization methods
|
|
207
|
+
decodeStakingData(data) {
|
|
208
|
+
this.classifyStakingType(data);
|
|
209
|
+
const operation = stakingUtils_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
210
|
+
const decoded = utils_1.getRawDecoded(operation.types, utils_1.getBufferedByteCode(operation.methodId, data));
|
|
211
|
+
switch (this._type) {
|
|
212
|
+
case sdk_core_1.StakingOperationTypes.VOTE:
|
|
213
|
+
this.validateDecodedDataLength(decoded.length, 4, data);
|
|
214
|
+
const [groupToVote, amount, lesser, greater] = decoded;
|
|
215
|
+
this._amount = ethereumjs_utils_old_1.default.bufferToHex(amount);
|
|
216
|
+
this._validatorGroup = ethereumjs_utils_old_1.default.addHexPrefix(groupToVote);
|
|
217
|
+
this._lesser = ethereumjs_utils_old_1.default.addHexPrefix(lesser);
|
|
218
|
+
this._greater = ethereumjs_utils_old_1.default.addHexPrefix(greater);
|
|
219
|
+
break;
|
|
220
|
+
case sdk_core_1.StakingOperationTypes.UNVOTE:
|
|
221
|
+
this.validateDecodedDataLength(decoded.length, 5, data);
|
|
222
|
+
const [groupToUnvote, amountUnvote, lesserUnvote, greaterUnvote, indexUnvote] = decoded;
|
|
223
|
+
this._validatorGroup = ethereumjs_utils_old_1.default.addHexPrefix(groupToUnvote);
|
|
224
|
+
this._amount = ethereumjs_utils_old_1.default.bufferToHex(amountUnvote);
|
|
225
|
+
this._lesser = ethereumjs_utils_old_1.default.addHexPrefix(lesserUnvote);
|
|
226
|
+
this._greater = ethereumjs_utils_old_1.default.addHexPrefix(greaterUnvote);
|
|
227
|
+
this._index = utils_1.hexStringToNumber(ethereumjs_utils_old_1.default.bufferToHex(indexUnvote));
|
|
228
|
+
break;
|
|
229
|
+
case sdk_core_1.StakingOperationTypes.ACTIVATE:
|
|
230
|
+
this.validateDecodedDataLength(decoded.length, 1, data);
|
|
231
|
+
const [groupToActivate] = decoded;
|
|
232
|
+
this._validatorGroup = ethereumjs_utils_old_1.default.addHexPrefix(groupToActivate);
|
|
233
|
+
break;
|
|
234
|
+
case sdk_core_1.StakingOperationTypes.UNLOCK:
|
|
235
|
+
if (decoded.length !== 1) {
|
|
236
|
+
throw new sdk_core_1.BuildTransactionError(`Invalid unlock decoded data: ${data}`);
|
|
237
|
+
}
|
|
238
|
+
const [decodedAmount] = decoded;
|
|
239
|
+
this._amount = ethereumjs_utils_old_1.default.bufferToHex(decodedAmount);
|
|
240
|
+
break;
|
|
241
|
+
case sdk_core_1.StakingOperationTypes.WITHDRAW:
|
|
242
|
+
this.validateDecodedDataLength(decoded.length, 1, data);
|
|
243
|
+
const [index] = decoded;
|
|
244
|
+
this._index = utils_1.hexStringToNumber(ethereumjs_utils_old_1.default.bufferToHex(index));
|
|
245
|
+
break;
|
|
246
|
+
default:
|
|
247
|
+
throw new sdk_core_1.BuildTransactionError(`Invalid staking data: ${this._type}`);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
validateDecodedDataLength(actual, expected, data) {
|
|
251
|
+
if (actual !== expected) {
|
|
252
|
+
throw new sdk_core_1.BuildTransactionError(`Invalid staking decoded data: ${data}`);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
classifyStakingType(data) {
|
|
256
|
+
if (data.startsWith(stakingUtils_1.VoteMethodId)) {
|
|
257
|
+
this._type = sdk_core_1.StakingOperationTypes.VOTE;
|
|
258
|
+
}
|
|
259
|
+
else if (data.startsWith(stakingUtils_1.UnvoteMethodId)) {
|
|
260
|
+
this._type = sdk_core_1.StakingOperationTypes.UNVOTE;
|
|
261
|
+
}
|
|
262
|
+
else if (data.startsWith(stakingUtils_1.ActivateMethodId)) {
|
|
263
|
+
this._type = sdk_core_1.StakingOperationTypes.ACTIVATE;
|
|
264
|
+
}
|
|
265
|
+
else if (data.startsWith(stakingUtils_1.UnlockMethodId)) {
|
|
266
|
+
this._type = sdk_core_1.StakingOperationTypes.UNLOCK;
|
|
267
|
+
}
|
|
268
|
+
else if (data.startsWith(stakingUtils_1.WithdrawMethodId)) {
|
|
269
|
+
this._type = sdk_core_1.StakingOperationTypes.WITHDRAW;
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
throw new sdk_core_1.BuildTransactionError(`Invalid staking bytecode: ${data}`);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
exports.StakingBuilder = StakingBuilder;
|
|
277
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9jZWxvL3N0YWtpbmdCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHVGQUFrRDtBQUVsRCx3Q0FBdUg7QUFDdkgsOENBS3lCO0FBQ3pCLCtDQUE0QztBQUM1QyxpREFPd0I7QUFFeEIsTUFBYSxjQUFjO0lBVXpCLFlBQVksVUFBZ0MsRUFBRSxjQUF1QjtRQVRwRCxvQkFBZSxHQUFHLDRDQUE0QyxDQUFDO1FBR3hFLFlBQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQy9CLGFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBTXRDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksY0FBYyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRCw0QkFBNEI7SUFFNUIsSUFBSSxDQUFDLElBQTJCO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxxQkFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxxQ0FBMEIsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1NBQzdFO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQXNCO1FBQzFCLElBQUksQ0FBQyx5QkFBaUIsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUN0QyxNQUFNLElBQUkscUNBQTBCLENBQUMsaUNBQWlDLENBQUMsQ0FBQztTQUN6RTtRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO1FB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QUFJLENBQUMsVUFBVSxDQUFDLDJCQUFZLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLGdDQUFxQixDQUFDLElBQUksQ0FBQztTQUN6QzthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBYyxDQUFDLEVBQUU7WUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxnQ0FBcUIsQ0FBQyxNQUFNLENBQUM7U0FDM0M7YUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsK0JBQWdCLENBQUMsRUFBRTtZQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLGdDQUFxQixDQUFDLFFBQVEsQ0FBQztTQUM3QzthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBYyxDQUFDLEVBQUU7WUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxnQ0FBcUIsQ0FBQyxNQUFNLENBQUM7U0FDM0M7YUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsK0JBQWdCLENBQUMsRUFBRTtZQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLGdDQUFxQixDQUFDLFFBQVEsQ0FBQztTQUM3QzthQUFNO1lBQ0wsTUFBTSxJQUFJLGdDQUFxQixDQUFDLDZCQUE2QixJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3RFO0lBQ0gsQ0FBQztDQUdGO0FBdlNELHdDQXVTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBldGhVdGlsIGZyb20gJ0BiaXRnby9ldGhlcmV1bWpzLXV0aWxzLW9sZCc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgaXNWYWxpZEFtb3VudCwgaXNWYWxpZEV0aEFkZHJlc3MsIGdldFJhd0RlY29kZWQsIGdldEJ1ZmZlcmVkQnl0ZUNvZGUsIGhleFN0cmluZ1RvTnVtYmVyIH0gZnJvbSAnLi4vZXRoL3V0aWxzJztcbmltcG9ydCB7XG4gIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IsXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxuICBTdGFraW5nT3BlcmF0aW9uVHlwZXMsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBTdGFraW5nQ2FsbCB9IGZyb20gJy4vc3Rha2luZ0NhbGwnO1xuaW1wb3J0IHtcbiAgZ2V0T3BlcmF0aW9uQ29uZmlnLFxuICBWb3RlTWV0aG9kSWQsXG4gIFVudm90ZU1ldGhvZElkLFxuICBBY3RpdmF0ZU1ldGhvZElkLFxuICBVbmxvY2tNZXRob2RJZCxcbiAgV2l0aGRyYXdNZXRob2RJZCxcbn0gZnJvbSAnLi9zdGFraW5nVXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgU3Rha2luZ0J1aWxkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfQUREUkVTUyA9ICcweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnO1xuICBwcml2YXRlIF9hbW91bnQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfdmFsaWRhdG9yR3JvdXA6IHN0cmluZztcbiAgcHJpdmF0ZSBfbGVzc2VyID0gdGhpcy5ERUZBVUxUX0FERFJFU1M7XG4gIHByaXZhdGUgX2dyZWF0ZXIgPSB0aGlzLkRFRkFVTFRfQUREUkVTUztcbiAgcHJpdmF0ZSBfaW5kZXg6IG51bWJlcjtcbiAgcHJpdmF0ZSBfdHlwZTogU3Rha2luZ09wZXJhdGlvblR5cGVzO1xuICBwcml2YXRlIF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPjtcblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPiwgc2VyaWFsaXplZERhdGE/OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb2luQ29uZmlnID0gY29pbkNvbmZpZztcbiAgICBpZiAoc2VyaWFsaXplZERhdGEpIHtcbiAgICAgIHRoaXMuZGVjb2RlU3Rha2luZ0RhdGEoc2VyaWFsaXplZERhdGEpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHJlZ2lvbiBTdGFraW5nIHByb3BlcnRpZXNcblxuICB0eXBlKHR5cGU6IFN0YWtpbmdPcGVyYXRpb25UeXBlcyk6IHRoaXMge1xuICAgIHRoaXMuX3R5cGUgPSB0eXBlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgYW1vdW50KHZhbHVlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlzVmFsaWRBbW91bnQodmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgdmFsdWUgZm9yIHN0YWtlIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHRoaXMuX2Ftb3VudCA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZ3JvdXAodmFsaWRhdG9yR3JvdXA6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaXNWYWxpZEV0aEFkZHJlc3ModmFsaWRhdG9yR3JvdXApKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgdmFsaWRhdG9yIGdyb3VwIGFkZHJlc3MnKTtcbiAgICB9XG4gICAgdGhpcy5fdmFsaWRhdG9yR3JvdXAgPSB2YWxpZGF0b3JHcm91cDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGxlc3NlcihsZXNzZXI6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaXNWYWxpZEV0aEFkZHJlc3MobGVzc2VyKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGFkZHJlc3MgZm9yIGxlc3NlcicpO1xuICAgIH1cbiAgICB0aGlzLl9sZXNzZXIgPSBsZXNzZXI7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBncmVhdGVyKGdyZWF0ZXI6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaXNWYWxpZEV0aEFkZHJlc3MoZ3JlYXRlcikpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhZGRyZXNzIGZvciBncmVhdGVyJyk7XG4gICAgfVxuICAgIHRoaXMuX2dyZWF0ZXIgPSBncmVhdGVyO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgaW5kZXgoaW5kZXg6IG51bWJlcik6IHRoaXMge1xuICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBpbmRleCBmb3Igc3Rha2luZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICB0aGlzLl9pbmRleCA9IGluZGV4O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIFN0YWtpbmcgYnVpbGRpbmdcblxuICBidWlsZCgpOiBTdGFraW5nQ2FsbCB7XG4gICAgdGhpcy52YWxpZGF0ZU1hbmRhdG9yeUZpZWxkcygpO1xuICAgIHN3aXRjaCAodGhpcy5fdHlwZSkge1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuTE9DSzpcbiAgICAgICAgdGhpcy52YWxpZGF0ZUFtb3VudCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5idWlsZExvY2tTdGFraW5nKCk7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5WT1RFOlxuICAgICAgICB0aGlzLnZhbGlkYXRlRWxlY3Rpb25GaWVsZHMoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRWb3RlU3Rha2luZygpO1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuQUNUSVZBVEU6XG4gICAgICAgIHRoaXMudmFsaWRhdGVHcm91cCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5idWlsZEFjdGl2YXRlU3Rha2luZygpO1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuVU5WT1RFOlxuICAgICAgICB0aGlzLnZhbGlkYXRlVW52b3RlRmllbGRzKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkVW52b3RlU3Rha2luZygpO1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuVU5MT0NLOlxuICAgICAgICB0aGlzLnZhbGlkYXRlQW1vdW50KCk7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkVW5sb2NrU3Rha2luZygpO1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuV0lUSERSQVc6XG4gICAgICAgIHRoaXMudmFsaWRhdGVJbmRleCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5idWlsZFdpdGhkcmF3U3Rha2luZygpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHN0YWtpbmcgb3BlcmF0aW9uOiAnICsgdGhpcy5fdHlwZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhIGxvY2sgZ29sZCBvcGVyYXRpb24gc2VuZGluZyB0aGUgYW1vdW50IG9uIHRoZSB0cmFuc2FjdGlvbiB2YWx1ZSBmaWVsZFxuICAgKlxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0NhbGx9IGEgbG9jayBnb2xkIG9wZXJhdGlvbiB1c2luZyB0aGUgTG9ja2VkR29sZCBjb250cmFjdFxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZExvY2tTdGFraW5nKCk6IFN0YWtpbmdDYWxsIHtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBnZXRPcGVyYXRpb25Db25maWcodGhpcy5fdHlwZSwgdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuICAgIHJldHVybiBuZXcgU3Rha2luZ0NhbGwodGhpcy5fYW1vdW50LCBvcGVyYXRpb24uY29udHJhY3RBZGRyZXNzLCBvcGVyYXRpb24ubWV0aG9kSWQsIG9wZXJhdGlvbi50eXBlcywgW10pO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhbiB1bmxvY2sgZ29sZCBvcGVyYXRpb24gc2VuZGluZyB0aGUgYW1vdW50IGVuY29kZWQgb24gdGhlIGRhdGEgZmllbGRcbiAgICpcbiAgICogcGFyYW1zXG4gICAqIGFtb3VudDogYW1vdW50IG9mIGxvY2tlZCBnb2xkIHRvIGJlIHVubG9ja2VkXG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQ2FsbH0gYW4gdW5sb2NrIGdvbGQgb3BlcmF0aW9uIHVzaW5nIHRoZSBMb2NrZWRHb2xkIGNvbnRyYWN0XG4gICAqL1xuICBwcml2YXRlIGJ1aWxkVW5sb2NrU3Rha2luZygpOiBTdGFraW5nQ2FsbCB7XG4gICAgY29uc3Qgb3BlcmF0aW9uID0gZ2V0T3BlcmF0aW9uQ29uZmlnKHRoaXMuX3R5cGUsIHRoaXMuX2NvaW5Db25maWcubmV0d29yay50eXBlKTtcbiAgICBjb25zdCBwYXJhbXMgPSBbdGhpcy5fYW1vdW50XTtcbiAgICByZXR1cm4gbmV3IFN0YWtpbmdDYWxsKCcwJywgb3BlcmF0aW9uLmNvbnRyYWN0QWRkcmVzcywgb3BlcmF0aW9uLm1ldGhvZElkLCBvcGVyYXRpb24udHlwZXMsIHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGEgdm90ZSBvcGVyYXRpb24gdGhhdCB1c2VzIGxvY2tlZCBnb2xkIHRvIGFkZCBwZW5kaW5nIHZvdGVzIGZvciBhIHZhbGlkYXRvciBncm91cC5cbiAgICpcbiAgICogcGFyYW1zXG4gICAqIHZhbGlkYXRvckdyb3VwOiBncm91cCB0byB2b3RlIGZvclxuICAgKiBhbW91bnQ6IGFtb3VudCBvZiB2b3RlcyAobG9ja2VkIGdvbGQpIGZvciB0aGUgZ3JvdXBcbiAgICogbGVzc2VyOiB2YWxpZGF0b3IgZ3JvdXAgdGhhdCBoYXMgbGVzcyB2b3RlcyB0aGFuIHRoZSB2YWxpZGF0b3JHcm91cFxuICAgKiBncmVhdGVyOiB2YWxpZGF0b3IgZ3JvdXAgdGhhdCBoYXMgbW9yZSB2b3RzIHRoYW4gdGhlIHZhbGlkYXRvckdyb3VwXG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQ2FsbH0gYW4gdm90ZSBvcGVyYXRpb24gdXNpbmcgdGhlIEVsZWN0aW9uIGNvbnRyYWN0XG4gICAqL1xuICBwcml2YXRlIGJ1aWxkVm90ZVN0YWtpbmcoKTogU3Rha2luZ0NhbGwge1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IGdldE9wZXJhdGlvbkNvbmZpZyh0aGlzLl90eXBlLCB0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgY29uc3QgcGFyYW1zID0gW3RoaXMuX3ZhbGlkYXRvckdyb3VwLCB0aGlzLl9hbW91bnQsIHRoaXMuX2xlc3NlciwgdGhpcy5fZ3JlYXRlcl07XG4gICAgcmV0dXJuIG5ldyBTdGFraW5nQ2FsbCgnMCcsIG9wZXJhdGlvbi5jb250cmFjdEFkZHJlc3MsIG9wZXJhdGlvbi5tZXRob2RJZCwgb3BlcmF0aW9uLnR5cGVzLCBwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhbiB1bnZvdGUgb3BlcmF0aW9uIHRvIHJldm9rZSBhY3RpdmUgdm90ZXMgZm9yIGEgdmFsaWRhdG9yIGdyb3VwLlxuICAgKlxuICAgKiBwYXJhbXNcbiAgICogdmFsaWRhdG9yR3JvdXA6IGdyb3VwIHdob3NlIHZvdGVzIHdpbGwgYmUgcmV2b2tlZFxuICAgKiBhbW91bnQ6IGFtb3VudCBvZiB2b3RlcyAobG9ja2VkIGdvbGQpIHRoYXQgd2lsbCBiZSByZXZva2VkXG4gICAqIGxlc3NlcjogdmFsaWRhdG9yIGdyb3VwIHRoYXQgaGFzIGxlc3Mgdm90ZXMgdGhhbiB0aGUgdmFsaWRhdG9yR3JvdXBcbiAgICogZ3JlYXRlcjogdmFsaWRhdG9yIGdyb3VwIHRoYXQgaGFzIG1vcmUgdm90cyB0aGFuIHRoZSB2YWxpZGF0b3JHcm91cFxuICAgKiBpbmRleDogaW5kZXggb2YgdGhlIHZhbGlkYXRvckdyb3VwIG9uIHRoZSBsaXN0IG9mIGdyb3VwcyB0aGUgYWRkcmVzcyBoYXMgdm90ZWQgZm9yXG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQ2FsbH0gYW4gdm90ZSBvcGVyYXRpb24gdXNpbmcgdGhlIEVsZWN0aW9uIGNvbnRyYWN0XG4gICAqL1xuICBwcml2YXRlIGJ1aWxkVW52b3RlU3Rha2luZygpOiBTdGFraW5nQ2FsbCB7XG4gICAgY29uc3Qgb3BlcmF0aW9uID0gZ2V0T3BlcmF0aW9uQ29uZmlnKHRoaXMuX3R5cGUsIHRoaXMuX2NvaW5Db25maWcubmV0d29yay50eXBlKTtcbiAgICBjb25zdCBwYXJhbXMgPSBbdGhpcy5fdmFsaWRhdG9yR3JvdXAsIHRoaXMuX2Ftb3VudCwgdGhpcy5fbGVzc2VyLCB0aGlzLl9ncmVhdGVyLCB0aGlzLl9pbmRleC50b1N0cmluZygpXTtcbiAgICByZXR1cm4gbmV3IFN0YWtpbmdDYWxsKCcwJywgb3BlcmF0aW9uLmNvbnRyYWN0QWRkcmVzcywgb3BlcmF0aW9uLm1ldGhvZElkLCBvcGVyYXRpb24udHlwZXMsIHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGFuIGFjdGl2YXRlIHZvdGUgb3BlcmF0aW9uIHRvIGNoYW5nZSBhbGwgdGhlIHZvdGVzIGNhc3RlZCBmb3IgYSB2YWxpZGF0b3JcbiAgICogZnJvbSAncGVuZGluZycgdG8gJ2FjdGl2ZSdcbiAgICpcbiAgICogcGFyYW1zXG4gICAqIHZhbGlkYXRvckdyb3VwOiBncm91cCB3aG9zZSB2b3RlcyB3aWxsIGJlIGFjdGl2YXRlZFxuICAgKlxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0NhbGx9IGFuIGFjdGl2YXRlIHZvdGVzIG9wZXJhdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZEFjdGl2YXRlU3Rha2luZygpOiBTdGFraW5nQ2FsbCB7XG4gICAgY29uc3Qgb3BlcmF0aW9uID0gZ2V0T3BlcmF0aW9uQ29uZmlnKHRoaXMuX3R5cGUsIHRoaXMuX2NvaW5Db25maWcubmV0d29yay50eXBlKTtcbiAgICBjb25zdCBwYXJhbXMgPSBbdGhpcy5fdmFsaWRhdG9yR3JvdXBdO1xuICAgIHJldHVybiBuZXcgU3Rha2luZ0NhbGwoJzAnLCBvcGVyYXRpb24uY29udHJhY3RBZGRyZXNzLCBvcGVyYXRpb24ubWV0aG9kSWQsIG9wZXJhdGlvbi50eXBlcywgcGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSB3aXRoZHJhdyBvcGVyYXRpb24gZm9yIGxvY2tlZCBnb2xkIHRoYXQgaGFzIGJlZW4gdW5sb2NrZWRcbiAgICogYWZ0ZXIgdGhlIHVubG9ja2luZyBwZXJpb2QgaGFzIHBhc3NlZC5cbiAgICpcbiAgICogcGFyYW1zXG4gICAqIGluZGV4OiBpbmRleCBvZiB0aGUgdW5sb2NrIG9wZXJhdGlvbiB3aG9zZSB1bmxvY2tpbmcgcGVyaW9kIGhhcyBwYXNzZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQ2FsbH0gYW4gYWN0aXZhdGUgdm90ZXMgb3BlcmF0aW9uXG4gICAqL1xuICBwcml2YXRlIGJ1aWxkV2l0aGRyYXdTdGFraW5nKCk6IFN0YWtpbmdDYWxsIHtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBnZXRPcGVyYXRpb25Db25maWcodGhpcy5fdHlwZSwgdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuICAgIGNvbnN0IHBhcmFtcyA9IFt0aGlzLl9pbmRleC50b1N0cmluZygpXTtcbiAgICByZXR1cm4gbmV3IFN0YWtpbmdDYWxsKCcwJywgb3BlcmF0aW9uLmNvbnRyYWN0QWRkcmVzcywgb3BlcmF0aW9uLm1ldGhvZElkLCBvcGVyYXRpb24udHlwZXMsIHBhcmFtcyk7XG4gIH1cblxuICAvLyBlbmRyZWdpb25cblxuICAvLyByZWdpb24gVmFsaWRhdGlvbiBtZXRob2RzXG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZU1hbmRhdG9yeUZpZWxkcygpOiB2b2lkIHtcbiAgICBpZiAoISh0aGlzLl90eXBlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fY29pbkNvbmZpZykpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3Npbmcgc3Rha2luZyBtYW5kYXRvcnkgZmllbGRzLiBUeXBlIGFuZCBjb2luIGFyZSByZXF1aXJlZCcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVFbGVjdGlvbkZpZWxkcygpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlR3JvdXAoKTtcbiAgICB0aGlzLnZhbGlkYXRlQW1vdW50KCk7XG4gICAgaWYgKHRoaXMuX2xlc3NlciA9PT0gdGhpcy5fZ3JlYXRlcikge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignR3JlYXRlciBhbmQgbGVzc2VyIHZhbHVlcyBzaG91bGQgbm90IGJlIHRoZSBzYW1lJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUluZGV4KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIGluZGV4IGZvciBzdGFraW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUFtb3VudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYW1vdW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgYW1vdW50IGZvciBzdGFraW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVVudm90ZUZpZWxkcygpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlRWxlY3Rpb25GaWVsZHMoKTtcbiAgICB0aGlzLnZhbGlkYXRlSW5kZXgoKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVHcm91cCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3ZhbGlkYXRvckdyb3VwKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIHZhbGlkYXRvciBncm91cCBmb3Igc3Rha2luZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBEZXNlcmlhbGl6YXRpb24gbWV0aG9kc1xuICBwcml2YXRlIGRlY29kZVN0YWtpbmdEYXRhKGRhdGE6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY2xhc3NpZnlTdGFraW5nVHlwZShkYXRhKTtcblxuICAgIGNvbnN0IG9wZXJhdGlvbiA9IGdldE9wZXJhdGlvbkNvbmZpZyh0aGlzLl90eXBlLCB0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgY29uc3QgZGVjb2RlZCA9IGdldFJhd0RlY29kZWQob3BlcmF0aW9uLnR5cGVzLCBnZXRCdWZmZXJlZEJ5dGVDb2RlKG9wZXJhdGlvbi5tZXRob2RJZCwgZGF0YSkpO1xuICAgIHN3aXRjaCAodGhpcy5fdHlwZSkge1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuVk9URTpcbiAgICAgICAgdGhpcy52YWxpZGF0ZURlY29kZWREYXRhTGVuZ3RoKGRlY29kZWQubGVuZ3RoLCA0LCBkYXRhKTtcbiAgICAgICAgY29uc3QgW2dyb3VwVG9Wb3RlLCBhbW91bnQsIGxlc3NlciwgZ3JlYXRlcl0gPSBkZWNvZGVkO1xuICAgICAgICB0aGlzLl9hbW91bnQgPSBldGhVdGlsLmJ1ZmZlclRvSGV4KGFtb3VudCk7XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRvckdyb3VwID0gZXRoVXRpbC5hZGRIZXhQcmVmaXgoZ3JvdXBUb1ZvdGUpO1xuICAgICAgICB0aGlzLl9sZXNzZXIgPSBldGhVdGlsLmFkZEhleFByZWZpeChsZXNzZXIpO1xuICAgICAgICB0aGlzLl9ncmVhdGVyID0gZXRoVXRpbC5hZGRIZXhQcmVmaXgoZ3JlYXRlcik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuVU5WT1RFOlxuICAgICAgICB0aGlzLnZhbGlkYXRlRGVjb2RlZERhdGFMZW5ndGgoZGVjb2RlZC5sZW5ndGgsIDUsIGRhdGEpO1xuICAgICAgICBjb25zdCBbZ3JvdXBUb1Vudm90ZSwgYW1vdW50VW52b3RlLCBsZXNzZXJVbnZvdGUsIGdyZWF0ZXJVbnZvdGUsIGluZGV4VW52b3RlXSA9IGRlY29kZWQ7XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRvckdyb3VwID0gZXRoVXRpbC5hZGRIZXhQcmVmaXgoZ3JvdXBUb1Vudm90ZSk7XG4gICAgICAgIHRoaXMuX2Ftb3VudCA9IGV0aFV0aWwuYnVmZmVyVG9IZXgoYW1vdW50VW52b3RlKTtcbiAgICAgICAgdGhpcy5fbGVzc2VyID0gZXRoVXRpbC5hZGRIZXhQcmVmaXgobGVzc2VyVW52b3RlKTtcbiAgICAgICAgdGhpcy5fZ3JlYXRlciA9IGV0aFV0aWwuYWRkSGV4UHJlZml4KGdyZWF0ZXJVbnZvdGUpO1xuICAgICAgICB0aGlzLl9pbmRleCA9IGhleFN0cmluZ1RvTnVtYmVyKGV0aFV0aWwuYnVmZmVyVG9IZXgoaW5kZXhVbnZvdGUpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5BQ1RJVkFURTpcbiAgICAgICAgdGhpcy52YWxpZGF0ZURlY29kZWREYXRhTGVuZ3RoKGRlY29kZWQubGVuZ3RoLCAxLCBkYXRhKTtcbiAgICAgICAgY29uc3QgW2dyb3VwVG9BY3RpdmF0ZV0gPSBkZWNvZGVkO1xuICAgICAgICB0aGlzLl92YWxpZGF0b3JHcm91cCA9IGV0aFV0aWwuYWRkSGV4UHJlZml4KGdyb3VwVG9BY3RpdmF0ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuVU5MT0NLOlxuICAgICAgICBpZiAoZGVjb2RlZC5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHVubG9jayBkZWNvZGVkIGRhdGE6ICR7ZGF0YX1gKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBbZGVjb2RlZEFtb3VudF0gPSBkZWNvZGVkO1xuICAgICAgICB0aGlzLl9hbW91bnQgPSBldGhVdGlsLmJ1ZmZlclRvSGV4KGRlY29kZWRBbW91bnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU3Rha2luZ09wZXJhdGlvblR5cGVzLldJVEhEUkFXOlxuICAgICAgICB0aGlzLnZhbGlkYXRlRGVjb2RlZERhdGFMZW5ndGgoZGVjb2RlZC5sZW5ndGgsIDEsIGRhdGEpO1xuICAgICAgICBjb25zdCBbaW5kZXhdID0gZGVjb2RlZDtcbiAgICAgICAgdGhpcy5faW5kZXggPSBoZXhTdHJpbmdUb051bWJlcihldGhVdGlsLmJ1ZmZlclRvSGV4KGluZGV4KSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBzdGFraW5nIGRhdGE6ICR7dGhpcy5fdHlwZX1gKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRGVjb2RlZERhdGFMZW5ndGgoYWN0dWFsOiBudW1iZXIsIGV4cGVjdGVkOiBudW1iZXIsIGRhdGE6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHN0YWtpbmcgZGVjb2RlZCBkYXRhOiAke2RhdGF9YCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjbGFzc2lmeVN0YWtpbmdUeXBlKGRhdGE6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChkYXRhLnN0YXJ0c1dpdGgoVm90ZU1ldGhvZElkKSkge1xuICAgICAgdGhpcy5fdHlwZSA9IFN0YWtpbmdPcGVyYXRpb25UeXBlcy5WT1RFO1xuICAgIH0gZWxzZSBpZiAoZGF0YS5zdGFydHNXaXRoKFVudm90ZU1ldGhvZElkKSkge1xuICAgICAgdGhpcy5fdHlwZSA9IFN0YWtpbmdPcGVyYXRpb25UeXBlcy5VTlZPVEU7XG4gICAgfSBlbHNlIGlmIChkYXRhLnN0YXJ0c1dpdGgoQWN0aXZhdGVNZXRob2RJZCkpIHtcbiAgICAgIHRoaXMuX3R5cGUgPSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuQUNUSVZBVEU7XG4gICAgfSBlbHNlIGlmIChkYXRhLnN0YXJ0c1dpdGgoVW5sb2NrTWV0aG9kSWQpKSB7XG4gICAgICB0aGlzLl90eXBlID0gU3Rha2luZ09wZXJhdGlvblR5cGVzLlVOTE9DSztcbiAgICB9IGVsc2UgaWYgKGRhdGEuc3RhcnRzV2l0aChXaXRoZHJhd01ldGhvZElkKSkge1xuICAgICAgdGhpcy5fdHlwZSA9IFN0YWtpbmdPcGVyYXRpb25UeXBlcy5XSVRIRFJBVztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBzdGFraW5nIGJ5dGVjb2RlOiAke2RhdGF9YCk7XG4gICAgfVxuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG59XG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ContractCall } from '../eth/contractCall';
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StakingCall = void 0;
|
|
4
|
+
const contractCall_1 = require("../eth/contractCall");
|
|
5
|
+
class StakingCall extends contractCall_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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0NhbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9jZWxvL3N0YWtpbmdDYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUFtRDtBQUVuRCxNQUFhLFdBQVksU0FBUSwyQkFBWTtJQUczQyxZQUFZLE1BQWMsRUFBRSxPQUFlLEVBQUUsU0FBaUIsRUFBRSxNQUFnQixFQUFFLE9BQWlCO1FBQ2pHLEtBQUssQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7Q0FDRjtBQVJELGtDQVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJhY3RDYWxsIH0gZnJvbSAnLi4vZXRoL2NvbnRyYWN0Q2FsbCc7XG5cbmV4cG9ydCBjbGFzcyBTdGFraW5nQ2FsbCBleHRlbmRzIENvbnRyYWN0Q2FsbCB7XG4gIHB1YmxpYyBhbW91bnQ6IHN0cmluZztcbiAgcHVibGljIGFkZHJlc3M6IHN0cmluZztcbiAgY29uc3RydWN0b3IoYW1vdW50OiBzdHJpbmcsIGFkZHJlc3M6IHN0cmluZywgX21ldGhvZElkOiBzdHJpbmcsIF90eXBlczogc3RyaW5nW10sIF9wYXJhbXM6IHN0cmluZ1tdKSB7XG4gICAgc3VwZXIoX21ldGhvZElkLCBfdHlwZXMsIF9wYXJhbXMpO1xuICAgIHRoaXMuYW1vdW50ID0gYW1vdW50O1xuICAgIHRoaXMuYWRkcmVzcyA9IGFkZHJlc3M7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getOperationConfig = exports.WithdrawMethodId = exports.ActivateMethodId = exports.UnvoteMethodId = exports.VoteMethodId = exports.UnlockMethodId = exports.LockMethodId = void 0;
|
|
4
|
+
const statics_1 = require("@bitgo/statics");
|
|
5
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
6
|
+
exports.LockMethodId = '0xf83d08ba'; // lock()
|
|
7
|
+
exports.UnlockMethodId = '0x6198e339'; // unlock()
|
|
8
|
+
exports.VoteMethodId = '0x580d747a'; // vote()
|
|
9
|
+
exports.UnvoteMethodId = '0x6e198475'; // revokeActive()
|
|
10
|
+
exports.ActivateMethodId = '0x1c5a9d9c'; // activate()
|
|
11
|
+
exports.WithdrawMethodId = '0x2e1a7d4d'; // withdraw()
|
|
12
|
+
const LockedGoldTestnetAddress = '0x94c3e6675015d8479b648657e7ddfcd938489d0d';
|
|
13
|
+
const LockedGoldMainnetAddress = '0x6cc083aed9e3ebe302a6336dbc7c921c9f03349e';
|
|
14
|
+
const ElectionTestnetAddress = '0x11fe523f93cac185d12cb39cc3bd279d2de524f8';
|
|
15
|
+
const ElectionMainnetAddress = '0x8d6677192144292870907e3fa8a5527fe55a7ff6';
|
|
16
|
+
const operations = {
|
|
17
|
+
[sdk_core_1.StakingOperationTypes.LOCK]: {
|
|
18
|
+
[statics_1.NetworkType.TESTNET]: {
|
|
19
|
+
contractAddress: LockedGoldTestnetAddress,
|
|
20
|
+
methodId: exports.LockMethodId,
|
|
21
|
+
types: [],
|
|
22
|
+
},
|
|
23
|
+
[statics_1.NetworkType.MAINNET]: {
|
|
24
|
+
contractAddress: LockedGoldMainnetAddress,
|
|
25
|
+
methodId: exports.LockMethodId,
|
|
26
|
+
types: [],
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
[sdk_core_1.StakingOperationTypes.UNLOCK]: {
|
|
30
|
+
[statics_1.NetworkType.TESTNET]: {
|
|
31
|
+
contractAddress: LockedGoldTestnetAddress,
|
|
32
|
+
methodId: exports.UnlockMethodId,
|
|
33
|
+
types: ['uint256'],
|
|
34
|
+
},
|
|
35
|
+
[statics_1.NetworkType.MAINNET]: {
|
|
36
|
+
contractAddress: LockedGoldMainnetAddress,
|
|
37
|
+
methodId: exports.UnlockMethodId,
|
|
38
|
+
types: ['uint256'],
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
[sdk_core_1.StakingOperationTypes.VOTE]: {
|
|
42
|
+
[statics_1.NetworkType.TESTNET]: {
|
|
43
|
+
contractAddress: ElectionTestnetAddress,
|
|
44
|
+
methodId: exports.VoteMethodId,
|
|
45
|
+
types: ['address', 'uint256', 'address', 'address'],
|
|
46
|
+
},
|
|
47
|
+
[statics_1.NetworkType.MAINNET]: {
|
|
48
|
+
contractAddress: ElectionMainnetAddress,
|
|
49
|
+
methodId: exports.VoteMethodId,
|
|
50
|
+
types: ['address', 'uint256', 'address', 'address'],
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
[sdk_core_1.StakingOperationTypes.UNVOTE]: {
|
|
54
|
+
[statics_1.NetworkType.TESTNET]: {
|
|
55
|
+
contractAddress: ElectionTestnetAddress,
|
|
56
|
+
methodId: exports.UnvoteMethodId,
|
|
57
|
+
types: ['address', 'uint256', 'address', 'address', 'uint256'],
|
|
58
|
+
},
|
|
59
|
+
[statics_1.NetworkType.MAINNET]: {
|
|
60
|
+
contractAddress: ElectionMainnetAddress,
|
|
61
|
+
methodId: exports.UnvoteMethodId,
|
|
62
|
+
types: ['address', 'uint256', 'address', 'address', 'uint256'],
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
[sdk_core_1.StakingOperationTypes.ACTIVATE]: {
|
|
66
|
+
[statics_1.NetworkType.TESTNET]: {
|
|
67
|
+
contractAddress: ElectionTestnetAddress,
|
|
68
|
+
methodId: exports.ActivateMethodId,
|
|
69
|
+
types: ['address'],
|
|
70
|
+
},
|
|
71
|
+
[statics_1.NetworkType.MAINNET]: {
|
|
72
|
+
contractAddress: ElectionMainnetAddress,
|
|
73
|
+
methodId: exports.ActivateMethodId,
|
|
74
|
+
types: ['address'],
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
[sdk_core_1.StakingOperationTypes.WITHDRAW]: {
|
|
78
|
+
[statics_1.NetworkType.TESTNET]: {
|
|
79
|
+
contractAddress: LockedGoldTestnetAddress,
|
|
80
|
+
methodId: exports.WithdrawMethodId,
|
|
81
|
+
types: ['uint256'],
|
|
82
|
+
},
|
|
83
|
+
[statics_1.NetworkType.MAINNET]: {
|
|
84
|
+
contractAddress: LockedGoldMainnetAddress,
|
|
85
|
+
methodId: exports.WithdrawMethodId,
|
|
86
|
+
types: ['uint256'],
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* @param type
|
|
92
|
+
* @param network
|
|
93
|
+
*/
|
|
94
|
+
function getOperationConfig(type, network) {
|
|
95
|
+
return operations[type][network];
|
|
96
|
+
}
|
|
97
|
+
exports.getOperationConfig = getOperationConfig;
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ1V0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vY2Vsby9zdGFraW5nVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNENBQTZDO0FBQzdDLDhDQUF3RDtBQUczQyxRQUFBLFlBQVksR0FBRyxZQUFZLENBQUMsQ0FBQyxTQUFTO0FBQ3RDLFFBQUEsY0FBYyxHQUFHLFlBQVksQ0FBQyxDQUFDLFdBQVc7QUFDMUMsUUFBQSxZQUFZLEdBQUcsWUFBWSxDQUFDLENBQUMsU0FBUztBQUN0QyxRQUFBLGNBQWMsR0FBRyxZQUFZLENBQUMsQ0FBQyxpQkFBaUI7QUFDaEQsUUFBQSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsQ0FBQyxhQUFhO0FBQzlDLFFBQUEsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLENBQUMsYUFBYTtBQUUzRCxNQUFNLHdCQUF3QixHQUFHLDRDQUE0QyxDQUFDO0FBQzlFLE1BQU0sd0JBQXdCLEdBQUcsNENBQTRDLENBQUM7QUFDOUUsTUFBTSxzQkFBc0IsR0FBRyw0Q0FBNEMsQ0FBQztBQUM1RSxNQUFNLHNCQUFzQixHQUFHLDRDQUE0QyxDQUFDO0FBRTVFLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLENBQUMsZ0NBQXFCLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDNUIsQ0FBQyxxQkFBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3JCLGVBQWUsRUFBRSx3QkFBd0I7WUFDekMsUUFBUSxFQUFFLG9CQUFZO1lBQ3RCLEtBQUssRUFBRSxFQUFFO1NBQ1Y7UUFDRCxDQUFDLHFCQUFXLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckIsZUFBZSxFQUFFLHdCQUF3QjtZQUN6QyxRQUFRLEVBQUUsb0JBQVk7WUFDdEIsS0FBSyxFQUFFLEVBQUU7U0FDVjtLQUNGO0lBQ0QsQ0FBQyxnQ0FBcUIsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUM5QixDQUFDLHFCQUFXLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckIsZUFBZSxFQUFFLHdCQUF3QjtZQUN6QyxRQUFRLEVBQUUsc0JBQWM7WUFDeEIsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDO1NBQ25CO1FBQ0QsQ0FBQyxxQkFBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3JCLGVBQWUsRUFBRSx3QkFBd0I7WUFDekMsUUFBUSxFQUFFLHNCQUFjO1lBQ3hCLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQztTQUNuQjtLQUNGO0lBQ0QsQ0FBQyxnQ0FBcUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM1QixDQUFDLHFCQUFXLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckIsZUFBZSxFQUFFLHNCQUFzQjtZQUN2QyxRQUFRLEVBQUUsb0JBQVk7WUFDdEIsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDO1NBQ3BEO1FBQ0QsQ0FBQyxxQkFBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3JCLGVBQWUsRUFBRSxzQkFBc0I7WUFDdkMsUUFBUSxFQUFFLG9CQUFZO1lBQ3RCLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQztTQUNwRDtLQUNGO0lBQ0QsQ0FBQyxnQ0FBcUIsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUM5QixDQUFDLHFCQUFXLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckIsZUFBZSxFQUFFLHNCQUFzQjtZQUN2QyxRQUFRLEVBQUUsc0JBQWM7WUFDeEIsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQztTQUMvRDtRQUNELENBQUMscUJBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyQixlQUFlLEVBQUUsc0JBQXNCO1lBQ3ZDLFFBQVEsRUFBRSxzQkFBYztZQUN4QixLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDO1NBQy9EO0tBQ0Y7SUFDRCxDQUFDLGdDQUFxQixDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ2hDLENBQUMscUJBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyQixlQUFlLEVBQUUsc0JBQXNCO1lBQ3ZDLFFBQVEsRUFBRSx3QkFBZ0I7WUFDMUIsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDO1NBQ25CO1FBQ0QsQ0FBQyxxQkFBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3JCLGVBQWUsRUFBRSxzQkFBc0I7WUFDdkMsUUFBUSxFQUFFLHdCQUFnQjtZQUMxQixLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUM7U0FDbkI7S0FDRjtJQUNELENBQUMsZ0NBQXFCLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDaEMsQ0FBQyxxQkFBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3JCLGVBQWUsRUFBRSx3QkFBd0I7WUFDekMsUUFBUSxFQUFFLHdCQUFnQjtZQUMxQixLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUM7U0FDbkI7UUFDRCxDQUFDLHFCQUFXLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckIsZUFBZSxFQUFFLHdCQUF3QjtZQUN6QyxRQUFRLEVBQUUsd0JBQWdCO1lBQzFCLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQztTQUNuQjtLQUNGO0NBQ0YsQ0FBQztBQUVGOzs7R0FHRztBQUNILFNBQWdCLGtCQUFrQixDQUFDLElBQTJCLEVBQUUsT0FBb0I7SUFDbEYsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUZELGdEQUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmV0d29ya1R5cGUgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBTdGFraW5nT3BlcmF0aW9uVHlwZXMgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQ29udHJhY3RNZXRob2RDb25maWcgfSBmcm9tICcuLi9ldGgvaWZhY2UnO1xuXG5leHBvcnQgY29uc3QgTG9ja01ldGhvZElkID0gJzB4ZjgzZDA4YmEnOyAvLyBsb2NrKClcbmV4cG9ydCBjb25zdCBVbmxvY2tNZXRob2RJZCA9ICcweDYxOThlMzM5JzsgLy8gdW5sb2NrKClcbmV4cG9ydCBjb25zdCBWb3RlTWV0aG9kSWQgPSAnMHg1ODBkNzQ3YSc7IC8vIHZvdGUoKVxuZXhwb3J0IGNvbnN0IFVudm90ZU1ldGhvZElkID0gJzB4NmUxOTg0NzUnOyAvLyByZXZva2VBY3RpdmUoKVxuZXhwb3J0IGNvbnN0IEFjdGl2YXRlTWV0aG9kSWQgPSAnMHgxYzVhOWQ5Yyc7IC8vIGFjdGl2YXRlKClcbmV4cG9ydCBjb25zdCBXaXRoZHJhd01ldGhvZElkID0gJzB4MmUxYTdkNGQnOyAvLyB3aXRoZHJhdygpXG5cbmNvbnN0IExvY2tlZEdvbGRUZXN0bmV0QWRkcmVzcyA9ICcweDk0YzNlNjY3NTAxNWQ4NDc5YjY0ODY1N2U3ZGRmY2Q5Mzg0ODlkMGQnO1xuY29uc3QgTG9ja2VkR29sZE1haW5uZXRBZGRyZXNzID0gJzB4NmNjMDgzYWVkOWUzZWJlMzAyYTYzMzZkYmM3YzkyMWM5ZjAzMzQ5ZSc7XG5jb25zdCBFbGVjdGlvblRlc3RuZXRBZGRyZXNzID0gJzB4MTFmZTUyM2Y5M2NhYzE4NWQxMmNiMzljYzNiZDI3OWQyZGU1MjRmOCc7XG5jb25zdCBFbGVjdGlvbk1haW5uZXRBZGRyZXNzID0gJzB4OGQ2Njc3MTkyMTQ0MjkyODcwOTA3ZTNmYThhNTUyN2ZlNTVhN2ZmNic7XG5cbmNvbnN0IG9wZXJhdGlvbnMgPSB7XG4gIFtTdGFraW5nT3BlcmF0aW9uVHlwZXMuTE9DS106IHtcbiAgICBbTmV0d29ya1R5cGUuVEVTVE5FVF06IHtcbiAgICAgIGNvbnRyYWN0QWRkcmVzczogTG9ja2VkR29sZFRlc3RuZXRBZGRyZXNzLFxuICAgICAgbWV0aG9kSWQ6IExvY2tNZXRob2RJZCxcbiAgICAgIHR5cGVzOiBbXSxcbiAgICB9LFxuICAgIFtOZXR3b3JrVHlwZS5NQUlOTkVUXToge1xuICAgICAgY29udHJhY3RBZGRyZXNzOiBMb2NrZWRHb2xkTWFpbm5ldEFkZHJlc3MsXG4gICAgICBtZXRob2RJZDogTG9ja01ldGhvZElkLFxuICAgICAgdHlwZXM6IFtdLFxuICAgIH0sXG4gIH0sXG4gIFtTdGFraW5nT3BlcmF0aW9uVHlwZXMuVU5MT0NLXToge1xuICAgIFtOZXR3b3JrVHlwZS5URVNUTkVUXToge1xuICAgICAgY29udHJhY3RBZGRyZXNzOiBMb2NrZWRHb2xkVGVzdG5ldEFkZHJlc3MsXG4gICAgICBtZXRob2RJZDogVW5sb2NrTWV0aG9kSWQsXG4gICAgICB0eXBlczogWyd1aW50MjU2J10sXG4gICAgfSxcbiAgICBbTmV0d29ya1R5cGUuTUFJTk5FVF06IHtcbiAgICAgIGNvbnRyYWN0QWRkcmVzczogTG9ja2VkR29sZE1haW5uZXRBZGRyZXNzLFxuICAgICAgbWV0aG9kSWQ6IFVubG9ja01ldGhvZElkLFxuICAgICAgdHlwZXM6IFsndWludDI1NiddLFxuICAgIH0sXG4gIH0sXG4gIFtTdGFraW5nT3BlcmF0aW9uVHlwZXMuVk9URV06IHtcbiAgICBbTmV0d29ya1R5cGUuVEVTVE5FVF06IHtcbiAgICAgIGNvbnRyYWN0QWRkcmVzczogRWxlY3Rpb25UZXN0bmV0QWRkcmVzcyxcbiAgICAgIG1ldGhvZElkOiBWb3RlTWV0aG9kSWQsXG4gICAgICB0eXBlczogWydhZGRyZXNzJywgJ3VpbnQyNTYnLCAnYWRkcmVzcycsICdhZGRyZXNzJ10sXG4gICAgfSxcbiAgICBbTmV0d29ya1R5cGUuTUFJTk5FVF06IHtcbiAgICAgIGNvbnRyYWN0QWRkcmVzczogRWxlY3Rpb25NYWlubmV0QWRkcmVzcyxcbiAgICAgIG1ldGhvZElkOiBWb3RlTWV0aG9kSWQsXG4gICAgICB0eXBlczogWydhZGRyZXNzJywgJ3VpbnQyNTYnLCAnYWRkcmVzcycsICdhZGRyZXNzJ10sXG4gICAgfSxcbiAgfSxcbiAgW1N0YWtpbmdPcGVyYXRpb25UeXBlcy5VTlZPVEVdOiB7XG4gICAgW05ldHdvcmtUeXBlLlRFU1RORVRdOiB7XG4gICAgICBjb250cmFjdEFkZHJlc3M6IEVsZWN0aW9uVGVzdG5ldEFkZHJlc3MsXG4gICAgICBtZXRob2RJZDogVW52b3RlTWV0aG9kSWQsXG4gICAgICB0eXBlczogWydhZGRyZXNzJywgJ3VpbnQyNTYnLCAnYWRkcmVzcycsICdhZGRyZXNzJywgJ3VpbnQyNTYnXSxcbiAgICB9LFxuICAgIFtOZXR3b3JrVHlwZS5NQUlOTkVUXToge1xuICAgICAgY29udHJhY3RBZGRyZXNzOiBFbGVjdGlvbk1haW5uZXRBZGRyZXNzLFxuICAgICAgbWV0aG9kSWQ6IFVudm90ZU1ldGhvZElkLFxuICAgICAgdHlwZXM6IFsnYWRkcmVzcycsICd1aW50MjU2JywgJ2FkZHJlc3MnLCAnYWRkcmVzcycsICd1aW50MjU2J10sXG4gICAgfSxcbiAgfSxcbiAgW1N0YWtpbmdPcGVyYXRpb25UeXBlcy5BQ1RJVkFURV06IHtcbiAgICBbTmV0d29ya1R5cGUuVEVTVE5FVF06IHtcbiAgICAgIGNvbnRyYWN0QWRkcmVzczogRWxlY3Rpb25UZXN0bmV0QWRkcmVzcyxcbiAgICAgIG1ldGhvZElkOiBBY3RpdmF0ZU1ldGhvZElkLFxuICAgICAgdHlwZXM6IFsnYWRkcmVzcyddLFxuICAgIH0sXG4gICAgW05ldHdvcmtUeXBlLk1BSU5ORVRdOiB7XG4gICAgICBjb250cmFjdEFkZHJlc3M6IEVsZWN0aW9uTWFpbm5ldEFkZHJlc3MsXG4gICAgICBtZXRob2RJZDogQWN0aXZhdGVNZXRob2RJZCxcbiAgICAgIHR5cGVzOiBbJ2FkZHJlc3MnXSxcbiAgICB9LFxuICB9LFxuICBbU3Rha2luZ09wZXJhdGlvblR5cGVzLldJVEhEUkFXXToge1xuICAgIFtOZXR3b3JrVHlwZS5URVNUTkVUXToge1xuICAgICAgY29udHJhY3RBZGRyZXNzOiBMb2NrZWRHb2xkVGVzdG5ldEFkZHJlc3MsXG4gICAgICBtZXRob2RJZDogV2l0aGRyYXdNZXRob2RJZCxcbiAgICAgIHR5cGVzOiBbJ3VpbnQyNTYnXSxcbiAgICB9LFxuICAgIFtOZXR3b3JrVHlwZS5NQUlOTkVUXToge1xuICAgICAgY29udHJhY3RBZGRyZXNzOiBMb2NrZWRHb2xkTWFpbm5ldEFkZHJlc3MsXG4gICAgICBtZXRob2RJZDogV2l0aGRyYXdNZXRob2RJZCxcbiAgICAgIHR5cGVzOiBbJ3VpbnQyNTYnXSxcbiAgICB9LFxuICB9LFxufTtcblxuLyoqXG4gKiBAcGFyYW0gdHlwZVxuICogQHBhcmFtIG5ldHdvcmtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9wZXJhdGlvbkNvbmZpZyh0eXBlOiBTdGFraW5nT3BlcmF0aW9uVHlwZXMsIG5ldHdvcms6IE5ldHdvcmtUeXBlKTogQ29udHJhY3RNZXRob2RDb25maWcge1xuICByZXR1cm4gb3BlcmF0aW9uc1t0eXBlXVtuZXR3b3JrXTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import EthereumCommon from '@ethereumjs/common';
|
|
3
|
+
import * as Eth from '../eth';
|
|
4
|
+
import { LegacyTxData } from '../eth/iface';
|
|
5
|
+
export declare class Transaction extends Eth.Transaction {
|
|
6
|
+
setTransactionData(txData: LegacyTxData): void;
|
|
7
|
+
/** @inheritdoc */
|
|
8
|
+
static fromSerialized(coinConfig: Readonly<CoinConfig>, common: EthereumCommon, serializedTx: string): Transaction;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/coin/celo/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAI5C,qBAAa,WAAY,SAAQ,GAAG,CAAC,WAAW;IAC9C,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAK9C,kBAAkB;WACJ,cAAc,CAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAChC,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,MAAM,GACnB,WAAW;CAGf"}
|
|
@@ -0,0 +1,37 @@
|
|
|
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.Transaction = void 0;
|
|
23
|
+
const Eth = __importStar(require("../eth"));
|
|
24
|
+
const types_1 = require("./types");
|
|
25
|
+
const Utils = __importStar(require("./utils"));
|
|
26
|
+
class Transaction extends Eth.Transaction {
|
|
27
|
+
setTransactionData(txData) {
|
|
28
|
+
this._transactionData = types_1.CeloTransactionData.fromJson(txData);
|
|
29
|
+
this.updateFields();
|
|
30
|
+
}
|
|
31
|
+
/** @inheritdoc */
|
|
32
|
+
static fromSerialized(coinConfig, common, serializedTx) {
|
|
33
|
+
return new Transaction(coinConfig, common, Utils.deserialize(serializedTx));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.Transaction = Transaction;
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9jZWxvL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSw0Q0FBOEI7QUFFOUIsbUNBQThDO0FBQzlDLCtDQUFpQztBQUVqQyxNQUFhLFdBQVksU0FBUSxHQUFHLENBQUMsV0FBVztJQUM5QyxrQkFBa0IsQ0FBQyxNQUFvQjtRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsMkJBQW1CLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsTUFBTSxDQUFDLGNBQWMsQ0FDMUIsVUFBZ0MsRUFDaEMsTUFBc0IsRUFDdEIsWUFBb0I7UUFFcEIsT0FBTyxJQUFJLFdBQVcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0NBQ0Y7QUFkRCxrQ0FjQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgRXRoZXJldW1Db21tb24gZnJvbSAnQGV0aGVyZXVtanMvY29tbW9uJztcbmltcG9ydCAqIGFzIEV0aCBmcm9tICcuLi9ldGgnO1xuaW1wb3J0IHsgTGVnYWN5VHhEYXRhIH0gZnJvbSAnLi4vZXRoL2lmYWNlJztcbmltcG9ydCB7IENlbG9UcmFuc2FjdGlvbkRhdGEgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24gZXh0ZW5kcyBFdGguVHJhbnNhY3Rpb24ge1xuICBzZXRUcmFuc2FjdGlvbkRhdGEodHhEYXRhOiBMZWdhY3lUeERhdGEpOiB2b2lkIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbkRhdGEgPSBDZWxvVHJhbnNhY3Rpb25EYXRhLmZyb21Kc29uKHR4RGF0YSk7XG4gICAgdGhpcy51cGRhdGVGaWVsZHMoKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21TZXJpYWxpemVkKFxuICAgIGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+LFxuICAgIGNvbW1vbjogRXRoZXJldW1Db21tb24sXG4gICAgc2VyaWFsaXplZFR4OiBzdHJpbmcsXG4gICk6IFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uKGNvaW5Db25maWcsIGNvbW1vbiwgVXRpbHMuZGVzZXJpYWxpemUoc2VyaWFsaXplZFR4KSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import * as Eth from '../eth';
|
|
3
|
+
import { TransactionType } from '@bitgo/sdk-core';
|
|
4
|
+
import { TxData } from '../eth/iface';
|
|
5
|
+
import { Transaction } from './transaction';
|
|
6
|
+
import { StakingBuilder } from './stakingBuilder';
|
|
7
|
+
import { TransferBuilder } from './transferBuilder';
|
|
8
|
+
export declare class TransactionBuilder extends Eth.TransactionBuilder {
|
|
9
|
+
private _stakingBuilder?;
|
|
10
|
+
protected _transfer: TransferBuilder;
|
|
11
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
12
|
+
/** @inheritdoc */
|
|
13
|
+
type(type: TransactionType): void;
|
|
14
|
+
protected getTransactionData(): TxData;
|
|
15
|
+
/** @inheritdoc */
|
|
16
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
17
|
+
protected setTransactionTypeFields(decodedType: TransactionType, transactionJson: TxData): void;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the smart contract encoded data
|
|
20
|
+
*
|
|
21
|
+
* @param {string[]} addresses - the contract signers
|
|
22
|
+
* @returns {string} - the smart contract encoded data
|
|
23
|
+
*/
|
|
24
|
+
protected getContractData(addresses: string[]): string;
|
|
25
|
+
/**
|
|
26
|
+
* Gets the staking lock builder if exist, or creates a new one for this transaction and returns it
|
|
27
|
+
* requires: amount
|
|
28
|
+
*
|
|
29
|
+
* @returns {StakingBuilder} the staking builder
|
|
30
|
+
*/
|
|
31
|
+
lock(): StakingBuilder;
|
|
32
|
+
/**
|
|
33
|
+
* Gets the staking vote builder if exist, or creates a new one for this transaction and returns it
|
|
34
|
+
* requires: group, lesser, greater, amount
|
|
35
|
+
*
|
|
36
|
+
* @returns {StakingBuilder} the staking builder
|
|
37
|
+
*/
|
|
38
|
+
vote(): StakingBuilder;
|
|
39
|
+
/**
|
|
40
|
+
* Gets the staking activate builder if exist, or creates a new one for this transaction and returns it
|
|
41
|
+
* requires: group
|
|
42
|
+
*
|
|
43
|
+
* @returns {StakingBuilder} the staking builder
|
|
44
|
+
*/
|
|
45
|
+
activate(): StakingBuilder;
|
|
46
|
+
/**
|
|
47
|
+
* Gets the staking unlock builder if exist, or creates a new one for this transaction and returns it
|
|
48
|
+
* requires: amount
|
|
49
|
+
*
|
|
50
|
+
* @returns {StakingBuilder} the staking builder
|
|
51
|
+
*/
|
|
52
|
+
unlock(): StakingBuilder;
|
|
53
|
+
/**
|
|
54
|
+
* Gets the staking unvote builder if exist, or creates a new one for this transaction and returns it
|
|
55
|
+
* requires: group, lesser, greater, amount, index
|
|
56
|
+
*
|
|
57
|
+
* @returns {StakingBuilder} the staking builder
|
|
58
|
+
*/
|
|
59
|
+
unvote(): StakingBuilder;
|
|
60
|
+
/**
|
|
61
|
+
* Gets the staking withdraw builder if exist, or creates a new one for this transaction and returns it
|
|
62
|
+
* requires: index (unlock list)
|
|
63
|
+
*
|
|
64
|
+
* @returns {StakingBuilder} the staking builder
|
|
65
|
+
*/
|
|
66
|
+
withdraw(): StakingBuilder;
|
|
67
|
+
/** @inheritdoc */
|
|
68
|
+
transfer(data?: string): TransferBuilder;
|
|
69
|
+
/**
|
|
70
|
+
* Get the appropriate builder for the selected type
|
|
71
|
+
*
|
|
72
|
+
* @param {StakingOperationTypes} type the selected type for the staking builder
|
|
73
|
+
* @returns {StakingBuilder} the staking builder for the selected type
|
|
74
|
+
*/
|
|
75
|
+
private getBuilder;
|
|
76
|
+
private getStaking;
|
|
77
|
+
private buildLockStakeTransaction;
|
|
78
|
+
private buildStakingTransaction;
|
|
79
|
+
/**
|
|
80
|
+
* Get the final v value. Final v is described in EIP-155.
|
|
81
|
+
*
|
|
82
|
+
* @protected for internal use when the enableFinalVField flag is true.
|
|
83
|
+
*/
|
|
84
|
+
protected getFinalV(): string;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=transactionBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/celo/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAyB,eAAe,EAAyB,MAAM,iBAAiB,CAAC;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,qBAAa,kBAAmB,SAAQ,GAAG,CAAC,kBAAkB;IAE5D,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC;gBAEzB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C,kBAAkB;IAClB,IAAI,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAKjC,SAAS,CAAC,kBAAkB,IAAI,MAAM;IActC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAYjE,SAAS,CAAC,wBAAwB,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAoB/F;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;IAUtD;;;;;OAKG;IACH,IAAI,IAAI,cAAc;IAQtB;;;;;OAKG;IACH,IAAI,IAAI,cAAc;IAQtB;;;;;OAKG;IACH,QAAQ,IAAI,cAAc;IAQ1B;;;;;OAKG;IACH,MAAM,IAAI,cAAc;IAQxB;;;;;OAKG;IACH,MAAM,IAAI,cAAc;IAQxB;;;;;OAKG;IACH,QAAQ,IAAI,cAAc;IAQ1B,kBAAkB;IAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe;IAUxC;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,uBAAuB;IAQ/B;;;;OAIG;IACH,SAAS,CAAC,SAAS,IAAI,MAAM;CAI9B"}
|