@bitgo-beta/sdk-core 8.2.1-beta.19 → 8.2.1-beta.1900
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 +55 -2
- package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/enum.js +103 -6
- package/dist/src/account-lib/baseCoin/errors.d.ts +3 -0
- package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/errors.js +8 -2
- package/dist/src/account-lib/baseCoin/iface.d.ts +19 -35
- package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/iface.js +26 -18
- package/dist/src/account-lib/baseCoin/index.d.ts +1 -1
- package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/index.js +8 -5
- package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +88 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessage.js +154 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +67 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +144 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +33 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +45 -0
- package/dist/src/account-lib/baseCoin/messages/iface.d.ts +164 -0
- package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/iface.js +3 -0
- package/dist/src/account-lib/baseCoin/messages/index.d.ts +6 -0
- package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/index.js +22 -0
- package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts +3 -0
- package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/simple/index.js +19 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts +13 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.js +28 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts +21 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.js +28 -0
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +1 -2
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +38 -26
- package/dist/src/account-lib/index.js +23 -9
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts +4 -18
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/curves/ed25519.js +6 -60
- package/dist/src/account-lib/mpc/index.d.ts +4 -4
- package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/index.js +11 -7
- package/dist/src/account-lib/mpc/shamir.d.ts +5 -37
- package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/shamir.js +6 -130
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +44 -12
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +541 -356
- package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +73 -52
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +1 -2
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +66 -69
- package/dist/src/account-lib/mpc/tss/eddsa/index.js +23 -9
- package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +1 -4
- package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
- package/dist/src/account-lib/mpc/tss/index.js +23 -9
- package/dist/src/account-lib/mpc/util.d.ts +7 -1
- package/dist/src/account-lib/mpc/util.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/util.js +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 +61 -0
- package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -0
- package/dist/src/bitgo/address-book/address-book.js +150 -0
- package/dist/src/bitgo/address-book/index.d.ts +3 -0
- package/dist/src/bitgo/address-book/index.d.ts.map +1 -0
- package/dist/src/{openssl → bitgo/address-book}/index.js +8 -3
- package/dist/src/bitgo/address-book/types.d.ts +170 -0
- package/dist/src/bitgo/address-book/types.d.ts.map +1 -0
- package/dist/src/bitgo/address-book/types.js +3 -0
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts +126 -11
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.js +183 -16
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +286 -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 +9 -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 -89
- 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 +87 -0
- package/dist/src/bitgo/defi/defiVault.d.ts.map +1 -0
- package/dist/src/bitgo/defi/defiVault.js +225 -0
- package/dist/src/bitgo/defi/iDefiVault.d.ts +59 -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 +16 -14
- package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/enterprise.js +64 -31
- package/dist/src/bitgo/enterprise/enterprises.d.ts +6 -0
- package/dist/src/bitgo/enterprise/enterprises.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/enterprises.js +48 -9
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts +6 -7
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
- package/dist/src/bitgo/enterprise/iEnterprises.d.ts +2 -0
- package/dist/src/bitgo/enterprise/iEnterprises.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/iEnterprises.js +1 -1
- package/dist/src/bitgo/enterprise/index.js +6 -2
- package/dist/src/bitgo/environments.d.ts +83 -5
- package/dist/src/bitgo/environments.d.ts.map +1 -1
- package/dist/src/bitgo/environments.js +435 -30
- package/dist/src/bitgo/errors.d.ts +175 -0
- package/dist/src/bitgo/errors.d.ts.map +1 -1
- package/dist/src/bitgo/errors.js +166 -2
- package/dist/src/bitgo/evm/evmUtils.d.ts +26 -0
- package/dist/src/bitgo/evm/evmUtils.d.ts.map +1 -0
- package/dist/src/bitgo/evm/evmUtils.js +50 -0
- package/dist/src/bitgo/index.d.ts +4 -1
- package/dist/src/bitgo/index.d.ts.map +1 -1
- package/dist/src/bitgo/index.js +30 -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 +104 -9
- 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 +39 -7
- package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/keychains.js +255 -73
- package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +126 -91
- package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/ovcJsonCodec.js +53 -32
- package/dist/src/bitgo/legacyBitcoin.d.ts +0 -1
- package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
- package/dist/src/bitgo/legacyBitcoin.js +27 -13
- package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts +7 -0
- package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts.map +1 -0
- package/dist/src/bitgo/lightning/lightningWalletUtil.js +25 -0
- package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
- package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
- package/dist/src/bitgo/market/index.js +6 -2
- package/dist/src/bitgo/market/markets.js +23 -9
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +3 -0
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
- package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
- package/dist/src/bitgo/pendingApproval/index.js +6 -2
- package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +20 -8
- package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
- package/dist/src/bitgo/pendingApproval/pendingApproval.js +233 -102
- 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 +20 -4
- package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
- package/dist/src/bitgo/recovery/initiate.js +49 -41
- 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 +189 -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 +27 -8
- package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/stakingWallet.js +148 -7
- package/dist/src/bitgo/trading/iTradingAccount.d.ts +15 -33
- package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
- package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
- package/dist/src/bitgo/trading/index.d.ts +1 -15
- package/dist/src/bitgo/trading/index.d.ts.map +1 -1
- package/dist/src/bitgo/trading/index.js +7 -17
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
- package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
- package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt.js +23 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
- package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
- package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt.js +58 -0
- package/dist/src/bitgo/trading/network/index.d.ts +5 -0
- package/dist/src/bitgo/trading/network/index.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/index.js +21 -0
- package/dist/src/bitgo/trading/network/network.d.ts +36 -0
- package/dist/src/bitgo/trading/network/network.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/network.js +99 -0
- package/dist/src/bitgo/trading/network/types.d.ts +277 -0
- package/dist/src/bitgo/trading/network/types.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/types.js +3 -0
- package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
- package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/utils.js +54 -0
- package/dist/src/bitgo/trading/tradingAccount.d.ts +23 -33
- package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
- package/dist/src/bitgo/trading/tradingAccount.js +58 -97
- package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +38 -0
- package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
- package/dist/src/bitgo/tss/bitgoPubKeys.js +72 -0
- package/dist/src/bitgo/tss/common.d.ts +52 -7
- package/dist/src/bitgo/tss/common.d.ts.map +1 -1
- package/dist/src/bitgo/tss/common.js +143 -23
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +13 -8
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/ecdsa.js +93 -74
- 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 +19 -9
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/eddsa/eddsa.js +56 -38
- package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts +37 -0
- package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.js +95 -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 +19 -0
- package/dist/src/bitgo/tss/types.d.ts.map +1 -1
- package/dist/src/bitgo/tss/types.js +2 -2
- package/dist/src/bitgo/types.d.ts +3 -3
- package/dist/src/bitgo/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +12 -0
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +67 -10
- package/dist/src/bitgo/utils/codecProps.d.ts +7 -0
- package/dist/src/bitgo/utils/codecProps.d.ts.map +1 -0
- package/dist/src/bitgo/utils/codecProps.js +54 -0
- package/dist/src/bitgo/utils/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 +153 -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 +12 -9
- package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/opengpgUtils.js +83 -73
- package/dist/src/bitgo/utils/postWithCodec.d.ts +18 -0
- package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -0
- package/dist/src/bitgo/utils/postWithCodec.js +25 -0
- package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
- package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/promise-utils.js +2 -3
- package/dist/src/bitgo/utils/transactionUtils.d.ts +9 -0
- package/dist/src/bitgo/utils/transactionUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/transactionUtils.js +29 -0
- package/dist/src/bitgo/utils/triple.d.ts +1 -1
- package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
- package/dist/src/bitgo/utils/triple.js +2 -3
- package/dist/src/bitgo/utils/tss/addressVerification.d.ts +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 +155 -29
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +367 -44
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +582 -39
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +60 -10
- package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
- package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
- package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +28 -0
- package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/base.js +53 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +63 -50
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +374 -320
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +215 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +1049 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +8 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +13 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +4 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/index.js +10 -2
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +15 -9
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +107 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
- package/dist/src/bitgo/utils/tss/eddsa/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 +53 -14
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +311 -99
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +137 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +643 -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 +13 -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 +3 -0
- package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/index.js +26 -9
- 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 +33 -0
- package/dist/src/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/recipientUtils.js +117 -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/wallet/BuildParams.d.ts +161 -0
- package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/BuildParams.js +168 -0
- package/dist/src/bitgo/wallet/iWallet.d.ts +513 -24
- 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 +312 -19
- package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallets.js +63 -3
- package/dist/src/bitgo/wallet/index.js +6 -2
- package/dist/src/bitgo/wallet/wallet.d.ts +387 -29
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +2118 -416
- package/dist/src/bitgo/wallet/wallets.d.ts +118 -9
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallets.js +1288 -182
- 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 +11 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +34 -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/node.utils.d.ts +2 -0
- package/dist/test/node.utils.d.ts.map +1 -0
- package/dist/test/node.utils.js +5 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +207 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +174 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +108 -0
- package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +46 -0
- package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +69 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +279 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts +3 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts.map +1 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.js +24 -0
- package/dist/test/unit/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 +338 -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/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/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/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/utils/abstractUtxoCoinUtil.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -0
- package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
- package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.js +73 -0
- package/dist/test/unit/bitgo/utils/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 +399 -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 +1279 -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 +171 -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/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 +97 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +58 -0
- package/dist/test/unit/bitgo/wallet/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/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/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/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 +43 -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 +228 -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 +670 -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 +2 -0
- package/dist/test/unit/units.d.ts.map +1 -0
- package/dist/test/unit/units.js +98 -0
- package/dist/tsconfig.tsbuildinfo +1 -8339
- package/package.json +29 -23
- package/.eslintignore +0 -5
- package/CHANGELOG.md +0 -662
- package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
- package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
- package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
- package/dist/src/account-lib/mpc/hdTree.d.ts +0 -31
- package/dist/src/account-lib/mpc/hdTree.d.ts.map +0 -1
- package/dist/src/account-lib/mpc/hdTree.js +0 -141
- package/dist/src/account-lib/mpc/types.d.ts +0 -5
- package/dist/src/account-lib/mpc/types.d.ts.map +0 -1
- package/dist/src/account-lib/mpc/types.js +0 -3
- package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
- package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/iLightning.js +0 -106
- package/dist/src/bitgo/lightning/index.d.ts +0 -5
- package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/index.js +0 -17
- package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
- package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/lightning.js +0 -111
- package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
- package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
- package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
- package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
- package/dist/src/bitgo/trading/affirmation.d.ts +0 -35
- package/dist/src/bitgo/trading/affirmation.d.ts.map +0 -1
- package/dist/src/bitgo/trading/affirmation.js +0 -53
- package/dist/src/bitgo/trading/affirmations.d.ts +0 -23
- package/dist/src/bitgo/trading/affirmations.d.ts.map +0 -1
- package/dist/src/bitgo/trading/affirmations.js +0 -45
- package/dist/src/bitgo/trading/iAffirmation.d.ts +0 -15
- package/dist/src/bitgo/trading/iAffirmation.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iAffirmation.js +0 -13
- package/dist/src/bitgo/trading/iAffirmations.d.ts +0 -10
- package/dist/src/bitgo/trading/iAffirmations.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iAffirmations.js +0 -3
- package/dist/src/bitgo/trading/iSettlement.d.ts +0 -25
- package/dist/src/bitgo/trading/iSettlement.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iSettlement.js +0 -17
- package/dist/src/bitgo/trading/iSettlements.d.ts +0 -19
- package/dist/src/bitgo/trading/iSettlements.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iSettlements.js +0 -3
- package/dist/src/bitgo/trading/iTradingPartner.d.ts +0 -14
- package/dist/src/bitgo/trading/iTradingPartner.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iTradingPartner.js +0 -17
- package/dist/src/bitgo/trading/iTradingPartners.d.ts +0 -15
- package/dist/src/bitgo/trading/iTradingPartners.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iTradingPartners.js +0 -9
- package/dist/src/bitgo/trading/lock.d.ts +0 -16
- package/dist/src/bitgo/trading/lock.d.ts.map +0 -1
- package/dist/src/bitgo/trading/lock.js +0 -12
- package/dist/src/bitgo/trading/payload.d.ts +0 -22
- package/dist/src/bitgo/trading/payload.d.ts.map +0 -1
- package/dist/src/bitgo/trading/payload.js +0 -3
- package/dist/src/bitgo/trading/settlement.d.ts +0 -16
- package/dist/src/bitgo/trading/settlement.d.ts.map +0 -1
- package/dist/src/bitgo/trading/settlement.js +0 -21
- package/dist/src/bitgo/trading/settlements.d.ts +0 -32
- package/dist/src/bitgo/trading/settlements.d.ts.map +0 -1
- package/dist/src/bitgo/trading/settlements.js +0 -61
- package/dist/src/bitgo/trading/trade.d.ts +0 -29
- package/dist/src/bitgo/trading/trade.d.ts.map +0 -1
- package/dist/src/bitgo/trading/trade.js +0 -11
- package/dist/src/bitgo/trading/tradingPartner.d.ts +0 -26
- package/dist/src/bitgo/trading/tradingPartner.d.ts.map +0 -1
- package/dist/src/bitgo/trading/tradingPartner.js +0 -31
- package/dist/src/bitgo/trading/tradingPartners.d.ts +0 -24
- package/dist/src/bitgo/trading/tradingPartners.d.ts.map +0 -1
- package/dist/src/bitgo/trading/tradingPartners.js +0 -32
- package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
- package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
- package/dist/src/bitgo/utils/blsUtils.js +0 -237
- package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
- package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
- package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
- package/dist/src/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 -2
- package/dist/src/openssl/index.d.ts.map +0 -1
- package/dist/src/openssl/openssl.d.ts +0 -12
- package/dist/src/openssl/openssl.d.ts.map +0 -1
- package/dist/src/openssl/openssl.js +0 -48
- package/dist/src/openssl/opensslbytes.d.ts +0 -4
- package/dist/src/openssl/opensslbytes.d.ts.map +0 -1
- package/dist/src/openssl/opensslbytes.js +0 -20
|
@@ -0,0 +1,29 @@
|
|
|
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.transactionRecipientsMatch = transactionRecipientsMatch;
|
|
7
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
|
+
function transactionRecipientsMatch(recipient1, recipient2) {
|
|
9
|
+
const address1 = recipient1.address;
|
|
10
|
+
const address2 = recipient2.address;
|
|
11
|
+
const amount1 = new bignumber_js_1.default(recipient1.amount);
|
|
12
|
+
const amount2 = new bignumber_js_1.default(recipient2.amount);
|
|
13
|
+
const tokenName1 = recipient1.tokenName;
|
|
14
|
+
const tokenName2 = recipient2.tokenName;
|
|
15
|
+
const memo1 = recipient1.memo;
|
|
16
|
+
const memo2 = recipient2.memo;
|
|
17
|
+
const addressMatch = address1 === address2;
|
|
18
|
+
const amountMatch = amount1.isEqualTo(amount2);
|
|
19
|
+
const memoMatch = memo1 === memo2;
|
|
20
|
+
const tokenMatch = tokenName1 === tokenName2;
|
|
21
|
+
return {
|
|
22
|
+
addressMatch,
|
|
23
|
+
amountMatch,
|
|
24
|
+
memoMatch,
|
|
25
|
+
tokenMatch,
|
|
26
|
+
exactMatch: addressMatch && amountMatch && memoMatch && tokenMatch,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25VdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby91dGlscy90cmFuc2FjdGlvblV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsZ0VBeUJDO0FBNUJELGdFQUFxQztBQUdyQyxTQUFnQiwwQkFBMEIsQ0FBQyxVQUFpQyxFQUFFLFVBQWlDO0lBQzdHLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7SUFDcEMsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztJQUVwQyxNQUFNLE9BQU8sR0FBRyxJQUFJLHNCQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUksc0JBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFakQsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQztJQUN4QyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDO0lBRXhDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7SUFDOUIsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztJQUU5QixNQUFNLFlBQVksR0FBRyxRQUFRLEtBQUssUUFBUSxDQUFDO0lBQzNDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0MsTUFBTSxTQUFTLEdBQUcsS0FBSyxLQUFLLEtBQUssQ0FBQztJQUNsQyxNQUFNLFVBQVUsR0FBRyxVQUFVLEtBQUssVUFBVSxDQUFDO0lBRTdDLE9BQU87UUFDTCxZQUFZO1FBQ1osV0FBVztRQUNYLFNBQVM7UUFDVCxVQUFVO1FBQ1YsVUFBVSxFQUFFLFlBQVksSUFBSSxXQUFXLElBQUksU0FBUyxJQUFJLFVBQVU7S0FDbkUsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBJVHJhbnNhY3Rpb25SZWNpcGllbnQgfSBmcm9tICcuLi9iYXNlQ29pbic7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2FjdGlvblJlY2lwaWVudHNNYXRjaChyZWNpcGllbnQxOiBJVHJhbnNhY3Rpb25SZWNpcGllbnQsIHJlY2lwaWVudDI6IElUcmFuc2FjdGlvblJlY2lwaWVudCkge1xuICBjb25zdCBhZGRyZXNzMSA9IHJlY2lwaWVudDEuYWRkcmVzcztcbiAgY29uc3QgYWRkcmVzczIgPSByZWNpcGllbnQyLmFkZHJlc3M7XG5cbiAgY29uc3QgYW1vdW50MSA9IG5ldyBCaWdOdW1iZXIocmVjaXBpZW50MS5hbW91bnQpO1xuICBjb25zdCBhbW91bnQyID0gbmV3IEJpZ051bWJlcihyZWNpcGllbnQyLmFtb3VudCk7XG5cbiAgY29uc3QgdG9rZW5OYW1lMSA9IHJlY2lwaWVudDEudG9rZW5OYW1lO1xuICBjb25zdCB0b2tlbk5hbWUyID0gcmVjaXBpZW50Mi50b2tlbk5hbWU7XG5cbiAgY29uc3QgbWVtbzEgPSByZWNpcGllbnQxLm1lbW87XG4gIGNvbnN0IG1lbW8yID0gcmVjaXBpZW50Mi5tZW1vO1xuXG4gIGNvbnN0IGFkZHJlc3NNYXRjaCA9IGFkZHJlc3MxID09PSBhZGRyZXNzMjtcbiAgY29uc3QgYW1vdW50TWF0Y2ggPSBhbW91bnQxLmlzRXF1YWxUbyhhbW91bnQyKTtcbiAgY29uc3QgbWVtb01hdGNoID0gbWVtbzEgPT09IG1lbW8yO1xuICBjb25zdCB0b2tlbk1hdGNoID0gdG9rZW5OYW1lMSA9PT0gdG9rZW5OYW1lMjtcblxuICByZXR1cm4ge1xuICAgIGFkZHJlc3NNYXRjaCxcbiAgICBhbW91bnRNYXRjaCxcbiAgICBtZW1vTWF0Y2gsXG4gICAgdG9rZW5NYXRjaCxcbiAgICBleGFjdE1hdGNoOiBhZGRyZXNzTWF0Y2ggJiYgYW1vdW50TWF0Y2ggJiYgbWVtb01hdGNoICYmIHRva2VuTWF0Y2gsXG4gIH07XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triple.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/triple.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"triple.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/triple.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAElC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAEtD"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isTriple =
|
|
3
|
+
exports.isTriple = isTriple;
|
|
4
4
|
function isTriple(arr) {
|
|
5
5
|
return arr.length === 3;
|
|
6
6
|
}
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL3RyaXBsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxTQUFnQixRQUFRLENBQUksR0FBUTtJQUNsQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0FBQzFCLENBQUM7QUFGRCw0QkFFQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFRyaXBsZTxUPiA9IFtULCBULCBUXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVHJpcGxlPFQ+KGFycjogVFtdKTogYXJyIGlzIFRyaXBsZTxUPiB7XG4gIHJldHVybiBhcnIubGVuZ3RoID09PSAzO1xufVxuIl19
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL3RyaXBsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLDRCQUVDO0FBRkQsU0FBZ0IsUUFBUSxDQUFJLEdBQVE7SUFDbEMsT0FBTyxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztBQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVHJpcGxlPFQ+ID0gW1QsIFQsIFRdO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNUcmlwbGU8VD4oYXJyOiBUW10pOiBhcnIgaXMgVHJpcGxlPFQ+IHtcbiAgcmV0dXJuIGFyci5sZW5ndGggPT09IDM7XG59XG4iXX0=
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { TssVerifyAddressOptions } from '../../baseCoin/iBaseCoin';
|
|
2
|
+
/**
|
|
3
|
+
* Extracts and validates the commonKeychain from keychains array.
|
|
4
|
+
* For MPC wallets, all keychains should have the same commonKeychain.
|
|
5
|
+
*
|
|
6
|
+
* @param keychains - Array of keychains containing commonKeychain
|
|
7
|
+
* @returns The validated commonKeychain
|
|
8
|
+
* @throws {Error} if keychains are missing, empty, or have mismatched commonKeychains
|
|
9
|
+
*/
|
|
10
|
+
export declare function extractCommonKeychain(keychains: TssVerifyAddressOptions['keychains']): string;
|
|
11
|
+
/**
|
|
12
|
+
* Verifies if an address belongs to a wallet using EdDSA TSS MPC derivation.
|
|
13
|
+
* This is a common implementation for EdDSA-based MPC coins (SOL, DOT, SUI, TON, IOTA, etc.)
|
|
14
|
+
*
|
|
15
|
+
* @param params - Verification options including keychains, address, and derivation index
|
|
16
|
+
* @param isValidAddress - Coin-specific function to validate address format
|
|
17
|
+
* @param getAddressFromPublicKey - Coin-specific function to convert public key to address
|
|
18
|
+
* @returns true if the address matches the derived address, false otherwise
|
|
19
|
+
* @throws {InvalidAddressError} if the address is invalid
|
|
20
|
+
* @throws {Error} if required parameters are missing or invalid
|
|
21
|
+
*/
|
|
22
|
+
export declare function verifyEddsaTssWalletAddress(params: TssVerifyAddressOptions, isValidAddress: (address: string) => boolean, getAddressFromPublicKey: (publicKey: string) => string): Promise<boolean>;
|
|
23
|
+
/**
|
|
24
|
+
* Options for deriving an MPC wallet address. This is the subset of
|
|
25
|
+
* {@link TssVerifyAddressOptions} needed to *produce* an address (no `address` to check),
|
|
26
|
+
* plus the key curve.
|
|
27
|
+
*/
|
|
28
|
+
export type DeriveMPCWalletAddressOptions = Pick<TssVerifyAddressOptions, 'keychains' | 'index' | 'derivedFromParentWithSeed' | 'multisigTypeVersion'> & {
|
|
29
|
+
keyCurve: 'secp256k1' | 'ed25519';
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Derives a wallet address using TSS/MPC HD derivation from the commonKeychain,
|
|
33
|
+
* using public key material only (no private keys, no network access).
|
|
34
|
+
* Shared by EdDSA- and ECDSA-based MPC coins.
|
|
35
|
+
*
|
|
36
|
+
* This is the derivation half of {@link verifyMPCWalletAddress}: it *produces* the address
|
|
37
|
+
* rather than comparing it against a candidate, so the two can never diverge.
|
|
38
|
+
*
|
|
39
|
+
* @param params - keychains (commonKeychain), derivation index, optional seed/version, and keyCurve
|
|
40
|
+
* @param getAddressFromPublicKey - Coin-specific function to convert public key to address
|
|
41
|
+
* @returns the derived address and the HD derivation path used to derive it
|
|
42
|
+
* @throws {Error} if required parameters are missing or invalid
|
|
43
|
+
*/
|
|
44
|
+
export declare function deriveMPCWalletAddress(params: DeriveMPCWalletAddressOptions, getAddressFromPublicKey: (publicKey: string) => string): Promise<{
|
|
45
|
+
address: string;
|
|
46
|
+
derivationPath: string;
|
|
47
|
+
}>;
|
|
48
|
+
/**
|
|
49
|
+
* Verifies if an address belongs to a wallet using ECDSA TSS MPC derivation.
|
|
50
|
+
* This is a common implementation for ECDSA-based MPC coins (ETH, BTC, etc.)
|
|
51
|
+
*
|
|
52
|
+
* @param params - Verification options including keychains, address, and derivation index
|
|
53
|
+
* @param isValidAddress - Coin-specific function to validate address format
|
|
54
|
+
* @param getAddressFromPublicKey - Coin-specific function to convert public key to address
|
|
55
|
+
* @returns true if the address matches the derived address, false otherwise
|
|
56
|
+
* @throws {InvalidAddressError} if the address is invalid
|
|
57
|
+
* @throws {Error} if required parameters are missing or invalid
|
|
58
|
+
*/
|
|
59
|
+
export declare function verifyMPCWalletAddress(params: TssVerifyAddressOptions & {
|
|
60
|
+
keyCurve: 'secp256k1' | 'ed25519';
|
|
61
|
+
}, isValidAddress: (address: string) => boolean, getAddressFromPublicKey: (publicKey: string) => string): Promise<boolean>;
|
|
62
|
+
//# sourceMappingURL=addressVerification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addressVerification.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/addressVerification.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAInE;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,uBAAuB,CAAC,WAAW,CAAC,GAAG,MAAM,CAe7F;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,uBAAuB,EAC/B,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,EAC5C,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GACrD,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAC9C,uBAAuB,EACvB,WAAW,GAAG,OAAO,GAAG,2BAA2B,GAAG,qBAAqB,CAC5E,GAAG;IACF,QAAQ,EAAE,WAAW,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,6BAA6B,EACrC,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GACrD,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,CAmBtD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,uBAAuB,GAAG;IAChC,QAAQ,EAAE,WAAW,GAAG,SAAS,CAAC;CACnC,EACD,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,EAC5C,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GACrD,OAAO,CAAC,OAAO,CAAC,CAUlB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractCommonKeychain = extractCommonKeychain;
|
|
4
|
+
exports.verifyEddsaTssWalletAddress = verifyEddsaTssWalletAddress;
|
|
5
|
+
exports.deriveMPCWalletAddress = deriveMPCWalletAddress;
|
|
6
|
+
exports.verifyMPCWalletAddress = verifyMPCWalletAddress;
|
|
7
|
+
const sdk_lib_mpc_1 = require("@bitgo-beta/sdk-lib-mpc");
|
|
8
|
+
const mpc_1 = require("../../../account-lib/mpc");
|
|
9
|
+
const errors_1 = require("../../errors");
|
|
10
|
+
const tss_1 = require("../../tss");
|
|
11
|
+
/**
|
|
12
|
+
* Extracts and validates the commonKeychain from keychains array.
|
|
13
|
+
* For MPC wallets, all keychains should have the same commonKeychain.
|
|
14
|
+
*
|
|
15
|
+
* @param keychains - Array of keychains containing commonKeychain
|
|
16
|
+
* @returns The validated commonKeychain
|
|
17
|
+
* @throws {Error} if keychains are missing, empty, or have mismatched commonKeychains
|
|
18
|
+
*/
|
|
19
|
+
function extractCommonKeychain(keychains) {
|
|
20
|
+
if (!keychains?.length) {
|
|
21
|
+
throw new Error('missing required param keychains');
|
|
22
|
+
}
|
|
23
|
+
const commonKeychain = keychains[0].commonKeychain;
|
|
24
|
+
if (!commonKeychain) {
|
|
25
|
+
throw new Error('missing required param commonKeychain');
|
|
26
|
+
}
|
|
27
|
+
// Verify all keychains have the same commonKeychain
|
|
28
|
+
if (keychains.find((kc) => kc.commonKeychain !== commonKeychain))
|
|
29
|
+
throw new Error('all keychains must have the same commonKeychain for MPC coins');
|
|
30
|
+
return commonKeychain;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Verifies if an address belongs to a wallet using EdDSA TSS MPC derivation.
|
|
34
|
+
* This is a common implementation for EdDSA-based MPC coins (SOL, DOT, SUI, TON, IOTA, etc.)
|
|
35
|
+
*
|
|
36
|
+
* @param params - Verification options including keychains, address, and derivation index
|
|
37
|
+
* @param isValidAddress - Coin-specific function to validate address format
|
|
38
|
+
* @param getAddressFromPublicKey - Coin-specific function to convert public key to address
|
|
39
|
+
* @returns true if the address matches the derived address, false otherwise
|
|
40
|
+
* @throws {InvalidAddressError} if the address is invalid
|
|
41
|
+
* @throws {Error} if required parameters are missing or invalid
|
|
42
|
+
*/
|
|
43
|
+
async function verifyEddsaTssWalletAddress(params, isValidAddress, getAddressFromPublicKey) {
|
|
44
|
+
return verifyMPCWalletAddress({ ...params, keyCurve: 'ed25519' }, isValidAddress, getAddressFromPublicKey);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Derives a wallet address using TSS/MPC HD derivation from the commonKeychain,
|
|
48
|
+
* using public key material only (no private keys, no network access).
|
|
49
|
+
* Shared by EdDSA- and ECDSA-based MPC coins.
|
|
50
|
+
*
|
|
51
|
+
* This is the derivation half of {@link verifyMPCWalletAddress}: it *produces* the address
|
|
52
|
+
* rather than comparing it against a candidate, so the two can never diverge.
|
|
53
|
+
*
|
|
54
|
+
* @param params - keychains (commonKeychain), derivation index, optional seed/version, and keyCurve
|
|
55
|
+
* @param getAddressFromPublicKey - Coin-specific function to convert public key to address
|
|
56
|
+
* @returns the derived address and the HD derivation path used to derive it
|
|
57
|
+
* @throws {Error} if required parameters are missing or invalid
|
|
58
|
+
*/
|
|
59
|
+
async function deriveMPCWalletAddress(params, getAddressFromPublicKey) {
|
|
60
|
+
const { keychains, index, derivedFromParentWithSeed } = params;
|
|
61
|
+
const commonKeychain = extractCommonKeychain(keychains);
|
|
62
|
+
// Compute derivation path:
|
|
63
|
+
// - For SMC wallets with derivedFromParentWithSeed, compute prefix and use: {prefix}/{index}
|
|
64
|
+
// - For other wallets, use simple path: m/{index}
|
|
65
|
+
const prefix = derivedFromParentWithSeed ? (0, sdk_lib_mpc_1.getDerivationPath)(derivedFromParentWithSeed.toString()) : undefined;
|
|
66
|
+
const derivationPath = prefix ? `${prefix}/${index}` : `m/${index}`;
|
|
67
|
+
const MPC = params.keyCurve === 'secp256k1' ? new mpc_1.Ecdsa() : await tss_1.EDDSAMethods.getInitializedMpcInstance();
|
|
68
|
+
const derivedPublicKey = MPC.deriveUnhardened(commonKeychain, derivationPath);
|
|
69
|
+
// secp256k1 expects 33 bytes; ed25519 expects 32 bytes
|
|
70
|
+
const publicKeySize = params.keyCurve === 'secp256k1' ? 33 : 32;
|
|
71
|
+
const publicKeyOnly = Buffer.from(derivedPublicKey, 'hex').subarray(0, publicKeySize).toString('hex');
|
|
72
|
+
return { address: getAddressFromPublicKey(publicKeyOnly), derivationPath };
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Verifies if an address belongs to a wallet using ECDSA TSS MPC derivation.
|
|
76
|
+
* This is a common implementation for ECDSA-based MPC coins (ETH, BTC, etc.)
|
|
77
|
+
*
|
|
78
|
+
* @param params - Verification options including keychains, address, and derivation index
|
|
79
|
+
* @param isValidAddress - Coin-specific function to validate address format
|
|
80
|
+
* @param getAddressFromPublicKey - Coin-specific function to convert public key to address
|
|
81
|
+
* @returns true if the address matches the derived address, false otherwise
|
|
82
|
+
* @throws {InvalidAddressError} if the address is invalid
|
|
83
|
+
* @throws {Error} if required parameters are missing or invalid
|
|
84
|
+
*/
|
|
85
|
+
async function verifyMPCWalletAddress(params, isValidAddress, getAddressFromPublicKey) {
|
|
86
|
+
const { address } = params;
|
|
87
|
+
if (!isValidAddress(address)) {
|
|
88
|
+
throw new errors_1.InvalidAddressError(`invalid address: ${address}`);
|
|
89
|
+
}
|
|
90
|
+
const { address: expectedAddress } = await deriveMPCWalletAddress(params, getAddressFromPublicKey);
|
|
91
|
+
return address === expectedAddress;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc1ZlcmlmaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby91dGlscy90c3MvYWRkcmVzc1ZlcmlmaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWNBLHNEQWVDO0FBYUQsa0VBTUM7QUEyQkQsd0RBc0JDO0FBYUQsd0RBZ0JDO0FBOUhELHlEQUE0RDtBQUM1RCxrREFBaUQ7QUFFakQseUNBQW1EO0FBQ25ELG1DQUF5QztBQUV6Qzs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsU0FBK0M7SUFDbkYsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7SUFDbkQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsb0RBQW9EO0lBQ3BELElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsS0FBSyxjQUFjLENBQUM7UUFDOUQsTUFBTSxJQUFJLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO0lBRW5GLE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0ksS0FBSyxVQUFVLDJCQUEyQixDQUMvQyxNQUErQixFQUMvQixjQUE0QyxFQUM1Qyx1QkFBc0Q7SUFFdEQsT0FBTyxzQkFBc0IsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsRUFBRSxjQUFjLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztBQUM3RyxDQUFDO0FBY0Q7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0ksS0FBSyxVQUFVLHNCQUFzQixDQUMxQyxNQUFxQyxFQUNyQyx1QkFBc0Q7SUFFdEQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUseUJBQXlCLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFL0QsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFeEQsMkJBQTJCO0lBQzNCLDZGQUE2RjtJQUM3RixrREFBa0Q7SUFDbEQsTUFBTSxNQUFNLEdBQUcseUJBQXlCLENBQUMsQ0FBQyxDQUFDLElBQUEsK0JBQWlCLEVBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQy9HLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7SUFFcEUsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksV0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sa0JBQVksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQzNHLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUU5RSx1REFBdUQ7SUFDdkQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2hFLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFdEcsT0FBTyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsRUFBRSxjQUFjLEVBQUUsQ0FBQztBQUM3RSxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNJLEtBQUssVUFBVSxzQkFBc0IsQ0FDMUMsTUFFQyxFQUNELGNBQTRDLEVBQzVDLHVCQUFzRDtJQUV0RCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTNCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksNEJBQW1CLENBQUMsb0JBQW9CLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE1BQU0sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUVuRyxPQUFPLE9BQU8sS0FBSyxlQUFlLENBQUM7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldERlcml2YXRpb25QYXRoIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWxpYi1tcGMnO1xuaW1wb3J0IHsgRWNkc2EgfSBmcm9tICcuLi8uLi8uLi9hY2NvdW50LWxpYi9tcGMnO1xuaW1wb3J0IHsgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMgfSBmcm9tICcuLi8uLi9iYXNlQ29pbi9pQmFzZUNvaW4nO1xuaW1wb3J0IHsgSW52YWxpZEFkZHJlc3NFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQgeyBFRERTQU1ldGhvZHMgfSBmcm9tICcuLi8uLi90c3MnO1xuXG4vKipcbiAqIEV4dHJhY3RzIGFuZCB2YWxpZGF0ZXMgdGhlIGNvbW1vbktleWNoYWluIGZyb20ga2V5Y2hhaW5zIGFycmF5LlxuICogRm9yIE1QQyB3YWxsZXRzLCBhbGwga2V5Y2hhaW5zIHNob3VsZCBoYXZlIHRoZSBzYW1lIGNvbW1vbktleWNoYWluLlxuICpcbiAqIEBwYXJhbSBrZXljaGFpbnMgLSBBcnJheSBvZiBrZXljaGFpbnMgY29udGFpbmluZyBjb21tb25LZXljaGFpblxuICogQHJldHVybnMgVGhlIHZhbGlkYXRlZCBjb21tb25LZXljaGFpblxuICogQHRocm93cyB7RXJyb3J9IGlmIGtleWNoYWlucyBhcmUgbWlzc2luZywgZW1wdHksIG9yIGhhdmUgbWlzbWF0Y2hlZCBjb21tb25LZXljaGFpbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RDb21tb25LZXljaGFpbihrZXljaGFpbnM6IFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zWydrZXljaGFpbnMnXSk6IHN0cmluZyB7XG4gIGlmICgha2V5Y2hhaW5zPy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgcGFyYW0ga2V5Y2hhaW5zJyk7XG4gIH1cblxuICBjb25zdCBjb21tb25LZXljaGFpbiA9IGtleWNoYWluc1swXS5jb21tb25LZXljaGFpbjtcbiAgaWYgKCFjb21tb25LZXljaGFpbikge1xuICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBwYXJhbSBjb21tb25LZXljaGFpbicpO1xuICB9XG5cbiAgLy8gVmVyaWZ5IGFsbCBrZXljaGFpbnMgaGF2ZSB0aGUgc2FtZSBjb21tb25LZXljaGFpblxuICBpZiAoa2V5Y2hhaW5zLmZpbmQoKGtjKSA9PiBrYy5jb21tb25LZXljaGFpbiAhPT0gY29tbW9uS2V5Y2hhaW4pKVxuICAgIHRocm93IG5ldyBFcnJvcignYWxsIGtleWNoYWlucyBtdXN0IGhhdmUgdGhlIHNhbWUgY29tbW9uS2V5Y2hhaW4gZm9yIE1QQyBjb2lucycpO1xuXG4gIHJldHVybiBjb21tb25LZXljaGFpbjtcbn1cblxuLyoqXG4gKiBWZXJpZmllcyBpZiBhbiBhZGRyZXNzIGJlbG9uZ3MgdG8gYSB3YWxsZXQgdXNpbmcgRWREU0EgVFNTIE1QQyBkZXJpdmF0aW9uLlxuICogVGhpcyBpcyBhIGNvbW1vbiBpbXBsZW1lbnRhdGlvbiBmb3IgRWREU0EtYmFzZWQgTVBDIGNvaW5zIChTT0wsIERPVCwgU1VJLCBUT04sIElPVEEsIGV0Yy4pXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFZlcmlmaWNhdGlvbiBvcHRpb25zIGluY2x1ZGluZyBrZXljaGFpbnMsIGFkZHJlc3MsIGFuZCBkZXJpdmF0aW9uIGluZGV4XG4gKiBAcGFyYW0gaXNWYWxpZEFkZHJlc3MgLSBDb2luLXNwZWNpZmljIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIGFkZHJlc3MgZm9ybWF0XG4gKiBAcGFyYW0gZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkgLSBDb2luLXNwZWNpZmljIGZ1bmN0aW9uIHRvIGNvbnZlcnQgcHVibGljIGtleSB0byBhZGRyZXNzXG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBhZGRyZXNzIG1hdGNoZXMgdGhlIGRlcml2ZWQgYWRkcmVzcywgZmFsc2Ugb3RoZXJ3aXNlXG4gKiBAdGhyb3dzIHtJbnZhbGlkQWRkcmVzc0Vycm9yfSBpZiB0aGUgYWRkcmVzcyBpcyBpbnZhbGlkXG4gKiBAdGhyb3dzIHtFcnJvcn0gaWYgcmVxdWlyZWQgcGFyYW1ldGVycyBhcmUgbWlzc2luZyBvciBpbnZhbGlkXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlFZGRzYVRzc1dhbGxldEFkZHJlc3MoXG4gIHBhcmFtczogVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMsXG4gIGlzVmFsaWRBZGRyZXNzOiAoYWRkcmVzczogc3RyaW5nKSA9PiBib29sZWFuLFxuICBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleTogKHB1YmxpY0tleTogc3RyaW5nKSA9PiBzdHJpbmdcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICByZXR1cm4gdmVyaWZ5TVBDV2FsbGV0QWRkcmVzcyh7IC4uLnBhcmFtcywga2V5Q3VydmU6ICdlZDI1NTE5JyB9LCBpc1ZhbGlkQWRkcmVzcywgZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkpO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGRlcml2aW5nIGFuIE1QQyB3YWxsZXQgYWRkcmVzcy4gVGhpcyBpcyB0aGUgc3Vic2V0IG9mXG4gKiB7QGxpbmsgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnN9IG5lZWRlZCB0byAqcHJvZHVjZSogYW4gYWRkcmVzcyAobm8gYGFkZHJlc3NgIHRvIGNoZWNrKSxcbiAqIHBsdXMgdGhlIGtleSBjdXJ2ZS5cbiAqL1xuZXhwb3J0IHR5cGUgRGVyaXZlTVBDV2FsbGV0QWRkcmVzc09wdGlvbnMgPSBQaWNrPFxuICBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyxcbiAgJ2tleWNoYWlucycgfCAnaW5kZXgnIHwgJ2Rlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQnIHwgJ211bHRpc2lnVHlwZVZlcnNpb24nXG4+ICYge1xuICBrZXlDdXJ2ZTogJ3NlY3AyNTZrMScgfCAnZWQyNTUxOSc7XG59O1xuXG4vKipcbiAqIERlcml2ZXMgYSB3YWxsZXQgYWRkcmVzcyB1c2luZyBUU1MvTVBDIEhEIGRlcml2YXRpb24gZnJvbSB0aGUgY29tbW9uS2V5Y2hhaW4sXG4gKiB1c2luZyBwdWJsaWMga2V5IG1hdGVyaWFsIG9ubHkgKG5vIHByaXZhdGUga2V5cywgbm8gbmV0d29yayBhY2Nlc3MpLlxuICogU2hhcmVkIGJ5IEVkRFNBLSBhbmQgRUNEU0EtYmFzZWQgTVBDIGNvaW5zLlxuICpcbiAqIFRoaXMgaXMgdGhlIGRlcml2YXRpb24gaGFsZiBvZiB7QGxpbmsgdmVyaWZ5TVBDV2FsbGV0QWRkcmVzc306IGl0ICpwcm9kdWNlcyogdGhlIGFkZHJlc3NcbiAqIHJhdGhlciB0aGFuIGNvbXBhcmluZyBpdCBhZ2FpbnN0IGEgY2FuZGlkYXRlLCBzbyB0aGUgdHdvIGNhbiBuZXZlciBkaXZlcmdlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBrZXljaGFpbnMgKGNvbW1vbktleWNoYWluKSwgZGVyaXZhdGlvbiBpbmRleCwgb3B0aW9uYWwgc2VlZC92ZXJzaW9uLCBhbmQga2V5Q3VydmVcbiAqIEBwYXJhbSBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleSAtIENvaW4tc3BlY2lmaWMgZnVuY3Rpb24gdG8gY29udmVydCBwdWJsaWMga2V5IHRvIGFkZHJlc3NcbiAqIEByZXR1cm5zIHRoZSBkZXJpdmVkIGFkZHJlc3MgYW5kIHRoZSBIRCBkZXJpdmF0aW9uIHBhdGggdXNlZCB0byBkZXJpdmUgaXRcbiAqIEB0aHJvd3Mge0Vycm9yfSBpZiByZXF1aXJlZCBwYXJhbWV0ZXJzIGFyZSBtaXNzaW5nIG9yIGludmFsaWRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlcml2ZU1QQ1dhbGxldEFkZHJlc3MoXG4gIHBhcmFtczogRGVyaXZlTVBDV2FsbGV0QWRkcmVzc09wdGlvbnMsXG4gIGdldEFkZHJlc3NGcm9tUHVibGljS2V5OiAocHVibGljS2V5OiBzdHJpbmcpID0+IHN0cmluZ1xuKTogUHJvbWlzZTx7IGFkZHJlc3M6IHN0cmluZzsgZGVyaXZhdGlvblBhdGg6IHN0cmluZyB9PiB7XG4gIGNvbnN0IHsga2V5Y2hhaW5zLCBpbmRleCwgZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZCB9ID0gcGFyYW1zO1xuXG4gIGNvbnN0IGNvbW1vbktleWNoYWluID0gZXh0cmFjdENvbW1vbktleWNoYWluKGtleWNoYWlucyk7XG5cbiAgLy8gQ29tcHV0ZSBkZXJpdmF0aW9uIHBhdGg6XG4gIC8vIC0gRm9yIFNNQyB3YWxsZXRzIHdpdGggZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZCwgY29tcHV0ZSBwcmVmaXggYW5kIHVzZToge3ByZWZpeH0ve2luZGV4fVxuICAvLyAtIEZvciBvdGhlciB3YWxsZXRzLCB1c2Ugc2ltcGxlIHBhdGg6IG0ve2luZGV4fVxuICBjb25zdCBwcmVmaXggPSBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkID8gZ2V0RGVyaXZhdGlvblBhdGgoZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZC50b1N0cmluZygpKSA6IHVuZGVmaW5lZDtcbiAgY29uc3QgZGVyaXZhdGlvblBhdGggPSBwcmVmaXggPyBgJHtwcmVmaXh9LyR7aW5kZXh9YCA6IGBtLyR7aW5kZXh9YDtcblxuICBjb25zdCBNUEMgPSBwYXJhbXMua2V5Q3VydmUgPT09ICdzZWNwMjU2azEnID8gbmV3IEVjZHNhKCkgOiBhd2FpdCBFRERTQU1ldGhvZHMuZ2V0SW5pdGlhbGl6ZWRNcGNJbnN0YW5jZSgpO1xuICBjb25zdCBkZXJpdmVkUHVibGljS2V5ID0gTVBDLmRlcml2ZVVuaGFyZGVuZWQoY29tbW9uS2V5Y2hhaW4sIGRlcml2YXRpb25QYXRoKTtcblxuICAvLyBzZWNwMjU2azEgZXhwZWN0cyAzMyBieXRlczsgZWQyNTUxOSBleHBlY3RzIDMyIGJ5dGVzXG4gIGNvbnN0IHB1YmxpY0tleVNpemUgPSBwYXJhbXMua2V5Q3VydmUgPT09ICdzZWNwMjU2azEnID8gMzMgOiAzMjtcbiAgY29uc3QgcHVibGljS2V5T25seSA9IEJ1ZmZlci5mcm9tKGRlcml2ZWRQdWJsaWNLZXksICdoZXgnKS5zdWJhcnJheSgwLCBwdWJsaWNLZXlTaXplKS50b1N0cmluZygnaGV4Jyk7XG5cbiAgcmV0dXJuIHsgYWRkcmVzczogZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkocHVibGljS2V5T25seSksIGRlcml2YXRpb25QYXRoIH07XG59XG5cbi8qKlxuICogVmVyaWZpZXMgaWYgYW4gYWRkcmVzcyBiZWxvbmdzIHRvIGEgd2FsbGV0IHVzaW5nIEVDRFNBIFRTUyBNUEMgZGVyaXZhdGlvbi5cbiAqIFRoaXMgaXMgYSBjb21tb24gaW1wbGVtZW50YXRpb24gZm9yIEVDRFNBLWJhc2VkIE1QQyBjb2lucyAoRVRILCBCVEMsIGV0Yy4pXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFZlcmlmaWNhdGlvbiBvcHRpb25zIGluY2x1ZGluZyBrZXljaGFpbnMsIGFkZHJlc3MsIGFuZCBkZXJpdmF0aW9uIGluZGV4XG4gKiBAcGFyYW0gaXNWYWxpZEFkZHJlc3MgLSBDb2luLXNwZWNpZmljIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIGFkZHJlc3MgZm9ybWF0XG4gKiBAcGFyYW0gZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkgLSBDb2luLXNwZWNpZmljIGZ1bmN0aW9uIHRvIGNvbnZlcnQgcHVibGljIGtleSB0byBhZGRyZXNzXG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBhZGRyZXNzIG1hdGNoZXMgdGhlIGRlcml2ZWQgYWRkcmVzcywgZmFsc2Ugb3RoZXJ3aXNlXG4gKiBAdGhyb3dzIHtJbnZhbGlkQWRkcmVzc0Vycm9yfSBpZiB0aGUgYWRkcmVzcyBpcyBpbnZhbGlkXG4gKiBAdGhyb3dzIHtFcnJvcn0gaWYgcmVxdWlyZWQgcGFyYW1ldGVycyBhcmUgbWlzc2luZyBvciBpbnZhbGlkXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlNUENXYWxsZXRBZGRyZXNzKFxuICBwYXJhbXM6IFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zICYge1xuICAgIGtleUN1cnZlOiAnc2VjcDI1NmsxJyB8ICdlZDI1NTE5JztcbiAgfSxcbiAgaXNWYWxpZEFkZHJlc3M6IChhZGRyZXNzOiBzdHJpbmcpID0+IGJvb2xlYW4sXG4gIGdldEFkZHJlc3NGcm9tUHVibGljS2V5OiAocHVibGljS2V5OiBzdHJpbmcpID0+IHN0cmluZ1xuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IHsgYWRkcmVzcyB9ID0gcGFyYW1zO1xuXG4gIGlmICghaXNWYWxpZEFkZHJlc3MoYWRkcmVzcykpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcihgaW52YWxpZCBhZGRyZXNzOiAke2FkZHJlc3N9YCk7XG4gIH1cblxuICBjb25zdCB7IGFkZHJlc3M6IGV4cGVjdGVkQWRkcmVzcyB9ID0gYXdhaXQgZGVyaXZlTVBDV2FsbGV0QWRkcmVzcyhwYXJhbXMsIGdldEFkZHJlc3NGcm9tUHVibGljS2V5KTtcblxuICByZXR1cm4gYWRkcmVzcyA9PT0gZXhwZWN0ZWRBZGRyZXNzO1xufVxuIl19
|
|
@@ -1,19 +1,34 @@
|
|
|
1
|
-
import { IRequestTracer } from '../../../api';
|
|
1
|
+
import { EncryptionVersion, IRequestTracer } from '../../../api';
|
|
2
|
+
import * as openpgp from 'openpgp';
|
|
2
3
|
import { Key, SerializedKeyPair } from 'openpgp';
|
|
3
|
-
import { IBaseCoin, KeychainsTriplet } from '../../baseCoin';
|
|
4
|
+
import { IBaseCoin, KeychainsTriplet, TransactionParams } from '../../baseCoin';
|
|
4
5
|
import { BitGoBase } from '../../bitgoBase';
|
|
5
|
-
import { Keychain } from '../../keychain';
|
|
6
|
-
import { IWallet
|
|
6
|
+
import { Keychain, WebauthnKeyEncryptionInfo } from '../../keychain';
|
|
7
|
+
import { IWallet } from '../../wallet';
|
|
7
8
|
import { MpcUtils } from '../mpcUtils';
|
|
8
|
-
import { BitgoHeldBackupKeyShare, CustomGShareGeneratingFunction,
|
|
9
|
-
import { GShare, SignShare
|
|
9
|
+
import { BitgoHeldBackupKeyShare, CommitmentShareRecord, CreateBitGoKeychainParamsBase, CreateKeychainParamsBase, CustomCommitmentGeneratingFunction, CustomEddsaMPCv2SigningRound1GeneratingFunction, CustomEddsaMPCv2SigningRound2GeneratingFunction, CustomEddsaMPCv2SigningRound3GeneratingFunction, CustomGShareGeneratingFunction, CustomKShareGeneratingFunction, CustomMPCv2SigningRound1GeneratingFunction, CustomMPCv2SigningRound2GeneratingFunction, CustomMPCv2SigningRound3GeneratingFunction, CustomMuDeltaShareGeneratingFunction, CustomPaillierModulusGetterFunction, CustomRShareGeneratingFunction, CustomSShareGeneratingFunction, EncryptedSignerShareRecord, IntentOptionsForMessage, IntentOptionsForTypedData, ITssUtils, PrebuildTransactionWithIntentOptions, RequestType, SignatureShareRecord, TSSParams, TSSParamsForMessage, TssSignTxRequestParamsWithPrv, TxRequest, TxRequestVersion } from './baseTypes';
|
|
10
|
+
import { GShare, SignShare } from '../../../account-lib/mpc/tss';
|
|
11
|
+
/**
|
|
12
|
+
* Derives txParams from the persisted intent on a TxRequest for EdDSA MPCv2 signing paths
|
|
13
|
+
* where no SDK-local buildParams is available (PA path and UI re-sign path).
|
|
14
|
+
* Native coin transfers (where symbol equals the chain name) are excluded from tokenName.
|
|
15
|
+
*/
|
|
16
|
+
export declare function txParamsFromIntent(intent: unknown, chainName: string): TransactionParams | undefined;
|
|
10
17
|
/**
|
|
11
18
|
* BaseTssUtil class which different signature schemes have to extend
|
|
12
19
|
*/
|
|
13
20
|
export default class BaseTssUtils<KeyShare> extends MpcUtils implements ITssUtils<KeyShare> {
|
|
14
21
|
private _wallet?;
|
|
22
|
+
protected bitgoPublicGpgKey: openpgp.Key;
|
|
23
|
+
protected bitgoMPCv2PublicGpgKey: openpgp.Key | undefined;
|
|
24
|
+
protected bitgoEddsaMpcv2PublicGpgKey: openpgp.Key | undefined;
|
|
15
25
|
constructor(bitgo: BitGoBase, baseCoin: IBaseCoin, wallet?: IWallet);
|
|
16
26
|
get wallet(): IWallet;
|
|
27
|
+
protected setBitgoGpgPubKey(bitgo: any): Promise<void>;
|
|
28
|
+
pickBitgoPubGpgKeyForSigning(isMpcv2: boolean, reqId?: IRequestTracer, enterpriseId?: string, isEddsaMpcv2?: boolean): Promise<openpgp.Key>;
|
|
29
|
+
getBitgoPublicGpgKey(): Promise<openpgp.Key>;
|
|
30
|
+
getBitgoMpcv2PublicGpgKey(): Promise<openpgp.Key>;
|
|
31
|
+
getBitgoEddsaMpcv2PublicGpgKey(): Promise<openpgp.Key>;
|
|
17
32
|
createBitgoHeldBackupKeyShare(userGpgKey: SerializedKeyPair<string>, enterprise: string | undefined): Promise<BitgoHeldBackupKeyShare>;
|
|
18
33
|
finalizeBitgoHeldBackupKeyShare(keyId: string, commonKeychain: string, userKeyShare: KeyShare, bitgoKeychain: Keychain, userGpgKey: SerializedKeyPair<string>, backupGpgKey: Key): Promise<BitgoHeldBackupKeyShare>;
|
|
19
34
|
createUserKeychain(params: CreateKeychainParamsBase): Promise<Keychain>;
|
|
@@ -24,10 +39,11 @@ export default class BaseTssUtils<KeyShare> extends MpcUtils implements ITssUtil
|
|
|
24
39
|
enterprise?: string | undefined;
|
|
25
40
|
originalPasscodeEncryptionCode?: string | undefined;
|
|
26
41
|
isThirdPartyBackup?: boolean;
|
|
27
|
-
|
|
42
|
+
webauthnInfo?: WebauthnKeyEncryptionInfo;
|
|
43
|
+
encryptionVersion?: EncryptionVersion;
|
|
28
44
|
}): Promise<KeychainsTriplet>;
|
|
29
|
-
signTxRequest(params:
|
|
30
|
-
signTxRequestForMessage(params:
|
|
45
|
+
signTxRequest(params: TssSignTxRequestParamsWithPrv): Promise<TxRequest>;
|
|
46
|
+
signTxRequestForMessage(params: TSSParamsForMessage): Promise<TxRequest>;
|
|
31
47
|
/**
|
|
32
48
|
* Signs a transaction using TSS for EdDSA and through utilization of custom share generators
|
|
33
49
|
*
|
|
@@ -36,28 +52,77 @@ export default class BaseTssUtils<KeyShare> extends MpcUtils implements ITssUtil
|
|
|
36
52
|
* @param {CustomGShareGeneratingFunction} externalSignerGShareGenerator a function that creates G shares in the EdDSA TSS flow
|
|
37
53
|
* @returns {Promise<TxRequest>} - a signed tx request
|
|
38
54
|
*/
|
|
39
|
-
|
|
55
|
+
signEddsaTssUsingExternalSigner(txRequest: string | TxRequest, externalSignerCommitmentGenerator: CustomCommitmentGeneratingFunction, externalSignerRShareGenerator: CustomRShareGeneratingFunction, externalSignerGShareGenerator: CustomGShareGeneratingFunction): Promise<TxRequest>;
|
|
56
|
+
/**
|
|
57
|
+
* Signs a transaction using TSS for ECDSA and through utilization of custom share generators
|
|
58
|
+
*
|
|
59
|
+
* @param {params: TSSParams | TSSParamsForMessage} params - params object that represents parameters to sign a transaction or a message.
|
|
60
|
+
* @param {RequestType} requestType - the type of the request to sign (transaction or message).
|
|
61
|
+
* @param {CustomPaillierModulusGetterFunction} externalSignerPaillierModulusGetter a function that creates Paillier Modulus shares in the ECDSA TSS flow.
|
|
62
|
+
* @param {CustomKShareGeneratingFunction} externalSignerKShareGenerator a function that creates K shares in the ECDSA TSS flow.
|
|
63
|
+
* @param {CustomMuDeltaShareGeneratingFunction} externalSignerMuDeltaShareGenerator a function that creates Mu and Delta shares in the ECDSA TSS flow.
|
|
64
|
+
* @param {CustomSShareGeneratingFunction} externalSignerSShareGenerator a function that creates S shares in the ECDSA TSS flow.
|
|
65
|
+
*/
|
|
66
|
+
signEcdsaTssUsingExternalSigner(params: TSSParams | TSSParamsForMessage, requestType: RequestType, externalSignerPaillierModulusGetter: CustomPaillierModulusGetterFunction, externalSignerKShareGenerator: CustomKShareGeneratingFunction, externalSignerMuDeltaShareGenerator: CustomMuDeltaShareGeneratingFunction, externalSignerSShareGenerator: CustomSShareGeneratingFunction): Promise<TxRequest>;
|
|
67
|
+
/**
|
|
68
|
+
* Signs a transaction using TSS MPCv2 for ECDSA and through utilization of custom share generators
|
|
69
|
+
*
|
|
70
|
+
* @param {TSSParams | TSSParamsForMessage} params - params object that represents parameters to sign a transaction or a message.
|
|
71
|
+
* @param {CustomMPCv2SigningRound1GeneratingFunction} externalSignerMPCv2SigningRound1Generator - a function that creates MPCv2 Round 1 shares in the ECDSA TSS MPCv2 flow.
|
|
72
|
+
* @param {CustomMPCv2SigningRound2GeneratingFunction} externalSignerMPCv2SigningRound2Generator - a function that creates MPCv2 Round 2 shares in the ECDSA TSS MPCv2 flow.
|
|
73
|
+
* @param {CustomMPCv2SigningRound3GeneratingFunction} externalSignerMPCv2SigningRound3Generator - a function that creates MPCv2 Round 3 shares in the ECDSA TSS MPCv2 flow.
|
|
74
|
+
* @param {RequestType} requestType - the type of the request to sign (transaction or message).
|
|
75
|
+
* @returns {Promise<TxRequest>} - a signed tx request
|
|
76
|
+
*/
|
|
77
|
+
signEcdsaMPCv2TssUsingExternalSigner(params: TSSParams | TSSParamsForMessage, externalSignerMPCv2SigningRound1Generator: CustomMPCv2SigningRound1GeneratingFunction, externalSignerMPCv2SigningRound2Generator: CustomMPCv2SigningRound2GeneratingFunction, externalSignerMPCv2SigningRound3Generator: CustomMPCv2SigningRound3GeneratingFunction, requestType?: RequestType): Promise<TxRequest>;
|
|
78
|
+
signEddsaMPCv2TssUsingExternalSigner(params: TSSParams | TSSParamsForMessage, externalSignerEddsaMPCv2SigningRound1Generator: CustomEddsaMPCv2SigningRound1GeneratingFunction, externalSignerEddsaMPCv2SigningRound2Generator: CustomEddsaMPCv2SigningRound2GeneratingFunction, externalSignerEddsaMPCv2SigningRound3Generator: CustomEddsaMPCv2SigningRound3GeneratingFunction, requestType?: RequestType): Promise<TxRequest>;
|
|
79
|
+
/**
|
|
80
|
+
* Create an Commitment (User to BitGo) share from an unsigned transaction and private user signing material
|
|
81
|
+
* EDDSA only
|
|
82
|
+
*
|
|
83
|
+
* @param {Object} params - params object
|
|
84
|
+
* @param {TxRequest} params.txRequest - transaction request with unsigned transaction
|
|
85
|
+
* @param {string} params.prv - user signing material
|
|
86
|
+
* @param {string} params.walletPassphrase - wallet passphrase
|
|
87
|
+
*
|
|
88
|
+
* @returns {Promise<{ userToBitgoCommitment: CommitmentShareRecor, encryptedSignerShare: EncryptedSignerShareRecord }>} - Commitment Share and the Encrypted Signer Share to BitGo
|
|
89
|
+
*/
|
|
90
|
+
createCommitmentShareFromTxRequest(params: {
|
|
91
|
+
txRequest: TxRequest;
|
|
92
|
+
prv: string;
|
|
93
|
+
walletPassphrase: string;
|
|
94
|
+
bitgoGpgPubKey: string;
|
|
95
|
+
}): Promise<{
|
|
96
|
+
userToBitgoCommitment: CommitmentShareRecord;
|
|
97
|
+
encryptedSignerShare: EncryptedSignerShareRecord;
|
|
98
|
+
encryptedUserToBitgoRShare: EncryptedSignerShareRecord;
|
|
99
|
+
}>;
|
|
40
100
|
/**
|
|
41
101
|
* Create an R (User to BitGo) share from an unsigned transaction and private user signing material
|
|
42
102
|
*
|
|
43
|
-
* @param {
|
|
44
|
-
* @param {
|
|
45
|
-
* @
|
|
103
|
+
* @param {Object} params - params object
|
|
104
|
+
* @param {TxRequest} params.txRequest - transaction request with unsigned transaction
|
|
105
|
+
* @param {string} params.prv - user signing material
|
|
106
|
+
* @param {string} [params.walletPassphrase] - wallet passphrase
|
|
107
|
+
* @param {EncryptedSignerShareRecord} [params.encryptedUserToBitgoRShare] - encrypted user to bitgo R share generated in the commitment phase
|
|
108
|
+
* @returns {Promise<{ rShare: SignShare }>} - R Share to BitGo
|
|
46
109
|
*/
|
|
47
110
|
createRShareFromTxRequest(params: {
|
|
48
111
|
txRequest: TxRequest;
|
|
49
|
-
|
|
112
|
+
walletPassphrase: string;
|
|
113
|
+
encryptedUserToBitgoRShare: EncryptedSignerShareRecord;
|
|
50
114
|
}): Promise<{
|
|
51
115
|
rShare: SignShare;
|
|
52
|
-
signingKeyYShare: YShare;
|
|
53
116
|
}>;
|
|
54
117
|
/**
|
|
55
118
|
* Create a G (User to BitGo) share from an unsigned transaction and private user signing material
|
|
56
119
|
*
|
|
57
|
-
* @param {
|
|
58
|
-
* @param {
|
|
59
|
-
* @param {
|
|
60
|
-
* @param {
|
|
120
|
+
* @param {Object} params - params object
|
|
121
|
+
* @param {TxRequest} params.txRequest - transaction request with unsigned transaction
|
|
122
|
+
* @param {string} params.prv - user signing material
|
|
123
|
+
* @param {SignatureShareRecord} params.bitgoToUserRShare - BitGo to User R Share
|
|
124
|
+
* @param {SignShare} params.userToBitgoRShare - User to BitGo R Share
|
|
125
|
+
* @param {CommitmentShareRecord} params.bitgoToUserCommitment - BitGo to User Commitment
|
|
61
126
|
* @returns {Promise<GShare>} - GShare from User to BitGo
|
|
62
127
|
*/
|
|
63
128
|
createGShareFromTxRequest(params: {
|
|
@@ -65,6 +130,7 @@ export default class BaseTssUtils<KeyShare> extends MpcUtils implements ITssUtil
|
|
|
65
130
|
prv: string;
|
|
66
131
|
bitgoToUserRShare: SignatureShareRecord;
|
|
67
132
|
userToBitgoRShare: SignShare;
|
|
133
|
+
bitgoToUserCommitment: CommitmentShareRecord;
|
|
68
134
|
}): Promise<GShare>;
|
|
69
135
|
/**
|
|
70
136
|
* Builds a tx request from params and verify it
|
|
@@ -77,12 +143,20 @@ export default class BaseTssUtils<KeyShare> extends MpcUtils implements ITssUtil
|
|
|
77
143
|
prebuildTxWithIntent(params: PrebuildTransactionWithIntentOptions, apiVersion?: TxRequestVersion, preview?: boolean): Promise<TxRequest>;
|
|
78
144
|
/**
|
|
79
145
|
* Create a tx request from params for message signing
|
|
146
|
+
* @deprecated Use createSignMessageRequest instead
|
|
80
147
|
*
|
|
81
148
|
* @param params
|
|
82
149
|
* @param apiVersion
|
|
83
150
|
* @param preview
|
|
84
151
|
*/
|
|
85
152
|
createTxRequestWithIntentForMessageSigning(params: IntentOptionsForMessage, apiVersion?: TxRequestVersion, preview?: boolean): Promise<TxRequest>;
|
|
153
|
+
/**
|
|
154
|
+
* Create a sign message request
|
|
155
|
+
*
|
|
156
|
+
* @param params - the parameters for the sign message request
|
|
157
|
+
* @param apiVersion - the API version to use, defaults to 'full'
|
|
158
|
+
*/
|
|
159
|
+
buildSignMessageRequest(params: IntentOptionsForMessage, apiVersion?: TxRequestVersion): Promise<TxRequest>;
|
|
86
160
|
/**
|
|
87
161
|
* Create a tx request from params for type data signing
|
|
88
162
|
*
|
|
@@ -97,20 +171,28 @@ export default class BaseTssUtils<KeyShare> extends MpcUtils implements ITssUtil
|
|
|
97
171
|
* @private
|
|
98
172
|
*/
|
|
99
173
|
private createTxRequestBase;
|
|
174
|
+
/**
|
|
175
|
+
* Calls Bitgo API to create msg request.
|
|
176
|
+
*
|
|
177
|
+
* @private
|
|
178
|
+
*/
|
|
179
|
+
private buildSignMessageRequestBase;
|
|
100
180
|
/**
|
|
101
181
|
* Call delete signature shares for a txRequest, the endpoint delete the signatures and return them
|
|
102
182
|
*
|
|
103
183
|
* @param {string} txRequestId tx id reference to delete signature shares
|
|
184
|
+
* @param {IRequestTracer} reqId - the request tracer request id
|
|
104
185
|
* @returns {SignatureShareRecord[]}
|
|
105
186
|
*/
|
|
106
|
-
deleteSignatureShares(txRequestId: string): Promise<SignatureShareRecord[]>;
|
|
187
|
+
deleteSignatureShares(txRequestId: string, reqId?: IRequestTracer): Promise<SignatureShareRecord[]>;
|
|
107
188
|
/**
|
|
108
189
|
* Initialize the send procedure once Bitgo has the User To Bitgo GShare
|
|
109
190
|
*
|
|
110
191
|
* @param {String} txRequestId - the txRequest Id
|
|
192
|
+
* @param {IRequestTracer} reqId - the request tracer request id
|
|
111
193
|
* @returns {Promise<any>}
|
|
112
194
|
*/
|
|
113
|
-
sendTxRequest(txRequestId: string): Promise<any>;
|
|
195
|
+
sendTxRequest(txRequestId: string, reqId?: IRequestTracer): Promise<any>;
|
|
114
196
|
/**
|
|
115
197
|
* Delete signature shares, get the tx request without them from the db and sign it to finally send it.
|
|
116
198
|
*
|
|
@@ -126,19 +208,63 @@ export default class BaseTssUtils<KeyShare> extends MpcUtils implements ITssUtil
|
|
|
126
208
|
* Gets the latest Tx Request by id
|
|
127
209
|
*
|
|
128
210
|
* @param {String} txRequestId - the txRequest Id
|
|
211
|
+
* @param {IRequestTracer} reqId - request tracer request id
|
|
129
212
|
* @returns {Promise<TxRequest>}
|
|
130
213
|
*/
|
|
131
|
-
getTxRequest(txRequestId: string): Promise<TxRequest>;
|
|
214
|
+
getTxRequest(txRequestId: string, reqId?: IRequestTracer): Promise<TxRequest>;
|
|
132
215
|
/**
|
|
133
|
-
*
|
|
134
|
-
* @param backupProvider - the backup provider client selected
|
|
135
|
-
*/
|
|
136
|
-
isValidThirdPartyBackupProvider(backupProvider: BackupProvider | string | undefined): backupProvider is BackupProvider;
|
|
137
|
-
/**
|
|
138
|
-
* It gets the appropriate BitGo GPG public key for key creation based on a
|
|
216
|
+
* It gets the appropriate BitGo GPG public keys for key creation based on a
|
|
139
217
|
* combination of coin and the feature flags on the user and their enterprise if set.
|
|
218
|
+
* Returns both the default MPCv2 key and the EdDSA-specific MPCv2 key (if present).
|
|
140
219
|
* @param enterpriseId - enterprise under which user wants to create the wallet
|
|
220
|
+
* @param isMPCv2 - true to get the MPCv2 GPG public key, defaults to false
|
|
221
|
+
* @param reqId - request tracer request id
|
|
222
|
+
*/
|
|
223
|
+
getBitgoGpgPubkeyBasedOnFeatureFlags(enterpriseId: string | undefined, isMPCv2?: boolean, reqId?: IRequestTracer): Promise<{
|
|
224
|
+
mpcv2PublicKey: Key;
|
|
225
|
+
eddsaMpcv2PublicKey: Key | undefined;
|
|
226
|
+
}>;
|
|
227
|
+
/**
|
|
228
|
+
* Returns supported TxRequest versions for this wallet
|
|
229
|
+
* @deprecated Whenever needed, use apiVersion 'full' for TSS wallets
|
|
230
|
+
*/
|
|
231
|
+
supportedTxRequestVersions(): TxRequestVersion[];
|
|
232
|
+
/**
|
|
233
|
+
* Returns true if the txRequest is using apiVersion == full and is pending approval
|
|
234
|
+
* @param txRequest
|
|
235
|
+
* @returns boolean
|
|
236
|
+
*/
|
|
237
|
+
isPendingApprovalTxRequestFull(txRequest: TxRequest): boolean;
|
|
238
|
+
/**
|
|
239
|
+
* Get the signable hex, derivation path, and serialized tx hex from a full single-transaction request.
|
|
240
|
+
* @param {TxRequest} txRequest - the transaction request object
|
|
241
|
+
* @returns {{ signableHex: string; derivationPath: string; serializedTxHex: string | undefined }} - the signable hex, derivation path, and serialized tx hex
|
|
242
|
+
*/
|
|
243
|
+
protected getSignableHexAndDerivationPath(txRequest: TxRequest, missingTransactionsMessage?: string): {
|
|
244
|
+
signableHex: string;
|
|
245
|
+
derivationPath: string;
|
|
246
|
+
serializedTxHex: string | undefined;
|
|
247
|
+
};
|
|
248
|
+
/**
|
|
249
|
+
* Gets the BitGo and user GPG keys from the BitGo public GPG key and the encrypted user GPG private key.
|
|
250
|
+
* @param {string} bitgoPublicGpgKey - the BitGo public GPG key
|
|
251
|
+
* @param {string} encryptedUserGpgPrvKey - the encrypted user GPG private key
|
|
252
|
+
* @param {string} walletPassphrase - the wallet passphrase
|
|
253
|
+
* @param {string} adata - the additional data to validate the GPG keys
|
|
254
|
+
* @param {string} userGpgKeyDomainSeparator - the domain separator expected in the encrypted GPG key adata
|
|
255
|
+
* @returns {Promise<{ bitgoGpgKey: openpgp.Key; userGpgPrvKey: openpgp.PrivateKey }>} - the BitGo and user GPG keys
|
|
256
|
+
*/
|
|
257
|
+
protected getBitgoAndUserGpgKeys(bitgoPublicGpgKey: string, encryptedUserGpgPrvKey: string, walletPassphrase: string, adata: string, userGpgKeyDomainSeparator: string): Promise<{
|
|
258
|
+
bitgoGpgKey: openpgp.Key;
|
|
259
|
+
userGpgPrvKey: openpgp.PrivateKey;
|
|
260
|
+
}>;
|
|
261
|
+
/**
|
|
262
|
+
* Validates encryption additional authenticated data against the ciphertext envelope.
|
|
263
|
+
* @param adata string
|
|
264
|
+
* @param cyphertext string
|
|
265
|
+
* @param roundDomainSeparator string
|
|
266
|
+
* @throws {Error} if the adata or cyphertext is invalid
|
|
141
267
|
*/
|
|
142
|
-
|
|
268
|
+
protected validateAdata(adata: string, cyphertext: string, roundDomainSeparator: string): void;
|
|
143
269
|
}
|
|
144
270
|
//# sourceMappingURL=baseTSSUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseTSSUtils.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/baseTSSUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"baseTSSUtils.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/baseTSSUtils.ts"],"names":[],"mappings":"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"}
|