@bitgo-beta/sdk-core 8.2.1-beta.192 → 8.2.1-beta.1921
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/account-lib/baseCoin/baseTransaction.d.ts +0 -1
- package/dist/src/account-lib/baseCoin/baseTransaction.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts +3 -3
- package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/baseTransactionBuilder.js +4 -3
- package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts +1 -0
- package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +41 -29
- package/dist/src/account-lib/baseCoin/enum.d.ts +54 -5
- package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/enum.js +101 -10
- package/dist/src/account-lib/baseCoin/errors.d.ts +3 -0
- package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/errors.js +8 -2
- package/dist/src/account-lib/baseCoin/iface.d.ts +19 -35
- package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/iface.js +26 -18
- package/dist/src/account-lib/baseCoin/index.d.ts +1 -1
- package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/index.js +8 -5
- package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +88 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessage.js +154 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +67 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +144 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +33 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +45 -0
- package/dist/src/account-lib/baseCoin/messages/iface.d.ts +164 -0
- package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/iface.js +3 -0
- package/dist/src/account-lib/baseCoin/messages/index.d.ts +6 -0
- package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/index.js +22 -0
- package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts +3 -0
- package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/simple/index.js +19 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts +13 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.js +28 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts +21 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.js +28 -0
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +1 -2
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +38 -26
- package/dist/src/account-lib/index.js +23 -9
- package/dist/src/account-lib/mpc/index.d.ts +1 -1
- package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/index.js +6 -2
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -3
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +376 -354
- package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +46 -53
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +0 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +66 -69
- package/dist/src/account-lib/mpc/tss/eddsa/index.js +23 -9
- package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
- package/dist/src/account-lib/mpc/tss/index.js +23 -9
- package/dist/src/account-lib/mpc/util.d.ts +7 -1
- package/dist/src/account-lib/mpc/util.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/util.js +24 -1
- package/dist/src/account-lib/staking/index.js +6 -2
- package/dist/src/account-lib/staking/utils.js +3 -3
- package/dist/src/account-lib/util/crypto.d.ts +8 -2
- package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
- package/dist/src/account-lib/util/crypto.js +69 -38
- package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +2 -1
- package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -1
- package/dist/src/account-lib/util/ed25519KeyDeriver.js +5 -3
- package/dist/src/api/bip32path.js +2 -3
- package/dist/src/api/index.js +6 -2
- package/dist/src/api/types.d.ts +31 -0
- package/dist/src/api/types.d.ts.map +1 -1
- package/dist/src/api/types.js +1 -1
- package/dist/src/bitgo/address-book/address-book.d.ts +61 -0
- package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -0
- package/dist/src/bitgo/address-book/address-book.js +150 -0
- package/dist/src/bitgo/address-book/index.d.ts +3 -0
- package/dist/src/bitgo/address-book/index.d.ts.map +1 -0
- package/dist/src/bitgo/address-book/index.js +19 -0
- package/dist/src/bitgo/address-book/types.d.ts +170 -0
- package/dist/src/bitgo/address-book/types.d.ts.map +1 -0
- package/dist/src/bitgo/address-book/types.js +3 -0
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts +110 -11
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.js +169 -16
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +270 -27
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +14 -3
- package/dist/src/bitgo/baseCoin/index.js +6 -2
- package/dist/src/bitgo/bip32util.d.ts +3 -16
- package/dist/src/bitgo/bip32util.d.ts.map +1 -1
- package/dist/src/bitgo/bip32util.js +4 -56
- package/dist/src/bitgo/bitcoin.d.ts +0 -1
- package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
- package/dist/src/bitgo/bitcoin.js +26 -13
- package/dist/src/bitgo/bitgoBase.d.ts +7 -3
- package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
- package/dist/src/bitgo/bitgoBase.js +1 -1
- package/dist/src/bitgo/coinFactory.d.ts +17 -3
- package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
- package/dist/src/bitgo/coinFactory.js +26 -3
- package/dist/src/bitgo/config.d.ts +3 -95
- 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 +117 -0
- package/dist/src/bitgo/defi/defiVault.d.ts.map +1 -0
- package/dist/src/bitgo/defi/defiVault.js +354 -0
- package/dist/src/bitgo/defi/iDefiVault.d.ts +80 -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 +175 -0
- package/dist/src/bitgo/errors.d.ts.map +1 -1
- package/dist/src/bitgo/errors.js +166 -2
- package/dist/src/bitgo/evm/evmUtils.d.ts +26 -0
- package/dist/src/bitgo/evm/evmUtils.d.ts.map +1 -0
- package/dist/src/bitgo/evm/evmUtils.js +50 -0
- package/dist/src/bitgo/index.d.ts +5 -1
- package/dist/src/bitgo/index.d.ts.map +1 -1
- package/dist/src/bitgo/index.js +31 -11
- package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +3 -3
- package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
- package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +1 -1
- package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
- package/dist/src/bitgo/internal/index.js +6 -2
- package/dist/src/bitgo/internal/internal.js +5 -6
- package/dist/src/bitgo/internal/keycard.d.ts +12 -8
- package/dist/src/bitgo/internal/keycard.d.ts.map +1 -1
- package/dist/src/bitgo/internal/keycard.js +60 -48
- package/dist/src/bitgo/keychain/decryptKeychain.d.ts +14 -0
- package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
- package/dist/src/bitgo/keychain/decryptKeychain.js +36 -0
- package/dist/src/bitgo/keychain/iKeychains.d.ts +108 -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 +51 -7
- package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/keychains.js +245 -52
- package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +3 -3
- package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/ovcJsonCodec.js +23 -9
- package/dist/src/bitgo/legacyBitcoin.d.ts +0 -1
- package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
- package/dist/src/bitgo/legacyBitcoin.js +27 -13
- package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts +7 -0
- package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts.map +1 -0
- package/dist/src/bitgo/lightning/lightningWalletUtil.js +25 -0
- package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
- package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
- package/dist/src/bitgo/market/index.js +6 -2
- package/dist/src/bitgo/market/markets.js +23 -9
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +1 -0
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
- package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
- package/dist/src/bitgo/pendingApproval/index.js +6 -2
- package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +20 -8
- package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
- package/dist/src/bitgo/pendingApproval/pendingApproval.js +228 -110
- 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/iSafe.d.ts +85 -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 +86 -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 +5 -0
- package/dist/src/bitgo/safe/index.d.ts.map +1 -0
- package/dist/src/bitgo/safe/index.js +21 -0
- package/dist/src/bitgo/safe/safe.d.ts +66 -0
- package/dist/src/bitgo/safe/safe.d.ts.map +1 -0
- package/dist/src/bitgo/safe/safe.js +96 -0
- package/dist/src/bitgo/safe/safes.d.ts +104 -0
- package/dist/src/bitgo/safe/safes.d.ts.map +1 -0
- package/dist/src/bitgo/safe/safes.js +294 -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 +178 -7
- package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/iStakingWallet.js +2 -2
- package/dist/src/bitgo/staking/index.d.ts +3 -0
- package/dist/src/bitgo/staking/index.d.ts.map +1 -1
- package/dist/src/bitgo/staking/index.js +9 -2
- package/dist/src/bitgo/staking/stakingWallet.d.ts +21 -8
- package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/stakingWallet.js +140 -7
- package/dist/src/bitgo/trading/iTradingAccount.d.ts +15 -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 +5 -0
- package/dist/src/bitgo/trading/network/index.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/index.js +21 -0
- package/dist/src/bitgo/trading/network/network.d.ts +36 -0
- package/dist/src/bitgo/trading/network/network.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/network.js +99 -0
- package/dist/src/bitgo/trading/network/types.d.ts +277 -0
- package/dist/src/bitgo/trading/network/types.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/types.js +3 -0
- package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
- package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/utils.js +54 -0
- package/dist/src/bitgo/trading/tradingAccount.d.ts +22 -1
- package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
- package/dist/src/bitgo/trading/tradingAccount.js +64 -7
- package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +38 -0
- package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
- package/dist/src/bitgo/tss/bitgoPubKeys.js +72 -0
- package/dist/src/bitgo/tss/common.d.ts +40 -6
- package/dist/src/bitgo/tss/common.d.ts.map +1 -1
- package/dist/src/bitgo/tss/common.js +124 -17
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +6 -4
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/ecdsa.js +78 -66
- package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +167 -0
- package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
- package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/index.js +25 -10
- package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
- package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +15 -6
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/eddsa/eddsa.js +47 -40
- package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts +37 -0
- package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.js +95 -0
- package/dist/src/bitgo/tss/eddsa/index.js +23 -9
- package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
- package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/tss/index.d.ts +3 -2
- package/dist/src/bitgo/tss/index.d.ts.map +1 -1
- package/dist/src/bitgo/tss/index.js +26 -10
- package/dist/src/bitgo/tss/types.d.ts +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 +8 -0
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +55 -13
- 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 +160 -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 +10 -7
- package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/opengpgUtils.js +75 -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 +97 -18
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +309 -46
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +417 -46
- 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 +172 -246
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +216 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +1050 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +8 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +16 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +4 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/index.js +10 -2
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +7 -10
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +107 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
- package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts +21 -0
- package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.js +118 -0
- package/dist/src/bitgo/utils/tss/eddsa/base.d.ts +18 -0
- package/dist/src/bitgo/utils/tss/eddsa/base.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/base.js +64 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +38 -11
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +254 -96
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +156 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +737 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts +6 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.js +16 -0
- package/dist/src/bitgo/utils/tss/eddsa/index.d.ts +4 -0
- package/dist/src/bitgo/utils/tss/eddsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/index.js +29 -8
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +12 -7
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/types.js +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts +40 -0
- package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.js +44 -0
- package/dist/src/bitgo/utils/tss/index.d.ts +3 -0
- package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/index.js +26 -9
- package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts +23 -0
- package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/preHashedSignable.js +26 -0
- package/dist/src/bitgo/utils/tss/recipientUtils.d.ts +33 -0
- package/dist/src/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/recipientUtils.js +118 -0
- package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
- package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
- package/dist/src/bitgo/utils/txRequest.js +49 -0
- package/dist/src/bitgo/utils/util.js +24 -10
- package/dist/src/bitgo/utils/wallet.d.ts +7 -0
- package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
- package/dist/src/bitgo/utils/wallet.js +48 -0
- package/dist/src/bitgo/wallet/BuildParams.d.ts +80 -1
- package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/BuildParams.js +83 -11
- package/dist/src/bitgo/wallet/iWallet.d.ts +528 -25
- 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 +298 -16
- package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallets.js +63 -3
- package/dist/src/bitgo/wallet/index.js +6 -2
- package/dist/src/bitgo/wallet/wallet.d.ts +353 -27
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +2123 -371
- package/dist/src/bitgo/wallet/wallets.d.ts +93 -4
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallets.js +1146 -155
- package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts +12 -0
- package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts.map +1 -0
- package/dist/src/bitgo/walletUtil/iMessageProvider.js +3 -0
- package/dist/src/bitgo/walletUtil/index.d.ts +3 -0
- package/dist/src/bitgo/walletUtil/index.d.ts.map +1 -0
- package/dist/src/bitgo/walletUtil/index.js +19 -0
- package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts +22 -0
- package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts.map +1 -0
- package/dist/src/bitgo/walletUtil/midnightMessageProvider.js +95 -0
- package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts +9 -0
- package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts.map +1 -0
- package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.js +72 -0
- package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts +15 -0
- package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts.map +1 -0
- package/dist/src/bitgo/walletUtil/utxoMessageProof.js +40 -0
- package/dist/src/bitgo/webhook/index.js +6 -2
- package/dist/src/bitgo/webhook/webhooks.js +23 -9
- package/dist/src/coins/fiat.d.ts +45 -0
- package/dist/src/coins/fiat.d.ts.map +1 -0
- package/dist/src/coins/fiat.js +94 -0
- package/dist/src/coins/index.d.ts +1 -6
- package/dist/src/coins/index.d.ts.map +1 -1
- package/dist/src/coins/index.js +7 -8
- package/dist/src/coins/ofc.d.ts +21 -2
- package/dist/src/coins/ofc.d.ts.map +1 -1
- package/dist/src/coins/ofc.js +29 -3
- package/dist/src/coins/ofcToken.d.ts +15 -4
- package/dist/src/coins/ofcToken.d.ts.map +1 -1
- package/dist/src/coins/ofcToken.js +43 -5
- package/dist/src/coins/susd.d.ts +3 -2
- package/dist/src/coins/susd.d.ts.map +1 -1
- package/dist/src/coins/susd.js +5 -1
- package/dist/src/common.js +27 -13
- package/dist/src/index.d.ts +7 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +32 -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 +542 -0
- package/dist/test/unit/bitgo/environment.d.ts +2 -0
- package/dist/test/unit/bitgo/environment.d.ts.map +1 -0
- package/dist/test/unit/bitgo/environment.js +38 -0
- package/dist/test/unit/bitgo/errors.d.ts +2 -0
- package/dist/test/unit/bitgo/errors.d.ts.map +1 -0
- package/dist/test/unit/bitgo/errors.js +262 -0
- package/dist/test/unit/bitgo/recovery/initiate.d.ts +2 -0
- package/dist/test/unit/bitgo/recovery/initiate.d.ts.map +1 -0
- package/dist/test/unit/bitgo/recovery/initiate.js +159 -0
- package/dist/test/unit/bitgo/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 +134 -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 +297 -0
- package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
- package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
- package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
- package/dist/test/unit/bitgo/trading/tradingAccount.d.ts +2 -0
- package/dist/test/unit/bitgo/trading/tradingAccount.d.ts.map +1 -0
- package/dist/test/unit/bitgo/trading/tradingAccount.js +192 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +24 -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/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 +399 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.js +94 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +999 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts +5 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.js +36 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.js +158 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +1524 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.js +311 -0
- package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/preHashedSignable.js +55 -0
- package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/recipientUtils.js +172 -0
- package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/txRequest.js +179 -0
- package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/BuildParams.js +124 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +30 -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/getResourceDelegations.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/getResourceDelegations.js +118 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.js +141 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.js +185 -0
- package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts +3 -0
- package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/resourceManagement.js +441 -0
- package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/tokenApproval.js +201 -0
- package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.js +181 -0
- package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.js +43 -0
- package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.js +320 -0
- package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.js +228 -0
- package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.js +216 -0
- package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletsExternalSigner.js +670 -0
- package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletsWebauthn.js +201 -0
- package/dist/test/unit/coins/ofc.d.ts +2 -0
- package/dist/test/unit/coins/ofc.d.ts.map +1 -0
- package/dist/test/unit/coins/ofc.js +124 -0
- package/dist/test/unit/lightning.d.ts +2 -0
- package/dist/test/unit/lightning.d.ts.map +1 -0
- package/dist/test/unit/lightning.js +23 -0
- package/dist/test/unit/units.d.ts.map +1 -1
- package/dist/test/unit/units.js +64 -64
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +24 -21
- package/.eslintignore +0 -5
- package/CHANGELOG.md +0 -1638
- package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
- package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
- package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
- package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
- package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/iLightning.js +0 -106
- package/dist/src/bitgo/lightning/index.d.ts +0 -5
- package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/index.js +0 -17
- package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
- package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/lightning.js +0 -111
- package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
- package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
- package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
- package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
- package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
- package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
- package/dist/src/bitgo/utils/blsUtils.js +0 -237
- package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
- package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
- package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
- package/dist/src/coins/fiateur.d.ts +0 -31
- package/dist/src/coins/fiateur.d.ts.map +0 -1
- package/dist/src/coins/fiateur.js +0 -57
- package/dist/src/coins/fiatgbp.d.ts +0 -31
- package/dist/src/coins/fiatgbp.d.ts.map +0 -1
- package/dist/src/coins/fiatgbp.js +0 -57
- package/dist/src/coins/fiatusd.d.ts +0 -31
- package/dist/src/coins/fiatusd.d.ts.map +0 -1
- package/dist/src/coins/fiatusd.js +0 -57
- package/dist/src/coins/tfiateur.d.ts +0 -11
- package/dist/src/coins/tfiateur.d.ts.map +0 -1
- package/dist/src/coins/tfiateur.js +0 -17
- package/dist/src/coins/tfiatgbp.d.ts +0 -11
- package/dist/src/coins/tfiatgbp.d.ts.map +0 -1
- package/dist/src/coins/tfiatgbp.js +0 -17
- package/dist/src/coins/tfiatusd.d.ts +0 -11
- package/dist/src/coins/tfiatusd.d.ts.map +0 -1
- package/dist/src/coins/tfiatusd.js +0 -17
- package/dist/src/openssl/index.d.ts +0 -5
- package/dist/src/openssl/index.d.ts.map +0 -1
- package/dist/src/openssl/index.js +0 -9
- package/dist/test/unit/openssl.d.ts +0 -2
- package/dist/test/unit/openssl.d.ts.map +0 -1
- package/dist/test/unit/openssl.js +0 -39
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypt-rsa-browser.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/trading/network/encrypt-rsa-browser.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIzF"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports._encryptBrowserRsa = _encryptBrowserRsa;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
const utils_1 = require("./utils");
|
|
9
|
+
/**
|
|
10
|
+
* Import a public RSA key and encrypt a plaintext
|
|
11
|
+
* @param {string} publicKey PEM-formatted public RSA key
|
|
12
|
+
* @param {string} text The text to encrypt
|
|
13
|
+
* @returns {string} The encrypted text
|
|
14
|
+
*/
|
|
15
|
+
async function _encryptBrowserRsa(publicKey, text) {
|
|
16
|
+
const pub = await importPublicKey(publicKey);
|
|
17
|
+
const encrypted = await encryptRSA(pub, new TextEncoder().encode(text));
|
|
18
|
+
return btoa((0, utils_1.ab2str)(encrypted));
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Import a public RSA key from a PEM string
|
|
22
|
+
* @param {string} spkiPem
|
|
23
|
+
* @returns {CryptoKey}
|
|
24
|
+
*/
|
|
25
|
+
async function importPublicKey(spkiPem) {
|
|
26
|
+
// Pull from window.crypto when running in the browser.
|
|
27
|
+
// This is due to libraries like crypto-browserify overriding "crypto" while not supporting various crypto functions.
|
|
28
|
+
let cryptoJS = crypto_1.default;
|
|
29
|
+
if (typeof window !== 'undefined') {
|
|
30
|
+
cryptoJS = window.crypto;
|
|
31
|
+
}
|
|
32
|
+
return await cryptoJS.subtle.importKey('spki', getSpkiDer(spkiPem), {
|
|
33
|
+
name: 'RSA-OAEP',
|
|
34
|
+
hash: 'SHA-256',
|
|
35
|
+
}, true, ['encrypt']);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Encrypt a plaintext using RSA-OAEP
|
|
39
|
+
* @param {CryptoKey} key The public key to use for encryption
|
|
40
|
+
* @param {ArrayBuffer} plaintext The plaintext to encrypt
|
|
41
|
+
* @returns {ArrayBuffer} The encrypted text
|
|
42
|
+
*/
|
|
43
|
+
async function encryptRSA(key, plaintext) {
|
|
44
|
+
// Pull from window.crypto when running in the browser.
|
|
45
|
+
// This is due to libraries like crypto-browserify overriding "crypto" while not supporting various crypto functions.
|
|
46
|
+
let cryptoJS = crypto_1.default;
|
|
47
|
+
if (typeof window !== 'undefined') {
|
|
48
|
+
cryptoJS = window.crypto;
|
|
49
|
+
}
|
|
50
|
+
const encrypted = await cryptoJS.subtle.encrypt({
|
|
51
|
+
name: 'RSA-OAEP',
|
|
52
|
+
}, key, plaintext);
|
|
53
|
+
return encrypted;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Convert a PEM-formatted SPKI key to a DER-formatted ArrayBuffer
|
|
57
|
+
* @param {string} spkiPem PEM-formatted SPKI key
|
|
58
|
+
* @returns {ArrayBuffer} DER-formatted public key
|
|
59
|
+
*/
|
|
60
|
+
function getSpkiDer(spkiPem) {
|
|
61
|
+
spkiPem = spkiPem.replace(/-----[^-]+-----/g, '').replace(/\s+/g, '');
|
|
62
|
+
const binaryDerString = atob(spkiPem);
|
|
63
|
+
return (0, utils_1.str2ab)(binaryDerString);
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdC1yc2EtYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby90cmFkaW5nL25ldHdvcmsvZW5jcnlwdC1yc2EtYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLGdEQUlDO0FBYkQsb0RBQTRCO0FBQzVCLG1DQUF5QztBQUV6Qzs7Ozs7R0FLRztBQUNJLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxTQUFpQixFQUFFLElBQVk7SUFDdEUsTUFBTSxHQUFHLEdBQUcsTUFBTSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0MsTUFBTSxTQUFTLEdBQUcsTUFBTSxVQUFVLENBQUMsR0FBRyxFQUFFLElBQUksV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEUsT0FBTyxJQUFJLENBQUMsSUFBQSxjQUFNLEVBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILEtBQUssVUFBVSxlQUFlLENBQUMsT0FBZTtJQUM1Qyx1REFBdUQ7SUFDdkQscUhBQXFIO0lBQ3JILElBQUksUUFBUSxHQUFRLGdCQUFNLENBQUM7SUFDM0IsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTyxNQUFNLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUNwQyxNQUFNLEVBQ04sVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUNuQjtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLElBQUksRUFBRSxTQUFTO0tBQ2hCLEVBQ0QsSUFBSSxFQUNKLENBQUMsU0FBUyxDQUFDLENBQ1osQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILEtBQUssVUFBVSxVQUFVLENBQUMsR0FBYyxFQUFFLFNBQXNCO0lBQzlELHVEQUF1RDtJQUN2RCxxSEFBcUg7SUFDckgsSUFBSSxRQUFRLEdBQVEsZ0JBQU0sQ0FBQztJQUMzQixJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUM3QztRQUNFLElBQUksRUFBRSxVQUFVO0tBQ2pCLEVBQ0QsR0FBRyxFQUNILFNBQVMsQ0FDVixDQUFDO0lBQ0YsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLFVBQVUsQ0FBQyxPQUFlO0lBQ2pDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEUsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLE9BQU8sSUFBQSxjQUFNLEVBQUMsZUFBZSxDQUFDLENBQUM7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IGFiMnN0ciwgc3RyMmFiIH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogSW1wb3J0IGEgcHVibGljIFJTQSBrZXkgYW5kIGVuY3J5cHQgYSBwbGFpbnRleHRcbiAqIEBwYXJhbSB7c3RyaW5nfSBwdWJsaWNLZXkgUEVNLWZvcm1hdHRlZCBwdWJsaWMgUlNBIGtleVxuICogQHBhcmFtIHtzdHJpbmd9IHRleHQgVGhlIHRleHQgdG8gZW5jcnlwdFxuICogQHJldHVybnMge3N0cmluZ30gVGhlIGVuY3J5cHRlZCB0ZXh0XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBfZW5jcnlwdEJyb3dzZXJSc2EocHVibGljS2V5OiBzdHJpbmcsIHRleHQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHB1YiA9IGF3YWl0IGltcG9ydFB1YmxpY0tleShwdWJsaWNLZXkpO1xuICBjb25zdCBlbmNyeXB0ZWQgPSBhd2FpdCBlbmNyeXB0UlNBKHB1YiwgbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKHRleHQpKTtcbiAgcmV0dXJuIGJ0b2EoYWIyc3RyKGVuY3J5cHRlZCkpO1xufVxuXG4vKipcbiAqIEltcG9ydCBhIHB1YmxpYyBSU0Ega2V5IGZyb20gYSBQRU0gc3RyaW5nXG4gKiBAcGFyYW0ge3N0cmluZ30gc3BraVBlbVxuICogQHJldHVybnMge0NyeXB0b0tleX1cbiAqL1xuYXN5bmMgZnVuY3Rpb24gaW1wb3J0UHVibGljS2V5KHNwa2lQZW06IHN0cmluZykge1xuICAvLyBQdWxsIGZyb20gd2luZG93LmNyeXB0byB3aGVuIHJ1bm5pbmcgaW4gdGhlIGJyb3dzZXIuXG4gIC8vIFRoaXMgaXMgZHVlIHRvIGxpYnJhcmllcyBsaWtlIGNyeXB0by1icm93c2VyaWZ5IG92ZXJyaWRpbmcgXCJjcnlwdG9cIiB3aGlsZSBub3Qgc3VwcG9ydGluZyB2YXJpb3VzIGNyeXB0byBmdW5jdGlvbnMuXG4gIGxldCBjcnlwdG9KUzogYW55ID0gY3J5cHRvO1xuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBjcnlwdG9KUyA9IHdpbmRvdy5jcnlwdG87XG4gIH1cblxuICByZXR1cm4gYXdhaXQgY3J5cHRvSlMuc3VidGxlLmltcG9ydEtleShcbiAgICAnc3BraScsXG4gICAgZ2V0U3BraURlcihzcGtpUGVtKSxcbiAgICB7XG4gICAgICBuYW1lOiAnUlNBLU9BRVAnLFxuICAgICAgaGFzaDogJ1NIQS0yNTYnLFxuICAgIH0sXG4gICAgdHJ1ZSxcbiAgICBbJ2VuY3J5cHQnXVxuICApO1xufVxuXG4vKipcbiAqIEVuY3J5cHQgYSBwbGFpbnRleHQgdXNpbmcgUlNBLU9BRVBcbiAqIEBwYXJhbSB7Q3J5cHRvS2V5fSBrZXkgVGhlIHB1YmxpYyBrZXkgdG8gdXNlIGZvciBlbmNyeXB0aW9uXG4gKiBAcGFyYW0ge0FycmF5QnVmZmVyfSBwbGFpbnRleHQgVGhlIHBsYWludGV4dCB0byBlbmNyeXB0XG4gKiBAcmV0dXJucyB7QXJyYXlCdWZmZXJ9IFRoZSBlbmNyeXB0ZWQgdGV4dFxuICovXG5hc3luYyBmdW5jdGlvbiBlbmNyeXB0UlNBKGtleTogQ3J5cHRvS2V5LCBwbGFpbnRleHQ6IEFycmF5QnVmZmVyKSB7XG4gIC8vIFB1bGwgZnJvbSB3aW5kb3cuY3J5cHRvIHdoZW4gcnVubmluZyBpbiB0aGUgYnJvd3Nlci5cbiAgLy8gVGhpcyBpcyBkdWUgdG8gbGlicmFyaWVzIGxpa2UgY3J5cHRvLWJyb3dzZXJpZnkgb3ZlcnJpZGluZyBcImNyeXB0b1wiIHdoaWxlIG5vdCBzdXBwb3J0aW5nIHZhcmlvdXMgY3J5cHRvIGZ1bmN0aW9ucy5cbiAgbGV0IGNyeXB0b0pTOiBhbnkgPSBjcnlwdG87XG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgIGNyeXB0b0pTID0gd2luZG93LmNyeXB0bztcbiAgfVxuXG4gIGNvbnN0IGVuY3J5cHRlZCA9IGF3YWl0IGNyeXB0b0pTLnN1YnRsZS5lbmNyeXB0KFxuICAgIHtcbiAgICAgIG5hbWU6ICdSU0EtT0FFUCcsXG4gICAgfSxcbiAgICBrZXksXG4gICAgcGxhaW50ZXh0XG4gICk7XG4gIHJldHVybiBlbmNyeXB0ZWQ7XG59XG5cbi8qKlxuICogQ29udmVydCBhIFBFTS1mb3JtYXR0ZWQgU1BLSSBrZXkgdG8gYSBERVItZm9ybWF0dGVkIEFycmF5QnVmZmVyXG4gKiBAcGFyYW0ge3N0cmluZ30gc3BraVBlbSBQRU0tZm9ybWF0dGVkIFNQS0kga2V5XG4gKiBAcmV0dXJucyB7QXJyYXlCdWZmZXJ9IERFUi1mb3JtYXR0ZWQgcHVibGljIGtleVxuICovXG5mdW5jdGlvbiBnZXRTcGtpRGVyKHNwa2lQZW06IHN0cmluZykge1xuICBzcGtpUGVtID0gc3BraVBlbS5yZXBsYWNlKC8tLS0tLVteLV0rLS0tLS0vZywgJycpLnJlcGxhY2UoL1xccysvZywgJycpO1xuICBjb25zdCBiaW5hcnlEZXJTdHJpbmcgPSBhdG9iKHNwa2lQZW0pO1xuICByZXR1cm4gc3RyMmFiKGJpbmFyeURlclN0cmluZyk7XG59XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encrypts a string using RSA
|
|
3
|
+
* @param {string} publicKey The public key to use for encryption
|
|
4
|
+
* @param {string} text The text to encrypt
|
|
5
|
+
* @returns {string} The encrypted text
|
|
6
|
+
*/
|
|
7
|
+
export declare function _encryptRsa(publicKey: string, text: string): string;
|
|
8
|
+
//# sourceMappingURL=encrypt-rsa.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypt-rsa.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/trading/network/encrypt-rsa.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAYnE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports._encryptRsa = _encryptRsa;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
/**
|
|
9
|
+
* Encrypts a string using RSA
|
|
10
|
+
* @param {string} publicKey The public key to use for encryption
|
|
11
|
+
* @param {string} text The text to encrypt
|
|
12
|
+
* @returns {string} The encrypted text
|
|
13
|
+
*/
|
|
14
|
+
function _encryptRsa(publicKey, text) {
|
|
15
|
+
const key = crypto_1.default.createPublicKey(publicKey);
|
|
16
|
+
const encryptedData = crypto_1.default.publicEncrypt({
|
|
17
|
+
key,
|
|
18
|
+
padding: crypto_1.default.constants.RSA_PKCS1_OAEP_PADDING,
|
|
19
|
+
oaepHash: 'sha256',
|
|
20
|
+
}, Buffer.from(text));
|
|
21
|
+
return encryptedData.toString('base64');
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdC1yc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHJhZGluZy9uZXR3b3JrL2VuY3J5cHQtcnNhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBUUEsa0NBWUM7QUFwQkQsb0RBQTRCO0FBRTVCOzs7OztHQUtHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLFNBQWlCLEVBQUUsSUFBWTtJQUN6RCxNQUFNLEdBQUcsR0FBRyxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QyxNQUFNLGFBQWEsR0FBRyxnQkFBTSxDQUFDLGFBQWEsQ0FDeEM7UUFDRSxHQUFHO1FBQ0gsT0FBTyxFQUFFLGdCQUFNLENBQUMsU0FBUyxDQUFDLHNCQUFzQjtRQUNoRCxRQUFRLEVBQUUsUUFBUTtLQUNuQixFQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQ2xCLENBQUM7SUFFRixPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcblxuLyoqXG4gKiBFbmNyeXB0cyBhIHN0cmluZyB1c2luZyBSU0FcbiAqIEBwYXJhbSB7c3RyaW5nfSBwdWJsaWNLZXkgVGhlIHB1YmxpYyBrZXkgdG8gdXNlIGZvciBlbmNyeXB0aW9uXG4gKiBAcGFyYW0ge3N0cmluZ30gdGV4dCBUaGUgdGV4dCB0byBlbmNyeXB0XG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZW5jcnlwdGVkIHRleHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIF9lbmNyeXB0UnNhKHB1YmxpY0tleTogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBrZXkgPSBjcnlwdG8uY3JlYXRlUHVibGljS2V5KHB1YmxpY0tleSk7XG4gIGNvbnN0IGVuY3J5cHRlZERhdGEgPSBjcnlwdG8ucHVibGljRW5jcnlwdChcbiAgICB7XG4gICAgICBrZXksXG4gICAgICBwYWRkaW5nOiBjcnlwdG8uY29uc3RhbnRzLlJTQV9QS0NTMV9PQUVQX1BBRERJTkcsXG4gICAgICBvYWVwSGFzaDogJ3NoYTI1NicsXG4gICAgfSxcbiAgICBCdWZmZXIuZnJvbSh0ZXh0KVxuICApO1xuXG4gIHJldHVybiBlbmNyeXB0ZWREYXRhLnRvU3RyaW5nKCdiYXNlNjQnKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provided an X.509/ OpenSSL PEM public key, and a string of text to encrypt,
|
|
3
|
+
* This function will
|
|
4
|
+
* 1. Generate a random 256-bit key
|
|
5
|
+
* 2. Encrypt the text using AES-GCM with the generated key
|
|
6
|
+
* 3. Encrypt the generated key using RSA-OAEP with the provided public key
|
|
7
|
+
* 4. Return the encrypted key and the encrypted text in the format `${encryptedKey}\n${encryptedText}`
|
|
8
|
+
*
|
|
9
|
+
* @param {string} publicKey - RSA Public Key
|
|
10
|
+
* @param {string} text - text to encrypt
|
|
11
|
+
* @returns {string} The encrypted text
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* const publicKey = '-----BEGIN PUBLIC KEY-----\n.....\n-----END PUBLIC KEY-----';
|
|
15
|
+
* const text = 'This text contains sensitive information';
|
|
16
|
+
* const encrypted = await encryptRsaWithAesGcm(publicKey, text);
|
|
17
|
+
*/
|
|
18
|
+
export declare function encryptRsaWithAesGcm(publicKey: string, text: string): Promise<string>;
|
|
19
|
+
/**
|
|
20
|
+
* Provided an X.509/ OpenSSL PEM public key, and a string of text to encrypt,
|
|
21
|
+
* This function will
|
|
22
|
+
* 1. Generate a random 256-bit key
|
|
23
|
+
* 2. Encrypt the text using AES-GCM with the generated key
|
|
24
|
+
* 3. Encrypt the generated key using RSA-OAEP with the provided public key
|
|
25
|
+
* 4. Return the encrypted key and the encrypted text in the format `${encryptedKey}\n${encryptedText}`
|
|
26
|
+
*
|
|
27
|
+
* @param {string} publicKey - RSA Public Key
|
|
28
|
+
* @param {string} text - text to encrypt
|
|
29
|
+
* @returns {string} The encrypted text
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* const publicKey = '-----BEGIN PUBLIC KEY-----\n.....\n-----END PUBLIC KEY-----';
|
|
33
|
+
* const text = 'This text contains sensitive information';
|
|
34
|
+
* const encrypted = await encryptBrowserRsaWithAesGcm(publicKey, text);
|
|
35
|
+
*/
|
|
36
|
+
export declare function encryptBrowserRsaWithAesGcm(publicKey: string, text: string): Promise<string>;
|
|
37
|
+
//# sourceMappingURL=encrypt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypt.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/trading/network/encrypt.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO3F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOlG"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.encryptRsaWithAesGcm = encryptRsaWithAesGcm;
|
|
7
|
+
exports.encryptBrowserRsaWithAesGcm = encryptBrowserRsaWithAesGcm;
|
|
8
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
9
|
+
const encrypt_aes_gcm_1 = require("./encrypt-aes-gcm");
|
|
10
|
+
const encrypt_rsa_1 = require("./encrypt-rsa");
|
|
11
|
+
const encrypt_rsa_browser_1 = require("./encrypt-rsa-browser");
|
|
12
|
+
/**
|
|
13
|
+
* Provided an X.509/ OpenSSL PEM public key, and a string of text to encrypt,
|
|
14
|
+
* This function will
|
|
15
|
+
* 1. Generate a random 256-bit key
|
|
16
|
+
* 2. Encrypt the text using AES-GCM with the generated key
|
|
17
|
+
* 3. Encrypt the generated key using RSA-OAEP with the provided public key
|
|
18
|
+
* 4. Return the encrypted key and the encrypted text in the format `${encryptedKey}\n${encryptedText}`
|
|
19
|
+
*
|
|
20
|
+
* @param {string} publicKey - RSA Public Key
|
|
21
|
+
* @param {string} text - text to encrypt
|
|
22
|
+
* @returns {string} The encrypted text
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* const publicKey = '-----BEGIN PUBLIC KEY-----\n.....\n-----END PUBLIC KEY-----';
|
|
26
|
+
* const text = 'This text contains sensitive information';
|
|
27
|
+
* const encrypted = await encryptRsaWithAesGcm(publicKey, text);
|
|
28
|
+
*/
|
|
29
|
+
async function encryptRsaWithAesGcm(publicKey, text) {
|
|
30
|
+
const gcmKey = crypto_1.default.randomBytes(32).toString('base64');
|
|
31
|
+
const encrypted = await (0, encrypt_aes_gcm_1._encryptAesGcm)(gcmKey, text);
|
|
32
|
+
const encryptedRsa = await (0, encrypt_rsa_1._encryptRsa)(publicKey, Buffer.from(gcmKey).toString('base64'));
|
|
33
|
+
return `${encryptedRsa}\n${encrypted}`;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Provided an X.509/ OpenSSL PEM public key, and a string of text to encrypt,
|
|
37
|
+
* This function will
|
|
38
|
+
* 1. Generate a random 256-bit key
|
|
39
|
+
* 2. Encrypt the text using AES-GCM with the generated key
|
|
40
|
+
* 3. Encrypt the generated key using RSA-OAEP with the provided public key
|
|
41
|
+
* 4. Return the encrypted key and the encrypted text in the format `${encryptedKey}\n${encryptedText}`
|
|
42
|
+
*
|
|
43
|
+
* @param {string} publicKey - RSA Public Key
|
|
44
|
+
* @param {string} text - text to encrypt
|
|
45
|
+
* @returns {string} The encrypted text
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* const publicKey = '-----BEGIN PUBLIC KEY-----\n.....\n-----END PUBLIC KEY-----';
|
|
49
|
+
* const text = 'This text contains sensitive information';
|
|
50
|
+
* const encrypted = await encryptBrowserRsaWithAesGcm(publicKey, text);
|
|
51
|
+
*/
|
|
52
|
+
async function encryptBrowserRsaWithAesGcm(publicKey, text) {
|
|
53
|
+
const gcmKey = crypto_1.default.randomBytes(32).toString('base64');
|
|
54
|
+
const encrypted = await (0, encrypt_aes_gcm_1._encryptAesGcm)(gcmKey, text);
|
|
55
|
+
const encryptedRsa = await (0, encrypt_rsa_browser_1._encryptBrowserRsa)(publicKey, Buffer.from(gcmKey).toString('base64'));
|
|
56
|
+
return `${encryptedRsa}\n${encrypted}`;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby90cmFkaW5nL25ldHdvcmsvZW5jcnlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQXNCQSxvREFPQztBQW1CRCxrRUFPQztBQXZERCxvREFBNEI7QUFDNUIsdURBQW1EO0FBQ25ELCtDQUE0QztBQUM1QywrREFBMkQ7QUFFM0Q7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSSxLQUFLLFVBQVUsb0JBQW9CLENBQUMsU0FBaUIsRUFBRSxJQUFZO0lBQ3hFLE1BQU0sTUFBTSxHQUFHLGdCQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV6RCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsZ0NBQWMsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckQsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFBLHlCQUFXLEVBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFMUYsT0FBTyxHQUFHLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztBQUN6QyxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSSxLQUFLLFVBQVUsMkJBQTJCLENBQUMsU0FBaUIsRUFBRSxJQUFZO0lBQy9FLE1BQU0sTUFBTSxHQUFHLGdCQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV6RCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsZ0NBQWMsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckQsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFBLHdDQUFrQixFQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRWpHLE9BQU8sR0FBRyxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7QUFDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IF9lbmNyeXB0QWVzR2NtIH0gZnJvbSAnLi9lbmNyeXB0LWFlcy1nY20nO1xuaW1wb3J0IHsgX2VuY3J5cHRSc2EgfSBmcm9tICcuL2VuY3J5cHQtcnNhJztcbmltcG9ydCB7IF9lbmNyeXB0QnJvd3NlclJzYSB9IGZyb20gJy4vZW5jcnlwdC1yc2EtYnJvd3Nlcic7XG5cbi8qKlxuICogUHJvdmlkZWQgYW4gWC41MDkvIE9wZW5TU0wgUEVNIHB1YmxpYyBrZXksIGFuZCBhIHN0cmluZyBvZiB0ZXh0IHRvIGVuY3J5cHQsXG4gKiBUaGlzIGZ1bmN0aW9uIHdpbGxcbiAqIDEuIEdlbmVyYXRlIGEgcmFuZG9tIDI1Ni1iaXQga2V5XG4gKiAyLiBFbmNyeXB0IHRoZSB0ZXh0IHVzaW5nIEFFUy1HQ00gd2l0aCB0aGUgZ2VuZXJhdGVkIGtleVxuICogMy4gRW5jcnlwdCB0aGUgZ2VuZXJhdGVkIGtleSB1c2luZyBSU0EtT0FFUCB3aXRoIHRoZSBwcm92aWRlZCBwdWJsaWMga2V5XG4gKiA0LiBSZXR1cm4gdGhlIGVuY3J5cHRlZCBrZXkgYW5kIHRoZSBlbmNyeXB0ZWQgdGV4dCBpbiB0aGUgZm9ybWF0IGAke2VuY3J5cHRlZEtleX1cXG4ke2VuY3J5cHRlZFRleHR9YFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBwdWJsaWNLZXkgLSBSU0EgUHVibGljIEtleVxuICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0ZXh0IHRvIGVuY3J5cHRcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBlbmNyeXB0ZWQgdGV4dFxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBwdWJsaWNLZXkgPSAnLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS1cXG4uLi4uLlxcbi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLSc7XG4gKiBjb25zdCB0ZXh0ID0gJ1RoaXMgdGV4dCBjb250YWlucyBzZW5zaXRpdmUgaW5mb3JtYXRpb24nO1xuICogY29uc3QgZW5jcnlwdGVkID0gYXdhaXQgZW5jcnlwdFJzYVdpdGhBZXNHY20ocHVibGljS2V5LCB0ZXh0KTtcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuY3J5cHRSc2FXaXRoQWVzR2NtKHB1YmxpY0tleTogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBnY21LZXkgPSBjcnlwdG8ucmFuZG9tQnl0ZXMoMzIpLnRvU3RyaW5nKCdiYXNlNjQnKTtcblxuICBjb25zdCBlbmNyeXB0ZWQgPSBhd2FpdCBfZW5jcnlwdEFlc0djbShnY21LZXksIHRleHQpO1xuICBjb25zdCBlbmNyeXB0ZWRSc2EgPSBhd2FpdCBfZW5jcnlwdFJzYShwdWJsaWNLZXksIEJ1ZmZlci5mcm9tKGdjbUtleSkudG9TdHJpbmcoJ2Jhc2U2NCcpKTtcblxuICByZXR1cm4gYCR7ZW5jcnlwdGVkUnNhfVxcbiR7ZW5jcnlwdGVkfWA7XG59XG5cbi8qKlxuICogUHJvdmlkZWQgYW4gWC41MDkvIE9wZW5TU0wgUEVNIHB1YmxpYyBrZXksIGFuZCBhIHN0cmluZyBvZiB0ZXh0IHRvIGVuY3J5cHQsXG4gKiBUaGlzIGZ1bmN0aW9uIHdpbGxcbiAqIDEuIEdlbmVyYXRlIGEgcmFuZG9tIDI1Ni1iaXQga2V5XG4gKiAyLiBFbmNyeXB0IHRoZSB0ZXh0IHVzaW5nIEFFUy1HQ00gd2l0aCB0aGUgZ2VuZXJhdGVkIGtleVxuICogMy4gRW5jcnlwdCB0aGUgZ2VuZXJhdGVkIGtleSB1c2luZyBSU0EtT0FFUCB3aXRoIHRoZSBwcm92aWRlZCBwdWJsaWMga2V5XG4gKiA0LiBSZXR1cm4gdGhlIGVuY3J5cHRlZCBrZXkgYW5kIHRoZSBlbmNyeXB0ZWQgdGV4dCBpbiB0aGUgZm9ybWF0IGAke2VuY3J5cHRlZEtleX1cXG4ke2VuY3J5cHRlZFRleHR9YFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBwdWJsaWNLZXkgLSBSU0EgUHVibGljIEtleVxuICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0ZXh0IHRvIGVuY3J5cHRcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBlbmNyeXB0ZWQgdGV4dFxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBwdWJsaWNLZXkgPSAnLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS1cXG4uLi4uLlxcbi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLSc7XG4gKiBjb25zdCB0ZXh0ID0gJ1RoaXMgdGV4dCBjb250YWlucyBzZW5zaXRpdmUgaW5mb3JtYXRpb24nO1xuICogY29uc3QgZW5jcnlwdGVkID0gYXdhaXQgZW5jcnlwdEJyb3dzZXJSc2FXaXRoQWVzR2NtKHB1YmxpY0tleSwgdGV4dCk7XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbmNyeXB0QnJvd3NlclJzYVdpdGhBZXNHY20ocHVibGljS2V5OiBzdHJpbmcsIHRleHQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IGdjbUtleSA9IGNyeXB0by5yYW5kb21CeXRlcygzMikudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuXG4gIGNvbnN0IGVuY3J5cHRlZCA9IGF3YWl0IF9lbmNyeXB0QWVzR2NtKGdjbUtleSwgdGV4dCk7XG4gIGNvbnN0IGVuY3J5cHRlZFJzYSA9IGF3YWl0IF9lbmNyeXB0QnJvd3NlclJzYShwdWJsaWNLZXksIEJ1ZmZlci5mcm9tKGdjbUtleSkudG9TdHJpbmcoJ2Jhc2U2NCcpKTtcblxuICByZXR1cm4gYCR7ZW5jcnlwdGVkUnNhfVxcbiR7ZW5jcnlwdGVkfWA7XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/trading/network/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./encrypt"), exports);
|
|
18
|
+
__exportStar(require("./decrypt"), exports);
|
|
19
|
+
__exportStar(require("./network"), exports);
|
|
20
|
+
__exportStar(require("./types"), exports);
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHJhZGluZy9uZXR3b3JrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0Q0FBMEI7QUFDMUIsNENBQTBCO0FBQzFCLDRDQUEwQjtBQUMxQiwwQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VuY3J5cHQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNyeXB0JztcbmV4cG9ydCAqIGZyb20gJy4vbmV0d29yayc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbiJdfQ==
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { BitGoBase } from '../../bitgoBase';
|
|
2
|
+
import { IWallet } from '../../wallet';
|
|
3
|
+
import { CreateNetworkAllocationParams, CreateNetworkAllocationResponse, CreateNetworkConnectionParams, CreateNetworkConnectionResponse, CreateNetworkDeallocationParams, CreateNetworkDeallocationResponse, GetNetworkAllocationByIdParams, GetNetworkAllocationByIdResponse, GetNetworkAllocationsParams, GetNetworkAllocationsResponse, GetNetworkBalancesParams, GetNetworkBalancesResponse, GetNetworkConnectionByIdParams, GetNetworkConnectionByIdResponse, GetNetworkConnectionsParams, GetNetworkConnectionsResponse, GetNetworkPartnersParams, GetNetworkPartnersResponse, GetNetworkSettlementByIdParams, GetNetworkSettlementByIdResponse, GetNetworkSettlementTransfersParams, GetNetworkSettlementTransfersResponse, GetNetworkSettlementsParams, GetNetworkSettlementsResponse, GetNetworkSupportedCurrenciesParams, GetNetworkSupportedCurrenciesResponse, ITradingNetwork, PrepareNetworkAllocationParams, UpdateNetworkConnectionParams, UpdateNetworkConnectionResponse } from './types';
|
|
4
|
+
export declare class TradingNetwork implements ITradingNetwork {
|
|
5
|
+
private readonly bitgo;
|
|
6
|
+
private readonly enterpriseId;
|
|
7
|
+
wallet: IWallet;
|
|
8
|
+
constructor(enterpriseId: string, wallet: IWallet, bitgo: BitGoBase);
|
|
9
|
+
getBalances(params?: GetNetworkBalancesParams): Promise<GetNetworkBalancesResponse>;
|
|
10
|
+
getPartners(params?: GetNetworkPartnersParams): Promise<GetNetworkPartnersResponse>;
|
|
11
|
+
getSupportedCurrencies(params: GetNetworkSupportedCurrenciesParams): Promise<GetNetworkSupportedCurrenciesResponse>;
|
|
12
|
+
getConnections(params?: GetNetworkConnectionsParams): Promise<GetNetworkConnectionsResponse>;
|
|
13
|
+
getConnectionById({ connectionId, ...params }: GetNetworkConnectionByIdParams): Promise<GetNetworkConnectionByIdResponse>;
|
|
14
|
+
createConnection(params: CreateNetworkConnectionParams): Promise<CreateNetworkConnectionResponse>;
|
|
15
|
+
updateConnection({ connectionId, ...params }: UpdateNetworkConnectionParams): Promise<UpdateNetworkConnectionResponse>;
|
|
16
|
+
getAllocations(params?: GetNetworkAllocationsParams): Promise<GetNetworkAllocationsResponse>;
|
|
17
|
+
getAllocationById({ allocationId, ...params }: GetNetworkAllocationByIdParams): Promise<GetNetworkAllocationByIdResponse>;
|
|
18
|
+
/**
|
|
19
|
+
* Prepare an allocation for submission
|
|
20
|
+
* @param {string} walletPassphrase ofc wallet passphrase - required only when signing via user key
|
|
21
|
+
* @param {string} connectionId connection to whom to make the allocation or deallocation
|
|
22
|
+
* @param {string=} clientExternalId one time generated uuid v4
|
|
23
|
+
* @param {string} currency currency for which the allocation should be made. e.g. btc / tbtc
|
|
24
|
+
* @param {string} quantity base amount. e.g. 10000000 (1 BTC)
|
|
25
|
+
* @param {string} notes Private note that you can view and edit
|
|
26
|
+
* @param {string=} nonce one time generated string .e.g. crypto.randomBytes(32).toString('hex')
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
prepareAllocation({ walletPassphrase, ...body }: PrepareNetworkAllocationParams): Promise<CreateNetworkAllocationParams>;
|
|
30
|
+
createAllocation({ connectionId, ...params }: CreateNetworkAllocationParams): Promise<CreateNetworkAllocationResponse>;
|
|
31
|
+
createDeallocation({ connectionId, ...params }: CreateNetworkDeallocationParams): Promise<CreateNetworkDeallocationResponse>;
|
|
32
|
+
getSettlements(params?: GetNetworkSettlementsParams): Promise<GetNetworkSettlementsResponse>;
|
|
33
|
+
getSettlementById({ settlementId, ...params }: GetNetworkSettlementByIdParams): Promise<GetNetworkSettlementByIdResponse>;
|
|
34
|
+
getSettlementTransfers(params?: GetNetworkSettlementTransfersParams): Promise<GetNetworkSettlementTransfersResponse>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=network.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/trading/network/network.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,6BAA6B,EAC7B,+BAA+B,EAC/B,+BAA+B,EAC/B,iCAAiC,EACjC,8BAA8B,EAC9B,gCAAgC,EAChC,2BAA2B,EAC3B,6BAA6B,EAC7B,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,gCAAgC,EAChC,2BAA2B,EAC3B,6BAA6B,EAC7B,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,gCAAgC,EAChC,mCAAmC,EACnC,qCAAqC,EACrC,2BAA2B,EAC3B,6BAA6B,EAC7B,mCAAmC,EACnC,qCAAqC,EACrC,eAAe,EACf,8BAA8B,EAC9B,6BAA6B,EAC7B,+BAA+B,EAChC,MAAM,SAAS,CAAC;AAEjB,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAE/B,MAAM,EAAE,OAAO,CAAC;gBAEX,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS;IAMnE,WAAW,CAAC,MAAM,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAKnF,WAAW,CAAC,MAAM,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAKnF,sBAAsB,CAAC,MAAM,EAAE,mCAAmC,GAAG,OAAO,CAAC,qCAAqC,CAAC;IAKnH,cAAc,CAAC,MAAM,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAK5F,iBAAiB,CAAC,EAChB,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,8BAA8B,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAO7E,gBAAgB,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAKjG,gBAAgB,CAAC,EACf,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,6BAA6B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAO3E,cAAc,CAAC,MAAM,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAK5F,iBAAiB,CAAC,EAChB,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,8BAA8B,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAO7E;;;;;;;;;;OAUG;IACG,iBAAiB,CAAC,EACtB,gBAAgB,EAChB,GAAG,IAAI,EACR,EAAE,8BAA8B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAkB1E,gBAAgB,CAAC,EACf,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,6BAA6B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAO3E,kBAAkB,CAAC,EACjB,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,+BAA+B,GAAG,OAAO,CAAC,iCAAiC,CAAC;IAO/E,cAAc,CAAC,MAAM,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAK5F,iBAAiB,CAAC,EAChB,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,8BAA8B,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAO7E,sBAAsB,CAAC,MAAM,CAAC,EAAE,mCAAmC,GAAG,OAAO,CAAC,qCAAqC,CAAC;CAMrH"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TradingNetwork = void 0;
|
|
7
|
+
const uuid_1 = require("uuid");
|
|
8
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
9
|
+
class TradingNetwork {
|
|
10
|
+
constructor(enterpriseId, wallet, bitgo) {
|
|
11
|
+
this.enterpriseId = enterpriseId;
|
|
12
|
+
this.wallet = wallet;
|
|
13
|
+
this.bitgo = bitgo;
|
|
14
|
+
}
|
|
15
|
+
getBalances(params) {
|
|
16
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/balances`);
|
|
17
|
+
return this.bitgo.get(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
18
|
+
}
|
|
19
|
+
getPartners(params) {
|
|
20
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/partners`);
|
|
21
|
+
return this.bitgo.get(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
22
|
+
}
|
|
23
|
+
getSupportedCurrencies(params) {
|
|
24
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/supportedCurrencies`);
|
|
25
|
+
return this.bitgo.get(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
26
|
+
}
|
|
27
|
+
getConnections(params) {
|
|
28
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/connections`);
|
|
29
|
+
return this.bitgo.get(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
30
|
+
}
|
|
31
|
+
getConnectionById({ connectionId, ...params }) {
|
|
32
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/connections/${connectionId}`);
|
|
33
|
+
return this.bitgo.get(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
34
|
+
}
|
|
35
|
+
createConnection(params) {
|
|
36
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/connections`);
|
|
37
|
+
return this.bitgo.post(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
38
|
+
}
|
|
39
|
+
updateConnection({ connectionId, ...params }) {
|
|
40
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/connections/${connectionId}`);
|
|
41
|
+
return this.bitgo.put(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
42
|
+
}
|
|
43
|
+
getAllocations(params) {
|
|
44
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/allocations`);
|
|
45
|
+
return this.bitgo.get(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
46
|
+
}
|
|
47
|
+
getAllocationById({ allocationId, ...params }) {
|
|
48
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/allocations/${allocationId}`);
|
|
49
|
+
return this.bitgo.get(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Prepare an allocation for submission
|
|
53
|
+
* @param {string} walletPassphrase ofc wallet passphrase - required only when signing via user key
|
|
54
|
+
* @param {string} connectionId connection to whom to make the allocation or deallocation
|
|
55
|
+
* @param {string=} clientExternalId one time generated uuid v4
|
|
56
|
+
* @param {string} currency currency for which the allocation should be made. e.g. btc / tbtc
|
|
57
|
+
* @param {string} quantity base amount. e.g. 10000000 (1 BTC)
|
|
58
|
+
* @param {string} notes Private note that you can view and edit
|
|
59
|
+
* @param {string=} nonce one time generated string .e.g. crypto.randomBytes(32).toString('hex')
|
|
60
|
+
* @returns
|
|
61
|
+
*/
|
|
62
|
+
async prepareAllocation({ walletPassphrase, ...body }) {
|
|
63
|
+
if (!body.clientExternalId) {
|
|
64
|
+
body.clientExternalId = (0, uuid_1.v4)();
|
|
65
|
+
}
|
|
66
|
+
if (!body.nonce) {
|
|
67
|
+
body.nonce = crypto_1.default.randomBytes(32).toString('hex');
|
|
68
|
+
}
|
|
69
|
+
const payload = JSON.stringify(body);
|
|
70
|
+
const signature = await this.wallet.toTradingAccount().signPayload({ payload, walletPassphrase });
|
|
71
|
+
return {
|
|
72
|
+
...body,
|
|
73
|
+
payload,
|
|
74
|
+
signature,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
createAllocation({ connectionId, ...params }) {
|
|
78
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/connections/${connectionId}/allocations`);
|
|
79
|
+
return this.bitgo.post(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
80
|
+
}
|
|
81
|
+
createDeallocation({ connectionId, ...params }) {
|
|
82
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/connections/${connectionId}/deallocations`);
|
|
83
|
+
return this.bitgo.post(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
84
|
+
}
|
|
85
|
+
getSettlements(params) {
|
|
86
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/settlements`);
|
|
87
|
+
return this.bitgo.get(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
88
|
+
}
|
|
89
|
+
getSettlementById({ settlementId, ...params }) {
|
|
90
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/settlements/${settlementId}`);
|
|
91
|
+
return this.bitgo.get(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
92
|
+
}
|
|
93
|
+
getSettlementTransfers(params) {
|
|
94
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/settlementTransfers`);
|
|
95
|
+
return this.bitgo.get(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.TradingNetwork = TradingNetwork;
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby90cmFkaW5nL25ldHdvcmsvbmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwrQkFBb0M7QUFDcEMsb0RBQTRCO0FBb0M1QixNQUFhLGNBQWM7SUFNekIsWUFBWSxZQUFvQixFQUFFLE1BQWUsRUFBRSxLQUFnQjtRQUNqRSxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWlDO1FBQzNDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsK0JBQStCLElBQUksQ0FBQyxZQUFZLG1CQUFtQixDQUFDLENBQUM7UUFDN0csT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFpQztRQUMzQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLCtCQUErQixJQUFJLENBQUMsWUFBWSxXQUFXLENBQUMsQ0FBQztRQUNyRyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzRixDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBMkM7UUFDaEUs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SUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzRixDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBNEM7UUFDakUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDckMsK0JBQStCLElBQUksQ0FBQyxZQUFZLDhCQUE4QixDQUMvRSxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0YsQ0FBQztDQUNGO0FBakpELHdDQWlKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHY0IGFzIHV1aWRWNCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IElXYWxsZXQgfSBmcm9tICcuLi8uLi93YWxsZXQnO1xuaW1wb3J0IHtcbiAgQ3JlYXRlTmV0d29ya0FsbG9jYXRpb25QYXJhbXMsXG4gIENyZWF0ZU5ldHdvcmtBbGxvY2F0aW9uUmVzcG9uc2UsXG4gIENyZWF0ZU5ldHdvcmtDb25uZWN0aW9uUGFyYW1zLFxuICBDcmVhdGVOZXR3b3JrQ29ubmVjdGlvblJlc3BvbnNlLFxuICBDcmVhdGVOZXR3b3JrRGVhbGxvY2F0aW9uUGFyYW1zLFxuICBDcmVhdGVOZXR3b3JrRGVhbGxvY2F0aW9uUmVzcG9uc2UsXG4gIEdldE5ldHdvcmtBbGxvY2F0aW9uQnlJZFBhcmFtcyxcbiAgR2V0TmV0d29ya0FsbG9jYXRpb25CeUlkUmVzcG9uc2UsXG4gIEdldE5ldHdvcmtBbGxvY2F0aW9uc1BhcmFtcyxcbiAgR2V0TmV0d29ya0FsbG9jYXRpb25zUmVzcG9uc2UsXG4gIEdldE5ldHdvcmtCYWxhbmNlc1BhcmFtcyxcbiAgR2V0TmV0d29ya0JhbGFuY2VzUmVzcG9uc2UsXG4gIEdldE5ldHdvcmtDb25uZWN0aW9uQnlJZFBhcmFtcyxcbiAgR2V0TmV0d29ya0Nvbm5lY3Rpb25CeUlkUmVzcG9uc2UsXG4gIEdldE5ldHdvcmtDb25uZWN0aW9uc1BhcmFtcyxcbiAgR2V0TmV0d29ya0Nvbm5lY3Rpb25zUmVzcG9uc2UsXG4gIEdldE5ldHdvcmtQYXJ0bmVyc1BhcmFtcyxcbiAgR2V0TmV0d29ya1BhcnRuZXJzUmVzcG9uc2UsXG4gIEdldE5ldHdvcmtTZXR0bGVtZW50QnlJZFBhcmFtcyxcbiAgR2V0TmV0d29ya1NldHRsZW1lbnRCeUlkUmVzcG9uc2UsXG4gIEdldE5ldHdvcmtTZXR0bGVtZW50VHJhbnNmZXJzUGFyYW1zLFxuICBHZXROZXR3b3JrU2V0dGxlbWVudFRyYW5zZmVyc1Jlc3BvbnNlLFxuICBHZXROZXR3b3JrU2V0dGxlbWVudHNQYXJhbXMsXG4gIEdldE5ldHdvcmtTZXR0bGVtZW50c1Jlc3BvbnNlLFxuICBHZXROZXR3b3JrU3VwcG9ydGVkQ3VycmVuY2llc1BhcmFtcyxcbiAgR2V0TmV0d29ya1N1cHBvcnRlZEN1cnJlbmNpZXNSZXNwb25zZSxcbiAgSVRyYWRpbmdOZXR3b3JrLFxuICBQcmVwYXJlTmV0d29ya0FsbG9jYXRpb25QYXJhbXMsXG4gIFVwZGF0ZU5ldHdvcmtDb25uZWN0aW9uUGFyYW1zLFxuICBVcGRhdGVOZXR3b3JrQ29ubmVjdGlvblJlc3BvbnNlLFxufSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNsYXNzIFRyYWRpbmdOZXR3b3JrIGltcGxlbWVudHMgSVRyYWRpbmdOZXR3b3JrIHtcbiAgcHJpdmF0ZSByZWFkb25seSBiaXRnbzogQml0R29CYXNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGVudGVycHJpc2VJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyB3YWxsZXQ6IElXYWxsZXQ7XG5cbiAgY29uc3RydWN0b3IoZW50ZXJwcmlzZUlkOiBzdHJpbmcsIHdhbGxldDogSVdhbGxldCwgYml0Z286IEJpdEdvQmFzZSkge1xuICAgIHRoaXMuZW50ZXJwcmlzZUlkID0gZW50ZXJwcmlzZUlkO1xuICAgIHRoaXMud2FsbGV0ID0gd2FsbGV0O1xuICAgIHRoaXMuYml0Z28gPSBiaXRnbztcbiAgfVxuXG4gIGdldEJhbGFuY2VzKHBhcmFtcz86IEdldE5ldHdvcmtCYWxhbmNlc1BhcmFtcyk6IFByb21pc2U8R2V0TmV0d29ya0JhbGFuY2VzUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2JhbGFuY2VzYCk7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28uZ2V0KHVybCkuc2V0KCdlbnRlcnByaXNlLWlkJywgdGhpcy5lbnRlcnByaXNlSWQpLnNlbmQocGFyYW1zKS5yZXN1bHQoKTtcbiAgfVxuXG4gIGdldFBhcnRuZXJzKHBhcmFtcz86IEdldE5ldHdvcmtQYXJ0bmVyc1BhcmFtcyk6IFByb21pc2U8R2V0TmV0d29ya1BhcnRuZXJzUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9wYXJ0bmVyc2ApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRTdXBwb3J0ZWRDdXJyZW5jaWVzKHBhcmFtczogR2V0TmV0d29ya1N1cHBvcnRlZEN1cnJlbmNpZXNQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtTdXBwb3J0ZWRDdXJyZW5jaWVzUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9zdXBwb3J0ZWRDdXJyZW5jaWVzYCk7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28uZ2V0KHVybCkuc2V0KCdlbnRlcnByaXNlLWlkJywgdGhpcy5lbnRlcnByaXNlSWQpLnNlbmQocGFyYW1zKS5yZXN1bHQoKTtcbiAgfVxuXG4gIGdldENvbm5lY3Rpb25zKHBhcmFtcz86IEdldE5ldHdvcmtDb25uZWN0aW9uc1BhcmFtcyk6IFByb21pc2U8R2V0TmV0d29ya0Nvbm5lY3Rpb25zUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2Nvbm5lY3Rpb25zYCk7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28uZ2V0KHVybCkuc2V0KCdlbnRlcnByaXNlLWlkJywgdGhpcy5lbnRlcnByaXNlSWQpLnNlbmQocGFyYW1zKS5yZXN1bHQoKTtcbiAgfVxuXG4gIGdldENvbm5lY3Rpb25CeUlkKHtcbiAgICBjb25uZWN0aW9uSWQsXG4gICAgLi4ucGFyYW1zXG4gIH06IEdldE5ldHdvcmtDb25uZWN0aW9uQnlJZFBhcmFtcyk6IFByb21pc2U8R2V0TmV0d29ya0Nvbm5lY3Rpb25CeUlkUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoXG4gICAgICBgL2FwaS9uZXR3b3JrL3YxL2VudGVycHJpc2VzLyR7dGhpcy5lbnRlcnByaXNlSWR9L2NsaWVudHMvY29ubmVjdGlvbnMvJHtjb25uZWN0aW9uSWR9YFxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28uZ2V0KHVybCkuc2V0KCdlbnRlcnByaXNlLWlkJywgdGhpcy5lbnRlcnByaXNlSWQpLnNlbmQocGFyYW1zKS5yZXN1bHQoKTtcbiAgfVxuXG4gIGNyZWF0ZUNvbm5lY3Rpb24ocGFyYW1zOiBDcmVhdGVOZXR3b3JrQ29ubmVjdGlvblBhcmFtcyk6IFByb21pc2U8Q3JlYXRlTmV0d29ya0Nvbm5lY3Rpb25SZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChgL2FwaS9uZXR3b3JrL3YxL2VudGVycHJpc2VzLyR7dGhpcy5lbnRlcnByaXNlSWR9L2NsaWVudHMvY29ubmVjdGlvbnNgKTtcbiAgICByZXR1cm4gdGhpcy5iaXRnby5wb3N0KHVybCkuc2V0KCdlbnRlcnByaXNlLWlkJywgdGhpcy5lbnRlcnByaXNlSWQpLnNlbmQocGFyYW1zKS5yZXN1bHQoKTtcbiAgfVxuXG4gIHVwZGF0ZUNvbm5lY3Rpb24oe1xuICAgIGNvbm5lY3Rpb25JZCxcbiAgICAuLi5wYXJhbXNcbiAgfTogVXBkYXRlTmV0d29ya0Nvbm5lY3Rpb25QYXJhbXMpOiBQcm9taXNlPFVwZGF0ZU5ldHdvcmtDb25uZWN0aW9uUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoXG4gICAgICBgL2FwaS9uZXR3b3JrL3YxL2VudGVycHJpc2VzLyR7dGhpcy5lbnRlcnByaXNlSWR9L2NsaWVudHMvY29ubmVjdGlvbnMvJHtjb25uZWN0aW9uSWR9YFxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28ucHV0KHVybCkuc2V0KCdlbnRlcnByaXNlLWlkJywgdGhpcy5lbnRlcnByaXNlSWQpLnNlbmQocGFyYW1zKS5yZXN1bHQoKTtcbiAgfVxuXG4gIGdldEFsbG9jYXRpb25zKHBhcmFtcz86IEdldE5ldHdvcmtBbGxvY2F0aW9uc1BhcmFtcyk6IFByb21pc2U8R2V0TmV0d29ya0FsbG9jYXRpb25zUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2FsbG9jYXRpb25zYCk7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28uZ2V0KHVybCkuc2V0KCdlbnRlcnByaXNlLWlkJywgdGhpcy5lbnRlcnByaXNlSWQpLnNlbmQocGFyYW1zKS5yZXN1bHQoKTtcbiAgfVxuXG4gIGdldEFsbG9jYXRpb25CeUlkKHtcbiAgICBhbGxvY2F0aW9uSWQsXG4gICAgLi4ucGFyYW1zXG4gIH06IEdldE5ldHdvcmtBbGxvY2F0aW9uQnlJZFBhcmFtcyk6IFByb21pc2U8R2V0TmV0d29ya0FsbG9jYXRpb25CeUlkUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoXG4gICAgICBgL2FwaS9uZXR3b3JrL3YxL2VudGVycHJpc2VzLyR7dGhpcy5lbnRlcnByaXNlSWR9L2NsaWVudHMvYWxsb2NhdGlvbnMvJHthbGxvY2F0aW9uSWR9YFxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28uZ2V0KHVybCkuc2V0KCdlbnRlcnByaXNlLWlkJywgdGhpcy5lbnRlcnByaXNlSWQpLnNlbmQocGFyYW1zKS5yZXN1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmVwYXJlIGFuIGFsbG9jYXRpb24gZm9yIHN1Ym1pc3Npb25cbiAgICogQHBhcmFtIHtzdHJpbmd9IHdhbGxldFBhc3NwaHJhc2Ugb2ZjIHdhbGxldCBwYXNzcGhyYXNlIC0gcmVxdWlyZWQgb25seSB3aGVuIHNpZ25pbmcgdmlhIHVzZXIga2V5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb25uZWN0aW9uSWQgY29ubmVjdGlvbiB0byB3aG9tIHRvIG1ha2UgdGhlIGFsbG9jYXRpb24gb3IgZGVhbGxvY2F0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nPX0gY2xpZW50RXh0ZXJuYWxJZCBvbmUgdGltZSBnZW5lcmF0ZWQgdXVpZCB2NFxuICAgKiBAcGFyYW0ge3N0cmluZ30gY3VycmVuY3kgY3VycmVuY3kgZm9yIHdoaWNoIHRoZSBhbGxvY2F0aW9uIHNob3VsZCBiZSBtYWRlLiBlLmcuIGJ0YyAvIHRidGNcbiAgICogQHBhcmFtIHtzdHJpbmd9IHF1YW50aXR5IGJhc2UgYW1vdW50LiBlLmcuIDEwMDAwMDAwICgxIEJUQylcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5vdGVzIFByaXZhdGUgbm90ZSB0aGF0IHlvdSBjYW4gdmlldyBhbmQgZWRpdFxuICAgKiBAcGFyYW0ge3N0cmluZz19IG5vbmNlIG9uZSB0aW1lIGdlbmVyYXRlZCBzdHJpbmcgLmUuZy4gY3J5cHRvLnJhbmRvbUJ5dGVzKDMyKS50b1N0cmluZygnaGV4JylcbiAgICogQHJldHVybnNcbiAgICovXG4gIGFzeW5jIHByZXBhcmVBbGxvY2F0aW9uKHtcbiAgICB3YWxsZXRQYXNzcGhyYXNlLFxuICAgIC4uLmJvZHlcbiAgfTogUHJlcGFyZU5ldHdvcmtBbGxvY2F0aW9uUGFyYW1zKTogUHJvbWlzZTxDcmVhdGVOZXR3b3JrQWxsb2NhdGlvblBhcmFtcz4ge1xuICAgIGlmICghYm9keS5jbGllbnRFeHRlcm5hbElkKSB7XG4gICAgICBib2R5LmNsaWVudEV4dGVybmFsSWQgPSB1dWlkVjQoKTtcbiAgICB9XG4gICAgaWYgKCFib2R5Lm5vbmNlKSB7XG4gICAgICBib2R5Lm5vbmNlID0gY3J5cHRvLnJhbmRvbUJ5dGVzKDMyKS50b1N0cmluZygnaGV4Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgcGF5bG9hZCA9IEpTT04uc3RyaW5naWZ5KGJvZHkpO1xuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGF3YWl0IHRoaXMud2FsbGV0LnRvVHJhZGluZ0FjY291bnQoKS5zaWduUGF5bG9hZCh7IHBheWxvYWQsIHdhbGxldFBhc3NwaHJhc2UgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYm9keSxcbiAgICAgIHBheWxvYWQsXG4gICAgICBzaWduYXR1cmUsXG4gICAgfTtcbiAgfVxuXG4gIGNyZWF0ZUFsbG9jYXRpb24oe1xuICAgIGNvbm5lY3Rpb25JZCxcbiAgICAuLi5wYXJhbXNcbiAgfTogQ3JlYXRlTmV0d29ya0FsbG9jYXRpb25QYXJhbXMpOiBQcm9taXNlPENyZWF0ZU5ldHdvcmtBbGxvY2F0aW9uUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoXG4gICAgICBgL2FwaS9uZXR3b3JrL3YxL2VudGVycHJpc2VzLyR7dGhpcy5lbnRlcnByaXNlSWR9L2NsaWVudHMvY29ubmVjdGlvbnMvJHtjb25uZWN0aW9uSWR9L2FsbG9jYXRpb25zYFxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28ucG9zdCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBjcmVhdGVEZWFsbG9jYXRpb24oe1xuICAgIGNvbm5lY3Rpb25JZCxcbiAgICAuLi5wYXJhbXNcbiAgfTogQ3JlYXRlTmV0d29ya0RlYWxsb2NhdGlvblBhcmFtcyk6IFByb21pc2U8Q3JlYXRlTmV0d29ya0RlYWxsb2NhdGlvblJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKFxuICAgICAgYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2Nvbm5lY3Rpb25zLyR7Y29ubmVjdGlvbklkfS9kZWFsbG9jYXRpb25zYFxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28ucG9zdCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRTZXR0bGVtZW50cyhwYXJhbXM/OiBHZXROZXR3b3JrU2V0dGxlbWVudHNQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtTZXR0bGVtZW50c1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9zZXR0bGVtZW50c2ApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRTZXR0bGVtZW50QnlJZCh7XG4gICAgc2V0dGxlbWVudElkLFxuICAgIC4uLnBhcmFtc1xuICB9OiBHZXROZXR3b3JrU2V0dGxlbWVudEJ5SWRQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtTZXR0bGVtZW50QnlJZFJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKFxuICAgICAgYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL3NldHRsZW1lbnRzLyR7c2V0dGxlbWVudElkfWBcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRTZXR0bGVtZW50VHJhbnNmZXJzKHBhcmFtcz86IEdldE5ldHdvcmtTZXR0bGVtZW50VHJhbnNmZXJzUGFyYW1zKTogUHJvbWlzZTxHZXROZXR3b3JrU2V0dGxlbWVudFRyYW5zZmVyc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKFxuICAgICAgYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL3NldHRsZW1lbnRUcmFuc2ZlcnNgXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5iaXRnby5nZXQodXJsKS5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLmVudGVycHJpc2VJZCkuc2VuZChwYXJhbXMpLnJlc3VsdCgpO1xuICB9XG59XG4iXX0=
|