@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
|
@@ -18,7 +18,6 @@ exports.AliasEnvironments = {
|
|
|
18
18
|
msProd: 'prod',
|
|
19
19
|
msTest: 'test',
|
|
20
20
|
msDev: 'dev',
|
|
21
|
-
msLatest: 'latest',
|
|
22
21
|
};
|
|
23
22
|
const mainnetBase = {
|
|
24
23
|
network: 'bitcoin',
|
|
@@ -26,25 +25,127 @@ const mainnetBase = {
|
|
|
26
25
|
serverXpub: exports.hardcodedPublicKeys.serverXpub.prod,
|
|
27
26
|
hsmXpub: exports.hardcodedPublicKeys.hsmXpub.prod,
|
|
28
27
|
btcExplorerBaseUrl: 'https://blockstream.info/api',
|
|
29
|
-
etherscanBaseUrl: 'https://api.etherscan.io',
|
|
28
|
+
etherscanBaseUrl: 'https://api.etherscan.io/v2',
|
|
30
29
|
etherscanApiToken: process.env.ETHERSCAN_API_TOKEN,
|
|
31
|
-
|
|
32
|
-
snowtraceApiToken: process.env.SNOWTRACE_API_TOKEN,
|
|
30
|
+
avaxcNetworkBaseUrl: 'https://api.avax.network',
|
|
33
31
|
eth2ExplorerBaseUrl: 'https://beaconscan.com/api',
|
|
34
32
|
ethwFullNodeRPCBaseUrl: 'https://mainnet.ethereumpow.org',
|
|
35
|
-
|
|
33
|
+
bscscanBaseUrl: 'https://api.etherscan.io/v2',
|
|
34
|
+
bscscanApiToken: process.env.BSC_API_TOKEN,
|
|
35
|
+
polygonscanBaseUrl: 'https://api.etherscan.io/v2',
|
|
36
36
|
polygonscanApiToken: process.env.POLYGONSCAN_API_TOKEN,
|
|
37
|
+
arbiscanBaseUrl: 'https://api.etherscan.io/v2',
|
|
38
|
+
arbiscanApiToken: process.env.ARBISCAN_API_TOKEN,
|
|
39
|
+
optimisticEtherscanBaseUrl: 'https://api.etherscan.io/v2',
|
|
40
|
+
optimisticEtherscanApiToken: process.env.OPTIMISTIC_ETHERSCAN_API_TOKEN,
|
|
41
|
+
zksyncExplorerBaseUrl: 'https://block-explorer-api.mainnet.zksync.io',
|
|
42
|
+
zksyncExplorerApiToken: process.env.ZKSYNC_EXPLORER_API_TOKEN,
|
|
43
|
+
baseethExplorerUrl: 'https://api.basescan.org', //BaseETH explorer api url
|
|
44
|
+
baseethApiToken: process.env.BASESCAN_API_TOKEN,
|
|
37
45
|
eosNodeUrls: ['https://bp.cryptolions.io', 'https://api.eosnewyork.io', 'https://api.eosdetroit.io'],
|
|
38
|
-
nearNodeUrls: ['https://
|
|
46
|
+
nearNodeUrls: ['https://api.fastnear.com'],
|
|
39
47
|
solNodeUrl: 'https://api.mainnet-beta.solana.com',
|
|
40
|
-
|
|
48
|
+
solAlchemyNodeUrl: 'https://solana-mainnet.g.alchemy.com/v2',
|
|
49
|
+
adaNodeUrl: 'https://api.koios.rest/api/v1',
|
|
50
|
+
hashNodeUrl: 'https://api.provenance.io',
|
|
51
|
+
injNodeUrl: 'https://sentry.lcd.injective.network', // reference https://docs.injective.network/develop/public-endpoints/
|
|
41
52
|
atomNodeUrl: 'https://rest.cosmos.directory/cosmoshub/',
|
|
53
|
+
osmoNodeUrl: 'https://lcd.osmosis.zone',
|
|
54
|
+
tiaNodeUrl: 'https://public-celestia-lcd.numia.xyz', // reference https://docs.celestia.org/nodes/mainnet#api-endpoints
|
|
55
|
+
seiNodeUrl: 'https://sei-api.polkachu.com',
|
|
56
|
+
bldNodeUrl: 'https://agoric-api.polkachu.com',
|
|
57
|
+
beraNodeUrl: '', // TODO(WIN-693): update url when mainnet goes live
|
|
58
|
+
zetaNodeUrl: 'https://zetachain.blockpi.network', // reference https://www.zetachain.com/docs/reference/api/
|
|
59
|
+
coreumNodeUrl: 'https://full-node.mainnet-1.coreum.dev:1317',
|
|
60
|
+
runeNodeUrl: 'https://thornode.ninerealms.com',
|
|
61
|
+
babyNodeUrl: 'https://babylon.nodes.guru/api/',
|
|
62
|
+
islmNodeUrl: 'https://rest.cosmos.haqq.network',
|
|
63
|
+
mantraNodeUrl: 'https://mantra-rest.publicnode.com/',
|
|
64
|
+
cronosNodeUrl: 'https://cronos-pos-rest.publicnode.com/',
|
|
65
|
+
initiaNodeUrl: 'https://rest.initia.xyz/',
|
|
66
|
+
asiNodeUrl: 'https://rest-fetchhub.fetch.ai/',
|
|
42
67
|
dotNodeUrls: ['wss://rpc.polkadot.io'],
|
|
68
|
+
substrateNodeUrls: ['wss://entrypoint-finney.opentensor.ai'],
|
|
69
|
+
polymeshNodeUrls: ['wss://mainnet-rpc.polymesh.network'],
|
|
43
70
|
tronNodes: {
|
|
44
71
|
full: 'https://api.trongrid.io',
|
|
45
72
|
solidity: 'https://api.trongrid.io',
|
|
46
73
|
},
|
|
47
74
|
hmacVerificationEnforced: true,
|
|
75
|
+
tonNodeUrl: 'https://toncenter.com/api/v2/jsonRPC',
|
|
76
|
+
suiNodeUrl: 'https://fullnode.mainnet.sui.io',
|
|
77
|
+
etcNodeUrl: 'https://etc.blockscout.com',
|
|
78
|
+
coredaoExplorerBaseUrl: 'https://openapi.coredao.org',
|
|
79
|
+
oasExplorerBaseUrl: 'https://explorer.oasys.games',
|
|
80
|
+
flrExplorerBaseUrl: 'https://flare-explorer.flare.network',
|
|
81
|
+
xdcExplorerBaseUrl: 'https://api.etherscan.io/v2',
|
|
82
|
+
wemixExplorerBaseUrl: 'https://api.etherscan.io/v2',
|
|
83
|
+
sgbExplorerBaseUrl: 'https://songbird-explorer.flare.network',
|
|
84
|
+
evm: {
|
|
85
|
+
phrs: {
|
|
86
|
+
baseUrl: 'https://testnet.dplabs-internal.com', // TODO: WIN-5787 add mainnet url when its available
|
|
87
|
+
},
|
|
88
|
+
ctc: {
|
|
89
|
+
baseUrl: 'https://mainnet3.creditcoin.network',
|
|
90
|
+
},
|
|
91
|
+
hypeevm: {
|
|
92
|
+
baseUrl: 'https://rpc.hyperliquid.xyz/evm',
|
|
93
|
+
},
|
|
94
|
+
og: {
|
|
95
|
+
baseUrl: 'https://chainscan.0g.ai/open/api',
|
|
96
|
+
},
|
|
97
|
+
xpl: {
|
|
98
|
+
baseUrl: 'https://api.routescan.io/v2/network/mainnet/evm/9745/etherscan/api',
|
|
99
|
+
},
|
|
100
|
+
sonic: {
|
|
101
|
+
baseUrl: 'https://rpc.soniclabs.com',
|
|
102
|
+
},
|
|
103
|
+
seievm: {
|
|
104
|
+
baseUrl: 'https://evm-rpc.sei-apis.com',
|
|
105
|
+
},
|
|
106
|
+
kaia: {
|
|
107
|
+
baseUrl: 'https://public-en.node.kaia.io',
|
|
108
|
+
},
|
|
109
|
+
kavaevm: {
|
|
110
|
+
baseUrl: 'https://api.verify.mintscan.io/evm/api/0x8ae',
|
|
111
|
+
},
|
|
112
|
+
irys: {
|
|
113
|
+
baseUrl: 'https://testnet-rpc.irys.xyz/v1/execution-rpc', //TODO: WIN-6191 add mainnet url when available
|
|
114
|
+
},
|
|
115
|
+
mon: {
|
|
116
|
+
baseUrl: 'https://api.etherscan.io/v2',
|
|
117
|
+
},
|
|
118
|
+
lineaeth: {
|
|
119
|
+
baseUrl: 'https://api.etherscan.io/v2',
|
|
120
|
+
},
|
|
121
|
+
ip: {
|
|
122
|
+
baseUrl: 'https://api.storyscan.app/',
|
|
123
|
+
},
|
|
124
|
+
somi: {
|
|
125
|
+
baseUrl: 'https://mainnet.somnia.w3us.site/',
|
|
126
|
+
},
|
|
127
|
+
baseeth: {
|
|
128
|
+
baseUrl: 'https://api.etherscan.io/v2',
|
|
129
|
+
},
|
|
130
|
+
flow: {
|
|
131
|
+
baseUrl: 'https://evm.flowscan.io/api',
|
|
132
|
+
},
|
|
133
|
+
plume: {
|
|
134
|
+
baseUrl: 'https://explorer.plume.org/api',
|
|
135
|
+
},
|
|
136
|
+
megaeth: {
|
|
137
|
+
baseUrl: 'https://carrot.megaeth.com/rpc', //TODO: add mainnet url when available
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
icpNodeUrl: 'https://ic0.app',
|
|
141
|
+
worldExplorerBaseUrl: 'https://worldscan.org/',
|
|
142
|
+
somniaExplorerBaseUrl: 'https://mainnet.somnia.w3us.site/',
|
|
143
|
+
soneiumExplorerBaseUrl: 'https://soneium.blockscout.com',
|
|
144
|
+
monExplorerBaseUrl: 'https://api.etherscan.io/v2',
|
|
145
|
+
stxNodeUrl: 'https://api.hiro.so',
|
|
146
|
+
vetNodeUrl: 'https://sync-mainnet.vechain.org',
|
|
147
|
+
xtzExplorerBaseUrl: 'https://api.tzkt.io',
|
|
148
|
+
xtzRpcUrl: 'https://rpc.tzkt.io/mainnet',
|
|
48
149
|
};
|
|
49
150
|
const testnetBase = {
|
|
50
151
|
network: 'testnet',
|
|
@@ -52,28 +153,127 @@ const testnetBase = {
|
|
|
52
153
|
serverXpub: exports.hardcodedPublicKeys.serverXpub.test,
|
|
53
154
|
hsmXpub: exports.hardcodedPublicKeys.hsmXpub.test,
|
|
54
155
|
btcExplorerBaseUrl: 'https://blockstream.info/testnet/api',
|
|
55
|
-
etherscanBaseUrl: 'https://api
|
|
156
|
+
etherscanBaseUrl: 'https://api.etherscan.io/v2',
|
|
56
157
|
etherscanApiToken: process.env.ETHERSCAN_API_TOKEN,
|
|
57
|
-
|
|
58
|
-
snowtraceApiToken: process.env.SNOWTRACE_API_TOKEN,
|
|
158
|
+
avaxcNetworkBaseUrl: 'https://api.avax-test.network',
|
|
59
159
|
eth2ExplorerBaseUrl: 'https://beaconscan.com/api',
|
|
60
160
|
ethwFullNodeRPCBaseUrl: 'https://mainnet.ethereumpow.org',
|
|
61
|
-
polygonscanBaseUrl: 'https://api
|
|
161
|
+
polygonscanBaseUrl: 'https://api.etherscan.io/v2',
|
|
62
162
|
polygonscanApiToken: process.env.POLYGONSCAN_API_TOKEN,
|
|
163
|
+
bscscanBaseUrl: 'https://api.etherscan.io/v2',
|
|
164
|
+
bscscanApiToken: process.env.BSC_API_TOKEN,
|
|
165
|
+
arbiscanBaseUrl: 'https://api.etherscan.io/v2',
|
|
166
|
+
arbiscanApiToken: process.env.ARBISCAN_API_TOKEN,
|
|
167
|
+
optimisticEtherscanBaseUrl: 'https://api.etherscan.io/v2',
|
|
168
|
+
optimisticEtherscanApiToken: process.env.OPTIMISTIC_ETHERSCAN_API_TOKEN,
|
|
169
|
+
zksyncExplorerBaseUrl: 'https://block-explorer-api.sepolia.zksync.dev',
|
|
170
|
+
zksyncExplorerApiToken: process.env.ZKSYNC_EXPLORER_API_TOKEN,
|
|
171
|
+
baseethExplorerUrl: 'https://api-sepolia.basescan.org',
|
|
172
|
+
baseethApiToken: process.env.BASESCAN_API_TOKEN,
|
|
63
173
|
// kylin eos endpoints found here
|
|
64
174
|
// https://github.com/cryptokylin/CryptoKylin-Testnet#http-api-list
|
|
65
175
|
// https://docs.liquidapps.io/liquidapps-documentation/eosio-guides/testnet-creation-guides/creating-cryptokylin-account#setup
|
|
66
176
|
eosNodeUrls: ['https://kylin.eosn.io', 'https://api.kylin.alohaeos.com'],
|
|
67
|
-
nearNodeUrls: ['https://rpc.
|
|
177
|
+
nearNodeUrls: ['https://test.rpc.fastnear.com'],
|
|
68
178
|
solNodeUrl: 'https://api.devnet.solana.com',
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
179
|
+
solAlchemyNodeUrl: 'https://solana-devnet.g.alchemy.com/v2',
|
|
180
|
+
adaNodeUrl: 'https://preprod.koios.rest/api/v1',
|
|
181
|
+
hashNodeUrl: 'https://api.test.provenance.io',
|
|
182
|
+
injNodeUrl: 'https://testnet.sentry.lcd.injective.network', // COIN-1219 : reference https://docs.injective.network/develop/public-endpoints/#testnet
|
|
183
|
+
atomNodeUrl: 'https://rest.provider-sentry-02.ics-testnet.polypore.xyz/',
|
|
184
|
+
osmoNodeUrl: 'https://lcd.osmotest5.osmosis.zone',
|
|
185
|
+
tiaNodeUrl: 'https://api-mocha.pops.one',
|
|
186
|
+
seiNodeUrl: 'https://rest.atlantic-2.seinetwork.io',
|
|
187
|
+
bldNodeUrl: 'https://devnet.api.agoric.net',
|
|
188
|
+
beraNodeUrl: '', // TODO(WIN-693): update url when testnet goes live
|
|
189
|
+
zetaNodeUrl: 'https://rest.nodejumper.io/zetachaintestnet', // reference : https://www.zetachain.com/docs/reference/api/
|
|
190
|
+
coreumNodeUrl: 'https://full-node.testnet-1.coreum.dev:1317',
|
|
191
|
+
runeNodeUrl: 'https://stagenet-thornode.ninerealms.com',
|
|
192
|
+
babyNodeUrl: 'https://babylon-testnet-api.nodes.guru/',
|
|
193
|
+
islmNodeUrl: 'https://rest.cosmos.testedge2.haqq.network ',
|
|
194
|
+
mantraNodeUrl: 'https://mantra-testnet-rest.publicnode.com/',
|
|
195
|
+
cronosNodeUrl: 'https://testnet-croeseid-4.crypto.org:1317/',
|
|
196
|
+
initiaNodeUrl: 'https://rest.testnet.initia.xyz/',
|
|
197
|
+
asiNodeUrl: 'https://rest-dorado.fetch.ai/',
|
|
198
|
+
dotNodeUrls: ['wss://asset-hub-westend-rpc.n.dwellir.com'],
|
|
199
|
+
substrateNodeUrls: ['wss://test.finney.opentensor.ai'],
|
|
200
|
+
polymeshNodeUrls: ['wss://testnet-rpc.polymesh.live'],
|
|
72
201
|
tronNodes: {
|
|
73
|
-
full: '
|
|
74
|
-
solidity: '
|
|
202
|
+
full: 'https://api.shasta.trongrid.io',
|
|
203
|
+
solidity: 'https://api.shasta.trongrid.io',
|
|
75
204
|
},
|
|
76
205
|
hmacVerificationEnforced: false,
|
|
206
|
+
tonNodeUrl: 'https://testnet.toncenter.com/api/v2/jsonRPC',
|
|
207
|
+
suiNodeUrl: 'https://fullnode.testnet.sui.io',
|
|
208
|
+
etcNodeUrl: 'https://etc-mordor.blockscout.com',
|
|
209
|
+
coredaoExplorerBaseUrl: 'https://api.test2.btcs.network',
|
|
210
|
+
oasExplorerBaseUrl: 'https://explorer.testnet.oasys.games',
|
|
211
|
+
wemixExplorerBaseUrl: 'https://api.etherscan.io/v2',
|
|
212
|
+
flrExplorerBaseUrl: 'https://coston2-explorer.flare.network',
|
|
213
|
+
xdcExplorerBaseUrl: 'https://api.etherscan.io/v2',
|
|
214
|
+
sgbExplorerBaseUrl: 'https://coston-explorer.flare.network',
|
|
215
|
+
icpNodeUrl: 'https://exchanges.testnet.dfinity.network',
|
|
216
|
+
monExplorerBaseUrl: 'https://api.etherscan.io/v2',
|
|
217
|
+
worldExplorerBaseUrl: 'https://sepolia.worldscan.org/',
|
|
218
|
+
somniaExplorerBaseUrl: 'https://shannon-explorer.somnia.network/',
|
|
219
|
+
soneiumExplorerBaseUrl: 'https://soneium-minato.blockscout.com',
|
|
220
|
+
evm: {
|
|
221
|
+
phrs: {
|
|
222
|
+
baseUrl: 'https://testnet.dplabs-internal.com',
|
|
223
|
+
},
|
|
224
|
+
ctc: {
|
|
225
|
+
baseUrl: 'https://rpc.cc3-testnet.creditcoin.network',
|
|
226
|
+
},
|
|
227
|
+
hypeevm: {
|
|
228
|
+
baseUrl: 'https://rpc.hyperliquid-testnet.xyz/evm',
|
|
229
|
+
},
|
|
230
|
+
og: {
|
|
231
|
+
baseUrl: 'https://chainscan-test.0g.ai/open/api',
|
|
232
|
+
},
|
|
233
|
+
xpl: {
|
|
234
|
+
baseUrl: 'https://testnet-rpc.plasma.to',
|
|
235
|
+
},
|
|
236
|
+
sonic: {
|
|
237
|
+
baseUrl: 'https://rpc.blaze.soniclabs.com',
|
|
238
|
+
},
|
|
239
|
+
seievm: {
|
|
240
|
+
baseUrl: 'https://evm-rpc-testnet.sei-apis.com',
|
|
241
|
+
},
|
|
242
|
+
kaia: {
|
|
243
|
+
baseUrl: 'https://public-en-kairos.node.kaia.io',
|
|
244
|
+
},
|
|
245
|
+
kavaevm: {
|
|
246
|
+
baseUrl: 'https://api.verify.mintscan.io/evm/api/0x8ad',
|
|
247
|
+
},
|
|
248
|
+
irys: {
|
|
249
|
+
baseUrl: 'https://testnet-rpc.irys.xyz/v1/execution-rpc',
|
|
250
|
+
},
|
|
251
|
+
mon: {
|
|
252
|
+
baseUrl: 'https://api.etherscan.io/v2',
|
|
253
|
+
},
|
|
254
|
+
lineaeth: {
|
|
255
|
+
baseUrl: 'https://api.etherscan.io/v2',
|
|
256
|
+
},
|
|
257
|
+
ip: {
|
|
258
|
+
baseUrl: 'https://api.storyscan.app/',
|
|
259
|
+
},
|
|
260
|
+
tbaseeth: {
|
|
261
|
+
baseUrl: 'https://api.etherscan.io/v2',
|
|
262
|
+
},
|
|
263
|
+
flow: {
|
|
264
|
+
baseUrl: 'https://evm-testnet.flowscan.io/api',
|
|
265
|
+
},
|
|
266
|
+
megaeth: {
|
|
267
|
+
baseUrl: 'https://carrot.megaeth.com/rpc',
|
|
268
|
+
},
|
|
269
|
+
plume: {
|
|
270
|
+
baseUrl: 'https://testnet-explorer.plume.org/api',
|
|
271
|
+
},
|
|
272
|
+
},
|
|
273
|
+
stxNodeUrl: 'https://api.testnet.hiro.so',
|
|
274
|
+
vetNodeUrl: 'https://sync-testnet.vechain.org',
|
|
275
|
+
xtzExplorerBaseUrl: 'https://api.ghostnet.tzkt.io',
|
|
276
|
+
xtzRpcUrl: 'https://rpc.tzkt.io/ghostnet',
|
|
77
277
|
};
|
|
78
278
|
const devBase = Object.assign({}, testnetBase, {
|
|
79
279
|
hsmXpub: exports.hardcodedPublicKeys.hsmXpub.dev,
|
|
@@ -93,10 +293,6 @@ exports.Environments = {
|
|
|
93
293
|
uri: 'https://app.bitgo-dev.com',
|
|
94
294
|
stellarFederationServerUrl: 'https://app.bitgo-dev.com/api/v2/txlm/federation',
|
|
95
295
|
}),
|
|
96
|
-
latest: Object.assign({}, devBase, {
|
|
97
|
-
uri: 'https://app.bitgo-latest.com',
|
|
98
|
-
stellarFederationServerUrl: 'https://app.bitgo-latest.com/api/v2/xlm/federation',
|
|
99
|
-
}),
|
|
100
296
|
staging: Object.assign({}, testnetBase, {
|
|
101
297
|
uri: 'https://app.bitgo-staging.com',
|
|
102
298
|
stellarFederationServerUrl: 'https://app.bitgo-staging.com/api/v2/txlm/federation',
|
|
@@ -112,10 +308,9 @@ exports.Environments = {
|
|
|
112
308
|
mock: Object.assign({}, devBase, {
|
|
113
309
|
uri: 'https://bitgo.fakeurl',
|
|
114
310
|
stellarFederationServerUrl: 'https://bitgo.fakeurl/api/v2/txlm/federation',
|
|
115
|
-
etherscanBaseUrl: 'https://api-
|
|
311
|
+
etherscanBaseUrl: 'https://api-hoodi.etherscan.fakeurl',
|
|
116
312
|
etherscanApiToken: process.env.ETHERSCAN_API_TOKEN,
|
|
117
|
-
|
|
118
|
-
snowtraceBaseUrl: 'https://api-testnet.snowtrace.fakeurl',
|
|
313
|
+
avaxcNetworkBaseUrl: 'https://api.avax-test.network.fakeurl',
|
|
119
314
|
eth2ExplorerBaseUrl: 'https://beaconscan.com/api',
|
|
120
315
|
}),
|
|
121
316
|
adminProd: Object.assign({}, mainnetBase, {
|
|
@@ -130,9 +325,9 @@ exports.Environments = {
|
|
|
130
325
|
uri: 'https://admin.bitgo-dev.com',
|
|
131
326
|
stellarFederationServerUrl: 'https://admin.bitgo-dev.com/api/v2/txlm/federation',
|
|
132
327
|
}),
|
|
133
|
-
|
|
134
|
-
uri: 'https://admin.bitgo-
|
|
135
|
-
stellarFederationServerUrl: 'https://admin.bitgo-
|
|
328
|
+
adminStaging: Object.assign({}, testnetBase, {
|
|
329
|
+
uri: 'https://admin.bitgo-staging.com',
|
|
330
|
+
stellarFederationServerUrl: 'https://admin.bitgo-staging.com/api/v2/xlm/federation',
|
|
136
331
|
}),
|
|
137
332
|
custom: Object.assign({}, mainnetBase, {
|
|
138
333
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
@@ -143,7 +338,7 @@ exports.Environments = {
|
|
|
143
338
|
? 'https://blockstream.info/testnet/api'
|
|
144
339
|
: 'https://blockstream.info/api',
|
|
145
340
|
etherscanBaseUrl: process.env.BITGO_CUSTOM_ETHEREUM_NETWORK !== 'ethereum'
|
|
146
|
-
? 'https://api-
|
|
341
|
+
? 'https://api-hoodi.etherscan.io'
|
|
147
342
|
: 'https://api.etherscan.io',
|
|
148
343
|
stellarFederationServerUrl: process.env.BITGO_CUSTOM_STELLAR_NETWORK !== 'stellar'
|
|
149
344
|
? `https://${process.env.BITGO_CUSTOM_ROOT_URI}/api/v2/txlm/federation`
|
|
@@ -157,4 +352,4 @@ exports.Environments = {
|
|
|
157
352
|
stellarFederationServerUrl: 'https://app.bitgo-dev.com/api/v2/txlm/federation',
|
|
158
353
|
}),
|
|
159
354
|
};
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JpdGdvL2Vudmlyb25tZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF1Q2EsUUFBQSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQy9DLFVBQVUsRUFBRTtRQUNWLElBQUksRUFBRSxpSEFBaUg7UUFDdkgsSUFBSSxFQUFFLGlIQUFpSDtLQUN4SDtJQUNELE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxpSEFBaUg7UUFDdkgsSUFBSSxFQUFFLGlIQUFpSDtRQUN2SCxHQUFHLEVBQUUsaUhBQWlIO0tBQ3ZIO0NBQ0YsQ0FBQyxDQUFDO0FBc0JILHdGQUF3RjtBQUMzRSxRQUFBLGlCQUFpQixHQUFxRDtJQUNqRixVQUFVLEVBQUUsTUFBTTtJQUNsQixNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxNQUFNO0lBQ2QsS0FBSyxFQUFFLEtBQUs7SUFDWixRQUFRLEVBQUUsUUFBUTtDQUNuQixDQUFDO0FBRUYsTUFBTSxXQUFXLEdBQXdCO0lBQ3ZDLE9BQU8sRUFBRSxTQUFzQjtJQUMvQixjQUFjLEVBQUUsb0NBQW9DO0lBQ3BELFVBQVUsRUFBRSwyQkFBbUIsQ0FBQyxVQUFVLENBQUMsSUFBSTtJQUMvQyxPQUFPLEVBQUUsMkJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUk7SUFDekMsa0JBQWtCLEVBQUUsOEJBQThCO0lBQ2xELGdCQUFnQixFQUFFLDBCQUEwQjtJQUM1QyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtJQUNsRCxnQkFBZ0IsRUFBRSwwQkFBMEI7SUFDNUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUI7SUFDbEQsbUJBQW1CLEVBQUUsNEJBQTRCO0lBQ2pELHNCQUFzQixFQUFFLGlDQUFpQztJQUN6RCxrQkFBa0IsRUFBRSw2QkFBNkI7SUFDakQsbUJBQW1CLEVB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RixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFO1FBQ2pDLEdBQUcsRUFBRSwyQkFBMkI7UUFDaEMsMEJBQTBCLEVBQUUsa0RBQWtEO0tBQy9FLENBQUM7Q0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgVjFOZXR3b3JrIH0gZnJvbSAnLi90eXBlcyc7XG5cbmludGVyZmFjZSBFbnZpcm9ubWVudFRlbXBsYXRlIHtcbiAgdXJpPzogc3RyaW5nO1xuICBuZXR3b3JrOiBWMU5ldHdvcms7XG4gIHNpZ25pbmdBZGRyZXNzOiBzdHJpbmc7XG4gIHNlcnZlclhwdWI6IHN0cmluZztcbiAgaHNtWHB1Yjogc3RyaW5nO1xuICBidGNFeHBsb3JlckJhc2VVcmw6IHN0cmluZztcbiAgZXRoZXJzY2FuQmFzZVVybDogc3RyaW5nO1xuICBldGhlcnNjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgc25vd3RyYWNlQmFzZVVybDogc3RyaW5nO1xuICBzbm93dHJhY2VBcGlUb2tlbj86IHN0cmluZztcbiAgZXRoMkV4cGxvcmVyQmFzZVVybDogc3RyaW5nO1xuICBldGh3RnVsbE5vZGVSUENCYXNlVXJsOiBzdHJpbmc7XG4gIHBvbHlnb25zY2FuQmFzZVVybD86IHN0cmluZztcbiAgcG9seWdvbnNjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw/OiBzdHJpbmc7XG4gIGVvc05vZGVVcmxzOiBzdHJpbmdbXTtcbiAgbmVhck5vZGVVcmxzOiBzdHJpbmdbXTtcbiAgc29sTm9kZVVybDogc3RyaW5nO1xuICBhZGFOb2RlVXJsOiBzdHJpbmc7XG4gIGF0b21Ob2RlVXJsOiBzdHJpbmc7XG4gIGRvdE5vZGVVcmxzOiBzdHJpbmdbXTtcbiAgdHJvbk5vZGVzOiB7XG4gICAgZnVsbDogc3RyaW5nO1xuICAgIHNvbGlkaXR5OiBzdHJpbmc7XG4gIH07XG4gIGhtYWNWZXJpZmljYXRpb25FbmZvcmNlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnZpcm9ubWVudCBleHRlbmRzIEVudmlyb25tZW50VGVtcGxhdGUge1xuICB1cmk6IHN0cmluZztcbiAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IGhhcmRjb2RlZFB1YmxpY0tleXMgPSBPYmplY3QuZnJlZXplKHtcbiAgc2VydmVyWHB1Yjoge1xuICAgIHByb2Q6ICd4cHViNjYxTXlNd0FxUmJjRXRVZ3U5SEY4YWk0aXB1VktLSEJ6VXFrczRqU0Z5cFc4ZHd3UUwxenlnTGdReDk5Tm1DN3pKSnpuU2l3S0c2UlFmVmpBS010Q3N4OFZqUjZrUVc4eDdIcmtYRlpkblEnLFxuICAgIHRlc3Q6ICd4cHViNjYxTXlNd0FxUmJjRXJGcVZYR2lVRnY5WWVvUGJoTjcyVWlOQ1VkajluajNUNk04aDdpS05tYkNZcE1WV1ZaUDdMQTJtYTNIV2NQbmd6MWdSVG00RlBkdG05bUhmck52VTkzTUNvc3pzR0wnLFxuICB9LFxuICBoc21YcHViOiB7XG4gICAgcHJvZDogJ3hwdWI2NjFNeU13QXFSYmNHRXRURmdNQW94TUZvcXNSZERhaWFSNjNieU5mWmRWN2NCWkZ2b3ZRU05KNWJweWVvUXR1S1ZnWEJrNnNGUTdUdHZ5V3FhZHQ0MURuS3d2ZVlnTTVLb1UyRUtZamRZMicsXG4gICAgdGVzdDogJ3hwdWI2NjFNeU13QXFSYmNHRktlNEJxdms0U2dyaWM0Z05GQzhwVWJ3NHRVa1ZqWnh1YmpDQTUyMmdQemMxWWFYYjNiUVZtRFdjN0NqRzhBR05XUnBjZEFVMzhSRVRCaDhuMmJucUVVNGtiVjRvSycsXG4gICAgZGV2OiAneHB1YjY2MU15TXdBcVJiY0ZXem96OHFuWVJEWUVGUXBQTFl3eFZGb0c2V0x5M2NrNVp1cFJHSlRHNGp1NnlHYjdEajNleTZHc0M0a3N0TFJFUjJuS3pnakx0bXh5UGdDNHpIeTdrVmhVdDZ5ZkduJyxcbiAgfSxcbn0pO1xuXG5leHBvcnQgdHlwZSBFbnZpcm9ubWVudE5hbWUgPVxuICB8ICdwcm9kJ1xuICB8ICdzdGFnaW5nJ1xuICB8ICd0ZXN0J1xuICB8ICdkZXYnXG4gIHwgJ2xhdGVzdCdcbiAgfCAnbG9jYWwnXG4gIHwgJ2xvY2FsTm9uU2VjdXJlJ1xuICB8ICdtb2NrJ1xuICB8ICdhZG1pblByb2QnXG4gIHwgJ2FkbWluVGVzdCdcbiAgfCAnYWRtaW5EZXYnXG4gIHwgJ2FkbWluTGF0ZXN0J1xuICB8ICdjdXN0b20nXG4gIHwgJ2JyYW5jaCc7XG5cbmV4cG9ydCB0eXBlIEFsaWFzRW52aXJvbm1lbnROYW1lID0gJ3Byb2R1Y3Rpb24nIHwgJ21zUHJvZCcgfCAnbXNUZXN0JyB8ICdtc0RldicgfCAnbXNMYXRlc3QnO1xuXG5leHBvcnQgdHlwZSBFbnZpcm9ubWVudHMgPSB7IFtrIGluIEVudmlyb25tZW50TmFtZV06IEVudmlyb25tZW50IH07XG5cbi8vIGFsaWFzIGVudmlyb25tZW50cyBhcmUgZW52aXJvbm1lbnQgbmFtZXMgd2hpY2ggYXJlIGFsaWFzZXMgb2YgYSBzdXBwb3J0ZWQgZW52aXJvbm1lbnRcbmV4cG9ydCBjb25zdCBBbGlhc0Vudmlyb25tZW50czogeyBbayBpbiBBbGlhc0Vudmlyb25tZW50TmFtZV06IEVudmlyb25tZW50TmFtZSB9ID0ge1xuICBwcm9kdWN0aW9uOiAncHJvZCcsXG4gIG1zUHJvZDogJ3Byb2QnLFxuICBtc1Rlc3Q6ICd0ZXN0JyxcbiAgbXNEZXY6ICdkZXYnLFxuICBtc0xhdGVzdDogJ2xhdGVzdCcsXG59O1xuXG5jb25zdCBtYWlubmV0QmFzZTogRW52aXJvbm1lbnRUZW1wbGF0ZSA9IHtcbiAgbmV0d29yazogJ2JpdGNvaW4nIGFzIFYxTmV0d29yayxcbiAgc2lnbmluZ0FkZHJlc3M6ICcxQml0R28zZ3hSWjZtUVNFSDUyZHZDS1NVZ1ZDQUg0UmphJyxcbiAgc2VydmVyWHB1YjogaGFyZGNvZGVkUHVibGljS2V5cy5zZXJ2ZXJYcHViLnByb2QsXG4gIGhzbVhwdWI6IGhhcmRjb2RlZFB1YmxpY0tleXMuaHNtWHB1Yi5wcm9kLFxuICBidGNFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2Jsb2Nrc3RyZWFtLmluZm8vYXBpJyxcbiAgZXRoZXJzY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pbycsXG4gIGV0aGVyc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5FVEhFUlNDQU5fQVBJX1RPS0VOLFxuICBzbm93dHJhY2VCYXNlVXJsOiAnaHR0cHM6Ly9hcGkuc25vd3RyYWNlLmlvJyxcbiAgc25vd3RyYWNlQXBpVG9rZW46IHByb2Nlc3MuZW52LlNOT1dUUkFDRV9BUElfVE9LRU4sXG4gIGV0aDJFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2JlYWNvbnNjYW4uY29tL2FwaScsXG4gIGV0aHdGdWxsTm9kZVJQQ0Jhc2VVcmw6ICdodHRwczovL21haW5uZXQuZXRoZXJldW1wb3cub3JnJyxcbiAgcG9seWdvbnNjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGkucG9seWdvbnNjYW4uY29tJyxcbiAgcG9seWdvbnNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuUE9MWUdPTlNDQU5fQVBJX1RPS0VOLFxuICBlb3NOb2RlVXJsczogWydodHRwczovL2JwLmNyeXB0b2xpb25zLmlvJywgJ2h0dHBzOi8vYXBpLmVvc25ld3lvcmsuaW8nLCAnaHR0cHM6Ly9hcGkuZW9zZGV0cm9pdC5pbyddLFxuICBuZWFyTm9kZVVybHM6IFsnaHR0cHM6Ly9ycGMubWFpbm5ldC5uZWFyLm9yZyddLFxuICBzb2xOb2RlVXJsOiAnaHR0cHM6Ly9hcGkubWFpbm5ldC1iZXRhLnNvbGFuYS5jb20nLFxuICBhZGFOb2RlVXJsOiAnaHR0cHM6Ly9hcGkua29pb3MucmVzdC9hcGkvdjAnLFxuICBhdG9tTm9kZVVybDogJ2h0dHBzOi8vcmVzdC5jb3Ntb3MuZGlyZWN0b3J5L2Nvc21vc2h1Yi8nLFxuICBkb3ROb2RlVXJsczogWyd3c3M6Ly9ycGMucG9sa2Fkb3QuaW8nXSxcbiAgdHJvbk5vZGVzOiB7XG4gICAgZnVsbDogJ2h0dHBzOi8vYXBpLnRyb25ncmlkLmlvJyxcbiAgICBzb2xpZGl0eTogJ2h0dHBzOi8vYXBpLnRyb25ncmlkLmlvJyxcbiAgfSxcbiAgaG1hY1ZlcmlmaWNhdGlvbkVuZm9yY2VkOiB0cnVlLFxufTtcblxuY29uc3QgdGVzdG5ldEJhc2U6IEVudmlyb25tZW50VGVtcGxhdGUgPSB7XG4gIG5ldHdvcms6ICd0ZXN0bmV0JyBhcyBWMU5ldHdvcmssXG4gIHNpZ25pbmdBZGRyZXNzOiAnbXNpZ25CZEZYdGVlaERFZ0I2RE5tN25wUnQ3QWNFWkpQMycsXG4gIHNlcnZlclhwdWI6IGhhcmRjb2RlZFB1YmxpY0tleXMuc2VydmVyWHB1Yi50ZXN0LFxuICBoc21YcHViOiBoYXJkY29kZWRQdWJsaWNLZXlzLmhzbVhwdWIudGVzdCxcbiAgYnRjRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9ibG9ja3N0cmVhbS5pbmZvL3Rlc3RuZXQvYXBpJyxcbiAgZXRoZXJzY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLWdvZXJsaS5ldGhlcnNjYW4uaW8nLFxuICBldGhlcnNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuRVRIRVJTQ0FOX0FQSV9UT0tFTixcbiAgc25vd3RyYWNlQmFzZVVybDogJ2h0dHBzOi8vYXBpLXRlc3RuZXQuc25vd3RyYWNlLmlvJyxcbiAgc25vd3RyYWNlQXBpVG9rZW46IHByb2Nlc3MuZW52LlNOT1dUUkFDRV9BUElfVE9LRU4sXG4gIGV0aDJFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2JlYWNvbnNjYW4uY29tL2FwaScsXG4gIGV0aHdGdWxsTm9kZVJQQ0Jhc2VVcmw6ICdodHRwczovL21haW5uZXQuZXRoZXJldW1wb3cub3JnJyxcbiAgcG9seWdvbnNjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGktdGVzdG5ldC5wb2x5Z29uc2Nhbi5jb20nLFxuICBwb2x5Z29uc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5QT0xZR09OU0NBTl9BUElfVE9LRU4sXG4gIC8vIGt5bGluIGVvcyBlbmRwb2ludHMgZm91bmQgaGVyZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vY3J5cHRva3lsaW4vQ3J5cHRvS3lsaW4tVGVzdG5ldCNodHRwLWFwaS1saXN0XG4gIC8vIGh0dHBzOi8vZG9jcy5saXF1aWRhcHBzLmlvL2xpcXVpZGFwcHMtZG9jdW1lbnRhdGlvbi9lb3Npby1ndWlkZXMvdGVzdG5ldC1jcmVhdGlvbi1ndWlkZXMvY3JlYXRpbmctY3J5cHRva3lsaW4tYWNjb3VudCNzZXR1cFxuICBlb3NOb2RlVXJsczogWydodHRwczovL2t5bGluLmVvc24uaW8nLCAnaHR0cHM6Ly9hcGkua3lsaW4uYWxvaGFlb3MuY29tJ10sXG4gIG5lYXJOb2RlVXJsczogWydodHRwczovL3JwYy50ZXN0bmV0Lm5lYXIub3JnJ10sXG4gIHNvbE5vZGVVcmw6ICdodHRwczovL2FwaS5kZXZuZXQuc29sYW5hLmNvbScsXG4gIGFkYU5vZGVVcmw6ICdodHRwczovL3ByZXByb2Qua29pb3MucmVzdC9hcGkvdjAnLFxuICBhdG9tTm9kZVVybDogJ2h0dHBzOi8vcmVzdC5zZW50cnktMDIudGhldGEtdGVzdG5ldC5wb2x5cG9yZS54eXovJyxcbiAgZG90Tm9kZVVybHM6IFsnd3NzOi8vd2VzdGVuZC1ycGMucG9sa2Fkb3QuaW8nXSxcbiAgdHJvbk5vZGVzOiB7XG4gICAgZnVsbDogJ2h0dHA6Ly80Ny4yNTIuODEuMTM1OjgwOTAnLFxuICAgIHNvbGlkaXR5OiAnaHR0cDovLzQ3LjI1Mi44MS4xMzU6ODA5MScsXG4gIH0sXG4gIGhtYWNWZXJpZmljYXRpb25FbmZvcmNlZDogZmFsc2UsXG59O1xuXG5jb25zdCBkZXZCYXNlOiBFbnZpcm9ubWVudFRlbXBsYXRlID0gT2JqZWN0LmFzc2lnbih7fSwgdGVzdG5ldEJhc2UsIHtcbiAgaHNtWHB1YjogaGFyZGNvZGVkUHVibGljS2V5cy5oc21YcHViLmRldixcbiAgaG1hY1ZlcmlmaWNhdGlvbkVuZm9yY2VkOiBmYWxzZSxcbn0pO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVkZWNsYXJlXG5leHBvcnQgY29uc3QgRW52aXJvbm1lbnRzOiBFbnZpcm9ubWVudHMgPSB7XG4gIHByb2Q6IE9iamVjdC5hc3NpZ24oe30sIG1haW5uZXRCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hcHAuYml0Z28uY29tJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vYXBwLmJpdGdvLmNvbS9hcGkvdjIveGxtL2ZlZGVyYXRpb24nLFxuICB9KSxcbiAgdGVzdDogT2JqZWN0LmFzc2lnbih7fSwgdGVzdG5ldEJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2FwcC5iaXRnby10ZXN0LmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FwcC5iaXRnby10ZXN0LmNvbS9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGRldjogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYXBwLmJpdGdvLWRldi5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hcHAuYml0Z28tZGV2LmNvbS9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGxhdGVzdDogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYXBwLmJpdGdvLWxhdGVzdC5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hcHAuYml0Z28tbGF0ZXN0LmNvbS9hcGkvdjIveGxtL2ZlZGVyYXRpb24nLFxuICB9KSxcbiAgc3RhZ2luZzogT2JqZWN0LmFzc2lnbih7fSwgdGVzdG5ldEJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2FwcC5iaXRnby1zdGFnaW5nLmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FwcC5iaXRnby1zdGFnaW5nLmNvbS9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGxvY2FsOiBPYmplY3QuYXNzaWduKHt9LCBkZXZCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9sb2NhbGhvc3Q6MzAwMCcsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2xvY2FsaG9zdDozMDAwL2FwaS92Mi90eGxtL2ZlZGVyYXRpb24nLFxuICB9KSxcbiAgbG9jYWxOb25TZWN1cmU6IE9iamVjdC5hc3NpZ24oe30sIGRldkJhc2UsIHtcbiAgICB1cmk6ICdodHRwOi8vbG9jYWxob3N0OjMwMDAnLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cDovL2xvY2FsaG9zdDozMDAwL2FwaS92Mi90eGxtL2ZlZGVyYXRpb24nLFxuICB9KSxcbiAgbW9jazogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYml0Z28uZmFrZXVybCcsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2JpdGdvLmZha2V1cmwvYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gICAgZXRoZXJzY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLWdvZXJsaS5ldGhlcnNjYW4uZmFrZXVybCcsXG4gICAgZXRoZXJzY2FuQXBpVG9rZW46IHByb2Nlc3MuZW52LkVUSEVSU0NBTl9BUElfVE9LRU4sXG4gICAgc25vd3RyYWNlQXBpVG9rZW46IHByb2Nlc3MuZW52LlNOT1dUUkFDRV9BUElfVE9LRU4sXG4gICAgc25vd3RyYWNlQmFzZVVybDogJ2h0dHBzOi8vYXBpLXRlc3RuZXQuc25vd3RyYWNlLmZha2V1cmwnLFxuICAgIGV0aDJFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2JlYWNvbnNjYW4uY29tL2FwaScsXG4gIH0pLFxuICBhZG1pblByb2Q6IE9iamVjdC5hc3NpZ24oe30sIG1haW5uZXRCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hZG1pbi5iaXRnby5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hZG1pbi5iaXRnby5jb20vYXBpL3YyL3hsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGFkbWluVGVzdDogT2JqZWN0LmFzc2lnbih7fSwgdGVzdG5ldEJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2FkbWluLmJpdGdvLXRlc3QuY29tJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vYWRtaW4uYml0Z28tdGVzdC5jb20vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBhZG1pbkRldjogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYWRtaW4uYml0Z28tZGV2LmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FkbWluLmJpdGdvLWRldi5jb20vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBhZG1pbkxhdGVzdDogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYWRtaW4uYml0Z28tbGF0ZXN0LmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FkbWluLmJpdGdvLWxhdGVzdC5jb20vYXBpL3YyL3hsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGN1c3RvbTogT2JqZWN0LmFzc2lnbih7fSwgbWFpbm5ldEJhc2UsIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgIHVyaTogcHJvY2Vzcy5lbnYuQklUR09fQ1VTVE9NX1JPT1RfVVJJISxcbiAgICBuZXR3b3JrOiBwcm9jZXNzLmVudi5CSVRHT19DVVNUT01fQklUQ09JTl9ORVRXT1JLIGFzIFYxTmV0d29yayxcbiAgICBoc21YcHViOlxuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJyA/IGhhcmRjb2RlZFB1YmxpY0tleXMuaHNtWHB1Yi5wcm9kIDogaGFyZGNvZGVkUHVibGljS2V5cy5oc21YcHViLnRlc3QsXG4gICAgYnRjRXhwbG9yZXJCYXNlVXJsOlxuICAgICAgcHJvY2Vzcy5lbnYuQklUR09fQ1VTVE9NX0JJVENPSU5fTkVUV09SSyAhPT0gJ2JpdGNvaW4nXG4gICAgICAgID8gJ2h0dHBzOi8vYmxvY2tzdHJlYW0uaW5mby90ZXN0bmV0L2FwaSdcbiAgICAgICAgOiAnaHR0cHM6Ly9ibG9ja3N0cmVhbS5pbmZvL2FwaScsXG4gICAgZXRoZXJzY2FuQmFzZVVybDpcbiAgICAgIHByb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9FVEhFUkVVTV9ORVRXT1JLICE9PSAnZXRoZXJldW0nXG4gICAgICAgID8gJ2h0dHBzOi8vYXBpLWdvZXJsaS5ldGhlcnNjYW4uaW8nXG4gICAgICAgIDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pbycsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6XG4gICAgICBwcm9jZXNzLmVudi5CSVRHT19DVVNUT01fU1RFTExBUl9ORVRXT1JLICE9PSAnc3RlbGxhcidcbiAgICAgICAgPyBgaHR0cHM6Ly8ke3Byb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9ST09UX1VSSX0vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbmBcbiAgICAgICAgOiBgaHR0cHM6Ly8ke3Byb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9ST09UX1VSSX0vYXBpL3YyL3hsbS9mZWRlcmF0aW9uYCxcbiAgICBzZXJ2ZXJYcHViOlxuICAgICAgcHJvY2Vzcy5lbnYuQklUR09fQ1VTVE9NX0JJVENPSU5fTkVUV09SSyAhPT0gJ2JpdGNvaW4nXG4gICAgICAgID8gaGFyZGNvZGVkUHVibGljS2V5cy5zZXJ2ZXJYcHViLnRlc3RcbiAgICAgICAgOiBoYXJkY29kZWRQdWJsaWNLZXlzLnNlcnZlclhwdWIucHJvZCxcbiAgfSksXG4gIGJyYW5jaDogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYXBwLmJpdGdvLWRldi5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hcHAuYml0Z28tZGV2LmNvbS9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG59O1xuIl19
|
|
355
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JpdGdvL2Vudmlyb25tZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFnSGEsUUFBQSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQy9DLFVBQVUsRUFBRTtRQUNWLElBQUksRUFBRSxpSEFBaUg7UUFDdkgsSUFBSSxFQUFFLGlIQUFpSDtLQUN4SDtJQUNELE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxpSEFBaUg7UUFDdkgsSUFBSSxFQUFFLGlIQUFpSDtRQUN2SCxHQUFHLEVBQUUsaUhBQWlIO0tBQ3ZIO0NBQ0YsQ0FBQyxDQUFDO0FBcUJILHdGQUF3RjtBQUMzRSxRQUFBLGlCQUFpQixHQUFxRDtJQUNqRixVQUFVLEVBQUUsTUFBTTtJQUNsQixNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxNQUFNO0lBQ2QsS0FBSyxFQUFFLEtBQUs7Q0FDYixDQUFDO0FBRUYsTUFBTSxXQUFXLEdBQXdCO0lBQ3ZDLE9BQU8sRUFBRSxTQUFzQjtJQUMvQixjQUFjLEVBQUUsb0NBQW9DO0lBQ3BELFVBQVUsRUFBRSwyQkFBbUIsQ0FBQyxVQUFVLENBQUMsSUFBSTtJQUMvQyxPQUFPLEVBQUUsMkJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUk7SUFDekMsa0JBQWtCLEVBQUUsOEJBQThCO0lBQ2xELGdCQUFnQixFQUFFLDZCQUE2QjtJQUMvQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtJQUNsRCxtQkFBbUIsRUFBRSwwQkFBMEI7SUFDL0MsbUJBQW1CLEVBQUUsNEJBQTRCO0lBQ2pELHNCQUFzQixFQUFFLGlDQUFpQztJQUN6RCxjQUFjLEVBQUUsNkJBQTZCO0lBQzdDLGVBQWUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWE7SUFDMUMsa0JBQWtCLEVBQUUsNkJBQTZCO0lBQ2pELG1CQUFtQixFQUFF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LDRCQUE0QixLQUFLLFNBQVM7WUFDcEQsQ0FBQyxDQUFDLFdBQVcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIseUJBQXlCO1lBQ3ZFLENBQUMsQ0FBQyxXQUFXLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLHdCQUF3QjtRQUMxRSxVQUFVLEVBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsS0FBSyxTQUFTO1lBQ3BELENBQUMsQ0FBQywyQkFBbUIsQ0FBQyxVQUFVLENBQUMsSUFBSTtZQUNyQyxDQUFDLENBQUMsMkJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUk7S0FDMUMsQ0FBQztJQUNGLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUU7UUFDakMsR0FBRyxFQUFFLDJCQUEyQjtRQUNoQywwQkFBMEIsRUFBRSxrREFBa0Q7S0FDL0UsQ0FBQztDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgeyBWMU5ldHdvcmsgfSBmcm9tICcuL3R5cGVzJztcblxuaW50ZXJmYWNlIEVudmlyb25tZW50VGVtcGxhdGUge1xuICB1cmk/OiBzdHJpbmc7XG4gIG5ldHdvcms6IFYxTmV0d29yaztcbiAgc2lnbmluZ0FkZHJlc3M6IHN0cmluZztcbiAgc2VydmVyWHB1Yjogc3RyaW5nO1xuICBoc21YcHViOiBzdHJpbmc7XG4gIGJ0Y0V4cGxvcmVyQmFzZVVybDogc3RyaW5nO1xuICBldGhlcnNjYW5CYXNlVXJsOiBzdHJpbmc7XG4gIGV0aGVyc2NhbkFwaVRva2VuPzogc3RyaW5nO1xuICBhdmF4Y05ldHdvcmtCYXNlVXJsOiBzdHJpbmc7XG4gIGV0aDJFeHBsb3JlckJhc2VVcmw6IHN0cmluZztcbiAgZXRod0Z1bGxOb2RlUlBDQmFzZVVybDogc3RyaW5nO1xuICBwb2x5Z29uc2NhbkJhc2VVcmw/OiBzdHJpbmc7XG4gIGJzY3NjYW5CYXNlVXJsPzogc3RyaW5nO1xuICBic2NzY2FuQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHBvbHlnb25zY2FuQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGFwZWNoYWluRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgYXBlY2hhaW5FeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIGFyYmlzY2FuQmFzZVVybD86IHN0cmluZztcbiAgYXJiaXNjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgb2FzRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgb2FzRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICBvcHRpbWlzdGljRXRoZXJzY2FuQmFzZVVybD86IHN0cmluZztcbiAgb3B0aW1pc3RpY0V0aGVyc2NhbkFwaVRva2VuPzogc3RyaW5nO1xuICB6a3N5bmNFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIHprc3luY0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGJlcmFFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIGJlcmFFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBiYXNlZXRoRXhwbG9yZXJVcmw/OiBzdHJpbmc7XG4gIGJhc2VldGhBcGlUb2tlbj86IHN0cmluZztcbiAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw/OiBzdHJpbmc7XG4gIGVvc05vZGVVcmxzOiBzdHJpbmdbXTtcbiAgbmVhck5vZGVVcmxzOiBzdHJpbmdbXTtcbiAgc29sTm9kZVVybDogc3RyaW5nO1xuICBzb2xBbGNoZW15Tm9kZVVybDogc3RyaW5nO1xuICBhZGFOb2RlVXJsOiBzdHJpbmc7XG4gIGhhc2hOb2RlVXJsOiBzdHJpbmc7XG4gIGluak5vZGVVcmw6IHN0cmluZztcbiAgYXRvbU5vZGVVcmw6IHN0cmluZztcbiAgb3Ntb05vZGVVcmw6IHN0cmluZztcbiAgdGlhTm9kZVVybDogc3RyaW5nO1xuICBzZWlOb2RlVXJsOiBzdHJpbmc7XG4gIGJsZE5vZGVVcmw6IHN0cmluZztcbiAgYmVyYU5vZGVVcmw6IHN0cmluZztcbiAgemV0YU5vZGVVcmw6IHN0cmluZztcbiAgY29yZXVtTm9kZVVybDogc3RyaW5nO1xuICBydW5lTm9kZVVybDogc3RyaW5nO1xuICBiYWJ5Tm9kZVVybDogc3RyaW5nO1xuICBtYW50cmFOb2RlVXJsOiBzdHJpbmc7XG4gIGNyb25vc05vZGVVcmw6IHN0cmluZztcbiAgaW5pdGlhTm9kZVVybDogc3RyaW5nO1xuICBhc2lOb2RlVXJsOiBzdHJpbmc7XG4gIGlzbG1Ob2RlVXJsOiBzdHJpbmc7XG4gIGRvdE5vZGVVcmxzOiBzdHJpbmdbXTtcbiAgc3Vic3RyYXRlTm9kZVVybHM6IHN0cmluZ1tdO1xuICBwb2x5bWVzaE5vZGVVcmxzOiBzdHJpbmdbXTtcbiAgdHJvbk5vZGVzOiB7XG4gICAgZnVsbDogc3RyaW5nO1xuICAgIHNvbGlkaXR5OiBzdHJpbmc7XG4gIH07XG4gIGhtYWNWZXJpZmljYXRpb25FbmZvcmNlZDogYm9vbGVhbjtcbiAgdG9uTm9kZVVybDogc3RyaW5nO1xuICBzdWlOb2RlVXJsOiBzdHJpbmc7XG4gIGV0Y05vZGVVcmw6IHN0cmluZztcbiAgY29yZWRhb0V4cGxvcmVyQmFzZVVybD86IHN0cmluZztcbiAgY29yZWRhb0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHhkY0V4cGxvcmVyQmFzZVVybD86IHN0cmluZztcbiAgeGRjRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgZmxyRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICBmbHJFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBzZ2JFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIHNnYkV4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGljcE5vZGVVcmw6IHN0cmluZztcbiAgd2VtaXhFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIHdlbWl4RXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgbW9uRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICBtb25FeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICB3b3JsZEV4cGxvcmVyQmFzZVVybD86IHN0cmluZztcbiAgd29ybGRFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBzb21uaWFFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIHNvbW5pYUV4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHNvbmVpdW1FeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIHNvbmVpdW1FeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBzdHhOb2RlVXJsOiBzdHJpbmc7XG4gIHZldE5vZGVVcmw6IHN0cmluZztcbiAgLy8gVGhlIGtleSBoZXJlIGlzIGNvaW5OYW1lIGFuZCBpdCB3aWxsIGJlIHNhbWUgZm9yIGJvdGggbWFpbm5ldCBhbmQgdGVzdG5ldCAoZWc6ICdwaHJzJylcbiAgZXZtPzoge1xuICAgIFtrZXk6IHN0cmluZ106IHtcbiAgICAgIGJhc2VVcmw6IHN0cmluZztcbiAgICAgIGFwaVRva2VuPzogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIC8vIFRoZSBrZXkgaGVyZSBpcyBjb2luRmFtaWx5IGFuZCBpdCB3aWxsIGJlIHNhbWUgZm9yIGJvdGggbWFpbm5ldCBhbmQgdGVzdG5ldCAoZWc6ICdjcm9ub3MnKVxuICBjb3Ntb3M/OiB7XG4gICAgW2tleTogc3RyaW5nXToge1xuICAgICAgbm9kZVVybDogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIHh0ekV4cGxvcmVyQmFzZVVybD86IHN0cmluZztcbiAgeHR6UnBjVXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50IGV4dGVuZHMgRW52aXJvbm1lbnRUZW1wbGF0ZSB7XG4gIHVyaTogc3RyaW5nO1xuICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgaGFyZGNvZGVkUHVibGljS2V5cyA9IE9iamVjdC5mcmVlemUoe1xuICBzZXJ2ZXJYcHViOiB7XG4gICAgcHJvZDogJ3hwdWI2NjFNeU13QXFSYmNFdFVndTlIRjhhaTRpcHVWS0tIQnpVcWtzNGpTRnlwVzhkd3dRTDF6eWdMZ1F4OTlObUM3ekpKem5TaXdLRzZSUWZWakFLTXRDc3g4VmpSNmtRVzh4N0hya1hGWmRuUScsXG4gICAgdGVzdDogJ3hwdWI2NjFNeU13QXFSYmNFckZxVlhHaVVGdjlZZW9QYmhONzJVaU5DVWRqOW5qM1Q2TThoN2lLTm1iQ1lwTVZXVlpQN0xBMm1hM0hXY1BuZ3oxZ1JUbTRGUGR0bTltSGZyTnZVOTNNQ29zenNHTCcsXG4gIH0sXG4gIGhzbVhwdWI6IHtcbiAgICBwcm9kOiAneHB1YjY2MU15TXdBcVJiY0dFdFRGZ01Bb3hNRm9xc1JkRGFpYVI2M2J5TmZaZFY3Y0JaRnZvdlFTTko1YnB5ZW9RdHVLVmdYQms2c0ZRN1R0dnlXcWFkdDQxRG5Ld3ZlWWdNNUtvVTJFS1lqZFkyJyxcbiAgICB0ZXN0OiAneHB1YjY2MU15TXdBcVJiY0dGS2U0QnF2azRTZ3JpYzRnTkZDOHBVYnc0dFVrVmpaeHViakNBNTIyZ1B6YzFZYVhiM2JRVm1EV2M3Q2pHOEFHTldScGNkQVUzOFJFVEJoOG4yYm5xRVU0a2JWNG9LJyxcbiAgICBkZXY6ICd4cHViNjYxTXlNd0FxUmJjRld6b3o4cW5ZUkRZRUZRcFBMWXd4VkZvRzZXTHkzY2s1WnVwUkdKVEc0anU2eUdiN0RqM2V5NkdzQzRrc3RMUkVSMm5LemdqTHRteHlQZ0M0ekh5N2tWaFV0NnlmR24nLFxuICB9LFxufSk7XG5cbmV4cG9ydCB0eXBlIEVudmlyb25tZW50TmFtZSA9XG4gIHwgJ3Byb2QnXG4gIHwgJ3N0YWdpbmcnXG4gIHwgJ3Rlc3QnXG4gIHwgJ2RldidcbiAgfCAnbG9jYWwnXG4gIHwgJ2xvY2FsTm9uU2VjdXJlJ1xuICB8ICdtb2NrJ1xuICB8ICdhZG1pblByb2QnXG4gIHwgJ2FkbWluVGVzdCdcbiAgfCAnYWRtaW5TdGFnaW5nJ1xuICB8ICdhZG1pbkRldidcbiAgfCAnY3VzdG9tJ1xuICB8ICdicmFuY2gnO1xuXG5leHBvcnQgdHlwZSBBbGlhc0Vudmlyb25tZW50TmFtZSA9ICdwcm9kdWN0aW9uJyB8ICdtc1Byb2QnIHwgJ21zVGVzdCcgfCAnbXNEZXYnO1xuXG5leHBvcnQgdHlwZSBFbnZpcm9ubWVudHMgPSB7IFtrIGluIEVudmlyb25tZW50TmFtZV06IEVudmlyb25tZW50IH07XG5cbi8vIGFsaWFzIGVudmlyb25tZW50cyBhcmUgZW52aXJvbm1lbnQgbmFtZXMgd2hpY2ggYXJlIGFsaWFzZXMgb2YgYSBzdXBwb3J0ZWQgZW52aXJvbm1lbnRcbmV4cG9ydCBjb25zdCBBbGlhc0Vudmlyb25tZW50czogeyBbayBpbiBBbGlhc0Vudmlyb25tZW50TmFtZV06IEVudmlyb25tZW50TmFtZSB9ID0ge1xuICBwcm9kdWN0aW9uOiAncHJvZCcsXG4gIG1zUHJvZDogJ3Byb2QnLFxuICBtc1Rlc3Q6ICd0ZXN0JyxcbiAgbXNEZXY6ICdkZXYnLFxufTtcblxuY29uc3QgbWFpbm5ldEJhc2U6IEVudmlyb25tZW50VGVtcGxhdGUgPSB7XG4gIG5ldHdvcms6ICdiaXRjb2luJyBhcyBWMU5ldHdvcmssXG4gIHNpZ25pbmdBZGRyZXNzOiAnMUJpdEdvM2d4Ulo2bVFTRUg1MmR2Q0tTVWdWQ0FINFJqYScsXG4gIHNlcnZlclhwdWI6IGhhcmRjb2RlZFB1YmxpY0tleXMuc2VydmVyWHB1Yi5wcm9kLFxuICBoc21YcHViOiBoYXJkY29kZWRQdWJsaWNLZXlzLmhzbVhwdWIucHJvZCxcbiAgYnRjRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9ibG9ja3N0cmVhbS5pbmZvL2FwaScsXG4gIGV0aGVyc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICBldGhlcnNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuRVRIRVJTQ0FOX0FQSV9UT0tFTixcbiAgYXZheGNOZXR3b3JrQmFzZVVybDogJ2h0dHBzOi8vYXBpLmF2YXgubmV0d29yaycsXG4gIGV0aDJFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2JlYWNvbnNjYW4uY29tL2FwaScsXG4gIGV0aHdGdWxsTm9kZVJQQ0Jhc2VVcmw6ICdodHRwczovL21haW5uZXQuZXRoZXJldW1wb3cub3JnJyxcbiAgYnNjc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICBic2NzY2FuQXBpVG9rZW46IHByb2Nlc3MuZW52LkJTQ19BUElfVE9LRU4sXG4gIHBvbHlnb25zY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gIHBvbHlnb25zY2FuQXBpVG9rZW46IHByb2Nlc3MuZW52LlBPTFlHT05TQ0FOX0FQSV9UT0tFTixcbiAgYXJiaXNjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgYXJiaXNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuQVJCSVNDQU5fQVBJX1RPS0VOLFxuICBvcHRpbWlzdGljRXRoZXJzY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gIG9wdGltaXN0aWNFdGhlcnNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuT1BUSU1JU1RJQ19FVEhFUlNDQU5fQVBJX1RPS0VOLFxuICB6a3N5bmNFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2Jsb2NrLWV4cGxvcmVyLWFwaS5tYWlubmV0Lnprc3luYy5pbycsXG4gIHprc3luY0V4cGxvcmVyQXBpVG9rZW46IHByb2Nlc3MuZW52LlpLU1lOQ19FWFBMT1JFUl9BUElfVE9LRU4sXG4gIGJhc2VldGhFeHBsb3JlclVybDogJ2h0dHBzOi8vYXBpLmJhc2VzY2FuLm9yZycsIC8vQmFzZUVUSCBleHBsb3JlciBhcGkgdXJsXG4gIGJhc2VldGhBcGlUb2tlbjogcHJvY2Vzcy5lbnYuQkFTRVNDQU5fQVBJX1RPS0VOLFxuICBlb3NOb2RlVXJsczogWydodHRwczovL2JwLmNyeXB0b2xpb25zLmlvJywgJ2h0dHBzOi8vYXBpLmVvc25ld3lvcmsuaW8nLCAnaHR0cHM6Ly9hcGkuZW9zZGV0cm9pdC5pbyddLFxuICBuZWFyTm9kZVVybHM6IFsnaHR0cHM6Ly9hcGkuZmFzdG5lYXIuY29tJ10sXG4gIHNvbE5vZGVVcmw6ICdodHRwczovL2FwaS5tYWlubmV0LWJldGEuc29sYW5hLmNvbScsXG4gIHNvbEFsY2hlbXlOb2RlVXJsOiAnaHR0cHM6Ly9zb2xhbmEtbWFpbm5ldC5nLmFsY2hlbXkuY29tL3YyJyxcbiAgYWRhTm9kZVVybDogJ2h0dHBzOi8vYXBpLmtvaW9zLnJlc3QvYXBpL3YxJyxcbiAgaGFzaE5vZGVVcmw6ICdodHRwczovL2FwaS5wcm92ZW5hbmNlLmlvJyxcbiAgaW5qTm9kZVVybDogJ2h0dHBzOi8vc2VudHJ5LmxjZC5pbmplY3RpdmUubmV0d29yaycsIC8vIHJlZmVyZW5jZSBodHRwczovL2RvY3MuaW5qZWN0aXZlLm5ldHdvcmsvZGV2ZWxvcC9wdWJsaWMtZW5kcG9pbnRzL1xuICBhdG9tTm9kZVVybDogJ2h0dHBzOi8vcmVzdC5jb3Ntb3MuZGlyZWN0b3J5L2Nvc21vc2h1Yi8nLFxuICBvc21vTm9kZVVybDogJ2h0dHBzOi8vbGNkLm9zbW9zaXMuem9uZScsXG4gIHRpYU5vZGVVcmw6ICdodHRwczovL3B1YmxpYy1jZWxlc3RpYS1sY2QubnVtaWEueHl6JywgLy8gcmVmZXJlbmNlIGh0dHBzOi8vZG9jcy5jZWxlc3RpYS5vcmcvbm9kZXMvbWFpbm5ldCNhcGktZW5kcG9pbnRzXG4gIHNlaU5vZGVVcmw6ICdodHRwczovL3NlaS1hcGkucG9sa2FjaHUuY29tJyxcbiAgYmxkTm9kZVVybDogJ2h0dHBzOi8vYWdvcmljLWFwaS5wb2xrYWNodS5jb20nLFxuICBiZXJhTm9kZVVybDogJycsIC8vIFRPRE8oV0lOLTY5Myk6IHVwZGF0ZSB1cmwgd2hlbiBtYWlubmV0IGdvZXMgbGl2ZVxuICB6ZXRhTm9kZVVybDogJ2h0dHBzOi8vemV0YWNoYWluLmJsb2NrcGkubmV0d29yaycsIC8vIHJlZmVyZW5jZSBodHRwczovL3d3dy56ZXRhY2hhaW4uY29tL2RvY3MvcmVmZXJlbmNlL2FwaS9cbiAgY29yZXVtTm9kZVVybDogJ2h0dHBzOi8vZnVsbC1ub2RlLm1haW5uZXQtMS5jb3JldW0uZGV2OjEzMTcnLFxuICBydW5lTm9kZVVybDogJ2h0dHBzOi8vdGhvcm5vZGUubmluZXJlYWxtcy5jb20nLFxuICBiYWJ5Tm9kZVVybDogJ2h0dHBzOi8vYmFieWxvbi5ub2Rlcy5ndXJ1L2FwaS8nLFxuICBpc2xtTm9kZVVybDogJ2h0dHBzOi8vcmVzdC5jb3Ntb3MuaGFxcS5uZXR3b3JrJyxcbiAgbWFudHJhTm9kZVVybDogJ2h0dHBzOi8vbWFudHJhLXJlc3QucHVibGljbm9kZS5jb20vJyxcbiAgY3Jvbm9zTm9kZVVybDogJ2h0dHBzOi8vY3Jvbm9zLXBvcy1yZXN0LnB1YmxpY25vZGUuY29tLycsXG4gIGluaXRpYU5vZGVVcmw6ICdodHRwczovL3Jlc3QuaW5pdGlhLnh5ei8nLFxuICBhc2lOb2RlVXJsOiAnaHR0cHM6Ly9yZXN0LWZldGNoaHViLmZldGNoLmFpLycsXG4gIGRvdE5vZGVVcmxzOiBbJ3dzczovL3JwYy5wb2xrYWRvdC5pbyddLFxuICBzdWJzdHJhdGVOb2RlVXJsczogWyd3c3M6Ly9lbnRyeXBvaW50LWZpbm5leS5vcGVudGVuc29yLmFpJ10sXG4gIHBvbHltZXNoTm9kZVVybHM6IFsnd3NzOi8vbWFpbm5ldC1ycGMucG9seW1lc2gubmV0d29yayddLFxuICB0cm9uTm9kZXM6IHtcbiAgICBmdWxsOiAnaHR0cHM6Ly9hcGkudHJvbmdyaWQuaW8nLFxuICAgIHNvbGlkaXR5OiAnaHR0cHM6Ly9hcGkudHJvbmdyaWQuaW8nLFxuICB9LFxuICBobWFjVmVyaWZpY2F0aW9uRW5mb3JjZWQ6IHRydWUsXG4gIHRvbk5vZGVVcmw6ICdodHRwczovL3RvbmNlbnRlci5jb20vYXBpL3YyL2pzb25SUEMnLFxuICBzdWlOb2RlVXJsOiAnaHR0cHM6Ly9mdWxsbm9kZS5tYWlubmV0LnN1aS5pbycsXG4gIGV0Y05vZGVVcmw6ICdodHRwczovL2V0Yy5ibG9ja3Njb3V0LmNvbScsXG4gIGNvcmVkYW9FeHBsb3JlckJhc2VVcmw6ICdodHRwczovL29wZW5hcGkuY29yZWRhby5vcmcnLFxuICBvYXNFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2V4cGxvcmVyLm9hc3lzLmdhbWVzJyxcbiAgZmxyRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9mbGFyZS1leHBsb3Jlci5mbGFyZS5uZXR3b3JrJyxcbiAgeGRjRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgd2VtaXhFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICBzZ2JFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL3NvbmdiaXJkLWV4cGxvcmVyLmZsYXJlLm5ldHdvcmsnLFxuICBldm06IHtcbiAgICBwaHJzOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly90ZXN0bmV0LmRwbGFicy1pbnRlcm5hbC5jb20nLCAvLyBUT0RPOiBXSU4tNTc4NyBhZGQgbWFpbm5ldCB1cmwgd2hlbiBpdHMgYXZhaWxhYmxlXG4gICAgfSxcbiAgICBjdGM6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL21haW5uZXQzLmNyZWRpdGNvaW4ubmV0d29yaycsXG4gICAgfSxcbiAgICBoeXBlZXZtOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9ycGMuaHlwZXJsaXF1aWQueHl6L2V2bScsXG4gICAgfSxcbiAgICBvZzoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vY2hhaW5zY2FuLjBnLmFpL29wZW4vYXBpJyxcbiAgICB9LFxuICAgIHhwbDoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vYXBpLnJvdXRlc2Nhbi5pby92Mi9uZXR3b3JrL21haW5uZXQvZXZtLzk3NDUvZXRoZXJzY2FuL2FwaScsXG4gICAgfSxcbiAgICBzb25pYzoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vcnBjLnNvbmljbGFicy5jb20nLFxuICAgIH0sXG4gICAgc2VpZXZtOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9ldm0tcnBjLnNlaS1hcGlzLmNvbScsXG4gICAgfSxcbiAgICBrYWlhOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9wdWJsaWMtZW4ubm9kZS5rYWlhLmlvJyxcbiAgICB9LFxuICAgIGthdmFldm06IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2FwaS52ZXJpZnkubWludHNjYW4uaW8vZXZtL2FwaS8weDhhZScsXG4gICAgfSxcbiAgICBpcnlzOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly90ZXN0bmV0LXJwYy5pcnlzLnh5ei92MS9leGVjdXRpb24tcnBjJywgLy9UT0RPOiBXSU4tNjE5MSBhZGQgbWFpbm5ldCB1cmwgd2hlbiBhdmFpbGFibGVcbiAgICB9LFxuICAgIG1vbjoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gICAgfSxcbiAgICBsaW5lYWV0aDoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gICAgfSxcbiAgICBpcDoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vYXBpLnN0b3J5c2Nhbi5hcHAvJyxcbiAgICB9LFxuICAgIHNvbWk6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL21haW5uZXQuc29tbmlhLnczdXMuc2l0ZS8nLFxuICAgIH0sXG4gICAgYmFzZWV0aDoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gICAgfSxcbiAgICBmbG93OiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9ldm0uZmxvd3NjYW4uaW8vYXBpJyxcbiAgICB9LFxuICAgIHBsdW1lOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9leHBsb3Jlci5wbHVtZS5vcmcvYXBpJyxcbiAgICB9LFxuICAgIG1lZ2FldGg6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2NhcnJvdC5tZWdhZXRoLmNvbS9ycGMnLCAvL1RPRE86IGFkZCBtYWlubmV0IHVybCB3aGVuIGF2YWlsYWJsZVxuICAgIH0sXG4gIH0sXG4gIGljcE5vZGVVcmw6ICdodHRwczovL2ljMC5hcHAnLFxuICB3b3JsZEV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vd29ybGRzY2FuLm9yZy8nLFxuICBzb21uaWFFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL21haW5uZXQuc29tbmlhLnczdXMuc2l0ZS8nLFxuICBzb25laXVtRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9zb25laXVtLmJsb2Nrc2NvdXQuY29tJyxcbiAgbW9uRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgc3R4Tm9kZVVybDogJ2h0dHBzOi8vYXBpLmhpcm8uc28nLFxuICB2ZXROb2RlVXJsOiAnaHR0cHM6Ly9zeW5jLW1haW5uZXQudmVjaGFpbi5vcmcnLFxuICB4dHpFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2FwaS50emt0LmlvJyxcbiAgeHR6UnBjVXJsOiAnaHR0cHM6Ly9ycGMudHprdC5pby9tYWlubmV0Jyxcbn07XG5cbmNvbnN0IHRlc3RuZXRCYXNlOiBFbnZpcm9ubWVudFRlbXBsYXRlID0ge1xuICBuZXR3b3JrOiAndGVzdG5ldCcgYXMgVjFOZXR3b3JrLFxuICBzaWduaW5nQWRkcmVzczogJ21zaWduQmRGWHRlZWhERWdCNkRObTducFJ0N0FjRVpKUDMnLFxuICBzZXJ2ZXJYcHViOiBoYXJkY29kZWRQdWJsaWNLZXlzLnNlcnZlclhwdWIudGVzdCxcbiAgaHNtWHB1YjogaGFyZGNvZGVkUHVibGljS2V5cy5oc21YcHViLnRlc3QsXG4gIGJ0Y0V4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYmxvY2tzdHJlYW0uaW5mby90ZXN0bmV0L2FwaScsXG4gIGV0aGVyc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICBldGhlcnNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuRVRIRVJTQ0FOX0FQSV9UT0tFTixcbiAgYXZheGNOZXR3b3JrQmFzZVVybDogJ2h0dHBzOi8vYXBpLmF2YXgtdGVzdC5uZXR3b3JrJyxcbiAgZXRoMkV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYmVhY29uc2Nhbi5jb20vYXBpJyxcbiAgZXRod0Z1bGxOb2RlUlBDQmFzZVVybDogJ2h0dHBzOi8vbWFpbm5ldC5ldGhlcmV1bXBvdy5vcmcnLFxuICBwb2x5Z29uc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICBwb2x5Z29uc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5QT0xZR09OU0NBTl9BUElfVE9LRU4sXG4gIGJzY3NjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgYnNjc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5CU0NfQVBJX1RPS0VOLFxuICBhcmJpc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICBhcmJpc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5BUkJJU0NBTl9BUElfVE9LRU4sXG4gIG9wdGltaXN0aWNFdGhlcnNjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgb3B0aW1pc3RpY0V0aGVyc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5PUFRJTUlTVElDX0VUSEVSU0NBTl9BUElfVE9LRU4sXG4gIHprc3luY0V4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYmxvY2stZXhwbG9yZXItYXBpLnNlcG9saWEuemtzeW5jLmRldicsXG4gIHprc3luY0V4cGxvcmVyQXBpVG9rZW46IHByb2Nlc3MuZW52LlpLU1lOQ19FWFBMT1JFUl9BUElfVE9LRU4sXG4gIGJhc2VldGhFeHBsb3JlclVybDogJ2h0dHBzOi8vYXBpLXNlcG9saWEuYmFzZXNjYW4ub3JnJyxcbiAgYmFzZWV0aEFwaVRva2VuOiBwcm9jZXNzLmVudi5CQVNFU0NBTl9BUElfVE9LRU4sXG4gIC8vIGt5bGluIGVvcyBlbmRwb2ludHMgZm91bmQgaGVyZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vY3J5cHRva3lsaW4vQ3J5cHRvS3lsaW4tVGVzdG5ldCNodHRwLWFwaS1saXN0XG4gIC8vIGh0dHBzOi8vZG9jcy5saXF1aWRhcHBzLmlvL2xpcXVpZGFwcHMtZG9jdW1lbnRhdGlvbi9lb3Npby1ndWlkZXMvdGVzdG5ldC1jcmVhdGlvbi1ndWlkZXMvY3JlYXRpbmctY3J5cHRva3lsaW4tYWNjb3VudCNzZXR1cFxuICBlb3NOb2RlVXJsczogWydodHRwczovL2t5bGluLmVvc24uaW8nLCAnaHR0cHM6Ly9hcGkua3lsaW4uYWxvaGFlb3MuY29tJ10sXG4gIG5lYXJOb2RlVXJsczogWydodHRwczovL3Rlc3QucnBjLmZhc3RuZWFyLmNvbSddLFxuICBzb2xOb2RlVXJsOiAnaHR0cHM6Ly9hcGkuZGV2bmV0LnNvbGFuYS5jb20nLFxuICBzb2xBbGNoZW15Tm9kZVVybDogJ2h0dHBzOi8vc29sYW5hLWRldm5ldC5nLmFsY2hlbXkuY29tL3YyJyxcbiAgYWRhTm9kZVVybDogJ2h0dHBzOi8vcHJlcHJvZC5rb2lvcy5yZXN0L2FwaS92MScsXG4gIGhhc2hOb2RlVXJsOiAnaHR0cHM6Ly9hcGkudGVzdC5wcm92ZW5hbmNlLmlvJyxcbiAgaW5qTm9kZVVybDogJ2h0dHBzOi8vdGVzdG5ldC5zZW50cnkubGNkLmluamVjdGl2ZS5uZXR3b3JrJywgLy8gQ09JTi0xMjE5IDogcmVmZXJlbmNlICBodHRwczovL2RvY3MuaW5qZWN0aXZlLm5ldHdvcmsvZGV2ZWxvcC9wdWJsaWMtZW5kcG9pbnRzLyN0ZXN0bmV0XG4gIGF0b21Ob2RlVXJsOiAnaHR0cHM6Ly9yZXN0LnByb3ZpZGVyLXNlbnRyeS0wMi5pY3MtdGVzdG5ldC5wb2x5cG9yZS54eXovJyxcbiAgb3Ntb05vZGVVcmw6ICdodHRwczovL2xjZC5vc21vdGVzdDUub3Ntb3Npcy56b25lJyxcbiAgdGlhTm9kZVVybDogJ2h0dHBzOi8vYXBpLW1vY2hhLnBvcHMub25lJyxcbiAgc2VpTm9kZVVybDogJ2h0dHBzOi8vcmVzdC5hdGxhbnRpYy0yLnNlaW5ldHdvcmsuaW8nLFxuICBibGROb2RlVXJsOiAnaHR0cHM6Ly9kZXZuZXQuYXBpLmFnb3JpYy5uZXQnLFxuICBiZXJhTm9kZVVybDogJycsIC8vIFRPRE8oV0lOLTY5Myk6IHVwZGF0ZSB1cmwgd2hlbiB0ZXN0bmV0IGdvZXMgbGl2ZVxuICB6ZXRhTm9kZVVybDogJ2h0dHBzOi8vcmVzdC5ub2RlanVtcGVyLmlvL3pldGFjaGFpbnRlc3RuZXQnLCAvLyByZWZlcmVuY2UgOiBodHRwczovL3d3dy56ZXRhY2hhaW4uY29tL2RvY3MvcmVmZXJlbmNlL2FwaS9cbiAgY29yZXVtTm9kZVVybDogJ2h0dHBzOi8vZnVsbC1ub2RlLnRlc3RuZXQtMS5jb3JldW0uZGV2OjEzMTcnLFxuICBydW5lTm9kZVVybDogJ2h0dHBzOi8vc3RhZ2VuZXQtdGhvcm5vZGUubmluZXJlYWxtcy5jb20nLFxuICBiYWJ5Tm9kZVVybDogJ2h0dHBzOi8vYmFieWxvbi10ZXN0bmV0LWFwaS5ub2Rlcy5ndXJ1LycsXG4gIGlzbG1Ob2RlVXJsOiAnaHR0cHM6Ly9yZXN0LmNvc21vcy50ZXN0ZWRnZTIuaGFxcS5uZXR3b3JrICcsXG4gIG1hbnRyYU5vZGVVcmw6ICdodHRwczovL21hbnRyYS10ZXN0bmV0LXJlc3QucHVibGljbm9kZS5jb20vJyxcbiAgY3Jvbm9zTm9kZVVybDogJ2h0dHBzOi8vdGVzdG5ldC1jcm9lc2VpZC00LmNyeXB0by5vcmc6MTMxNy8nLFxuICBpbml0aWFOb2RlVXJsOiAnaHR0cHM6Ly9yZXN0LnRlc3RuZXQuaW5pdGlhLnh5ei8nLFxuICBhc2lOb2RlVXJsOiAnaHR0cHM6Ly9yZXN0LWRvcmFkby5mZXRjaC5haS8nLFxuICBkb3ROb2RlVXJsczogWyd3c3M6Ly9hc3NldC1odWItd2VzdGVuZC1ycGMubi5kd2VsbGlyLmNvbSddLFxuICBzdWJzdHJhdGVOb2RlVXJsczogWyd3c3M6Ly90ZXN0LmZpbm5leS5vcGVudGVuc29yLmFpJ10sXG4gIHBvbHltZXNoTm9kZVVybHM6IFsnd3NzOi8vdGVzdG5ldC1ycGMucG9seW1lc2gubGl2ZSddLFxuICB0cm9uTm9kZXM6IHtcbiAgICBmdWxsOiAnaHR0cHM6Ly9hcGkuc2hhc3RhLnRyb25ncmlkLmlvJyxcbiAgICBzb2xpZGl0eTogJ2h0dHBzOi8vYXBpLnNoYXN0YS50cm9uZ3JpZC5pbycsXG4gIH0sXG4gIGhtYWNWZXJpZmljYXRpb25FbmZvcmNlZDogZmFsc2UsXG4gIHRvbk5vZGVVcmw6ICdodHRwczovL3Rlc3RuZXQudG9uY2VudGVyLmNvbS9hcGkvdjIvanNvblJQQycsXG4gIHN1aU5vZGVVcmw6ICdodHRwczovL2Z1bGxub2RlLnRlc3RuZXQuc3VpLmlvJyxcbiAgZXRjTm9kZVVybDogJ2h0dHBzOi8vZXRjLW1vcmRvci5ibG9ja3Njb3V0LmNvbScsXG4gIGNvcmVkYW9FeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2FwaS50ZXN0Mi5idGNzLm5ldHdvcmsnLFxuICBvYXNFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2V4cGxvcmVyLnRlc3RuZXQub2FzeXMuZ2FtZXMnLFxuICB3ZW1peEV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gIGZsckV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vY29zdG9uMi1leHBsb3Jlci5mbGFyZS5uZXR3b3JrJyxcbiAgeGRjRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgc2diRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9jb3N0b24tZXhwbG9yZXIuZmxhcmUubmV0d29yaycsXG4gIGljcE5vZGVVcmw6ICdodHRwczovL2V4Y2hhbmdlcy50ZXN0bmV0LmRmaW5pdHkubmV0d29yaycsXG4gIG1vbkV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gIHdvcmxkRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9zZXBvbGlhLndvcmxkc2Nhbi5vcmcvJyxcbiAgc29tbmlhRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9zaGFubm9uLWV4cGxvcmVyLnNvbW5pYS5uZXR3b3JrLycsXG4gIHNvbmVpdW1FeHBsb3JlckJhc2VVcmw6ICdodHRwczovL3NvbmVpdW0tbWluYXRvLmJsb2Nrc2NvdXQuY29tJyxcbiAgZXZtOiB7XG4gICAgcGhyczoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vdGVzdG5ldC5kcGxhYnMtaW50ZXJuYWwuY29tJyxcbiAgICB9LFxuICAgIGN0Yzoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vcnBjLmNjMy10ZXN0bmV0LmNyZWRpdGNvaW4ubmV0d29yaycsXG4gICAgfSxcbiAgICBoeXBlZXZtOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9ycGMuaHlwZXJsaXF1aWQtdGVzdG5ldC54eXovZXZtJyxcbiAgICB9LFxuICAgIG9nOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9jaGFpbnNjYW4tdGVzdC4wZy5haS9vcGVuL2FwaScsXG4gICAgfSxcbiAgICB4cGw6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL3Rlc3RuZXQtcnBjLnBsYXNtYS50bycsXG4gICAgfSxcbiAgICBzb25pYzoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vcnBjLmJsYXplLnNvbmljbGFicy5jb20nLFxuICAgIH0sXG4gICAgc2VpZXZtOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9ldm0tcnBjLXRlc3RuZXQuc2VpLWFwaXMuY29tJyxcbiAgICB9LFxuICAgIGthaWE6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL3B1YmxpYy1lbi1rYWlyb3Mubm9kZS5rYWlhLmlvJyxcbiAgICB9LFxuICAgIGthdmFldm06IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2FwaS52ZXJpZnkubWludHNjYW4uaW8vZXZtL2FwaS8weDhhZCcsXG4gICAgfSxcbiAgICBpcnlzOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly90ZXN0bmV0LXJwYy5pcnlzLnh5ei92MS9leGVjdXRpb24tcnBjJyxcbiAgICB9LFxuICAgIG1vbjoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gICAgfSxcbiAgICBsaW5lYWV0aDoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gICAgfSxcbiAgICBpcDoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vYXBpLnN0b3J5c2Nhbi5hcHAvJyxcbiAgICB9LFxuICAgIHRiYXNlZXRoOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgICB9LFxuICAgIGZsb3c6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2V2bS10ZXN0bmV0LmZsb3dzY2FuLmlvL2FwaScsXG4gICAgfSxcbiAgICBtZWdhZXRoOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9jYXJyb3QubWVnYWV0aC5jb20vcnBjJyxcbiAgICB9LFxuICAgIHBsdW1lOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly90ZXN0bmV0LWV4cGxvcmVyLnBsdW1lLm9yZy9hcGknLFxuICAgIH0sXG4gIH0sXG4gIHN0eE5vZGVVcmw6ICdodHRwczovL2FwaS50ZXN0bmV0Lmhpcm8uc28nLFxuICB2ZXROb2RlVXJsOiAnaHR0cHM6Ly9zeW5jLXRlc3RuZXQudmVjaGFpbi5vcmcnLFxuICB4dHpFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2FwaS5naG9zdG5ldC50emt0LmlvJyxcbiAgeHR6UnBjVXJsOiAnaHR0cHM6Ly9ycGMudHprdC5pby9naG9zdG5ldCcsXG59O1xuXG5jb25zdCBkZXZCYXNlOiBFbnZpcm9ubWVudFRlbXBsYXRlID0gT2JqZWN0LmFzc2lnbih7fSwgdGVzdG5ldEJhc2UsIHtcbiAgaHNtWHB1YjogaGFyZGNvZGVkUHVibGljS2V5cy5oc21YcHViLmRldixcbiAgaG1hY1ZlcmlmaWNhdGlvbkVuZm9yY2VkOiBmYWxzZSxcbn0pO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVkZWNsYXJlXG5leHBvcnQgY29uc3QgRW52aXJvbm1lbnRzOiBFbnZpcm9ubWVudHMgPSB7XG4gIHByb2Q6IE9iamVjdC5hc3NpZ24oe30sIG1haW5uZXRCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hcHAuYml0Z28uY29tJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vYXBwLmJpdGdvLmNvbS9hcGkvdjIveGxtL2ZlZGVyYXRpb24nLFxuICB9KSxcbiAgdGVzdDogT2JqZWN0LmFzc2lnbih7fSwgdGVzdG5ldEJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2FwcC5iaXRnby10ZXN0LmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FwcC5iaXRnby10ZXN0LmNvbS9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGRldjogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYXBwLmJpdGdvLWRldi5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hcHAuYml0Z28tZGV2LmNvbS9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIHN0YWdpbmc6IE9iamVjdC5hc3NpZ24oe30sIHRlc3RuZXRCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hcHAuYml0Z28tc3RhZ2luZy5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hcHAuYml0Z28tc3RhZ2luZy5jb20vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBsb2NhbDogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vbG9jYWxob3N0OjMwMDAnLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9sb2NhbGhvc3Q6MzAwMC9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGxvY2FsTm9uU2VjdXJlOiBPYmplY3QuYXNzaWduKHt9LCBkZXZCYXNlLCB7XG4gICAgdXJpOiAnaHR0cDovL2xvY2FsaG9zdDozMDAwJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIG1vY2s6IE9iamVjdC5hc3NpZ24oe30sIGRldkJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2JpdGdvLmZha2V1cmwnLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9iaXRnby5mYWtldXJsL2FwaS92Mi90eGxtL2ZlZGVyYXRpb24nLFxuICAgIGV0aGVyc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS1ob29kaS5ldGhlcnNjYW4uZmFrZXVybCcsXG4gICAgZXRoZXJzY2FuQXBpVG9rZW46IHByb2Nlc3MuZW52LkVUSEVSU0NBTl9BUElfVE9LRU4sXG4gICAgYXZheGNOZXR3b3JrQmFzZVVybDogJ2h0dHBzOi8vYXBpLmF2YXgtdGVzdC5uZXR3b3JrLmZha2V1cmwnLFxuICAgIGV0aDJFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2JlYWNvbnNjYW4uY29tL2FwaScsXG4gIH0pLFxuICBhZG1pblByb2Q6IE9iamVjdC5hc3NpZ24oe30sIG1haW5uZXRCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hZG1pbi5iaXRnby5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hZG1pbi5iaXRnby5jb20vYXBpL3YyL3hsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGFkbWluVGVzdDogT2JqZWN0LmFzc2lnbih7fSwgdGVzdG5ldEJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2FkbWluLmJpdGdvLXRlc3QuY29tJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vYWRtaW4uYml0Z28tdGVzdC5jb20vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBhZG1pbkRldjogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYWRtaW4uYml0Z28tZGV2LmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FkbWluLmJpdGdvLWRldi5jb20vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBhZG1pblN0YWdpbmc6IE9iamVjdC5hc3NpZ24oe30sIHRlc3RuZXRCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hZG1pbi5iaXRnby1zdGFnaW5nLmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FkbWluLmJpdGdvLXN0YWdpbmcuY29tL2FwaS92Mi94bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBjdXN0b206IE9iamVjdC5hc3NpZ24oe30sIG1haW5uZXRCYXNlLCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICB1cmk6IHByb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9ST09UX1VSSSEsXG4gICAgbmV0d29yazogcHJvY2Vzcy5lbnYuQklUR09fQ1VTVE9NX0JJVENPSU5fTkVUV09SSyBhcyBWMU5ldHdvcmssXG4gICAgaHNtWHB1YjpcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicgPyBoYXJkY29kZWRQdWJsaWNLZXlzLmhzbVhwdWIucHJvZCA6IGhhcmRjb2RlZFB1YmxpY0tleXMuaHNtWHB1Yi50ZXN0LFxuICAgIGJ0Y0V4cGxvcmVyQmFzZVVybDpcbiAgICAgIHByb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9CSVRDT0lOX05FVFdPUksgIT09ICdiaXRjb2luJ1xuICAgICAgICA/ICdodHRwczovL2Jsb2Nrc3RyZWFtLmluZm8vdGVzdG5ldC9hcGknXG4gICAgICAgIDogJ2h0dHBzOi8vYmxvY2tzdHJlYW0uaW5mby9hcGknLFxuICAgIGV0aGVyc2NhbkJhc2VVcmw6XG4gICAgICBwcm9jZXNzLmVudi5CSVRHT19DVVNUT01fRVRIRVJFVU1fTkVUV09SSyAhPT0gJ2V0aGVyZXVtJ1xuICAgICAgICA/ICdodHRwczovL2FwaS1ob29kaS5ldGhlcnNjYW4uaW8nXG4gICAgICAgIDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pbycsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6XG4gICAgICBwcm9jZXNzLmVudi5CSVRHT19DVVNUT01fU1RFTExBUl9ORVRXT1JLICE9PSAnc3RlbGxhcidcbiAgICAgICAgPyBgaHR0cHM6Ly8ke3Byb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9ST09UX1VSSX0vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbmBcbiAgICAgICAgOiBgaHR0cHM6Ly8ke3Byb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9ST09UX1VSSX0vYXBpL3YyL3hsbS9mZWRlcmF0aW9uYCxcbiAgICBzZXJ2ZXJYcHViOlxuICAgICAgcHJvY2Vzcy5lbnYuQklUR09fQ1VTVE9NX0JJVENPSU5fTkVUV09SSyAhPT0gJ2JpdGNvaW4nXG4gICAgICAgID8gaGFyZGNvZGVkUHVibGljS2V5cy5zZXJ2ZXJYcHViLnRlc3RcbiAgICAgICAgOiBoYXJkY29kZWRQdWJsaWNLZXlzLnNlcnZlclhwdWIucHJvZCxcbiAgfSksXG4gIGJyYW5jaDogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYXBwLmJpdGdvLWRldi5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hcHAuYml0Z28tZGV2LmNvbS9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG59O1xuIl19
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { BitGoJsError } from '../bitgojsError';
|
|
2
|
+
import { IRequestTracer } from '../api/types';
|
|
3
|
+
import { TransactionParams } from './baseCoin';
|
|
4
|
+
import { SendManyOptions } from './wallet';
|
|
2
5
|
export { BitGoJsError };
|
|
3
6
|
export declare class TlsConfigurationError extends BitGoJsError {
|
|
4
7
|
constructor(message?: string);
|
|
@@ -75,6 +78,15 @@ export declare class InvalidKeyPathError extends BitGoJsError {
|
|
|
75
78
|
export declare class InvalidTransactionError extends BitGoJsError {
|
|
76
79
|
constructor(message?: string);
|
|
77
80
|
}
|
|
81
|
+
export declare class MissingEncryptedKeychainError extends Error {
|
|
82
|
+
constructor(message?: string);
|
|
83
|
+
}
|
|
84
|
+
export declare class IncorrectPasswordError extends Error {
|
|
85
|
+
constructor(message?: string);
|
|
86
|
+
}
|
|
87
|
+
export declare class NeedUserSignupError extends BitGoJsError {
|
|
88
|
+
constructor(message?: string);
|
|
89
|
+
}
|
|
78
90
|
export declare class ApiResponseError<ResponseBodyType = any> extends BitGoJsError {
|
|
79
91
|
message: string;
|
|
80
92
|
status: number;
|
|
@@ -83,4 +95,143 @@ export declare class ApiResponseError<ResponseBodyType = any> extends BitGoJsErr
|
|
|
83
95
|
needsOTP?: boolean;
|
|
84
96
|
constructor(message: string, status: number, result?: ResponseBodyType, invalidToken?: boolean, needsOTP?: boolean);
|
|
85
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Interface for token approval information used in suspicious transaction detection
|
|
100
|
+
*
|
|
101
|
+
* @interface TokenApproval
|
|
102
|
+
* @property {string} [tokenName] - Optional human-readable name of the token
|
|
103
|
+
* @property {string} tokenAddress - The contract address of the token being approved
|
|
104
|
+
* @property {Object} authorizingAmount - The amount being authorized for spending
|
|
105
|
+
* @property {string} authorizingAddress - The address being authorized to spend the tokens
|
|
106
|
+
*/
|
|
107
|
+
export interface TokenApproval {
|
|
108
|
+
tokenName?: string;
|
|
109
|
+
tokenAddress: string;
|
|
110
|
+
authorizingAmount: {
|
|
111
|
+
type: 'unlimited';
|
|
112
|
+
} | {
|
|
113
|
+
type: 'limited';
|
|
114
|
+
amount: number;
|
|
115
|
+
};
|
|
116
|
+
authorizingAddress: string;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Interface for mismatched recipient information detected during transaction verification
|
|
120
|
+
*
|
|
121
|
+
* @interface MismatchedRecipient
|
|
122
|
+
* @property {string} address - The recipient address that was found in the transaction
|
|
123
|
+
* @property {string} amount - The amount being sent to this recipient
|
|
124
|
+
* @property {string | TokenTransferRecipientParams} [data] - Optional transaction data or token transfer parameters
|
|
125
|
+
* @property {string} [tokenName] - Optional name of the token being transferred
|
|
126
|
+
* @property {TokenTransferRecipientParams} [tokenData] - Optional structured token transfer data
|
|
127
|
+
*/
|
|
128
|
+
export type MismatchedRecipient = NonNullable<SendManyOptions['recipients']>[0];
|
|
129
|
+
/**
|
|
130
|
+
* Interface for contract interaction data payload used in suspicious transaction detection
|
|
131
|
+
*
|
|
132
|
+
* @interface ContractDataPayload
|
|
133
|
+
* @property {string} address - The contract address being interacted with
|
|
134
|
+
* @property {string} rawContractPayload - The raw contract payload in serialized form specific to the blockchain
|
|
135
|
+
* @property {unknown} decodedContractPayload - The decoded contract payload, structure varies by coin/chain implementation
|
|
136
|
+
*/
|
|
137
|
+
export interface ContractDataPayload {
|
|
138
|
+
address: string;
|
|
139
|
+
rawContractPayload: string;
|
|
140
|
+
decodedContractPayload: unknown;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Base error class for transaction intent mismatch detection
|
|
144
|
+
*
|
|
145
|
+
* This error is thrown when a transaction does not match the user's original intent,
|
|
146
|
+
* indicating potential security issues or malicious modifications.
|
|
147
|
+
*
|
|
148
|
+
* @class TxIntentMismatchError
|
|
149
|
+
* @extends {BitGoJsError}
|
|
150
|
+
* @property {string | IRequestTracer | undefined} id - Transaction ID or request tracer for tracking
|
|
151
|
+
* @property {TransactionParams[]} txParams - Array of transaction parameters that were analyzed
|
|
152
|
+
* @property {string | undefined} txHex - The raw transaction in hexadecimal format
|
|
153
|
+
*/
|
|
154
|
+
export declare class TxIntentMismatchError extends BitGoJsError {
|
|
155
|
+
readonly id: string | IRequestTracer | undefined;
|
|
156
|
+
readonly txParams: TransactionParams[];
|
|
157
|
+
readonly txHex: string | undefined;
|
|
158
|
+
/**
|
|
159
|
+
* Creates an instance of TxIntentMismatchError
|
|
160
|
+
*
|
|
161
|
+
* @param {string} message - Error message describing the intent mismatch
|
|
162
|
+
* @param {string | IRequestTracer | undefined} id - Transaction ID or request tracer
|
|
163
|
+
* @param {TransactionParams[]} txParams - Transaction parameters that were analyzed
|
|
164
|
+
* @param {string | undefined} txHex - Raw transaction hex string
|
|
165
|
+
*/
|
|
166
|
+
constructor(message: string, id: string | IRequestTracer | undefined, txParams: TransactionParams[], txHex: string | undefined);
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Error thrown when transaction recipients don't match the user's intent
|
|
170
|
+
*
|
|
171
|
+
* This error occurs when the transaction contains recipients or amounts that differ
|
|
172
|
+
* from what the user originally intended to send.
|
|
173
|
+
*
|
|
174
|
+
* @class TxIntentMismatchRecipientError
|
|
175
|
+
* @extends {TxIntentMismatchError}
|
|
176
|
+
* @property {MismatchedRecipient[]} mismatchedRecipients - Array of recipients that don't match user intent
|
|
177
|
+
*/
|
|
178
|
+
export declare class TxIntentMismatchRecipientError extends TxIntentMismatchError {
|
|
179
|
+
readonly mismatchedRecipients: MismatchedRecipient[];
|
|
180
|
+
/**
|
|
181
|
+
* Creates an instance of TxIntentMismatchRecipientError
|
|
182
|
+
*
|
|
183
|
+
* @param {string} message - Error message describing the recipient intent mismatch
|
|
184
|
+
* @param {string | IRequestTracer | undefined} id - Transaction ID or request tracer
|
|
185
|
+
* @param {TransactionParams[]} txParams - Transaction parameters that were analyzed
|
|
186
|
+
* @param {string | undefined} txHex - Raw transaction hex string
|
|
187
|
+
* @param {MismatchedRecipient[]} mismatchedRecipients - Array of recipients that don't match user intent
|
|
188
|
+
*/
|
|
189
|
+
constructor(message: string, id: string | IRequestTracer | undefined, txParams: TransactionParams[], txHex: string | undefined, mismatchedRecipients: MismatchedRecipient[]);
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Error thrown when contract interaction doesn't match the user's intent
|
|
193
|
+
*
|
|
194
|
+
* This error occurs when a transaction interacts with a smart contract but the
|
|
195
|
+
* contract call data or method doesn't match what the user intended.
|
|
196
|
+
*
|
|
197
|
+
* @class TxIntentMismatchContractError
|
|
198
|
+
* @extends {TxIntentMismatchError}
|
|
199
|
+
* @property {ContractDataPayload} mismatchedDataPayload - The contract interaction data that doesn't match user intent
|
|
200
|
+
*/
|
|
201
|
+
export declare class TxIntentMismatchContractError extends TxIntentMismatchError {
|
|
202
|
+
readonly mismatchedDataPayload: ContractDataPayload;
|
|
203
|
+
/**
|
|
204
|
+
* Creates an instance of TxIntentMismatchContractError
|
|
205
|
+
*
|
|
206
|
+
* @param {string} message - Error message describing the contract intent mismatch
|
|
207
|
+
* @param {string | IRequestTracer | undefined} id - Transaction ID or request tracer
|
|
208
|
+
* @param {TransactionParams[]} txParams - Transaction parameters that were analyzed
|
|
209
|
+
* @param {string | undefined} txHex - Raw transaction hex string
|
|
210
|
+
* @param {ContractDataPayload} mismatchedDataPayload - The contract interaction data that doesn't match user intent
|
|
211
|
+
*/
|
|
212
|
+
constructor(message: string, id: string | IRequestTracer | undefined, txParams: TransactionParams[], txHex: string | undefined, mismatchedDataPayload: ContractDataPayload);
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Error thrown when token approval doesn't match the user's intent
|
|
216
|
+
*
|
|
217
|
+
* This error occurs when a transaction contains a token approval that the user
|
|
218
|
+
* did not intend to authorize, potentially indicating malicious activity.
|
|
219
|
+
*
|
|
220
|
+
* @class TxIntentMismatchApprovalError
|
|
221
|
+
* @extends {TxIntentMismatchError}
|
|
222
|
+
* @property {TokenApproval} tokenApproval - Details of the token approval that doesn't match user intent
|
|
223
|
+
*/
|
|
224
|
+
export declare class TxIntentMismatchApprovalError extends TxIntentMismatchError {
|
|
225
|
+
readonly tokenApproval: TokenApproval;
|
|
226
|
+
/**
|
|
227
|
+
* Creates an instance of TxIntentMismatchApprovalError
|
|
228
|
+
*
|
|
229
|
+
* @param {string} message - Error message describing the approval intent mismatch
|
|
230
|
+
* @param {string | IRequestTracer | undefined} id - Transaction ID or request tracer
|
|
231
|
+
* @param {TransactionParams[]} txParams - Transaction parameters that were analyzed
|
|
232
|
+
* @param {string | undefined} txHex - Raw transaction hex string
|
|
233
|
+
* @param {TokenApproval} tokenApproval - Details of the token approval that doesn't match user intent
|
|
234
|
+
*/
|
|
235
|
+
constructor(message: string, id: string | IRequestTracer | undefined, txParams: TransactionParams[], txHex: string | undefined, tokenApproval: TokenApproval);
|
|
236
|
+
}
|
|
86
237
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/bitgo/errors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/bitgo/errors.ts"],"names":[],"mappings":"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"}
|