@bitgo-beta/sdk-core 8.2.1-beta.212 → 8.2.1-beta.2120
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 +43 -31
- package/dist/src/account-lib/baseCoin/enum.d.ts +59 -5
- package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/enum.js +112 -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.d.ts +0 -1
- package/dist/src/account-lib/index.d.ts.map +1 -1
- package/dist/src/account-lib/index.js +23 -10
- 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/api/bip32path.js +2 -3
- package/dist/src/api/index.js +6 -2
- package/dist/src/api/types.d.ts +37 -0
- package/dist/src/api/types.d.ts.map +1 -1
- package/dist/src/api/types.js +8 -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 -13
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.js +200 -16
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +337 -33
- 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 +24 -3
- package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
- package/dist/src/bitgo/coinFactory.js +35 -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 +171 -0
- package/dist/src/bitgo/defi/defiVault.d.ts.map +1 -0
- package/dist/src/bitgo/defi/defiVault.js +445 -0
- package/dist/src/bitgo/defi/iDefiVault.d.ts +101 -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 +73 -3
- package/dist/src/bitgo/environments.d.ts.map +1 -1
- package/dist/src/bitgo/environments.js +415 -34
- package/dist/src/bitgo/errors.d.ts +189 -1
- package/dist/src/bitgo/errors.d.ts.map +1 -1
- package/dist/src/bitgo/errors.js +187 -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 +6 -1
- package/dist/src/bitgo/index.d.ts.map +1 -1
- package/dist/src/bitgo/index.js +32 -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 +13 -8
- package/dist/src/bitgo/internal/keycard.d.ts.map +1 -1
- package/dist/src/bitgo/internal/keycard.js +63 -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 +180 -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 +106 -13
- package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/keychains.js +423 -72
- 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 +51 -0
- package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts.map +1 -0
- package/dist/src/bitgo/safe/derivableEd25519Pub.js +115 -0
- package/dist/src/bitgo/safe/iSafe.d.ts +124 -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 +8 -0
- package/dist/src/bitgo/safe/index.d.ts.map +1 -0
- package/dist/src/bitgo/safe/index.js +24 -0
- package/dist/src/bitgo/safe/recovery.d.ts +133 -0
- package/dist/src/bitgo/safe/recovery.d.ts.map +1 -0
- package/dist/src/bitgo/safe/recovery.js +176 -0
- package/dist/src/bitgo/safe/rootCoin.d.ts +15 -0
- package/dist/src/bitgo/safe/rootCoin.d.ts.map +1 -0
- package/dist/src/bitgo/safe/rootCoin.js +47 -0
- package/dist/src/bitgo/safe/safe.d.ts +88 -0
- package/dist/src/bitgo/safe/safe.d.ts.map +1 -0
- package/dist/src/bitgo/safe/safe.js +417 -0
- package/dist/src/bitgo/safe/safes.d.ts +102 -0
- package/dist/src/bitgo/safe/safes.d.ts.map +1 -0
- package/dist/src/bitgo/safe/safes.js +281 -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 +161 -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 +153 -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 +50 -6
- package/dist/src/bitgo/tss/common.d.ts.map +1 -1
- package/dist/src/bitgo/tss/common.js +139 -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/redpallas/redpallasMPCv2.d.ts +84 -0
- package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.js +184 -0
- 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 +5 -2
- package/dist/src/bitgo/utils/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/index.js +28 -11
- package/dist/src/bitgo/utils/messageTypes.d.ts +46 -0
- package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
- package/dist/src/bitgo/utils/messageTypes.js +23 -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 +208 -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.js +2 -3
- 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/siws.d.ts +17 -0
- package/dist/src/bitgo/utils/siws.d.ts.map +1 -0
- package/dist/src/bitgo/utils/siws.js +171 -0
- 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 +99 -17
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +322 -45
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +462 -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 +241 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +1072 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +17 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +39 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts +65 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.js +439 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +5 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/index.js +11 -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 +151 -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 +119 -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 +43 -11
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +261 -96
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +261 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +994 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts +14 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.js +29 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts +44 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.js +268 -0
- package/dist/src/bitgo/utils/tss/eddsa/index.d.ts +5 -0
- package/dist/src/bitgo/utils/tss/eddsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/index.js +30 -8
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +15 -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 +75 -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 +7 -0
- package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/index.js +31 -10
- package/dist/src/bitgo/utils/tss/keyShareEnvelope.d.ts +40 -0
- package/dist/src/bitgo/utils/tss/keyShareEnvelope.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/keyShareEnvelope.js +103 -0
- package/dist/src/bitgo/utils/tss/keyVerification.d.ts +45 -0
- package/dist/src/bitgo/utils/tss/keyVerification.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/keyVerification.js +192 -0
- 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 +42 -0
- package/dist/src/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/recipientUtils.js +179 -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 +91 -1
- package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/BuildParams.js +96 -11
- package/dist/src/bitgo/wallet/iWallet.d.ts +636 -33
- 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 +311 -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 +75 -0
- package/dist/src/bitgo/wallet/safeKeychain.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/safeKeychain.js +152 -0
- package/dist/src/bitgo/wallet/wallet.d.ts +410 -27
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +2518 -510
- package/dist/src/bitgo/wallet/wallets.d.ts +99 -4
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallets.js +1256 -156
- 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/webauthn/base64url.d.ts +16 -0
- package/dist/src/bitgo/webauthn/base64url.d.ts.map +1 -0
- package/dist/src/bitgo/webauthn/base64url.js +27 -0
- package/dist/src/bitgo/webauthn/deriveEnterpriseSalt.d.ts +18 -0
- package/dist/src/bitgo/webauthn/deriveEnterpriseSalt.d.ts.map +1 -0
- package/dist/src/bitgo/webauthn/deriveEnterpriseSalt.js +26 -0
- package/dist/src/bitgo/webauthn/derivePassword.d.ts +11 -0
- package/dist/src/bitgo/webauthn/derivePassword.d.ts.map +1 -0
- package/dist/src/bitgo/webauthn/derivePassword.js +16 -0
- package/dist/src/bitgo/webauthn/index.d.ts +5 -0
- package/dist/src/bitgo/webauthn/index.d.ts.map +1 -0
- package/dist/src/bitgo/webauthn/index.js +21 -0
- package/dist/src/bitgo/webauthn/types.d.ts +18 -0
- package/dist/src/bitgo/webauthn/types.d.ts.map +1 -0
- package/dist/src/bitgo/webauthn/types.js +3 -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 +863 -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 +426 -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 +193 -0
- package/dist/test/unit/bitgo/safe/fixtures/derivableEd25519Pub.json +72 -0
- package/dist/test/unit/bitgo/safe/fixtures/safeBip44Vectors.json +319 -0
- package/dist/test/unit/bitgo/safe/recovery.d.ts +2 -0
- package/dist/test/unit/bitgo/safe/recovery.d.ts.map +1 -0
- package/dist/test/unit/bitgo/safe/recovery.js +478 -0
- package/dist/test/unit/bitgo/safe/rootCoin.d.ts +2 -0
- package/dist/test/unit/bitgo/safe/rootCoin.d.ts.map +1 -0
- package/dist/test/unit/bitgo/safe/rootCoin.js +13 -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 +607 -0
- package/dist/test/unit/bitgo/safe/safeBip44Vectors.d.ts +2 -0
- package/dist/test/unit/bitgo/safe/safeBip44Vectors.d.ts.map +1 -0
- package/dist/test/unit/bitgo/safe/safeBip44Vectors.js +189 -0
- package/dist/test/unit/bitgo/safe/safeDerivation.d.ts +2 -0
- package/dist/test/unit/bitgo/safe/safeDerivation.d.ts.map +1 -0
- package/dist/test/unit/bitgo/safe/safeDerivation.js +37 -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 +376 -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/tss/common.d.ts +2 -0
- package/dist/test/unit/bitgo/tss/common.d.ts.map +1 -0
- package/dist/test/unit/bitgo/tss/common.js +84 -0
- package/dist/test/unit/bitgo/tss/redpallas/redpallasMPCv2.d.ts +2 -0
- package/dist/test/unit/bitgo/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
- package/dist/test/unit/bitgo/tss/redpallas/redpallasMPCv2.js +249 -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.unwrap.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/mpcUtils.unwrap.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/mpcUtils.unwrap.js +109 -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 +24 -10
- package/dist/test/unit/bitgo/utils/siws.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/siws.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/siws.js +206 -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 +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 +1068 -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 +2410 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.js +553 -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 +376 -0
- package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.js +83 -0
- package/dist/test/unit/bitgo/utils/tss/keyVerification.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/keyVerification.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/keyVerification.js +229 -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 +498 -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 +167 -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 +651 -0
- package/dist/test/unit/bitgo/wallet/safeShareWallet.d.ts +9 -0
- package/dist/test/unit/bitgo/wallet/safeShareWallet.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/safeShareWallet.js +304 -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 +210 -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/walletVerifyKey.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletVerifyKey.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletVerifyKey.js +160 -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 +304 -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 +853 -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 +25 -22
- package/.eslintignore +0 -5
- package/CHANGELOG.md +0 -1866
- 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/util/ed25519KeyDeriver.d.ts +0 -49
- package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +0 -1
- package/dist/src/account-lib/util/ed25519KeyDeriver.js +0 -87
- 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,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Ed25519 safe-root public derivation material and Stellar user-key codecs.
|
|
4
|
+
*
|
|
5
|
+
* Safe backup and BitGo roots store raw public key (32 bytes) || raw chain code (32 bytes),
|
|
6
|
+
* encoded together as canonical unpadded RFC 4648 base32. Coin-specific public-key encodings are
|
|
7
|
+
* applied only to derived wallet children.
|
|
8
|
+
*
|
|
9
|
+
* The pure codecs + composite-pub encoding moved to @bitgo-beta/sdk-lib-safes. Only the WASM
|
|
10
|
+
* soft-derivation remains here (it needs Ed25519BIP32/Eddsa, which live in sdk-core).
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.softDeriveChildPubEd25519AtPath = softDeriveChildPubEd25519AtPath;
|
|
14
|
+
exports.softDeriveChildPubEd25519 = softDeriveChildPubEd25519;
|
|
15
|
+
exports.softDeriveChildPrvEd25519AtPath = softDeriveChildPrvEd25519AtPath;
|
|
16
|
+
exports.signEd25519Extended = signEd25519Extended;
|
|
17
|
+
exports.assertValidExternalEd25519Signature = assertValidExternalEd25519Signature;
|
|
18
|
+
const crypto_1 = require("crypto");
|
|
19
|
+
const account_lib_1 = require("../../account-lib");
|
|
20
|
+
const sdk_lib_safes_1 = require("@bitgo-beta/sdk-lib-safes");
|
|
21
|
+
let eddsaPromise;
|
|
22
|
+
function getEddsa() {
|
|
23
|
+
if (!eddsaPromise) {
|
|
24
|
+
eddsaPromise = (async () => account_lib_1.Eddsa.initialize(await account_lib_1.Ed25519BIP32.initialize()))();
|
|
25
|
+
eddsaPromise.catch(() => {
|
|
26
|
+
eddsaPromise = undefined;
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return eddsaPromise;
|
|
30
|
+
}
|
|
31
|
+
/** Soft-derive an unhardened path and return the derived raw 32-byte public key. */
|
|
32
|
+
async function softDeriveChildPubEd25519AtPath(compositePub, path) {
|
|
33
|
+
(0, sdk_lib_safes_1.assertBip32Path)(path, { hardened: false });
|
|
34
|
+
const { pub, chainCode } = (0, sdk_lib_safes_1.decodeDerivableEd25519Pub)(compositePub);
|
|
35
|
+
const eddsa = await getEddsa();
|
|
36
|
+
return Buffer.from(eddsa.deriveUnhardened(Buffer.concat([pub, chainCode]).toString('hex'), path).slice(0, 64), 'hex');
|
|
37
|
+
}
|
|
38
|
+
/** Soft-derive `m/<index>` and return the derived raw 32-byte public key. */
|
|
39
|
+
async function softDeriveChildPubEd25519(compositePub, index) {
|
|
40
|
+
if (!Number.isInteger(index) || index < 0 || index > 0x7fffffff) {
|
|
41
|
+
throw new Error(`ed25519 safe co-signer derivation index must be non-hardened, got ${index}`);
|
|
42
|
+
}
|
|
43
|
+
return softDeriveChildPubEd25519AtPath(compositePub, `m/${index}`);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Soft-derive an ed25519 co-signer child at an unhardened path, returning the private
|
|
47
|
+
* extended-key material — the clamped scalar `kL`, the nonce prefix `kR`, and the matching
|
|
48
|
+
* public point — from a root secret seed plus the root chain code carried on the keycard.
|
|
49
|
+
*/
|
|
50
|
+
async function softDeriveChildPrvEd25519AtPath(params) {
|
|
51
|
+
const { seedStrKey, chainCode, path } = params;
|
|
52
|
+
(0, sdk_lib_safes_1.assertBip32Path)(path, { hardened: false });
|
|
53
|
+
const seed = (0, sdk_lib_safes_1.decodeEd25519StrKeySecretSeed)(seedStrKey);
|
|
54
|
+
const chainCodeBuf = (0, sdk_lib_safes_1.decodeEd25519ChainCode)(chainCode);
|
|
55
|
+
const eddsa = await getEddsa();
|
|
56
|
+
const h = (0, crypto_1.createHash)('sha512').update(seed).digest();
|
|
57
|
+
const sk = (0, account_lib_1.clamp)((0, account_lib_1.bigIntFromBufferLE)(h.subarray(0, 32)));
|
|
58
|
+
const prefix = (0, account_lib_1.bigIntFromBufferBE)(h.subarray(32));
|
|
59
|
+
const pk = account_lib_1.Eddsa.curve.basePointMult(sk);
|
|
60
|
+
if (!eddsa.hdTree) {
|
|
61
|
+
throw new Error('Eddsa HD tree is not initialized');
|
|
62
|
+
}
|
|
63
|
+
const derived = eddsa.hdTree.privateDerive({ pk, sk, prefix, chaincode: (0, account_lib_1.bigIntFromBufferBE)(chainCodeBuf) }, path);
|
|
64
|
+
if (derived.prefix === undefined) {
|
|
65
|
+
throw new Error('soft derivation did not produce a nonce prefix');
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
kL: (0, account_lib_1.bigIntToBufferLE)(derived.sk, 32),
|
|
69
|
+
kR: (0, account_lib_1.bigIntToBufferBE)(derived.prefix, 32),
|
|
70
|
+
pub: (0, account_lib_1.bigIntToBufferLE)(derived.pk, 32),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Sign `message` with a BIP32-Ed25519 extended key directly, without a seed.
|
|
75
|
+
*
|
|
76
|
+
* A soft-derived child has no 32-byte seed whose SHA-512 yields `(kL, kR)`, so the
|
|
77
|
+
* seed-based `nacl.sign.keyPair.fromSeed` cannot sign for it. This performs RFC 8032
|
|
78
|
+
* scalar signing straight from the clamped scalar `kL` and the nonce prefix `kR`.
|
|
79
|
+
*
|
|
80
|
+
* @param message bytes to sign
|
|
81
|
+
* @param kL 32-byte clamped signing scalar (little-endian)
|
|
82
|
+
* @param kR 32-byte nonce prefix (big-endian)
|
|
83
|
+
* @returns 64-byte Ed25519 signature `R ‖ S`
|
|
84
|
+
*/
|
|
85
|
+
async function signEd25519Extended(message, kL, kR) {
|
|
86
|
+
if (kL.length !== 32) {
|
|
87
|
+
throw new Error(`Invalid Ed25519 extended key kL length: expected 32 bytes, got ${kL.length}`);
|
|
88
|
+
}
|
|
89
|
+
if (kR.length !== 32) {
|
|
90
|
+
throw new Error(`Invalid Ed25519 extended key kR length: expected 32 bytes, got ${kR.length}`);
|
|
91
|
+
}
|
|
92
|
+
await getEddsa();
|
|
93
|
+
const curve = account_lib_1.Eddsa.curve;
|
|
94
|
+
const kLInt = (0, account_lib_1.bigIntFromBufferLE)(kL);
|
|
95
|
+
const r = curve.scalarReduce((0, account_lib_1.bigIntFromBufferLE)((0, crypto_1.createHash)('sha512')
|
|
96
|
+
.update(Buffer.concat([kR, message]))
|
|
97
|
+
.digest()));
|
|
98
|
+
const R = curve.basePointMult(r);
|
|
99
|
+
const A = curve.basePointMult(kLInt);
|
|
100
|
+
const h = curve.scalarReduce((0, account_lib_1.bigIntFromBufferLE)((0, crypto_1.createHash)('sha512')
|
|
101
|
+
.update(Buffer.concat([(0, account_lib_1.bigIntToBufferLE)(R, 32), (0, account_lib_1.bigIntToBufferLE)(A, 32), message]))
|
|
102
|
+
.digest()));
|
|
103
|
+
const S = curve.scalarAdd(r, curve.scalarMult(h, kLInt));
|
|
104
|
+
return Buffer.concat([(0, account_lib_1.bigIntToBufferLE)(R, 32), (0, account_lib_1.bigIntToBufferLE)(S, 32)]);
|
|
105
|
+
}
|
|
106
|
+
/** Fails fast if a `ExternalEd25519Signature` has malformed hex/lengths. */
|
|
107
|
+
function assertValidExternalEd25519Signature(sig) {
|
|
108
|
+
if (!/^[0-9a-f]{64}$/i.test(sig.publicKey)) {
|
|
109
|
+
throw new Error('Invalid external Ed25519 public key: expected 32 bytes (64 hex characters)');
|
|
110
|
+
}
|
|
111
|
+
if (!/^[0-9a-f]{128}$/i.test(sig.signature)) {
|
|
112
|
+
throw new Error('Invalid external Ed25519 signature: expected 64 bytes (128 hex characters)');
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVyaXZhYmxlRWQyNTUxOVB1Yi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9zYWZlL2Rlcml2YWJsZUVkMjU1MTlQdWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7R0FTRzs7QUFzQ0gsMEVBS0M7QUFHRCw4REFLQztBQU9ELDBFQTBCQztBQWNELGtEQTRCQztBQVNELGtGQU9DO0FBNUlELG1DQUFvQztBQUNwQyxtREFRMkI7QUFDM0IsNkRBS21DO0FBU25DLElBQUksWUFBd0MsQ0FBQztBQUM3QyxTQUFTLFFBQVE7SUFDZixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEIsWUFBWSxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxtQkFBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLDBCQUFZLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakYsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDdEIsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDO0FBRUQsb0ZBQW9GO0FBQzdFLEtBQUssVUFBVSwrQkFBK0IsQ0FBQyxZQUFvQixFQUFFLElBQVk7SUFDdEYsSUFBQSwrQkFBZSxFQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBQSx5Q0FBeUIsRUFBQyxZQUFZLENBQUMsQ0FBQztJQUNuRSxNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsRUFBRSxDQUFDO0lBQy9CLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMs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QUFDLENBQUMsQ0FBQztJQUN6RCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFBLDhCQUFnQixFQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFBLDhCQUFnQixFQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0UsQ0FBQztBQVFELDRFQUE0RTtBQUM1RSxTQUFnQixtQ0FBbUMsQ0FBQyxHQUE2QjtJQUMvRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEVBQTRFLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxNQUFNLElBQUksS0FBSyxDQUFDLDRFQUE0RSxDQUFDLENBQUM7SUFDaEcsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEVkMjU1MTkgc2FmZS1yb290IHB1YmxpYyBkZXJpdmF0aW9uIG1hdGVyaWFsIGFuZCBTdGVsbGFyIHVzZXIta2V5IGNvZGVjcy5cbiAqXG4gKiBTYWZlIGJhY2t1cCBhbmQgQml0R28gcm9vdHMgc3RvcmUgcmF3IHB1YmxpYyBrZXkgKDMyIGJ5dGVzKSB8fCByYXcgY2hhaW4gY29kZSAoMzIgYnl0ZXMpLFxuICogZW5jb2RlZCB0b2dldGhlciBhcyBjYW5vbmljYWwgdW5wYWRkZWQgUkZDIDQ2NDggYmFzZTMyLiBDb2luLXNwZWNpZmljIHB1YmxpYy1rZXkgZW5jb2RpbmdzIGFyZVxuICogYXBwbGllZCBvbmx5IHRvIGRlcml2ZWQgd2FsbGV0IGNoaWxkcmVuLlxuICpcbiAqIFRoZSBwdXJlIGNvZGVjcyArIGNvbXBvc2l0ZS1wdWIgZW5jb2RpbmcgbW92ZWQgdG8gQGJpdGdvLWJldGEvc2RrLWxpYi1zYWZlcy4gT25seSB0aGUgV0FTTVxuICogc29mdC1kZXJpdmF0aW9uIHJlbWFpbnMgaGVyZSAoaXQgbmVlZHMgRWQyNTUxOUJJUDMyL0VkZHNhLCB3aGljaCBsaXZlIGluIHNkay1jb3JlKS5cbiAqL1xuXG5pbXBvcnQgeyBjcmVhdGVIYXNoIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7XG4gIEVkMjU1MTlCSVAzMixcbiAgRWRkc2EsXG4gIGJpZ0ludEZyb21CdWZmZXJCRSxcbiAgYmlnSW50RnJvbUJ1ZmZlckxFLFxuICBiaWdJbnRUb0J1ZmZlckJFLFxuICBiaWdJbnRUb0J1ZmZlckxFLFxuICBjbGFtcCxcbn0gZnJvbSAnLi4vLi4vYWNjb3VudC1saWInO1xuaW1wb3J0IHtcbiAgYXNzZXJ0QmlwMzJQYXRoLFxuICBkZWNvZGVEZXJpdmFibGVFZDI1NTE5UHViLFxuICBkZWNvZGVFZDI1NTE5Q2hhaW5Db2RlLFxuICBkZWNvZGVFZDI1NTE5U3RyS2V5U2VjcmV0U2VlZCxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWxpYi1zYWZlcyc7XG5cbi8qKiBFZDI1NTE5IGV4dGVuZGVkLWtleSBoYWx2ZXMgKyBwdWJsaWMgcG9pbnQsIHBhcmFtZXRlcmlzZWQgYnkgZW5jb2RpbmcgKEJ1ZmZlciByYXcsIHN0cmluZyBoZXgpLiAqL1xuZXhwb3J0IHR5cGUgRWQyNTUxOUV4dGVuZGVkS2V5UGFydHM8VD4gPSB7XG4gIHJlYWRvbmx5IGtMOiBUOyAvLyBjbGFtcGVkIHNpZ25pbmcgc2NhbGFyXG4gIHJlYWRvbmx5IGtSOiBUOyAvLyBub25jZSBwcmVmaXhcbiAgcmVhZG9ubHkgcHViOiBUOyAvLyAzMi1ieXRlIHB1YmxpYyBrZXlcbn07XG5cbmxldCBlZGRzYVByb21pc2U6IFByb21pc2U8RWRkc2E+IHwgdW5kZWZpbmVkO1xuZnVuY3Rpb24gZ2V0RWRkc2EoKTogUHJvbWlzZTxFZGRzYT4ge1xuICBpZiAoIWVkZHNhUHJvbWlzZSkge1xuICAgIGVkZHNhUHJvbWlzZSA9IChhc3luYyAoKSA9PiBFZGRzYS5pbml0aWFsaXplKGF3YWl0IEVkMjU1MTlCSVAzMi5pbml0aWFsaXplKCkpKSgpO1xuICAgIGVkZHNhUHJvbWlzZS5jYXRjaCgoKSA9PiB7XG4gICAgICBlZGRzYVByb21pc2UgPSB1bmRlZmluZWQ7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIGVkZHNhUHJvbWlzZTtcbn1cblxuLyoqIFNvZnQtZGVyaXZlIGFuIHVuaGFyZGVuZWQgcGF0aCBhbmQgcmV0dXJuIHRoZSBkZXJpdmVkIHJhdyAzMi1ieXRlIHB1YmxpYyBrZXkuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc29mdERlcml2ZUNoaWxkUHViRWQyNTUxOUF0UGF0aChjb21wb3NpdGVQdWI6IHN0cmluZywgcGF0aDogc3RyaW5nKTogUHJvbWlzZTxCdWZmZXI+IHtcbiAgYXNzZXJ0QmlwMzJQYXRoKHBhdGgsIHsgaGFyZGVuZWQ6IGZhbHNlIH0pO1xuICBjb25zdCB7IHB1YiwgY2hhaW5Db2RlIH0gPSBkZWNvZGVEZXJpdmFibGVFZDI1NTE5UHViKGNvbXBvc2l0ZVB1Yik7XG4gIGNvbnN0IGVkZHNhID0gYXdhaXQgZ2V0RWRkc2EoKTtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGVkZHNhLmRlcml2ZVVuaGFyZGVuZWQoQnVmZmVyLmNvbmNhdChbcHViLCBjaGFpbkNvZGVdKS50b1N0cmluZygnaGV4JyksIHBhdGgpLnNsaWNlKDAsIDY0KSwgJ2hleCcpO1xufVxuXG4vKiogU29mdC1kZXJpdmUgYG0vPGluZGV4PmAgYW5kIHJldHVybiB0aGUgZGVyaXZlZCByYXcgMzItYnl0ZSBwdWJsaWMga2V5LiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNvZnREZXJpdmVDaGlsZFB1YkVkMjU1MTkoY29tcG9zaXRlUHViOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiBQcm9taXNlPEJ1ZmZlcj4ge1xuICBpZiAoIU51bWJlci5pc0ludGVnZXIoaW5kZXgpIHx8IGluZGV4IDwgMCB8fCBpbmRleCA+IDB4N2ZmZmZmZmYpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGVkMjU1MTkgc2FmZSBjby1zaWduZXIgZGVyaXZhdGlvbiBpbmRleCBtdXN0IGJlIG5vbi1oYXJkZW5lZCwgZ290ICR7aW5kZXh9YCk7XG4gIH1cbiAgcmV0dXJuIHNvZnREZXJpdmVDaGlsZFB1YkVkMjU1MTlBdFBhdGgoY29tcG9zaXRlUHViLCBgbS8ke2luZGV4fWApO1xufVxuXG4vKipcbiAqIFNvZnQtZGVyaXZlIGFuIGVkMjU1MTkgY28tc2lnbmVyIGNoaWxkIGF0IGFuIHVuaGFyZGVuZWQgcGF0aCwgcmV0dXJuaW5nIHRoZSBwcml2YXRlXG4gKiBleHRlbmRlZC1rZXkgbWF0ZXJpYWwg4oCUIHRoZSBjbGFtcGVkIHNjYWxhciBga0xgLCB0aGUgbm9uY2UgcHJlZml4IGBrUmAsIGFuZCB0aGUgbWF0Y2hpbmdcbiAqIHB1YmxpYyBwb2ludCDigJQgZnJvbSBhIHJvb3Qgc2VjcmV0IHNlZWQgcGx1cyB0aGUgcm9vdCBjaGFpbiBjb2RlIGNhcnJpZWQgb24gdGhlIGtleWNhcmQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzb2Z0RGVyaXZlQ2hpbGRQcnZFZDI1NTE5QXRQYXRoKHBhcmFtczoge1xuICBzZWVkU3RyS2V5OiBzdHJpbmc7XG4gIGNoYWluQ29kZTogc3RyaW5nO1xuICBwYXRoOiBzdHJpbmc7XG59KTogUHJvbWlzZTxFZDI1NTE5RXh0ZW5kZWRLZXlQYXJ0czxCdWZmZXI+PiB7XG4gIGNvbnN0IHsgc2VlZFN0cktleSwgY2hhaW5Db2RlLCBwYXRoIH0gPSBwYXJhbXM7XG4gIGFzc2VydEJpcDMyUGF0aChwYXRoLCB7IGhhcmRlbmVkOiBmYWxzZSB9KTtcbiAgY29uc3Qgc2VlZCA9IGRlY29kZUVkMjU1MTlTdHJLZXlTZWNyZXRTZWVkKHNlZWRTdHJLZXkpO1xuICBjb25zdCBjaGFpbkNvZGVCdWYgPSBkZWNvZGVFZDI1NTE5Q2hhaW5Db2RlKGNoYWluQ29kZSk7XG4gIGNvbnN0IGVkZHNhID0gYXdhaXQgZ2V0RWRkc2EoKTtcbiAgY29uc3QgaCA9IGNyZWF0ZUhhc2goJ3NoYTUxMicpLnVwZGF0ZShzZWVkKS5kaWdlc3QoKTtcbiAgY29uc3Qgc2sgPSBjbGFtcChiaWdJbnRGcm9tQnVmZmVyTEUoaC5zdWJhcnJheSgwLCAzMikpKTtcbiAgY29uc3QgcHJlZml4ID0gYmlnSW50RnJvbUJ1ZmZlckJFKGguc3ViYXJyYXkoMzIpKTtcbiAgY29uc3QgcGsgPSBFZGRzYS5jdXJ2ZS5iYXNlUG9pbnRNdWx0KHNrKTtcbiAgaWYgKCFlZGRzYS5oZFRyZWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0VkZHNhIEhEIHRyZWUgaXMgbm90IGluaXRpYWxpemVkJyk7XG4gIH1cbiAgY29uc3QgZGVyaXZlZCA9IGVkZHNhLmhkVHJlZS5wcml2YXRlRGVyaXZlKHsgcGssIHNrLCBwcmVmaXgsIGNoYWluY29kZTogYmlnSW50RnJvbUJ1ZmZlckJFKGNoYWluQ29kZUJ1ZikgfSwgcGF0aCk7XG4gIGlmIChkZXJpdmVkLnByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdzb2Z0IGRlcml2YXRpb24gZGlkIG5vdCBwcm9kdWNlIGEgbm9uY2UgcHJlZml4Jyk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBrTDogYmlnSW50VG9CdWZmZXJMRShkZXJpdmVkLnNrLCAzMiksXG4gICAga1I6IGJpZ0ludFRvQnVmZmVyQkUoZGVyaXZlZC5wcmVmaXgsIDMyKSxcbiAgICBwdWI6IGJpZ0ludFRvQnVmZmVyTEUoZGVyaXZlZC5waywgMzIpLFxuICB9O1xufVxuXG4vKipcbiAqIFNpZ24gYG1lc3NhZ2VgIHdpdGggYSBCSVAzMi1FZDI1NTE5IGV4dGVuZGVkIGtleSBkaXJlY3RseSwgd2l0aG91dCBhIHNlZWQuXG4gKlxuICogQSBzb2Z0LWRlcml2ZWQgY2hpbGQgaGFzIG5vIDMyLWJ5dGUgc2VlZCB3aG9zZSBTSEEtNTEyIHlpZWxkcyBgKGtMLCBrUilgLCBzbyB0aGVcbiAqIHNlZWQtYmFzZWQgYG5hY2wuc2lnbi5rZXlQYWlyLmZyb21TZWVkYCBjYW5ub3Qgc2lnbiBmb3IgaXQuIFRoaXMgcGVyZm9ybXMgUkZDIDgwMzJcbiAqIHNjYWxhciBzaWduaW5nIHN0cmFpZ2h0IGZyb20gdGhlIGNsYW1wZWQgc2NhbGFyIGBrTGAgYW5kIHRoZSBub25jZSBwcmVmaXggYGtSYC5cbiAqXG4gKiBAcGFyYW0gbWVzc2FnZSBieXRlcyB0byBzaWduXG4gKiBAcGFyYW0ga0wgMzItYnl0ZSBjbGFtcGVkIHNpZ25pbmcgc2NhbGFyIChsaXR0bGUtZW5kaWFuKVxuICogQHBhcmFtIGtSIDMyLWJ5dGUgbm9uY2UgcHJlZml4IChiaWctZW5kaWFuKVxuICogQHJldHVybnMgNjQtYnl0ZSBFZDI1NTE5IHNpZ25hdHVyZSBgUiDigJYgU2BcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNpZ25FZDI1NTE5RXh0ZW5kZWQobWVzc2FnZTogQnVmZmVyLCBrTDogQnVmZmVyLCBrUjogQnVmZmVyKTogUHJvbWlzZTxCdWZmZXI+IHtcbiAgaWYgKGtMLmxlbmd0aCAhPT0gMzIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgRWQyNTUxOSBleHRlbmRlZCBrZXkga0wgbGVuZ3RoOiBleHBlY3RlZCAzMiBieXRlcywgZ290ICR7a0wubGVuZ3RofWApO1xuICB9XG4gIGlmIChrUi5sZW5ndGggIT09IDMyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEVkMjU1MTkgZXh0ZW5kZWQga2V5IGtSIGxlbmd0aDogZXhwZWN0ZWQgMzIgYnl0ZXMsIGdvdCAke2tSLmxlbmd0aH1gKTtcbiAgfVxuICBhd2FpdCBnZXRFZGRzYSgpO1xuICBjb25zdCBjdXJ2ZSA9IEVkZHNhLmN1cnZlO1xuICBjb25zdCBrTEludCA9IGJpZ0ludEZyb21CdWZmZXJMRShrTCk7XG4gIGNvbnN0IHIgPSBjdXJ2ZS5zY2FsYXJSZWR1Y2UoXG4gICAgYmlnSW50RnJvbUJ1ZmZlckxFKFxuICAgICAgY3JlYXRlSGFzaCgnc2hhNTEyJylcbiAgICAgICAgLnVwZGF0ZShCdWZmZXIuY29uY2F0KFtrUiwgbWVzc2FnZV0pKVxuICAgICAgICAuZGlnZXN0KClcbiAgICApXG4gICk7XG4gIGNvbnN0IFIgPSBjdXJ2ZS5iYXNlUG9pbnRNdWx0KHIpO1xuICBjb25zdCBBID0gY3VydmUuYmFzZVBvaW50TXVsdChrTEludCk7XG4gIGNvbnN0IGggPSBjdXJ2ZS5zY2FsYXJSZWR1Y2UoXG4gICAgYmlnSW50RnJvbUJ1ZmZlckxFKFxuICAgICAgY3JlYXRlSGFzaCgnc2hhNTEyJylcbiAgICAgICAgLnVwZGF0ZShCdWZmZXIuY29uY2F0KFtiaWdJbnRUb0J1ZmZlckxFKFIsIDMyKSwgYmlnSW50VG9CdWZmZXJMRShBLCAzMiksIG1lc3NhZ2VdKSlcbiAgICAgICAgLmRpZ2VzdCgpXG4gICAgKVxuICApO1xuICBjb25zdCBTID0gY3VydmUuc2NhbGFyQWRkKHIsIGN1cnZlLnNjYWxhck11bHQoaCwga0xJbnQpKTtcbiAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW2JpZ0ludFRvQnVmZmVyTEUoUiwgMzIpLCBiaWdJbnRUb0J1ZmZlckxFKFMsIDMyKV0pO1xufVxuXG4vKiogQW4gZXh0ZXJuYWxseS1wcm9kdWNlZCBFZDI1NTE5IHNpZ25hdHVyZSBvdmVyIGEgdHJhbnNhY3Rpb24ncyBzaWduaW5nIG1lc3NhZ2UuICovXG5leHBvcnQgdHlwZSBFeHRlcm5hbEVkMjU1MTlTaWduYXR1cmUgPSB7XG4gIHJlYWRvbmx5IHB1YmxpY0tleTogc3RyaW5nOyAvLyByYXcgMzItYnl0ZSBwdWJsaWMga2V5IChoZXgpXG4gIHJlYWRvbmx5IHNpZ25hdHVyZTogc3RyaW5nOyAvLyByYXcgNjQtYnl0ZSBzaWduYXR1cmUgKGhleClcbn07XG5cbi8qKiBGYWlscyBmYXN0IGlmIGEgYEV4dGVybmFsRWQyNTUxOVNpZ25hdHVyZWAgaGFzIG1hbGZvcm1lZCBoZXgvbGVuZ3Rocy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRWYWxpZEV4dGVybmFsRWQyNTUxOVNpZ25hdHVyZShzaWc6IEV4dGVybmFsRWQyNTUxOVNpZ25hdHVyZSk6IHZvaWQge1xuICBpZiAoIS9eWzAtOWEtZl17NjR9JC9pLnRlc3Qoc2lnLnB1YmxpY0tleSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZXh0ZXJuYWwgRWQyNTUxOSBwdWJsaWMga2V5OiBleHBlY3RlZCAzMiBieXRlcyAoNjQgaGV4IGNoYXJhY3RlcnMpJyk7XG4gIH1cbiAgaWYgKCEvXlswLTlhLWZdezEyOH0kL2kudGVzdChzaWcuc2lnbmF0dXJlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBleHRlcm5hbCBFZDI1NTE5IHNpZ25hdHVyZTogZXhwZWN0ZWQgNjQgYnl0ZXMgKDEyOCBoZXggY2hhcmFjdGVycyknKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prettier
|
|
3
|
+
*
|
|
4
|
+
* @experimental The safe client surface is experimental and may change (including breaking
|
|
5
|
+
* changes) before the public release.
|
|
6
|
+
*/
|
|
7
|
+
import type { FreezeSafeBody, SafeData, SafePermission, SafeRootKeys, SafeShareData, SafeShareKeychain, SafeShareState, WebAuthnOtpDevice } from '@bitgo/public-types';
|
|
8
|
+
import type { EncryptionVersion } from '../../api/types';
|
|
9
|
+
import type { Wallet, WalletShare } from '../wallet';
|
|
10
|
+
import type { WebAuthnProvider } from '../webauthn';
|
|
11
|
+
/** @experimental */
|
|
12
|
+
export interface InitializeSafeOptions {
|
|
13
|
+
label: string;
|
|
14
|
+
}
|
|
15
|
+
/** @experimental */
|
|
16
|
+
export interface UpdateSafeOptions {
|
|
17
|
+
label: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Phase 3 — the client hands back the 12 key ids it created in Phase 2.
|
|
21
|
+
* @experimental
|
|
22
|
+
*/
|
|
23
|
+
export interface FinalizeSafeOptions {
|
|
24
|
+
rootKeys: SafeRootKeys;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Sharing ONE safe wallet with a non-member rides the existing wallet-share handshake,
|
|
28
|
+
* so the result is the existing WalletShare shape.
|
|
29
|
+
*/
|
|
30
|
+
export type WalletShareData = WalletShare;
|
|
31
|
+
export interface CreateSafeWalletOptions {
|
|
32
|
+
coin: string;
|
|
33
|
+
label: string;
|
|
34
|
+
passphrase: string;
|
|
35
|
+
type?: 'hot';
|
|
36
|
+
/**
|
|
37
|
+
* Mint scheme: `onchain` (default) uses the independent multisig root slot for the coin's
|
|
38
|
+
* curve; `tss` uses the MPC root slot. Independent of the coin's default wallet multisig type.
|
|
39
|
+
*/
|
|
40
|
+
multisigType?: 'onchain' | 'tss';
|
|
41
|
+
}
|
|
42
|
+
interface AddSafeMemberBase {
|
|
43
|
+
permissions: SafePermission[];
|
|
44
|
+
/** required when 'spend' is included — the 4 root user keys ECDH-re-encrypted to the invitee */
|
|
45
|
+
keychains?: SafeShareKeychain[];
|
|
46
|
+
message?: string;
|
|
47
|
+
/** when true, suppress the invitation email that would otherwise be sent to `email` */
|
|
48
|
+
disableEmail?: boolean;
|
|
49
|
+
}
|
|
50
|
+
/** Add a member by either `userId` or `email` — exactly one is required. */
|
|
51
|
+
export type AddSafeMemberOptions = (AddSafeMemberBase & {
|
|
52
|
+
userId: string;
|
|
53
|
+
email?: never;
|
|
54
|
+
}) | (AddSafeMemberBase & {
|
|
55
|
+
email: string;
|
|
56
|
+
userId?: never;
|
|
57
|
+
});
|
|
58
|
+
export interface AddSafeWalletMemberOptions {
|
|
59
|
+
walletId: string;
|
|
60
|
+
/** required — sharing re-encrypts the user key, which needs hardened derivation from the passphrase */
|
|
61
|
+
walletPassphrase: string;
|
|
62
|
+
email?: string;
|
|
63
|
+
permissions?: string[];
|
|
64
|
+
message?: string;
|
|
65
|
+
}
|
|
66
|
+
export type AcceptSafeShareAsSpenderOptions = {
|
|
67
|
+
safeShareId: string;
|
|
68
|
+
userPassword: string;
|
|
69
|
+
newWalletPassphrase?: string;
|
|
70
|
+
};
|
|
71
|
+
export type AcceptSafeShareAsNonSpenderOptions = {
|
|
72
|
+
safeShareId: string;
|
|
73
|
+
};
|
|
74
|
+
export type AcceptSafeShareOptions = AcceptSafeShareAsSpenderOptions | AcceptSafeShareAsNonSpenderOptions;
|
|
75
|
+
/**
|
|
76
|
+
* Register a PRF passkey on every user root of the safe. The device must be PRF-capable
|
|
77
|
+
* and already enrolled on the caller's account.
|
|
78
|
+
* @experimental
|
|
79
|
+
*/
|
|
80
|
+
export interface RegisterSafePasskeyOptions {
|
|
81
|
+
device: WebAuthnOtpDevice;
|
|
82
|
+
safePassphrase: string;
|
|
83
|
+
provider: WebAuthnProvider;
|
|
84
|
+
/** Encryption version for the PRF-wrapped blobs; defaults to the SDK default (mirrors wallet attach). */
|
|
85
|
+
encryptionVersion?: EncryptionVersion;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Remove a PRF passkey from every user root. `safePassphrase` is verified client-side
|
|
89
|
+
* (decrypts a user root) before the server is called.
|
|
90
|
+
* @experimental
|
|
91
|
+
*/
|
|
92
|
+
export interface RemoveSafePasskeyOptions {
|
|
93
|
+
device: WebAuthnOtpDevice;
|
|
94
|
+
safePassphrase: string;
|
|
95
|
+
}
|
|
96
|
+
export interface RegisterSafePasskeyResponse {
|
|
97
|
+
otpDeviceId: string;
|
|
98
|
+
updatedKeys: string[];
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* @experimental
|
|
102
|
+
*/
|
|
103
|
+
export interface ISafe {
|
|
104
|
+
id(): string;
|
|
105
|
+
enterpriseId(): string;
|
|
106
|
+
label(): string;
|
|
107
|
+
status(): SafeData['status'];
|
|
108
|
+
url(extra?: string): string;
|
|
109
|
+
createWallet(params: CreateSafeWalletOptions): Promise<Wallet>;
|
|
110
|
+
update(params: UpdateSafeOptions): Promise<SafeData>;
|
|
111
|
+
addMember(params: AddSafeMemberOptions): Promise<SafeData>;
|
|
112
|
+
addMemberToWallet(params: AddSafeWalletMemberOptions): Promise<WalletShareData>;
|
|
113
|
+
listShares(params?: {
|
|
114
|
+
state?: SafeShareState;
|
|
115
|
+
}): Promise<SafeShareData[]>;
|
|
116
|
+
acceptShare(params: AcceptSafeShareOptions): Promise<SafeShareData>;
|
|
117
|
+
registerPasskey(params: RegisterSafePasskeyOptions): Promise<RegisterSafePasskeyResponse>;
|
|
118
|
+
removePasskey(params: RemoveSafePasskeyOptions): Promise<void>;
|
|
119
|
+
freeze(params?: FreezeSafeBody): Promise<SafeData>;
|
|
120
|
+
archive(): Promise<SafeData>;
|
|
121
|
+
toJSON(): SafeData;
|
|
122
|
+
}
|
|
123
|
+
export {};
|
|
124
|
+
//# sourceMappingURL=iSafe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iSafe.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/safe/iSafe.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,oBAAoB;AACpB,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oBAAoB;AACpB,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC;AAI1C,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;CAClC;AAED,UAAU,iBAAiB;IACzB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,gGAAgG;IAChG,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uFAAuF;IACvF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,4EAA4E;AAC5E,MAAM,MAAM,oBAAoB,GAC5B,CAAC,iBAAiB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,GACvD,CAAC,iBAAiB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;AAE5D,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,uGAAuG;IACvG,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,+BAA+B,GAAG,kCAAkC,CAAC;AAE1G;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,yGAAyG;IACzG,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,EAAE,IAAI,MAAM,CAAC;IACb,YAAY,IAAI,MAAM,CAAC;IACvB,KAAK,IAAI,MAAM,CAAC;IAChB,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7B,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,YAAY,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAGrD,SAAS,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3D,iBAAiB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAChF,UAAU,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1E,WAAW,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACpE,eAAe,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC1F,aAAa,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnD,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7B,MAAM,IAAI,QAAQ,CAAC;CACpB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVNhZmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vc2FmZS9pU2FmZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqXG4gKiBAZXhwZXJpbWVudGFsIFRoZSBzYWZlIGNsaWVudCBzdXJmYWNlIGlzIGV4cGVyaW1lbnRhbCBhbmQgbWF5IGNoYW5nZSAoaW5jbHVkaW5nIGJyZWFraW5nXG4gKiBjaGFuZ2VzKSBiZWZvcmUgdGhlIHB1YmxpYyByZWxlYXNlLlxuICovXG4vLyBXaXJlL2RhdGEgc2hhcGVzIGFyZSBvd25lZCBieSBAYml0Z28vcHVibGljLXR5cGVzIOKAlCBpbXBvcnQgdGhlbSB3aGVyZSBuZWVkZWQgcmF0aGVyIHRoYW5cbi8vIHJlLWV4cG9ydGluZyBmcm9tIHNkay1jb3JlLlxuaW1wb3J0IHR5cGUge1xuICBGcmVlemVTYWZlQm9keSxcbiAgU2FmZURhdGEsXG4gIFNhZmVQZXJtaXNzaW9uLFxuICBTYWZlUm9vdEtleXMsXG4gIFNhZmVTaGFyZURhdGEsXG4gIFNhZmVTaGFyZUtleWNoYWluLFxuICBTYWZlU2hhcmVTdGF0ZSxcbiAgV2ViQXV0aG5PdHBEZXZpY2UsXG59IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBFbmNyeXB0aW9uVmVyc2lvbiB9IGZyb20gJy4uLy4uL2FwaS90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IFdhbGxldCwgV2FsbGV0U2hhcmUgfSBmcm9tICcuLi93YWxsZXQnO1xuaW1wb3J0IHR5cGUgeyBXZWJBdXRoblByb3ZpZGVyIH0gZnJvbSAnLi4vd2ViYXV0aG4nO1xuXG4vKiogQGV4cGVyaW1lbnRhbCAqL1xuZXhwb3J0IGludGVyZmFjZSBJbml0aWFsaXplU2FmZU9wdGlvbnMge1xuICBsYWJlbDogc3RyaW5nO1xufVxuXG4vKiogQGV4cGVyaW1lbnRhbCAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVTYWZlT3B0aW9ucyB7XG4gIGxhYmVsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGhhc2UgMyDigJQgdGhlIGNsaWVudCBoYW5kcyBiYWNrIHRoZSAxMiBrZXkgaWRzIGl0IGNyZWF0ZWQgaW4gUGhhc2UgMi5cbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaW5hbGl6ZVNhZmVPcHRpb25zIHtcbiAgcm9vdEtleXM6IFNhZmVSb290S2V5cztcbn1cblxuLyoqXG4gKiBTaGFyaW5nIE9ORSBzYWZlIHdhbGxldCB3aXRoIGEgbm9uLW1lbWJlciByaWRlcyB0aGUgZXhpc3Rpbmcgd2FsbGV0LXNoYXJlIGhhbmRzaGFrZSxcbiAqIHNvIHRoZSByZXN1bHQgaXMgdGhlIGV4aXN0aW5nIFdhbGxldFNoYXJlIHNoYXBlLlxuICovXG5leHBvcnQgdHlwZSBXYWxsZXRTaGFyZURhdGEgPSBXYWxsZXRTaGFyZTtcblxuLy8gLS0tLSBwZXItc2FmZSBvcGVyYXRpb24gb3B0aW9ucyAtLS0tXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlU2FmZVdhbGxldE9wdGlvbnMge1xuICBjb2luOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHBhc3NwaHJhc2U6IHN0cmluZztcbiAgdHlwZT86ICdob3QnO1xuICAvKipcbiAgICogTWludCBzY2hlbWU6IGBvbmNoYWluYCAoZGVmYXVsdCkgdXNlcyB0aGUgaW5kZXBlbmRlbnQgbXVsdGlzaWcgcm9vdCBzbG90IGZvciB0aGUgY29pbidzXG4gICAqIGN1cnZlOyBgdHNzYCB1c2VzIHRoZSBNUEMgcm9vdCBzbG90LiBJbmRlcGVuZGVudCBvZiB0aGUgY29pbidzIGRlZmF1bHQgd2FsbGV0IG11bHRpc2lnIHR5cGUuXG4gICAqL1xuICBtdWx0aXNpZ1R5cGU/OiAnb25jaGFpbicgfCAndHNzJztcbn1cblxuaW50ZXJmYWNlIEFkZFNhZmVNZW1iZXJCYXNlIHtcbiAgcGVybWlzc2lvbnM6IFNhZmVQZXJtaXNzaW9uW107XG4gIC8qKiByZXF1aXJlZCB3aGVuICdzcGVuZCcgaXMgaW5jbHVkZWQg4oCUIHRoZSA0IHJvb3QgdXNlciBrZXlzIEVDREgtcmUtZW5jcnlwdGVkIHRvIHRoZSBpbnZpdGVlICovXG4gIGtleWNoYWlucz86IFNhZmVTaGFyZUtleWNoYWluW107XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIC8qKiB3aGVuIHRydWUsIHN1cHByZXNzIHRoZSBpbnZpdGF0aW9uIGVtYWlsIHRoYXQgd291bGQgb3RoZXJ3aXNlIGJlIHNlbnQgdG8gYGVtYWlsYCAqL1xuICBkaXNhYmxlRW1haWw/OiBib29sZWFuO1xufVxuXG4vKiogQWRkIGEgbWVtYmVyIGJ5IGVpdGhlciBgdXNlcklkYCBvciBgZW1haWxgIOKAlCBleGFjdGx5IG9uZSBpcyByZXF1aXJlZC4gKi9cbmV4cG9ydCB0eXBlIEFkZFNhZmVNZW1iZXJPcHRpb25zID1cbiAgfCAoQWRkU2FmZU1lbWJlckJhc2UgJiB7IHVzZXJJZDogc3RyaW5nOyBlbWFpbD86IG5ldmVyIH0pXG4gIHwgKEFkZFNhZmVNZW1iZXJCYXNlICYgeyBlbWFpbDogc3RyaW5nOyB1c2VySWQ/OiBuZXZlciB9KTtcblxuZXhwb3J0IGludGVyZmFjZSBBZGRTYWZlV2FsbGV0TWVtYmVyT3B0aW9ucyB7XG4gIHdhbGxldElkOiBzdHJpbmc7XG4gIC8qKiByZXF1aXJlZCDigJQgc2hhcmluZyByZS1lbmNyeXB0cyB0aGUgdXNlciBrZXksIHdoaWNoIG5lZWRzIGhhcmRlbmVkIGRlcml2YXRpb24gZnJvbSB0aGUgcGFzc3BocmFzZSAqL1xuICB3YWxsZXRQYXNzcGhyYXNlOiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBwZXJtaXNzaW9ucz86IHN0cmluZ1tdO1xuICBtZXNzYWdlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBBY2NlcHRTYWZlU2hhcmVBc1NwZW5kZXJPcHRpb25zID0ge1xuICBzYWZlU2hhcmVJZDogc3RyaW5nO1xuICB1c2VyUGFzc3dvcmQ6IHN0cmluZztcbiAgbmV3V2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBBY2NlcHRTYWZlU2hhcmVBc05vblNwZW5kZXJPcHRpb25zID0ge1xuICBzYWZlU2hhcmVJZDogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIEFjY2VwdFNhZmVTaGFyZU9wdGlvbnMgPSBBY2NlcHRTYWZlU2hhcmVBc1NwZW5kZXJPcHRpb25zIHwgQWNjZXB0U2FmZVNoYXJlQXNOb25TcGVuZGVyT3B0aW9ucztcblxuLyoqXG4gKiBSZWdpc3RlciBhIFBSRiBwYXNza2V5IG9uIGV2ZXJ5IHVzZXIgcm9vdCBvZiB0aGUgc2FmZS4gVGhlIGRldmljZSBtdXN0IGJlIFBSRi1jYXBhYmxlXG4gKiBhbmQgYWxyZWFkeSBlbnJvbGxlZCBvbiB0aGUgY2FsbGVyJ3MgYWNjb3VudC5cbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlclNhZmVQYXNza2V5T3B0aW9ucyB7XG4gIGRldmljZTogV2ViQXV0aG5PdHBEZXZpY2U7XG4gIHNhZmVQYXNzcGhyYXNlOiBzdHJpbmc7XG4gIHByb3ZpZGVyOiBXZWJBdXRoblByb3ZpZGVyO1xuICAvKiogRW5jcnlwdGlvbiB2ZXJzaW9uIGZvciB0aGUgUFJGLXdyYXBwZWQgYmxvYnM7IGRlZmF1bHRzIHRvIHRoZSBTREsgZGVmYXVsdCAobWlycm9ycyB3YWxsZXQgYXR0YWNoKS4gKi9cbiAgZW5jcnlwdGlvblZlcnNpb24/OiBFbmNyeXB0aW9uVmVyc2lvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYSBQUkYgcGFzc2tleSBmcm9tIGV2ZXJ5IHVzZXIgcm9vdC4gYHNhZmVQYXNzcGhyYXNlYCBpcyB2ZXJpZmllZCBjbGllbnQtc2lkZVxuICogKGRlY3J5cHRzIGEgdXNlciByb290KSBiZWZvcmUgdGhlIHNlcnZlciBpcyBjYWxsZWQuXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3ZlU2FmZVBhc3NrZXlPcHRpb25zIHtcbiAgZGV2aWNlOiBXZWJBdXRobk90cERldmljZTtcbiAgc2FmZVBhc3NwaHJhc2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlclNhZmVQYXNza2V5UmVzcG9uc2Uge1xuICBvdHBEZXZpY2VJZDogc3RyaW5nO1xuICB1cGRhdGVkS2V5czogc3RyaW5nW107XG59XG5cbi8qKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTYWZlIHtcbiAgaWQoKTogc3RyaW5nO1xuICBlbnRlcnByaXNlSWQoKTogc3RyaW5nO1xuICBsYWJlbCgpOiBzdHJpbmc7XG4gIHN0YXR1cygpOiBTYWZlRGF0YVsnc3RhdHVzJ107XG4gIHVybChleHRyYT86IHN0cmluZyk6IHN0cmluZztcbiAgY3JlYXRlV2FsbGV0KHBhcmFtczogQ3JlYXRlU2FmZVdhbGxldE9wdGlvbnMpOiBQcm9taXNlPFdhbGxldD47XG4gIHVwZGF0ZShwYXJhbXM6IFVwZGF0ZVNhZmVPcHRpb25zKTogUHJvbWlzZTxTYWZlRGF0YT47XG4gIC8vIHdob2xlLXNhZmU6IHZpZXcvYWRtaW4vc3BlbmQvZGFwcDsgc3BlbmQgb3BlbnMgYSBrZXkgc2hhcmUgKGFsc28gaG93IGEgc3BlbmRlciBzZXJ2aWNlcyBhXG4gIC8vIHNhZmVTaGFyZVJlcXVlc3RzIGVudHJ5IGluIFVNUyBvcmdzKVxuICBhZGRNZW1iZXIocGFyYW1zOiBBZGRTYWZlTWVtYmVyT3B0aW9ucyk6IFByb21pc2U8U2FmZURhdGE+O1xuICAvLyBzaGFyZSBPTkUgc2FmZSB3YWxsZXQsIG5vdCB0aGUgd2hvbGUgc2FmZVxuICBhZGRNZW1iZXJUb1dhbGxldChwYXJhbXM6IEFkZFNhZmVXYWxsZXRNZW1iZXJPcHRpb25zKTogUHJvbWlzZTxXYWxsZXRTaGFyZURhdGE+O1xuICBsaXN0U2hhcmVzKHBhcmFtcz86IHsgc3RhdGU/OiBTYWZlU2hhcmVTdGF0ZSB9KTogUHJvbWlzZTxTYWZlU2hhcmVEYXRhW10+O1xuICBhY2NlcHRTaGFyZShwYXJhbXM6IEFjY2VwdFNhZmVTaGFyZU9wdGlvbnMpOiBQcm9taXNlPFNhZmVTaGFyZURhdGE+O1xuICByZWdpc3RlclBhc3NrZXkocGFyYW1zOiBSZWdpc3RlclNhZmVQYXNza2V5T3B0aW9ucyk6IFByb21pc2U8UmVnaXN0ZXJTYWZlUGFzc2tleVJlc3BvbnNlPjtcbiAgcmVtb3ZlUGFzc2tleShwYXJhbXM6IFJlbW92ZVNhZmVQYXNza2V5T3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG4gIGZyZWV6ZShwYXJhbXM/OiBGcmVlemVTYWZlQm9keSk6IFByb21pc2U8U2FmZURhdGE+O1xuICBhcmNoaXZlKCk6IFByb21pc2U8U2FmZURhdGE+O1xuICB0b0pTT04oKTogU2FmZURhdGE7XG59XG4iXX0=
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prettier
|
|
3
|
+
*
|
|
4
|
+
* @experimental The safe client surface is experimental and may change (including breaking
|
|
5
|
+
* changes) before the public release.
|
|
6
|
+
*/
|
|
7
|
+
import type { InitializeSafeResponse } from '@bitgo/public-types';
|
|
8
|
+
import { FinalizeSafeOptions, InitializeSafeOptions } from './iSafe';
|
|
9
|
+
import { Safe } from './safe';
|
|
10
|
+
/**
|
|
11
|
+
* Options for safe creation.
|
|
12
|
+
*
|
|
13
|
+
* v1 targets the HOT custody model only: the multisig root user/backup keys are generated locally
|
|
14
|
+
* by the SDK, encrypted with `passphrase`, and registered on BitGo; the MPC roots run the standard
|
|
15
|
+
* hot ceremonies with the same passphrase. Self-managed cold keys and custodial safes are out of
|
|
16
|
+
* scope for v1.
|
|
17
|
+
* @experimental
|
|
18
|
+
*/
|
|
19
|
+
export interface CreateSafeOptions {
|
|
20
|
+
label: string;
|
|
21
|
+
passphrase: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Handle returned by `initializeSafe`, threaded into the key ceremonies and finalize.
|
|
25
|
+
*
|
|
26
|
+
* `enabledRootSlots` is the server-decided (Flipt, evaluated once at initialize) set of root-key
|
|
27
|
+
* slots to generate; absent (older WP) falls back to all 4 slots.
|
|
28
|
+
* @experimental
|
|
29
|
+
*/
|
|
30
|
+
export interface SafeCreationHandle {
|
|
31
|
+
safeId: string;
|
|
32
|
+
enabledRootSlots?: InitializeSafeResponse['enabledRootSlots'];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The minted root key ids produced by `createSafeKeys`, as ordered [user, backup, bitgo]
|
|
36
|
+
* triplets for the enabled slots — exactly the payload `finalizeSafe` consumes.
|
|
37
|
+
* @experimental
|
|
38
|
+
*/
|
|
39
|
+
export type SafeKeys = FinalizeSafeOptions;
|
|
40
|
+
/**
|
|
41
|
+
* @experimental
|
|
42
|
+
*/
|
|
43
|
+
export interface ListSafesOptions {
|
|
44
|
+
cursor?: string;
|
|
45
|
+
limit?: number;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* @experimental
|
|
49
|
+
*/
|
|
50
|
+
export interface GetSafeOptions {
|
|
51
|
+
id: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* @experimental
|
|
55
|
+
*/
|
|
56
|
+
export interface ISafes {
|
|
57
|
+
/**
|
|
58
|
+
* One-call convenience wrapper chaining the three creation phases:
|
|
59
|
+
* initialize → createSafeKeys (safeId-tagged ceremonies for the enabled root slots) → finalize.
|
|
60
|
+
* HOT custody only in v1.
|
|
61
|
+
* @experimental
|
|
62
|
+
*/
|
|
63
|
+
generateSafe(params: CreateSafeOptions): Promise<Safe>;
|
|
64
|
+
/**
|
|
65
|
+
* Phase 1 — initialize a safe (metadata only, no key material). The server response is
|
|
66
|
+
* `{ id, status }` plus optional `enabledRootSlots` (no `label`/`enterpriseId`/`creator`/`users`/
|
|
67
|
+
* `createdAt` yet), so this returns that raw shape rather than a full `Safe`.
|
|
68
|
+
* @experimental
|
|
69
|
+
*/
|
|
70
|
+
initializeSafe(params: InitializeSafeOptions): Promise<InitializeSafeResponse>;
|
|
71
|
+
/**
|
|
72
|
+
* Phase 2 — run the enabled root key ceremonies tagged with `safeId`; returns the minted key ids.
|
|
73
|
+
* @experimental
|
|
74
|
+
*/
|
|
75
|
+
createSafeKeys(params: CreateSafeOptions & SafeCreationHandle): Promise<SafeKeys>;
|
|
76
|
+
/**
|
|
77
|
+
* Phase 3 — finalize a safe with the minted root key ids. Idempotent.
|
|
78
|
+
* @experimental
|
|
79
|
+
*/
|
|
80
|
+
finalizeSafe(safeId: string, params: FinalizeSafeOptions): Promise<Safe>;
|
|
81
|
+
/**
|
|
82
|
+
* Archive a safe. Also the abandonment path for a stuck `initializing` safe.
|
|
83
|
+
* @experimental
|
|
84
|
+
*/
|
|
85
|
+
archiveSafe(safeId: string): Promise<Safe>;
|
|
86
|
+
/** @experimental */
|
|
87
|
+
list(params?: ListSafesOptions): Promise<{
|
|
88
|
+
safes: Safe[];
|
|
89
|
+
nextCursor?: string;
|
|
90
|
+
}>;
|
|
91
|
+
/** @experimental */
|
|
92
|
+
get(params: GetSafeOptions): Promise<Safe>;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=iSafes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iSafes.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/safe/iSafes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;CAC/D;AAED;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,mBAAmB,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD;;;;;OAKG;IACH,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC/E;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClF;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,oBAAoB;IACpB,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjF,oBAAoB;IACpB,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVNhZmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3NhZmUvaVNhZmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICpcbiAqIEBleHBlcmltZW50YWwgVGhlIHNhZmUgY2xpZW50IHN1cmZhY2UgaXMgZXhwZXJpbWVudGFsIGFuZCBtYXkgY2hhbmdlIChpbmNsdWRpbmcgYnJlYWtpbmdcbiAqIGNoYW5nZXMpIGJlZm9yZSB0aGUgcHVibGljIHJlbGVhc2UuXG4gKi9cbmltcG9ydCB0eXBlIHsgSW5pdGlhbGl6ZVNhZmVSZXNwb25zZSB9IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHsgRmluYWxpemVTYWZlT3B0aW9ucywgSW5pdGlhbGl6ZVNhZmVPcHRpb25zIH0gZnJvbSAnLi9pU2FmZSc7XG5pbXBvcnQgeyBTYWZlIH0gZnJvbSAnLi9zYWZlJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBzYWZlIGNyZWF0aW9uLlxuICpcbiAqIHYxIHRhcmdldHMgdGhlIEhPVCBjdXN0b2R5IG1vZGVsIG9ubHk6IHRoZSBtdWx0aXNpZyByb290IHVzZXIvYmFja3VwIGtleXMgYXJlIGdlbmVyYXRlZCBsb2NhbGx5XG4gKiBieSB0aGUgU0RLLCBlbmNyeXB0ZWQgd2l0aCBgcGFzc3BocmFzZWAsIGFuZCByZWdpc3RlcmVkIG9uIEJpdEdvOyB0aGUgTVBDIHJvb3RzIHJ1biB0aGUgc3RhbmRhcmRcbiAqIGhvdCBjZXJlbW9uaWVzIHdpdGggdGhlIHNhbWUgcGFzc3BocmFzZS4gU2VsZi1tYW5hZ2VkIGNvbGQga2V5cyBhbmQgY3VzdG9kaWFsIHNhZmVzIGFyZSBvdXQgb2ZcbiAqIHNjb3BlIGZvciB2MS5cbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVTYWZlT3B0aW9ucyB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHBhc3NwaHJhc2U6IHN0cmluZzsgLy8gZW5jcnlwdHMgdGhlIGxvY2FsbHktZ2VuZXJhdGVkIG11bHRpc2lnIHVzZXIvYmFja3VwIHBydnM7IHNoYXJlZCB3aXRoIHRoZSBNUEMgY2VyZW1vbmllc1xufVxuXG4vKipcbiAqIEhhbmRsZSByZXR1cm5lZCBieSBgaW5pdGlhbGl6ZVNhZmVgLCB0aHJlYWRlZCBpbnRvIHRoZSBrZXkgY2VyZW1vbmllcyBhbmQgZmluYWxpemUuXG4gKlxuICogYGVuYWJsZWRSb290U2xvdHNgIGlzIHRoZSBzZXJ2ZXItZGVjaWRlZCAoRmxpcHQsIGV2YWx1YXRlZCBvbmNlIGF0IGluaXRpYWxpemUpIHNldCBvZiByb290LWtleVxuICogc2xvdHMgdG8gZ2VuZXJhdGU7IGFic2VudCAob2xkZXIgV1ApIGZhbGxzIGJhY2sgdG8gYWxsIDQgc2xvdHMuXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FmZUNyZWF0aW9uSGFuZGxlIHtcbiAgc2FmZUlkOiBzdHJpbmc7XG4gIGVuYWJsZWRSb290U2xvdHM/OiBJbml0aWFsaXplU2FmZVJlc3BvbnNlWydlbmFibGVkUm9vdFNsb3RzJ107XG59XG5cbi8qKlxuICogVGhlIG1pbnRlZCByb290IGtleSBpZHMgcHJvZHVjZWQgYnkgYGNyZWF0ZVNhZmVLZXlzYCwgYXMgb3JkZXJlZCBbdXNlciwgYmFja3VwLCBiaXRnb11cbiAqIHRyaXBsZXRzIGZvciB0aGUgZW5hYmxlZCBzbG90cyDigJQgZXhhY3RseSB0aGUgcGF5bG9hZCBgZmluYWxpemVTYWZlYCBjb25zdW1lcy5cbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IHR5cGUgU2FmZUtleXMgPSBGaW5hbGl6ZVNhZmVPcHRpb25zO1xuXG4vKipcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXN0U2FmZXNPcHRpb25zIHtcbiAgY3Vyc29yPzogc3RyaW5nOyAvLyBvcGFxdWUgY3Vyc29yIGZyb20gYSBwcmV2aW91cyByZXNwb25zZSdzIG5leHRDdXJzb3JcbiAgbGltaXQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldFNhZmVPcHRpb25zIHtcbiAgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVNhZmVzIHtcbiAgLyoqXG4gICAqIE9uZS1jYWxsIGNvbnZlbmllbmNlIHdyYXBwZXIgY2hhaW5pbmcgdGhlIHRocmVlIGNyZWF0aW9uIHBoYXNlczpcbiAgICogaW5pdGlhbGl6ZSDihpIgY3JlYXRlU2FmZUtleXMgKHNhZmVJZC10YWdnZWQgY2VyZW1vbmllcyBmb3IgdGhlIGVuYWJsZWQgcm9vdCBzbG90cykg4oaSIGZpbmFsaXplLlxuICAgKiBIT1QgY3VzdG9keSBvbmx5IGluIHYxLlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBnZW5lcmF0ZVNhZmUocGFyYW1zOiBDcmVhdGVTYWZlT3B0aW9ucyk6IFByb21pc2U8U2FmZT47XG4gIC8qKlxuICAgKiBQaGFzZSAxIOKAlCBpbml0aWFsaXplIGEgc2FmZSAobWV0YWRhdGEgb25seSwgbm8ga2V5IG1hdGVyaWFsKS4gVGhlIHNlcnZlciByZXNwb25zZSBpc1xuICAgKiBgeyBpZCwgc3RhdHVzIH1gIHBsdXMgb3B0aW9uYWwgYGVuYWJsZWRSb290U2xvdHNgIChubyBgbGFiZWxgL2BlbnRlcnByaXNlSWRgL2BjcmVhdG9yYC9gdXNlcnNgL1xuICAgKiBgY3JlYXRlZEF0YCB5ZXQpLCBzbyB0aGlzIHJldHVybnMgdGhhdCByYXcgc2hhcGUgcmF0aGVyIHRoYW4gYSBmdWxsIGBTYWZlYC5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgaW5pdGlhbGl6ZVNhZmUocGFyYW1zOiBJbml0aWFsaXplU2FmZU9wdGlvbnMpOiBQcm9taXNlPEluaXRpYWxpemVTYWZlUmVzcG9uc2U+O1xuICAvKipcbiAgICogUGhhc2UgMiDigJQgcnVuIHRoZSBlbmFibGVkIHJvb3Qga2V5IGNlcmVtb25pZXMgdGFnZ2VkIHdpdGggYHNhZmVJZGA7IHJldHVybnMgdGhlIG1pbnRlZCBrZXkgaWRzLlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBjcmVhdGVTYWZlS2V5cyhwYXJhbXM6IENyZWF0ZVNhZmVPcHRpb25zICYgU2FmZUNyZWF0aW9uSGFuZGxlKTogUHJvbWlzZTxTYWZlS2V5cz47XG4gIC8qKlxuICAgKiBQaGFzZSAzIOKAlCBmaW5hbGl6ZSBhIHNhZmUgd2l0aCB0aGUgbWludGVkIHJvb3Qga2V5IGlkcy4gSWRlbXBvdGVudC5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgZmluYWxpemVTYWZlKHNhZmVJZDogc3RyaW5nLCBwYXJhbXM6IEZpbmFsaXplU2FmZU9wdGlvbnMpOiBQcm9taXNlPFNhZmU+O1xuICAvKipcbiAgICogQXJjaGl2ZSBhIHNhZmUuIEFsc28gdGhlIGFiYW5kb25tZW50IHBhdGggZm9yIGEgc3R1Y2sgYGluaXRpYWxpemluZ2Agc2FmZS5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgYXJjaGl2ZVNhZmUoc2FmZUlkOiBzdHJpbmcpOiBQcm9taXNlPFNhZmU+O1xuICAvKiogQGV4cGVyaW1lbnRhbCAqL1xuICBsaXN0KHBhcmFtcz86IExpc3RTYWZlc09wdGlvbnMpOiBQcm9taXNlPHsgc2FmZXM6IFNhZmVbXTsgbmV4dEN1cnNvcj86IHN0cmluZyB9PjtcbiAgLyoqIEBleHBlcmltZW50YWwgKi9cbiAgZ2V0KHBhcmFtczogR2V0U2FmZU9wdGlvbnMpOiBQcm9taXNlPFNhZmU+O1xufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/safe/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
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("./derivableEd25519Pub"), exports);
|
|
18
|
+
__exportStar(require("./iSafe"), exports);
|
|
19
|
+
__exportStar(require("./iSafes"), exports);
|
|
20
|
+
__exportStar(require("./recovery"), exports);
|
|
21
|
+
__exportStar(require("./safe"), exports);
|
|
22
|
+
__exportStar(require("./safes"), exports);
|
|
23
|
+
__exportStar(require("@bitgo-beta/sdk-lib-safes"), exports);
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vc2FmZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0RBQXNDO0FBQ3RDLDBDQUF3QjtBQUN4QiwyQ0FBeUI7QUFDekIsNkNBQTJCO0FBQzNCLHlDQUF1QjtBQUN2QiwwQ0FBd0I7QUFDeEIsNERBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kZXJpdmFibGVFZDI1NTE5UHViJztcbmV4cG9ydCAqIGZyb20gJy4vaVNhZmUnO1xuZXhwb3J0ICogZnJvbSAnLi9pU2FmZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNvdmVyeSc7XG5leHBvcnQgKiBmcm9tICcuL3NhZmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zYWZlcyc7XG5leHBvcnQgKiBmcm9tICdAYml0Z28tYmV0YS9zZGstbGliLXNhZmVzJztcbiJdfQ==
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prettier
|
|
3
|
+
*
|
|
4
|
+
* @experimental WRW-facing safe recovery entry points.
|
|
5
|
+
*/
|
|
6
|
+
import { Buffer } from 'buffer';
|
|
7
|
+
import type { RootKeyType } from '@bitgo/public-types';
|
|
8
|
+
import { type Ed25519ExtendedKeyParts } from './derivableEd25519Pub';
|
|
9
|
+
import { BitGoBase } from '../bitgoBase';
|
|
10
|
+
export type DecryptedMpcSafeRoot = {
|
|
11
|
+
signing: Buffer;
|
|
12
|
+
vrf: Buffer;
|
|
13
|
+
};
|
|
14
|
+
export type OnchainSafeRoot = {
|
|
15
|
+
user: string;
|
|
16
|
+
backup: string;
|
|
17
|
+
bitgo: string;
|
|
18
|
+
};
|
|
19
|
+
export type MpcSafeRoot = {
|
|
20
|
+
user: DecryptedMpcSafeRoot;
|
|
21
|
+
backup: DecryptedMpcSafeRoot;
|
|
22
|
+
bitgo: string;
|
|
23
|
+
};
|
|
24
|
+
export type Ed25519MultisigSafeRoot = {
|
|
25
|
+
user: string;
|
|
26
|
+
backup: {
|
|
27
|
+
prv: string;
|
|
28
|
+
chainCode: string;
|
|
29
|
+
};
|
|
30
|
+
bitgo: string;
|
|
31
|
+
};
|
|
32
|
+
export type Secp256k1MultisigChildKeys = {
|
|
33
|
+
user: {
|
|
34
|
+
prv: string;
|
|
35
|
+
pub: string;
|
|
36
|
+
};
|
|
37
|
+
backup: {
|
|
38
|
+
prv: string;
|
|
39
|
+
pub: string;
|
|
40
|
+
};
|
|
41
|
+
bitgo: {
|
|
42
|
+
pub: string;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
export type EcdsaMpcChildKeys = {
|
|
46
|
+
commonKeychain: string;
|
|
47
|
+
user: string;
|
|
48
|
+
backup: string;
|
|
49
|
+
};
|
|
50
|
+
export type EddsaMpcChildKeys = EcdsaMpcChildKeys;
|
|
51
|
+
/**
|
|
52
|
+
* A hardened (SLIP-0010) ed25519 child. The `kind` discriminator prevents a raw seed from being
|
|
53
|
+
* mistaken for an extended key downstream — both are 32-byte values that `isValidPub` would accept.
|
|
54
|
+
*/
|
|
55
|
+
export type SafeEd25519SeedKey = {
|
|
56
|
+
readonly kind: 'seed';
|
|
57
|
+
readonly seed: string;
|
|
58
|
+
readonly pub: string;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* A soft (BIP32-Ed25519) ed25519 child. No 32-byte seed maps back to a soft-derived child, so the
|
|
62
|
+
* signer needs both halves directly: `kL` (the clamped scalar) and `kR` (the nonce prefix).
|
|
63
|
+
*/
|
|
64
|
+
export type SafeEd25519ExtendedKey = {
|
|
65
|
+
readonly kind: 'extended';
|
|
66
|
+
} & Ed25519ExtendedKeyParts<string>;
|
|
67
|
+
/** The three ed25519 co-signer children. BitGo is pub-only: its private key stays in the HSM. */
|
|
68
|
+
export type Ed25519MultisigChildKeys = {
|
|
69
|
+
user: SafeEd25519SeedKey;
|
|
70
|
+
backup: SafeEd25519ExtendedKey;
|
|
71
|
+
bitgo: {
|
|
72
|
+
readonly pub: string;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
export type DerivedSafeWalletKeys = {
|
|
76
|
+
slot: 'secp256k1Multisig';
|
|
77
|
+
path: string;
|
|
78
|
+
keys: Secp256k1MultisigChildKeys;
|
|
79
|
+
} | {
|
|
80
|
+
slot: 'ecdsaMpc';
|
|
81
|
+
path: string;
|
|
82
|
+
keys: EcdsaMpcChildKeys;
|
|
83
|
+
} | {
|
|
84
|
+
slot: 'eddsaMpc';
|
|
85
|
+
path: string;
|
|
86
|
+
keys: EddsaMpcChildKeys;
|
|
87
|
+
} | {
|
|
88
|
+
slot: 'ed25519Multisig';
|
|
89
|
+
path: string;
|
|
90
|
+
keys: Ed25519MultisigChildKeys;
|
|
91
|
+
};
|
|
92
|
+
export type SafeRecoverKeyParams = {
|
|
93
|
+
userKey: string;
|
|
94
|
+
backupKey: string;
|
|
95
|
+
bitgoKey: string;
|
|
96
|
+
walletPassphrase?: string;
|
|
97
|
+
};
|
|
98
|
+
export type DecryptedSafeRoots = {
|
|
99
|
+
secp256k1Multisig: OnchainSafeRoot;
|
|
100
|
+
ed25519Multisig: Ed25519MultisigSafeRoot;
|
|
101
|
+
ecdsaMpc: MpcSafeRoot;
|
|
102
|
+
eddsaMpc: MpcSafeRoot;
|
|
103
|
+
};
|
|
104
|
+
export declare function decryptSafeKeycard(params: {
|
|
105
|
+
bitgo: BitGoBase;
|
|
106
|
+
userKeyBox: string;
|
|
107
|
+
backupKeyBox: string;
|
|
108
|
+
bitgoKeyBox: string;
|
|
109
|
+
password: string;
|
|
110
|
+
}): Promise<DecryptedSafeRoots>;
|
|
111
|
+
/**
|
|
112
|
+
* Derives a Safe wallet's child keys at the BIP44 path for a given slot and account.
|
|
113
|
+
* Supports all four slots: `secp256k1Multisig`, `ed25519Multisig`, `ecdsaMpc`, and `eddsaMpc`.
|
|
114
|
+
*/
|
|
115
|
+
export declare function deriveSafeWalletKeys(params: {
|
|
116
|
+
coin: string;
|
|
117
|
+
slot: RootKeyType;
|
|
118
|
+
account: number;
|
|
119
|
+
roots: DecryptedSafeRoots;
|
|
120
|
+
}): Promise<DerivedSafeWalletKeys>;
|
|
121
|
+
/**
|
|
122
|
+
* Builds the key fields `coin.recover()` expects from derived Safe child keys.
|
|
123
|
+
* Only `secp256k1Multisig` (slot 1) is supported for now. Signed mode re-encrypts the
|
|
124
|
+
* child xprvs under a fresh ephemeral passphrase (v1/SJCL); unsigned mode returns pubs.
|
|
125
|
+
*/
|
|
126
|
+
export declare function buildSafeRecoverKeyParams(params: {
|
|
127
|
+
bitgo: BitGoBase;
|
|
128
|
+
coin: string;
|
|
129
|
+
slot: RootKeyType;
|
|
130
|
+
keys: Secp256k1MultisigChildKeys;
|
|
131
|
+
mode: 'signed' | 'unsigned';
|
|
132
|
+
}): Promise<SafeRecoverKeyParams>;
|
|
133
|
+
//# sourceMappingURL=recovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/safe/recovery.ts"],"names":[],"mappings":"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"}
|