@bitgo-beta/sdk-core 8.2.1-beta.98 → 8.2.1-beta.981
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2785 -0
- 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 +17 -3
- package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/enum.js +32 -7
- 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 +11 -35
- package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/iface.js +4 -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 +76 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessage.js +120 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +66 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +96 -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 +34 -0
- package/dist/src/account-lib/baseCoin/messages/iface.d.ts +156 -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 +5 -0
- package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/index.js +21 -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 +38 -9
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +497 -349
- 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 +73 -52
- 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 -1
- 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/bitgo/address-book/index.js +19 -0
- 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 +90 -10
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.js +142 -16
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +111 -19
- 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 +94 -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 +60 -5
- package/dist/src/bitgo/environments.d.ts.map +1 -1
- package/dist/src/bitgo/environments.js +96 -32
- package/dist/src/bitgo/errors.d.ts +6 -0
- package/dist/src/bitgo/errors.d.ts.map +1 -1
- package/dist/src/bitgo/errors.js +14 -2
- package/dist/src/bitgo/index.d.ts +1 -1
- package/dist/src/bitgo/index.d.ts.map +1 -1
- package/dist/src/bitgo/index.js +26 -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 +63 -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 +13 -3
- package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/keychains.js +128 -37
- package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +3 -3
- package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/ovcJsonCodec.js +23 -9
- 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 +1 -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 +221 -107
- package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
- package/dist/src/bitgo/recovery/index.js +6 -2
- package/dist/src/bitgo/recovery/initiate.d.ts +8 -2
- package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
- package/dist/src/bitgo/recovery/initiate.js +7 -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 +120 -4
- 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 +13 -2
- package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/stakingWallet.js +45 -4
- 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 +37 -5
- package/dist/src/bitgo/tss/common.d.ts.map +1 -1
- package/dist/src/bitgo/tss/common.js +103 -17
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +6 -4
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/ecdsa.js +78 -66
- 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 +11 -8
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/eddsa/eddsa.js +38 -41
- 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 +3 -3
- 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.js +24 -11
- 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 +34 -0
- package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
- package/dist/src/bitgo/utils/messageTypes.js +12 -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 +34 -12
- 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.map +1 -1
- package/dist/src/bitgo/utils/postWithCodec.js +4 -38
- 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/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/baseTSSUtils.d.ts +38 -14
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +141 -45
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +202 -34
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +22 -20
- 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 +20 -52
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +145 -280
- 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 +5 -3
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +75 -58
- 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.js +23 -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 +52 -8
- package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/BuildParams.js +65 -19
- package/dist/src/bitgo/wallet/iWallet.d.ts +203 -19
- 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 +91 -16
- package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallets.js +43 -3
- package/dist/src/bitgo/wallet/index.js +6 -2
- package/dist/src/bitgo/wallet/wallet.d.ts +191 -25
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +937 -303
- package/dist/src/bitgo/wallet/wallets.d.ts +96 -9
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallets.js +816 -193
- 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 +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +26 -11
- package/dist/src/units.js +5 -6
- 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 +204 -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 +130 -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 +86 -0
- package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +36 -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 +70 -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 +233 -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/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 +76 -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.js +32 -38
- 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.js +37 -17
- package/dist/test/unit/units.js +63 -63
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +24 -21
- 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/bitgo/wallet/SendTransactionRequest.d.ts +0 -71
- package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts.map +0 -1
- package/dist/src/bitgo/wallet/SendTransactionRequest.js +0 -41
- package/dist/src/openssl/index.d.ts +0 -5
- package/dist/src/openssl/index.d.ts.map +0 -1
- package/dist/src/openssl/index.js +0 -9
- package/dist/test/unit/openssl.d.ts +0 -2
- package/dist/test/unit/openssl.d.ts.map +0 -1
- package/dist/test/unit/openssl.js +0 -39
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
7
|
+
const sinon_1 = __importDefault(require("sinon"));
|
|
8
|
+
const should_1 = __importDefault(require("should"));
|
|
9
|
+
const src_1 = require("../../../../../src");
|
|
10
|
+
const fixtures_1 = require("./fixtures");
|
|
11
|
+
describe('Base Message', () => {
|
|
12
|
+
let coinConfig;
|
|
13
|
+
beforeEach(() => {
|
|
14
|
+
coinConfig = sinon_1.default.createStubInstance(statics_1.BaseCoin);
|
|
15
|
+
});
|
|
16
|
+
it('should initialize with default values', () => {
|
|
17
|
+
const message = new fixtures_1.TestMessage({
|
|
18
|
+
coinConfig,
|
|
19
|
+
payload: '',
|
|
20
|
+
});
|
|
21
|
+
should_1.default.equal(message.getType(), src_1.MessageStandardType.UNKNOWN);
|
|
22
|
+
should_1.default.equal(message.getPayload(), '');
|
|
23
|
+
should_1.default.deepEqual(message.getMetadata(), {});
|
|
24
|
+
should_1.default.deepEqual(message.getSignatures(), []);
|
|
25
|
+
should_1.default.deepEqual(message.getSigners(), []);
|
|
26
|
+
});
|
|
27
|
+
it('should initialize with provided values', () => {
|
|
28
|
+
const { payload, type, metadata, signers, signatures } = fixtures_1.messageSamples.eip191;
|
|
29
|
+
const message = new fixtures_1.TestMessage({
|
|
30
|
+
coinConfig,
|
|
31
|
+
payload,
|
|
32
|
+
type,
|
|
33
|
+
metadata,
|
|
34
|
+
signers,
|
|
35
|
+
signatures,
|
|
36
|
+
});
|
|
37
|
+
should_1.default.equal(message.getType(), type);
|
|
38
|
+
should_1.default.equal(message.getPayload(), payload);
|
|
39
|
+
should_1.default.deepEqual(message.getMetadata(), metadata);
|
|
40
|
+
should_1.default.deepEqual(message.getSignatures(), signatures);
|
|
41
|
+
should_1.default.deepEqual(message.getSigners(), signers);
|
|
42
|
+
});
|
|
43
|
+
describe('Getters and Setters', () => {
|
|
44
|
+
let message;
|
|
45
|
+
beforeEach(() => {
|
|
46
|
+
message = new fixtures_1.TestMessage({
|
|
47
|
+
coinConfig,
|
|
48
|
+
payload: 'test',
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
it('should handle adding and getting signers', () => {
|
|
52
|
+
const signer1 = '0xabc123';
|
|
53
|
+
const signer2 = '0xdef456';
|
|
54
|
+
message.addSigner(signer1);
|
|
55
|
+
should_1.default.deepEqual(message.getSigners(), [signer1]);
|
|
56
|
+
message.addSigner(signer2);
|
|
57
|
+
should_1.default.deepEqual(message.getSigners(), [signer1, signer2]);
|
|
58
|
+
// Adding a duplicate signer should not add it again
|
|
59
|
+
message.addSigner(signer1);
|
|
60
|
+
should_1.default.deepEqual(message.getSigners(), [signer1, signer2]);
|
|
61
|
+
// Set signers should replace all existing signers
|
|
62
|
+
const newSigners = ['0x111', '0x222'];
|
|
63
|
+
message.setSigners(newSigners);
|
|
64
|
+
should_1.default.deepEqual(message.getSigners(), newSigners);
|
|
65
|
+
});
|
|
66
|
+
it('should handle adding and getting signatures', () => {
|
|
67
|
+
const sig1 = 'signature1';
|
|
68
|
+
const sig2 = 'signature2';
|
|
69
|
+
message.addSignature(sig1);
|
|
70
|
+
should_1.default.deepEqual(message.getSignatures(), [sig1]);
|
|
71
|
+
message.addSignature(sig2);
|
|
72
|
+
should_1.default.deepEqual(message.getSignatures(), [sig1, sig2]);
|
|
73
|
+
// Set signatures should replace all existing signatures
|
|
74
|
+
const newSignatures = ['sig3', 'sig4'];
|
|
75
|
+
message.setSignatures(newSignatures);
|
|
76
|
+
should_1.default.deepEqual(message.getSignatures(), newSignatures);
|
|
77
|
+
});
|
|
78
|
+
it('should return copies of arrays to prevent mutation', () => {
|
|
79
|
+
const signers = ['addr1', 'addr2'];
|
|
80
|
+
const signatures = ['sig1', 'sig2'];
|
|
81
|
+
message.setSigners(signers);
|
|
82
|
+
message.setSignatures(signatures);
|
|
83
|
+
// Modifying the returned arrays should not affect the internal state
|
|
84
|
+
const returnedSigners = message.getSigners();
|
|
85
|
+
const returnedSignatures = message.getSignatures();
|
|
86
|
+
returnedSigners.push('addr3');
|
|
87
|
+
returnedSignatures.push('sig3');
|
|
88
|
+
should_1.default.deepEqual(message.getSigners(), signers);
|
|
89
|
+
should_1.default.deepEqual(message.getSignatures(), signatures);
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
describe('getSignablePayload', () => {
|
|
93
|
+
it('should return the signablePayload if set', async () => {
|
|
94
|
+
const customSignablePayload = '0xabcdef123456';
|
|
95
|
+
const message = new fixtures_1.TestMessage({
|
|
96
|
+
coinConfig,
|
|
97
|
+
payload: 'original payload',
|
|
98
|
+
signablePayload: customSignablePayload,
|
|
99
|
+
});
|
|
100
|
+
const result = await message.getSignablePayload();
|
|
101
|
+
should_1.default.equal(result, customSignablePayload);
|
|
102
|
+
});
|
|
103
|
+
it('should return the payload as buffer if signablePayload is not set', async () => {
|
|
104
|
+
const payload = 'test payload';
|
|
105
|
+
const message = new fixtures_1.TestMessage({
|
|
106
|
+
coinConfig,
|
|
107
|
+
payload,
|
|
108
|
+
});
|
|
109
|
+
const result = await message.getSignablePayload();
|
|
110
|
+
should_1.default.deepEqual(result, Buffer.from(payload));
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
describe('toBroadcastFormat', () => {
|
|
114
|
+
it('should throw an error if no signatures are available', async () => {
|
|
115
|
+
const message = new fixtures_1.TestMessage({
|
|
116
|
+
coinConfig,
|
|
117
|
+
payload: 'test',
|
|
118
|
+
signers: ['addr1'],
|
|
119
|
+
});
|
|
120
|
+
await message
|
|
121
|
+
.toBroadcastFormat()
|
|
122
|
+
.should.be.rejectedWith('No signatures available for broadcast. Call setSignatures or addSignature first.');
|
|
123
|
+
});
|
|
124
|
+
it('should throw an error if no signers are available', async () => {
|
|
125
|
+
const message = new fixtures_1.TestMessage({
|
|
126
|
+
coinConfig,
|
|
127
|
+
payload: 'test',
|
|
128
|
+
signatures: ['sig1'],
|
|
129
|
+
});
|
|
130
|
+
await message
|
|
131
|
+
.toBroadcastFormat()
|
|
132
|
+
.should.be.rejectedWith('No signers available for broadcast. Call setSigners or addSigner first.');
|
|
133
|
+
});
|
|
134
|
+
it('should create a proper broadcastable format with all fields', async () => {
|
|
135
|
+
const { payload, type, metadata, signers, signatures } = fixtures_1.messageSamples.eip191;
|
|
136
|
+
const customSignablePayload = Buffer.from('custom signable payload');
|
|
137
|
+
const message = new fixtures_1.TestMessage({
|
|
138
|
+
coinConfig,
|
|
139
|
+
payload,
|
|
140
|
+
type,
|
|
141
|
+
metadata,
|
|
142
|
+
signers,
|
|
143
|
+
signatures,
|
|
144
|
+
signablePayload: customSignablePayload,
|
|
145
|
+
});
|
|
146
|
+
const broadcastFormat = await message.toBroadcastFormat();
|
|
147
|
+
should_1.default.deepEqual(broadcastFormat, {
|
|
148
|
+
type,
|
|
149
|
+
payload,
|
|
150
|
+
signatures,
|
|
151
|
+
signers,
|
|
152
|
+
metadata,
|
|
153
|
+
signablePayload: customSignablePayload,
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
it('should perform a deep copy of metadata to prevent mutation', async () => {
|
|
157
|
+
const nestedMetadata = {
|
|
158
|
+
version: '1.0',
|
|
159
|
+
settings: {
|
|
160
|
+
chainId: 1,
|
|
161
|
+
gasLimit: 21000,
|
|
162
|
+
},
|
|
163
|
+
};
|
|
164
|
+
const message = new fixtures_1.TestMessage({
|
|
165
|
+
coinConfig,
|
|
166
|
+
payload: 'test',
|
|
167
|
+
metadata: nestedMetadata,
|
|
168
|
+
signers: ['addr1'],
|
|
169
|
+
signatures: ['sig1'],
|
|
170
|
+
});
|
|
171
|
+
const broadcastFormat = await message.toBroadcastFormat();
|
|
172
|
+
// The metadata in the broadcast format should be a deep copy
|
|
173
|
+
should_1.default.deepEqual(broadcastFormat.metadata, nestedMetadata);
|
|
174
|
+
// But it should not be the same object reference
|
|
175
|
+
should_1.default.notEqual(broadcastFormat.metadata, nestedMetadata);
|
|
176
|
+
// Modifying the original should not affect the broadcasted version
|
|
177
|
+
nestedMetadata.settings.gasLimit = 50000;
|
|
178
|
+
should_1.default.notEqual(broadcastFormat.metadata.settings.gasLimit, 50000);
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
describe('toBroadcastString', () => {
|
|
182
|
+
it('should serialize the broadcastable format to JSON string', async () => {
|
|
183
|
+
const { payload, type, metadata, signers, signatures } = fixtures_1.messageSamples.eip191;
|
|
184
|
+
const message = new fixtures_1.TestMessage({
|
|
185
|
+
coinConfig,
|
|
186
|
+
payload,
|
|
187
|
+
type,
|
|
188
|
+
metadata,
|
|
189
|
+
signers,
|
|
190
|
+
signatures,
|
|
191
|
+
});
|
|
192
|
+
const broadcastString = await message.toBroadcastString();
|
|
193
|
+
const parsed = JSON.parse(broadcastString);
|
|
194
|
+
should_1.default.deepEqual(parsed, {
|
|
195
|
+
type,
|
|
196
|
+
payload,
|
|
197
|
+
signatures,
|
|
198
|
+
signers,
|
|
199
|
+
metadata,
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYWNjb3VudC1saWIvYmFzZUNvaW4vbWVzc2FnZXMvYmFzZU1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpREFBK0M7QUFDL0Msa0RBQTBCO0FBQzFCLG9EQUE0QjtBQUM1Qiw0Q0FBeUQ7QUFDekQseUNBQXlEO0FBRXpELFFBQVEsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFO0lBQzVCLElBQUksVUFBZ0QsQ0FBQztJQUVyRCxVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsVUFBVSxHQUFHLGVBQUssQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsdUNBQXVDLEVBQUUsR0FBRyxFQUFFO1FBQy9DLE1BQU0sT0FBTyxHQUFHLElBQUksc0JBQVcsQ0FBQztZQUM5QixVQUFVO1lBQ1YsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDLENBQUM7UUFFSCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUseUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0QsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLGdCQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxnQkFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUMsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHdDQUF3QyxF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LENBQUM7WUFDMUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUUzQyxnQkFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3ZCLElBQUk7Z0JBQ0osT0FBTztnQkFDUCxVQUFVO2dCQUNWLE9BQU87Z0JBQ1AsUUFBUTthQUNULENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBtZXNzYWdlU2FtcGxlcywgVGVzdE1lc3NhZ2UgfSBmcm9tICcuL2ZpeHR1cmVzJztcblxuZGVzY3JpYmUoJ0Jhc2UgTWVzc2FnZScsICgpID0+IHtcbiAgbGV0IGNvaW5Db25maWc6IHNpbm9uLlNpbm9uU3R1YmJlZEluc3RhbmNlPEJhc2VDb2luPjtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBjb2luQ29uZmlnID0gc2lub24uY3JlYXRlU3R1Ykluc3RhbmNlKEJhc2VDb2luKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBpbml0aWFsaXplIHdpdGggZGVmYXVsdCB2YWx1ZXMnLCAoKSA9PiB7XG4gICAgY29uc3QgbWVzc2FnZSA9IG5ldyBUZXN0TWVzc2FnZSh7XG4gICAgICBjb2luQ29uZmlnLFxuICAgICAgcGF5bG9hZDogJycsXG4gICAgfSk7XG5cbiAgICBzaG91bGQuZXF1YWwobWVzc2FnZS5nZXRUeXBlKCksIE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTik7XG4gICAgc2hvdWxkLmVxdWFsKG1lc3NhZ2UuZ2V0UGF5bG9hZCgpLCAnJyk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldE1ldGFkYXRhKCksIHt9KTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmF0dXJlcygpLCBbXSk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldFNpZ25lcnMoKSwgW10pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGluaXRpYWxpemUgd2l0aCBwcm92aWRlZCB2YWx1ZXMnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBwYXlsb2FkLCB0eXBlLCBtZXRhZGF0YSwgc2lnbmVycywgc2lnbmF0dXJlcyB9ID0gbWVzc2FnZVNhbXBsZXMuZWlwMTkxO1xuXG4gICAgY29uc3QgbWVzc2FnZSA9IG5ldyBUZXN0TWVzc2FnZSh7XG4gICAgICBjb2luQ29uZmlnLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIHR5cGUsXG4gICAgICBtZXRhZGF0YSxcbiAgICAgIHNpZ25lcnMsXG4gICAgICBzaWduYXR1cmVzLFxuICAgIH0pO1xuXG4gICAgc2hvdWxkLmVxdWFsKG1lc3NhZ2UuZ2V0VHlwZSgpLCB0eXBlKTtcbiAgICBzaG91bGQuZXF1YWwobWVzc2FnZS5nZXRQYXlsb2FkKCksIHBheWxvYWQpO1xuICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRNZXRhZGF0YSgpLCBtZXRhZGF0YSk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldFNpZ25hdHVyZXMoKSwgc2lnbmF0dXJlcyk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldFNpZ25lcnMoKSwgc2lnbmVycyk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdHZXR0ZXJzIGFuZCBTZXR0ZXJzJywgKCkgPT4ge1xuICAgIGxldCBtZXNzYWdlOiBUZXN0TWVzc2FnZTtcblxuICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgbWVzc2FnZSA9IG5ldyBUZXN0TWVzc2FnZSh7XG4gICAgICAgIGNvaW5Db25maWcsXG4gICAgICAgIHBheWxvYWQ6ICd0ZXN0JyxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgYWRkaW5nIGFuZCBnZXR0aW5nIHNpZ25lcnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzaWduZXIxID0gJzB4YWJjMTIzJztcbiAgICAgIGNvbnN0IHNpZ25lcjIgPSAnMHhkZWY0NTYnO1xuXG4gICAgICBtZXNzYWdlLmFkZFNpZ25lcihzaWduZXIxKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRTaWduZXJzKCksIFtzaWduZXIxXSk7XG5cbiAgICAgIG1lc3NhZ2UuYWRkU2lnbmVyKHNpZ25lcjIpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldFNpZ25lcnMoKSwgW3NpZ25lcjEsIHNpZ25lcjJdKTtcblxuICAgICAgLy8gQWRkaW5nIGEgZHVwbGljYXRlIHNpZ25lciBzaG91bGQgbm90IGFkZCBpdCBhZ2FpblxuICAgICAgbWVzc2FnZS5hZGRTaWduZXIoc2lnbmVyMSk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmVycygpLCBbc2lnbmVyMSwgc2lnbmVyMl0pO1xuXG4gICAgICAvLyBTZXQgc2lnbmVycyBzaG91bGQgcmVwbGFjZSBhbGwgZXhpc3Rpbmcgc2lnbmVyc1xuICAgICAgY29uc3QgbmV3U2lnbmVycyA9IFsnMHgxMTEnLCAnMHgyMjInXTtcbiAgICAgIG1lc3NhZ2Uuc2V0U2lnbmVycyhuZXdTaWduZXJzKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRTaWduZXJzKCksIG5ld1NpZ25lcnMpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgYWRkaW5nIGFuZCBnZXR0aW5nIHNpZ25hdHVyZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzaWcxID0gJ3NpZ25hdHVyZTEnO1xuICAgICAgY29uc3Qgc2lnMiA9ICdzaWduYXR1cmUyJztcblxuICAgICAgbWVzc2FnZS5hZGRTaWduYXR1cmUoc2lnMSk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmF0dXJlcygpLCBbc2lnMV0pO1xuXG4gICAgICBtZXNzYWdlLmFkZFNpZ25hdHVyZShzaWcyKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRTaWduYXR1cmVzKCksIFtzaWcxLCBzaWcyXSk7XG5cbiAgICAgIC8vIFNldCBzaWduYXR1cmVzIHNob3VsZCByZXBsYWNlIGFsbCBleGlzdGluZyBzaWduYXR1cmVzXG4gICAgICBjb25zdCBuZXdTaWduYXR1cmVzID0gWydzaWczJywgJ3NpZzQnXTtcbiAgICAgIG1lc3NhZ2Uuc2V0U2lnbmF0dXJlcyhuZXdTaWduYXR1cmVzKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRTaWduYXR1cmVzKCksIG5ld1NpZ25hdHVyZXMpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gY29waWVzIG9mIGFycmF5cyB0byBwcmV2ZW50IG11dGF0aW9uJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc2lnbmVycyA9IFsnYWRkcjEnLCAnYWRkcjInXTtcbiAgICAgIGNvbnN0IHNpZ25hdHVyZXMgPSBbJ3NpZzEnLCAnc2lnMiddO1xuXG4gICAgICBtZXNzYWdlLnNldFNpZ25lcnMoc2lnbmVycyk7XG4gICAgICBtZXNzYWdlLnNldFNpZ25hdHVyZXMoc2lnbmF0dXJlcyk7XG5cbiAgICAgIC8vIE1vZGlmeWluZyB0aGUgcmV0dXJuZWQgYXJyYXlzIHNob3VsZCBub3QgYWZmZWN0IHRoZSBpbnRlcm5hbCBzdGF0ZVxuICAgICAgY29uc3QgcmV0dXJuZWRTaWduZXJzID0gbWVzc2FnZS5nZXRTaWduZXJzKCk7XG4gICAgICBjb25zdCByZXR1cm5lZFNpZ25hdHVyZXMgPSBtZXNzYWdlLmdldFNpZ25hdHVyZXMoKTtcblxuICAgICAgcmV0dXJuZWRTaWduZXJzLnB1c2goJ2FkZHIzJyk7XG4gICAgICByZXR1cm5lZFNpZ25hdHVyZXMucHVzaCgnc2lnMycpO1xuXG4gICAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmVycygpLCBzaWduZXJzKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRTaWduYXR1cmVzKCksIHNpZ25hdHVyZXMpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZ2V0U2lnbmFibGVQYXlsb2FkJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRoZSBzaWduYWJsZVBheWxvYWQgaWYgc2V0JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgY3VzdG9tU2lnbmFibGVQYXlsb2FkID0gJzB4YWJjZGVmMTIzNDU2JztcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgVGVzdE1lc3NhZ2Uoe1xuICAgICAgICBjb2luQ29uZmlnLFxuICAgICAgICBwYXlsb2FkOiAnb3JpZ2luYWwgcGF5bG9hZCcsXG4gICAgICAgIHNpZ25hYmxlUGF5bG9hZDogY3VzdG9tU2lnbmFibGVQYXlsb2FkLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG1lc3NhZ2UuZ2V0U2lnbmFibGVQYXlsb2FkKCk7XG4gICAgICBzaG91bGQuZXF1YWwocmVzdWx0LCBjdXN0b21TaWduYWJsZVBheWxvYWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIHBheWxvYWQgYXMgYnVmZmVyIGlmIHNpZ25hYmxlUGF5bG9hZCBpcyBub3Qgc2V0JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcGF5bG9hZCA9ICd0ZXN0IHBheWxvYWQnO1xuICAgICAgY29uc3QgbWVzc2FnZSA9IG5ldyBUZXN0TWVzc2FnZSh7XG4gICAgICAgIGNvaW5Db25maWcsXG4gICAgICAgIHBheWxvYWQsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbWVzc2FnZS5nZXRTaWduYWJsZVBheWxvYWQoKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwocmVzdWx0LCBCdWZmZXIuZnJvbShwYXlsb2FkKSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCd0b0Jyb2FkY2FzdEZvcm1hdCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGlmIG5vIHNpZ25hdHVyZXMgYXJlIGF2YWlsYWJsZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgVGVzdE1lc3NhZ2Uoe1xuICAgICAgICBjb2luQ29uZmlnLFxuICAgICAgICBwYXlsb2FkOiAndGVzdCcsXG4gICAgICAgIHNpZ25lcnM6IFsnYWRkcjEnXSxcbiAgICAgIH0pO1xuXG4gICAgICBhd2FpdCBtZXNzYWdlXG4gICAgICAgIC50b0Jyb2FkY2FzdEZvcm1hdCgpXG4gICAgICAgIC5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdObyBzaWduYXR1cmVzIGF2YWlsYWJsZSBmb3IgYnJvYWRjYXN0LiBDYWxsIHNldFNpZ25hdHVyZXMgb3IgYWRkU2lnbmF0dXJlIGZpcnN0LicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBpZiBubyBzaWduZXJzIGFyZSBhdmFpbGFibGUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gbmV3IFRlc3RNZXNzYWdlKHtcbiAgICAgICAgY29pbkNvbmZpZyxcbiAgICAgICAgcGF5bG9hZDogJ3Rlc3QnLFxuICAgICAgICBzaWduYXR1cmVzOiBbJ3NpZzEnXSxcbiAgICAgIH0pO1xuXG4gICAgICBhd2FpdCBtZXNzYWdlXG4gICAgICAgIC50b0Jyb2FkY2FzdEZvcm1hdCgpXG4gICAgICAgIC5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdObyBzaWduZXJzIGF2YWlsYWJsZSBmb3IgYnJvYWRjYXN0LiBDYWxsIHNldFNpZ25lcnMgb3IgYWRkU2lnbmVyIGZpcnN0LicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjcmVhdGUgYSBwcm9wZXIgYnJvYWRjYXN0YWJsZSBmb3JtYXQgd2l0aCBhbGwgZmllbGRzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgeyBwYXlsb2FkLCB0eXBlLCBtZXRhZGF0YSwgc2lnbmVycywgc2lnbmF0dXJlcyB9ID0gbWVzc2FnZVNhbXBsZXMuZWlwMTkxO1xuICAgICAgY29uc3QgY3VzdG9tU2lnbmFibGVQYXlsb2FkID0gQnVmZmVyLmZyb20oJ2N1c3RvbSBzaWduYWJsZSBwYXlsb2FkJyk7XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgVGVzdE1lc3NhZ2Uoe1xuICAgICAgICBjb2luQ29uZmlnLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgICB0eXBlLFxuICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgc2lnbmVycyxcbiAgICAgICAgc2lnbmF0dXJlcyxcbiAgICAgICAgc2lnbmFibGVQYXlsb2FkOiBjdXN0b21TaWduYWJsZVBheWxvYWQsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgYnJvYWRjYXN0Rm9ybWF0ID0gYXdhaXQgbWVzc2FnZS50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuXG4gICAgICBzaG91bGQuZGVlcEVxdWFsKGJyb2FkY2FzdEZvcm1hdCwge1xuICAgICAgICB0eXBlLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgICBzaWduYXR1cmVzLFxuICAgICAgICBzaWduZXJzLFxuICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgc2lnbmFibGVQYXlsb2FkOiBjdXN0b21TaWduYWJsZVBheWxvYWQsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcGVyZm9ybSBhIGRlZXAgY29weSBvZiBtZXRhZGF0YSB0byBwcmV2ZW50IG11dGF0aW9uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbmVzdGVkTWV0YWRhdGEgPSB7XG4gICAgICAgIHZlcnNpb246ICcxLjAnLFxuICAgICAgICBzZXR0aW5nczoge1xuICAgICAgICAgIGNoYWluSWQ6IDEsXG4gICAgICAgICAgZ2FzTGltaXQ6IDIxMDAwLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgY29uc3QgbWVzc2FnZSA9IG5ldyBUZXN0TWVzc2FnZSh7XG4gICAgICAgIGNvaW5Db25maWcsXG4gICAgICAgIHBheWxvYWQ6ICd0ZXN0JyxcbiAgICAgICAgbWV0YWRhdGE6IG5lc3RlZE1ldGFkYXRhLFxuICAgICAgICBzaWduZXJzOiBbJ2FkZHIxJ10sXG4gICAgICAgIHNpZ25hdHVyZXM6IFsnc2lnMSddLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGJyb2FkY2FzdEZvcm1hdCA9IGF3YWl0IG1lc3NhZ2UudG9Ccm9hZGNhc3RGb3JtYXQoKTtcblxuICAgICAgLy8gVGhlIG1ldGFkYXRhIGluIHRoZSBicm9hZGNhc3QgZm9ybWF0IHNob3VsZCBiZSBhIGRlZXAgY29weVxuICAgICAgc2hvdWxkLmRlZXBFcXVhbChicm9hZGNhc3RGb3JtYXQubWV0YWRhdGEsIG5lc3RlZE1ldGFkYXRhKTtcblxuICAgICAgLy8gQnV0IGl0IHNob3VsZCBub3QgYmUgdGhlIHNhbWUgb2JqZWN0IHJlZmVyZW5jZVxuICAgICAgc2hvdWxkLm5vdEVxdWFsKGJyb2FkY2FzdEZvcm1hdC5tZXRhZGF0YSwgbmVzdGVkTWV0YWRhdGEpO1xuXG4gICAgICAvLyBNb2RpZnlpbmcgdGhlIG9yaWdpbmFsIHNob3VsZCBub3QgYWZmZWN0IHRoZSBicm9hZGNhc3RlZCB2ZXJzaW9uXG4gICAgICBuZXN0ZWRNZXRhZGF0YS5zZXR0aW5ncy5nYXNMaW1pdCA9IDUwMDAwO1xuICAgICAgc2hvdWxkLm5vdEVxdWFsKChicm9hZGNhc3RGb3JtYXQubWV0YWRhdGEgYXMgYW55KS5zZXR0aW5ncy5nYXNMaW1pdCwgNTAwMDApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndG9Ccm9hZGNhc3RTdHJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBzZXJpYWxpemUgdGhlIGJyb2FkY2FzdGFibGUgZm9ybWF0IHRvIEpTT04gc3RyaW5nJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgeyBwYXlsb2FkLCB0eXBlLCBtZXRhZGF0YSwgc2lnbmVycywgc2lnbmF0dXJlcyB9ID0gbWVzc2FnZVNhbXBsZXMuZWlwMTkxO1xuXG4gICAgICBjb25zdCBtZXNzYWdlID0gbmV3IFRlc3RNZXNzYWdlKHtcbiAgICAgICAgY29pbkNvbmZpZyxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgdHlwZSxcbiAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgIHNpZ25lcnMsXG4gICAgICAgIHNpZ25hdHVyZXMsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgYnJvYWRjYXN0U3RyaW5nID0gYXdhaXQgbWVzc2FnZS50b0Jyb2FkY2FzdFN0cmluZygpO1xuICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShicm9hZGNhc3RTdHJpbmcpO1xuXG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHBhcnNlZCwge1xuICAgICAgICB0eXBlLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgICBzaWduYXR1cmVzLFxuICAgICAgICBzaWduZXJzLFxuICAgICAgICBtZXRhZGF0YSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseMessageBuilder.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/account-lib/baseCoin/messages/baseMessageBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
7
|
+
const sinon_1 = __importDefault(require("sinon"));
|
|
8
|
+
const should_1 = __importDefault(require("should"));
|
|
9
|
+
const src_1 = require("../../../../../src");
|
|
10
|
+
const fixtures_1 = require("./fixtures");
|
|
11
|
+
describe('Base Message Builder', () => {
|
|
12
|
+
let builder;
|
|
13
|
+
let mockCoinConfig;
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
mockCoinConfig = sinon_1.default.createStubInstance(statics_1.BaseCoin);
|
|
16
|
+
builder = new fixtures_1.TestMessageBuilder(mockCoinConfig, src_1.MessageStandardType.EIP191);
|
|
17
|
+
});
|
|
18
|
+
it('should initialize with default values', () => {
|
|
19
|
+
should_1.default.equal(builder.getPayload(), '');
|
|
20
|
+
should_1.default.equal(builder.getType(), src_1.MessageStandardType.EIP191);
|
|
21
|
+
should_1.default.deepEqual(builder.getSignatures(), []);
|
|
22
|
+
should_1.default.deepEqual(builder.getSigners(), []);
|
|
23
|
+
should_1.default.deepEqual(builder.getMetadata(), {});
|
|
24
|
+
should_1.default.equal(builder.getDigest(), undefined);
|
|
25
|
+
});
|
|
26
|
+
it('should set and get payload', () => {
|
|
27
|
+
const payload = 'test payload';
|
|
28
|
+
builder.setPayload(payload);
|
|
29
|
+
should_1.default.equal(builder.getPayload(), payload);
|
|
30
|
+
});
|
|
31
|
+
it('should set and get metadata', () => {
|
|
32
|
+
const metadata = { key: 'value', num: 123 };
|
|
33
|
+
builder.setMetadata(metadata);
|
|
34
|
+
should_1.default.deepEqual(builder.getMetadata(), metadata);
|
|
35
|
+
});
|
|
36
|
+
it('should set and get type', () => {
|
|
37
|
+
const type = src_1.MessageStandardType.UNKNOWN;
|
|
38
|
+
builder.setType(type);
|
|
39
|
+
should_1.default.equal(builder.getType(), type);
|
|
40
|
+
});
|
|
41
|
+
it('should set and get signatures', () => {
|
|
42
|
+
const signatures = ['sig1', 'sig2', 'sig3'];
|
|
43
|
+
builder.setSignatures(signatures);
|
|
44
|
+
should_1.default.deepEqual(builder.getSignatures(), signatures);
|
|
45
|
+
});
|
|
46
|
+
it('should set and get signers', () => {
|
|
47
|
+
const signers = ['address1', 'address2', 'address3'];
|
|
48
|
+
builder.setSigners(signers);
|
|
49
|
+
should_1.default.deepEqual(builder.getSigners(), signers);
|
|
50
|
+
});
|
|
51
|
+
it('should set and get digest', () => {
|
|
52
|
+
const digest = '0x1234abcd';
|
|
53
|
+
builder.setDigest(digest);
|
|
54
|
+
should_1.default.equal(builder.getDigest(), digest);
|
|
55
|
+
});
|
|
56
|
+
it('should build a message with the correct properties', async () => {
|
|
57
|
+
const payload = 'test message';
|
|
58
|
+
const metadata = { foo: 'bar' };
|
|
59
|
+
const signatures = ['sig1', 'sig2'];
|
|
60
|
+
const signers = ['addr1', 'addr2'];
|
|
61
|
+
builder
|
|
62
|
+
.setType(src_1.MessageStandardType.EIP191)
|
|
63
|
+
.setPayload(payload)
|
|
64
|
+
.setMetadata(metadata)
|
|
65
|
+
.setSignatures(signatures)
|
|
66
|
+
.setSigners(signers);
|
|
67
|
+
const message = await builder.build();
|
|
68
|
+
should_1.default.equal(message.getType(), src_1.MessageStandardType.EIP191);
|
|
69
|
+
should_1.default.equal(message.getPayload(), payload);
|
|
70
|
+
should_1.default.deepEqual(message.getMetadata(), metadata);
|
|
71
|
+
should_1.default.deepEqual(message.getSignatures(), signatures);
|
|
72
|
+
should_1.default.deepEqual(message.getSigners(), signers);
|
|
73
|
+
const signablePayload = await message.getSignablePayload();
|
|
74
|
+
should_1.default.deepEqual(signablePayload, Buffer.from(payload));
|
|
75
|
+
});
|
|
76
|
+
it('should correctly handle toBroadcastFormat', async () => {
|
|
77
|
+
const payload = 'hello world';
|
|
78
|
+
const metadata = { version: '1.0' };
|
|
79
|
+
const signatures = ['sig1'];
|
|
80
|
+
const signers = ['addr1'];
|
|
81
|
+
builder
|
|
82
|
+
.setType(src_1.MessageStandardType.EIP191)
|
|
83
|
+
.setPayload(payload)
|
|
84
|
+
.setMetadata(metadata)
|
|
85
|
+
.setSignatures(signatures)
|
|
86
|
+
.setSigners(signers);
|
|
87
|
+
const message = await builder.build();
|
|
88
|
+
const broadcastFormat = await message.toBroadcastFormat();
|
|
89
|
+
should_1.default.deepEqual(broadcastFormat, {
|
|
90
|
+
type: src_1.MessageStandardType.EIP191,
|
|
91
|
+
payload: payload,
|
|
92
|
+
signatures: signatures,
|
|
93
|
+
signers: signers,
|
|
94
|
+
metadata: metadata,
|
|
95
|
+
signablePayload: undefined,
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
it('should correctly handle fromBroadcastFormat', async () => {
|
|
99
|
+
const broadcastMessage = {
|
|
100
|
+
type: src_1.MessageStandardType.EIP191,
|
|
101
|
+
payload: 'broadcast test',
|
|
102
|
+
signatures: ['sig1', 'sig2'],
|
|
103
|
+
signers: ['addr1', 'addr2'],
|
|
104
|
+
metadata: { chainId: 1 },
|
|
105
|
+
};
|
|
106
|
+
const message = await builder.fromBroadcastFormat(broadcastMessage);
|
|
107
|
+
should_1.default.equal(message.getType(), broadcastMessage.type);
|
|
108
|
+
should_1.default.equal(message.getPayload(), broadcastMessage.payload);
|
|
109
|
+
should_1.default.deepEqual(message.getSignatures(), broadcastMessage.signatures);
|
|
110
|
+
should_1.default.deepEqual(message.getSigners(), broadcastMessage.signers);
|
|
111
|
+
should_1.default.deepEqual(message.getMetadata(), broadcastMessage.metadata);
|
|
112
|
+
});
|
|
113
|
+
it('should correctly handle toBroadcastString', async () => {
|
|
114
|
+
const payload = 'serialize me';
|
|
115
|
+
const signatures = ['sig1'];
|
|
116
|
+
const signers = ['addr1'];
|
|
117
|
+
builder.setType(src_1.MessageStandardType.EIP191).setPayload(payload).setSignatures(signatures).setSigners(signers);
|
|
118
|
+
const message = await builder.build();
|
|
119
|
+
const broadcastString = await message.toBroadcastString();
|
|
120
|
+
const expectedJson = JSON.stringify({
|
|
121
|
+
type: src_1.MessageStandardType.EIP191,
|
|
122
|
+
payload: payload,
|
|
123
|
+
signatures: signatures,
|
|
124
|
+
signers: signers,
|
|
125
|
+
metadata: {},
|
|
126
|
+
});
|
|
127
|
+
should_1.default.equal(broadcastString, expectedJson);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2VCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2FjY291bnQtbGliL2Jhc2VDb2luL21lc3NhZ2VzL2Jhc2VNZXNzYWdlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlEQUErQztBQUMvQyxrREFBMEI7QUFDMUIsb0RBQTRCO0FBQzVCLDRDQUF5RDtBQUN6RCx5Q0FBZ0Q7QUFFaEQsUUFBUSxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRTtJQUNwQyxJQUFJLE9BQTJCLENBQUM7SUFDaEMsSUFBSSxjQUFvRCxDQUFDO0lBRXpELFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxjQUFjLEdBQUcsZUFBSyxDQUFDLGtCQUFrQixDQUFDLGtCQUFRLENBQUMsQ0FBQztRQUNwRCxPQUFPLEdBQUcsSUFBSSw2QkFBa0IsQ0FBQyxjQUFxQyxFQUFFLHlCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RHLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsRUFBRTtRQUMvQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLHlCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVELGdCQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxnQkFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0MsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLGdCQUFNLENBQUMs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Q0FBQyxDQUFDO1FBQ2pFLGdCQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN6RCxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUM7UUFDL0IsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QixNQUFNLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFCLE9BQU8sQ0FBQyxPQUFPLENBQUMseUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUcsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEMsTUFBTSxlQUFlLEdBQUcsTUFBTSxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUUxRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2xDLElBQUksRUFBRSx5QkFBbUIsQ0FBQyxNQUFNO1lBQ2hDLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FBQyxDQUFDO1FBRUgsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHNpbm9uIGZyb20gJ3Npbm9uJztcbmltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IE1lc3NhZ2VTdGFuZGFyZFR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zcmMnO1xuaW1wb3J0IHsgVGVzdE1lc3NhZ2VCdWlsZGVyIH0gZnJvbSAnLi9maXh0dXJlcyc7XG5cbmRlc2NyaWJlKCdCYXNlIE1lc3NhZ2UgQnVpbGRlcicsICgpID0+IHtcbiAgbGV0IGJ1aWxkZXI6IFRlc3RNZXNzYWdlQnVpbGRlcjtcbiAgbGV0IG1vY2tDb2luQ29uZmlnOiBzaW5vbi5TaW5vblN0dWJiZWRJbnN0YW5jZTxCYXNlQ29pbj47XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgbW9ja0NvaW5Db25maWcgPSBzaW5vbi5jcmVhdGVTdHViSW5zdGFuY2UoQmFzZUNvaW4pO1xuICAgIGJ1aWxkZXIgPSBuZXcgVGVzdE1lc3NhZ2VCdWlsZGVyKG1vY2tDb2luQ29uZmlnIGFzIHVua25vd24gYXMgQmFzZUNvaW4sIE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBpbml0aWFsaXplIHdpdGggZGVmYXVsdCB2YWx1ZXMnLCAoKSA9PiB7XG4gICAgc2hvdWxkLmVxdWFsKGJ1aWxkZXIuZ2V0UGF5bG9hZCgpLCAnJyk7XG4gICAgc2hvdWxkLmVxdWFsKGJ1aWxkZXIuZ2V0VHlwZSgpLCBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChidWlsZGVyLmdldFNpZ25hdHVyZXMoKSwgW10pO1xuICAgIHNob3VsZC5kZWVwRXF1YWwoYnVpbGRlci5nZXRTaWduZXJzKCksIFtdKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKGJ1aWxkZXIuZ2V0TWV0YWRhdGEoKSwge30pO1xuICAgIHNob3VsZC5lcXVhbChidWlsZGVyLmdldERpZ2VzdCgpLCB1bmRlZmluZWQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHNldCBhbmQgZ2V0IHBheWxvYWQnLCAoKSA9PiB7XG4gICAgY29uc3QgcGF5bG9hZCA9ICd0ZXN0IHBheWxvYWQnO1xuICAgIGJ1aWxkZXIuc2V0UGF5bG9hZChwYXlsb2FkKTtcbiAgICBzaG91bGQuZXF1YWwoYnVpbGRlci5nZXRQYXlsb2FkKCksIHBheWxvYWQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHNldCBhbmQgZ2V0IG1ldGFkYXRhJywgKCkgPT4ge1xuICAgIGNvbnN0IG1ldGFkYXRhID0geyBrZXk6ICd2YWx1ZScsIG51bTogMTIzIH07XG4gICAgYnVpbGRlci5zZXRNZXRhZGF0YShtZXRhZGF0YSk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChidWlsZGVyLmdldE1ldGFkYXRhKCksIG1ldGFkYXRhKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBzZXQgYW5kIGdldCB0eXBlJywgKCkgPT4ge1xuICAgIGNvbnN0IHR5cGUgPSBNZXNzYWdlU3RhbmRhcmRUeXBlLlVOS05PV047XG4gICAgYnVpbGRlci5zZXRUeXBlKHR5cGUpO1xuICAgIHNob3VsZC5lcXVhbChidWlsZGVyLmdldFR5cGUoKSwgdHlwZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgc2V0IGFuZCBnZXQgc2lnbmF0dXJlcycsICgpID0+IHtcbiAgICBjb25zdCBzaWduYXR1cmVzID0gWydzaWcxJywgJ3NpZzInLCAnc2lnMyddO1xuICAgIGJ1aWxkZXIuc2V0U2lnbmF0dXJlcyhzaWduYXR1cmVzKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKGJ1aWxkZXIuZ2V0U2lnbmF0dXJlcygpLCBzaWduYXR1cmVzKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBzZXQgYW5kIGdldCBzaWduZXJzJywgKCkgPT4ge1xuICAgIGNvbnN0IHNpZ25lcnMgPSBbJ2FkZHJlc3MxJywgJ2FkZHJlc3MyJywgJ2FkZHJlc3MzJ107XG4gICAgYnVpbGRlci5zZXRTaWduZXJzKHNpZ25lcnMpO1xuICAgIHNob3VsZC5kZWVwRXF1YWwoYnVpbGRlci5nZXRTaWduZXJzKCksIHNpZ25lcnMpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHNldCBhbmQgZ2V0IGRpZ2VzdCcsICgpID0+IHtcbiAgICBjb25zdCBkaWdlc3QgPSAnMHgxMjM0YWJjZCc7XG4gICAgYnVpbGRlci5zZXREaWdlc3QoZGlnZXN0KTtcbiAgICBzaG91bGQuZXF1YWwoYnVpbGRlci5nZXREaWdlc3QoKSwgZGlnZXN0KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBidWlsZCBhIG1lc3NhZ2Ugd2l0aCB0aGUgY29ycmVjdCBwcm9wZXJ0aWVzJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSAndGVzdCBtZXNzYWdlJztcbiAgICBjb25zdCBtZXRhZGF0YSA9IHsgZm9vOiAnYmFyJyB9O1xuICAgIGNvbnN0IHNpZ25hdHVyZXMgPSBbJ3NpZzEnLCAnc2lnMiddO1xuICAgIGNvbnN0IHNpZ25lcnMgPSBbJ2FkZHIxJywgJ2FkZHIyJ107XG5cbiAgICBidWlsZGVyXG4gICAgICAuc2V0VHlwZShNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSlcbiAgICAgIC5zZXRQYXlsb2FkKHBheWxvYWQpXG4gICAgICAuc2V0TWV0YWRhdGEobWV0YWRhdGEpXG4gICAgICAuc2V0U2lnbmF0dXJlcyhzaWduYXR1cmVzKVxuICAgICAgLnNldFNpZ25lcnMoc2lnbmVycyk7XG5cbiAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuXG4gICAgc2hvdWxkLmVxdWFsKG1lc3NhZ2UuZ2V0VHlwZSgpLCBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgc2hvdWxkLmVxdWFsKG1lc3NhZ2UuZ2V0UGF5bG9hZCgpLCBwYXlsb2FkKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0TWV0YWRhdGEoKSwgbWV0YWRhdGEpO1xuICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRTaWduYXR1cmVzKCksIHNpZ25hdHVyZXMpO1xuICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRTaWduZXJzKCksIHNpZ25lcnMpO1xuXG4gICAgY29uc3Qgc2lnbmFibGVQYXlsb2FkID0gYXdhaXQgbWVzc2FnZS5nZXRTaWduYWJsZVBheWxvYWQoKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKHNpZ25hYmxlUGF5bG9hZCwgQnVmZmVyLmZyb20ocGF5bG9hZCkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGNvcnJlY3RseSBoYW5kbGUgdG9Ccm9hZGNhc3RGb3JtYXQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcGF5bG9hZCA9ICdoZWxsbyB3b3JsZCc7XG4gICAgY29uc3QgbWV0YWRhdGEgPSB7IHZlcnNpb246ICcxLjAnIH07XG4gICAgY29uc3Qgc2lnbmF0dXJlcyA9IFsnc2lnMSddO1xuICAgIGNvbnN0IHNpZ25lcnMgPSBbJ2FkZHIxJ107XG5cbiAgICBidWlsZGVyXG4gICAgICAuc2V0VHlwZShNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSlcbiAgICAgIC5zZXRQYXlsb2FkKHBheWxvYWQpXG4gICAgICAuc2V0TWV0YWRhdGEobWV0YWRhdGEpXG4gICAgICAuc2V0U2lnbmF0dXJlcyhzaWduYXR1cmVzKVxuICAgICAgLnNldFNpZ25lcnMoc2lnbmVycyk7XG5cbiAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuICAgIGNvbnN0IGJyb2FkY2FzdEZvcm1hdCA9IGF3YWl0IG1lc3NhZ2UudG9Ccm9hZGNhc3RGb3JtYXQoKTtcblxuICAgIHNob3VsZC5kZWVwRXF1YWwoYnJvYWRjYXN0Rm9ybWF0LCB7XG4gICAgICB0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSxcbiAgICAgIHBheWxvYWQ6IHBheWxvYWQsXG4gICAgICBzaWduYXR1cmVzOiBzaWduYXR1cmVzLFxuICAgICAgc2lnbmVyczogc2lnbmVycyxcbiAgICAgIG1ldGFkYXRhOiBtZXRhZGF0YSxcbiAgICAgIHNpZ25hYmxlUGF5bG9hZDogdW5kZWZpbmVkLFxuICAgIH0pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGNvcnJlY3RseSBoYW5kbGUgZnJvbUJyb2FkY2FzdEZvcm1hdCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBicm9hZGNhc3RNZXNzYWdlID0ge1xuICAgICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEsXG4gICAgICBwYXlsb2FkOiAnYnJvYWRjYXN0IHRlc3QnLFxuICAgICAgc2lnbmF0dXJlczogWydzaWcxJywgJ3NpZzInXSxcbiAgICAgIHNpZ25lcnM6IFsnYWRkcjEnLCAnYWRkcjInXSxcbiAgICAgIG1ldGFkYXRhOiB7IGNoYWluSWQ6IDEgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGJ1aWxkZXIuZnJvbUJyb2FkY2FzdEZvcm1hdChicm9hZGNhc3RNZXNzYWdlKTtcblxuICAgIHNob3VsZC5lcXVhbChtZXNzYWdlLmdldFR5cGUoKSwgYnJvYWRjYXN0TWVzc2FnZS50eXBlKTtcbiAgICBzaG91bGQuZXF1YWwobWVzc2FnZS5nZXRQYXlsb2FkKCksIGJyb2FkY2FzdE1lc3NhZ2UucGF5bG9hZCk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldFNpZ25hdHVyZXMoKSwgYnJvYWRjYXN0TWVzc2FnZS5zaWduYXR1cmVzKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmVycygpLCBicm9hZGNhc3RNZXNzYWdlLnNpZ25lcnMpO1xuICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRNZXRhZGF0YSgpLCBicm9hZGNhc3RNZXNzYWdlLm1ldGFkYXRhKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjb3JyZWN0bHkgaGFuZGxlIHRvQnJvYWRjYXN0U3RyaW5nJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSAnc2VyaWFsaXplIG1lJztcbiAgICBjb25zdCBzaWduYXR1cmVzID0gWydzaWcxJ107XG4gICAgY29uc3Qgc2lnbmVycyA9IFsnYWRkcjEnXTtcblxuICAgIGJ1aWxkZXIuc2V0VHlwZShNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSkuc2V0UGF5bG9hZChwYXlsb2FkKS5zZXRTaWduYXR1cmVzKHNpZ25hdHVyZXMpLnNldFNpZ25lcnMoc2lnbmVycyk7XG5cbiAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuICAgIGNvbnN0IGJyb2FkY2FzdFN0cmluZyA9IGF3YWl0IG1lc3NhZ2UudG9Ccm9hZGNhc3RTdHJpbmcoKTtcblxuICAgIGNvbnN0IGV4cGVjdGVkSnNvbiA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxLFxuICAgICAgcGF5bG9hZDogcGF5bG9hZCxcbiAgICAgIHNpZ25hdHVyZXM6IHNpZ25hdHVyZXMsXG4gICAgICBzaWduZXJzOiBzaWduZXJzLFxuICAgICAgbWV0YWRhdGE6IHt9LFxuICAgIH0pO1xuXG4gICAgc2hvdWxkLmVxdWFsKGJyb2FkY2FzdFN0cmluZywgZXhwZWN0ZWRKc29uKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseMessageBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
7
|
+
const sinon_1 = __importDefault(require("sinon"));
|
|
8
|
+
const should_1 = __importDefault(require("should"));
|
|
9
|
+
const src_1 = require("../../../../../src");
|
|
10
|
+
const fixtures_1 = require("./fixtures");
|
|
11
|
+
describe('Base Message Builder Factory', () => {
|
|
12
|
+
let factory;
|
|
13
|
+
let mockCoinConfig;
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
mockCoinConfig = sinon_1.default.createStubInstance(statics_1.BaseCoin);
|
|
16
|
+
factory = new fixtures_1.TestMessageBuilderFactory(mockCoinConfig);
|
|
17
|
+
});
|
|
18
|
+
describe('getMessageBuilder', () => {
|
|
19
|
+
it('should create a message builder for EIP191 type', () => {
|
|
20
|
+
const builder = factory.getMessageBuilder(src_1.MessageStandardType.EIP191);
|
|
21
|
+
should_1.default.exist(builder);
|
|
22
|
+
should_1.default.equal(builder.getType(), src_1.MessageStandardType.EIP191);
|
|
23
|
+
});
|
|
24
|
+
it('should create a message builder for UNKNOWN type', () => {
|
|
25
|
+
const builder = factory.getMessageBuilder(src_1.MessageStandardType.UNKNOWN);
|
|
26
|
+
should_1.default.exist(builder);
|
|
27
|
+
should_1.default.equal(builder.getType(), src_1.MessageStandardType.UNKNOWN);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
describe('fromBroadcastFormat', () => {
|
|
31
|
+
it('should create a builder from a broadcast message', () => {
|
|
32
|
+
const broadcastMessage = {
|
|
33
|
+
type: src_1.MessageStandardType.EIP191,
|
|
34
|
+
payload: 'hello world',
|
|
35
|
+
signatures: ['sig1'],
|
|
36
|
+
signers: ['addr1'],
|
|
37
|
+
metadata: { version: '1.0' },
|
|
38
|
+
};
|
|
39
|
+
const builder = factory.fromBroadcastFormat(broadcastMessage);
|
|
40
|
+
should_1.default.exist(builder);
|
|
41
|
+
// Since the TestMessageBuilder always returns the same type that was passed to constructor
|
|
42
|
+
should_1.default.equal(builder.getType(), src_1.MessageStandardType.EIP191);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
describe('fromBroadcastString', () => {
|
|
46
|
+
it('should parse a broadcast message string and create the appropriate builder', () => {
|
|
47
|
+
const broadcastMessage = {
|
|
48
|
+
type: src_1.MessageStandardType.EIP191,
|
|
49
|
+
payload: 'test message',
|
|
50
|
+
signatures: ['sig1', 'sig2'],
|
|
51
|
+
signers: ['addr1', 'addr2'],
|
|
52
|
+
metadata: { chainId: 1 },
|
|
53
|
+
};
|
|
54
|
+
const broadcastString = JSON.stringify(broadcastMessage);
|
|
55
|
+
const builder = factory.fromBroadcastString(broadcastString);
|
|
56
|
+
should_1.default.exist(builder);
|
|
57
|
+
// Since the TestMessageBuilder always returns the same type that was passed to constructor
|
|
58
|
+
should_1.default.equal(builder.getType(), src_1.MessageStandardType.EIP191);
|
|
59
|
+
});
|
|
60
|
+
it('should handle broadcast messages with different types', () => {
|
|
61
|
+
const broadcastMessage = {
|
|
62
|
+
type: src_1.MessageStandardType.UNKNOWN,
|
|
63
|
+
payload: 'unknown message',
|
|
64
|
+
signatures: ['sig1'],
|
|
65
|
+
signers: ['addr1'],
|
|
66
|
+
};
|
|
67
|
+
const broadcastString = JSON.stringify(broadcastMessage);
|
|
68
|
+
const builder = factory.fromBroadcastString(broadcastString);
|
|
69
|
+
should_1.default.exist(builder);
|
|
70
|
+
should_1.default.equal(builder.getType(), src_1.MessageStandardType.UNKNOWN);
|
|
71
|
+
});
|
|
72
|
+
it('should handle broadcast messages without optional fields', () => {
|
|
73
|
+
const broadcastMessage = {
|
|
74
|
+
type: src_1.MessageStandardType.EIP191,
|
|
75
|
+
payload: 'minimal message',
|
|
76
|
+
signatures: [],
|
|
77
|
+
signers: [],
|
|
78
|
+
};
|
|
79
|
+
const broadcastString = JSON.stringify(broadcastMessage);
|
|
80
|
+
const builder = factory.fromBroadcastString(broadcastString);
|
|
81
|
+
should_1.default.exist(builder);
|
|
82
|
+
should_1.default.equal(builder.getType(), src_1.MessageStandardType.EIP191);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2VCdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9hY2NvdW50LWxpYi9iYXNlQ29pbi9tZXNzYWdlcy9iYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaURBQStDO0FBQy9DLGtEQUEwQjtBQUMxQixvREFBNEI7QUFDNUIsNENBQStFO0FBQy9FLHlDQUF1RDtBQUV2RCxRQUFRLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO0lBQzVDLElBQUksT0FBa0MsQ0FBQztJQUN2QyxJQUFJLGNBQW9ELENBQUM7SUFFekQsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLGNBQWMsR0FBRyxlQUFLLENBQUMsa0JBQWtCLENBQUMsa0JBQVEsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sR0FBRyxJQUFJLG9DQUF5QixDQUFDLGNBQXFDLENBQUMsQ0FBQztJQUNqRixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7UUFDakMsRUFBRSxDQUFDLGlEQUFpRCxFQUFFLEdBQUcsRUFBRTtZQUN6RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMseUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLHlCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGtEQUFrRCxFQUFFLEdBQUcsRUFBRTtZQUMxRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMseUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLHlCQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMscUJBQXFCLEVBQUUsR0FBRyxFQUFFO1FBQ25DLEVBQUUsQ0FBQyxrREFBa0QsRUFBRSxHQUFHLEVBQUU7WUFDMUQsTUFBTSxnQkFBZ0IsR0FBeUI7Z0JBQzdDLElBQUksRUFBRSx5QkFBbUIsQ0FBQyxNQUFNO2dCQUNoQyxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDO2dCQUNwQixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7Z0JBQ2xCLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7YUFDN0IsQ0FBQztZQUVGLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzlELGdCQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RCLDJGQUEyRjtZQUMzRixnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUseUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7UUFDbkMsRUFBRSxDQUFDLDRFQUE0RSxFQUFFLEdBQUcsRUFBRTtZQUNwRixNQUFNLGdCQUFnQixHQUF5QjtnQkFDN0MsSUFBSSxFQUFFLHlCQUFtQixDQUFDLE1BQU07Z0JBQ2hDLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixVQUFVLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO2dCQUM1QixPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO2dCQUMzQixRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO2FBQ3pCLENBQUM7WUFFRixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDekQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBRTdELGdCQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RCLDJGQUEyRjtZQUMzRixnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUseUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsdURBQXVELEVBQUUsR0FBRyxFQUFFO1lBQy9ELE1BQU0sZ0JBQWdCLEdBQXlCO2dCQUM3QyxJQUFJLEVBQUUseUJBQW1CLENBQUMsT0FBTztnQkFDakMsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDO2dCQUNwQixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7YUFDbkIsQ0FBQztZQUVGLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUN6RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLENBQUM7WUFFN0QsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLHlCQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDBEQUEwRCxFQUFFLEdBQUcsRUFBRTtZQUNsRSxNQUFNLGdCQUFnQixHQUFHO2dCQUN2QixJQUFJLEVBQUUseUJBQW1CLENBQUMsTUFBTTtnQkFDaEMsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsT0FBTyxFQUFFLEVBQUU7YUFDWixDQUFDO1lBRUYsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3pELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUU3RCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUseUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBCcm9hZGNhc3RhYmxlTWVzc2FnZSwgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBUZXN0TWVzc2FnZUJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi9maXh0dXJlcyc7XG5cbmRlc2NyaWJlKCdCYXNlIE1lc3NhZ2UgQnVpbGRlciBGYWN0b3J5JywgKCkgPT4ge1xuICBsZXQgZmFjdG9yeTogVGVzdE1lc3NhZ2VCdWlsZGVyRmFjdG9yeTtcbiAgbGV0IG1vY2tDb2luQ29uZmlnOiBzaW5vbi5TaW5vblN0dWJiZWRJbnN0YW5jZTxCYXNlQ29pbj47XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgbW9ja0NvaW5Db25maWcgPSBzaW5vbi5jcmVhdGVTdHViSW5zdGFuY2UoQmFzZUNvaW4pO1xuICAgIGZhY3RvcnkgPSBuZXcgVGVzdE1lc3NhZ2VCdWlsZGVyRmFjdG9yeShtb2NrQ29pbkNvbmZpZyBhcyB1bmtub3duIGFzIEJhc2VDb2luKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldE1lc3NhZ2VCdWlsZGVyJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgY3JlYXRlIGEgbWVzc2FnZSBidWlsZGVyIGZvciBFSVAxOTEgdHlwZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcbiAgICAgIHNob3VsZC5leGlzdChidWlsZGVyKTtcbiAgICAgIHNob3VsZC5lcXVhbChidWlsZGVyLmdldFR5cGUoKSwgTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjcmVhdGUgYSBtZXNzYWdlIGJ1aWxkZXIgZm9yIFVOS05PV04gdHlwZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTik7XG4gICAgICBzaG91bGQuZXhpc3QoYnVpbGRlcik7XG4gICAgICBzaG91bGQuZXF1YWwoYnVpbGRlci5nZXRUeXBlKCksIE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdmcm9tQnJvYWRjYXN0Rm9ybWF0JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgY3JlYXRlIGEgYnVpbGRlciBmcm9tIGEgYnJvYWRjYXN0IG1lc3NhZ2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBicm9hZGNhc3RNZXNzYWdlOiBCcm9hZGNhc3RhYmxlTWVzc2FnZSA9IHtcbiAgICAgICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEsXG4gICAgICAgIHBheWxvYWQ6ICdoZWxsbyB3b3JsZCcsXG4gICAgICAgIHNpZ25hdHVyZXM6IFsnc2lnMSddLFxuICAgICAgICBzaWduZXJzOiBbJ2FkZHIxJ10sXG4gICAgICAgIG1ldGFkYXRhOiB7IHZlcnNpb246ICcxLjAnIH0sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5mcm9tQnJvYWRjYXN0Rm9ybWF0KGJyb2FkY2FzdE1lc3NhZ2UpO1xuICAgICAgc2hvdWxkLmV4aXN0KGJ1aWxkZXIpO1xuICAgICAgLy8gU2luY2UgdGhlIFRlc3RNZXNzYWdlQnVpbGRlciBhbHdheXMgcmV0dXJucyB0aGUgc2FtZSB0eXBlIHRoYXQgd2FzIHBhc3NlZCB0byBjb25zdHJ1Y3RvclxuICAgICAgc2hvdWxkLmVxdWFsKGJ1aWxkZXIuZ2V0VHlwZSgpLCBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdmcm9tQnJvYWRjYXN0U3RyaW5nJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcGFyc2UgYSBicm9hZGNhc3QgbWVzc2FnZSBzdHJpbmcgYW5kIGNyZWF0ZSB0aGUgYXBwcm9wcmlhdGUgYnVpbGRlcicsICgpID0+IHtcbiAgICAgIGNvbnN0IGJyb2FkY2FzdE1lc3NhZ2U6IEJyb2FkY2FzdGFibGVNZXNzYWdlID0ge1xuICAgICAgICB0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSxcbiAgICAgICAgcGF5bG9hZDogJ3Rlc3QgbWVzc2FnZScsXG4gICAgICAgIHNpZ25hdHVyZXM6IFsnc2lnMScsICdzaWcyJ10sXG4gICAgICAgIHNpZ25lcnM6IFsnYWRkcjEnLCAnYWRkcjInXSxcbiAgICAgICAgbWV0YWRhdGE6IHsgY2hhaW5JZDogMSB9LFxuICAgICAgfTtcblxuICAgICAgY29uc3QgYnJvYWRjYXN0U3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoYnJvYWRjYXN0TWVzc2FnZSk7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5mcm9tQnJvYWRjYXN0U3RyaW5nKGJyb2FkY2FzdFN0cmluZyk7XG5cbiAgICAgIHNob3VsZC5leGlzdChidWlsZGVyKTtcbiAgICAgIC8vIFNpbmNlIHRoZSBUZXN0TWVzc2FnZUJ1aWxkZXIgYWx3YXlzIHJldHVybnMgdGhlIHNhbWUgdHlwZSB0aGF0IHdhcyBwYXNzZWQgdG8gY29uc3RydWN0b3JcbiAgICAgIHNob3VsZC5lcXVhbChidWlsZGVyLmdldFR5cGUoKSwgTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgYnJvYWRjYXN0IG1lc3NhZ2VzIHdpdGggZGlmZmVyZW50IHR5cGVzJywgKCkgPT4ge1xuICAgICAgY29uc3QgYnJvYWRjYXN0TWVzc2FnZTogQnJvYWRjYXN0YWJsZU1lc3NhZ2UgPSB7XG4gICAgICAgIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTixcbiAgICAgICAgcGF5bG9hZDogJ3Vua25vd24gbWVzc2FnZScsXG4gICAgICAgIHNpZ25hdHVyZXM6IFsnc2lnMSddLFxuICAgICAgICBzaWduZXJzOiBbJ2FkZHIxJ10sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBicm9hZGNhc3RTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShicm9hZGNhc3RNZXNzYWdlKTtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmZyb21Ccm9hZGNhc3RTdHJpbmcoYnJvYWRjYXN0U3RyaW5nKTtcblxuICAgICAgc2hvdWxkLmV4aXN0KGJ1aWxkZXIpO1xuICAgICAgc2hvdWxkLmVxdWFsKGJ1aWxkZXIuZ2V0VHlwZSgpLCBNZXNzYWdlU3RhbmRhcmRUeXBlLlVOS05PV04pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgYnJvYWRjYXN0IG1lc3NhZ2VzIHdpdGhvdXQgb3B0aW9uYWwgZmllbGRzJywgKCkgPT4ge1xuICAgICAgY29uc3QgYnJvYWRjYXN0TWVzc2FnZSA9IHtcbiAgICAgICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEsXG4gICAgICAgIHBheWxvYWQ6ICdtaW5pbWFsIG1lc3NhZ2UnLFxuICAgICAgICBzaWduYXR1cmVzOiBbXSxcbiAgICAgICAgc2lnbmVyczogW10sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBicm9hZGNhc3RTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShicm9hZGNhc3RNZXNzYWdlKTtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmZyb21Ccm9hZGNhc3RTdHJpbmcoYnJvYWRjYXN0U3RyaW5nKTtcblxuICAgICAgc2hvdWxkLmV4aXN0KGJ1aWxkZXIpO1xuICAgICAgc2hvdWxkLmVxdWFsKGJ1aWxkZXIuZ2V0VHlwZSgpLCBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { BaseMessage, BaseMessageBuilder, BaseMessageBuilderFactory, IMessage, IMessageBuilder, MessageOptions, MessageStandardType } from '../../../../../src';
|
|
2
|
+
import { BaseCoin } from '@bitgo-beta/statics';
|
|
3
|
+
export declare class TestMessageBuilderFactory extends BaseMessageBuilderFactory {
|
|
4
|
+
constructor(coinConfig: Readonly<BaseCoin>);
|
|
5
|
+
getMessageBuilder(type: MessageStandardType): IMessageBuilder;
|
|
6
|
+
}
|
|
7
|
+
export declare class TestMessageBuilder extends BaseMessageBuilder {
|
|
8
|
+
constructor(coinConfig: Readonly<BaseCoin>, type?: MessageStandardType);
|
|
9
|
+
build(): Promise<IMessage>;
|
|
10
|
+
fromBroadcastFormat(broadcastMessage: any): Promise<IMessage>;
|
|
11
|
+
}
|
|
12
|
+
export declare class TestMessage extends BaseMessage {
|
|
13
|
+
constructor(options: MessageOptions);
|
|
14
|
+
getSignablePayload(): Promise<string | Buffer>;
|
|
15
|
+
}
|
|
16
|
+
export declare const messageSamples: {
|
|
17
|
+
eip191: {
|
|
18
|
+
payload: string;
|
|
19
|
+
type: MessageStandardType;
|
|
20
|
+
metadata: {
|
|
21
|
+
chainId: number;
|
|
22
|
+
};
|
|
23
|
+
signers: string[];
|
|
24
|
+
signatures: string[];
|
|
25
|
+
};
|
|
26
|
+
unknown: {
|
|
27
|
+
payload: string;
|
|
28
|
+
type: MessageStandardType;
|
|
29
|
+
metadata: {
|
|
30
|
+
version: string;
|
|
31
|
+
};
|
|
32
|
+
signers: string[];
|
|
33
|
+
signatures: string[];
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/account-lib/baseCoin/messages/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,qBAAa,yBAA0B,SAAQ,yBAAyB;gBAC1D,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAI1C,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;CAG9D;AAED,qBAAa,kBAAmB,SAAQ,kBAAkB;gBAC5C,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAE,mBAAiD;IAI7F,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC;IAa1B,mBAAmB,CAAC,gBAAgB,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;CAUpE;AAED,qBAAa,WAAY,SAAQ,WAAW;gBAC9B,OAAO,EAAE,cAAc;IAI7B,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;CAMrD;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;CAe1B,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.messageSamples = exports.TestMessage = exports.TestMessageBuilder = exports.TestMessageBuilderFactory = void 0;
|
|
4
|
+
const src_1 = require("../../../../../src");
|
|
5
|
+
class TestMessageBuilderFactory extends src_1.BaseMessageBuilderFactory {
|
|
6
|
+
constructor(coinConfig) {
|
|
7
|
+
super(coinConfig);
|
|
8
|
+
}
|
|
9
|
+
getMessageBuilder(type) {
|
|
10
|
+
return new TestMessageBuilder(this.coinConfig, type);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.TestMessageBuilderFactory = TestMessageBuilderFactory;
|
|
14
|
+
class TestMessageBuilder extends src_1.BaseMessageBuilder {
|
|
15
|
+
constructor(coinConfig, type = src_1.MessageStandardType.UNKNOWN) {
|
|
16
|
+
super(coinConfig, type);
|
|
17
|
+
}
|
|
18
|
+
async build() {
|
|
19
|
+
return new TestMessage({
|
|
20
|
+
coinConfig: this.coinConfig,
|
|
21
|
+
payload: this.payload,
|
|
22
|
+
type: this.type,
|
|
23
|
+
signatures: this.signatures,
|
|
24
|
+
signers: this.signers,
|
|
25
|
+
metadata: {
|
|
26
|
+
...this.metadata,
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async fromBroadcastFormat(broadcastMessage) {
|
|
31
|
+
this.setType(broadcastMessage.type);
|
|
32
|
+
this.setPayload(broadcastMessage.payload);
|
|
33
|
+
this.setSignatures(broadcastMessage.signatures || []);
|
|
34
|
+
this.setSigners(broadcastMessage.signers || []);
|
|
35
|
+
if (broadcastMessage.metadata) {
|
|
36
|
+
this.setMetadata(broadcastMessage.metadata);
|
|
37
|
+
}
|
|
38
|
+
return this.build();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.TestMessageBuilder = TestMessageBuilder;
|
|
42
|
+
class TestMessage extends src_1.BaseMessage {
|
|
43
|
+
constructor(options) {
|
|
44
|
+
super(options);
|
|
45
|
+
}
|
|
46
|
+
async getSignablePayload() {
|
|
47
|
+
if (this.signablePayload) {
|
|
48
|
+
return this.signablePayload;
|
|
49
|
+
}
|
|
50
|
+
return Buffer.from(this.payload);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.TestMessage = TestMessage;
|
|
54
|
+
exports.messageSamples = {
|
|
55
|
+
eip191: {
|
|
56
|
+
payload: 'Hello BitGo!',
|
|
57
|
+
type: src_1.MessageStandardType.EIP191,
|
|
58
|
+
metadata: { chainId: 1 },
|
|
59
|
+
signers: ['0x1234567890abcdef1234567890abcdef12345678'],
|
|
60
|
+
signatures: ['0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890'],
|
|
61
|
+
},
|
|
62
|
+
unknown: {
|
|
63
|
+
payload: 'Unknown message type',
|
|
64
|
+
type: src_1.MessageStandardType.UNKNOWN,
|
|
65
|
+
metadata: { version: '1.0' },
|
|
66
|
+
signers: ['12345'],
|
|
67
|
+
signatures: ['67890'],
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYWNjb3VudC1saWIvYmFzZUNvaW4vbWVzc2FnZXMvZml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNENBUTRCO0FBRzVCLE1BQWEseUJBQTBCLFNBQVEsK0JBQXlCO0lBQ3RFLFlBQVksVUFBOEI7UUFDeEMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUF5QjtRQUN6QyxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBQ0Y7QUFSRCw4REFRQztBQUVELE1BQWEsa0JBQW1CLFNBQVEsd0JBQWtCO0lBQ3hELFlBQVksVUFBOEIsRUFBRSxPQUE0Qix5QkFBbUIsQ0FBQyxPQUFPO1FBQ2pHLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsT0FBTyxJQUFJLFdBQVcsQ0FBQztZQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsUUFBUSxFQUFFO2dCQUNSLEdBQUcsSUFBSSxDQUFDLFFBQVE7YUFDakI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLG1CQUFtQixDQUFDLGdCQUFxQjtRQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUE1QkQsZ0RBNEJDO0FBRUQsTUFBYSxXQUFZLFNBQVEsaUJBQVc7SUFDMUMsWUFBWSxPQUF1QjtRQUNqQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzlCLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FDRjtBQVhELGtDQVdDO0FBRVksUUFBQSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFLGNBQWM7UUFDdkIsSUFBSSxFQUFFLHlCQUFtQixDQUFDLE1BQU07UUFDaEMsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRTtRQUN4QixPQUFPLEVBQUUsQ0FBQyw0Q0FBNEMsQ0FBQztRQUN2RCxVQUFVLEVBQUUsQ0FBQyxvRUFBb0UsQ0FBQztLQUNuRjtJQUNELE9BQU8sRUFBRTtRQUNQLE9BQU8sRUFBRSxzQkFBc0I7UUFDL0IsSUFBSSxFQUFFLHlCQUFtQixDQUFDLE9BQU87UUFDakMsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtRQUM1QixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDbEIsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDO0tBQ3RCO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJhc2VNZXNzYWdlLFxuICBCYXNlTWVzc2FnZUJ1aWxkZXIsXG4gIEJhc2VNZXNzYWdlQnVpbGRlckZhY3RvcnksXG4gIElNZXNzYWdlLFxuICBJTWVzc2FnZUJ1aWxkZXIsXG4gIE1lc3NhZ2VPcHRpb25zLFxuICBNZXNzYWdlU3RhbmRhcmRUeXBlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zcmMnO1xuaW1wb3J0IHsgQmFzZUNvaW4gfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuZXhwb3J0IGNsYXNzIFRlc3RNZXNzYWdlQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8QmFzZUNvaW4+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXRNZXNzYWdlQnVpbGRlcih0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFRlc3RNZXNzYWdlQnVpbGRlcih0aGlzLmNvaW5Db25maWcsIHR5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUZXN0TWVzc2FnZUJ1aWxkZXIgZXh0ZW5kcyBCYXNlTWVzc2FnZUJ1aWxkZXIge1xuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxCYXNlQ29pbj4sIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUgPSBNZXNzYWdlU3RhbmRhcmRUeXBlLlVOS05PV04pIHtcbiAgICBzdXBlcihjb2luQ29uZmlnLCB0eXBlKTtcbiAgfVxuXG4gIGFzeW5jIGJ1aWxkKCk6IFByb21pc2U8SU1lc3NhZ2U+IHtcbiAgICByZXR1cm4gbmV3IFRlc3RNZXNzYWdlKHtcbiAgICAgIGNvaW5Db25maWc6IHRoaXMuY29pbkNvbmZpZyxcbiAgICAgIHBheWxvYWQ6IHRoaXMucGF5bG9hZCxcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIHNpZ25hdHVyZXM6IHRoaXMuc2lnbmF0dXJlcyxcbiAgICAgIHNpZ25lcnM6IHRoaXMuc2lnbmVycyxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIC4uLnRoaXMubWV0YWRhdGEsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZnJvbUJyb2FkY2FzdEZvcm1hdChicm9hZGNhc3RNZXNzYWdlOiBhbnkpOiBQcm9taXNlPElNZXNzYWdlPiB7XG4gICAgdGhpcy5zZXRUeXBlKGJyb2FkY2FzdE1lc3NhZ2UudHlwZSk7XG4gICAgdGhpcy5zZXRQYXlsb2FkKGJyb2FkY2FzdE1lc3NhZ2UucGF5bG9hZCk7XG4gICAgdGhpcy5zZXRTaWduYXR1cmVzKGJyb2FkY2FzdE1lc3NhZ2Uuc2lnbmF0dXJlcyB8fCBbXSk7XG4gICAgdGhpcy5zZXRTaWduZXJzKGJyb2FkY2FzdE1lc3NhZ2Uuc2lnbmVycyB8fCBbXSk7XG4gICAgaWYgKGJyb2FkY2FzdE1lc3NhZ2UubWV0YWRhdGEpIHtcbiAgICAgIHRoaXMuc2V0TWV0YWRhdGEoYnJvYWRjYXN0TWVzc2FnZS5tZXRhZGF0YSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmJ1aWxkKCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRlc3RNZXNzYWdlIGV4dGVuZHMgQmFzZU1lc3NhZ2Uge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBNZXNzYWdlT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuICB9XG5cbiAgYXN5bmMgZ2V0U2lnbmFibGVQYXlsb2FkKCk6IFByb21pc2U8c3RyaW5nIHwgQnVmZmVyPiB7XG4gICAgaWYgKHRoaXMuc2lnbmFibGVQYXlsb2FkKSB7XG4gICAgICByZXR1cm4gdGhpcy5zaWduYWJsZVBheWxvYWQ7XG4gICAgfVxuICAgIHJldHVybiBCdWZmZXIuZnJvbSh0aGlzLnBheWxvYWQpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBtZXNzYWdlU2FtcGxlcyA9IHtcbiAgZWlwMTkxOiB7XG4gICAgcGF5bG9hZDogJ0hlbGxvIEJpdEdvIScsXG4gICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEsXG4gICAgbWV0YWRhdGE6IHsgY2hhaW5JZDogMSB9LFxuICAgIHNpZ25lcnM6IFsnMHgxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4J10sXG4gICAgc2lnbmF0dXJlczogWycweGFiY2RlZjEyMzQ1Njc4OTBhYmNkZWYxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTAnXSxcbiAgfSxcbiAgdW5rbm93bjoge1xuICAgIHBheWxvYWQ6ICdVbmtub3duIG1lc3NhZ2UgdHlwZScsXG4gICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5VTktOT1dOLFxuICAgIG1ldGFkYXRhOiB7IHZlcnNpb246ICcxLjAnIH0sXG4gICAgc2lnbmVyczogWycxMjM0NSddLFxuICAgIHNpZ25hdHVyZXM6IFsnNjc4OTAnXSxcbiAgfSxcbn07XG4iXX0=
|