@bitgo-beta/sdk-core 8.2.1-beta.13 → 8.2.1-beta.1300
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/dist/src/account-lib/baseCoin/baseTransaction.d.ts +0 -1
- package/dist/src/account-lib/baseCoin/baseTransaction.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts +3 -3
- package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/baseTransactionBuilder.js +4 -3
- package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts +1 -0
- package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +41 -29
- package/dist/src/account-lib/baseCoin/enum.d.ts +34 -2
- package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/enum.js +62 -5
- package/dist/src/account-lib/baseCoin/errors.d.ts +3 -0
- package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/errors.js +8 -2
- package/dist/src/account-lib/baseCoin/iface.d.ts +19 -35
- package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/iface.js +26 -18
- package/dist/src/account-lib/baseCoin/index.d.ts +1 -1
- package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/index.js +8 -5
- package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +88 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessage.js +154 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +67 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +144 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +33 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +45 -0
- package/dist/src/account-lib/baseCoin/messages/iface.d.ts +164 -0
- package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/iface.js +3 -0
- package/dist/src/account-lib/baseCoin/messages/index.d.ts +6 -0
- package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/index.js +22 -0
- package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts +3 -0
- package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/simple/index.js +19 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts +13 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.js +28 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts +21 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.js +28 -0
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +1 -2
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +38 -26
- package/dist/src/account-lib/index.js +23 -9
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts +4 -18
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/curves/ed25519.js +6 -60
- package/dist/src/account-lib/mpc/index.d.ts +4 -4
- package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/index.js +11 -7
- package/dist/src/account-lib/mpc/shamir.d.ts +5 -37
- package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/shamir.js +6 -130
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +68 -13
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +794 -225
- package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +114 -78
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +1 -2
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +66 -69
- package/dist/src/account-lib/mpc/tss/eddsa/index.js +23 -9
- package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +1 -4
- package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
- package/dist/src/account-lib/mpc/tss/index.js +23 -9
- package/dist/src/account-lib/mpc/util.d.ts +7 -1
- package/dist/src/account-lib/mpc/util.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/util.js +19 -1
- package/dist/src/account-lib/staking/index.js +6 -2
- package/dist/src/account-lib/staking/utils.js +3 -3
- package/dist/src/account-lib/util/crypto.d.ts +8 -2
- package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
- package/dist/src/account-lib/util/crypto.js +69 -38
- package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +2 -1
- package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -1
- package/dist/src/account-lib/util/ed25519KeyDeriver.js +5 -3
- package/dist/src/api/bip32path.js +2 -3
- package/dist/src/api/index.js +6 -2
- package/dist/src/api/types.d.ts +8 -0
- package/dist/src/api/types.d.ts.map +1 -1
- package/dist/src/api/types.js +1 -1
- package/dist/src/bitgo/address-book/address-book.d.ts +61 -0
- package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -0
- package/dist/src/bitgo/address-book/address-book.js +139 -0
- package/dist/src/bitgo/address-book/index.d.ts +3 -0
- package/dist/src/bitgo/address-book/index.d.ts.map +1 -0
- package/dist/src/{openssl → bitgo/address-book}/index.js +8 -3
- package/dist/src/bitgo/address-book/types.d.ts +170 -0
- package/dist/src/bitgo/address-book/types.d.ts.map +1 -0
- package/dist/src/bitgo/address-book/types.js +3 -0
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts +112 -11
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.js +163 -16
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +168 -25
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +7 -3
- package/dist/src/bitgo/baseCoin/index.js +6 -2
- package/dist/src/bitgo/bip32util.d.ts +3 -16
- package/dist/src/bitgo/bip32util.d.ts.map +1 -1
- package/dist/src/bitgo/bip32util.js +4 -56
- package/dist/src/bitgo/bitcoin.d.ts +0 -1
- package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
- package/dist/src/bitgo/bitcoin.js +26 -13
- package/dist/src/bitgo/bitgoBase.d.ts +6 -2
- package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
- package/dist/src/bitgo/bitgoBase.js +1 -1
- package/dist/src/bitgo/coinFactory.d.ts +17 -3
- package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
- package/dist/src/bitgo/coinFactory.js +26 -3
- package/dist/src/bitgo/config.d.ts +158 -20
- package/dist/src/bitgo/config.d.ts.map +1 -1
- package/dist/src/bitgo/config.js +26 -15
- package/dist/src/bitgo/ecdh.d.ts +0 -1
- package/dist/src/bitgo/ecdh.d.ts.map +1 -1
- package/dist/src/bitgo/ecdh.js +26 -13
- package/dist/src/bitgo/enterprise/enterprise.d.ts +16 -14
- package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/enterprise.js +64 -31
- package/dist/src/bitgo/enterprise/enterprises.d.ts +6 -0
- package/dist/src/bitgo/enterprise/enterprises.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/enterprises.js +48 -9
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts +6 -7
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
- package/dist/src/bitgo/enterprise/iEnterprises.d.ts +2 -0
- package/dist/src/bitgo/enterprise/iEnterprises.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/iEnterprises.js +1 -1
- package/dist/src/bitgo/enterprise/index.js +6 -2
- package/dist/src/bitgo/environments.d.ts +76 -5
- package/dist/src/bitgo/environments.d.ts.map +1 -1
- package/dist/src/bitgo/environments.js +224 -29
- package/dist/src/bitgo/errors.d.ts +151 -0
- package/dist/src/bitgo/errors.d.ts.map +1 -1
- package/dist/src/bitgo/errors.js +127 -2
- package/dist/src/bitgo/evm/evmUtils.d.ts +26 -0
- package/dist/src/bitgo/evm/evmUtils.d.ts.map +1 -0
- package/dist/src/bitgo/evm/evmUtils.js +50 -0
- package/dist/src/bitgo/index.d.ts +3 -1
- package/dist/src/bitgo/index.d.ts.map +1 -1
- package/dist/src/bitgo/index.js +29 -11
- package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +3 -3
- package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
- package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +1 -1
- package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
- package/dist/src/bitgo/internal/index.js +6 -2
- package/dist/src/bitgo/internal/internal.js +5 -6
- package/dist/src/bitgo/internal/keycard.js +6 -7
- package/dist/src/bitgo/keychain/decryptKeychain.d.ts +13 -0
- package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
- package/dist/src/bitgo/keychain/decryptKeychain.js +35 -0
- package/dist/src/bitgo/keychain/iKeychains.d.ts +65 -7
- package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/iKeychains.js +2 -2
- package/dist/src/bitgo/keychain/index.d.ts +1 -0
- package/dist/src/bitgo/keychain/index.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/index.js +7 -2
- package/dist/src/bitgo/keychain/keychains.d.ts +15 -4
- package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/keychains.js +158 -59
- package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +126 -91
- package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/ovcJsonCodec.js +53 -32
- package/dist/src/bitgo/legacyBitcoin.d.ts +0 -1
- package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
- package/dist/src/bitgo/legacyBitcoin.js +27 -13
- package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts +7 -0
- package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts.map +1 -0
- package/dist/src/bitgo/lightning/lightningWalletUtil.js +25 -0
- package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
- package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
- package/dist/src/bitgo/market/index.js +6 -2
- package/dist/src/bitgo/market/markets.js +23 -9
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +3 -0
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
- package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
- package/dist/src/bitgo/pendingApproval/index.js +6 -2
- package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +20 -8
- package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
- package/dist/src/bitgo/pendingApproval/pendingApproval.js +224 -98
- package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
- package/dist/src/bitgo/proofs/WalletProofs.d.ts +19 -0
- package/dist/src/bitgo/proofs/WalletProofs.d.ts.map +1 -0
- package/dist/src/bitgo/proofs/WalletProofs.js +37 -0
- package/dist/src/bitgo/proofs/index.d.ts +2 -0
- package/dist/src/bitgo/proofs/index.d.ts.map +1 -0
- package/dist/src/bitgo/proofs/index.js +6 -0
- package/dist/src/bitgo/proofs/types.d.ts +80 -0
- package/dist/src/bitgo/proofs/types.d.ts.map +1 -0
- package/dist/src/bitgo/proofs/types.js +80 -0
- package/dist/src/bitgo/recovery/index.js +6 -2
- package/dist/src/bitgo/recovery/initiate.d.ts +15 -2
- package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
- package/dist/src/bitgo/recovery/initiate.js +14 -8
- package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +129 -0
- package/dist/src/bitgo/staking/goStakingInterfaces.d.ts.map +1 -0
- package/dist/src/bitgo/staking/goStakingInterfaces.js +3 -0
- package/dist/src/bitgo/staking/goStakingWallet.d.ts +62 -0
- package/dist/src/bitgo/staking/goStakingWallet.d.ts.map +1 -0
- package/dist/src/bitgo/staking/goStakingWallet.js +143 -0
- package/dist/src/bitgo/staking/iGoStakingWallet.d.ts +17 -0
- package/dist/src/bitgo/staking/iGoStakingWallet.d.ts.map +1 -0
- package/dist/src/bitgo/staking/iGoStakingWallet.js +3 -0
- package/dist/src/bitgo/staking/iStakingWallet.d.ts +157 -7
- package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/iStakingWallet.js +2 -2
- package/dist/src/bitgo/staking/index.d.ts +3 -0
- package/dist/src/bitgo/staking/index.d.ts.map +1 -1
- package/dist/src/bitgo/staking/index.js +9 -2
- package/dist/src/bitgo/staking/stakingWallet.d.ts +26 -7
- package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/stakingWallet.js +148 -7
- package/dist/src/bitgo/trading/iTradingAccount.d.ts +2 -32
- package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
- package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
- package/dist/src/bitgo/trading/index.d.ts +1 -15
- package/dist/src/bitgo/trading/index.d.ts.map +1 -1
- package/dist/src/bitgo/trading/index.js +7 -17
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
- package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
- package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt.js +23 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
- package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
- package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt.js +58 -0
- package/dist/src/bitgo/trading/network/index.d.ts +5 -0
- package/dist/src/bitgo/trading/network/index.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/index.js +21 -0
- package/dist/src/bitgo/trading/network/network.d.ts +36 -0
- package/dist/src/bitgo/trading/network/network.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/network.js +101 -0
- package/dist/src/bitgo/trading/network/types.d.ts +277 -0
- package/dist/src/bitgo/trading/network/types.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/types.js +3 -0
- package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
- package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/utils.js +54 -0
- package/dist/src/bitgo/trading/tradingAccount.d.ts +11 -35
- package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
- package/dist/src/bitgo/trading/tradingAccount.js +9 -96
- package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +27 -0
- package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
- package/dist/src/bitgo/tss/bitgoPubKeys.js +61 -0
- package/dist/src/bitgo/tss/common.d.ts +50 -7
- package/dist/src/bitgo/tss/common.d.ts.map +1 -1
- package/dist/src/bitgo/tss/common.js +124 -23
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +17 -12
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/ecdsa.js +111 -96
- package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +162 -0
- package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
- package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/index.js +25 -10
- package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
- package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +19 -9
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/eddsa/eddsa.js +56 -38
- package/dist/src/bitgo/tss/eddsa/index.js +23 -9
- package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
- package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/tss/index.d.ts +3 -2
- package/dist/src/bitgo/tss/index.d.ts.map +1 -1
- package/dist/src/bitgo/tss/index.js +26 -10
- package/dist/src/bitgo/tss/types.d.ts +19 -0
- package/dist/src/bitgo/tss/types.d.ts.map +1 -1
- package/dist/src/bitgo/tss/types.js +2 -2
- package/dist/src/bitgo/types.d.ts +3 -3
- package/dist/src/bitgo/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +11 -0
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +66 -10
- package/dist/src/bitgo/utils/codecProps.d.ts +7 -0
- package/dist/src/bitgo/utils/codecProps.d.ts.map +1 -0
- package/dist/src/bitgo/utils/codecProps.js +54 -0
- package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
- package/dist/src/bitgo/utils/decode.js +30 -16
- package/dist/src/bitgo/utils/index.d.ts +3 -2
- package/dist/src/bitgo/utils/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/index.js +26 -11
- package/dist/src/bitgo/utils/messageTypes.d.ts +38 -0
- package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
- package/dist/src/bitgo/utils/messageTypes.js +15 -0
- package/dist/src/bitgo/utils/mpcUtils.d.ts +2 -3
- package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/mpcUtils.js +52 -13
- package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
- package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
- package/dist/src/bitgo/utils/notEmpty.js +7 -0
- package/dist/src/bitgo/utils/opengpgUtils.d.ts +11 -9
- package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/opengpgUtils.js +74 -73
- package/dist/src/bitgo/utils/postWithCodec.d.ts +18 -0
- package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -0
- package/dist/src/bitgo/utils/postWithCodec.js +25 -0
- package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
- package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/promise-utils.js +2 -3
- package/dist/src/bitgo/utils/transactionUtils.d.ts +9 -0
- package/dist/src/bitgo/utils/transactionUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/transactionUtils.js +29 -0
- package/dist/src/bitgo/utils/triple.d.ts +1 -1
- package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
- package/dist/src/bitgo/utils/triple.js +2 -3
- package/dist/src/bitgo/utils/tss/addressVerification.d.ts +23 -0
- package/dist/src/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/addressVerification.js +51 -0
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +105 -25
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +242 -42
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +371 -31
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +36 -10
- package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
- package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
- package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +28 -0
- package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/base.js +53 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +56 -49
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +332 -317
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +199 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +950 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +8 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +13 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +4 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/index.js +10 -2
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +15 -9
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +107 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +38 -11
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +170 -65
- package/dist/src/bitgo/utils/tss/eddsa/index.js +23 -9
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +7 -7
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/index.d.ts +1 -0
- package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/index.js +24 -9
- package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
- package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
- package/dist/src/bitgo/utils/txRequest.js +47 -0
- package/dist/src/bitgo/utils/util.js +24 -10
- package/dist/src/bitgo/utils/wallet.d.ts +7 -0
- package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
- package/dist/src/bitgo/utils/wallet.js +48 -0
- package/dist/src/bitgo/wallet/BuildParams.d.ts +134 -0
- package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/BuildParams.js +151 -0
- package/dist/src/bitgo/wallet/iWallet.d.ts +301 -21
- package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallet.js +1 -1
- package/dist/src/bitgo/wallet/iWallets.d.ts +109 -16
- package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallets.js +50 -3
- package/dist/src/bitgo/wallet/index.js +6 -2
- package/dist/src/bitgo/wallet/wallet.d.ts +226 -24
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +1239 -342
- package/dist/src/bitgo/wallet/wallets.d.ts +103 -9
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallets.js +934 -195
- package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts +12 -0
- package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts.map +1 -0
- package/dist/src/bitgo/walletUtil/iMessageProvider.js +3 -0
- package/dist/src/bitgo/walletUtil/index.d.ts +3 -0
- package/dist/src/bitgo/walletUtil/index.d.ts.map +1 -0
- package/dist/src/bitgo/walletUtil/index.js +19 -0
- package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts +22 -0
- package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts.map +1 -0
- package/dist/src/bitgo/walletUtil/midnightMessageProvider.js +95 -0
- package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts +9 -0
- package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts.map +1 -0
- package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.js +72 -0
- package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts +15 -0
- package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts.map +1 -0
- package/dist/src/bitgo/walletUtil/utxoMessageProof.js +40 -0
- package/dist/src/bitgo/webhook/index.js +6 -2
- package/dist/src/bitgo/webhook/webhooks.js +23 -9
- package/dist/src/coins/fiataed.d.ts +32 -0
- package/dist/src/coins/fiataed.d.ts.map +1 -0
- package/dist/src/coins/fiataed.js +61 -0
- package/dist/src/coins/fiateur.d.ts +3 -2
- package/dist/src/coins/fiateur.d.ts.map +1 -1
- package/dist/src/coins/fiateur.js +5 -1
- package/dist/src/coins/fiatgbp.d.ts +3 -2
- package/dist/src/coins/fiatgbp.d.ts.map +1 -1
- package/dist/src/coins/fiatgbp.js +5 -1
- package/dist/src/coins/fiatsgd.d.ts +32 -0
- package/dist/src/coins/fiatsgd.d.ts.map +1 -0
- package/dist/src/coins/fiatsgd.js +61 -0
- package/dist/src/coins/fiatusd.d.ts +3 -2
- package/dist/src/coins/fiatusd.d.ts.map +1 -1
- package/dist/src/coins/fiatusd.js +5 -1
- package/dist/src/coins/index.d.ts +4 -0
- package/dist/src/coins/index.d.ts.map +1 -1
- package/dist/src/coins/index.js +10 -2
- package/dist/src/coins/ofc.d.ts +3 -2
- package/dist/src/coins/ofc.d.ts.map +1 -1
- package/dist/src/coins/ofc.js +6 -2
- package/dist/src/coins/ofcToken.js +2 -2
- package/dist/src/coins/susd.d.ts +3 -2
- package/dist/src/coins/susd.d.ts.map +1 -1
- package/dist/src/coins/susd.js +5 -1
- package/dist/src/coins/tfiataed.d.ts +11 -0
- package/dist/src/coins/tfiataed.d.ts.map +1 -0
- package/dist/src/coins/tfiataed.js +17 -0
- package/dist/src/coins/tfiatsgd.d.ts +11 -0
- package/dist/src/coins/tfiatsgd.d.ts.map +1 -0
- package/dist/src/coins/tfiatsgd.js +17 -0
- package/dist/src/common.js +27 -13
- package/dist/src/index.d.ts +6 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +28 -11
- package/dist/src/units.js +5 -6
- package/dist/test/node.utils.d.ts +2 -0
- package/dist/test/node.utils.d.ts.map +1 -0
- package/dist/test/node.utils.js +5 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +207 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +174 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +108 -0
- package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +46 -0
- package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +69 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +235 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts +3 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts.map +1 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.js +24 -0
- package/dist/test/unit/bitgo/errors.d.ts +2 -0
- package/dist/test/unit/bitgo/errors.d.ts.map +1 -0
- package/dist/test/unit/bitgo/errors.js +136 -0
- package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
- package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
- package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -0
- package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
- package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.js +73 -0
- package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/txRequest.js +105 -0
- package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/BuildParams.js +68 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +58 -0
- package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/tokenApproval.js +135 -0
- package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.js +181 -0
- package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.js +216 -0
- package/dist/test/unit/units.d.ts +2 -0
- package/dist/test/unit/units.d.ts.map +1 -0
- package/dist/test/unit/units.js +98 -0
- package/dist/tsconfig.tsbuildinfo +1 -8279
- package/package.json +29 -22
- package/.eslintignore +0 -5
- package/CHANGELOG.md +0 -662
- package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
- package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
- package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
- package/dist/src/account-lib/mpc/hdTree.d.ts +0 -31
- package/dist/src/account-lib/mpc/hdTree.d.ts.map +0 -1
- package/dist/src/account-lib/mpc/hdTree.js +0 -141
- package/dist/src/account-lib/mpc/types.d.ts +0 -5
- package/dist/src/account-lib/mpc/types.d.ts.map +0 -1
- package/dist/src/account-lib/mpc/types.js +0 -3
- package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
- package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/iLightning.js +0 -106
- package/dist/src/bitgo/lightning/index.d.ts +0 -5
- package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/index.js +0 -17
- package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
- package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/lightning.js +0 -111
- package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
- package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
- package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
- package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
- package/dist/src/bitgo/trading/affirmation.d.ts +0 -35
- package/dist/src/bitgo/trading/affirmation.d.ts.map +0 -1
- package/dist/src/bitgo/trading/affirmation.js +0 -53
- package/dist/src/bitgo/trading/affirmations.d.ts +0 -23
- package/dist/src/bitgo/trading/affirmations.d.ts.map +0 -1
- package/dist/src/bitgo/trading/affirmations.js +0 -45
- package/dist/src/bitgo/trading/iAffirmation.d.ts +0 -15
- package/dist/src/bitgo/trading/iAffirmation.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iAffirmation.js +0 -13
- package/dist/src/bitgo/trading/iAffirmations.d.ts +0 -10
- package/dist/src/bitgo/trading/iAffirmations.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iAffirmations.js +0 -3
- package/dist/src/bitgo/trading/iSettlement.d.ts +0 -25
- package/dist/src/bitgo/trading/iSettlement.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iSettlement.js +0 -17
- package/dist/src/bitgo/trading/iSettlements.d.ts +0 -19
- package/dist/src/bitgo/trading/iSettlements.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iSettlements.js +0 -3
- package/dist/src/bitgo/trading/iTradingPartner.d.ts +0 -14
- package/dist/src/bitgo/trading/iTradingPartner.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iTradingPartner.js +0 -17
- package/dist/src/bitgo/trading/iTradingPartners.d.ts +0 -15
- package/dist/src/bitgo/trading/iTradingPartners.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iTradingPartners.js +0 -9
- package/dist/src/bitgo/trading/lock.d.ts +0 -16
- package/dist/src/bitgo/trading/lock.d.ts.map +0 -1
- package/dist/src/bitgo/trading/lock.js +0 -12
- package/dist/src/bitgo/trading/payload.d.ts +0 -22
- package/dist/src/bitgo/trading/payload.d.ts.map +0 -1
- package/dist/src/bitgo/trading/payload.js +0 -3
- package/dist/src/bitgo/trading/settlement.d.ts +0 -16
- package/dist/src/bitgo/trading/settlement.d.ts.map +0 -1
- package/dist/src/bitgo/trading/settlement.js +0 -21
- package/dist/src/bitgo/trading/settlements.d.ts +0 -32
- package/dist/src/bitgo/trading/settlements.d.ts.map +0 -1
- package/dist/src/bitgo/trading/settlements.js +0 -61
- package/dist/src/bitgo/trading/trade.d.ts +0 -29
- package/dist/src/bitgo/trading/trade.d.ts.map +0 -1
- package/dist/src/bitgo/trading/trade.js +0 -11
- package/dist/src/bitgo/trading/tradingPartner.d.ts +0 -26
- package/dist/src/bitgo/trading/tradingPartner.d.ts.map +0 -1
- package/dist/src/bitgo/trading/tradingPartner.js +0 -31
- package/dist/src/bitgo/trading/tradingPartners.d.ts +0 -24
- package/dist/src/bitgo/trading/tradingPartners.d.ts.map +0 -1
- package/dist/src/bitgo/trading/tradingPartners.js +0 -32
- package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
- package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
- package/dist/src/bitgo/utils/blsUtils.js +0 -237
- package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
- package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
- package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
- package/dist/src/openssl/index.d.ts +0 -2
- package/dist/src/openssl/index.d.ts.map +0 -1
- package/dist/src/openssl/openssl.d.ts +0 -12
- package/dist/src/openssl/openssl.d.ts.map +0 -1
- package/dist/src/openssl/openssl.js +0 -48
- package/dist/src/openssl/opensslbytes.d.ts +0 -4
- package/dist/src/openssl/opensslbytes.d.ts.map +0 -1
- package/dist/src/openssl/opensslbytes.js +0 -20
package/dist/src/index.d.ts
CHANGED
|
@@ -4,10 +4,15 @@ export * from './api';
|
|
|
4
4
|
export * from './bitgo';
|
|
5
5
|
export * from './bitgojsError';
|
|
6
6
|
export * as coins from './coins';
|
|
7
|
-
export * from './openssl';
|
|
8
7
|
import { EddsaUtils } from './bitgo/utils/tss/eddsa/eddsa';
|
|
9
8
|
export { EddsaUtils };
|
|
9
|
+
import { EcdsaUtils } from './bitgo/utils/tss/ecdsa/ecdsa';
|
|
10
|
+
export { EcdsaUtils };
|
|
11
|
+
import { EcdsaMPCv2Utils } from './bitgo/utils/tss/ecdsa/ecdsaMPCv2';
|
|
12
|
+
export { EcdsaMPCv2Utils };
|
|
10
13
|
export { GShare, SignShare, YShare } from './account-lib/mpc/tss/eddsa/types';
|
|
14
|
+
export { TssEcdsaStep1ReturnMessage, TssEcdsaStep2ReturnMessage } from './bitgo/tss/types';
|
|
15
|
+
export { SShare } from './bitgo/tss/ecdsa/types';
|
|
11
16
|
import * as common from './common';
|
|
12
17
|
export * from './units';
|
|
13
18
|
export { common };
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -14,25 +18,38 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
14
18
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
19
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
20
|
};
|
|
17
|
-
var __importStar = (this && this.__importStar) || function (
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
};
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
24
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.common = exports.EddsaUtils = exports.coins = exports.accountLib = void 0;
|
|
39
|
+
exports.common = exports.EcdsaMPCv2Utils = exports.EcdsaUtils = exports.EddsaUtils = exports.coins = exports.accountLib = void 0;
|
|
26
40
|
__exportStar(require("./account-lib"), exports);
|
|
27
41
|
exports.accountLib = __importStar(require("./account-lib"));
|
|
28
42
|
__exportStar(require("./api"), exports);
|
|
29
43
|
__exportStar(require("./bitgo"), exports);
|
|
30
44
|
__exportStar(require("./bitgojsError"), exports);
|
|
31
45
|
exports.coins = __importStar(require("./coins"));
|
|
32
|
-
__exportStar(require("./openssl"), exports);
|
|
33
46
|
const eddsa_1 = require("./bitgo/utils/tss/eddsa/eddsa");
|
|
34
47
|
Object.defineProperty(exports, "EddsaUtils", { enumerable: true, get: function () { return eddsa_1.EddsaUtils; } });
|
|
48
|
+
const ecdsa_1 = require("./bitgo/utils/tss/ecdsa/ecdsa");
|
|
49
|
+
Object.defineProperty(exports, "EcdsaUtils", { enumerable: true, get: function () { return ecdsa_1.EcdsaUtils; } });
|
|
50
|
+
const ecdsaMPCv2_1 = require("./bitgo/utils/tss/ecdsa/ecdsaMPCv2");
|
|
51
|
+
Object.defineProperty(exports, "EcdsaMPCv2Utils", { enumerable: true, get: function () { return ecdsaMPCv2_1.EcdsaMPCv2Utils; } });
|
|
35
52
|
const common = __importStar(require("./common"));
|
|
36
53
|
exports.common = common;
|
|
37
54
|
__exportStar(require("./units"), exports);
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQThCO0FBQzlCLDREQUE0QztBQUM1Qyx3Q0FBc0I7QUFDdEIsMENBQXdCO0FBQ3hCLGlEQUErQjtBQUMvQixpREFBaUM7QUFDakMseURBQTJEO0FBQ2xELDJGQURBLGtCQUFVLE9BQ0E7QUFDbkIseURBQTJEO0FBQ2xELDJGQURBLGtCQUFVLE9BQ0E7QUFDbkIsbUVBQXFFO0FBQzVELGdHQURBLDRCQUFlLE9BQ0E7QUFJeEIsaURBQW1DO0FBRTFCLHdCQUFNO0FBRGYsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY2NvdW50LWxpYic7XG5leHBvcnQgKiBhcyBhY2NvdW50TGliIGZyb20gJy4vYWNjb3VudC1saWInO1xuZXhwb3J0ICogZnJvbSAnLi9hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9iaXRnbyc7XG5leHBvcnQgKiBmcm9tICcuL2JpdGdvanNFcnJvcic7XG5leHBvcnQgKiBhcyBjb2lucyBmcm9tICcuL2NvaW5zJztcbmltcG9ydCB7IEVkZHNhVXRpbHMgfSBmcm9tICcuL2JpdGdvL3V0aWxzL3Rzcy9lZGRzYS9lZGRzYSc7XG5leHBvcnQgeyBFZGRzYVV0aWxzIH07XG5pbXBvcnQgeyBFY2RzYVV0aWxzIH0gZnJvbSAnLi9iaXRnby91dGlscy90c3MvZWNkc2EvZWNkc2EnO1xuZXhwb3J0IHsgRWNkc2FVdGlscyB9O1xuaW1wb3J0IHsgRWNkc2FNUEN2MlV0aWxzIH0gZnJvbSAnLi9iaXRnby91dGlscy90c3MvZWNkc2EvZWNkc2FNUEN2Mic7XG5leHBvcnQgeyBFY2RzYU1QQ3YyVXRpbHMgfTtcbmV4cG9ydCB7IEdTaGFyZSwgU2lnblNoYXJlLCBZU2hhcmUgfSBmcm9tICcuL2FjY291bnQtbGliL21wYy90c3MvZWRkc2EvdHlwZXMnO1xuZXhwb3J0IHsgVHNzRWNkc2FTdGVwMVJldHVybk1lc3NhZ2UsIFRzc0VjZHNhU3RlcDJSZXR1cm5NZXNzYWdlIH0gZnJvbSAnLi9iaXRnby90c3MvdHlwZXMnO1xuZXhwb3J0IHsgU1NoYXJlIH0gZnJvbSAnLi9iaXRnby90c3MvZWNkc2EvdHlwZXMnO1xuaW1wb3J0ICogYXMgY29tbW9uIGZyb20gJy4vY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdW5pdHMnO1xuZXhwb3J0IHsgY29tbW9uIH07XG4iXX0=
|
package/dist/src/units.js
CHANGED
|
@@ -3,7 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.toFullUnits = toFullUnits;
|
|
7
|
+
exports.toFullUnitsFixed = toFullUnitsFixed;
|
|
8
|
+
exports.toBaseUnits = toBaseUnits;
|
|
9
|
+
exports.toMarketValueBaseUnits = toMarketValueBaseUnits;
|
|
7
10
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
11
|
const statics_1 = require("@bitgo-beta/statics");
|
|
9
12
|
/**
|
|
@@ -14,7 +17,6 @@ const statics_1 = require("@bitgo-beta/statics");
|
|
|
14
17
|
function toFullUnits(baseUnits, coin) {
|
|
15
18
|
return new bignumber_js_1.default(baseUnits).div(10 ** statics_1.coins.get(coin).decimalPlaces).toString();
|
|
16
19
|
}
|
|
17
|
-
exports.toFullUnits = toFullUnits;
|
|
18
20
|
/**
|
|
19
21
|
* Converts an amount of coin in base units (such as satoshis, cents, or wei) to full units (such as bitcoin, dollars, or ether) fixed amount
|
|
20
22
|
* @param baseUnits number of base units
|
|
@@ -24,7 +26,6 @@ function toFullUnitsFixed(baseUnits, coin) {
|
|
|
24
26
|
const decimalPlaces = statics_1.coins.get(coin).decimalPlaces;
|
|
25
27
|
return new bignumber_js_1.default(baseUnits).div(10 ** decimalPlaces).toFixed(decimalPlaces);
|
|
26
28
|
}
|
|
27
|
-
exports.toFullUnitsFixed = toFullUnitsFixed;
|
|
28
29
|
/**
|
|
29
30
|
* Converts an amount of coin in full units (such as bitcoin, dollars, or ether) to base units (such as satoshis, cents, or wei)
|
|
30
31
|
* @param fullUnits number of full units
|
|
@@ -33,7 +34,6 @@ exports.toFullUnitsFixed = toFullUnitsFixed;
|
|
|
33
34
|
function toBaseUnits(fullUnits, coin) {
|
|
34
35
|
return new bignumber_js_1.default(fullUnits).times(10 ** statics_1.coins.get(coin).decimalPlaces).toString();
|
|
35
36
|
}
|
|
36
|
-
exports.toBaseUnits = toBaseUnits;
|
|
37
37
|
/**
|
|
38
38
|
* Converts price and quantity for a coin into base units market value
|
|
39
39
|
* (note, price might be 2 decimal places longer than priceIn decimal places for base units)
|
|
@@ -48,5 +48,4 @@ function toMarketValueBaseUnits(coin, price, quantity, priceIn = 'tsusd') {
|
|
|
48
48
|
const decimalPlacesCoinBy100 = BigInt(toBaseUnits(1, coin)) * BigInt(100);
|
|
49
49
|
return (roundFactor * BigInt(quantity) * BigInt(priceInBaseUnitsBy100)) / (decimalPlacesCoinBy100 * roundFactor);
|
|
50
50
|
}
|
|
51
|
-
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdW5pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0VBQXFDO0FBRXJDLGlEQUE0QztBQUU1Qzs7OztHQUlHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLFNBQXNDLEVBQUUsSUFBWTtJQUM5RSxPQUFPLElBQUksc0JBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLGVBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDdEYsQ0FBQztBQUZELGtDQUVDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLFNBQXNDLEVBQUUsSUFBWTtJQUNuRixNQUFNLGFBQWEsR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUNwRCxPQUFPLElBQUksc0JBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNsRixDQUFDO0FBSEQsNENBR0M7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLFNBQXNDLEVBQUUsSUFBWTtJQUM5RSxPQUFPLElBQUksc0JBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLGVBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDeEYsQ0FBQztBQUZELGtDQUVDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLHNCQUFzQixDQUNwQyxJQUFZLEVBQ1osS0FBa0MsRUFDbEMsUUFBa0MsRUFDbEMsT0FBTyxHQUFHLE9BQU87SUFFakIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ3BGLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUUsT0FBTyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxDQUFDLHNCQUFzQixHQUFHLFdBQVcsQ0FBQyxDQUFDO0FBQ25ILENBQUM7QUFWRCx3REFVQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcblxuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhbW91bnQgb2YgY29pbiBpbiBiYXNlIHVuaXRzIChzdWNoIGFzIHNhdG9zaGlzLCBjZW50cywgb3Igd2VpKSB0byBmdWxsIHVuaXRzIChzdWNoIGFzIGJpdGNvaW4sIGRvbGxhcnMsIG9yIGV0aGVyKVxuICogQHBhcmFtIGJhc2VVbml0cyBudW1iZXIgb2YgYmFzZSB1bml0c1xuICogQHBhcmFtIGNvaW4gY29pbiB0aWNrZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvRnVsbFVuaXRzKGJhc2VVbml0czogbnVtYmVyIHwgc3RyaW5nIHwgQmlnTnVtYmVyLCBjb2luOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gbmV3IEJpZ051bWJlcihiYXNlVW5pdHMpLmRpdigxMCAqKiBjb2lucy5nZXQoY29pbikuZGVjaW1hbFBsYWNlcykudG9TdHJpbmcoKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhbW91bnQgb2YgY29pbiBpbiBiYXNlIHVuaXRzIChzdWNoIGFzIHNhdG9zaGlzLCBjZW50cywgb3Igd2VpKSB0byBmdWxsIHVuaXRzIChzdWNoIGFzIGJpdGNvaW4sIGRvbGxhcnMsIG9yIGV0aGVyKSBmaXhlZCBhbW91bnRcbiAqIEBwYXJhbSBiYXNlVW5pdHMgbnVtYmVyIG9mIGJhc2UgdW5pdHNcbiAqIEBwYXJhbSBjb2luIGNvaW4gdGlja2VyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0Z1bGxVbml0c0ZpeGVkKGJhc2VVbml0czogbnVtYmVyIHwgc3RyaW5nIHwgQmlnTnVtYmVyLCBjb2luOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBkZWNpbWFsUGxhY2VzID0gY29pbnMuZ2V0KGNvaW4pLmRlY2ltYWxQbGFjZXM7XG4gIHJldHVybiBuZXcgQmlnTnVtYmVyKGJhc2VVbml0cykuZGl2KDEwICoqIGRlY2ltYWxQbGFjZXMpLnRvRml4ZWQoZGVjaW1hbFBsYWNlcyk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gYW1vdW50IG9mIGNvaW4gaW4gZnVsbCB1bml0cyAoc3VjaCBhcyBiaXRjb2luLCBkb2xsYXJzLCBvciBldGhlcikgdG8gYmFzZSB1bml0cyAoc3VjaCBhcyBzYXRvc2hpcywgY2VudHMsIG9yIHdlaSlcbiAqIEBwYXJhbSBmdWxsVW5pdHMgbnVtYmVyIG9mIGZ1bGwgdW5pdHNcbiAqIEBwYXJhbSBjb2luIGNvaW4gdGlja2VyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0Jhc2VVbml0cyhmdWxsVW5pdHM6IG51bWJlciB8IHN0cmluZyB8IEJpZ051bWJlciwgY29pbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5ldyBCaWdOdW1iZXIoZnVsbFVuaXRzKS50aW1lcygxMCAqKiBjb2lucy5nZXQoY29pbikuZGVjaW1hbFBsYWNlcykudG9TdHJpbmcoKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBwcmljZSBhbmQgcXVhbnRpdHkgZm9yIGEgY29pbiBpbnRvIGJhc2UgdW5pdHMgbWFya2V0IHZhbHVlXG4gKiAobm90ZSwgcHJpY2UgbWlnaHQgYmUgMiBkZWNpbWFsIHBsYWNlcyBsb25nZXIgdGhhbiBwcmljZUluIGRlY2ltYWwgcGxhY2VzIGZvciBiYXNlIHVuaXRzKVxuICogQHBhcmFtIGNvaW4gLSB3aGljaCBjb2luIHRvIGNhbGN1bGF0ZSBmb3JcbiAqIEBwYXJhbSBwcmljZSAtIHByaWNlIG9mIGEgdW5pdCBvZiB0aGUgY29pbiBzcGVjaWZpZWRcbiAqIEBwYXJhbSBxdWFudGl0eSAtIG51bWJlciBvZiBjb2luc1xuICogQHBhcmFtIHByaWNlSW4gLSBudW1lcmF0b3Igb2YgdHJhZGluZyBwYWlyLCBmb3IgZXhhbXBsZSBVU0Qgb2YgQlRDL1VTRFxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9NYXJrZXRWYWx1ZUJhc2VVbml0cyhcbiAgY29pbjogc3RyaW5nLFxuICBwcmljZTogbnVtYmVyIHwgc3RyaW5nIHwgQmlnTnVtYmVyLFxuICBxdWFudGl0eTogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50LFxuICBwcmljZUluID0gJ3RzdXNkJ1xuKTogYmlnaW50IHtcbiAgY29uc3Qgcm91bmRGYWN0b3IgPSBCaWdJbnQoMTAwMDAwMCk7XG4gIGNvbnN0IHByaWNlSW5CYXNlVW5pdHNCeTEwMCA9IE1hdGgucm91bmQoTnVtYmVyKHRvQmFzZVVuaXRzKHByaWNlLCBwcmljZUluKSkgKiAxMDApO1xuICBjb25zdCBkZWNpbWFsUGxhY2VzQ29pbkJ5MTAwID0gQmlnSW50KHRvQmFzZVVuaXRzKDEsIGNvaW4pKSAqIEJpZ0ludCgxMDApO1xuICByZXR1cm4gKHJvdW5kRmFjdG9yICogQmlnSW50KHF1YW50aXR5KSAqIEJpZ0ludChwcmljZUluQmFzZVVuaXRzQnkxMDApKSAvIChkZWNpbWFsUGxhY2VzQ29pbkJ5MTAwICogcm91bmRGYWN0b3IpO1xufVxuIl19
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdW5pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFTQSxrQ0FFQztBQU9ELDRDQUdDO0FBT0Qsa0NBRUM7QUFVRCx3REFVQztBQWxERCxnRUFBcUM7QUFFckMsaURBQTRDO0FBRTVDOzs7O0dBSUc7QUFDSCxTQUFnQixXQUFXLENBQUMsU0FBc0MsRUFBRSxJQUFZO0lBQzlFLE9BQU8sSUFBSSxzQkFBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksZUFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUN0RixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLFNBQXNDLEVBQUUsSUFBWTtJQUNuRixNQUFNLGFBQWEsR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUNwRCxPQUFPLElBQUksc0JBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNsRixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxTQUFzQyxFQUFFLElBQVk7SUFDOUUsT0FBTyxJQUFJLHNCQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ3hGLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0Isc0JBQXNCLENBQ3BDLElBQVksRUFDWixLQUFrQyxFQUNsQyxRQUFrQyxFQUNsQyxPQUFPLEdBQUcsT0FBTztJQUVqQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDcEYsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxRSxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEdBQUcsV0FBVyxDQUFDLENBQUM7QUFDbkgsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcblxuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhbW91bnQgb2YgY29pbiBpbiBiYXNlIHVuaXRzIChzdWNoIGFzIHNhdG9zaGlzLCBjZW50cywgb3Igd2VpKSB0byBmdWxsIHVuaXRzIChzdWNoIGFzIGJpdGNvaW4sIGRvbGxhcnMsIG9yIGV0aGVyKVxuICogQHBhcmFtIGJhc2VVbml0cyBudW1iZXIgb2YgYmFzZSB1bml0c1xuICogQHBhcmFtIGNvaW4gY29pbiB0aWNrZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvRnVsbFVuaXRzKGJhc2VVbml0czogbnVtYmVyIHwgc3RyaW5nIHwgQmlnTnVtYmVyLCBjb2luOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gbmV3IEJpZ051bWJlcihiYXNlVW5pdHMpLmRpdigxMCAqKiBjb2lucy5nZXQoY29pbikuZGVjaW1hbFBsYWNlcykudG9TdHJpbmcoKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhbW91bnQgb2YgY29pbiBpbiBiYXNlIHVuaXRzIChzdWNoIGFzIHNhdG9zaGlzLCBjZW50cywgb3Igd2VpKSB0byBmdWxsIHVuaXRzIChzdWNoIGFzIGJpdGNvaW4sIGRvbGxhcnMsIG9yIGV0aGVyKSBmaXhlZCBhbW91bnRcbiAqIEBwYXJhbSBiYXNlVW5pdHMgbnVtYmVyIG9mIGJhc2UgdW5pdHNcbiAqIEBwYXJhbSBjb2luIGNvaW4gdGlja2VyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0Z1bGxVbml0c0ZpeGVkKGJhc2VVbml0czogbnVtYmVyIHwgc3RyaW5nIHwgQmlnTnVtYmVyLCBjb2luOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBkZWNpbWFsUGxhY2VzID0gY29pbnMuZ2V0KGNvaW4pLmRlY2ltYWxQbGFjZXM7XG4gIHJldHVybiBuZXcgQmlnTnVtYmVyKGJhc2VVbml0cykuZGl2KDEwICoqIGRlY2ltYWxQbGFjZXMpLnRvRml4ZWQoZGVjaW1hbFBsYWNlcyk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gYW1vdW50IG9mIGNvaW4gaW4gZnVsbCB1bml0cyAoc3VjaCBhcyBiaXRjb2luLCBkb2xsYXJzLCBvciBldGhlcikgdG8gYmFzZSB1bml0cyAoc3VjaCBhcyBzYXRvc2hpcywgY2VudHMsIG9yIHdlaSlcbiAqIEBwYXJhbSBmdWxsVW5pdHMgbnVtYmVyIG9mIGZ1bGwgdW5pdHNcbiAqIEBwYXJhbSBjb2luIGNvaW4gdGlja2VyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0Jhc2VVbml0cyhmdWxsVW5pdHM6IG51bWJlciB8IHN0cmluZyB8IEJpZ051bWJlciwgY29pbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5ldyBCaWdOdW1iZXIoZnVsbFVuaXRzKS50aW1lcygxMCAqKiBjb2lucy5nZXQoY29pbikuZGVjaW1hbFBsYWNlcykudG9TdHJpbmcoKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBwcmljZSBhbmQgcXVhbnRpdHkgZm9yIGEgY29pbiBpbnRvIGJhc2UgdW5pdHMgbWFya2V0IHZhbHVlXG4gKiAobm90ZSwgcHJpY2UgbWlnaHQgYmUgMiBkZWNpbWFsIHBsYWNlcyBsb25nZXIgdGhhbiBwcmljZUluIGRlY2ltYWwgcGxhY2VzIGZvciBiYXNlIHVuaXRzKVxuICogQHBhcmFtIGNvaW4gLSB3aGljaCBjb2luIHRvIGNhbGN1bGF0ZSBmb3JcbiAqIEBwYXJhbSBwcmljZSAtIHByaWNlIG9mIGEgdW5pdCBvZiB0aGUgY29pbiBzcGVjaWZpZWRcbiAqIEBwYXJhbSBxdWFudGl0eSAtIG51bWJlciBvZiBjb2luc1xuICogQHBhcmFtIHByaWNlSW4gLSBudW1lcmF0b3Igb2YgdHJhZGluZyBwYWlyLCBmb3IgZXhhbXBsZSBVU0Qgb2YgQlRDL1VTRFxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9NYXJrZXRWYWx1ZUJhc2VVbml0cyhcbiAgY29pbjogc3RyaW5nLFxuICBwcmljZTogbnVtYmVyIHwgc3RyaW5nIHwgQmlnTnVtYmVyLFxuICBxdWFudGl0eTogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50LFxuICBwcmljZUluID0gJ3RzdXNkJ1xuKTogYmlnaW50IHtcbiAgY29uc3Qgcm91bmRGYWN0b3IgPSBCaWdJbnQoMTAwMDAwMCk7XG4gIGNvbnN0IHByaWNlSW5CYXNlVW5pdHNCeTEwMCA9IE1hdGgucm91bmQoTnVtYmVyKHRvQmFzZVVuaXRzKHByaWNlLCBwcmljZUluKSkgKiAxMDApO1xuICBjb25zdCBkZWNpbWFsUGxhY2VzQ29pbkJ5MTAwID0gQmlnSW50KHRvQmFzZVVuaXRzKDEsIGNvaW4pKSAqIEJpZ0ludCgxMDApO1xuICByZXR1cm4gKHJvdW5kRmFjdG9yICogQmlnSW50KHF1YW50aXR5KSAqIEJpZ0ludChwcmljZUluQmFzZVVuaXRzQnkxMDApKSAvIChkZWNpbWFsUGxhY2VzQ29pbkJ5MTAwICogcm91bmRGYWN0b3IpO1xufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.utils.d.ts","sourceRoot":"","sources":["../../test/node.utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,QAA8C,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NODE_MAJOR_VERSION = void 0;
|
|
4
|
+
exports.NODE_MAJOR_VERSION = Number(process.versions.node.split('.')[0]);
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3Qvbm9kZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBOT0RFX01BSk9SX1ZFUlNJT04gPSBOdW1iZXIocHJvY2Vzcy52ZXJzaW9ucy5ub2RlLnNwbGl0KCcuJylbMF0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseMessage.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/account-lib/baseCoin/messages/baseMessage.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,207 @@
|
|
|
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
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
7
|
+
const sinon_1 = __importDefault(require("sinon"));
|
|
8
|
+
const should_1 = __importDefault(require("should"));
|
|
9
|
+
const src_1 = require("../../../../../src");
|
|
10
|
+
const fixtures_1 = require("./fixtures");
|
|
11
|
+
describe('Base Message', () => {
|
|
12
|
+
let coinConfig;
|
|
13
|
+
beforeEach(() => {
|
|
14
|
+
coinConfig = sinon_1.default.createStubInstance(statics_1.BaseCoin);
|
|
15
|
+
});
|
|
16
|
+
it('should initialize with default values', () => {
|
|
17
|
+
const message = new fixtures_1.TestMessage({
|
|
18
|
+
coinConfig,
|
|
19
|
+
payload: '',
|
|
20
|
+
});
|
|
21
|
+
should_1.default.equal(message.getType(), src_1.MessageStandardType.UNKNOWN);
|
|
22
|
+
should_1.default.equal(message.getPayload(), '');
|
|
23
|
+
should_1.default.deepEqual(message.getMetadata(), {});
|
|
24
|
+
should_1.default.deepEqual(message.getSignatures(), []);
|
|
25
|
+
should_1.default.deepEqual(message.getSigners(), []);
|
|
26
|
+
});
|
|
27
|
+
it('should initialize with provided values', () => {
|
|
28
|
+
const { payload, type, metadata, signers, signatures } = fixtures_1.messageSamples.eip191;
|
|
29
|
+
const message = new fixtures_1.TestMessage({
|
|
30
|
+
coinConfig,
|
|
31
|
+
payload,
|
|
32
|
+
type,
|
|
33
|
+
metadata,
|
|
34
|
+
signers,
|
|
35
|
+
signatures,
|
|
36
|
+
});
|
|
37
|
+
should_1.default.equal(message.getType(), type);
|
|
38
|
+
should_1.default.equal(message.getPayload(), payload);
|
|
39
|
+
should_1.default.deepEqual(message.getMetadata(), metadata);
|
|
40
|
+
should_1.default.deepEqual(message.getSignatures(), signatures);
|
|
41
|
+
should_1.default.deepEqual(message.getSigners(), signers);
|
|
42
|
+
});
|
|
43
|
+
describe('Getters and Setters', () => {
|
|
44
|
+
let message;
|
|
45
|
+
beforeEach(() => {
|
|
46
|
+
message = new fixtures_1.TestMessage({
|
|
47
|
+
coinConfig,
|
|
48
|
+
payload: 'test',
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
it('should handle adding and getting signers', () => {
|
|
52
|
+
const signer1 = '0xabc123';
|
|
53
|
+
const signer2 = '0xdef456';
|
|
54
|
+
message.addSigner(signer1);
|
|
55
|
+
should_1.default.deepEqual(message.getSigners(), [signer1]);
|
|
56
|
+
message.addSigner(signer2);
|
|
57
|
+
should_1.default.deepEqual(message.getSigners(), [signer1, signer2]);
|
|
58
|
+
// Adding a duplicate signer should not add it again
|
|
59
|
+
message.addSigner(signer1);
|
|
60
|
+
should_1.default.deepEqual(message.getSigners(), [signer1, signer2]);
|
|
61
|
+
// Set signers should replace all existing signers
|
|
62
|
+
const newSigners = ['0x111', '0x222'];
|
|
63
|
+
message.setSigners(newSigners);
|
|
64
|
+
should_1.default.deepEqual(message.getSigners(), newSigners);
|
|
65
|
+
});
|
|
66
|
+
it('should handle adding and getting signatures', () => {
|
|
67
|
+
const sig1 = {
|
|
68
|
+
publicKey: { pub: 'pub1' },
|
|
69
|
+
signature: Buffer.from('signature1'),
|
|
70
|
+
};
|
|
71
|
+
const sig2 = {
|
|
72
|
+
publicKey: { pub: 'pub2' },
|
|
73
|
+
signature: Buffer.from('signature2'),
|
|
74
|
+
};
|
|
75
|
+
message.addSignature(sig1);
|
|
76
|
+
should_1.default.deepEqual(message.getSignatures(), [sig1]);
|
|
77
|
+
message.addSignature(sig2);
|
|
78
|
+
should_1.default.deepEqual(message.getSignatures(), [sig1, sig2]);
|
|
79
|
+
// Set signatures should replace all existing signatures
|
|
80
|
+
const newSignatures = [
|
|
81
|
+
{
|
|
82
|
+
publicKey: { pub: 'pub3' },
|
|
83
|
+
signature: Buffer.from('sig3'),
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
publicKey: { pub: 'pub4' },
|
|
87
|
+
signature: Buffer.from('sig4'),
|
|
88
|
+
},
|
|
89
|
+
];
|
|
90
|
+
message.setSignatures(newSignatures);
|
|
91
|
+
should_1.default.deepEqual(message.getSignatures(), newSignatures);
|
|
92
|
+
});
|
|
93
|
+
it('should return copies of arrays to prevent mutation', () => {
|
|
94
|
+
const signers = ['addr1', 'addr2'];
|
|
95
|
+
const signatures = [
|
|
96
|
+
{
|
|
97
|
+
publicKey: { pub: 'pub1' },
|
|
98
|
+
signature: Buffer.from('sig1'),
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
publicKey: { pub: 'pub1' },
|
|
102
|
+
signature: Buffer.from('sig1'),
|
|
103
|
+
},
|
|
104
|
+
];
|
|
105
|
+
message.setSigners(signers);
|
|
106
|
+
message.setSignatures(signatures);
|
|
107
|
+
// Modifying the returned arrays should not affect the internal state
|
|
108
|
+
const returnedSigners = message.getSigners();
|
|
109
|
+
const returnedSignatures = message.getSignatures();
|
|
110
|
+
returnedSigners.push('addr3');
|
|
111
|
+
returnedSignatures.push({
|
|
112
|
+
publicKey: { pub: 'pub3' },
|
|
113
|
+
signature: Buffer.from('sig3'),
|
|
114
|
+
});
|
|
115
|
+
should_1.default.deepEqual(message.getSigners(), signers);
|
|
116
|
+
should_1.default.deepEqual(message.getSignatures(), signatures);
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
describe('getSignablePayload', () => {
|
|
120
|
+
it('should return the payload as buffer if signablePayload is not set', async () => {
|
|
121
|
+
const payload = 'test payload';
|
|
122
|
+
const message = new fixtures_1.TestMessage({
|
|
123
|
+
coinConfig,
|
|
124
|
+
payload,
|
|
125
|
+
});
|
|
126
|
+
const result = await message.getSignablePayload();
|
|
127
|
+
should_1.default.deepEqual(result, Buffer.from(payload));
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
describe('toBroadcastFormat', () => {
|
|
131
|
+
it('should create a proper broadcastable format with all fields', async () => {
|
|
132
|
+
const { payload, type, metadata, signers, signatures } = fixtures_1.messageSamples.eip191;
|
|
133
|
+
const message = new fixtures_1.TestMessage({
|
|
134
|
+
coinConfig,
|
|
135
|
+
payload,
|
|
136
|
+
type,
|
|
137
|
+
metadata,
|
|
138
|
+
signers,
|
|
139
|
+
signatures,
|
|
140
|
+
});
|
|
141
|
+
const broadcastFormat = await message.toBroadcastFormat();
|
|
142
|
+
should_1.default.deepEqual(broadcastFormat, {
|
|
143
|
+
type,
|
|
144
|
+
payload,
|
|
145
|
+
serializedSignatures: (0, src_1.serializeSignatures)(signatures),
|
|
146
|
+
signers,
|
|
147
|
+
metadata,
|
|
148
|
+
signablePayload: 'SGVsbG8gQml0R28h',
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
it('should perform a deep copy of metadata to prevent mutation', async () => {
|
|
152
|
+
const nestedMetadata = {
|
|
153
|
+
version: '1.0',
|
|
154
|
+
settings: {
|
|
155
|
+
chainId: 1,
|
|
156
|
+
gasLimit: 21000,
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
const message = new fixtures_1.TestMessage({
|
|
160
|
+
coinConfig,
|
|
161
|
+
payload: 'test',
|
|
162
|
+
metadata: nestedMetadata,
|
|
163
|
+
signers: ['addr1'],
|
|
164
|
+
signatures: [
|
|
165
|
+
{
|
|
166
|
+
publicKey: { pub: 'pub1' },
|
|
167
|
+
signature: Buffer.from('sig1'),
|
|
168
|
+
},
|
|
169
|
+
],
|
|
170
|
+
});
|
|
171
|
+
const broadcastFormat = await message.toBroadcastFormat();
|
|
172
|
+
// The metadata in the broadcast format should be a deep copy
|
|
173
|
+
should_1.default.deepEqual(broadcastFormat.metadata, nestedMetadata);
|
|
174
|
+
// But it should not be the same object reference
|
|
175
|
+
should_1.default.notEqual(broadcastFormat.metadata, nestedMetadata);
|
|
176
|
+
// Modifying the original should not affect the broadcasted version
|
|
177
|
+
nestedMetadata.settings.gasLimit = 50000;
|
|
178
|
+
should_1.default.notEqual(broadcastFormat.metadata.settings.gasLimit, 50000);
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
describe('toBroadcastString', () => {
|
|
182
|
+
it('should serialize the broadcastable format to hex string', async () => {
|
|
183
|
+
const { payload, type, metadata, signers, signatures } = fixtures_1.messageSamples.eip191;
|
|
184
|
+
const message = new fixtures_1.TestMessage({
|
|
185
|
+
coinConfig,
|
|
186
|
+
payload,
|
|
187
|
+
type,
|
|
188
|
+
metadata,
|
|
189
|
+
signers,
|
|
190
|
+
signatures,
|
|
191
|
+
});
|
|
192
|
+
const expectedBroadcastString = {
|
|
193
|
+
type,
|
|
194
|
+
payload,
|
|
195
|
+
serializedSignatures: (0, src_1.serializeSignatures)(signatures),
|
|
196
|
+
signers,
|
|
197
|
+
metadata,
|
|
198
|
+
signablePayload: 'SGVsbG8gQml0R28h',
|
|
199
|
+
};
|
|
200
|
+
const broadcastHex = await message.toBroadcastString();
|
|
201
|
+
const broadcastString = Buffer.from(broadcastHex, 'hex').toString();
|
|
202
|
+
const parsed = JSON.parse(broadcastString);
|
|
203
|
+
should_1.default.deepEqual(parsed, expectedBroadcastString);
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
});
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYWNjb3VudC1saWIvYmFzZUNvaW4vbWVzc2FnZXMvYmFzZU1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpREFBK0M7QUFDL0Msa0RBQTBCO0FBQzFCLG9EQUE0QjtBQUM1Qiw0Q0FBOEU7QUFDOUUseUNBQXlEO0FBRXpELFFBQVEsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFO0lBQzVCLElBQUksVUFBZ0QsQ0FBQztJQUVyRCxVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsVUFBVSxHQUFHLGVBQUssQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsdUNBQXVDLEVBQUUsR0FBRyxFQUFFO1FBQy9DLE1BQU0sT0FBTyxHQUFHLElBQUksc0JBQVcsQ0FBQztZQUM5QixVQUFVO1lBQ1YsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDLENBQUM7UUFFSCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUseUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0QsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLGdCQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxnQkFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUMsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHdDQUF3QyxF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Q0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7WUFFM0MsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBNZXNzYWdlU3RhbmRhcmRUeXBlLCBzZXJpYWxpemVTaWduYXR1cmVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc3JjJztcbmltcG9ydCB7IG1lc3NhZ2VTYW1wbGVzLCBUZXN0TWVzc2FnZSB9IGZyb20gJy4vZml4dHVyZXMnO1xuXG5kZXNjcmliZSgnQmFzZSBNZXNzYWdlJywgKCkgPT4ge1xuICBsZXQgY29pbkNvbmZpZzogc2lub24uU2lub25TdHViYmVkSW5zdGFuY2U8QmFzZUNvaW4+O1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGNvaW5Db25maWcgPSBzaW5vbi5jcmVhdGVTdHViSW5zdGFuY2UoQmFzZUNvaW4pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGluaXRpYWxpemUgd2l0aCBkZWZhdWx0IHZhbHVlcycsICgpID0+IHtcbiAgICBjb25zdCBtZXNzYWdlID0gbmV3IFRlc3RNZXNzYWdlKHtcbiAgICAgIGNvaW5Db25maWcsXG4gICAgICBwYXlsb2FkOiAnJyxcbiAgICB9KTtcblxuICAgIHNob3VsZC5lcXVhbChtZXNzYWdlLmdldFR5cGUoKSwgTWVzc2FnZVN0YW5kYXJkVHlwZS5VTktOT1dOKTtcbiAgICBzaG91bGQuZXF1YWwobWVzc2FnZS5nZXRQYXlsb2FkKCksICcnKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0TWV0YWRhdGEoKSwge30pO1xuICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRTaWduYXR1cmVzKCksIFtdKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmVycygpLCBbXSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgaW5pdGlhbGl6ZSB3aXRoIHByb3ZpZGVkIHZhbHVlcycsICgpID0+IHtcbiAgICBjb25zdCB7IHBheWxvYWQsIHR5cGUsIG1ldGFkYXRhLCBzaWduZXJzLCBzaWduYXR1cmVzIH0gPSBtZXNzYWdlU2FtcGxlcy5laXAxOTE7XG5cbiAgICBjb25zdCBtZXNzYWdlID0gbmV3IFRlc3RNZXNzYWdlKHtcbiAgICAgIGNvaW5Db25maWcsXG4gICAgICBwYXlsb2FkLFxuICAgICAgdHlwZSxcbiAgICAgIG1ldGFkYXRhLFxuICAgICAgc2lnbmVycyxcbiAgICAgIHNpZ25hdHVyZXMsXG4gICAgfSk7XG5cbiAgICBzaG91bGQuZXF1YWwobWVzc2FnZS5nZXRUeXBlKCksIHR5cGUpO1xuICAgIHNob3VsZC5lcXVhbChtZXNzYWdlLmdldFBheWxvYWQoKSwgcGF5bG9hZCk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldE1ldGFkYXRhKCksIG1ldGFkYXRhKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmF0dXJlcygpLCBzaWduYXR1cmVzKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmVycygpLCBzaWduZXJzKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0dldHRlcnMgYW5kIFNldHRlcnMnLCAoKSA9PiB7XG4gICAgbGV0IG1lc3NhZ2U6IFRlc3RNZXNzYWdlO1xuXG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBtZXNzYWdlID0gbmV3IFRlc3RNZXNzYWdlKHtcbiAgICAgICAgY29pbkNvbmZpZyxcbiAgICAgICAgcGF5bG9hZDogJ3Rlc3QnLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGhhbmRsZSBhZGRpbmcgYW5kIGdldHRpbmcgc2lnbmVycycsICgpID0+IHtcbiAgICAgIGNvbnN0IHNpZ25lcjEgPSAnMHhhYmMxMjMnO1xuICAgICAgY29uc3Qgc2lnbmVyMiA9ICcweGRlZjQ1Nic7XG5cbiAgICAgIG1lc3NhZ2UuYWRkU2lnbmVyKHNpZ25lcjEpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldFNpZ25lcnMoKSwgW3NpZ25lcjFdKTtcblxuICAgICAgbWVzc2FnZS5hZGRTaWduZXIoc2lnbmVyMik7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmVycygpLCBbc2lnbmVyMSwgc2lnbmVyMl0pO1xuXG4gICAgICAvLyBBZGRpbmcgYSBkdXBsaWNhdGUgc2lnbmVyIHNob3VsZCBub3QgYWRkIGl0IGFnYWluXG4gICAgICBtZXNzYWdlLmFkZFNpZ25lcihzaWduZXIxKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRTaWduZXJzKCksIFtzaWduZXIxLCBzaWduZXIyXSk7XG5cbiAgICAgIC8vIFNldCBzaWduZXJzIHNob3VsZCByZXBsYWNlIGFsbCBleGlzdGluZyBzaWduZXJzXG4gICAgICBjb25zdCBuZXdTaWduZXJzID0gWycweDExMScsICcweDIyMiddO1xuICAgICAgbWVzc2FnZS5zZXRTaWduZXJzKG5ld1NpZ25lcnMpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldFNpZ25lcnMoKSwgbmV3U2lnbmVycyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGhhbmRsZSBhZGRpbmcgYW5kIGdldHRpbmcgc2lnbmF0dXJlcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHNpZzEgPSB7XG4gICAgICAgIHB1YmxpY0tleTogeyBwdWI6ICdwdWIxJyB9LFxuICAgICAgICBzaWduYXR1cmU6IEJ1ZmZlci5mcm9tKCdzaWduYXR1cmUxJyksXG4gICAgICB9O1xuICAgICAgY29uc3Qgc2lnMiA9IHtcbiAgICAgICAgcHVibGljS2V5OiB7IHB1YjogJ3B1YjInIH0sXG4gICAgICAgIHNpZ25hdHVyZTogQnVmZmVyLmZyb20oJ3NpZ25hdHVyZTInKSxcbiAgICAgIH07XG5cbiAgICAgIG1lc3NhZ2UuYWRkU2lnbmF0dXJlKHNpZzEpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldFNpZ25hdHVyZXMoKSwgW3NpZzFdKTtcblxuICAgICAgbWVzc2FnZS5hZGRTaWduYXR1cmUoc2lnMik7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmF0dXJlcygpLCBbc2lnMSwgc2lnMl0pO1xuXG4gICAgICAvLyBTZXQgc2lnbmF0dXJlcyBzaG91bGQgcmVwbGFjZSBhbGwgZXhpc3Rpbmcgc2lnbmF0dXJlc1xuICAgICAgY29uc3QgbmV3U2lnbmF0dXJlcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIHB1YmxpY0tleTogeyBwdWI6ICdwdWIzJyB9LFxuICAgICAgICAgIHNpZ25hdHVyZTogQnVmZmVyLmZyb20oJ3NpZzMnKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHB1YmxpY0tleTogeyBwdWI6ICdwdWI0JyB9LFxuICAgICAgICAgIHNpZ25hdHVyZTogQnVmZmVyLmZyb20oJ3NpZzQnKSxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgICBtZXNzYWdlLnNldFNpZ25hdHVyZXMobmV3U2lnbmF0dXJlcyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmF0dXJlcygpLCBuZXdTaWduYXR1cmVzKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGNvcGllcyBvZiBhcnJheXMgdG8gcHJldmVudCBtdXRhdGlvbicsICgpID0+IHtcbiAgICAgIGNvbnN0IHNpZ25lcnMgPSBbJ2FkZHIxJywgJ2FkZHIyJ107XG4gICAgICBjb25zdCBzaWduYXR1cmVzID0gW1xuICAgICAgICB7XG4gICAgICAgICAgcHVibGljS2V5OiB7IHB1YjogJ3B1YjEnIH0sXG4gICAgICAgICAgc2lnbmF0dXJlOiBCdWZmZXIuZnJvbSgnc2lnMScpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHVibGljS2V5OiB7IHB1YjogJ3B1YjEnIH0sXG4gICAgICAgICAgc2lnbmF0dXJlOiBCdWZmZXIuZnJvbSgnc2lnMScpLFxuICAgICAgICB9LFxuICAgICAgXTtcblxuICAgICAgbWVzc2FnZS5zZXRTaWduZXJzKHNpZ25lcnMpO1xuICAgICAgbWVzc2FnZS5zZXRTaWduYXR1cmVzKHNpZ25hdHVyZXMpO1xuXG4gICAgICAvLyBNb2RpZnlpbmcgdGhlIHJldHVybmVkIGFycmF5cyBzaG91bGQgbm90IGFmZmVjdCB0aGUgaW50ZXJuYWwgc3RhdGVcbiAgICAgIGNvbnN0IHJldHVybmVkU2lnbmVycyA9IG1lc3NhZ2UuZ2V0U2lnbmVycygpO1xuICAgICAgY29uc3QgcmV0dXJuZWRTaWduYXR1cmVzID0gbWVzc2FnZS5nZXRTaWduYXR1cmVzKCk7XG5cbiAgICAgIHJldHVybmVkU2lnbmVycy5wdXNoKCdhZGRyMycpO1xuICAgICAgcmV0dXJuZWRTaWduYXR1cmVzLnB1c2goe1xuICAgICAgICBwdWJsaWNLZXk6IHsgcHViOiAncHViMycgfSxcbiAgICAgICAgc2lnbmF0dXJlOiBCdWZmZXIuZnJvbSgnc2lnMycpLFxuICAgICAgfSk7XG5cbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRTaWduZXJzKCksIHNpZ25lcnMpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldFNpZ25hdHVyZXMoKSwgc2lnbmF0dXJlcyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdnZXRTaWduYWJsZVBheWxvYWQnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIHBheWxvYWQgYXMgYnVmZmVyIGlmIHNpZ25hYmxlUGF5bG9hZCBpcyBub3Qgc2V0JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcGF5bG9hZCA9ICd0ZXN0IHBheWxvYWQnO1xuICAgICAgY29uc3QgbWVzc2FnZSA9IG5ldyBUZXN0TWVzc2FnZSh7XG4gICAgICAgIGNvaW5Db25maWcsXG4gICAgICAgIHBheWxvYWQsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbWVzc2FnZS5nZXRTaWduYWJsZVBheWxvYWQoKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwocmVzdWx0LCBCdWZmZXIuZnJvbShwYXlsb2FkKSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCd0b0Jyb2FkY2FzdEZvcm1hdCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGNyZWF0ZSBhIHByb3BlciBicm9hZGNhc3RhYmxlIGZvcm1hdCB3aXRoIGFsbCBmaWVsZHMnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB7IHBheWxvYWQsIHR5cGUsIG1ldGFkYXRhLCBzaWduZXJzLCBzaWduYXR1cmVzIH0gPSBtZXNzYWdlU2FtcGxlcy5laXAxOTE7XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgVGVzdE1lc3NhZ2Uoe1xuICAgICAgICBjb2luQ29uZmlnLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgICB0eXBlLFxuICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgc2lnbmVycyxcbiAgICAgICAgc2lnbmF0dXJlcyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBicm9hZGNhc3RGb3JtYXQgPSBhd2FpdCBtZXNzYWdlLnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG5cbiAgICAgIHNob3VsZC5kZWVwRXF1YWwoYnJvYWRjYXN0Rm9ybWF0LCB7XG4gICAgICAgIHR5cGUsXG4gICAgICAgIHBheWxvYWQsXG4gICAgICAgIHNlcmlhbGl6ZWRTaWduYXR1cmVzOiBzZXJpYWxpemVTaWduYXR1cmVzKHNpZ25hdHVyZXMpLFxuICAgICAgICBzaWduZXJzLFxuICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgc2lnbmFibGVQYXlsb2FkOiAnU0dWc2JHOGdRbWwwUjI4aCcsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcGVyZm9ybSBhIGRlZXAgY29weSBvZiBtZXRhZGF0YSB0byBwcmV2ZW50IG11dGF0aW9uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbmVzdGVkTWV0YWRhdGEgPSB7XG4gICAgICAgIHZlcnNpb246ICcxLjAnLFxuICAgICAgICBzZXR0aW5nczoge1xuICAgICAgICAgIGNoYWluSWQ6IDEsXG4gICAgICAgICAgZ2FzTGltaXQ6IDIxMDAwLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgY29uc3QgbWVzc2FnZSA9IG5ldyBUZXN0TWVzc2FnZSh7XG4gICAgICAgIGNvaW5Db25maWcsXG4gICAgICAgIHBheWxvYWQ6ICd0ZXN0JyxcbiAgICAgICAgbWV0YWRhdGE6IG5lc3RlZE1ldGFkYXRhLFxuICAgICAgICBzaWduZXJzOiBbJ2FkZHIxJ10sXG4gICAgICAgIHNpZ25hdHVyZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwdWJsaWNLZXk6IHsgcHViOiAncHViMScgfSxcbiAgICAgICAgICAgIHNpZ25hdHVyZTogQnVmZmVyLmZyb20oJ3NpZzEnKSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGJyb2FkY2FzdEZvcm1hdCA9IGF3YWl0IG1lc3NhZ2UudG9Ccm9hZGNhc3RGb3JtYXQoKTtcblxuICAgICAgLy8gVGhlIG1ldGFkYXRhIGluIHRoZSBicm9hZGNhc3QgZm9ybWF0IHNob3VsZCBiZSBhIGRlZXAgY29weVxuICAgICAgc2hvdWxkLmRlZXBFcXVhbChicm9hZGNhc3RGb3JtYXQubWV0YWRhdGEsIG5lc3RlZE1ldGFkYXRhKTtcblxuICAgICAgLy8gQnV0IGl0IHNob3VsZCBub3QgYmUgdGhlIHNhbWUgb2JqZWN0IHJlZmVyZW5jZVxuICAgICAgc2hvdWxkLm5vdEVxdWFsKGJyb2FkY2FzdEZvcm1hdC5tZXRhZGF0YSwgbmVzdGVkTWV0YWRhdGEpO1xuXG4gICAgICAvLyBNb2RpZnlpbmcgdGhlIG9yaWdpbmFsIHNob3VsZCBub3QgYWZmZWN0IHRoZSBicm9hZGNhc3RlZCB2ZXJzaW9uXG4gICAgICBuZXN0ZWRNZXRhZGF0YS5zZXR0aW5ncy5nYXNMaW1pdCA9IDUwMDAwO1xuICAgICAgc2hvdWxkLm5vdEVxdWFsKChicm9hZGNhc3RGb3JtYXQubWV0YWRhdGEgYXMgYW55KS5zZXR0aW5ncy5nYXNMaW1pdCwgNTAwMDApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndG9Ccm9hZGNhc3RTdHJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBzZXJpYWxpemUgdGhlIGJyb2FkY2FzdGFibGUgZm9ybWF0IHRvIGhleCBzdHJpbmcnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB7IHBheWxvYWQsIHR5cGUsIG1ldGFkYXRhLCBzaWduZXJzLCBzaWduYXR1cmVzIH0gPSBtZXNzYWdlU2FtcGxlcy5laXAxOTE7XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgVGVzdE1lc3NhZ2Uoe1xuICAgICAgICBjb2luQ29uZmlnLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgICB0eXBlLFxuICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgc2lnbmVycyxcbiAgICAgICAgc2lnbmF0dXJlcyxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZXhwZWN0ZWRCcm9hZGNhc3RTdHJpbmcgPSB7XG4gICAgICAgIHR5cGUsXG4gICAgICAgIHBheWxvYWQsXG4gICAgICAgIHNlcmlhbGl6ZWRTaWduYXR1cmVzOiBzZXJpYWxpemVTaWduYXR1cmVzKHNpZ25hdHVyZXMpLFxuICAgICAgICBzaWduZXJzLFxuICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgc2lnbmFibGVQYXlsb2FkOiAnU0dWc2JHOGdRbWwwUjI4aCcsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBicm9hZGNhc3RIZXggPSBhd2FpdCBtZXNzYWdlLnRvQnJvYWRjYXN0U3RyaW5nKCk7XG4gICAgICBjb25zdCBicm9hZGNhc3RTdHJpbmcgPSBCdWZmZXIuZnJvbShicm9hZGNhc3RIZXgsICdoZXgnKS50b1N0cmluZygpO1xuICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShicm9hZGNhc3RTdHJpbmcpO1xuXG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHBhcnNlZCwgZXhwZWN0ZWRCcm9hZGNhc3RTdHJpbmcpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseMessageBuilder.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/account-lib/baseCoin/messages/baseMessageBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,174 @@
|
|
|
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
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
7
|
+
const sinon_1 = __importDefault(require("sinon"));
|
|
8
|
+
const should_1 = __importDefault(require("should"));
|
|
9
|
+
const src_1 = require("../../../../../src");
|
|
10
|
+
const fixtures_1 = require("./fixtures");
|
|
11
|
+
describe('Base Message Builder', () => {
|
|
12
|
+
let builder;
|
|
13
|
+
let mockCoinConfig;
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
mockCoinConfig = sinon_1.default.createStubInstance(statics_1.BaseCoin);
|
|
16
|
+
builder = new fixtures_1.TestMessageBuilder(mockCoinConfig, src_1.MessageStandardType.EIP191);
|
|
17
|
+
});
|
|
18
|
+
it('should initialize with default values', () => {
|
|
19
|
+
should_1.default.equal(builder.getPayload(), '');
|
|
20
|
+
should_1.default.equal(builder.getType(), src_1.MessageStandardType.EIP191);
|
|
21
|
+
should_1.default.deepEqual(builder.getSignatures(), []);
|
|
22
|
+
should_1.default.deepEqual(builder.getSigners(), []);
|
|
23
|
+
should_1.default.deepEqual(builder.getMetadata(), {});
|
|
24
|
+
should_1.default.equal(builder.getDigest(), undefined);
|
|
25
|
+
});
|
|
26
|
+
it('should set and get payload', () => {
|
|
27
|
+
const payload = 'test payload';
|
|
28
|
+
builder.setPayload(payload);
|
|
29
|
+
should_1.default.equal(builder.getPayload(), payload);
|
|
30
|
+
});
|
|
31
|
+
it('should set and get metadata', () => {
|
|
32
|
+
const metadata = { key: 'value', num: 123 };
|
|
33
|
+
builder.setMetadata(metadata);
|
|
34
|
+
should_1.default.deepEqual(builder.getMetadata(), metadata);
|
|
35
|
+
});
|
|
36
|
+
it('should set and get type', () => {
|
|
37
|
+
const type = src_1.MessageStandardType.UNKNOWN;
|
|
38
|
+
builder.setType(type);
|
|
39
|
+
should_1.default.equal(builder.getType(), type);
|
|
40
|
+
});
|
|
41
|
+
it('should set and get signatures', () => {
|
|
42
|
+
const signatures = [
|
|
43
|
+
{
|
|
44
|
+
publicKey: { pub: 'pubKey1' },
|
|
45
|
+
signature: Buffer.from('sig1'),
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
publicKey: { pub: 'pubKey2' },
|
|
49
|
+
signature: Buffer.from('sig2'),
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
publicKey: { pub: 'pubKey3' },
|
|
53
|
+
signature: Buffer.from('sig3'),
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
builder.setSignatures(signatures);
|
|
57
|
+
should_1.default.deepEqual(builder.getSignatures(), signatures);
|
|
58
|
+
});
|
|
59
|
+
it('should set and get signers', () => {
|
|
60
|
+
const signers = ['address1', 'address2', 'address3'];
|
|
61
|
+
builder.setSigners(signers);
|
|
62
|
+
should_1.default.deepEqual(builder.getSigners(), signers);
|
|
63
|
+
});
|
|
64
|
+
it('should set and get digest', () => {
|
|
65
|
+
const digest = '0x1234abcd';
|
|
66
|
+
builder.setDigest(digest);
|
|
67
|
+
should_1.default.equal(builder.getDigest(), digest);
|
|
68
|
+
});
|
|
69
|
+
it('should build a message with the correct properties', async () => {
|
|
70
|
+
const payload = 'test message';
|
|
71
|
+
const metadata = { foo: 'bar', encoding: 'utf8' };
|
|
72
|
+
const signatures = [
|
|
73
|
+
{
|
|
74
|
+
publicKey: { pub: 'pubKey1' },
|
|
75
|
+
signature: Buffer.from('sig1'),
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
publicKey: { pub: 'pubKey2' },
|
|
79
|
+
signature: Buffer.from('sig2'),
|
|
80
|
+
},
|
|
81
|
+
];
|
|
82
|
+
const signers = ['addr1', 'addr2'];
|
|
83
|
+
builder
|
|
84
|
+
.setType(src_1.MessageStandardType.EIP191)
|
|
85
|
+
.setPayload(payload)
|
|
86
|
+
.setMetadata(metadata)
|
|
87
|
+
.setSignatures(signatures)
|
|
88
|
+
.setSigners(signers);
|
|
89
|
+
const message = await builder.build();
|
|
90
|
+
should_1.default.equal(message.getType(), src_1.MessageStandardType.EIP191);
|
|
91
|
+
should_1.default.equal(message.getPayload(), payload);
|
|
92
|
+
should_1.default.deepEqual(message.getMetadata(), metadata);
|
|
93
|
+
should_1.default.deepEqual(message.getSignatures(), signatures);
|
|
94
|
+
should_1.default.deepEqual(message.getSigners(), signers);
|
|
95
|
+
const signablePayload = await message.getSignablePayload();
|
|
96
|
+
should_1.default.deepEqual(signablePayload, Buffer.from(payload));
|
|
97
|
+
});
|
|
98
|
+
it('should correctly handle toBroadcastFormat', async () => {
|
|
99
|
+
const payload = 'hello world';
|
|
100
|
+
const metadata = { version: '1.0', encoding: 'utf8' };
|
|
101
|
+
const signatures = [
|
|
102
|
+
{
|
|
103
|
+
publicKey: { pub: 'pubKey1' },
|
|
104
|
+
signature: Buffer.from('sig1'),
|
|
105
|
+
},
|
|
106
|
+
];
|
|
107
|
+
const signers = ['addr1'];
|
|
108
|
+
builder
|
|
109
|
+
.setType(src_1.MessageStandardType.EIP191)
|
|
110
|
+
.setPayload(payload)
|
|
111
|
+
.setMetadata(metadata)
|
|
112
|
+
.setSignatures(signatures)
|
|
113
|
+
.setSigners(signers);
|
|
114
|
+
const message = await builder.build();
|
|
115
|
+
const broadcastFormat = await message.toBroadcastFormat();
|
|
116
|
+
const expectedBroadcastFormat = {
|
|
117
|
+
type: src_1.MessageStandardType.EIP191,
|
|
118
|
+
payload: payload,
|
|
119
|
+
serializedSignatures: (0, src_1.serializeSignatures)(signatures),
|
|
120
|
+
signers: signers,
|
|
121
|
+
metadata: metadata,
|
|
122
|
+
signablePayload: 'aGVsbG8gd29ybGQ=',
|
|
123
|
+
};
|
|
124
|
+
should_1.default.deepEqual(broadcastFormat, expectedBroadcastFormat);
|
|
125
|
+
});
|
|
126
|
+
it('should correctly handle fromBroadcastFormat', async () => {
|
|
127
|
+
const broadcastMessage = {
|
|
128
|
+
type: src_1.MessageStandardType.EIP191,
|
|
129
|
+
payload: 'broadcast test',
|
|
130
|
+
signatures: [
|
|
131
|
+
{
|
|
132
|
+
publicKey: { pub: 'pubKey1' },
|
|
133
|
+
signature: Buffer.from('sig1'),
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
publicKey: { pub: 'pubKey2' },
|
|
137
|
+
signature: Buffer.from('sig2'),
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
signers: ['addr1', 'addr2'],
|
|
141
|
+
metadata: { chainId: 1, encoding: 'utf8' },
|
|
142
|
+
};
|
|
143
|
+
const message = await builder.fromBroadcastFormat(broadcastMessage);
|
|
144
|
+
should_1.default.equal(message.getType(), broadcastMessage.type);
|
|
145
|
+
should_1.default.equal(message.getPayload(), broadcastMessage.payload);
|
|
146
|
+
should_1.default.deepEqual(message.getSignatures(), broadcastMessage.signatures);
|
|
147
|
+
should_1.default.deepEqual(message.getSigners(), broadcastMessage.signers);
|
|
148
|
+
should_1.default.deepEqual(message.getMetadata(), broadcastMessage.metadata);
|
|
149
|
+
});
|
|
150
|
+
it('should correctly handle toBroadcastString', async () => {
|
|
151
|
+
const payload = 'serialize me';
|
|
152
|
+
const signatures = [
|
|
153
|
+
{
|
|
154
|
+
publicKey: { pub: 'pubKey1' },
|
|
155
|
+
signature: Buffer.from('sig1'),
|
|
156
|
+
},
|
|
157
|
+
];
|
|
158
|
+
const signers = ['addr1'];
|
|
159
|
+
builder.setType(src_1.MessageStandardType.EIP191).setPayload(payload).setSignatures(signatures).setSigners(signers);
|
|
160
|
+
const message = await builder.build();
|
|
161
|
+
const broadcastHex = await message.toBroadcastString();
|
|
162
|
+
const expectedJson = JSON.stringify({
|
|
163
|
+
type: src_1.MessageStandardType.EIP191,
|
|
164
|
+
payload: payload,
|
|
165
|
+
serializedSignatures: (0, src_1.serializeSignatures)(signatures),
|
|
166
|
+
signers: signers,
|
|
167
|
+
metadata: { encoding: 'utf8' },
|
|
168
|
+
signablePayload: 'c2VyaWFsaXplIG1l',
|
|
169
|
+
});
|
|
170
|
+
const expectedHex = Buffer.from(expectedJson).toString('hex');
|
|
171
|
+
should_1.default.equal(broadcastHex, expectedHex);
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2VCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2FjY291bnQtbGliL2Jhc2VDb2luL21lc3NhZ2VzL2Jhc2VNZXNzYWdlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlEQUErQztBQUMvQyxrREFBMEI7QUFDMUIsb0RBQTRCO0FBQzVCLDRDQUFvRztBQUNwRyx5Q0FBZ0Q7QUFFaEQsUUFBUSxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRTtJQUNwQyxJQUFJLE9BQTJCLENBQUM7SUFDaEMsSUFBSSxjQUFvRCxDQUFDO0lBRXpELFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxjQUFjLEdBQUcsZUFBSyxDQUFDLGtCQUFrQixDQUFDLGtCQUFRLENBQUMsQ0FBQztRQUNwRCxPQUFPLEdBQUcsSUFBSSw2QkFBa0IsQ0FBQyxjQUFxQyxFQUFFLHlCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RHLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsRUFBRTtRQUMvQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLHlCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVELGdCQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxnQkFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0MsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLGdCQUFNLENBQUMs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QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBCcm9hZGNhc3RhYmxlTWVzc2FnZSwgTWVzc2FnZVN0YW5kYXJkVHlwZSwgc2VyaWFsaXplU2lnbmF0dXJlcyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBUZXN0TWVzc2FnZUJ1aWxkZXIgfSBmcm9tICcuL2ZpeHR1cmVzJztcblxuZGVzY3JpYmUoJ0Jhc2UgTWVzc2FnZSBCdWlsZGVyJywgKCkgPT4ge1xuICBsZXQgYnVpbGRlcjogVGVzdE1lc3NhZ2VCdWlsZGVyO1xuICBsZXQgbW9ja0NvaW5Db25maWc6IHNpbm9uLlNpbm9uU3R1YmJlZEluc3RhbmNlPEJhc2VDb2luPjtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBtb2NrQ29pbkNvbmZpZyA9IHNpbm9uLmNyZWF0ZVN0dWJJbnN0YW5jZShCYXNlQ29pbik7XG4gICAgYnVpbGRlciA9IG5ldyBUZXN0TWVzc2FnZUJ1aWxkZXIobW9ja0NvaW5Db25maWcgYXMgdW5rbm93biBhcyBCYXNlQ29pbiwgTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGluaXRpYWxpemUgd2l0aCBkZWZhdWx0IHZhbHVlcycsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwoYnVpbGRlci5nZXRQYXlsb2FkKCksICcnKTtcbiAgICBzaG91bGQuZXF1YWwoYnVpbGRlci5nZXRUeXBlKCksIE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKGJ1aWxkZXIuZ2V0U2lnbmF0dXJlcygpLCBbXSk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChidWlsZGVyLmdldFNpZ25lcnMoKSwgW10pO1xuICAgIHNob3VsZC5kZWVwRXF1YWwoYnVpbGRlci5nZXRNZXRhZGF0YSgpLCB7fSk7XG4gICAgc2hvdWxkLmVxdWFsKGJ1aWxkZXIuZ2V0RGlnZXN0KCksIHVuZGVmaW5lZCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgc2V0IGFuZCBnZXQgcGF5bG9hZCcsICgpID0+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gJ3Rlc3QgcGF5bG9hZCc7XG4gICAgYnVpbGRlci5zZXRQYXlsb2FkKHBheWxvYWQpO1xuICAgIHNob3VsZC5lcXVhbChidWlsZGVyLmdldFBheWxvYWQoKSwgcGF5bG9hZCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgc2V0IGFuZCBnZXQgbWV0YWRhdGEnLCAoKSA9PiB7XG4gICAgY29uc3QgbWV0YWRhdGEgPSB7IGtleTogJ3ZhbHVlJywgbnVtOiAxMjMgfTtcbiAgICBidWlsZGVyLnNldE1ldGFkYXRhKG1ldGFkYXRhKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKGJ1aWxkZXIuZ2V0TWV0YWRhdGEoKSwgbWV0YWRhdGEpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHNldCBhbmQgZ2V0IHR5cGUnLCAoKSA9PiB7XG4gICAgY29uc3QgdHlwZSA9IE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTjtcbiAgICBidWlsZGVyLnNldFR5cGUodHlwZSk7XG4gICAgc2hvdWxkLmVxdWFsKGJ1aWxkZXIuZ2V0VHlwZSgpLCB0eXBlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBzZXQgYW5kIGdldCBzaWduYXR1cmVzJywgKCkgPT4ge1xuICAgIGNvbnN0IHNpZ25hdHVyZXMgPSBbXG4gICAgICB7XG4gICAgICAgIHB1YmxpY0tleTogeyBwdWI6ICdwdWJLZXkxJyB9LFxuICAgICAgICBzaWduYXR1cmU6IEJ1ZmZlci5mcm9tKCdzaWcxJyksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwdWJsaWNLZXk6IHsgcHViOiAncHViS2V5MicgfSxcbiAgICAgICAgc2lnbmF0dXJlOiBCdWZmZXIuZnJvbSgnc2lnMicpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcHVibGljS2V5OiB7IHB1YjogJ3B1YktleTMnIH0sXG4gICAgICAgIHNpZ25hdHVyZTogQnVmZmVyLmZyb20oJ3NpZzMnKSxcbiAgICAgIH0sXG4gICAgXTtcbiAgICBidWlsZGVyLnNldFNpZ25hdHVyZXMoc2lnbmF0dXJlcyk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChidWlsZGVyLmdldFNpZ25hdHVyZXMoKSwgc2lnbmF0dXJlcyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgc2V0IGFuZCBnZXQgc2lnbmVycycsICgpID0+IHtcbiAgICBjb25zdCBzaWduZXJzID0gWydhZGRyZXNzMScsICdhZGRyZXNzMicsICdhZGRyZXNzMyddO1xuICAgIGJ1aWxkZXIuc2V0U2lnbmVycyhzaWduZXJzKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKGJ1aWxkZXIuZ2V0U2lnbmVycygpLCBzaWduZXJzKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBzZXQgYW5kIGdldCBkaWdlc3QnLCAoKSA9PiB7XG4gICAgY29uc3QgZGlnZXN0ID0gJzB4MTIzNGFiY2QnO1xuICAgIGJ1aWxkZXIuc2V0RGlnZXN0KGRpZ2VzdCk7XG4gICAgc2hvdWxkLmVxdWFsKGJ1aWxkZXIuZ2V0RGlnZXN0KCksIGRpZ2VzdCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYnVpbGQgYSBtZXNzYWdlIHdpdGggdGhlIGNvcnJlY3QgcHJvcGVydGllcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gJ3Rlc3QgbWVzc2FnZSc7XG4gICAgY29uc3QgbWV0YWRhdGEgPSB7IGZvbzogJ2JhcicsIGVuY29kaW5nOiAndXRmOCcgfTtcbiAgICBjb25zdCBzaWduYXR1cmVzID0gW1xuICAgICAge1xuICAgICAgICBwdWJsaWNLZXk6IHsgcHViOiAncHViS2V5MScgfSxcbiAgICAgICAgc2lnbmF0dXJlOiBCdWZmZXIuZnJvbSgnc2lnMScpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcHVibGljS2V5OiB7IHB1YjogJ3B1YktleTInIH0sXG4gICAgICAgIHNpZ25hdHVyZTogQnVmZmVyLmZyb20oJ3NpZzInKSxcbiAgICAgIH0sXG4gICAgXTtcbiAgICBjb25zdCBzaWduZXJzID0gWydhZGRyMScsICdhZGRyMiddO1xuXG4gICAgYnVpbGRlclxuICAgICAgLnNldFR5cGUoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpXG4gICAgICAuc2V0UGF5bG9hZChwYXlsb2FkKVxuICAgICAgLnNldE1ldGFkYXRhKG1ldGFkYXRhKVxuICAgICAgLnNldFNpZ25hdHVyZXMoc2lnbmF0dXJlcylcbiAgICAgIC5zZXRTaWduZXJzKHNpZ25lcnMpO1xuXG4gICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGJ1aWxkZXIuYnVpbGQoKTtcblxuICAgIHNob3VsZC5lcXVhbChtZXNzYWdlLmdldFR5cGUoKSwgTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgIHNob3VsZC5lcXVhbChtZXNzYWdlLmdldFBheWxvYWQoKSwgcGF5bG9hZCk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldE1ldGFkYXRhKCksIG1ldGFkYXRhKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmF0dXJlcygpLCBzaWduYXR1cmVzKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmVycygpLCBzaWduZXJzKTtcblxuICAgIGNvbnN0IHNpZ25hYmxlUGF5bG9hZCA9IGF3YWl0IG1lc3NhZ2UuZ2V0U2lnbmFibGVQYXlsb2FkKCk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChzaWduYWJsZVBheWxvYWQsIEJ1ZmZlci5mcm9tKHBheWxvYWQpKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjb3JyZWN0bHkgaGFuZGxlIHRvQnJvYWRjYXN0Rm9ybWF0JywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSAnaGVsbG8gd29ybGQnO1xuICAgIGNvbnN0IG1ldGFkYXRhID0geyB2ZXJzaW9uOiAnMS4wJywgZW5jb2Rpbmc6ICd1dGY4JyB9O1xuICAgIGNvbnN0IHNpZ25hdHVyZXMgPSBbXG4gICAgICB7XG4gICAgICAgIHB1YmxpY0tleTogeyBwdWI6ICdwdWJLZXkxJyB9LFxuICAgICAgICBzaWduYXR1cmU6IEJ1ZmZlci5mcm9tKCdzaWcxJyksXG4gICAgICB9LFxuICAgIF07XG4gICAgY29uc3Qgc2lnbmVycyA9IFsnYWRkcjEnXTtcblxuICAgIGJ1aWxkZXJcbiAgICAgIC5zZXRUeXBlKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKVxuICAgICAgLnNldFBheWxvYWQocGF5bG9hZClcbiAgICAgIC5zZXRNZXRhZGF0YShtZXRhZGF0YSlcbiAgICAgIC5zZXRTaWduYXR1cmVzKHNpZ25hdHVyZXMpXG4gICAgICAuc2V0U2lnbmVycyhzaWduZXJzKTtcblxuICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBidWlsZGVyLmJ1aWxkKCk7XG4gICAgY29uc3QgYnJvYWRjYXN0Rm9ybWF0ID0gYXdhaXQgbWVzc2FnZS50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICAgIGNvbnN0IGV4cGVjdGVkQnJvYWRjYXN0Rm9ybWF0OiBCcm9hZGNhc3RhYmxlTWVzc2FnZSA9IHtcbiAgICAgIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxLFxuICAgICAgcGF5bG9hZDogcGF5bG9hZCxcbiAgICAgIHNlcmlhbGl6ZWRTaWduYXR1cmVzOiBzZXJpYWxpemVTaWduYXR1cmVzKHNpZ25hdHVyZXMpLFxuICAgICAgc2lnbmVyczogc2lnbmVycyxcbiAgICAgIG1ldGFkYXRhOiBtZXRhZGF0YSxcbiAgICAgIHNpZ25hYmxlUGF5bG9hZDogJ2FHVnNiRzhnZDI5eWJHUT0nLFxuICAgIH07XG5cbiAgICBzaG91bGQuZGVlcEVxdWFsKGJyb2FkY2FzdEZvcm1hdCwgZXhwZWN0ZWRCcm9hZGNhc3RGb3JtYXQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGNvcnJlY3RseSBoYW5kbGUgZnJvbUJyb2FkY2FzdEZvcm1hdCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBicm9hZGNhc3RNZXNzYWdlID0ge1xuICAgICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEsXG4gICAgICBwYXlsb2FkOiAnYnJvYWRjYXN0IHRlc3QnLFxuICAgICAgc2lnbmF0dXJlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHVibGljS2V5OiB7IHB1YjogJ3B1YktleTEnIH0sXG4gICAgICAgICAgc2lnbmF0dXJlOiBCdWZmZXIuZnJvbSgnc2lnMScpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHVibGljS2V5OiB7IHB1YjogJ3B1YktleTInIH0sXG4gICAgICAgICAgc2lnbmF0dXJlOiBCdWZmZXIuZnJvbSgnc2lnMicpLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHNpZ25lcnM6IFsnYWRkcjEnLCAnYWRkcjInXSxcbiAgICAgIG1ldGFkYXRhOiB7IGNoYWluSWQ6IDEsIGVuY29kaW5nOiAndXRmOCcgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGJ1aWxkZXIuZnJvbUJyb2FkY2FzdEZvcm1hdChicm9hZGNhc3RNZXNzYWdlKTtcblxuICAgIHNob3VsZC5lcXVhbChtZXNzYWdlLmdldFR5cGUoKSwgYnJvYWRjYXN0TWVzc2FnZS50eXBlKTtcbiAgICBzaG91bGQuZXF1YWwobWVzc2FnZS5nZXRQYXlsb2FkKCksIGJyb2FkY2FzdE1lc3NhZ2UucGF5bG9hZCk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldFNpZ25hdHVyZXMoKSwgYnJvYWRjYXN0TWVzc2FnZS5zaWduYXR1cmVzKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmVycygpLCBicm9hZGNhc3RNZXNzYWdlLnNpZ25lcnMpO1xuICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRNZXRhZGF0YSgpLCBicm9hZGNhc3RNZXNzYWdlLm1ldGFkYXRhKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjb3JyZWN0bHkgaGFuZGxlIHRvQnJvYWRjYXN0U3RyaW5nJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSAnc2VyaWFsaXplIG1lJztcbiAgICBjb25zdCBzaWduYXR1cmVzID0gW1xuICAgICAge1xuICAgICAgICBwdWJsaWNLZXk6IHsgcHViOiAncHViS2V5MScgfSxcbiAgICAgICAgc2lnbmF0dXJlOiBCdWZmZXIuZnJvbSgnc2lnMScpLFxuICAgICAgfSxcbiAgICBdO1xuICAgIGNvbnN0IHNpZ25lcnMgPSBbJ2FkZHIxJ107XG5cbiAgICBidWlsZGVyLnNldFR5cGUoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpLnNldFBheWxvYWQocGF5bG9hZCkuc2V0U2lnbmF0dXJlcyhzaWduYXR1cmVzKS5zZXRTaWduZXJzKHNpZ25lcnMpO1xuXG4gICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGJ1aWxkZXIuYnVpbGQoKTtcbiAgICBjb25zdCBicm9hZGNhc3RIZXggPSBhd2FpdCBtZXNzYWdlLnRvQnJvYWRjYXN0U3RyaW5nKCk7XG5cbiAgICBjb25zdCBleHBlY3RlZEpzb24gPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgICB0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSxcbiAgICAgIHBheWxvYWQ6IHBheWxvYWQsXG4gICAgICBzZXJpYWxpemVkU2lnbmF0dXJlczogc2VyaWFsaXplU2lnbmF0dXJlcyhzaWduYXR1cmVzKSxcbiAgICAgIHNpZ25lcnM6IHNpZ25lcnMsXG4gICAgICBtZXRhZGF0YTogeyBlbmNvZGluZzogJ3V0ZjgnIH0sXG4gICAgICBzaWduYWJsZVBheWxvYWQ6ICdjMlZ5YVdGc2FYcGxJRzFsJyxcbiAgICB9KTtcbiAgICBjb25zdCBleHBlY3RlZEhleCA9IEJ1ZmZlci5mcm9tKGV4cGVjdGVkSnNvbikudG9TdHJpbmcoJ2hleCcpO1xuXG4gICAgc2hvdWxkLmVxdWFsKGJyb2FkY2FzdEhleCwgZXhwZWN0ZWRIZXgpO1xuICB9KTtcbn0pO1xuIl19
|