@bitgo-beta/sdk-core 8.2.1-beta.202 → 8.2.1-beta.2021
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 +58 -5
- package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/enum.js +109 -10
- 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/index.d.ts +1 -1
- package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/index.js +6 -2
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -3
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +376 -354
- 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 +46 -53
- 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 +0 -1
- 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 +24 -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 +31 -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.map +1 -1
- package/dist/src/bitgo/address-book/address-book.js +20 -12
- package/dist/src/bitgo/address-book/index.js +6 -2
- package/dist/src/bitgo/address-book/types.d.ts +36 -36
- package/dist/src/bitgo/address-book/types.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts +123 -12
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.js +203 -16
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +290 -27
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +14 -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 +17 -4
- 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 +3 -101
- package/dist/src/bitgo/config.d.ts.map +1 -1
- package/dist/src/bitgo/config.js +26 -15
- package/dist/src/bitgo/defi/defiVault.d.ts +137 -0
- package/dist/src/bitgo/defi/defiVault.d.ts.map +1 -0
- package/dist/src/bitgo/defi/defiVault.js +379 -0
- package/dist/src/bitgo/defi/iDefiVault.d.ts +81 -0
- package/dist/src/bitgo/defi/iDefiVault.d.ts.map +1 -0
- package/dist/src/bitgo/defi/iDefiVault.js +6 -0
- package/dist/src/bitgo/defi/index.d.ts +3 -0
- package/dist/src/bitgo/defi/index.d.ts.map +1 -0
- package/dist/src/bitgo/defi/index.js +22 -0
- 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 +9 -4
- package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/enterprise.js +47 -21
- package/dist/src/bitgo/enterprise/enterprises.js +27 -13
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts +5 -3
- 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/index.js +6 -2
- package/dist/src/bitgo/environments.d.ts +68 -3
- package/dist/src/bitgo/environments.d.ts.map +1 -1
- package/dist/src/bitgo/environments.js +414 -34
- package/dist/src/bitgo/errors.d.ts +182 -1
- package/dist/src/bitgo/errors.d.ts.map +1 -1
- package/dist/src/bitgo/errors.js +177 -3
- 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 +5 -1
- package/dist/src/bitgo/index.d.ts.map +1 -1
- package/dist/src/bitgo/index.js +31 -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.d.ts +12 -8
- package/dist/src/bitgo/internal/keycard.d.ts.map +1 -1
- package/dist/src/bitgo/internal/keycard.js +60 -48
- package/dist/src/bitgo/keychain/decryptKeychain.d.ts +14 -0
- package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
- package/dist/src/bitgo/keychain/decryptKeychain.js +36 -0
- package/dist/src/bitgo/keychain/iKeychains.d.ts +128 -11
- 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 +55 -7
- package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/keychains.js +282 -52
- 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 +5 -1
- 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 +246 -111
- 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 +13 -3
- package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
- package/dist/src/bitgo/recovery/initiate.js +49 -41
- package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts +88 -0
- package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts.map +1 -0
- package/dist/src/bitgo/safe/derivableEd25519Pub.js +204 -0
- package/dist/src/bitgo/safe/iSafe.d.ts +87 -0
- package/dist/src/bitgo/safe/iSafe.d.ts.map +1 -0
- package/dist/src/bitgo/safe/iSafe.js +3 -0
- package/dist/src/bitgo/safe/iSafes.d.ts +94 -0
- package/dist/src/bitgo/safe/iSafes.d.ts.map +1 -0
- package/dist/src/bitgo/safe/iSafes.js +3 -0
- package/dist/src/bitgo/safe/index.d.ts +7 -0
- package/dist/src/bitgo/safe/index.d.ts.map +1 -0
- package/dist/src/bitgo/safe/index.js +23 -0
- package/dist/src/bitgo/safe/safe.d.ts +61 -0
- package/dist/src/bitgo/safe/safe.d.ts.map +1 -0
- package/dist/src/bitgo/safe/safe.js +230 -0
- package/dist/src/bitgo/safe/safeDerivation.d.ts +30 -0
- package/dist/src/bitgo/safe/safeDerivation.d.ts.map +1 -0
- package/dist/src/bitgo/safe/safeDerivation.js +122 -0
- package/dist/src/bitgo/safe/safes.d.ts +107 -0
- package/dist/src/bitgo/safe/safes.d.ts.map +1 -0
- package/dist/src/bitgo/safe/safes.js +315 -0
- package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +136 -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 +141 -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 -8
- 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 +21 -8
- package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/stakingWallet.js +140 -7
- package/dist/src/bitgo/trading/iTradingAccount.d.ts +13 -1
- 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 -0
- package/dist/src/bitgo/trading/index.d.ts.map +1 -1
- package/dist/src/bitgo/trading/index.js +7 -2
- 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 +2 -0
- package/dist/src/bitgo/trading/network/index.d.ts.map +1 -1
- package/dist/src/bitgo/trading/network/index.js +8 -2
- package/dist/src/bitgo/trading/network/network.d.ts +4 -3
- package/dist/src/bitgo/trading/network/network.d.ts.map +1 -1
- package/dist/src/bitgo/trading/network/network.js +24 -27
- package/dist/src/bitgo/trading/network/types.d.ts +79 -46
- package/dist/src/bitgo/trading/network/types.d.ts.map +1 -1
- package/dist/src/bitgo/trading/network/types.js +1 -1
- 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 +15 -1
- package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
- package/dist/src/bitgo/trading/tradingAccount.js +55 -7
- package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +49 -0
- package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
- package/dist/src/bitgo/tss/bitgoPubKeys.js +92 -0
- package/dist/src/bitgo/tss/common.d.ts +41 -6
- package/dist/src/bitgo/tss/common.d.ts.map +1 -1
- package/dist/src/bitgo/tss/common.js +124 -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 +167 -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 +15 -6
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/eddsa/eddsa.js +47 -40
- package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts +42 -0
- package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.js +104 -0
- 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 +10 -0
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +76 -14
- package/dist/src/bitgo/utils/codecProps.js +24 -11
- package/dist/src/bitgo/utils/codecs.d.ts +11 -0
- package/dist/src/bitgo/utils/codecs.d.ts.map +1 -0
- package/dist/src/bitgo/utils/codecs.js +59 -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 +4 -2
- package/dist/src/bitgo/utils/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/index.js +27 -11
- package/dist/src/bitgo/utils/messageTypes.d.ts +40 -0
- package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
- package/dist/src/bitgo/utils/messageTypes.js +17 -0
- package/dist/src/bitgo/utils/mpcUtils.d.ts +4 -4
- package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/mpcUtils.js +175 -14
- 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 -7
- package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/opengpgUtils.js +79 -62
- 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/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 +62 -0
- package/dist/src/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/addressVerification.js +93 -0
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +94 -17
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +305 -45
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +432 -55
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +47 -22
- 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 +25 -51
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +173 -246
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +216 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +1053 -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 +16 -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 +7 -10
- 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/SMC/utils.d.ts +21 -0
- package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.js +118 -0
- package/dist/src/bitgo/utils/tss/eddsa/base.d.ts +18 -0
- package/dist/src/bitgo/utils/tss/eddsa/base.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/base.js +64 -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 +254 -96
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +204 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +862 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts +6 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.js +16 -0
- package/dist/src/bitgo/utils/tss/eddsa/index.d.ts +4 -0
- package/dist/src/bitgo/utils/tss/eddsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/index.js +29 -8
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +12 -7
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/types.js +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts +40 -0
- package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.js +44 -0
- package/dist/src/bitgo/utils/tss/index.d.ts +5 -0
- package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/index.js +29 -10
- package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts +23 -0
- package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/preHashedSignable.js +26 -0
- package/dist/src/bitgo/utils/tss/recipientUtils.d.ts +41 -0
- package/dist/src/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/recipientUtils.js +142 -0
- package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.d.ts +29 -0
- package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.js +126 -0
- package/dist/src/bitgo/utils/tss/redpallas/index.d.ts +4 -0
- package/dist/src/bitgo/utils/tss/redpallas/index.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/redpallas/index.js +20 -0
- package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts +27 -0
- package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.js +43 -0
- package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts +45 -0
- package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.js +55 -0
- package/dist/src/bitgo/utils/tss/serializedTxHexVerify.d.ts +8 -0
- package/dist/src/bitgo/utils/tss/serializedTxHexVerify.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/serializedTxHexVerify.js +13 -0
- package/dist/src/bitgo/utils/tss/signableConsistency.d.ts +12 -0
- package/dist/src/bitgo/utils/tss/signableConsistency.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/signableConsistency.js +9 -0
- 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 +49 -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/v1Wallets.d.ts +170 -0
- package/dist/src/bitgo/v1Wallets.d.ts.map +1 -0
- package/dist/src/bitgo/v1Wallets.js +3 -0
- package/dist/src/bitgo/wallet/BuildParams.d.ts +81 -1
- package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/BuildParams.js +85 -11
- package/dist/src/bitgo/wallet/iWallet.d.ts +580 -31
- 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 +310 -16
- package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallets.js +84 -3
- package/dist/src/bitgo/wallet/index.d.ts +1 -0
- package/dist/src/bitgo/wallet/index.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/index.js +7 -2
- package/dist/src/bitgo/wallet/safeKeychain.d.ts +52 -0
- package/dist/src/bitgo/wallet/safeKeychain.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/safeKeychain.js +97 -0
- package/dist/src/bitgo/wallet/wallet.d.ts +365 -28
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +2202 -381
- package/dist/src/bitgo/wallet/wallets.d.ts +93 -4
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallets.js +1242 -155
- 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/fiat.d.ts +45 -0
- package/dist/src/coins/fiat.d.ts.map +1 -0
- package/dist/src/coins/fiat.js +94 -0
- package/dist/src/coins/index.d.ts +1 -6
- package/dist/src/coins/index.d.ts.map +1 -1
- package/dist/src/coins/index.js +7 -8
- package/dist/src/coins/ofc.d.ts +21 -2
- package/dist/src/coins/ofc.d.ts.map +1 -1
- package/dist/src/coins/ofc.js +29 -3
- package/dist/src/coins/ofcToken.d.ts +15 -4
- package/dist/src/coins/ofcToken.d.ts.map +1 -1
- package/dist/src/coins/ofcToken.js +43 -5
- 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/common.js +27 -13
- package/dist/src/index.d.ts +9 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +40 -11
- package/dist/src/lightning.d.ts +20 -0
- package/dist/src/lightning.d.ts.map +1 -0
- package/dist/src/lightning.js +13 -0
- 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 +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.js +91 -29
- package/dist/test/unit/account-lib/mpc/util.d.ts +2 -0
- package/dist/test/unit/account-lib/mpc/util.d.ts.map +1 -0
- package/dist/test/unit/account-lib/mpc/util.js +53 -0
- package/dist/test/unit/bitgo/address-book/address-book.d.ts +2 -0
- package/dist/test/unit/bitgo/address-book/address-book.d.ts.map +1 -0
- package/dist/test/unit/bitgo/address-book/address-book.js +159 -0
- package/dist/test/unit/bitgo/defi/defiVault.d.ts +2 -0
- package/dist/test/unit/bitgo/defi/defiVault.d.ts.map +1 -0
- package/dist/test/unit/bitgo/defi/defiVault.js +600 -0
- package/dist/test/unit/bitgo/environment.d.ts +2 -0
- package/dist/test/unit/bitgo/environment.d.ts.map +1 -0
- package/dist/test/unit/bitgo/environment.js +38 -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 +262 -0
- package/dist/test/unit/bitgo/keychain/keychains.d.ts +2 -0
- package/dist/test/unit/bitgo/keychain/keychains.d.ts.map +1 -0
- package/dist/test/unit/bitgo/keychain/keychains.js +138 -0
- package/dist/test/unit/bitgo/recovery/initiate.d.ts +2 -0
- package/dist/test/unit/bitgo/recovery/initiate.d.ts.map +1 -0
- package/dist/test/unit/bitgo/recovery/initiate.js +159 -0
- package/dist/test/unit/bitgo/safe/derivableEd25519Pub.d.ts +2 -0
- package/dist/test/unit/bitgo/safe/derivableEd25519Pub.d.ts.map +1 -0
- package/dist/test/unit/bitgo/safe/derivableEd25519Pub.js +137 -0
- package/dist/test/unit/bitgo/safe/fixtures/derivableEd25519Pub.json +197 -0
- package/dist/test/unit/bitgo/safe/safe.d.ts +2 -0
- package/dist/test/unit/bitgo/safe/safe.d.ts.map +1 -0
- package/dist/test/unit/bitgo/safe/safe.js +277 -0
- package/dist/test/unit/bitgo/safe/safes.d.ts +2 -0
- package/dist/test/unit/bitgo/safe/safes.d.ts.map +1 -0
- package/dist/test/unit/bitgo/safe/safes.js +364 -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/trading/network/network.test.d.ts +2 -0
- package/dist/test/unit/bitgo/trading/network/network.test.d.ts.map +1 -0
- package/dist/test/unit/bitgo/trading/network/network.test.js +136 -0
- package/dist/test/unit/bitgo/trading/tradingAccount.d.ts +2 -0
- package/dist/test/unit/bitgo/trading/tradingAccount.d.ts.map +1 -0
- package/dist/test/unit/bitgo/trading/tradingAccount.js +192 -0
- package/dist/test/unit/bitgo/tss/bitgoPubKeys.d.ts +2 -0
- package/dist/test/unit/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
- package/dist/test/unit/bitgo/tss/bitgoPubKeys.js +66 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -4
- 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/mpcUtils.wrapApprove.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.js +106 -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/tss/addressVerification.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/addressVerification.js +251 -0
- package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.js +348 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.js +94 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +999 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts +5 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.js +36 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.js +158 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +1918 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.js +311 -0
- package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/preHashedSignable.js +55 -0
- package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/recipientUtils.js +374 -0
- package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.js +80 -0
- package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.js +279 -0
- package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.js +111 -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 +179 -0
- package/dist/test/unit/bitgo/utils/wallet.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/wallet.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/wallet.js +55 -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 +141 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +79 -9
- package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/getAccountResources.js +133 -0
- package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.js +88 -0
- package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/getResourceDelegations.js +118 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.js +141 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.js +185 -0
- package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.js +20 -0
- package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts +3 -0
- package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/resourceManagement.js +441 -0
- package/dist/test/unit/bitgo/wallet/safeGetUserPrv.d.ts +5 -0
- package/dist/test/unit/bitgo/wallet/safeGetUserPrv.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/safeGetUserPrv.js +671 -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 +201 -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/walletOptionsCodecs.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.js +69 -0
- package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.js +320 -0
- package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.js +293 -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/bitgo/wallet/walletsExternalSigner.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletsExternalSigner.js +675 -0
- package/dist/test/unit/bitgo/wallet/walletsGoAccount.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletsGoAccount.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletsGoAccount.js +150 -0
- package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletsWebauthn.js +201 -0
- package/dist/test/unit/coins/ofc.d.ts +2 -0
- package/dist/test/unit/coins/ofc.d.ts.map +1 -0
- package/dist/test/unit/coins/ofc.js +124 -0
- package/dist/test/unit/lightning.d.ts +2 -0
- package/dist/test/unit/lightning.d.ts.map +1 -0
- package/dist/test/unit/lightning.js +23 -0
- package/dist/test/unit/units.d.ts.map +1 -1
- package/dist/test/unit/units.js +64 -64
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +23 -21
- package/.eslintignore +0 -5
- package/CHANGELOG.md +0 -1712
- 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/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/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/coins/fiateur.d.ts +0 -31
- package/dist/src/coins/fiateur.d.ts.map +0 -1
- package/dist/src/coins/fiateur.js +0 -57
- package/dist/src/coins/fiatgbp.d.ts +0 -31
- package/dist/src/coins/fiatgbp.d.ts.map +0 -1
- package/dist/src/coins/fiatgbp.js +0 -57
- package/dist/src/coins/fiatusd.d.ts +0 -31
- package/dist/src/coins/fiatusd.d.ts.map +0 -1
- package/dist/src/coins/fiatusd.js +0 -57
- package/dist/src/coins/tfiateur.d.ts +0 -11
- package/dist/src/coins/tfiateur.d.ts.map +0 -1
- package/dist/src/coins/tfiateur.js +0 -17
- package/dist/src/coins/tfiatgbp.d.ts +0 -11
- package/dist/src/coins/tfiatgbp.d.ts.map +0 -1
- package/dist/src/coins/tfiatgbp.js +0 -17
- package/dist/src/coins/tfiatusd.d.ts +0 -11
- package/dist/src/coins/tfiatusd.d.ts.map +0 -1
- package/dist/src/coins/tfiatusd.js +0 -17
- 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,29 @@
|
|
|
1
|
+
import { RedpallasBitgoToOVC1Round1Response, RedpallasBitgoToOVC1Round2Response, RedpallasMPCv2KeyGenRound1Response, RedpallasMPCv2KeyGenRound2Response, RedpallasOVC1ToBitgoRound1Payload, RedpallasOVC2ToBitgoRound2Payload } from '@bitgo/public-types';
|
|
2
|
+
import { IBaseCoin } from '../../../../baseCoin';
|
|
3
|
+
import { BitGoBase } from '../../../../bitgoBase';
|
|
4
|
+
import { Keychain } from '../../../..';
|
|
5
|
+
import { RedpallasMPCv2KeyGenSendFn } from '../redpallasMPCv2KeyGenSender';
|
|
6
|
+
/**
|
|
7
|
+
* Custodial (SMC/OVC) DKG-only key generation for the Zcash Orchard shielded pool (RedPallas).
|
|
8
|
+
*
|
|
9
|
+
* Mirrors for both custodial and SMC wallet
|
|
10
|
+
* ceremonies driven by external OVC (offline vault console) clients: round1/round2 payloads are
|
|
11
|
+
* relayed from OVC1/OVC2 to BitGo and back. There is no round3 (no signing) - RedPallas MPS DKG
|
|
12
|
+
* completes key generation in 2 online rounds, same as EdDSA MPS DKG.
|
|
13
|
+
*/
|
|
14
|
+
export declare class RedpallasMPCv2SMCUtils {
|
|
15
|
+
private bitgo;
|
|
16
|
+
private baseCoin;
|
|
17
|
+
private MPCv2Utils;
|
|
18
|
+
constructor(bitgo: BitGoBase, baseCoin: IBaseCoin);
|
|
19
|
+
keyGenRound1(enterprise: string, payload: RedpallasOVC1ToBitgoRound1Payload): Promise<RedpallasBitgoToOVC1Round1Response>;
|
|
20
|
+
keyGenRound2(enterprise: string, payload: RedpallasOVC2ToBitgoRound2Payload): Promise<RedpallasBitgoToOVC1Round2Response>;
|
|
21
|
+
keyGenRound1BySender(senderFn: RedpallasMPCv2KeyGenSendFn<RedpallasMPCv2KeyGenRound1Response>, payload: RedpallasOVC1ToBitgoRound1Payload): Promise<RedpallasBitgoToOVC1Round1Response>;
|
|
22
|
+
keyGenRound2BySender(senderFn: RedpallasMPCv2KeyGenSendFn<RedpallasMPCv2KeyGenRound2Response>, payload: RedpallasOVC2ToBitgoRound2Payload): Promise<RedpallasBitgoToOVC1Round2Response>;
|
|
23
|
+
uploadClientKeys(bitgoKeyId: string, userCommonKeychain: string, backupCommonKeychain: string): Promise<{
|
|
24
|
+
userKeychain: Keychain;
|
|
25
|
+
backupKeychain: Keychain;
|
|
26
|
+
bitgoKeychain: Keychain;
|
|
27
|
+
}>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/bitgo/utils/tss/redpallas/SMC/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,kCAAkC,EAClC,kCAAkC,EAElC,kCAAkC,EAClC,kCAAkC,EAClC,iCAAiC,EACjC,iCAAiC,EAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAgB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,0BAA0B,EAAsC,MAAM,+BAA+B,CAAC;AAE/G;;;;;;;GAOG;AACH,qBAAa,sBAAsB;IAGrB,OAAO,CAAC,KAAK;IAAa,OAAO,CAAC,QAAQ;IAFtD,OAAO,CAAC,UAAU,CAAsB;gBAEpB,KAAK,EAAE,SAAS,EAAU,QAAQ,EAAE,SAAS;IAIpD,YAAY,CACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,kCAAkC,CAAC;IAIjC,YAAY,CACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,kCAAkC,CAAC;IAIjC,oBAAoB,CAC/B,QAAQ,EAAE,0BAA0B,CAAC,kCAAkC,CAAC,EACxE,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,kCAAkC,CAAC;IAwCjC,oBAAoB,CAC/B,QAAQ,EAAE,0BAA0B,CAAC,kCAAkC,CAAC,EACxE,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,kCAAkC,CAAC;IAsDjC,gBAAgB,CAC3B,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,MAAM,EAC1B,oBAAoB,EAAE,MAAM,GAC3B,OAAO,CAAC;QAAE,YAAY,EAAE,QAAQ,CAAC;QAAC,cAAc,EAAE,QAAQ,CAAC;QAAC,aAAa,EAAE,QAAQ,CAAA;KAAE,CAAC;CA8B1F"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RedpallasMPCv2SMCUtils = void 0;
|
|
7
|
+
const assert_1 = __importDefault(require("assert"));
|
|
8
|
+
const public_types_1 = require("@bitgo/public-types");
|
|
9
|
+
const __1 = require("../../../..");
|
|
10
|
+
const redpallasMPCv2_1 = require("../redpallasMPCv2");
|
|
11
|
+
const redpallasMPCv2KeyGenSender_1 = require("../redpallasMPCv2KeyGenSender");
|
|
12
|
+
/**
|
|
13
|
+
* Custodial (SMC/OVC) DKG-only key generation for the Zcash Orchard shielded pool (RedPallas).
|
|
14
|
+
*
|
|
15
|
+
* Mirrors for both custodial and SMC wallet
|
|
16
|
+
* ceremonies driven by external OVC (offline vault console) clients: round1/round2 payloads are
|
|
17
|
+
* relayed from OVC1/OVC2 to BitGo and back. There is no round3 (no signing) - RedPallas MPS DKG
|
|
18
|
+
* completes key generation in 2 online rounds, same as EdDSA MPS DKG.
|
|
19
|
+
*/
|
|
20
|
+
class RedpallasMPCv2SMCUtils {
|
|
21
|
+
constructor(bitgo, baseCoin) {
|
|
22
|
+
this.bitgo = bitgo;
|
|
23
|
+
this.baseCoin = baseCoin;
|
|
24
|
+
this.MPCv2Utils = new redpallasMPCv2_1.RedpallasMPCv2Utils(bitgo, baseCoin);
|
|
25
|
+
}
|
|
26
|
+
async keyGenRound1(enterprise, payload) {
|
|
27
|
+
return this.keyGenRound1BySender((0, redpallasMPCv2KeyGenSender_1.RedpallasKeyGenSenderForEnterprise)(this.bitgo, enterprise), payload);
|
|
28
|
+
}
|
|
29
|
+
async keyGenRound2(enterprise, payload) {
|
|
30
|
+
return this.keyGenRound2BySender((0, redpallasMPCv2KeyGenSender_1.RedpallasKeyGenSenderForEnterprise)(this.bitgo, enterprise), payload);
|
|
31
|
+
}
|
|
32
|
+
async keyGenRound1BySender(senderFn, payload) {
|
|
33
|
+
(0, assert_1.default)(payload.state === public_types_1.RedpallasKeyCreationMPCv2StateEnum.WaitingForBitgoRound1Data, `Invalid state for round 1, expected: ${public_types_1.RedpallasKeyCreationMPCv2StateEnum.WaitingForBitgoRound1Data}, got: ${payload.state}`);
|
|
34
|
+
(0, __1.decodeOrElse)(public_types_1.RedpallasOVC1ToBitgoRound1Payload.name, public_types_1.RedpallasOVC1ToBitgoRound1Payload, payload, (errors) => {
|
|
35
|
+
throw new Error(`error(s) parsing payload: ${errors}`);
|
|
36
|
+
});
|
|
37
|
+
const ovc1 = payload.ovc[public_types_1.OVCIndexEnum.ONE];
|
|
38
|
+
const ovc2 = payload.ovc[public_types_1.OVCIndexEnum.TWO];
|
|
39
|
+
const result = await this.MPCv2Utils.sendKeyGenerationRound1BySender(senderFn, {
|
|
40
|
+
userGpgPublicKey: ovc1.gpgPubKey,
|
|
41
|
+
backupGpgPublicKey: ovc2.gpgPubKey,
|
|
42
|
+
userMsg1: ovc1.ovcMsg1,
|
|
43
|
+
backupMsg1: ovc2.ovcMsg1,
|
|
44
|
+
});
|
|
45
|
+
const response = {
|
|
46
|
+
state: public_types_1.RedpallasKeyCreationMPCv2StateEnum.WaitingForOVC1Round2Data,
|
|
47
|
+
tssVersion: payload.tssVersion,
|
|
48
|
+
walletType: payload.walletType,
|
|
49
|
+
coin: payload.coin,
|
|
50
|
+
ovc: payload.ovc,
|
|
51
|
+
platform: {
|
|
52
|
+
sessionId: result.sessionId,
|
|
53
|
+
bitgoMsg1: result.bitgoMsg1,
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
return (0, __1.decodeOrElse)(public_types_1.RedpallasBitgoToOVC1Round1Response.name, public_types_1.RedpallasBitgoToOVC1Round1Response, response, (errors) => {
|
|
57
|
+
throw new Error(`error(s) parsing response: ${errors}`);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
async keyGenRound2BySender(senderFn, payload) {
|
|
61
|
+
(0, assert_1.default)(payload.state === public_types_1.RedpallasKeyCreationMPCv2StateEnum.WaitingForBitgoRound2Data, `Invalid state for round 2, expected: ${public_types_1.RedpallasKeyCreationMPCv2StateEnum.WaitingForBitgoRound2Data}, got: ${payload.state}`);
|
|
62
|
+
(0, __1.decodeOrElse)(public_types_1.RedpallasOVC2ToBitgoRound2Payload.name, public_types_1.RedpallasOVC2ToBitgoRound2Payload, payload, (errors) => {
|
|
63
|
+
throw new Error(`error(s) parsing payload: ${errors}`);
|
|
64
|
+
});
|
|
65
|
+
const ovc1 = payload.ovc[public_types_1.OVCIndexEnum.ONE];
|
|
66
|
+
const ovc2 = payload.ovc[public_types_1.OVCIndexEnum.TWO];
|
|
67
|
+
const sessionId = payload.platform.sessionId;
|
|
68
|
+
const result = await this.MPCv2Utils.sendKeyGenerationRound2BySender(senderFn, {
|
|
69
|
+
sessionId,
|
|
70
|
+
userMsg2: ovc1.ovcMsg2,
|
|
71
|
+
backupMsg2: ovc2.ovcMsg2,
|
|
72
|
+
});
|
|
73
|
+
assert_1.default.equal(sessionId, result.sessionId, 'Round 1 and round 2 session IDs do not match');
|
|
74
|
+
const keychains = this.baseCoin.keychains();
|
|
75
|
+
const bitgoKeychain = await keychains.add({
|
|
76
|
+
source: 'bitgo',
|
|
77
|
+
keyType: 'tss',
|
|
78
|
+
commonKeychain: result.commonPublicKeychain,
|
|
79
|
+
isMPCv2: true,
|
|
80
|
+
});
|
|
81
|
+
const response = {
|
|
82
|
+
state: public_types_1.RedpallasKeyCreationMPCv2StateEnum.WaitingForOVC1GenerateKey,
|
|
83
|
+
bitGoKeyId: bitgoKeychain.id,
|
|
84
|
+
tssVersion: payload.tssVersion,
|
|
85
|
+
walletType: payload.walletType,
|
|
86
|
+
coin: payload.coin,
|
|
87
|
+
ovc: payload.ovc,
|
|
88
|
+
platform: {
|
|
89
|
+
// sessionId/bitgoMsg1 carried over from payload.platform; safe because the assert
|
|
90
|
+
// above guarantees payload.platform.sessionId equals result.sessionId.
|
|
91
|
+
...payload.platform,
|
|
92
|
+
commonPublicKeychain: result.commonPublicKeychain,
|
|
93
|
+
bitgoMsg2: result.bitgoMsg2,
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
return (0, __1.decodeOrElse)(public_types_1.RedpallasBitgoToOVC1Round2Response.name, public_types_1.RedpallasBitgoToOVC1Round2Response, response, (errors) => {
|
|
97
|
+
throw new Error(`error(s) parsing response: ${errors}`);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
async uploadClientKeys(bitgoKeyId, userCommonKeychain, backupCommonKeychain) {
|
|
101
|
+
(0, assert_1.default)(userCommonKeychain === backupCommonKeychain, 'Common keychain mismatch between the user and backup keychains');
|
|
102
|
+
const keychains = this.baseCoin.keychains();
|
|
103
|
+
const bitgoKeychain = await keychains.get({ id: bitgoKeyId });
|
|
104
|
+
(0, assert_1.default)(bitgoKeychain, 'Keychain not found');
|
|
105
|
+
(0, assert_1.default)(bitgoKeychain.source === 'bitgo', 'The keychain is not a BitGo keychain');
|
|
106
|
+
(0, assert_1.default)(bitgoKeychain.type === 'tss', 'BitGo keychain is not a TSS keychain');
|
|
107
|
+
(0, assert_1.default)(bitgoKeychain.commonKeychain, 'BitGo keychain does not have a common keychain');
|
|
108
|
+
(0, assert_1.default)(bitgoKeychain.commonKeychain === userCommonKeychain, 'Common keychain mismatch between the OVCs and BitGo');
|
|
109
|
+
const userKeychainPromise = keychains.add({
|
|
110
|
+
source: 'user',
|
|
111
|
+
keyType: 'tss',
|
|
112
|
+
commonKeychain: userCommonKeychain,
|
|
113
|
+
isMPCv2: true,
|
|
114
|
+
});
|
|
115
|
+
const backupKeychainPromise = keychains.add({
|
|
116
|
+
source: 'backup',
|
|
117
|
+
keyType: 'tss',
|
|
118
|
+
commonKeychain: backupCommonKeychain,
|
|
119
|
+
isMPCv2: true,
|
|
120
|
+
});
|
|
121
|
+
const [userKeychain, backupKeychain] = await Promise.all([userKeychainPromise, backupKeychainPromise]);
|
|
122
|
+
return { userKeychain, backupKeychain, bitgoKeychain };
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.RedpallasMPCv2SMCUtils = RedpallasMPCv2SMCUtils;
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL3JlZHBhbGxhcy9TTUMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLHNEQVM2QjtBQUc3QixtQ0FBcUQ7QUFDckQsc0RBQXdEO0FBQ3hELDhFQUErRztBQUUvRzs7Ozs7OztHQU9HO0FBQ0gsTUFBYSxzQkFBc0I7SUFHakMsWUFBb0IsS0FBZ0IsRUFBVSxRQUFtQjtRQUE3QyxVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUMvRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksb0NBQW1CLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxLQUFLLENBQUMsWUFBWSxDQUN2QixVQUFrQixFQUNsQixPQUEwQztRQUUxQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFBLCtEQUFrQyxFQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVNLEtBQUssQ0FBQyxZQUFZLENBQ3ZCLFVBQWtCLEVBQ2xCLE9BQTBDO1FBRTFDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUEsK0RBQWtDLEVBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQixDQUMvQixRQUF3RSxFQUN4RSxPQUEwQztRQUUxQyxJQUFBLGdCQUFNLEVBQ0osT0FBTyxDQUFDLEtBQUssS0FBSyxpREFBa0MsQ0FBQyx5QkFBeUIsRUFDOUUsd0NBQXdDLGlEQUFrQyxDQUFDLHlCQUF5QixVQUFVLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FDOUgsQ0FBQztRQUNGLElBQUEsZ0JBQVksRUFBQyxnREFBaUMsQ0FBQyxJQUFJLEVBQUUsZ0RBQWlDLEVBQUUsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDMUcsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLCtCQUErQixDQUFDLFFBQVEsRUFBRTtZQUM3RSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUztZQUNoQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsU0FBUztZQUNsQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDdEIsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3pCLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHO1lBQ2YsS0FBSyxFQUFFLGlEQUFrQyxDQUFDLHdCQUF3QjtZQUNsRSxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7WUFDOUIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1lBQzlCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDaEIsUUFBUSxFQUFFO2dCQUNSLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztnQkFDM0IsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO2FBQzVCO1NBQ0YsQ0FBQztRQUVGLE9BQU8sSUFBQSxnQkFBWSxFQUNqQixpREFBa0MsQ0FBQyxJQUFJLEVBQ3ZDLGlEQUFrQyxFQUNsQyxRQUFRLEVBQ1IsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQixDQUMvQixRQUF3RSxFQUN4RSxPQUEwQztRQUUxQyxJQUFBLGdCQUFNLEVBQ0osT0FBTyxDQUFDLEtBQUssS0FBSyxpREFBa0MsQ0FBQyx5QkFBeUIsRUFDOUUsd0NBQXdDLGlEQUFrQyxDQUFDLHlCQUF5QixVQUFVLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FDOUgsQ0FBQztRQUNGLElBQUEsZ0JBQVksRUFBQyxnREFBaUMsQ0FBQyxJQUFJLEVBQUUsZ0RBQWlDLEVBQUUsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDMUcsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDN0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLCtCQUErQixDQUFDLFFBQVEsRUFBRTtZQUM3RSxTQUFTO1lBQ1QsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3RCLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTztTQUN6QixDQUFDLENBQUM7UUFFSCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSw4Q0FBOEMsQ0FBQyxDQUFDO1FBRTFGLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ3hDLE1BQU0sRUFBRSxPQUFPO1lBQ2YsT0FBTyxFQUFFLEtBQUs7WUFDZCxjQUFjLEVBQUUsTUFBTSxDQUFDLG9CQUFvQjtZQUMzQyxPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHO1lBQ2YsS0FBSyxFQUFFLGlEQUFrQyxDQUFDLHlCQUF5QjtZQUNuRSxVQUFVLEVBQUUsYUFBYSxDQUFDLEVBQUU7WUFDNUIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1lBQzlCLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtZQUM5QixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO1lBQ2hCLFFBQVEsRUFBRTtnQkFDUixrRkFBa0Y7Z0JBQ2xGLHVFQUF1RTtnQkFDdkUsR0FBRyxPQUFPLENBQUMsUUFBUTtnQkFDbkIsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLG9CQUFvQjtnQkFDakQsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO2FBQzVCO1NBQ0YsQ0FBQztRQUVGLE9BQU8sSUFBQSxnQkFBWSxFQUNqQixpREFBa0MsQ0FBQyxJQUFJLEVBQ3ZDLGlEQUFrQyxFQUNsQyxRQUFRLEVBQ1IsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQixDQUMzQixVQUFrQixFQUNsQixrQkFBMEIsRUFDMUIsb0JBQTRCO1FBRTVCLElBQUEsZ0JBQU0sRUFDSixrQkFBa0IsS0FBSyxvQkFBb0IsRUFDM0MsZ0VBQWdFLENBQ2pFLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzVDLE1BQU0sYUFBYSxHQUFHLE1BQU0sU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzlELElBQUEsZ0JBQU0sRUFBQyxhQUFhLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUM1QyxJQUFBLGdCQUFNLEVBQUMsYUFBYSxDQUFDLE1BQU0sS0FBSyxPQUFPLEVBQUUsc0NBQXNDLENBQUMsQ0FBQztRQUNqRixJQUFBLGdCQUFNLEVBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUUsc0NBQXNDLENBQUMsQ0FBQztRQUM3RSxJQUFBLGdCQUFNLEVBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxnREFBZ0QsQ0FBQyxDQUFDO1FBQ3ZGLElBQUEsZ0JBQU0sRUFBQyxhQUFhLENBQUMsY0FBYyxLQUFLLGtCQUFrQixFQUFFLHFEQUFxRCxDQUFDLENBQUM7UUFFbkgsTUFBTSxtQkFBbUIsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ3hDLE1BQU0sRUFBRSxNQUFNO1lBQ2QsT0FBTyxFQUFFLEtBQUs7WUFDZCxjQUFjLEVBQUUsa0JBQWtCO1lBQ2xDLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxxQkFBcUIsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQzFDLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsY0FBYyxFQUFFLG9CQUFvQjtZQUNwQyxPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsbUJBQW1CLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxDQUFDO1FBQ3ZHLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxDQUFDO0lBQ3pELENBQUM7Q0FDRjtBQTNKRCx3REEySkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQge1xuICBPVkNJbmRleEVudW0sXG4gIFJlZHBhbGxhc0JpdGdvVG9PVkMxUm91bmQxUmVzcG9uc2UsXG4gIFJlZHBhbGxhc0JpdGdvVG9PVkMxUm91bmQyUmVzcG9uc2UsXG4gIFJlZHBhbGxhc0tleUNyZWF0aW9uTVBDdjJTdGF0ZUVudW0sXG4gIFJlZHBhbGxhc01QQ3YyS2V5R2VuUm91bmQxUmVzcG9uc2UsXG4gIFJlZHBhbGxhc01QQ3YyS2V5R2VuUm91bmQyUmVzcG9uc2UsXG4gIFJlZHBhbGxhc09WQzFUb0JpdGdvUm91bmQxUGF5bG9hZCxcbiAgUmVkcGFsbGFzT1ZDMlRvQml0Z29Sb3VuZDJQYXlsb2FkLFxufSBmcm9tICdAYml0Z28vcHVibGljLXR5cGVzJztcbmltcG9ydCB7IElCYXNlQ29pbiB9IGZyb20gJy4uLy4uLy4uLy4uL2Jhc2VDb2luJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBkZWNvZGVPckVsc2UsIEtleWNoYWluIH0gZnJvbSAnLi4vLi4vLi4vLi4nO1xuaW1wb3J0IHsgUmVkcGFsbGFzTVBDdjJVdGlscyB9IGZyb20gJy4uL3JlZHBhbGxhc01QQ3YyJztcbmltcG9ydCB7IFJlZHBhbGxhc01QQ3YyS2V5R2VuU2VuZEZuLCBSZWRwYWxsYXNLZXlHZW5TZW5kZXJGb3JFbnRlcnByaXNlIH0gZnJvbSAnLi4vcmVkcGFsbGFzTVBDdjJLZXlHZW5TZW5kZXInO1xuXG4vKipcbiAqIEN1c3RvZGlhbCAoU01DL09WQykgREtHLW9ubHkga2V5IGdlbmVyYXRpb24gZm9yIHRoZSBaY2FzaCBPcmNoYXJkIHNoaWVsZGVkIHBvb2wgKFJlZFBhbGxhcykuXG4gKlxuICogTWlycm9ycyBmb3IgYm90aCBjdXN0b2RpYWwgYW5kIFNNQyB3YWxsZXRcbiAqIGNlcmVtb25pZXMgZHJpdmVuIGJ5IGV4dGVybmFsIE9WQyAob2ZmbGluZSB2YXVsdCBjb25zb2xlKSBjbGllbnRzOiByb3VuZDEvcm91bmQyIHBheWxvYWRzIGFyZVxuICogcmVsYXllZCBmcm9tIE9WQzEvT1ZDMiB0byBCaXRHbyBhbmQgYmFjay4gVGhlcmUgaXMgbm8gcm91bmQzIChubyBzaWduaW5nKSAtIFJlZFBhbGxhcyBNUFMgREtHXG4gKiBjb21wbGV0ZXMga2V5IGdlbmVyYXRpb24gaW4gMiBvbmxpbmUgcm91bmRzLCBzYW1lIGFzIEVkRFNBIE1QUyBES0cuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWRwYWxsYXNNUEN2MlNNQ1V0aWxzIHtcbiAgcHJpdmF0ZSBNUEN2MlV0aWxzOiBSZWRwYWxsYXNNUEN2MlV0aWxzO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYml0Z286IEJpdEdvQmFzZSwgcHJpdmF0ZSBiYXNlQ29pbjogSUJhc2VDb2luKSB7XG4gICAgdGhpcy5NUEN2MlV0aWxzID0gbmV3IFJlZHBhbGxhc01QQ3YyVXRpbHMoYml0Z28sIGJhc2VDb2luKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBrZXlHZW5Sb3VuZDEoXG4gICAgZW50ZXJwcmlzZTogc3RyaW5nLFxuICAgIHBheWxvYWQ6IFJlZHBhbGxhc09WQzFUb0JpdGdvUm91bmQxUGF5bG9hZFxuICApOiBQcm9taXNlPFJlZHBhbGxhc0JpdGdvVG9PVkMxUm91bmQxUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5rZXlHZW5Sb3VuZDFCeVNlbmRlcihSZWRwYWxsYXNLZXlHZW5TZW5kZXJGb3JFbnRlcnByaXNlKHRoaXMuYml0Z28sIGVudGVycHJpc2UpLCBwYXlsb2FkKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBrZXlHZW5Sb3VuZDIoXG4gICAgZW50ZXJwcmlzZTogc3RyaW5nLFxuICAgIHBheWxvYWQ6IFJlZHBhbGxhc09WQzJUb0JpdGdvUm91bmQyUGF5bG9hZFxuICApOiBQcm9taXNlPFJlZHBhbGxhc0JpdGdvVG9PVkMxUm91bmQyUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5rZXlHZW5Sb3VuZDJCeVNlbmRlcihSZWRwYWxsYXNLZXlHZW5TZW5kZXJGb3JFbnRlcnByaXNlKHRoaXMuYml0Z28sIGVudGVycHJpc2UpLCBwYXlsb2FkKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBrZXlHZW5Sb3VuZDFCeVNlbmRlcihcbiAgICBzZW5kZXJGbjogUmVkcGFsbGFzTVBDdjJLZXlHZW5TZW5kRm48UmVkcGFsbGFzTVBDdjJLZXlHZW5Sb3VuZDFSZXNwb25zZT4sXG4gICAgcGF5bG9hZDogUmVkcGFsbGFzT1ZDMVRvQml0Z29Sb3VuZDFQYXlsb2FkXG4gICk6IFByb21pc2U8UmVkcGFsbGFzQml0Z29Ub09WQzFSb3VuZDFSZXNwb25zZT4ge1xuICAgIGFzc2VydChcbiAgICAgIHBheWxvYWQuc3RhdGUgPT09IFJlZHBhbGxhc0tleUNyZWF0aW9uTVBDdjJTdGF0ZUVudW0uV2FpdGluZ0ZvckJpdGdvUm91bmQxRGF0YSxcbiAgICAgIGBJbnZhbGlkIHN0YXRlIGZvciByb3VuZCAxLCBleHBlY3RlZDogJHtSZWRwYWxsYXNLZXlDcmVhdGlvbk1QQ3YyU3RhdGVFbnVtLldhaXRpbmdGb3JCaXRnb1JvdW5kMURhdGF9LCBnb3Q6ICR7cGF5bG9hZC5zdGF0ZX1gXG4gICAgKTtcbiAgICBkZWNvZGVPckVsc2UoUmVkcGFsbGFzT1ZDMVRvQml0Z29Sb3VuZDFQYXlsb2FkLm5hbWUsIFJlZHBhbGxhc09WQzFUb0JpdGdvUm91bmQxUGF5bG9hZCwgcGF5bG9hZCwgKGVycm9ycykgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBlcnJvcihzKSBwYXJzaW5nIHBheWxvYWQ6ICR7ZXJyb3JzfWApO1xuICAgIH0pO1xuXG4gICAgY29uc3Qgb3ZjMSA9IHBheWxvYWQub3ZjW09WQ0luZGV4RW51bS5PTkVdO1xuICAgIGNvbnN0IG92YzIgPSBwYXlsb2FkLm92Y1tPVkNJbmRleEVudW0uVFdPXTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLk1QQ3YyVXRpbHMuc2VuZEtleUdlbmVyYXRpb25Sb3VuZDFCeVNlbmRlcihzZW5kZXJGbiwge1xuICAgICAgdXNlckdwZ1B1YmxpY0tleTogb3ZjMS5ncGdQdWJLZXksXG4gICAgICBiYWNrdXBHcGdQdWJsaWNLZXk6IG92YzIuZ3BnUHViS2V5LFxuICAgICAgdXNlck1zZzE6IG92YzEub3ZjTXNnMSxcbiAgICAgIGJhY2t1cE1zZzE6IG92YzIub3ZjTXNnMSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0ge1xuICAgICAgc3RhdGU6IFJlZHBhbGxhc0tleUNyZWF0aW9uTVBDdjJTdGF0ZUVudW0uV2FpdGluZ0Zvck9WQzFSb3VuZDJEYXRhLFxuICAgICAgdHNzVmVyc2lvbjogcGF5bG9hZC50c3NWZXJzaW9uLFxuICAgICAgd2FsbGV0VHlwZTogcGF5bG9hZC53YWxsZXRUeXBlLFxuICAgICAgY29pbjogcGF5bG9hZC5jb2luLFxuICAgICAgb3ZjOiBwYXlsb2FkLm92YyxcbiAgICAgIHBsYXRmb3JtOiB7XG4gICAgICAgIHNlc3Npb25JZDogcmVzdWx0LnNlc3Npb25JZCxcbiAgICAgICAgYml0Z29Nc2cxOiByZXN1bHQuYml0Z29Nc2cxLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShcbiAgICAgIFJlZHBhbGxhc0JpdGdvVG9PVkMxUm91bmQxUmVzcG9uc2UubmFtZSxcbiAgICAgIFJlZHBhbGxhc0JpdGdvVG9PVkMxUm91bmQxUmVzcG9uc2UsXG4gICAgICByZXNwb25zZSxcbiAgICAgIChlcnJvcnMpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBlcnJvcihzKSBwYXJzaW5nIHJlc3BvbnNlOiAke2Vycm9yc31gKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGtleUdlblJvdW5kMkJ5U2VuZGVyKFxuICAgIHNlbmRlckZuOiBSZWRwYWxsYXNNUEN2MktleUdlblNlbmRGbjxSZWRwYWxsYXNNUEN2MktleUdlblJvdW5kMlJlc3BvbnNlPixcbiAgICBwYXlsb2FkOiBSZWRwYWxsYXNPVkMyVG9CaXRnb1JvdW5kMlBheWxvYWRcbiAgKTogUHJvbWlzZTxSZWRwYWxsYXNCaXRnb1RvT1ZDMVJvdW5kMlJlc3BvbnNlPiB7XG4gICAgYXNzZXJ0KFxuICAgICAgcGF5bG9hZC5zdGF0ZSA9PT0gUmVkcGFsbGFzS2V5Q3JlYXRpb25NUEN2MlN0YXRlRW51bS5XYWl0aW5nRm9yQml0Z29Sb3VuZDJEYXRhLFxuICAgICAgYEludmFsaWQgc3RhdGUgZm9yIHJvdW5kIDIsIGV4cGVjdGVkOiAke1JlZHBhbGxhc0tleUNyZWF0aW9uTVBDdjJTdGF0ZUVudW0uV2FpdGluZ0ZvckJpdGdvUm91bmQyRGF0YX0sIGdvdDogJHtwYXlsb2FkLnN0YXRlfWBcbiAgICApO1xuICAgIGRlY29kZU9yRWxzZShSZWRwYWxsYXNPVkMyVG9CaXRnb1JvdW5kMlBheWxvYWQubmFtZSwgUmVkcGFsbGFzT1ZDMlRvQml0Z29Sb3VuZDJQYXlsb2FkLCBwYXlsb2FkLCAoZXJyb3JzKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGVycm9yKHMpIHBhcnNpbmcgcGF5bG9hZDogJHtlcnJvcnN9YCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBvdmMxID0gcGF5bG9hZC5vdmNbT1ZDSW5kZXhFbnVtLk9ORV07XG4gICAgY29uc3Qgb3ZjMiA9IHBheWxvYWQub3ZjW09WQ0luZGV4RW51bS5UV09dO1xuICAgIGNvbnN0IHNlc3Npb25JZCA9IHBheWxvYWQucGxhdGZvcm0uc2Vzc2lvbklkO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuTVBDdjJVdGlscy5zZW5kS2V5R2VuZXJhdGlvblJvdW5kMkJ5U2VuZGVyKHNlbmRlckZuLCB7XG4gICAgICBzZXNzaW9uSWQsXG4gICAgICB1c2VyTXNnMjogb3ZjMS5vdmNNc2cyLFxuICAgICAgYmFja3VwTXNnMjogb3ZjMi5vdmNNc2cyLFxuICAgIH0pO1xuXG4gICAgYXNzZXJ0LmVxdWFsKHNlc3Npb25JZCwgcmVzdWx0LnNlc3Npb25JZCwgJ1JvdW5kIDEgYW5kIHJvdW5kIDIgc2Vzc2lvbiBJRHMgZG8gbm90IG1hdGNoJyk7XG5cbiAgICBjb25zdCBrZXljaGFpbnMgPSB0aGlzLmJhc2VDb2luLmtleWNoYWlucygpO1xuICAgIGNvbnN0IGJpdGdvS2V5Y2hhaW4gPSBhd2FpdCBrZXljaGFpbnMuYWRkKHtcbiAgICAgIHNvdXJjZTogJ2JpdGdvJyxcbiAgICAgIGtleVR5cGU6ICd0c3MnLFxuICAgICAgY29tbW9uS2V5Y2hhaW46IHJlc3VsdC5jb21tb25QdWJsaWNLZXljaGFpbixcbiAgICAgIGlzTVBDdjI6IHRydWUsXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IHtcbiAgICAgIHN0YXRlOiBSZWRwYWxsYXNLZXlDcmVhdGlvbk1QQ3YyU3RhdGVFbnVtLldhaXRpbmdGb3JPVkMxR2VuZXJhdGVLZXksXG4gICAgICBiaXRHb0tleUlkOiBiaXRnb0tleWNoYWluLmlkLFxuICAgICAgdHNzVmVyc2lvbjogcGF5bG9hZC50c3NWZXJzaW9uLFxuICAgICAgd2FsbGV0VHlwZTogcGF5bG9hZC53YWxsZXRUeXBlLFxuICAgICAgY29pbjogcGF5bG9hZC5jb2luLFxuICAgICAgb3ZjOiBwYXlsb2FkLm92YyxcbiAgICAgIHBsYXRmb3JtOiB7XG4gICAgICAgIC8vIHNlc3Npb25JZC9iaXRnb01zZzEgY2FycmllZCBvdmVyIGZyb20gcGF5bG9hZC5wbGF0Zm9ybTsgc2FmZSBiZWNhdXNlIHRoZSBhc3NlcnRcbiAgICAgICAgLy8gYWJvdmUgZ3VhcmFudGVlcyBwYXlsb2FkLnBsYXRmb3JtLnNlc3Npb25JZCBlcXVhbHMgcmVzdWx0LnNlc3Npb25JZC5cbiAgICAgICAgLi4ucGF5bG9hZC5wbGF0Zm9ybSxcbiAgICAgICAgY29tbW9uUHVibGljS2V5Y2hhaW46IHJlc3VsdC5jb21tb25QdWJsaWNLZXljaGFpbixcbiAgICAgICAgYml0Z29Nc2cyOiByZXN1bHQuYml0Z29Nc2cyLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShcbiAgICAgIFJlZHBhbGxhc0JpdGdvVG9PVkMxUm91bmQyUmVzcG9uc2UubmFtZSxcbiAgICAgIFJlZHBhbGxhc0JpdGdvVG9PVkMxUm91bmQyUmVzcG9uc2UsXG4gICAgICByZXNwb25zZSxcbiAgICAgIChlcnJvcnMpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBlcnJvcihzKSBwYXJzaW5nIHJlc3BvbnNlOiAke2Vycm9yc31gKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHVwbG9hZENsaWVudEtleXMoXG4gICAgYml0Z29LZXlJZDogc3RyaW5nLFxuICAgIHVzZXJDb21tb25LZXljaGFpbjogc3RyaW5nLFxuICAgIGJhY2t1cENvbW1vbktleWNoYWluOiBzdHJpbmdcbiAgKTogUHJvbWlzZTx7IHVzZXJLZXljaGFpbjogS2V5Y2hhaW47IGJhY2t1cEtleWNoYWluOiBLZXljaGFpbjsgYml0Z29LZXljaGFpbjogS2V5Y2hhaW4gfT4ge1xuICAgIGFzc2VydChcbiAgICAgIHVzZXJDb21tb25LZXljaGFpbiA9PT0gYmFja3VwQ29tbW9uS2V5Y2hhaW4sXG4gICAgICAnQ29tbW9uIGtleWNoYWluIG1pc21hdGNoIGJldHdlZW4gdGhlIHVzZXIgYW5kIGJhY2t1cCBrZXljaGFpbnMnXG4gICAgKTtcblxuICAgIGNvbnN0IGtleWNoYWlucyA9IHRoaXMuYmFzZUNvaW4ua2V5Y2hhaW5zKCk7XG4gICAgY29uc3QgYml0Z29LZXljaGFpbiA9IGF3YWl0IGtleWNoYWlucy5nZXQoeyBpZDogYml0Z29LZXlJZCB9KTtcbiAgICBhc3NlcnQoYml0Z29LZXljaGFpbiwgJ0tleWNoYWluIG5vdCBmb3VuZCcpO1xuICAgIGFzc2VydChiaXRnb0tleWNoYWluLnNvdXJjZSA9PT0gJ2JpdGdvJywgJ1RoZSBrZXljaGFpbiBpcyBub3QgYSBCaXRHbyBrZXljaGFpbicpO1xuICAgIGFzc2VydChiaXRnb0tleWNoYWluLnR5cGUgPT09ICd0c3MnLCAnQml0R28ga2V5Y2hhaW4gaXMgbm90IGEgVFNTIGtleWNoYWluJyk7XG4gICAgYXNzZXJ0KGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4sICdCaXRHbyBrZXljaGFpbiBkb2VzIG5vdCBoYXZlIGEgY29tbW9uIGtleWNoYWluJyk7XG4gICAgYXNzZXJ0KGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4gPT09IHVzZXJDb21tb25LZXljaGFpbiwgJ0NvbW1vbiBrZXljaGFpbiBtaXNtYXRjaCBiZXR3ZWVuIHRoZSBPVkNzIGFuZCBCaXRHbycpO1xuXG4gICAgY29uc3QgdXNlcktleWNoYWluUHJvbWlzZSA9IGtleWNoYWlucy5hZGQoe1xuICAgICAgc291cmNlOiAndXNlcicsXG4gICAgICBrZXlUeXBlOiAndHNzJyxcbiAgICAgIGNvbW1vbktleWNoYWluOiB1c2VyQ29tbW9uS2V5Y2hhaW4sXG4gICAgICBpc01QQ3YyOiB0cnVlLFxuICAgIH0pO1xuICAgIGNvbnN0IGJhY2t1cEtleWNoYWluUHJvbWlzZSA9IGtleWNoYWlucy5hZGQoe1xuICAgICAgc291cmNlOiAnYmFja3VwJyxcbiAgICAgIGtleVR5cGU6ICd0c3MnLFxuICAgICAgY29tbW9uS2V5Y2hhaW46IGJhY2t1cENvbW1vbktleWNoYWluLFxuICAgICAgaXNNUEN2MjogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IFt1c2VyS2V5Y2hhaW4sIGJhY2t1cEtleWNoYWluXSA9IGF3YWl0IFByb21pc2UuYWxsKFt1c2VyS2V5Y2hhaW5Qcm9taXNlLCBiYWNrdXBLZXljaGFpblByb21pc2VdKTtcbiAgICByZXR1cm4geyB1c2VyS2V5Y2hhaW4sIGJhY2t1cEtleWNoYWluLCBiaXRnb0tleWNoYWluIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/redpallas/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./redpallasMPCv2"), exports);
|
|
18
|
+
__exportStar(require("./redpallasMPCv2KeyGenSender"), exports);
|
|
19
|
+
__exportStar(require("./SMC/utils"), exports);
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL3JlZHBhbGxhcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWlDO0FBQ2pDLCtEQUE2QztBQUM3Qyw4Q0FBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JlZHBhbGxhc01QQ3YyJztcbmV4cG9ydCAqIGZyb20gJy4vcmVkcGFsbGFzTVBDdjJLZXlHZW5TZW5kZXInO1xuZXhwb3J0ICogZnJvbSAnLi9TTUMvdXRpbHMnO1xuIl19
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { RedpallasMPCv2KeyGenRound1Request, RedpallasMPCv2KeyGenRound1Response, RedpallasMPCv2KeyGenRound2Request, RedpallasMPCv2KeyGenRound2Response } from '@bitgo/public-types';
|
|
2
|
+
import { IBaseCoin } from '../../../baseCoin';
|
|
3
|
+
import { BitGoBase } from '../../../bitgoBase';
|
|
4
|
+
import { IWallet } from '../../../wallet';
|
|
5
|
+
import BaseTssUtils from '../baseTSSUtils';
|
|
6
|
+
import { GenerateRedpallasMPCv2KeyRequestResponse, RedpallasMPCv2KeyGenSendFn } from './redpallasMPCv2KeyGenSender';
|
|
7
|
+
/**
|
|
8
|
+
* DKG-only MPCv2 utils for the Zcash Orchard shielded pool (RedPallas / "Ironwood").
|
|
9
|
+
*
|
|
10
|
+
* This currently only exposes the BitGo-platform round1/round2 dispatch used by the custodial
|
|
11
|
+
* SMC/OVC ceremony (see `RedpallasMPCv2SMCUtils` in `./SMC/utils.ts`) - there is no self-custody
|
|
12
|
+
* (direct, non-OVC) key-generation entrypoint here, since nothing in this SDK constructs one
|
|
13
|
+
* today. There is also no signing (DSG) support - transaction signing for Zcash shielded
|
|
14
|
+
* addresses is out of scope for this SDK.
|
|
15
|
+
*
|
|
16
|
+
* RedPallas MPS DKG completes in the same 2-round shape as EdDSA MPS DKG (round0 local, round1 +
|
|
17
|
+
* round2 online). The resulting `commonPublicKeychain` is the raw 32-byte RedPallas group public
|
|
18
|
+
* key (64 hex chars) - there is no BIP32-style chain code, unlike EdDSA/ECDSA commonKeychains.
|
|
19
|
+
*/
|
|
20
|
+
export declare class RedpallasMPCv2Utils extends BaseTssUtils<unknown> {
|
|
21
|
+
constructor(bitgo: BitGoBase, baseCoin: IBaseCoin, wallet?: IWallet);
|
|
22
|
+
sendKeyGenerationRound1(enterprise: string, payload: RedpallasMPCv2KeyGenRound1Request, safeId?: string): Promise<RedpallasMPCv2KeyGenRound1Response>;
|
|
23
|
+
sendKeyGenerationRound1BySender(senderFn: RedpallasMPCv2KeyGenSendFn<GenerateRedpallasMPCv2KeyRequestResponse>, payload: RedpallasMPCv2KeyGenRound1Request): Promise<RedpallasMPCv2KeyGenRound1Response>;
|
|
24
|
+
sendKeyGenerationRound2(enterprise: string, payload: RedpallasMPCv2KeyGenRound2Request): Promise<RedpallasMPCv2KeyGenRound2Response>;
|
|
25
|
+
sendKeyGenerationRound2BySender(senderFn: RedpallasMPCv2KeyGenSendFn<GenerateRedpallasMPCv2KeyRequestResponse>, payload: RedpallasMPCv2KeyGenRound2Request): Promise<RedpallasMPCv2KeyGenRound2Response>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=redpallasMPCv2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redpallasMPCv2.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/redpallas/redpallasMPCv2.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iCAAiC,EACjC,kCAAkC,EAClC,iCAAiC,EACjC,kCAAkC,EACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAEL,wCAAwC,EAExC,0BAA0B,EAC3B,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAoB,SAAQ,YAAY,CAAC,OAAO,CAAC;gBAChD,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO;IAO7D,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iCAAiC,EAC1C,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,kCAAkC,CAAC;IAOxC,+BAA+B,CACnC,QAAQ,EAAE,0BAA0B,CAAC,wCAAwC,CAAC,EAC9E,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,kCAAkC,CAAC;IAOxC,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,kCAAkC,CAAC;IAIxC,+BAA+B,CACnC,QAAQ,EAAE,0BAA0B,CAAC,wCAAwC,CAAC,EAC9E,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,kCAAkC,CAAC;CAQ/C"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RedpallasMPCv2Utils = void 0;
|
|
7
|
+
const public_types_1 = require("@bitgo/public-types");
|
|
8
|
+
const baseTSSUtils_1 = __importDefault(require("../baseTSSUtils"));
|
|
9
|
+
const redpallasMPCv2KeyGenSender_1 = require("./redpallasMPCv2KeyGenSender");
|
|
10
|
+
/**
|
|
11
|
+
* DKG-only MPCv2 utils for the Zcash Orchard shielded pool (RedPallas / "Ironwood").
|
|
12
|
+
*
|
|
13
|
+
* This currently only exposes the BitGo-platform round1/round2 dispatch used by the custodial
|
|
14
|
+
* SMC/OVC ceremony (see `RedpallasMPCv2SMCUtils` in `./SMC/utils.ts`) - there is no self-custody
|
|
15
|
+
* (direct, non-OVC) key-generation entrypoint here, since nothing in this SDK constructs one
|
|
16
|
+
* today. There is also no signing (DSG) support - transaction signing for Zcash shielded
|
|
17
|
+
* addresses is out of scope for this SDK.
|
|
18
|
+
*
|
|
19
|
+
* RedPallas MPS DKG completes in the same 2-round shape as EdDSA MPS DKG (round0 local, round1 +
|
|
20
|
+
* round2 online). The resulting `commonPublicKeychain` is the raw 32-byte RedPallas group public
|
|
21
|
+
* key (64 hex chars) - there is no BIP32-style chain code, unlike EdDSA/ECDSA commonKeychains.
|
|
22
|
+
*/
|
|
23
|
+
class RedpallasMPCv2Utils extends baseTSSUtils_1.default {
|
|
24
|
+
constructor(bitgo, baseCoin, wallet) {
|
|
25
|
+
super(bitgo, baseCoin, wallet);
|
|
26
|
+
this.setBitgoGpgPubKey(bitgo);
|
|
27
|
+
}
|
|
28
|
+
// #region platform round1/round2 dispatch
|
|
29
|
+
async sendKeyGenerationRound1(enterprise, payload, safeId) {
|
|
30
|
+
return this.sendKeyGenerationRound1BySender((0, redpallasMPCv2KeyGenSender_1.RedpallasKeyGenSenderForEnterprise)(this.bitgo, enterprise, safeId), payload);
|
|
31
|
+
}
|
|
32
|
+
async sendKeyGenerationRound1BySender(senderFn, payload) {
|
|
33
|
+
return senderFn(public_types_1.MPCv2KeyGenStateEnum['MPCv2-R1'], payload);
|
|
34
|
+
}
|
|
35
|
+
async sendKeyGenerationRound2(enterprise, payload) {
|
|
36
|
+
return this.sendKeyGenerationRound2BySender((0, redpallasMPCv2KeyGenSender_1.RedpallasKeyGenSenderForEnterprise)(this.bitgo, enterprise), payload);
|
|
37
|
+
}
|
|
38
|
+
async sendKeyGenerationRound2BySender(senderFn, payload) {
|
|
39
|
+
return senderFn(public_types_1.MPCv2KeyGenStateEnum['MPCv2-R2'], payload);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.RedpallasMPCv2Utils = RedpallasMPCv2Utils;
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkcGFsbGFzTVBDdjIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL3JlZHBhbGxhcy9yZWRwYWxsYXNNUEN2Mi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxzREFNNkI7QUFJN0IsbUVBQTJDO0FBQzNDLDZFQUtzQztBQUV0Qzs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFhLG1CQUFvQixTQUFRLHNCQUFxQjtJQUM1RCxZQUFZLEtBQWdCLEVBQUUsUUFBbUIsRUFBRSxNQUFnQjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELDBDQUEwQztJQUUxQyxLQUFLLENBQUMsdUJBQXVCLENBQzNCLFVBQWtCLEVBQ2xCLE9BQTBDLEVBQzFDLE1BQWU7UUFFZixPQUFPLElBQUksQ0FBQywrQkFBK0IsQ0FDekMsSUFBQSwrREFBa0MsRUFBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsRUFDbEUsT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLCtCQUErQixDQUNuQyxRQUE4RSxFQUM5RSxPQUEwQztRQUUxQyxPQUFPLFFBQVEsQ0FDYixtQ0FBb0IsQ0FBQyxVQUFVLENBQUMsRUFDaEMsT0FBK0MsQ0FDRCxDQUFDO0lBQ25ELENBQUM7SUFFRCxLQUFLLENBQUMsdUJBQXVCLENBQzNCLFVBQWtCLEVBQ2xCLE9BQTBDO1FBRTFDLE9BQU8sSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUEsK0RBQWtDLEVBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuSCxDQUFDO0lBRUQsS0FBSyxDQUFDLCtCQUErQixDQUNuQyxRQUE4RSxFQUM5RSxPQUEwQztRQUUxQyxPQUFPLFFBQVEsQ0FDYixtQ0FBb0IsQ0FBQyxVQUFVLENBQUMsRUFDaEMsT0FBK0MsQ0FDRCxDQUFDO0lBQ25ELENBQUM7Q0FHRjtBQS9DRCxrREErQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNUEN2MktleUdlblN0YXRlRW51bSxcbiAgUmVkcGFsbGFzTVBDdjJLZXlHZW5Sb3VuZDFSZXF1ZXN0LFxuICBSZWRwYWxsYXNNUEN2MktleUdlblJvdW5kMVJlc3BvbnNlLFxuICBSZWRwYWxsYXNNUEN2MktleUdlblJvdW5kMlJlcXVlc3QsXG4gIFJlZHBhbGxhc01QQ3YyS2V5R2VuUm91bmQyUmVzcG9uc2UsXG59IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHsgSUJhc2VDb2luIH0gZnJvbSAnLi4vLi4vLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vLi4vLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IElXYWxsZXQgfSBmcm9tICcuLi8uLi8uLi93YWxsZXQnO1xuaW1wb3J0IEJhc2VUc3NVdGlscyBmcm9tICcuLi9iYXNlVFNTVXRpbHMnO1xuaW1wb3J0IHtcbiAgR2VuZXJhdGVSZWRwYWxsYXNNUEN2MktleVJlcXVlc3RCb2R5LFxuICBHZW5lcmF0ZVJlZHBhbGxhc01QQ3YyS2V5UmVxdWVzdFJlc3BvbnNlLFxuICBSZWRwYWxsYXNLZXlHZW5TZW5kZXJGb3JFbnRlcnByaXNlLFxuICBSZWRwYWxsYXNNUEN2MktleUdlblNlbmRGbixcbn0gZnJvbSAnLi9yZWRwYWxsYXNNUEN2MktleUdlblNlbmRlcic7XG5cbi8qKlxuICogREtHLW9ubHkgTVBDdjIgdXRpbHMgZm9yIHRoZSBaY2FzaCBPcmNoYXJkIHNoaWVsZGVkIHBvb2wgKFJlZFBhbGxhcyAvIFwiSXJvbndvb2RcIikuXG4gKlxuICogVGhpcyBjdXJyZW50bHkgb25seSBleHBvc2VzIHRoZSBCaXRHby1wbGF0Zm9ybSByb3VuZDEvcm91bmQyIGRpc3BhdGNoIHVzZWQgYnkgdGhlIGN1c3RvZGlhbFxuICogU01DL09WQyBjZXJlbW9ueSAoc2VlIGBSZWRwYWxsYXNNUEN2MlNNQ1V0aWxzYCBpbiBgLi9TTUMvdXRpbHMudHNgKSAtIHRoZXJlIGlzIG5vIHNlbGYtY3VzdG9keVxuICogKGRpcmVjdCwgbm9uLU9WQykga2V5LWdlbmVyYXRpb24gZW50cnlwb2ludCBoZXJlLCBzaW5jZSBub3RoaW5nIGluIHRoaXMgU0RLIGNvbnN0cnVjdHMgb25lXG4gKiB0b2RheS4gVGhlcmUgaXMgYWxzbyBubyBzaWduaW5nIChEU0cpIHN1cHBvcnQgLSB0cmFuc2FjdGlvbiBzaWduaW5nIGZvciBaY2FzaCBzaGllbGRlZFxuICogYWRkcmVzc2VzIGlzIG91dCBvZiBzY29wZSBmb3IgdGhpcyBTREsuXG4gKlxuICogUmVkUGFsbGFzIE1QUyBES0cgY29tcGxldGVzIGluIHRoZSBzYW1lIDItcm91bmQgc2hhcGUgYXMgRWREU0EgTVBTIERLRyAocm91bmQwIGxvY2FsLCByb3VuZDEgK1xuICogcm91bmQyIG9ubGluZSkuIFRoZSByZXN1bHRpbmcgYGNvbW1vblB1YmxpY0tleWNoYWluYCBpcyB0aGUgcmF3IDMyLWJ5dGUgUmVkUGFsbGFzIGdyb3VwIHB1YmxpY1xuICoga2V5ICg2NCBoZXggY2hhcnMpIC0gdGhlcmUgaXMgbm8gQklQMzItc3R5bGUgY2hhaW4gY29kZSwgdW5saWtlIEVkRFNBL0VDRFNBIGNvbW1vbktleWNoYWlucy5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlZHBhbGxhc01QQ3YyVXRpbHMgZXh0ZW5kcyBCYXNlVHNzVXRpbHM8dW5rbm93bj4ge1xuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBiYXNlQ29pbjogSUJhc2VDb2luLCB3YWxsZXQ/OiBJV2FsbGV0KSB7XG4gICAgc3VwZXIoYml0Z28sIGJhc2VDb2luLCB3YWxsZXQpO1xuICAgIHRoaXMuc2V0Qml0Z29HcGdQdWJLZXkoYml0Z28pO1xuICB9XG5cbiAgLy8gI3JlZ2lvbiBwbGF0Zm9ybSByb3VuZDEvcm91bmQyIGRpc3BhdGNoXG5cbiAgYXN5bmMgc2VuZEtleUdlbmVyYXRpb25Sb3VuZDEoXG4gICAgZW50ZXJwcmlzZTogc3RyaW5nLFxuICAgIHBheWxvYWQ6IFJlZHBhbGxhc01QQ3YyS2V5R2VuUm91bmQxUmVxdWVzdCxcbiAgICBzYWZlSWQ/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxSZWRwYWxsYXNNUEN2MktleUdlblJvdW5kMVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VuZEtleUdlbmVyYXRpb25Sb3VuZDFCeVNlbmRlcihcbiAgICAgIFJlZHBhbGxhc0tleUdlblNlbmRlckZvckVudGVycHJpc2UodGhpcy5iaXRnbywgZW50ZXJwcmlzZSwgc2FmZUlkKSxcbiAgICAgIHBheWxvYWRcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgc2VuZEtleUdlbmVyYXRpb25Sb3VuZDFCeVNlbmRlcihcbiAgICBzZW5kZXJGbjogUmVkcGFsbGFzTVBDdjJLZXlHZW5TZW5kRm48R2VuZXJhdGVSZWRwYWxsYXNNUEN2MktleVJlcXVlc3RSZXNwb25zZT4sXG4gICAgcGF5bG9hZDogUmVkcGFsbGFzTVBDdjJLZXlHZW5Sb3VuZDFSZXF1ZXN0XG4gICk6IFByb21pc2U8UmVkcGFsbGFzTVBDdjJLZXlHZW5Sb3VuZDFSZXNwb25zZT4ge1xuICAgIHJldHVybiBzZW5kZXJGbihcbiAgICAgIE1QQ3YyS2V5R2VuU3RhdGVFbnVtWydNUEN2Mi1SMSddLFxuICAgICAgcGF5bG9hZCBhcyBHZW5lcmF0ZVJlZHBhbGxhc01QQ3YyS2V5UmVxdWVzdEJvZHlcbiAgICApIGFzIFByb21pc2U8UmVkcGFsbGFzTVBDdjJLZXlHZW5Sb3VuZDFSZXNwb25zZT47XG4gIH1cblxuICBhc3luYyBzZW5kS2V5R2VuZXJhdGlvblJvdW5kMihcbiAgICBlbnRlcnByaXNlOiBzdHJpbmcsXG4gICAgcGF5bG9hZDogUmVkcGFsbGFzTVBDdjJLZXlHZW5Sb3VuZDJSZXF1ZXN0XG4gICk6IFByb21pc2U8UmVkcGFsbGFzTVBDdjJLZXlHZW5Sb3VuZDJSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLnNlbmRLZXlHZW5lcmF0aW9uUm91bmQyQnlTZW5kZXIoUmVkcGFsbGFzS2V5R2VuU2VuZGVyRm9yRW50ZXJwcmlzZSh0aGlzLmJpdGdvLCBlbnRlcnByaXNlKSwgcGF5bG9hZCk7XG4gIH1cblxuICBhc3luYyBzZW5kS2V5R2VuZXJhdGlvblJvdW5kMkJ5U2VuZGVyKFxuICAgIHNlbmRlckZuOiBSZWRwYWxsYXNNUEN2MktleUdlblNlbmRGbjxHZW5lcmF0ZVJlZHBhbGxhc01QQ3YyS2V5UmVxdWVzdFJlc3BvbnNlPixcbiAgICBwYXlsb2FkOiBSZWRwYWxsYXNNUEN2MktleUdlblJvdW5kMlJlcXVlc3RcbiAgKTogUHJvbWlzZTxSZWRwYWxsYXNNUEN2MktleUdlblJvdW5kMlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHNlbmRlckZuKFxuICAgICAgTVBDdjJLZXlHZW5TdGF0ZUVudW1bJ01QQ3YyLVIyJ10sXG4gICAgICBwYXlsb2FkIGFzIEdlbmVyYXRlUmVkcGFsbGFzTVBDdjJLZXlSZXF1ZXN0Qm9keVxuICAgICkgYXMgUHJvbWlzZTxSZWRwYWxsYXNNUEN2MktleUdlblJvdW5kMlJlc3BvbnNlPjtcbiAgfVxuXG4gIC8vICNlbmRyZWdpb25cbn1cbiJdfQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as t from 'io-ts';
|
|
2
|
+
import { MPCv2KeyGenState } from '@bitgo/public-types';
|
|
3
|
+
import { BitGoBase } from '../../../bitgoBase';
|
|
4
|
+
declare const generateRedpallasMPCv2KeyRequestBody: t.UnionC<[t.TypeC<{
|
|
5
|
+
userGpgPublicKey: import("io-ts-types").NonEmptyStringC;
|
|
6
|
+
backupGpgPublicKey: import("io-ts-types").NonEmptyStringC;
|
|
7
|
+
userMsg1: t.TypeC<{
|
|
8
|
+
message: t.StringC;
|
|
9
|
+
signature: t.StringC;
|
|
10
|
+
}>;
|
|
11
|
+
backupMsg1: t.TypeC<{
|
|
12
|
+
message: t.StringC;
|
|
13
|
+
signature: t.StringC;
|
|
14
|
+
}>;
|
|
15
|
+
}>, t.TypeC<{
|
|
16
|
+
sessionId: import("io-ts-types").NonEmptyStringC;
|
|
17
|
+
userMsg2: t.TypeC<{
|
|
18
|
+
message: t.StringC;
|
|
19
|
+
signature: t.StringC;
|
|
20
|
+
}>;
|
|
21
|
+
backupMsg2: t.TypeC<{
|
|
22
|
+
message: t.StringC;
|
|
23
|
+
signature: t.StringC;
|
|
24
|
+
}>;
|
|
25
|
+
}>]>;
|
|
26
|
+
export type GenerateRedpallasMPCv2KeyRequestBody = t.TypeOf<typeof generateRedpallasMPCv2KeyRequestBody>;
|
|
27
|
+
declare const generateRedpallasMPCv2KeyRequestResponse: t.UnionC<[t.TypeC<{
|
|
28
|
+
sessionId: import("io-ts-types").NonEmptyStringC;
|
|
29
|
+
bitgoMsg1: t.TypeC<{
|
|
30
|
+
message: t.StringC;
|
|
31
|
+
signature: t.StringC;
|
|
32
|
+
}>;
|
|
33
|
+
}>, t.TypeC<{
|
|
34
|
+
sessionId: import("io-ts-types").NonEmptyStringC;
|
|
35
|
+
commonPublicKeychain: import("io-ts-types").NonEmptyStringC;
|
|
36
|
+
bitgoMsg2: t.TypeC<{
|
|
37
|
+
message: t.StringC;
|
|
38
|
+
signature: t.StringC;
|
|
39
|
+
}>;
|
|
40
|
+
}>]>;
|
|
41
|
+
export type GenerateRedpallasMPCv2KeyRequestResponse = t.TypeOf<typeof generateRedpallasMPCv2KeyRequestResponse>;
|
|
42
|
+
export type RedpallasMPCv2KeyGenSendFn<T extends GenerateRedpallasMPCv2KeyRequestResponse> = (round: MPCv2KeyGenState, payload: GenerateRedpallasMPCv2KeyRequestBody) => Promise<T>;
|
|
43
|
+
export declare function RedpallasKeyGenSenderForEnterprise<T extends GenerateRedpallasMPCv2KeyRequestResponse>(bitgo: BitGoBase, enterprise: string, safeId?: string): RedpallasMPCv2KeyGenSendFn<T>;
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=redpallasMPCv2KeyGenSender.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redpallasMPCv2KeyGenSender.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,EAGL,gBAAgB,EAKjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,QAAA,MAAM,oCAAoC;6BA6B6lL,aAAa;+BAAkD,aAAa;cAAgC,EAAG,KAAK;iBAAmB,EAAG,OAAO;mBAAoB,EAAG,OAAO;;gBAAyB,EAAG,KAAK;iBAAmB,EAAG,OAAO;mBAAoB,EAAG,OAAO;;;sBAAwgB,aAAa;cAAgC,EAAG,KAAK;iBAAmB,EAAG,OAAO;mBAAoB,EAAG,OAAO;;gBAAyB,EAAG,KAAK;iBAAmB,EAAG,OAAO;mBAAoB,EAAG,OAAO;;IA1BpmN,CAAC;AACH,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAEzG,QAAA,MAAM,wCAAwC;sBAuB+iM,aAAa;eAAiC,EAAG,KAAK;iBAAmB,EAAG,OAAO;mBAAoB,EAAG,OAAO;;;sBAAmmB,aAAa;iCAAoD,aAAa;eAAiC,EAAG,KAAK;iBAAmB,EAAG,OAAO;mBAAoB,EAAG,OAAO;;IApBj+N,CAAC;AACH,MAAM,MAAM,wCAAwC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,wCAAwC,CAAC,CAAC;AAEjH,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,wCAAwC,IAAI,CAC3F,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,oCAAoC,KAC1C,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhB,wBAAgB,kCAAkC,CAAC,CAAC,SAAS,wCAAwC,EACnG,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,0BAA0B,CAAC,CAAC,CAAC,CAO/B"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.RedpallasKeyGenSenderForEnterprise = RedpallasKeyGenSenderForEnterprise;
|
|
37
|
+
const t = __importStar(require("io-ts"));
|
|
38
|
+
const public_types_1 = require("@bitgo/public-types");
|
|
39
|
+
const generateRedpallasMPCv2KeyRequestBody = t.union([
|
|
40
|
+
public_types_1.RedpallasMPCv2KeyGenRound1Request,
|
|
41
|
+
public_types_1.RedpallasMPCv2KeyGenRound2Request,
|
|
42
|
+
]);
|
|
43
|
+
const generateRedpallasMPCv2KeyRequestResponse = t.union([
|
|
44
|
+
public_types_1.RedpallasMPCv2KeyGenRound1Response,
|
|
45
|
+
public_types_1.RedpallasMPCv2KeyGenRound2Response,
|
|
46
|
+
]);
|
|
47
|
+
function RedpallasKeyGenSenderForEnterprise(bitgo, enterprise, safeId) {
|
|
48
|
+
return (round, payload) => {
|
|
49
|
+
return bitgo
|
|
50
|
+
.post(bitgo.url('/mpc/generatekey', 2))
|
|
51
|
+
.send({ enterprise, safeId, type: public_types_1.KeyGenTypeEnum.MPCv2, curveType: public_types_1.KeyCurveEnum.RedPallas, round, payload })
|
|
52
|
+
.result();
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkcGFsbGFzTVBDdjJLZXlHZW5TZW5kZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL3JlZHBhbGxhcy9yZWRwYWxsYXNNUEN2MktleUdlblNlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTZCQSxnRkFXQztBQXhDRCx5Q0FBMkI7QUFDM0Isc0RBUTZCO0FBRzdCLE1BQU0sb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNuRCxnREFBaUM7SUFDakMsZ0RBQWlDO0NBQ2xDLENBQUMsQ0FBQztBQUdILE1BQU0sd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN2RCxpREFBa0M7SUFDbEMsaURBQWtDO0NBQ25DLENBQUMsQ0FBQztBQVFILFNBQWdCLGtDQUFrQyxDQUNoRCxLQUFnQixFQUNoQixVQUFrQixFQUNsQixNQUFlO0lBRWYsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUN4QixPQUFPLEtBQUs7YUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN0QyxJQUFJLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSw2QkFBYyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsMkJBQVksQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO2FBQzNHLE1BQU0sRUFBRSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IHtcbiAgS2V5Q3VydmVFbnVtLFxuICBLZXlHZW5UeXBlRW51bSxcbiAgTVBDdjJLZXlHZW5TdGF0ZSxcbiAgUmVkcGFsbGFzTVBDdjJLZXlHZW5Sb3VuZDFSZXF1ZXN0LFxuICBSZWRwYWxsYXNNUEN2MktleUdlblJvdW5kMVJlc3BvbnNlLFxuICBSZWRwYWxsYXNNUEN2MktleUdlblJvdW5kMlJlcXVlc3QsXG4gIFJlZHBhbGxhc01QQ3YyS2V5R2VuUm91bmQyUmVzcG9uc2UsXG59IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vLi4vLi4vYml0Z29CYXNlJztcblxuY29uc3QgZ2VuZXJhdGVSZWRwYWxsYXNNUEN2MktleVJlcXVlc3RCb2R5ID0gdC51bmlvbihbXG4gIFJlZHBhbGxhc01QQ3YyS2V5R2VuUm91bmQxUmVxdWVzdCxcbiAgUmVkcGFsbGFzTVBDdjJLZXlHZW5Sb3VuZDJSZXF1ZXN0LFxuXSk7XG5leHBvcnQgdHlwZSBHZW5lcmF0ZVJlZHBhbGxhc01QQ3YyS2V5UmVxdWVzdEJvZHkgPSB0LlR5cGVPZjx0eXBlb2YgZ2VuZXJhdGVSZWRwYWxsYXNNUEN2MktleVJlcXVlc3RCb2R5PjtcblxuY29uc3QgZ2VuZXJhdGVSZWRwYWxsYXNNUEN2MktleVJlcXVlc3RSZXNwb25zZSA9IHQudW5pb24oW1xuICBSZWRwYWxsYXNNUEN2MktleUdlblJvdW5kMVJlc3BvbnNlLFxuICBSZWRwYWxsYXNNUEN2MktleUdlblJvdW5kMlJlc3BvbnNlLFxuXSk7XG5leHBvcnQgdHlwZSBHZW5lcmF0ZVJlZHBhbGxhc01QQ3YyS2V5UmVxdWVzdFJlc3BvbnNlID0gdC5UeXBlT2Y8dHlwZW9mIGdlbmVyYXRlUmVkcGFsbGFzTVBDdjJLZXlSZXF1ZXN0UmVzcG9uc2U+O1xuXG5leHBvcnQgdHlwZSBSZWRwYWxsYXNNUEN2MktleUdlblNlbmRGbjxUIGV4dGVuZHMgR2VuZXJhdGVSZWRwYWxsYXNNUEN2MktleVJlcXVlc3RSZXNwb25zZT4gPSAoXG4gIHJvdW5kOiBNUEN2MktleUdlblN0YXRlLFxuICBwYXlsb2FkOiBHZW5lcmF0ZVJlZHBhbGxhc01QQ3YyS2V5UmVxdWVzdEJvZHlcbikgPT4gUHJvbWlzZTxUPjtcblxuZXhwb3J0IGZ1bmN0aW9uIFJlZHBhbGxhc0tleUdlblNlbmRlckZvckVudGVycHJpc2U8VCBleHRlbmRzIEdlbmVyYXRlUmVkcGFsbGFzTVBDdjJLZXlSZXF1ZXN0UmVzcG9uc2U+KFxuICBiaXRnbzogQml0R29CYXNlLFxuICBlbnRlcnByaXNlOiBzdHJpbmcsXG4gIHNhZmVJZD86IHN0cmluZ1xuKTogUmVkcGFsbGFzTVBDdjJLZXlHZW5TZW5kRm48VD4ge1xuICByZXR1cm4gKHJvdW5kLCBwYXlsb2FkKSA9PiB7XG4gICAgcmV0dXJuIGJpdGdvXG4gICAgICAucG9zdChiaXRnby51cmwoJy9tcGMvZ2VuZXJhdGVrZXknLCAyKSlcbiAgICAgIC5zZW5kKHsgZW50ZXJwcmlzZSwgc2FmZUlkLCB0eXBlOiBLZXlHZW5UeXBlRW51bS5NUEN2MiwgY3VydmVUeXBlOiBLZXlDdXJ2ZUVudW0uUmVkUGFsbGFzLCByb3VuZCwgcGF5bG9hZCB9KVxuICAgICAgLnJlc3VsdCgpO1xuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IBaseCoin } from '../../baseCoin';
|
|
2
|
+
/**
|
|
3
|
+
* Returns true when TSS verifyTransaction should decode serializedTxHex instead of
|
|
4
|
+
* signableHex (e.g. ICP hash digests, or legacy EIP-155 RLP that fails ethereumjs
|
|
5
|
+
* fromSerializedTx). Controlled via CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX.
|
|
6
|
+
*/
|
|
7
|
+
export declare function shouldVerifyWithSerializedTxHex(coin: IBaseCoin): boolean;
|
|
8
|
+
//# sourceMappingURL=serializedTxHexVerify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializedTxHexVerify.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/serializedTxHexVerify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAExE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.shouldVerifyWithSerializedTxHex = shouldVerifyWithSerializedTxHex;
|
|
4
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
5
|
+
/**
|
|
6
|
+
* Returns true when TSS verifyTransaction should decode serializedTxHex instead of
|
|
7
|
+
* signableHex (e.g. ICP hash digests, or legacy EIP-155 RLP that fails ethereumjs
|
|
8
|
+
* fromSerializedTx). Controlled via CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX.
|
|
9
|
+
*/
|
|
10
|
+
function shouldVerifyWithSerializedTxHex(coin) {
|
|
11
|
+
return coin.getConfig().features?.includes(statics_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX) ?? false;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplZFR4SGV4VmVyaWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL3Rzcy9zZXJpYWxpemVkVHhIZXhWZXJpZnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFTQSwwRUFFQztBQVhELGlEQUFrRDtBQUlsRDs7OztHQUlHO0FBQ0gsU0FBZ0IsK0JBQStCLENBQUMsSUFBZTtJQUM3RCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLHFCQUFXLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxLQUFLLENBQUM7QUFDcEcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvaW5GZWF0dXJlIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5cbmltcG9ydCB7IElCYXNlQ29pbiB9IGZyb20gJy4uLy4uL2Jhc2VDb2luJztcblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgd2hlbiBUU1MgdmVyaWZ5VHJhbnNhY3Rpb24gc2hvdWxkIGRlY29kZSBzZXJpYWxpemVkVHhIZXggaW5zdGVhZCBvZlxuICogc2lnbmFibGVIZXggKGUuZy4gSUNQIGhhc2ggZGlnZXN0cywgb3IgbGVnYWN5IEVJUC0xNTUgUkxQIHRoYXQgZmFpbHMgZXRoZXJldW1qc1xuICogZnJvbVNlcmlhbGl6ZWRUeCkuIENvbnRyb2xsZWQgdmlhIENvaW5GZWF0dXJlLlRTU19WRVJJRllfVVNFX1NFUklBTElaRURfVFhfSEVYLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvdWxkVmVyaWZ5V2l0aFNlcmlhbGl6ZWRUeEhleChjb2luOiBJQmFzZUNvaW4pOiBib29sZWFuIHtcbiAgcmV0dXJuIGNvaW4uZ2V0Q29uZmlnKCkuZmVhdHVyZXM/LmluY2x1ZGVzKENvaW5GZWF0dXJlLlRTU19WRVJJRllfVVNFX1NFUklBTElaRURfVFhfSEVYKSA/PyBmYWxzZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface CoinWithSignableConsistency {
|
|
2
|
+
/**
|
|
3
|
+
* Verify that the server-supplied signableHex is consistent with serializedTxHex.
|
|
4
|
+
* For TSS_VERIFY_USE_SERIALIZED_TX_HEX coins (BSC, XDC), the MPC signing flow
|
|
5
|
+
* verifies serializedTxHex but signs signableHex — both are server-supplied
|
|
6
|
+
* independently. This method derives the expected signableHex from the
|
|
7
|
+
* serializedTxHex locally and throws InvalidTransactionError if they diverge.
|
|
8
|
+
*/
|
|
9
|
+
assertSignableConsistency(serializedTxHex: string, signableHex: string): void;
|
|
10
|
+
}
|
|
11
|
+
export declare function isCoinWithSignableConsistency(coin: unknown): coin is CoinWithSignableConsistency;
|
|
12
|
+
//# sourceMappingURL=signableConsistency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signableConsistency.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/signableConsistency.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,2BAA2B;IAC1C;;;;;;OAMG;IACH,yBAAyB,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/E;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,2BAA2B,CAMhG"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isCoinWithSignableConsistency = isCoinWithSignableConsistency;
|
|
4
|
+
function isCoinWithSignableConsistency(coin) {
|
|
5
|
+
return (coin !== null &&
|
|
6
|
+
typeof coin === 'object' &&
|
|
7
|
+
typeof coin.assertSignableConsistency === 'function');
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFibGVDb25zaXN0ZW5jeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby91dGlscy90c3Mvc2lnbmFibGVDb25zaXN0ZW5jeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVdBLHNFQU1DO0FBTkQsU0FBZ0IsNkJBQTZCLENBQUMsSUFBYTtJQUN6RCxPQUFPLENBQ0wsSUFBSSxLQUFLLElBQUk7UUFDYixPQUFPLElBQUksS0FBSyxRQUFRO1FBQ3hCLE9BQVEsSUFBb0MsQ0FBQyx5QkFBeUIsS0FBSyxVQUFVLENBQ3RGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb2luV2l0aFNpZ25hYmxlQ29uc2lzdGVuY3kge1xuICAvKipcbiAgICogVmVyaWZ5IHRoYXQgdGhlIHNlcnZlci1zdXBwbGllZCBzaWduYWJsZUhleCBpcyBjb25zaXN0ZW50IHdpdGggc2VyaWFsaXplZFR4SGV4LlxuICAgKiBGb3IgVFNTX1ZFUklGWV9VU0VfU0VSSUFMSVpFRF9UWF9IRVggY29pbnMgKEJTQywgWERDKSwgdGhlIE1QQyBzaWduaW5nIGZsb3dcbiAgICogdmVyaWZpZXMgc2VyaWFsaXplZFR4SGV4IGJ1dCBzaWducyBzaWduYWJsZUhleCDigJQgYm90aCBhcmUgc2VydmVyLXN1cHBsaWVkXG4gICAqIGluZGVwZW5kZW50bHkuICBUaGlzIG1ldGhvZCBkZXJpdmVzIHRoZSBleHBlY3RlZCBzaWduYWJsZUhleCBmcm9tIHRoZVxuICAgKiBzZXJpYWxpemVkVHhIZXggbG9jYWxseSBhbmQgdGhyb3dzIEludmFsaWRUcmFuc2FjdGlvbkVycm9yIGlmIHRoZXkgZGl2ZXJnZS5cbiAgICovXG4gIGFzc2VydFNpZ25hYmxlQ29uc2lzdGVuY3koc2VyaWFsaXplZFR4SGV4OiBzdHJpbmcsIHNpZ25hYmxlSGV4OiBzdHJpbmcpOiB2b2lkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb2luV2l0aFNpZ25hYmxlQ29uc2lzdGVuY3koY29pbjogdW5rbm93bik6IGNvaW4gaXMgQ29pbldpdGhTaWduYWJsZUNvbnNpc3RlbmN5IHtcbiAgcmV0dXJuIChcbiAgICBjb2luICE9PSBudWxsICYmXG4gICAgdHlwZW9mIGNvaW4gPT09ICdvYmplY3QnICYmXG4gICAgdHlwZW9mIChjb2luIGFzIENvaW5XaXRoU2lnbmFibGVDb25zaXN0ZW5jeSkuYXNzZXJ0U2lnbmFibGVDb25zaXN0ZW5jeSA9PT0gJ2Z1bmN0aW9uJ1xuICApO1xufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ApiVersion, IWallet } from '../wallet';
|
|
2
|
+
export declare function validateTxRequestApiVersion(wallet: IWallet, requestedApiVersion: ApiVersion): void;
|
|
3
|
+
/**
|
|
4
|
+
* Get the api version for the provided wallet.
|
|
5
|
+
* If the user requested api version is invalid, this will throw an error.
|
|
6
|
+
* @param wallet
|
|
7
|
+
* @param requestedApiVersion
|
|
8
|
+
*/
|
|
9
|
+
export declare function getTxRequestApiVersion(wallet: IWallet, requestedApiVersion?: ApiVersion): ApiVersion;
|
|
10
|
+
//# sourceMappingURL=txRequest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"txRequest.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/txRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGhD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,UAAU,GAAG,IAAI,CAiBlG;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAAE,UAAU,GAAG,UAAU,CAcpG"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.validateTxRequestApiVersion = validateTxRequestApiVersion;
|
|
7
|
+
exports.getTxRequestApiVersion = getTxRequestApiVersion;
|
|
8
|
+
const assert_1 = __importDefault(require("assert"));
|
|
9
|
+
function validateTxRequestApiVersion(wallet, requestedApiVersion) {
|
|
10
|
+
if (wallet.multisigType() !== 'tss') {
|
|
11
|
+
// only tss wallets have api version requirements
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (wallet.baseCoin.getMPCAlgorithm() === 'ecdsa') {
|
|
15
|
+
(0, assert_1.default)(requestedApiVersion === 'full', 'For ECDSA tss wallets, parameter `apiVersion` must be `full`.');
|
|
16
|
+
}
|
|
17
|
+
else if (wallet.multisigTypeVersion() === 'MPCv2') {
|
|
18
|
+
(0, assert_1.default)(requestedApiVersion === 'full', 'For EdDSA MPCv2 tss wallets, parameter `apiVersion` must be `full`.');
|
|
19
|
+
}
|
|
20
|
+
else if (wallet.type() !== 'hot') {
|
|
21
|
+
// all other cases should use full!
|
|
22
|
+
(0, assert_1.default)(requestedApiVersion === 'full', 'For non self-custodial (hot) tss wallets, parameter `apiVersion` must be `full`.');
|
|
23
|
+
}
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get the api version for the provided wallet.
|
|
28
|
+
* If the user requested api version is invalid, this will throw an error.
|
|
29
|
+
* @param wallet
|
|
30
|
+
* @param requestedApiVersion
|
|
31
|
+
*/
|
|
32
|
+
function getTxRequestApiVersion(wallet, requestedApiVersion) {
|
|
33
|
+
if (requestedApiVersion) {
|
|
34
|
+
validateTxRequestApiVersion(wallet, requestedApiVersion);
|
|
35
|
+
return requestedApiVersion;
|
|
36
|
+
}
|
|
37
|
+
if (wallet.baseCoin.getMPCAlgorithm() === 'ecdsa' || wallet.multisigTypeVersion() === 'MPCv2') {
|
|
38
|
+
return 'full';
|
|
39
|
+
}
|
|
40
|
+
else if (wallet.type() === 'hot') {
|
|
41
|
+
// default to lite for hot eddsa tss wallets (v1 only)
|
|
42
|
+
return 'lite';
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
// default to full for all other wallet types
|
|
46
|
+
return 'full';
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhSZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL3R4UmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLGtFQWlCQztBQVFELHdEQWNDO0FBekNELG9EQUE0QjtBQUU1QixTQUFnQiwyQkFBMkIsQ0FBQyxNQUFlLEVBQUUsbUJBQStCO0lBQzFGLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ3BDLGlEQUFpRDtRQUNqRCxPQUFPO0lBQ1QsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUNsRCxJQUFBLGdCQUFNLEVBQUMsbUJBQW1CLEtBQUssTUFBTSxFQUFFLCtEQUErRCxDQUFDLENBQUM7SUFDMUcsQ0FBQztTQUFNLElBQUksTUFBTSxDQUFDLG1CQUFtQixFQUFFLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDcEQsSUFBQSxnQkFBTSxFQUFDLG1CQUFtQixLQUFLLE1BQU0sRUFBRSxxRUFBcUUsQ0FBQyxDQUFDO0lBQ2hILENBQUM7U0FBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUNuQyxtQ0FBbUM7UUFDbkMsSUFBQSxnQkFBTSxFQUNKLG1CQUFtQixLQUFLLE1BQU0sRUFDOUIsa0ZBQWtGLENBQ25GLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTztBQUNULENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLHNCQUFzQixDQUFDLE1BQWUsRUFBRSxtQkFBZ0M7SUFDdEYsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3hCLDJCQUEyQixDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sbUJBQW1CLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsS0FBSyxPQUFPLElBQUksTUFBTSxDQUFDLG1CQUFtQixFQUFFLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDOUYsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztTQUFNLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ25DLHNEQUFzRDtRQUN0RCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO1NBQU0sQ0FBQztRQUNOLDZDQUE2QztRQUM3QyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwaVZlcnNpb24sIElXYWxsZXQgfSBmcm9tICcuLi93YWxsZXQnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUeFJlcXVlc3RBcGlWZXJzaW9uKHdhbGxldDogSVdhbGxldCwgcmVxdWVzdGVkQXBpVmVyc2lvbjogQXBpVmVyc2lvbik6IHZvaWQge1xuICBpZiAod2FsbGV0Lm11bHRpc2lnVHlwZSgpICE9PSAndHNzJykge1xuICAgIC8vIG9ubHkgdHNzIHdhbGxldHMgaGF2ZSBhcGkgdmVyc2lvbiByZXF1aXJlbWVudHNcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKHdhbGxldC5iYXNlQ29pbi5nZXRNUENBbGdvcml0aG0oKSA9PT0gJ2VjZHNhJykge1xuICAgIGFzc2VydChyZXF1ZXN0ZWRBcGlWZXJzaW9uID09PSAnZnVsbCcsICdGb3IgRUNEU0EgdHNzIHdhbGxldHMsIHBhcmFtZXRlciBgYXBpVmVyc2lvbmAgbXVzdCBiZSBgZnVsbGAuJyk7XG4gIH0gZWxzZSBpZiAod2FsbGV0Lm11bHRpc2lnVHlwZVZlcnNpb24oKSA9PT0gJ01QQ3YyJykge1xuICAgIGFzc2VydChyZXF1ZXN0ZWRBcGlWZXJzaW9uID09PSAnZnVsbCcsICdGb3IgRWREU0EgTVBDdjIgdHNzIHdhbGxldHMsIHBhcmFtZXRlciBgYXBpVmVyc2lvbmAgbXVzdCBiZSBgZnVsbGAuJyk7XG4gIH0gZWxzZSBpZiAod2FsbGV0LnR5cGUoKSAhPT0gJ2hvdCcpIHtcbiAgICAvLyBhbGwgb3RoZXIgY2FzZXMgc2hvdWxkIHVzZSBmdWxsIVxuICAgIGFzc2VydChcbiAgICAgIHJlcXVlc3RlZEFwaVZlcnNpb24gPT09ICdmdWxsJyxcbiAgICAgICdGb3Igbm9uIHNlbGYtY3VzdG9kaWFsIChob3QpIHRzcyB3YWxsZXRzLCBwYXJhbWV0ZXIgYGFwaVZlcnNpb25gIG11c3QgYmUgYGZ1bGxgLidcbiAgICApO1xuICB9XG4gIHJldHVybjtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIGFwaSB2ZXJzaW9uIGZvciB0aGUgcHJvdmlkZWQgd2FsbGV0LlxuICogSWYgdGhlIHVzZXIgcmVxdWVzdGVkIGFwaSB2ZXJzaW9uIGlzIGludmFsaWQsIHRoaXMgd2lsbCB0aHJvdyBhbiBlcnJvci5cbiAqIEBwYXJhbSB3YWxsZXRcbiAqIEBwYXJhbSByZXF1ZXN0ZWRBcGlWZXJzaW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUeFJlcXVlc3RBcGlWZXJzaW9uKHdhbGxldDogSVdhbGxldCwgcmVxdWVzdGVkQXBpVmVyc2lvbj86IEFwaVZlcnNpb24pOiBBcGlWZXJzaW9uIHtcbiAgaWYgKHJlcXVlc3RlZEFwaVZlcnNpb24pIHtcbiAgICB2YWxpZGF0ZVR4UmVxdWVzdEFwaVZlcnNpb24od2FsbGV0LCByZXF1ZXN0ZWRBcGlWZXJzaW9uKTtcbiAgICByZXR1cm4gcmVxdWVzdGVkQXBpVmVyc2lvbjtcbiAgfVxuICBpZiAod2FsbGV0LmJhc2VDb2luLmdldE1QQ0FsZ29yaXRobSgpID09PSAnZWNkc2EnIHx8IHdhbGxldC5tdWx0aXNpZ1R5cGVWZXJzaW9uKCkgPT09ICdNUEN2MicpIHtcbiAgICByZXR1cm4gJ2Z1bGwnO1xuICB9IGVsc2UgaWYgKHdhbGxldC50eXBlKCkgPT09ICdob3QnKSB7XG4gICAgLy8gZGVmYXVsdCB0byBsaXRlIGZvciBob3QgZWRkc2EgdHNzIHdhbGxldHMgKHYxIG9ubHkpXG4gICAgcmV0dXJuICdsaXRlJztcbiAgfSBlbHNlIHtcbiAgICAvLyBkZWZhdWx0IHRvIGZ1bGwgZm9yIGFsbCBvdGhlciB3YWxsZXQgdHlwZXNcbiAgICByZXR1cm4gJ2Z1bGwnO1xuICB9XG59XG4iXX0=
|