@bitgo-beta/sdk-core 8.2.1-beta.206 → 8.2.1-beta.2060
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 +296 -31
- 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 +68 -3
- package/dist/src/bitgo/environments.d.ts.map +1 -1
- package/dist/src/bitgo/environments.js +414 -34
- package/dist/src/bitgo/errors.d.ts +182 -1
- package/dist/src/bitgo/errors.d.ts.map +1 -1
- package/dist/src/bitgo/errors.js +177 -3
- package/dist/src/bitgo/evm/evmUtils.d.ts +26 -0
- package/dist/src/bitgo/evm/evmUtils.d.ts.map +1 -0
- package/dist/src/bitgo/evm/evmUtils.js +50 -0
- package/dist/src/bitgo/index.d.ts +5 -1
- package/dist/src/bitgo/index.d.ts.map +1 -1
- package/dist/src/bitgo/index.js +31 -11
- package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +3 -3
- package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
- package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +1 -1
- package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
- package/dist/src/bitgo/internal/index.js +6 -2
- package/dist/src/bitgo/internal/internal.js +5 -6
- package/dist/src/bitgo/internal/keycard.d.ts +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 +132 -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 +59 -7
- package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/keychains.js +298 -53
- 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 +13 -0
- package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts.map +1 -0
- package/dist/src/bitgo/safe/derivableEd25519Pub.js +35 -0
- package/dist/src/bitgo/safe/iSafe.d.ts +95 -0
- package/dist/src/bitgo/safe/iSafe.d.ts.map +1 -0
- package/dist/src/bitgo/safe/iSafe.js +3 -0
- package/dist/src/bitgo/safe/iSafes.d.ts +94 -0
- package/dist/src/bitgo/safe/iSafes.d.ts.map +1 -0
- package/dist/src/bitgo/safe/iSafes.js +3 -0
- package/dist/src/bitgo/safe/index.d.ts +7 -0
- package/dist/src/bitgo/safe/index.d.ts.map +1 -0
- package/dist/src/bitgo/safe/index.js +23 -0
- package/dist/src/bitgo/safe/safe.d.ts +72 -0
- package/dist/src/bitgo/safe/safe.d.ts.map +1 -0
- package/dist/src/bitgo/safe/safe.js +289 -0
- package/dist/src/bitgo/safe/safes.d.ts +107 -0
- package/dist/src/bitgo/safe/safes.d.ts.map +1 -0
- package/dist/src/bitgo/safe/safes.js +317 -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 +165 -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 +41 -6
- package/dist/src/bitgo/tss/common.d.ts.map +1 -1
- package/dist/src/bitgo/tss/common.js +127 -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 +50 -0
- package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.js +112 -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 +4 -2
- package/dist/src/bitgo/utils/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/index.js +27 -11
- package/dist/src/bitgo/utils/messageTypes.d.ts +40 -0
- package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
- package/dist/src/bitgo/utils/messageTypes.js +17 -0
- package/dist/src/bitgo/utils/mpcUtils.d.ts +4 -4
- package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/mpcUtils.js +189 -14
- package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
- package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
- package/dist/src/bitgo/utils/notEmpty.js +7 -0
- package/dist/src/bitgo/utils/opengpgUtils.d.ts +11 -7
- package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/opengpgUtils.js +79 -62
- package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -1
- package/dist/src/bitgo/utils/postWithCodec.js +4 -38
- package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
- package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/promise-utils.js +2 -3
- package/dist/src/bitgo/utils/transactionUtils.d.ts +9 -0
- package/dist/src/bitgo/utils/transactionUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/transactionUtils.js +29 -0
- package/dist/src/bitgo/utils/triple.d.ts +1 -1
- package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
- package/dist/src/bitgo/utils/triple.js +2 -3
- package/dist/src/bitgo/utils/tss/addressVerification.d.ts +62 -0
- package/dist/src/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/addressVerification.js +93 -0
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +94 -17
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +305 -45
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +433 -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 +240 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +1076 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +16 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +37 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts +69 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.js +442 -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 +125 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
- package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts +21 -0
- package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.js +118 -0
- package/dist/src/bitgo/utils/tss/eddsa/base.d.ts +18 -0
- package/dist/src/bitgo/utils/tss/eddsa/base.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/base.js +64 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +38 -11
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +254 -96
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +209 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +875 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts +6 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.js +16 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts +25 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.js +241 -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 +53 -0
- package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.js +55 -0
- package/dist/src/bitgo/utils/tss/index.d.ts +6 -0
- package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/index.js +30 -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/preHashedSignable.d.ts +23 -0
- package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/preHashedSignable.js +26 -0
- package/dist/src/bitgo/utils/tss/recipientUtils.d.ts +41 -0
- package/dist/src/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/recipientUtils.js +162 -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 +89 -1
- package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/BuildParams.js +90 -11
- package/dist/src/bitgo/wallet/iWallet.d.ts +583 -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 +310 -16
- package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallets.js +84 -3
- package/dist/src/bitgo/wallet/index.d.ts +1 -0
- package/dist/src/bitgo/wallet/index.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/index.js +7 -2
- package/dist/src/bitgo/wallet/safeKeychain.d.ts +75 -0
- package/dist/src/bitgo/wallet/safeKeychain.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/safeKeychain.js +151 -0
- package/dist/src/bitgo/wallet/wallet.d.ts +359 -27
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +2205 -390
- 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 +1242 -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/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 +166 -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 +133 -0
- package/dist/test/unit/bitgo/safe/fixtures/derivableEd25519Pub.json +72 -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 +415 -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 +75 -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 +77 -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 +181 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -4
- package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
- package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.js +106 -0
- package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.js +32 -38
- package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/addressVerification.js +251 -0
- package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.js +348 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.js +94 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +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 +1937 -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 +174 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.js +311 -0
- package/dist/test/unit/bitgo/utils/tss/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/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 +434 -0
- package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.js +80 -0
- package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.js +279 -0
- package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.js +111 -0
- package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/txRequest.js +179 -0
- package/dist/test/unit/bitgo/utils/wallet.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/wallet.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/wallet.js +55 -0
- package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/BuildParams.js +141 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +79 -9
- package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/getAccountResources.js +133 -0
- package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.js +88 -0
- package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/getResourceDelegations.js +118 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.js +141 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.js +185 -0
- package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.js +20 -0
- package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts +3 -0
- package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/resourceManagement.js +441 -0
- package/dist/test/unit/bitgo/wallet/safeGetUserPrv.d.ts +5 -0
- package/dist/test/unit/bitgo/wallet/safeGetUserPrv.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/safeGetUserPrv.js +671 -0
- package/dist/test/unit/bitgo/wallet/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 +303 -0
- package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/tokenApproval.js +201 -0
- package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.js +181 -0
- package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.js +69 -0
- package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.js +320 -0
- package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.js +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 +675 -0
- package/dist/test/unit/bitgo/wallet/walletsGoAccount.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletsGoAccount.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletsGoAccount.js +150 -0
- package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletsWebauthn.js +201 -0
- package/dist/test/unit/coins/ofc.d.ts +2 -0
- package/dist/test/unit/coins/ofc.d.ts.map +1 -0
- package/dist/test/unit/coins/ofc.js +124 -0
- package/dist/test/unit/lightning.d.ts +2 -0
- package/dist/test/unit/lightning.d.ts.map +1 -0
- package/dist/test/unit/lightning.js +23 -0
- package/dist/test/unit/units.d.ts.map +1 -1
- package/dist/test/unit/units.js +64 -64
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +25 -22
- package/.eslintignore +0 -5
- package/CHANGELOG.md +0 -1712
- package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
- package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
- package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
- package/dist/src/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,317 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.Safes = void 0;
|
|
37
|
+
/**
|
|
38
|
+
* @prettier
|
|
39
|
+
*
|
|
40
|
+
* @experimental The safe client surface is experimental and may change (including breaking
|
|
41
|
+
* changes) before the public release.
|
|
42
|
+
*/
|
|
43
|
+
const t = __importStar(require("io-ts"));
|
|
44
|
+
const public_types_1 = require("@bitgo/public-types");
|
|
45
|
+
const common_1 = require("../../common");
|
|
46
|
+
const errors_1 = require("../errors");
|
|
47
|
+
const codecs_1 = require("../utils/codecs");
|
|
48
|
+
const sdk_lib_safes_1 = require("@bitgo-beta/sdk-lib-safes");
|
|
49
|
+
const postWithCodec_1 = require("../utils/postWithCodec");
|
|
50
|
+
const safe_1 = require("./safe");
|
|
51
|
+
/**
|
|
52
|
+
* Representative coin per root slot, by network. Safe roots are curve/scheme-scoped, not
|
|
53
|
+
* coin-scoped — WP stamps `curve` server-side from the coin's key curve, so any coin of the
|
|
54
|
+
* right (curve, scheme) works. These are stable, always-available choices used only to route
|
|
55
|
+
* the key-generation ceremony; the resulting root is interchangeable across coins of the slot.
|
|
56
|
+
* @experimental
|
|
57
|
+
*/
|
|
58
|
+
const ROOT_COIN_BY_NETWORK = {
|
|
59
|
+
mainnet: {
|
|
60
|
+
// multisig roots
|
|
61
|
+
secp256k1Multisig: 'btc',
|
|
62
|
+
ed25519Multisig: 'xlm',
|
|
63
|
+
// MPC roots
|
|
64
|
+
ecdsaMpc: 'eth',
|
|
65
|
+
eddsaMpc: 'sol',
|
|
66
|
+
},
|
|
67
|
+
testnet: {
|
|
68
|
+
// multisig roots
|
|
69
|
+
secp256k1Multisig: 'tbtc',
|
|
70
|
+
ed25519Multisig: 'txlm',
|
|
71
|
+
// MPC roots
|
|
72
|
+
ecdsaMpc: 'hteth',
|
|
73
|
+
eddsaMpc: 'tsol',
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Wire shape of the paginated `GET /enterprise/:eId/safes` response. WP paginates with the v2
|
|
78
|
+
* `prevId`/`nextBatchPrevId` convention; the SDK re-exposes it as an opaque `cursor`/`nextCursor`
|
|
79
|
+
* (see `list`).
|
|
80
|
+
* @experimental
|
|
81
|
+
*/
|
|
82
|
+
const ListSafesResponse = t.intersection([
|
|
83
|
+
t.type({ safes: t.array(public_types_1.SafeData) }),
|
|
84
|
+
t.partial({ nextBatchPrevId: t.string }),
|
|
85
|
+
]);
|
|
86
|
+
/**
|
|
87
|
+
* Collection accessor for a single enterprise's safes, mirroring Wallets / Enterprises.
|
|
88
|
+
* Safe routes are enterprise-scoped (/api/v2/enterprise/:eId/safes), so the accessor is
|
|
89
|
+
* constructed with the enterprise id (see Enterprise.safes()).
|
|
90
|
+
*
|
|
91
|
+
* @experimental
|
|
92
|
+
*/
|
|
93
|
+
class Safes {
|
|
94
|
+
constructor(bitgo, enterpriseId) {
|
|
95
|
+
this.bitgo = bitgo;
|
|
96
|
+
this.enterpriseId = enterpriseId;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Enterprise-scoped v2 URL for the safes collection, e.g. /api/v2/enterprise/:eId/safes
|
|
100
|
+
* @param extra
|
|
101
|
+
*/
|
|
102
|
+
url(extra = '') {
|
|
103
|
+
return this.bitgo.url(`/enterprise/${this.enterpriseId}/safes${extra}`, 2);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* One-call convenience wrapper chaining the three creation phases:
|
|
107
|
+
* initialize (Phase 1) → createSafeKeys (Phase 2, enabled-slot ceremonies) →
|
|
108
|
+
* finalize (Phase 3). HOT custody only in v1.
|
|
109
|
+
*
|
|
110
|
+
* If a key ceremony fails, `createSafeKeys` archives the safe before throwing, so a failed run
|
|
111
|
+
* leaves no half-created safe behind — create a new safe and retry.
|
|
112
|
+
* @experimental
|
|
113
|
+
*/
|
|
114
|
+
async generateSafe(params) {
|
|
115
|
+
const safe = await this.initializeSafe({ label: params.label });
|
|
116
|
+
const rootKeys = await this.createSafeKeys({
|
|
117
|
+
...params,
|
|
118
|
+
safeId: safe.id,
|
|
119
|
+
enabledRootSlots: safe.enabledRootSlots,
|
|
120
|
+
});
|
|
121
|
+
return await this.finalizeSafe(safe.id, rootKeys);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Phase 1 — initialize a safe (metadata only, no key material).
|
|
125
|
+
* POST /api/v2/enterprise/:eId/safes { label }
|
|
126
|
+
* Response is `{ id, status }` plus optional `enabledRootSlots` (absent on older WP).
|
|
127
|
+
* @experimental
|
|
128
|
+
*/
|
|
129
|
+
async initializeSafe(params) {
|
|
130
|
+
const response = await (0, postWithCodec_1.postWithCodec)(this.bitgo, this.url(), public_types_1.InitializeSafeBody, params).result();
|
|
131
|
+
return (0, codecs_1.decodeWithCodec)(public_types_1.InitializeSafeResponse, response, 'InitializeSafeResponse');
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Phase 2 — run the enabled root key ceremonies tagged with `safeId`; returns ordered
|
|
135
|
+
* [user, backup, bitgo] triplets for those slots. HOT custody only in v1.
|
|
136
|
+
*
|
|
137
|
+
* Absent `enabledRootSlots` (older WP, pre-gating) runs all 4 slots. Enabled ceremonies
|
|
138
|
+
* (2.1 multisig ①④, 2.2 MPC ②③) run in parallel. If any of them fail, the
|
|
139
|
+
* partially-created safe is archived (a legal `initializing → archived` transition, so the
|
|
140
|
+
* orphaned tagged keys are inert) and an error listing every ceremony failure is thrown —
|
|
141
|
+
* create a new safe and retry.
|
|
142
|
+
*
|
|
143
|
+
* Not independently idempotent: re-running against a safe that already has some roots hits WP's
|
|
144
|
+
* unique root-slot index.
|
|
145
|
+
* @experimental
|
|
146
|
+
*/
|
|
147
|
+
async createSafeKeys(params) {
|
|
148
|
+
const { safeId, passphrase, enabledRootSlots } = params;
|
|
149
|
+
const enterprise = this.enterpriseId;
|
|
150
|
+
// Absent `enabledRootSlots` (older WP, pre-gating) ⇒ all 4, preserving current behavior.
|
|
151
|
+
// Ordered by scheme: the two multisig roots first, then the two MPC roots.
|
|
152
|
+
const allSlots = ['secp256k1Multisig', 'ed25519Multisig', 'ecdsaMpc', 'eddsaMpc'];
|
|
153
|
+
const enabled = new Set(enabledRootSlots ?? allSlots);
|
|
154
|
+
const slots = allSlots.filter((slot) => enabled.has(slot));
|
|
155
|
+
const ceremonies = {
|
|
156
|
+
// Phase 2.1 — multisig roots (①④): local user/backup keypairs + BitGo key, all safeId-tagged.
|
|
157
|
+
secp256k1Multisig: () => this.createMultisigRoot('secp256k1Multisig', safeId, passphrase, enterprise),
|
|
158
|
+
ed25519Multisig: () => this.createMultisigRoot('ed25519Multisig', safeId, passphrase, enterprise),
|
|
159
|
+
// Phase 2.2 — MPC roots (②③): the existing DKLS (②) and EdDSA (③) ceremonies, safeId threaded.
|
|
160
|
+
ecdsaMpc: () => this.createMpcRoot('ecdsaMpc', safeId, passphrase, enterprise),
|
|
161
|
+
eddsaMpc: () => this.createMpcRoot('eddsaMpc', safeId, passphrase, enterprise),
|
|
162
|
+
};
|
|
163
|
+
const results = await Promise.allSettled(slots.map((slot) => ceremonies[slot]()));
|
|
164
|
+
// Single pass over the settled results: `status === 'fulfilled'` narrows `.value` to a
|
|
165
|
+
// RootKeyTriplet, and rejections are collected per-slot for the error below.
|
|
166
|
+
const hot = {};
|
|
167
|
+
const failures = [];
|
|
168
|
+
results.forEach((result, i) => {
|
|
169
|
+
if (result.status === 'fulfilled') {
|
|
170
|
+
hot[slots[i]] = result.value;
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
const reason = result.reason instanceof Error ? result.reason.message : String(result.reason);
|
|
174
|
+
// ApiResponseError carries the server-echoed `Request-ID` header — include it (when
|
|
175
|
+
// present) so a failed ceremony can be correlated with WP's server-side logs.
|
|
176
|
+
const requestId = result.reason instanceof errors_1.ApiResponseError ? result.reason.requestId : undefined;
|
|
177
|
+
failures.push(`${slots[i]}: ${reason}${requestId ? ` (requestId: ${requestId})` : ''}`);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
if (failures.length > 0) {
|
|
181
|
+
// Best-effort abandon the partially-created safe so a retry starts from a clean slate. Keep
|
|
182
|
+
// the ceremony failures as the primary error; note it if the cleanup archive also failed.
|
|
183
|
+
let archiveError;
|
|
184
|
+
try {
|
|
185
|
+
await this.archiveSafe(safeId);
|
|
186
|
+
}
|
|
187
|
+
catch (e) {
|
|
188
|
+
archiveError = e instanceof Error ? e : new Error(String(e));
|
|
189
|
+
}
|
|
190
|
+
let message = `Safe key generation failed for ${failures.length} root ceremony/ies ` +
|
|
191
|
+
`[${failures.join('; ')}]. The safe (${safeId}) has been archived; create a new safe and retry.`;
|
|
192
|
+
if (archiveError) {
|
|
193
|
+
message += ` NOTE: archiving the safe also failed (${archiveError.message}); archive it manually before retrying.`;
|
|
194
|
+
}
|
|
195
|
+
throw new Error(message);
|
|
196
|
+
}
|
|
197
|
+
return { rootKeys: { hot } };
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Archive a safe. Also the abandonment path for a stuck `initializing` safe (used by
|
|
201
|
+
* `createSafeKeys` to clean up after a failed ceremony).
|
|
202
|
+
* POST /api/v2/enterprise/:eId/safes/:safeId/archive
|
|
203
|
+
* @experimental
|
|
204
|
+
*/
|
|
205
|
+
async archiveSafe(safeId) {
|
|
206
|
+
const response = await this.bitgo
|
|
207
|
+
.post(this.url(`/${safeId}/archive`))
|
|
208
|
+
.send()
|
|
209
|
+
.result();
|
|
210
|
+
const safeData = (0, codecs_1.decodeWithCodec)(public_types_1.SafeData, response, 'SafeData');
|
|
211
|
+
return new safe_1.Safe(this.bitgo, safeData);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Phase 3 — finalize a safe with the minted root key ids as ordered [user, backup, bitgo] triplets.
|
|
215
|
+
* POST /api/v2/enterprise/:eId/safes/:safeId/finalize { rootKeys }.
|
|
216
|
+
* Idempotent: re-finalizing with the same `rootKeys` returns the active safe again (200).
|
|
217
|
+
* @experimental
|
|
218
|
+
*/
|
|
219
|
+
async finalizeSafe(safeId, params) {
|
|
220
|
+
const response = await (0, postWithCodec_1.postWithCodec)(this.bitgo, this.url(`/${safeId}/finalize`), public_types_1.FinalizeSafeBody, params).result();
|
|
221
|
+
const safeData = (0, codecs_1.decodeWithCodec)(public_types_1.SafeData, response, 'SafeData');
|
|
222
|
+
return new safe_1.Safe(this.bitgo, safeData);
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Coin used to route a given root's key ceremony (see ROOT_COIN_BY_NETWORK).
|
|
226
|
+
* @experimental
|
|
227
|
+
*/
|
|
228
|
+
coinForRoot(slot) {
|
|
229
|
+
// V1Network is exactly 'bitcoin' | 'testnet', so this branch is exhaustive over every
|
|
230
|
+
// environment: 'bitcoin' is mainnet and every other value is a testnet.
|
|
231
|
+
const network = common_1.Environments[this.bitgo.getEnv()].network === 'bitcoin' ? 'mainnet' : 'testnet';
|
|
232
|
+
return this.bitgo.coin(ROOT_COIN_BY_NETWORK[network][slot]);
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Phase 2.1 helper — mint one onchain-multisig root (cold model, as wallet creation does today):
|
|
236
|
+
* generate user/backup keypairs locally, encrypt with `passphrase`, register via POST /:coin/key
|
|
237
|
+
* with `safeId`; the BitGo key is created through the same route's `source:'bitgo'` path.
|
|
238
|
+
* Returns the [user, backup, bitgo] key id triplet.
|
|
239
|
+
* @experimental
|
|
240
|
+
*/
|
|
241
|
+
async createMultisigRoot(slot, safeId, passphrase, enterprise) {
|
|
242
|
+
const keychains = this.coinForRoot(slot).keychains();
|
|
243
|
+
const userKeyPair = keychains.create();
|
|
244
|
+
const userKeychainPromise = keychains.add({
|
|
245
|
+
pub: userKeyPair.pub,
|
|
246
|
+
encryptedPrv: await this.bitgo.encrypt({ input: userKeyPair.prv, password: passphrase }),
|
|
247
|
+
source: 'user',
|
|
248
|
+
safeId,
|
|
249
|
+
});
|
|
250
|
+
const backupKeychainPromise = keychains.createBackup({ passphrase, safeId });
|
|
251
|
+
const bitgoKeychainPromise = keychains.createBitGo({ enterprise, safeId });
|
|
252
|
+
const [userKeychain, backupKeychain, bitgoKeychain] = await Promise.all([
|
|
253
|
+
userKeychainPromise,
|
|
254
|
+
backupKeychainPromise,
|
|
255
|
+
bitgoKeychainPromise,
|
|
256
|
+
]);
|
|
257
|
+
// Slot ④ roots use neutral raw public derivation material (32-byte public key plus 32-byte
|
|
258
|
+
// chain code), serialized together as canonical unpadded RFC 4648 base32 (103 characters).
|
|
259
|
+
// Coin-specific child encoding is performed by Wallet Platform after soft derivation.
|
|
260
|
+
if (slot === 'ed25519Multisig' &&
|
|
261
|
+
(!backupKeychain.pub ||
|
|
262
|
+
!(0, sdk_lib_safes_1.isDerivableEd25519Pub)(backupKeychain.pub) ||
|
|
263
|
+
!bitgoKeychain.pub ||
|
|
264
|
+
!(0, sdk_lib_safes_1.isDerivableEd25519Pub)(bitgoKeychain.pub))) {
|
|
265
|
+
throw new Error('Safe ed25519Multisig roots are not derivable: expected 64-byte canonical base32 material');
|
|
266
|
+
}
|
|
267
|
+
return [userKeychain.id, backupKeychain.id, bitgoKeychain.id];
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Phase 2.2 helper — run one MPC ceremony (DKLS for ecdsaMpc, EdDSA for eddsaMpc) via the
|
|
271
|
+
* existing `createMpc` flow with `safeId` threaded through, so the resulting user/backup/bitgo
|
|
272
|
+
* keys land tagged. Returns the [user, backup, bitgo] key id triplet.
|
|
273
|
+
* @experimental
|
|
274
|
+
*/
|
|
275
|
+
async createMpcRoot(slot, safeId, passphrase, enterprise) {
|
|
276
|
+
const { userKeychain, backupKeychain, bitgoKeychain } = await this.coinForRoot(slot)
|
|
277
|
+
.keychains()
|
|
278
|
+
.createMpc({ multisigType: 'tss', passphrase, enterprise, safeId });
|
|
279
|
+
return [userKeychain.id, backupKeychain.id, bitgoKeychain.id];
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* List the enterprise's safes the caller is a member of (cursor pagination).
|
|
283
|
+
* GET /api/v2/enterprise/:eId/safes?limit&prevId
|
|
284
|
+
*
|
|
285
|
+
* `cursor` is the opaque `nextCursor` returned by a previous call; page forward until
|
|
286
|
+
* `nextCursor` is absent.
|
|
287
|
+
* @experimental
|
|
288
|
+
*/
|
|
289
|
+
async list(params = {}) {
|
|
290
|
+
// SDK exposes an opaque cursor; WP speaks prevId/nextBatchPrevId (v2 list convention).
|
|
291
|
+
const query = {};
|
|
292
|
+
if (params.limit !== undefined) {
|
|
293
|
+
query.limit = params.limit;
|
|
294
|
+
}
|
|
295
|
+
if (params.cursor !== undefined) {
|
|
296
|
+
query.prevId = params.cursor;
|
|
297
|
+
}
|
|
298
|
+
const response = await this.bitgo.get(this.url()).query(query).result();
|
|
299
|
+
const { safes, nextBatchPrevId } = (0, codecs_1.decodeWithCodec)(ListSafesResponse, response, 'ListSafesResponse');
|
|
300
|
+
return {
|
|
301
|
+
safes: safes.map((safeData) => new safe_1.Safe(this.bitgo, safeData)),
|
|
302
|
+
nextCursor: nextBatchPrevId,
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Fetch a single safe by id. Non-members get a 404 (existence is not leaked).
|
|
307
|
+
* GET /api/v2/enterprise/:eId/safes/:safeId
|
|
308
|
+
* @experimental
|
|
309
|
+
*/
|
|
310
|
+
async get(params) {
|
|
311
|
+
const response = await this.bitgo.get(this.url(`/${params.id}`)).result();
|
|
312
|
+
const safeData = (0, codecs_1.decodeWithCodec)(public_types_1.SafeData, response, 'SafeData');
|
|
313
|
+
return new safe_1.Safe(this.bitgo, safeData);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
exports.Safes = Safes;
|
|
317
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vc2FmZS9zYWZlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7R0FLRztBQUNILHlDQUEyQjtBQUMzQixzREFRNkI7QUFDN0IseUNBQTRDO0FBRzVDLHNDQUE2QztBQUM3Qyw0Q0FBa0Q7QUFDbEQsNkRBQWtFO0FBQ2xFLDBEQUF1RDtBQUd2RCxpQ0FBOEI7QUFFOUI7Ozs7OztHQU1HO0FBQ0gsTUFBTSxvQkFBb0IsR0FBK0Q7SUFDdkYsT0FBTyxFQUFFO1FBQ1AsaUJBQWlCO1FBQ2pCLGlCQUFpQixFQUFFLEtBQUs7UUFDeEIsZUFBZSxFQUFFLEtBQUs7UUFDdEIsWUFBWTtRQUNaLFFBQVEsRUFBRSxLQUFLO1FBQ2YsUUFBUSxFQUFFLEtBQUs7S0FDaEI7SUFDRCxPQUFPLEVBQUU7UUFDUCxpQkFBaUI7UUFDakIsaUJBQWlCLEVBQUUsTUFBTTtRQUN6QixlQUFlLEVBQUUsTUFBTTtRQUN2QixZQUFZO1FBQ1osUUFBUSxFQUFFLE9BQU87UUFDakIsUUFBUSxFQUFFLE1BQU07S0FDakI7Q0FDRixDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDSCxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDdkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLHVCQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3BDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0NBQ3pDLENBQUMsQ0FBQztBQUVIOzs7Ozs7R0FNRztBQUNILE1BQWEsS0FBSztJQUloQixZQUFZLEtBQWdCLEVBQUUsWUFBb0I7UUFDaEQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIs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UUFDOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxRSxNQUFNLFFBQVEsR0FBRyxJQUFBLHdCQUFlLEVBQUMsdUJBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDakUsT0FBTyxJQUFJLFdBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDRjtBQXBRRCxzQkFvUUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICpcbiAqIEBleHBlcmltZW50YWwgVGhlIHNhZmUgY2xpZW50IHN1cmZhY2UgaXMgZXhwZXJpbWVudGFsIGFuZCBtYXkgY2hhbmdlIChpbmNsdWRpbmcgYnJlYWtpbmdcbiAqIGNoYW5nZXMpIGJlZm9yZSB0aGUgcHVibGljIHJlbGVhc2UuXG4gKi9cbmltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IHtcbiAgRmluYWxpemVTYWZlQm9keSxcbiAgSW5pdGlhbGl6ZVNhZmVCb2R5LFxuICBJbml0aWFsaXplU2FmZVJlc3BvbnNlLFxuICBSb290S2V5c0J5VHlwZSxcbiAgUm9vdEtleVRyaXBsZXQsXG4gIFJvb3RLZXlUeXBlLFxuICBTYWZlRGF0YSxcbn0gZnJvbSAnQGJpdGdvL3B1YmxpYy10eXBlcyc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudHMgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuaW1wb3J0IHsgSUJhc2VDb2luIH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMnO1xuaW1wb3J0IHsgZGVjb2RlV2l0aENvZGVjIH0gZnJvbSAnLi4vdXRpbHMvY29kZWNzJztcbmltcG9ydCB7IGlzRGVyaXZhYmxlRWQyNTUxOVB1YiB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1saWItc2FmZXMnO1xuaW1wb3J0IHsgcG9zdFdpdGhDb2RlYyB9IGZyb20gJy4uL3V0aWxzL3Bvc3RXaXRoQ29kZWMnO1xuaW1wb3J0IHsgRmluYWxpemVTYWZlT3B0aW9ucywgSW5pdGlhbGl6ZVNhZmVPcHRpb25zIH0gZnJvbSAnLi9pU2FmZSc7XG5pbXBvcnQgeyBDcmVhdGVTYWZlT3B0aW9ucywgR2V0U2FmZU9wdGlvbnMsIElTYWZlcywgTGlzdFNhZmVzT3B0aW9ucywgU2FmZUNyZWF0aW9uSGFuZGxlLCBTYWZlS2V5cyB9IGZyb20gJy4vaVNhZmVzJztcbmltcG9ydCB7IFNhZmUgfSBmcm9tICcuL3NhZmUnO1xuXG4vKipcbiAqIFJlcHJlc2VudGF0aXZlIGNvaW4gcGVyIHJvb3Qgc2xvdCwgYnkgbmV0d29yay4gU2FmZSByb290cyBhcmUgY3VydmUvc2NoZW1lLXNjb3BlZCwgbm90XG4gKiBjb2luLXNjb3BlZCDigJQgV1Agc3RhbXBzIGBjdXJ2ZWAgc2VydmVyLXNpZGUgZnJvbSB0aGUgY29pbidzIGtleSBjdXJ2ZSwgc28gYW55IGNvaW4gb2YgdGhlXG4gKiByaWdodCAoY3VydmUsIHNjaGVtZSkgd29ya3MuIFRoZXNlIGFyZSBzdGFibGUsIGFsd2F5cy1hdmFpbGFibGUgY2hvaWNlcyB1c2VkIG9ubHkgdG8gcm91dGVcbiAqIHRoZSBrZXktZ2VuZXJhdGlvbiBjZXJlbW9ueTsgdGhlIHJlc3VsdGluZyByb290IGlzIGludGVyY2hhbmdlYWJsZSBhY3Jvc3MgY29pbnMgb2YgdGhlIHNsb3QuXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmNvbnN0IFJPT1RfQ09JTl9CWV9ORVRXT1JLOiBSZWNvcmQ8J21haW5uZXQnIHwgJ3Rlc3RuZXQnLCBSZWNvcmQ8Um9vdEtleVR5cGUsIHN0cmluZz4+ID0ge1xuICBtYWlubmV0OiB7XG4gICAgLy8gbXVsdGlzaWcgcm9vdHNcbiAgICBzZWNwMjU2azFNdWx0aXNpZzogJ2J0YycsXG4gICAgZWQyNTUxOU11bHRpc2lnOiAneGxtJyxcbiAgICAvLyBNUEMgcm9vdHNcbiAgICBlY2RzYU1wYzogJ2V0aCcsXG4gICAgZWRkc2FNcGM6ICdzb2wnLFxuICB9LFxuICB0ZXN0bmV0OiB7XG4gICAgLy8gbXVsdGlzaWcgcm9vdHNcbiAgICBzZWNwMjU2azFNdWx0aXNpZzogJ3RidGMnLFxuICAgIGVkMjU1MTlNdWx0aXNpZzogJ3R4bG0nLFxuICAgIC8vIE1QQyByb290c1xuICAgIGVjZHNhTXBjOiAnaHRldGgnLFxuICAgIGVkZHNhTXBjOiAndHNvbCcsXG4gIH0sXG59O1xuXG4vKipcbiAqIFdpcmUgc2hhcGUgb2YgdGhlIHBhZ2luYXRlZCBgR0VUIC9lbnRlcnByaXNlLzplSWQvc2FmZXNgIHJlc3BvbnNlLiBXUCBwYWdpbmF0ZXMgd2l0aCB0aGUgdjJcbiAqIGBwcmV2SWRgL2BuZXh0QmF0Y2hQcmV2SWRgIGNvbnZlbnRpb247IHRoZSBTREsgcmUtZXhwb3NlcyBpdCBhcyBhbiBvcGFxdWUgYGN1cnNvcmAvYG5leHRDdXJzb3JgXG4gKiAoc2VlIGBsaXN0YCkuXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmNvbnN0IExpc3RTYWZlc1Jlc3BvbnNlID0gdC5pbnRlcnNlY3Rpb24oW1xuICB0LnR5cGUoeyBzYWZlczogdC5hcnJheShTYWZlRGF0YSkgfSksXG4gIHQucGFydGlhbCh7IG5leHRCYXRjaFByZXZJZDogdC5zdHJpbmcgfSksXG5dKTtcblxuLyoqXG4gKiBDb2xsZWN0aW9uIGFjY2Vzc29yIGZvciBhIHNpbmdsZSBlbnRlcnByaXNlJ3Mgc2FmZXMsIG1pcnJvcmluZyBXYWxsZXRzIC8gRW50ZXJwcmlzZXMuXG4gKiBTYWZlIHJvdXRlcyBhcmUgZW50ZXJwcmlzZS1zY29wZWQgKC9hcGkvdjIvZW50ZXJwcmlzZS86ZUlkL3NhZmVzKSwgc28gdGhlIGFjY2Vzc29yIGlzXG4gKiBjb25zdHJ1Y3RlZCB3aXRoIHRoZSBlbnRlcnByaXNlIGlkIChzZWUgRW50ZXJwcmlzZS5zYWZlcygpKS5cbiAqXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTYWZlcyBpbXBsZW1lbnRzIElTYWZlcyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYml0Z286IEJpdEdvQmFzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBlbnRlcnByaXNlSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBlbnRlcnByaXNlSWQ6IHN0cmluZykge1xuICAgIHRoaXMuYml0Z28gPSBiaXRnbztcbiAgICB0aGlzLmVudGVycHJpc2VJZCA9IGVudGVycHJpc2VJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbnRlcnByaXNlLXNjb3BlZCB2MiBVUkwgZm9yIHRoZSBzYWZlcyBjb2xsZWN0aW9uLCBlLmcuIC9hcGkvdjIvZW50ZXJwcmlzZS86ZUlkL3NhZmVzXG4gICAqIEBwYXJhbSBleHRyYVxuICAgKi9cbiAgcHJpdmF0ZSB1cmwoZXh0cmEgPSAnJyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28udXJsKGAvZW50ZXJwcmlzZS8ke3RoaXMuZW50ZXJwcmlzZUlkfS9zYWZlcyR7ZXh0cmF9YCwgMik7XG4gIH1cblxuICAvKipcbiAgICogT25lLWNhbGwgY29udmVuaWVuY2Ugd3JhcHBlciBjaGFpbmluZyB0aGUgdGhyZWUgY3JlYXRpb24gcGhhc2VzOlxuICAgKiBpbml0aWFsaXplIChQaGFzZSAxKSDihpIgY3JlYXRlU2FmZUtleXMgKFBoYXNlIDIsIGVuYWJsZWQtc2xvdCBjZXJlbW9uaWVzKSDihpJcbiAgICogZmluYWxpemUgKFBoYXNlIDMpLiBIT1QgY3VzdG9keSBvbmx5IGluIHYxLlxuICAgKlxuICAgKiBJZiBhIGtleSBjZXJlbW9ueSBmYWlscywgYGNyZWF0ZVNhZmVLZXlzYCBhcmNoaXZlcyB0aGUgc2FmZSBiZWZvcmUgdGhyb3dpbmcsIHNvIGEgZmFpbGVkIHJ1blxuICAgKiBsZWF2ZXMgbm8gaGFsZi1jcmVhdGVkIHNhZmUgYmVoaW5kIOKAlCBjcmVhdGUgYSBuZXcgc2FmZSBhbmQgcmV0cnkuXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIGFzeW5jIGdlbmVyYXRlU2FmZShwYXJhbXM6IENyZWF0ZVNhZmVPcHRpb25zKTogUHJvbWlzZTxTYWZlPiB7XG4gICAgY29uc3Qgc2FmZSA9IGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVNhZmUoeyBsYWJlbDogcGFyYW1zLmxhYmVsIH0pO1xuICAgIGNvbnN0IHJvb3RLZXlzID0gYXdhaXQgdGhpcy5jcmVhdGVTYWZlS2V5cyh7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICBzYWZlSWQ6IHNhZmUuaWQsXG4gICAgICBlbmFibGVkUm9vdFNsb3RzOiBzYWZlLmVuYWJsZWRSb290U2xvdHMsXG4gICAgfSk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZmluYWxpemVTYWZlKHNhZmUuaWQsIHJvb3RLZXlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQaGFzZSAxIOKAlCBpbml0aWFsaXplIGEgc2FmZSAobWV0YWRhdGEgb25seSwgbm8ga2V5IG1hdGVyaWFsKS5cbiAgICogUE9TVCAvYXBpL3YyL2VudGVycHJpc2UvOmVJZC9zYWZlcyB7IGxhYmVsIH1cbiAgICogUmVzcG9uc2UgaXMgYHsgaWQsIHN0YXR1cyB9YCBwbHVzIG9wdGlvbmFsIGBlbmFibGVkUm9vdFNsb3RzYCAoYWJzZW50IG9uIG9sZGVyIFdQKS5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgYXN5bmMgaW5pdGlhbGl6ZVNhZmUocGFyYW1zOiBJbml0aWFsaXplU2FmZU9wdGlvbnMpOiBQcm9taXNlPEluaXRpYWxpemVTYWZlUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHBvc3RXaXRoQ29kZWModGhpcy5iaXRnbywgdGhpcy51cmwoKSwgSW5pdGlhbGl6ZVNhZmVCb2R5LCBwYXJhbXMpLnJlc3VsdCgpO1xuICAgIHJldHVybiBkZWNvZGVXaXRoQ29kZWMoSW5pdGlhbGl6ZVNhZmVSZXNwb25zZSwgcmVzcG9uc2UsICdJbml0aWFsaXplU2FmZVJlc3BvbnNlJyk7XG4gIH1cblxuICAvKipcbiAgICogUGhhc2UgMiDigJQgcnVuIHRoZSBlbmFibGVkIHJvb3Qga2V5IGNlcmVtb25pZXMgdGFnZ2VkIHdpdGggYHNhZmVJZGA7IHJldHVybnMgb3JkZXJlZFxuICAgKiBbdXNlciwgYmFja3VwLCBiaXRnb10gdHJpcGxldHMgZm9yIHRob3NlIHNsb3RzLiBIT1QgY3VzdG9keSBvbmx5IGluIHYxLlxuICAgKlxuICAgKiBBYnNlbnQgYGVuYWJsZWRSb290U2xvdHNgIChvbGRlciBXUCwgcHJlLWdhdGluZykgcnVucyBhbGwgNCBzbG90cy4gRW5hYmxlZCBjZXJlbW9uaWVzXG4gICAqICgyLjEgbXVsdGlzaWcg4pGg4pGjLCAyLjIgTVBDIOKRoeKRoikgcnVuIGluIHBhcmFsbGVsLiBJZiBhbnkgb2YgdGhlbSBmYWlsLCB0aGVcbiAgICogcGFydGlhbGx5LWNyZWF0ZWQgc2FmZSBpcyBhcmNoaXZlZCAoYSBsZWdhbCBgaW5pdGlhbGl6aW5nIOKGkiBhcmNoaXZlZGAgdHJhbnNpdGlvbiwgc28gdGhlXG4gICAqIG9ycGhhbmVkIHRhZ2dlZCBrZXlzIGFyZSBpbmVydCkgYW5kIGFuIGVycm9yIGxpc3RpbmcgZXZlcnkgY2VyZW1vbnkgZmFpbHVyZSBpcyB0aHJvd24g4oCUXG4gICAqIGNyZWF0ZSBhIG5ldyBzYWZlIGFuZCByZXRyeS5cbiAgICpcbiAgICogTm90IGluZGVwZW5kZW50bHkgaWRlbXBvdGVudDogcmUtcnVubmluZyBhZ2FpbnN0IGEgc2FmZSB0aGF0IGFscmVhZHkgaGFzIHNvbWUgcm9vdHMgaGl0cyBXUCdzXG4gICAqIHVuaXF1ZSByb290LXNsb3QgaW5kZXguXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIGFzeW5jIGNyZWF0ZVNhZmVLZXlzKHBhcmFtczogQ3JlYXRlU2FmZU9wdGlvbnMgJiBTYWZlQ3JlYXRpb25IYW5kbGUpOiBQcm9taXNlPFNhZmVLZXlzPiB7XG4gICAgY29uc3QgeyBzYWZlSWQsIHBhc3NwaHJhc2UsIGVuYWJsZWRSb290U2xvdHMgfSA9IHBhcmFtcztcbiAgICBjb25zdCBlbnRlcnByaXNlID0gdGhpcy5lbnRlcnByaXNlSWQ7XG5cbiAgICAvLyBBYnNlbnQgYGVuYWJsZWRSb290U2xvdHNgIChvbGRlciBXUCwgcHJlLWdhdGluZykg4oeSIGFsbCA0LCBwcmVzZXJ2aW5nIGN1cnJlbnQgYmVoYXZpb3IuXG4gICAgLy8gT3JkZXJlZCBieSBzY2hlbWU6IHRoZSB0d28gbXVsdGlzaWcgcm9vdHMgZmlyc3QsIHRoZW4gdGhlIHR3byBNUEMgcm9vdHMuXG4gICAgY29uc3QgYWxsU2xvdHM6IFJvb3RLZXlUeXBlW10gPSBbJ3NlY3AyNTZrMU11bHRpc2lnJywgJ2VkMjU1MTlNdWx0aXNpZycsICdlY2RzYU1wYycsICdlZGRzYU1wYyddO1xuICAgIGNvbnN0IGVuYWJsZWQgPSBuZXcgU2V0KGVuYWJsZWRSb290U2xvdHMgPz8gYWxsU2xvdHMpO1xuICAgIGNvbnN0IHNsb3RzID0gYWxsU2xvdHMuZmlsdGVyKChzbG90KSA9PiBlbmFibGVkLmhhcyhzbG90KSk7XG4gICAgY29uc3QgY2VyZW1vbmllczogUmVjb3JkPFJvb3RLZXlUeXBlLCAoKSA9PiBQcm9taXNlPFJvb3RLZXlUcmlwbGV0Pj4gPSB7XG4gICAgICAvLyBQaGFzZSAyLjEg4oCUIG11bHRpc2lnIHJvb3RzICjikaDikaMpOiBsb2NhbCB1c2VyL2JhY2t1cCBrZXlwYWlycyArIEJpdEdvIGtleSwgYWxsIHNhZmVJZC10YWdnZWQuXG4gICAgICBzZWNwMjU2azFNdWx0aXNpZzogKCkgPT4gdGhpcy5jcmVhdGVNdWx0aXNpZ1Jvb3QoJ3NlY3AyNTZrMU11bHRpc2lnJywgc2FmZUlkLCBwYXNzcGhyYXNlLCBlbnRlcnByaXNlKSxcbiAgICAgIGVkMjU1MTlNdWx0aXNpZzogKCkgPT4gdGhpcy5jcmVhdGVNdWx0aXNpZ1Jvb3QoJ2VkMjU1MTlNdWx0aXNpZycsIHNhZmVJZCwgcGFzc3BocmFzZSwgZW50ZXJwcmlzZSksXG4gICAgICAvLyBQaGFzZSAyLjIg4oCUIE1QQyByb290cyAo4pGh4pGiKTogdGhlIGV4aXN0aW5nIERLTFMgKOKRoSkgYW5kIEVkRFNBICjikaIpIGNlcmVtb25pZXMsIHNhZmVJZCB0aHJlYWRlZC5cbiAgICAgIGVjZHNhTXBjOiAoKSA9PiB0aGlzLmNyZWF0ZU1wY1Jvb3QoJ2VjZHNhTXBjJywgc2FmZUlkLCBwYXNzcGhyYXNlLCBlbnRlcnByaXNlKSxcbiAgICAgIGVkZHNhTXBjOiAoKSA9PiB0aGlzLmNyZWF0ZU1wY1Jvb3QoJ2VkZHNhTXBjJywgc2FmZUlkLCBwYXNzcGhyYXNlLCBlbnRlcnByaXNlKSxcbiAgICB9O1xuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoc2xvdHMubWFwKChzbG90KSA9PiBjZXJlbW9uaWVzW3Nsb3RdKCkpKTtcblxuICAgIC8vIFNpbmdsZSBwYXNzIG92ZXIgdGhlIHNldHRsZWQgcmVzdWx0czogYHN0YXR1cyA9PT0gJ2Z1bGZpbGxlZCdgIG5hcnJvd3MgYC52YWx1ZWAgdG8gYVxuICAgIC8vIFJvb3RLZXlUcmlwbGV0LCBhbmQgcmVqZWN0aW9ucyBhcmUgY29sbGVjdGVkIHBlci1zbG90IGZvciB0aGUgZXJyb3IgYmVsb3cuXG4gICAgY29uc3QgaG90OiBSb290S2V5c0J5VHlwZSA9IHt9O1xuICAgIGNvbnN0IGZhaWx1cmVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIHJlc3VsdHMuZm9yRWFjaCgocmVzdWx0LCBpKSA9PiB7XG4gICAgICBpZiAocmVzdWx0LnN0YXR1cyA9PT0gJ2Z1bGZpbGxlZCcpIHtcbiAgICAgICAgaG90W3Nsb3RzW2ldXSA9IHJlc3VsdC52YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHJlYXNvbiA9IHJlc3VsdC5yZWFzb24gaW5zdGFuY2VvZiBFcnJvciA/IHJlc3VsdC5yZWFzb24ubWVzc2FnZSA6IFN0cmluZyhyZXN1bHQucmVhc29uKTtcbiAgICAgICAgLy8gQXBpUmVzcG9uc2VFcnJvciBjYXJyaWVzIHRoZSBzZXJ2ZXItZWNob2VkIGBSZXF1ZXN0LUlEYCBoZWFkZXIg4oCUIGluY2x1ZGUgaXQgKHdoZW5cbiAgICAgICAgLy8gcHJlc2VudCkgc28gYSBmYWlsZWQgY2VyZW1vbnkgY2FuIGJlIGNvcnJlbGF0ZWQgd2l0aCBXUCdzIHNlcnZlci1zaWRlIGxvZ3MuXG4gICAgICAgIGNvbnN0IHJlcXVlc3RJZCA9IHJlc3VsdC5yZWFzb24gaW5zdGFuY2VvZiBBcGlSZXNwb25zZUVycm9yID8gcmVzdWx0LnJlYXNvbi5yZXF1ZXN0SWQgOiB1bmRlZmluZWQ7XG4gICAgICAgIGZhaWx1cmVzLnB1c2goYCR7c2xvdHNbaV19OiAke3JlYXNvbn0ke3JlcXVlc3RJZCA/IGAgKHJlcXVlc3RJZDogJHtyZXF1ZXN0SWR9KWAgOiAnJ31gKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChmYWlsdXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBCZXN0LWVmZm9ydCBhYmFuZG9uIHRoZSBwYXJ0aWFsbHktY3JlYXRlZCBzYWZlIHNvIGEgcmV0cnkgc3RhcnRzIGZyb20gYSBjbGVhbiBzbGF0ZS4gS2VlcFxuICAgICAgLy8gdGhlIGNlcmVtb255IGZhaWx1cmVzIGFzIHRoZSBwcmltYXJ5IGVycm9yOyBub3RlIGl0IGlmIHRoZSBjbGVhbnVwIGFyY2hpdmUgYWxzbyBmYWlsZWQuXG4gICAgICBsZXQgYXJjaGl2ZUVycm9yOiBFcnJvciB8IHVuZGVmaW5lZDtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMuYXJjaGl2ZVNhZmUoc2FmZUlkKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgYXJjaGl2ZUVycm9yID0gZSBpbnN0YW5jZW9mIEVycm9yID8gZSA6IG5ldyBFcnJvcihTdHJpbmcoZSkpO1xuICAgICAgfVxuICAgICAgbGV0IG1lc3NhZ2UgPVxuICAgICAgICBgU2FmZSBrZXkgZ2VuZXJhdGlvbiBmYWlsZWQgZm9yICR7ZmFpbHVyZXMubGVuZ3RofSByb290IGNlcmVtb255L2llcyBgICtcbiAgICAgICAgYFske2ZhaWx1cmVzLmpvaW4oJzsgJyl9XS4gVGhlIHNhZmUgKCR7c2FmZUlkfSkgaGFzIGJlZW4gYXJjaGl2ZWQ7IGNyZWF0ZSBhIG5ldyBzYWZlIGFuZCByZXRyeS5gO1xuICAgICAgaWYgKGFyY2hpdmVFcnJvcikge1xuICAgICAgICBtZXNzYWdlICs9IGAgTk9URTogYXJjaGl2aW5nIHRoZSBzYWZlIGFsc28gZmFpbGVkICgke2FyY2hpdmVFcnJvci5tZXNzYWdlfSk7IGFyY2hpdmUgaXQgbWFudWFsbHkgYmVmb3JlIHJldHJ5aW5nLmA7XG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgcm9vdEtleXM6IHsgaG90IH0gfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcmNoaXZlIGEgc2FmZS4gQWxzbyB0aGUgYWJhbmRvbm1lbnQgcGF0aCBmb3IgYSBzdHVjayBgaW5pdGlhbGl6aW5nYCBzYWZlICh1c2VkIGJ5XG4gICAqIGBjcmVhdGVTYWZlS2V5c2AgdG8gY2xlYW4gdXAgYWZ0ZXIgYSBmYWlsZWQgY2VyZW1vbnkpLlxuICAgKiBQT1NUIC9hcGkvdjIvZW50ZXJwcmlzZS86ZUlkL3NhZmVzLzpzYWZlSWQvYXJjaGl2ZVxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBhc3luYyBhcmNoaXZlU2FmZShzYWZlSWQ6IHN0cmluZyk6IFByb21pc2U8U2FmZT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgLnBvc3QodGhpcy51cmwoYC8ke3NhZmVJZH0vYXJjaGl2ZWApKVxuICAgICAgLnNlbmQoKVxuICAgICAgLnJlc3VsdCgpO1xuICAgIGNvbnN0IHNhZmVEYXRhID0gZGVjb2RlV2l0aENvZGVjKFNhZmVEYXRhLCByZXNwb25zZSwgJ1NhZmVEYXRhJyk7XG4gICAgcmV0dXJuIG5ldyBTYWZlKHRoaXMuYml0Z28sIHNhZmVEYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQaGFzZSAzIOKAlCBmaW5hbGl6ZSBhIHNhZmUgd2l0aCB0aGUgbWludGVkIHJvb3Qga2V5IGlkcyBhcyBvcmRlcmVkIFt1c2VyLCBiYWNrdXAsIGJpdGdvXSB0cmlwbGV0cy5cbiAgICogUE9TVCAvYXBpL3YyL2VudGVycHJpc2UvOmVJZC9zYWZlcy86c2FmZUlkL2ZpbmFsaXplIHsgcm9vdEtleXMgfS5cbiAgICogSWRlbXBvdGVudDogcmUtZmluYWxpemluZyB3aXRoIHRoZSBzYW1lIGByb290S2V5c2AgcmV0dXJucyB0aGUgYWN0aXZlIHNhZmUgYWdhaW4gKDIwMCkuXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIGFzeW5jIGZpbmFsaXplU2FmZShzYWZlSWQ6IHN0cmluZywgcGFyYW1zOiBGaW5hbGl6ZVNhZmVPcHRpb25zKTogUHJvbWlzZTxTYWZlPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwb3N0V2l0aENvZGVjKFxuICAgICAgdGhpcy5iaXRnbyxcbiAgICAgIHRoaXMudXJsKGAvJHtzYWZlSWR9L2ZpbmFsaXplYCksXG4gICAgICBGaW5hbGl6ZVNhZmVCb2R5LFxuICAgICAgcGFyYW1zXG4gICAgKS5yZXN1bHQoKTtcbiAgICBjb25zdCBzYWZlRGF0YSA9IGRlY29kZVdpdGhDb2RlYyhTYWZlRGF0YSwgcmVzcG9uc2UsICdTYWZlRGF0YScpO1xuICAgIHJldHVybiBuZXcgU2FmZSh0aGlzLmJpdGdvLCBzYWZlRGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogQ29pbiB1c2VkIHRvIHJvdXRlIGEgZ2l2ZW4gcm9vdCdzIGtleSBjZXJlbW9ueSAoc2VlIFJPT1RfQ09JTl9CWV9ORVRXT1JLKS5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcHJpdmF0ZSBjb2luRm9yUm9vdChzbG90OiBSb290S2V5VHlwZSk6IElCYXNlQ29pbiB7XG4gICAgLy8gVjFOZXR3b3JrIGlzIGV4YWN0bHkgJ2JpdGNvaW4nIHwgJ3Rlc3RuZXQnLCBzbyB0aGlzIGJyYW5jaCBpcyBleGhhdXN0aXZlIG92ZXIgZXZlcnlcbiAgICAvLyBlbnZpcm9ubWVudDogJ2JpdGNvaW4nIGlzIG1haW5uZXQgYW5kIGV2ZXJ5IG90aGVyIHZhbHVlIGlzIGEgdGVzdG5ldC5cbiAgICBjb25zdCBuZXR3b3JrID0gRW52aXJvbm1lbnRzW3RoaXMuYml0Z28uZ2V0RW52KCldLm5ldHdvcmsgPT09ICdiaXRjb2luJyA/ICdtYWlubmV0JyA6ICd0ZXN0bmV0JztcbiAgICByZXR1cm4gdGhpcy5iaXRnby5jb2luKFJPT1RfQ09JTl9CWV9ORVRXT1JLW25ldHdvcmtdW3Nsb3RdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQaGFzZSAyLjEgaGVscGVyIOKAlCBtaW50IG9uZSBvbmNoYWluLW11bHRpc2lnIHJvb3QgKGNvbGQgbW9kZWwsIGFzIHdhbGxldCBjcmVhdGlvbiBkb2VzIHRvZGF5KTpcbiAgICogZ2VuZXJhdGUgdXNlci9iYWNrdXAga2V5cGFpcnMgbG9jYWxseSwgZW5jcnlwdCB3aXRoIGBwYXNzcGhyYXNlYCwgcmVnaXN0ZXIgdmlhIFBPU1QgLzpjb2luL2tleVxuICAgKiB3aXRoIGBzYWZlSWRgOyB0aGUgQml0R28ga2V5IGlzIGNyZWF0ZWQgdGhyb3VnaCB0aGUgc2FtZSByb3V0ZSdzIGBzb3VyY2U6J2JpdGdvJ2AgcGF0aC5cbiAgICogUmV0dXJucyB0aGUgW3VzZXIsIGJhY2t1cCwgYml0Z29dIGtleSBpZCB0cmlwbGV0LlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGNyZWF0ZU11bHRpc2lnUm9vdChcbiAgICBzbG90OiAnc2VjcDI1NmsxTXVsdGlzaWcnIHwgJ2VkMjU1MTlNdWx0aXNpZycsXG4gICAgc2FmZUlkOiBzdHJpbmcsXG4gICAgcGFzc3BocmFzZTogc3RyaW5nLFxuICAgIGVudGVycHJpc2U6IHN0cmluZ1xuICApOiBQcm9taXNlPFJvb3RLZXlUcmlwbGV0PiB7XG4gICAgY29uc3Qga2V5Y2hhaW5zID0gdGhpcy5jb2luRm9yUm9vdChzbG90KS5rZXljaGFpbnMoKTtcblxuICAgIGNvbnN0IHVzZXJLZXlQYWlyID0ga2V5Y2hhaW5zLmNyZWF0ZSgpO1xuICAgIGNvbnN0IHVzZXJLZXljaGFpblByb21pc2UgPSBrZXljaGFpbnMuYWRkKHtcbiAgICAgIHB1YjogdXNlcktleVBhaXIucHViLFxuICAgICAgZW5jcnlwdGVkUHJ2OiBhd2FpdCB0aGlzLmJpdGdvLmVuY3J5cHQoeyBpbnB1dDogdXNlcktleVBhaXIucHJ2LCBwYXNzd29yZDogcGFzc3BocmFzZSB9KSxcbiAgICAgIHNvdXJjZTogJ3VzZXInLFxuICAgICAgc2FmZUlkLFxuICAgIH0pO1xuICAgIGNvbnN0IGJhY2t1cEtleWNoYWluUHJvbWlzZSA9IGtleWNoYWlucy5jcmVhdGVCYWNrdXAoeyBwYXNzcGhyYXNlLCBzYWZlSWQgfSk7XG4gICAgY29uc3QgYml0Z29LZXljaGFpblByb21pc2UgPSBrZXljaGFpbnMuY3JlYXRlQml0R28oeyBlbnRlcnByaXNlLCBzYWZlSWQgfSk7XG5cbiAgICBjb25zdCBbdXNlcktleWNoYWluLCBiYWNrdXBLZXljaGFpbiwgYml0Z29LZXljaGFpbl0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICB1c2VyS2V5Y2hhaW5Qcm9taXNlLFxuICAgICAgYmFja3VwS2V5Y2hhaW5Qcm9taXNlLFxuICAgICAgYml0Z29LZXljaGFpblByb21pc2UsXG4gICAgXSk7XG5cbiAgICAvLyBTbG90IOKRoyByb290cyB1c2UgbmV1dHJhbCByYXcgcHVibGljIGRlcml2YXRpb24gbWF0ZXJpYWwgKDMyLWJ5dGUgcHVibGljIGtleSBwbHVzIDMyLWJ5dGVcbiAgICAvLyBjaGFpbiBjb2RlKSwgc2VyaWFsaXplZCB0b2dldGhlciBhcyBjYW5vbmljYWwgdW5wYWRkZWQgUkZDIDQ2NDggYmFzZTMyICgxMDMgY2hhcmFjdGVycykuXG4gICAgLy8gQ29pbi1zcGVjaWZpYyBjaGlsZCBlbmNvZGluZyBpcyBwZXJmb3JtZWQgYnkgV2FsbGV0IFBsYXRmb3JtIGFmdGVyIHNvZnQgZGVyaXZhdGlvbi5cbiAgICBpZiAoXG4gICAgICBzbG90ID09PSAnZWQyNTUxOU11bHRpc2lnJyAmJlxuICAgICAgKCFiYWNrdXBLZXljaGFpbi5wdWIgfHxcbiAgICAgICAgIWlzRGVyaXZhYmxlRWQyNTUxOVB1YihiYWNrdXBLZXljaGFpbi5wdWIpIHx8XG4gICAgICAgICFiaXRnb0tleWNoYWluLnB1YiB8fFxuICAgICAgICAhaXNEZXJpdmFibGVFZDI1NTE5UHViKGJpdGdvS2V5Y2hhaW4ucHViKSlcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2FmZSBlZDI1NTE5TXVsdGlzaWcgcm9vdHMgYXJlIG5vdCBkZXJpdmFibGU6IGV4cGVjdGVkIDY0LWJ5dGUgY2Fub25pY2FsIGJhc2UzMiBtYXRlcmlhbCcpO1xuICAgIH1cblxuICAgIHJldHVybiBbdXNlcktleWNoYWluLmlkLCBiYWNrdXBLZXljaGFpbi5pZCwgYml0Z29LZXljaGFpbi5pZF07XG4gIH1cblxuICAvKipcbiAgICogUGhhc2UgMi4yIGhlbHBlciDigJQgcnVuIG9uZSBNUEMgY2VyZW1vbnkgKERLTFMgZm9yIGVjZHNhTXBjLCBFZERTQSBmb3IgZWRkc2FNcGMpIHZpYSB0aGVcbiAgICogZXhpc3RpbmcgYGNyZWF0ZU1wY2AgZmxvdyB3aXRoIGBzYWZlSWRgIHRocmVhZGVkIHRocm91Z2gsIHNvIHRoZSByZXN1bHRpbmcgdXNlci9iYWNrdXAvYml0Z29cbiAgICoga2V5cyBsYW5kIHRhZ2dlZC4gUmV0dXJucyB0aGUgW3VzZXIsIGJhY2t1cCwgYml0Z29dIGtleSBpZCB0cmlwbGV0LlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGNyZWF0ZU1wY1Jvb3QoXG4gICAgc2xvdDogJ2VjZHNhTXBjJyB8ICdlZGRzYU1wYycsXG4gICAgc2FmZUlkOiBzdHJpbmcsXG4gICAgcGFzc3BocmFzZTogc3RyaW5nLFxuICAgIGVudGVycHJpc2U6IHN0cmluZ1xuICApOiBQcm9taXNlPFJvb3RLZXlUcmlwbGV0PiB7XG4gICAgY29uc3QgeyB1c2VyS2V5Y2hhaW4sIGJhY2t1cEtleWNoYWluLCBiaXRnb0tleWNoYWluIH0gPSBhd2FpdCB0aGlzLmNvaW5Gb3JSb290KHNsb3QpXG4gICAgICAua2V5Y2hhaW5zKClcbiAgICAgIC5jcmVhdGVNcGMoeyBtdWx0aXNpZ1R5cGU6ICd0c3MnLCBwYXNzcGhyYXNlLCBlbnRlcnByaXNlLCBzYWZlSWQgfSk7XG4gICAgcmV0dXJuIFt1c2VyS2V5Y2hhaW4uaWQsIGJhY2t1cEtleWNoYWluLmlkLCBiaXRnb0tleWNoYWluLmlkXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0IHRoZSBlbnRlcnByaXNlJ3Mgc2FmZXMgdGhlIGNhbGxlciBpcyBhIG1lbWJlciBvZiAoY3Vyc29yIHBhZ2luYXRpb24pLlxuICAgKiBHRVQgL2FwaS92Mi9lbnRlcnByaXNlLzplSWQvc2FmZXM/bGltaXQmcHJldklkXG4gICAqXG4gICAqIGBjdXJzb3JgIGlzIHRoZSBvcGFxdWUgYG5leHRDdXJzb3JgIHJldHVybmVkIGJ5IGEgcHJldmlvdXMgY2FsbDsgcGFnZSBmb3J3YXJkIHVudGlsXG4gICAqIGBuZXh0Q3Vyc29yYCBpcyBhYnNlbnQuXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIGFzeW5jIGxpc3QocGFyYW1zOiBMaXN0U2FmZXNPcHRpb25zID0ge30pOiBQcm9taXNlPHsgc2FmZXM6IFNhZmVbXTsgbmV4dEN1cnNvcj86IHN0cmluZyB9PiB7XG4gICAgLy8gU0RLIGV4cG9zZXMgYW4gb3BhcXVlIGN1cnNvcjsgV1Agc3BlYWtzIHByZXZJZC9uZXh0QmF0Y2hQcmV2SWQgKHYyIGxpc3QgY29udmVudGlvbikuXG4gICAgY29uc3QgcXVlcnk6IHsgbGltaXQ/OiBudW1iZXI7IHByZXZJZD86IHN0cmluZyB9ID0ge307XG4gICAgaWYgKHBhcmFtcy5saW1pdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBxdWVyeS5saW1pdCA9IHBhcmFtcy5saW1pdDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5jdXJzb3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcXVlcnkucHJldklkID0gcGFyYW1zLmN1cnNvcjtcbiAgICB9XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmJpdGdvLmdldCh0aGlzLnVybCgpKS5xdWVyeShxdWVyeSkucmVzdWx0KCk7XG4gICAgY29uc3QgeyBzYWZlcywgbmV4dEJhdGNoUHJldklkIH0gPSBkZWNvZGVXaXRoQ29kZWMoTGlzdFNhZmVzUmVzcG9uc2UsIHJlc3BvbnNlLCAnTGlzdFNhZmVzUmVzcG9uc2UnKTtcbiAgICByZXR1cm4ge1xuICAgICAgc2FmZXM6IHNhZmVzLm1hcCgoc2FmZURhdGEpID0+IG5ldyBTYWZlKHRoaXMuYml0Z28sIHNhZmVEYXRhKSksXG4gICAgICBuZXh0Q3Vyc29yOiBuZXh0QmF0Y2hQcmV2SWQsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBhIHNpbmdsZSBzYWZlIGJ5IGlkLiBOb24tbWVtYmVycyBnZXQgYSA0MDQgKGV4aXN0ZW5jZSBpcyBub3QgbGVha2VkKS5cbiAgICogR0VUIC9hcGkvdjIvZW50ZXJwcmlzZS86ZUlkL3NhZmVzLzpzYWZlSWRcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgYXN5bmMgZ2V0KHBhcmFtczogR2V0U2FmZU9wdGlvbnMpOiBQcm9taXNlPFNhZmU+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMudXJsKGAvJHtwYXJhbXMuaWR9YCkpLnJlc3VsdCgpO1xuICAgIGNvbnN0IHNhZmVEYXRhID0gZGVjb2RlV2l0aENvZGVjKFNhZmVEYXRhLCByZXNwb25zZSwgJ1NhZmVEYXRhJyk7XG4gICAgcmV0dXJuIG5ldyBTYWZlKHRoaXMuYml0Z28sIHNhZmVEYXRhKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { FrontTransferSendRequest } from './iGoStakingWallet';
|
|
2
|
+
export interface UnsignedGoStakingRequest {
|
|
3
|
+
payload: string;
|
|
4
|
+
coin: string;
|
|
5
|
+
token: string;
|
|
6
|
+
feeInfo: FeeInfo;
|
|
7
|
+
}
|
|
8
|
+
interface FeeInfo {
|
|
9
|
+
feeString: string;
|
|
10
|
+
}
|
|
11
|
+
export interface GoStakingRequest {
|
|
12
|
+
id: string;
|
|
13
|
+
clientId?: string;
|
|
14
|
+
goAccountId: string;
|
|
15
|
+
amount: string;
|
|
16
|
+
type: 'STAKE' | 'UNSTAKE';
|
|
17
|
+
coin: string;
|
|
18
|
+
status: string;
|
|
19
|
+
error?: string;
|
|
20
|
+
statusModifiedDate: string;
|
|
21
|
+
createdDate: string;
|
|
22
|
+
properties?: GoStakingRequestProperties;
|
|
23
|
+
}
|
|
24
|
+
interface GoStakingRequestProperties {
|
|
25
|
+
amount: string;
|
|
26
|
+
}
|
|
27
|
+
export interface GoStakeOptions {
|
|
28
|
+
amount: string;
|
|
29
|
+
clientId?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Passphrase used to decrypt the user key and sign locally. Optional: omitted for OFC wallets that
|
|
32
|
+
* sign remotely via the BitGo key (userKeySigningRequired === false).
|
|
33
|
+
*/
|
|
34
|
+
walletPassphrase?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface BaseGoStakeOptions {
|
|
37
|
+
amount: string;
|
|
38
|
+
clientId?: string;
|
|
39
|
+
}
|
|
40
|
+
export interface GoStakeFinalizeOptions extends BaseGoStakeOptions {
|
|
41
|
+
frontTransferSendRequest: FrontTransferSendRequest;
|
|
42
|
+
}
|
|
43
|
+
export interface GoStakingRequestOptions {
|
|
44
|
+
status?: string;
|
|
45
|
+
page?: number;
|
|
46
|
+
pageSize?: number;
|
|
47
|
+
createdDateGte?: string;
|
|
48
|
+
createdDateLt?: string;
|
|
49
|
+
sortBy?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface GoStakingRequestResults {
|
|
52
|
+
requests: GoStakingRequest[];
|
|
53
|
+
page: number;
|
|
54
|
+
totalPages: number;
|
|
55
|
+
totalElements: number;
|
|
56
|
+
}
|
|
57
|
+
export interface GoStakingWalletResults {
|
|
58
|
+
coins: GoStakingWalletObject[];
|
|
59
|
+
page: number;
|
|
60
|
+
totalPages: number;
|
|
61
|
+
totalElements: number;
|
|
62
|
+
}
|
|
63
|
+
export interface StakingPermissionAttributes {
|
|
64
|
+
enabled: boolean;
|
|
65
|
+
disabledReason?: string;
|
|
66
|
+
allowClientToUseOwnValidator: boolean;
|
|
67
|
+
}
|
|
68
|
+
export interface UnstakingPermissionAttributes {
|
|
69
|
+
enabled: boolean;
|
|
70
|
+
disabledReason?: string;
|
|
71
|
+
}
|
|
72
|
+
export interface WalletPermissionAttributes {
|
|
73
|
+
useValidatorList: boolean;
|
|
74
|
+
allowPartialUnstake: boolean;
|
|
75
|
+
validatorNotNeededForStake: boolean;
|
|
76
|
+
}
|
|
77
|
+
export interface PermissionAttributes {
|
|
78
|
+
staking: StakingPermissionAttributes;
|
|
79
|
+
unstaking: UnstakingPermissionAttributes;
|
|
80
|
+
wallet: WalletPermissionAttributes;
|
|
81
|
+
}
|
|
82
|
+
export interface StakingSpendableAttributes {
|
|
83
|
+
fee: string;
|
|
84
|
+
max: string;
|
|
85
|
+
min: string;
|
|
86
|
+
netMax: string;
|
|
87
|
+
netMin: string;
|
|
88
|
+
minStakeMore: string;
|
|
89
|
+
minDuration?: string;
|
|
90
|
+
maxDuration?: string;
|
|
91
|
+
}
|
|
92
|
+
export interface UnstakingSpendableAttributes {
|
|
93
|
+
fee?: string;
|
|
94
|
+
max?: string;
|
|
95
|
+
min?: string;
|
|
96
|
+
multipleDelegations: boolean;
|
|
97
|
+
requiresAmount: boolean;
|
|
98
|
+
requiresDelegationId: boolean;
|
|
99
|
+
requiresDelegationIds: boolean;
|
|
100
|
+
}
|
|
101
|
+
export interface SpendableAttributes {
|
|
102
|
+
staking: StakingSpendableAttributes;
|
|
103
|
+
unstaking: UnstakingSpendableAttributes;
|
|
104
|
+
}
|
|
105
|
+
export interface StakingDisclaimer {
|
|
106
|
+
info: string[];
|
|
107
|
+
rewardPercentageRate?: string;
|
|
108
|
+
stakeWarmupPeriodDesc?: string;
|
|
109
|
+
}
|
|
110
|
+
export interface UnstakingDisclaimer {
|
|
111
|
+
info: string[];
|
|
112
|
+
unStakeCooldownPeriodDesc?: string;
|
|
113
|
+
}
|
|
114
|
+
export interface NextRewardsDisclaimer {
|
|
115
|
+
rewardCycle: number;
|
|
116
|
+
}
|
|
117
|
+
export interface DisclaimerAttributes {
|
|
118
|
+
staking: StakingDisclaimer;
|
|
119
|
+
unstaking: UnstakingDisclaimer;
|
|
120
|
+
nextRewards?: NextRewardsDisclaimer;
|
|
121
|
+
}
|
|
122
|
+
export interface GoStakingAttributes {
|
|
123
|
+
permissionAttributes: PermissionAttributes;
|
|
124
|
+
spendableAttributes: SpendableAttributes;
|
|
125
|
+
disclaimerAttributes: DisclaimerAttributes;
|
|
126
|
+
}
|
|
127
|
+
export interface GoStakingWalletObject {
|
|
128
|
+
coin: string;
|
|
129
|
+
activeStake: string;
|
|
130
|
+
pendingStake: string;
|
|
131
|
+
pendingUnstake: string;
|
|
132
|
+
rewards: string;
|
|
133
|
+
attributes: GoStakingAttributes;
|
|
134
|
+
}
|
|
135
|
+
export {};
|
|
136
|
+
//# sourceMappingURL=goStakingInterfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"goStakingInterfaces.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/staking/goStakingInterfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29TdGFraW5nSW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9zdGFraW5nL2dvU3Rha2luZ0ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZyb250VHJhbnNmZXJTZW5kUmVxdWVzdCB9IGZyb20gJy4vaUdvU3Rha2luZ1dhbGxldCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5zaWduZWRHb1N0YWtpbmdSZXF1ZXN0IHtcbiAgcGF5bG9hZDogc3RyaW5nO1xuICBjb2luOiBzdHJpbmc7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGZlZUluZm86IEZlZUluZm87XG59XG5cbmludGVyZmFjZSBGZWVJbmZvIHtcbiAgZmVlU3RyaW5nOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR29TdGFraW5nUmVxdWVzdCB7XG4gIGlkOiBzdHJpbmc7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICBnb0FjY291bnRJZDogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbiAgdHlwZTogJ1NUQUtFJyB8ICdVTlNUQUtFJztcbiAgY29pbjogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbiAgZXJyb3I/OiBzdHJpbmc7XG4gIHN0YXR1c01vZGlmaWVkRGF0ZTogc3RyaW5nO1xuICBjcmVhdGVkRGF0ZTogc3RyaW5nO1xuICBwcm9wZXJ0aWVzPzogR29TdGFraW5nUmVxdWVzdFByb3BlcnRpZXM7XG59XG5cbmludGVyZmFjZSBHb1N0YWtpbmdSZXF1ZXN0UHJvcGVydGllcyB7XG4gIGFtb3VudDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdvU3Rha2VPcHRpb25zIHtcbiAgYW1vdW50OiBzdHJpbmc7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICAvKipcbiAgICogUGFzc3BocmFzZSB1c2VkIHRvIGRlY3J5cHQgdGhlIHVzZXIga2V5IGFuZCBzaWduIGxvY2FsbHkuIE9wdGlvbmFsOiBvbWl0dGVkIGZvciBPRkMgd2FsbGV0cyB0aGF0XG4gICAqIHNpZ24gcmVtb3RlbHkgdmlhIHRoZSBCaXRHbyBrZXkgKHVzZXJLZXlTaWduaW5nUmVxdWlyZWQgPT09IGZhbHNlKS5cbiAgICovXG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUdvU3Rha2VPcHRpb25zIHtcbiAgYW1vdW50OiBzdHJpbmc7XG4gIGNsaWVudElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdvU3Rha2VGaW5hbGl6ZU9wdGlvbnMgZXh0ZW5kcyBCYXNlR29TdGFrZU9wdGlvbnMge1xuICBmcm9udFRyYW5zZmVyU2VuZFJlcXVlc3Q6IEZyb250VHJhbnNmZXJTZW5kUmVxdWVzdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHb1N0YWtpbmdSZXF1ZXN0T3B0aW9ucyB7XG4gIHN0YXR1cz86IHN0cmluZztcbiAgcGFnZT86IG51bWJlcjtcbiAgcGFnZVNpemU/OiBudW1iZXI7XG4gIGNyZWF0ZWREYXRlR3RlPzogc3RyaW5nO1xuICBjcmVhdGVkRGF0ZUx0Pzogc3RyaW5nO1xuICBzb3J0Qnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR29TdGFraW5nUmVxdWVzdFJlc3VsdHMge1xuICByZXF1ZXN0czogR29TdGFraW5nUmVxdWVzdFtdO1xuICBwYWdlOiBudW1iZXI7XG4gIHRvdGFsUGFnZXM6IG51bWJlcjtcbiAgdG90YWxFbGVtZW50czogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdvU3Rha2luZ1dhbGxldFJlc3VsdHMge1xuICBjb2luczogR29TdGFraW5nV2FsbGV0T2JqZWN0W107XG4gIHBhZ2U6IG51bWJlcjtcbiAgdG90YWxQYWdlczogbnVtYmVyO1xuICB0b3RhbEVsZW1lbnRzOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3Rha2luZ1Blcm1pc3Npb25BdHRyaWJ1dGVzIHtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgZGlzYWJsZWRSZWFzb24/OiBzdHJpbmc7XG4gIGFsbG93Q2xpZW50VG9Vc2VPd25WYWxpZGF0b3I6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5zdGFraW5nUGVybWlzc2lvbkF0dHJpYnV0ZXMge1xuICBlbmFibGVkOiBib29sZWFuO1xuICBkaXNhYmxlZFJlYXNvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRQZXJtaXNzaW9uQXR0cmlidXRlcyB7XG4gIHVzZVZhbGlkYXRvckxpc3Q6IGJvb2xlYW47XG4gIGFsbG93UGFydGlhbFVuc3Rha2U6IGJvb2xlYW47XG4gIHZhbGlkYXRvck5vdE5lZWRlZEZvclN0YWtlOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlcm1pc3Npb25BdHRyaWJ1dGVzIHtcbiAgc3Rha2luZzogU3Rha2luZ1Blcm1pc3Npb25BdHRyaWJ1dGVzO1xuICB1bnN0YWtpbmc6IFVuc3Rha2luZ1Blcm1pc3Npb25BdHRyaWJ1dGVzO1xuICB3YWxsZXQ6IFdhbGxldFBlcm1pc3Npb25BdHRyaWJ1dGVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWtpbmdTcGVuZGFibGVBdHRyaWJ1dGVzIHtcbiAgZmVlOiBzdHJpbmc7XG4gIG1heDogc3RyaW5nO1xuICBtaW46IHN0cmluZztcbiAgbmV0TWF4OiBzdHJpbmc7XG4gIG5ldE1pbjogc3RyaW5nO1xuICBtaW5TdGFrZU1vcmU6IHN0cmluZztcbiAgbWluRHVyYXRpb24/OiBzdHJpbmc7XG4gIG1heER1cmF0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVuc3Rha2luZ1NwZW5kYWJsZUF0dHJpYnV0ZXMge1xuICBmZWU/OiBzdHJpbmc7XG4gIG1heD86IHN0cmluZztcbiAgbWluPzogc3RyaW5nO1xuICBtdWx0aXBsZURlbGVnYXRpb25zOiBib29sZWFuO1xuICByZXF1aXJlc0Ftb3VudDogYm9vbGVhbjtcbiAgcmVxdWlyZXNEZWxlZ2F0aW9uSWQ6IGJvb2xlYW47XG4gIHJlcXVpcmVzRGVsZWdhdGlvbklkczogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTcGVuZGFibGVBdHRyaWJ1dGVzIHtcbiAgc3Rha2luZzogU3Rha2luZ1NwZW5kYWJsZUF0dHJpYnV0ZXM7XG4gIHVuc3Rha2luZzogVW5zdGFraW5nU3BlbmRhYmxlQXR0cmlidXRlcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFraW5nRGlzY2xhaW1lciB7XG4gIGluZm86IHN0cmluZ1tdO1xuICByZXdhcmRQZXJjZW50YWdlUmF0ZT86IHN0cmluZztcbiAgc3Rha2VXYXJtdXBQZXJpb2REZXNjPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVuc3Rha2luZ0Rpc2NsYWltZXIge1xuICBpbmZvOiBzdHJpbmdbXTtcbiAgdW5TdGFrZUNvb2xkb3duUGVyaW9kRGVzYz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXh0UmV3YXJkc0Rpc2NsYWltZXIge1xuICByZXdhcmRDeWNsZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NsYWltZXJBdHRyaWJ1dGVzIHtcbiAgc3Rha2luZzogU3Rha2luZ0Rpc2NsYWltZXI7XG4gIHVuc3Rha2luZzogVW5zdGFraW5nRGlzY2xhaW1lcjtcbiAgbmV4dFJld2FyZHM/OiBOZXh0UmV3YXJkc0Rpc2NsYWltZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR29TdGFraW5nQXR0cmlidXRlcyB7XG4gIHBlcm1pc3Npb25BdHRyaWJ1dGVzOiBQZXJtaXNzaW9uQXR0cmlidXRlcztcbiAgc3BlbmRhYmxlQXR0cmlidXRlczogU3BlbmRhYmxlQXR0cmlidXRlcztcbiAgZGlzY2xhaW1lckF0dHJpYnV0ZXM6IERpc2NsYWltZXJBdHRyaWJ1dGVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdvU3Rha2luZ1dhbGxldE9iamVjdCB7XG4gIGNvaW46IHN0cmluZztcbiAgYWN0aXZlU3Rha2U6IHN0cmluZztcbiAgcGVuZGluZ1N0YWtlOiBzdHJpbmc7XG4gIHBlbmRpbmdVbnN0YWtlOiBzdHJpbmc7XG4gIHJld2FyZHM6IHN0cmluZztcbiAgYXR0cmlidXRlczogR29TdGFraW5nQXR0cmlidXRlcztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { IWallet } from '../wallet';
|
|
2
|
+
import { BaseGoStakeOptions, GoStakeOptions, GoStakingRequest, GoStakingRequestOptions, GoStakingRequestResults, GoStakingWalletObject, GoStakingWalletResults } from './goStakingInterfaces';
|
|
3
|
+
import { IGoStakingWallet } from './iGoStakingWallet';
|
|
4
|
+
export declare class GoStakingWallet implements IGoStakingWallet {
|
|
5
|
+
private readonly bitgo;
|
|
6
|
+
wallet: IWallet;
|
|
7
|
+
constructor(wallet: IWallet);
|
|
8
|
+
get accountId(): string;
|
|
9
|
+
stake(options: GoStakeOptions): Promise<GoStakingRequest>;
|
|
10
|
+
/**
|
|
11
|
+
* Unstake request
|
|
12
|
+
* @param options
|
|
13
|
+
*/
|
|
14
|
+
unstake(options: BaseGoStakeOptions): Promise<GoStakingRequest>;
|
|
15
|
+
/**
|
|
16
|
+
* Preview staking request
|
|
17
|
+
* @param options
|
|
18
|
+
*/
|
|
19
|
+
private previewStake;
|
|
20
|
+
/**
|
|
21
|
+
* Finalize staking request
|
|
22
|
+
* will prepare the payload and sign the transaction
|
|
23
|
+
* and submit it to the go-staking-service
|
|
24
|
+
* @param options
|
|
25
|
+
*/
|
|
26
|
+
private finalizeStake;
|
|
27
|
+
/**
|
|
28
|
+
* Get go staking request
|
|
29
|
+
* @param goStakingRequestId
|
|
30
|
+
*/
|
|
31
|
+
getGoStakingRequest(goStakingRequestId: string): Promise<GoStakingRequest>;
|
|
32
|
+
/**
|
|
33
|
+
* Get go staking requests by coin
|
|
34
|
+
* @param options
|
|
35
|
+
*/
|
|
36
|
+
getGoStakingRequestsByWalletCoin(options?: GoStakingRequestOptions): Promise<GoStakingRequestResults>;
|
|
37
|
+
/**
|
|
38
|
+
* Get all go staking requests for the account
|
|
39
|
+
* @param options
|
|
40
|
+
*/
|
|
41
|
+
getGoStakingRequests(options?: GoStakingRequestOptions): Promise<GoStakingRequestResults>;
|
|
42
|
+
/**
|
|
43
|
+
* Get go staking wallets for the account
|
|
44
|
+
* @param options
|
|
45
|
+
*/
|
|
46
|
+
getGoStakingWallets(options?: {
|
|
47
|
+
page?: number;
|
|
48
|
+
pageSize?: number;
|
|
49
|
+
}): Promise<GoStakingWalletResults>;
|
|
50
|
+
/**
|
|
51
|
+
* Get go staking wallets for the account
|
|
52
|
+
*/
|
|
53
|
+
getGoStakingWallet(): Promise<GoStakingWalletObject>;
|
|
54
|
+
private createGoStakingRequest;
|
|
55
|
+
private goStakingBaseURL;
|
|
56
|
+
private goStakingRequestBaseURL;
|
|
57
|
+
private getGoStakingRequestURL;
|
|
58
|
+
private getGoStakingRequestsUrl;
|
|
59
|
+
private getGoStakingWalletsUrl;
|
|
60
|
+
private getGoStakingWalletUrl;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=goStakingWallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"goStakingWallet.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/staking/goStakingWallet.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAA6B,MAAM,WAAW,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAElB,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAA4B,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGhF,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAE3B,MAAM,EAAE,OAAO,CAAC;gBAEX,MAAM,EAAE,OAAO;IAK3B,IAAI,SAAS,IAAI,MAAM,CAEtB;IAEK,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2B/D;;;OAGG;IACG,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIrE;;;OAGG;YACW,YAAY;IAI1B;;;;;OAKG;YACW,aAAa;IAI3B;;;OAGG;IACG,mBAAmB,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIhF;;;OAGG;IACG,gCAAgC,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAS3G;;;OAGG;IACG,oBAAoB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,uBAAuB,CAAC;IASnG;;;OAGG;IACG,mBAAmB,CAAC,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAS1G;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,qBAAqB,CAAC;YAI5C,sBAAsB;IAcpC,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,qBAAqB;CAG9B"}
|