@bitgo-beta/sdk-core 8.2.1-beta.96 → 8.2.1-beta.960
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/CHANGELOG.md +2801 -0
- 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 +17 -3
- package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/enum.js +32 -7
- package/dist/src/account-lib/baseCoin/errors.js +1 -1
- package/dist/src/account-lib/baseCoin/iface.d.ts +11 -35
- package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/iface.js +4 -18
- package/dist/src/account-lib/baseCoin/index.d.ts +0 -1
- package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/index.js +7 -5
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +1 -2
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +38 -26
- package/dist/src/account-lib/index.js +23 -9
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts +4 -18
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/curves/ed25519.js +6 -60
- package/dist/src/account-lib/mpc/index.d.ts +4 -4
- package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/index.js +11 -7
- package/dist/src/account-lib/mpc/shamir.d.ts +5 -37
- package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/shamir.js +6 -130
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +38 -9
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +497 -349
- package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +73 -52
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +1 -2
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +66 -69
- package/dist/src/account-lib/mpc/tss/eddsa/index.js +23 -9
- package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +1 -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 +19 -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 +8 -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 +139 -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 +90 -10
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.js +142 -16
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +111 -19
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +7 -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 +6 -2
- 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 +94 -20
- package/dist/src/bitgo/config.d.ts.map +1 -1
- package/dist/src/bitgo/config.js +26 -15
- package/dist/src/bitgo/ecdh.d.ts +0 -1
- package/dist/src/bitgo/ecdh.d.ts.map +1 -1
- package/dist/src/bitgo/ecdh.js +26 -13
- package/dist/src/bitgo/enterprise/enterprise.d.ts +16 -14
- package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/enterprise.js +64 -31
- package/dist/src/bitgo/enterprise/enterprises.d.ts +6 -0
- package/dist/src/bitgo/enterprise/enterprises.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/enterprises.js +48 -9
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts +6 -7
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
- package/dist/src/bitgo/enterprise/iEnterprises.d.ts +2 -0
- package/dist/src/bitgo/enterprise/iEnterprises.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/iEnterprises.js +1 -1
- package/dist/src/bitgo/enterprise/index.js +6 -2
- package/dist/src/bitgo/environments.d.ts +60 -5
- package/dist/src/bitgo/environments.d.ts.map +1 -1
- package/dist/src/bitgo/environments.js +96 -32
- package/dist/src/bitgo/errors.d.ts +6 -0
- package/dist/src/bitgo/errors.d.ts.map +1 -1
- package/dist/src/bitgo/errors.js +14 -2
- package/dist/src/bitgo/index.d.ts +1 -1
- package/dist/src/bitgo/index.d.ts.map +1 -1
- package/dist/src/bitgo/index.js +26 -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.js +6 -7
- package/dist/src/bitgo/keychain/decryptKeychain.d.ts +13 -0
- package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
- package/dist/src/bitgo/keychain/decryptKeychain.js +35 -0
- package/dist/src/bitgo/keychain/iKeychains.d.ts +63 -7
- 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 +13 -3
- package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/keychains.js +128 -37
- 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 +221 -107
- package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
- package/dist/src/bitgo/recovery/index.js +6 -2
- package/dist/src/bitgo/recovery/initiate.d.ts +8 -2
- package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
- package/dist/src/bitgo/recovery/initiate.js +7 -8
- package/dist/src/bitgo/staking/goStakingWallet.d.ts +36 -0
- package/dist/src/bitgo/staking/goStakingWallet.d.ts.map +1 -0
- package/dist/src/bitgo/staking/goStakingWallet.js +92 -0
- package/dist/src/bitgo/staking/iGoStakingWallet.d.ts +44 -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 +120 -4
- 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 +2 -0
- package/dist/src/bitgo/staking/index.d.ts.map +1 -1
- package/dist/src/bitgo/staking/index.js +8 -2
- package/dist/src/bitgo/staking/stakingWallet.d.ts +13 -2
- package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/stakingWallet.js +45 -4
- package/dist/src/bitgo/trading/iTradingAccount.d.ts +2 -32
- package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
- package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
- package/dist/src/bitgo/trading/index.d.ts +1 -15
- package/dist/src/bitgo/trading/index.d.ts.map +1 -1
- package/dist/src/bitgo/trading/index.js +7 -17
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
- package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
- package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt.js +23 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
- package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
- package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt.js +58 -0
- package/dist/src/bitgo/trading/network/index.d.ts +5 -0
- package/dist/src/bitgo/trading/network/index.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/index.js +21 -0
- package/dist/src/bitgo/trading/network/network.d.ts +36 -0
- package/dist/src/bitgo/trading/network/network.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/network.js +101 -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 +11 -35
- package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
- package/dist/src/bitgo/trading/tradingAccount.js +9 -96
- package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +27 -0
- package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
- package/dist/src/bitgo/tss/bitgoPubKeys.js +61 -0
- package/dist/src/bitgo/tss/common.d.ts +37 -5
- package/dist/src/bitgo/tss/common.d.ts.map +1 -1
- package/dist/src/bitgo/tss/common.js +103 -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 +162 -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 +11 -8
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/eddsa/eddsa.js +38 -41
- 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 +11 -0
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +66 -10
- package/dist/src/bitgo/utils/codecProps.d.ts +7 -0
- package/dist/src/bitgo/utils/codecProps.d.ts.map +1 -0
- package/dist/src/bitgo/utils/codecProps.js +54 -0
- package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
- package/dist/src/bitgo/utils/decode.js +30 -16
- package/dist/src/bitgo/utils/index.d.ts +2 -2
- package/dist/src/bitgo/utils/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/index.js +25 -11
- package/dist/src/bitgo/utils/mpcUtils.d.ts +2 -3
- package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/mpcUtils.js +34 -12
- 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 -9
- package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/opengpgUtils.js +74 -73
- package/dist/src/bitgo/utils/postWithCodec.d.ts +18 -0
- package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -0
- package/dist/src/bitgo/utils/postWithCodec.js +25 -0
- package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
- package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/promise-utils.js +2 -3
- package/dist/src/bitgo/utils/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/baseTSSUtils.d.ts +39 -14
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +145 -45
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +202 -34
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +22 -20
- 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 +20 -52
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +145 -280
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +199 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +950 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +8 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +13 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +4 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/index.js +10 -2
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +15 -9
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +107 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +5 -3
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +75 -58
- package/dist/src/bitgo/utils/tss/eddsa/index.js +23 -9
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +7 -7
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/index.js +23 -9
- 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 +47 -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 +119 -0
- package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/BuildParams.js +140 -0
- package/dist/src/bitgo/wallet/iWallet.d.ts +203 -19
- 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 +91 -16
- package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallets.js +43 -3
- package/dist/src/bitgo/wallet/index.js +6 -2
- package/dist/src/bitgo/wallet/wallet.d.ts +192 -25
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +945 -357
- package/dist/src/bitgo/wallet/wallets.d.ts +96 -9
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallets.js +816 -193
- package/dist/src/bitgo/webhook/index.js +6 -2
- package/dist/src/bitgo/webhook/webhooks.js +23 -9
- package/dist/src/coins/fiataed.d.ts +32 -0
- package/dist/src/coins/fiataed.d.ts.map +1 -0
- package/dist/src/coins/fiataed.js +61 -0
- package/dist/src/coins/fiateur.d.ts +3 -2
- package/dist/src/coins/fiateur.d.ts.map +1 -1
- package/dist/src/coins/fiateur.js +5 -1
- package/dist/src/coins/fiatgbp.d.ts +3 -2
- package/dist/src/coins/fiatgbp.d.ts.map +1 -1
- package/dist/src/coins/fiatgbp.js +5 -1
- package/dist/src/coins/fiatsgd.d.ts +32 -0
- package/dist/src/coins/fiatsgd.d.ts.map +1 -0
- package/dist/src/coins/fiatsgd.js +61 -0
- package/dist/src/coins/fiatusd.d.ts +3 -2
- package/dist/src/coins/fiatusd.d.ts.map +1 -1
- package/dist/src/coins/fiatusd.js +5 -1
- package/dist/src/coins/index.d.ts +4 -0
- package/dist/src/coins/index.d.ts.map +1 -1
- package/dist/src/coins/index.js +10 -2
- package/dist/src/coins/ofc.d.ts +3 -2
- package/dist/src/coins/ofc.d.ts.map +1 -1
- package/dist/src/coins/ofc.js +6 -2
- package/dist/src/coins/ofcToken.js +2 -2
- 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/coins/tfiataed.d.ts +11 -0
- package/dist/src/coins/tfiataed.d.ts.map +1 -0
- package/dist/src/coins/tfiataed.js +17 -0
- package/dist/src/coins/tfiatsgd.d.ts +11 -0
- package/dist/src/coins/tfiatsgd.d.ts.map +1 -0
- package/dist/src/coins/tfiatsgd.js +17 -0
- package/dist/src/common.js +27 -13
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +26 -11
- package/dist/src/units.js +5 -6
- package/dist/test/node.utils.d.ts +2 -0
- package/dist/test/node.utils.d.ts.map +1 -0
- package/dist/test/node.utils.js +5 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +233 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts +3 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts.map +1 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.js +24 -0
- package/dist/test/unit/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/utils/abstractUtxoCoinUtil.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -0
- package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.js +73 -0
- package/dist/test/unit/bitgo/utils/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 +105 -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 +68 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +58 -0
- package/dist/test/unit/units.d.ts +2 -0
- package/dist/test/unit/units.d.ts.map +1 -0
- package/dist/test/unit/units.js +98 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +25 -22
- package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
- package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
- package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
- package/dist/src/account-lib/mpc/hdTree.d.ts +0 -31
- package/dist/src/account-lib/mpc/hdTree.d.ts.map +0 -1
- package/dist/src/account-lib/mpc/hdTree.js +0 -141
- package/dist/src/account-lib/mpc/types.d.ts +0 -5
- package/dist/src/account-lib/mpc/types.d.ts.map +0 -1
- package/dist/src/account-lib/mpc/types.js +0 -3
- package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
- package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/iLightning.js +0 -106
- package/dist/src/bitgo/lightning/index.d.ts +0 -5
- package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/index.js +0 -17
- package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
- package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/lightning.js +0 -111
- package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
- package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
- package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
- package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
- package/dist/src/bitgo/trading/affirmation.d.ts +0 -35
- package/dist/src/bitgo/trading/affirmation.d.ts.map +0 -1
- package/dist/src/bitgo/trading/affirmation.js +0 -53
- package/dist/src/bitgo/trading/affirmations.d.ts +0 -23
- package/dist/src/bitgo/trading/affirmations.d.ts.map +0 -1
- package/dist/src/bitgo/trading/affirmations.js +0 -45
- package/dist/src/bitgo/trading/iAffirmation.d.ts +0 -15
- package/dist/src/bitgo/trading/iAffirmation.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iAffirmation.js +0 -13
- package/dist/src/bitgo/trading/iAffirmations.d.ts +0 -10
- package/dist/src/bitgo/trading/iAffirmations.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iAffirmations.js +0 -3
- package/dist/src/bitgo/trading/iSettlement.d.ts +0 -25
- package/dist/src/bitgo/trading/iSettlement.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iSettlement.js +0 -17
- package/dist/src/bitgo/trading/iSettlements.d.ts +0 -19
- package/dist/src/bitgo/trading/iSettlements.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iSettlements.js +0 -3
- package/dist/src/bitgo/trading/iTradingPartner.d.ts +0 -14
- package/dist/src/bitgo/trading/iTradingPartner.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iTradingPartner.js +0 -17
- package/dist/src/bitgo/trading/iTradingPartners.d.ts +0 -15
- package/dist/src/bitgo/trading/iTradingPartners.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iTradingPartners.js +0 -9
- package/dist/src/bitgo/trading/lock.d.ts +0 -16
- package/dist/src/bitgo/trading/lock.d.ts.map +0 -1
- package/dist/src/bitgo/trading/lock.js +0 -12
- package/dist/src/bitgo/trading/payload.d.ts +0 -22
- package/dist/src/bitgo/trading/payload.d.ts.map +0 -1
- package/dist/src/bitgo/trading/payload.js +0 -3
- package/dist/src/bitgo/trading/settlement.d.ts +0 -16
- package/dist/src/bitgo/trading/settlement.d.ts.map +0 -1
- package/dist/src/bitgo/trading/settlement.js +0 -21
- package/dist/src/bitgo/trading/settlements.d.ts +0 -32
- package/dist/src/bitgo/trading/settlements.d.ts.map +0 -1
- package/dist/src/bitgo/trading/settlements.js +0 -61
- package/dist/src/bitgo/trading/trade.d.ts +0 -29
- package/dist/src/bitgo/trading/trade.d.ts.map +0 -1
- package/dist/src/bitgo/trading/trade.js +0 -11
- package/dist/src/bitgo/trading/tradingPartner.d.ts +0 -26
- package/dist/src/bitgo/trading/tradingPartner.d.ts.map +0 -1
- package/dist/src/bitgo/trading/tradingPartner.js +0 -31
- package/dist/src/bitgo/trading/tradingPartners.d.ts +0 -24
- package/dist/src/bitgo/trading/tradingPartners.d.ts.map +0 -1
- package/dist/src/bitgo/trading/tradingPartners.js +0 -32
- package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
- package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
- package/dist/src/bitgo/utils/blsUtils.js +0 -237
- package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
- package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
- package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
- package/dist/src/openssl/index.d.ts +0 -5
- package/dist/src/openssl/index.d.ts.map +0 -1
- package/dist/src/openssl/index.js +0 -9
|
@@ -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
|
|
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;IAqB1E,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,101 @@
|
|
|
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
|
|
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 prv = await this.wallet.getPrv({ walletPassphrase });
|
|
71
|
+
const signedBuffer = await this.wallet.baseCoin.signMessage({ prv }, payload);
|
|
72
|
+
const signature = signedBuffer.toString('hex');
|
|
73
|
+
return {
|
|
74
|
+
...body,
|
|
75
|
+
payload,
|
|
76
|
+
signature,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
createAllocation({ connectionId, ...params }) {
|
|
80
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/connections/${connectionId}/allocations`);
|
|
81
|
+
return this.bitgo.post(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
82
|
+
}
|
|
83
|
+
createDeallocation({ connectionId, ...params }) {
|
|
84
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/connections/${connectionId}/deallocations`);
|
|
85
|
+
return this.bitgo.post(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
86
|
+
}
|
|
87
|
+
getSettlements(params) {
|
|
88
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/settlements`);
|
|
89
|
+
return this.bitgo.get(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
90
|
+
}
|
|
91
|
+
getSettlementById({ settlementId, ...params }) {
|
|
92
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/settlements/${settlementId}`);
|
|
93
|
+
return this.bitgo.get(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
94
|
+
}
|
|
95
|
+
getSettlementTransfers(params) {
|
|
96
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/settlementTransfers`);
|
|
97
|
+
return this.bitgo.get(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.TradingNetwork = TradingNetwork;
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby90cmFkaW5nL25ldHdvcmsvbmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwrQkFBb0M7QUFDcEMsb0RBQTRCO0FBb0M1QixNQUFhLGNBQWM7SUFNekIsWUFBWSxZQUFvQixFQUFFLE1BQWUsRUFBRSxLQUFnQjtRQUNqRSxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWlDO1FBQzNDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsK0JBQStCLElBQUksQ0FBQyxZQUFZLG1CQUFtQixDQUFDLENBQUM7UUFDN0csT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFpQztRQUMzQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLCtCQUErQixJQUFJLENBQUMsWUFBWSxXQUFXLENBQUMsQ0FBQztRQUNyRyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzRixDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBMkM7UUFDaEUs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QUNyQywrQkFBK0IsSUFBSSxDQUFDLFlBQVksd0JBQXdCLFlBQVksRUFBRSxDQUN2RixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVELHNCQUFzQixDQUFDLE1BQTRDO1FBQ2pFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQ3JDLCtCQUErQixJQUFJLENBQUMsWUFBWSw4QkFBOEIsQ0FDL0UsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNGLENBQUM7Q0FDRjtBQXBKRCx3Q0FvSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2NCBhcyB1dWlkVjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uLy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBJV2FsbGV0IH0gZnJvbSAnLi4vLi4vd2FsbGV0JztcbmltcG9ydCB7XG4gIENyZWF0ZU5ldHdvcmtBbGxvY2F0aW9uUGFyYW1zLFxuICBDcmVhdGVOZXR3b3JrQWxsb2NhdGlvblJlc3BvbnNlLFxuICBDcmVhdGVOZXR3b3JrQ29ubmVjdGlvblBhcmFtcyxcbiAgQ3JlYXRlTmV0d29ya0Nvbm5lY3Rpb25SZXNwb25zZSxcbiAgQ3JlYXRlTmV0d29ya0RlYWxsb2NhdGlvblBhcmFtcyxcbiAgQ3JlYXRlTmV0d29ya0RlYWxsb2NhdGlvblJlc3BvbnNlLFxuICBHZXROZXR3b3JrQWxsb2NhdGlvbkJ5SWRQYXJhbXMsXG4gIEdldE5ldHdvcmtBbGxvY2F0aW9uQnlJZFJlc3BvbnNlLFxuICBHZXROZXR3b3JrQWxsb2NhdGlvbnNQYXJhbXMsXG4gIEdldE5ldHdvcmtBbGxvY2F0aW9uc1Jlc3BvbnNlLFxuICBHZXROZXR3b3JrQmFsYW5jZXNQYXJhbXMsXG4gIEdldE5ldHdvcmtCYWxhbmNlc1Jlc3BvbnNlLFxuICBHZXROZXR3b3JrQ29ubmVjdGlvbkJ5SWRQYXJhbXMsXG4gIEdldE5ldHdvcmtDb25uZWN0aW9uQnlJZFJlc3BvbnNlLFxuICBHZXROZXR3b3JrQ29ubmVjdGlvbnNQYXJhbXMsXG4gIEdldE5ldHdvcmtDb25uZWN0aW9uc1Jlc3BvbnNlLFxuICBHZXROZXR3b3JrUGFydG5lcnNQYXJhbXMsXG4gIEdldE5ldHdvcmtQYXJ0bmVyc1Jlc3BvbnNlLFxuICBHZXROZXR3b3JrU2V0dGxlbWVudEJ5SWRQYXJhbXMsXG4gIEdldE5ldHdvcmtTZXR0bGVtZW50QnlJZFJlc3BvbnNlLFxuICBHZXROZXR3b3JrU2V0dGxlbWVudFRyYW5zZmVyc1BhcmFtcyxcbiAgR2V0TmV0d29ya1NldHRsZW1lbnRUcmFuc2ZlcnNSZXNwb25zZSxcbiAgR2V0TmV0d29ya1NldHRsZW1lbnRzUGFyYW1zLFxuICBHZXROZXR3b3JrU2V0dGxlbWVudHNSZXNwb25zZSxcbiAgR2V0TmV0d29ya1N1cHBvcnRlZEN1cnJlbmNpZXNQYXJhbXMsXG4gIEdldE5ldHdvcmtTdXBwb3J0ZWRDdXJyZW5jaWVzUmVzcG9uc2UsXG4gIElUcmFkaW5nTmV0d29yayxcbiAgUHJlcGFyZU5ldHdvcmtBbGxvY2F0aW9uUGFyYW1zLFxuICBVcGRhdGVOZXR3b3JrQ29ubmVjdGlvblBhcmFtcyxcbiAgVXBkYXRlTmV0d29ya0Nvbm5lY3Rpb25SZXNwb25zZSxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBUcmFkaW5nTmV0d29yayBpbXBsZW1lbnRzIElUcmFkaW5nTmV0d29yayB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYml0Z286IEJpdEdvQmFzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBlbnRlcnByaXNlSWQ6IHN0cmluZztcblxuICBwdWJsaWMgd2FsbGV0OiBJV2FsbGV0O1xuXG4gIGNvbnN0cnVjdG9yKGVudGVycHJpc2VJZDogc3RyaW5nLCB3YWxsZXQ6IElXYWxsZXQsIGJpdGdvOiBCaXRHb0Jhc2UpIHtcbiAgICB0aGlzLmVudGVycHJpc2VJZCA9IGVudGVycHJpc2VJZDtcbiAgICB0aGlzLndhbGxldCA9IHdhbGxldDtcbiAgICB0aGlzLmJpdGdvID0gYml0Z287XG4gIH1cblxuICBnZXRCYWxhbmNlcyhwYXJhbXM/OiBHZXROZXR3b3JrQmFsYW5jZXNQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtCYWxhbmNlc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9iYWxhbmNlc2ApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRQYXJ0bmVycyhwYXJhbXM/OiBHZXROZXR3b3JrUGFydG5lcnNQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtQYXJ0bmVyc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vcGFydG5lcnNgKTtcbiAgICByZXR1cm4gdGhpcy5iaXRnby5nZXQodXJsKS5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLmVudGVycHJpc2VJZCkuc2VuZChwYXJhbXMpLnJlc3VsdCgpO1xuICB9XG5cbiAgZ2V0U3VwcG9ydGVkQ3VycmVuY2llcyhwYXJhbXM6IEdldE5ldHdvcmtTdXBwb3J0ZWRDdXJyZW5jaWVzUGFyYW1zKTogUHJvbWlzZTxHZXROZXR3b3JrU3VwcG9ydGVkQ3VycmVuY2llc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vc3VwcG9ydGVkQ3VycmVuY2llc2ApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRDb25uZWN0aW9ucyhwYXJhbXM/OiBHZXROZXR3b3JrQ29ubmVjdGlvbnNQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtDb25uZWN0aW9uc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9jb25uZWN0aW9uc2ApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRDb25uZWN0aW9uQnlJZCh7XG4gICAgY29ubmVjdGlvbklkLFxuICAgIC4uLnBhcmFtc1xuICB9OiBHZXROZXR3b3JrQ29ubmVjdGlvbkJ5SWRQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtDb25uZWN0aW9uQnlJZFJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKFxuICAgICAgYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2Nvbm5lY3Rpb25zLyR7Y29ubmVjdGlvbklkfWBcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBjcmVhdGVDb25uZWN0aW9uKHBhcmFtczogQ3JlYXRlTmV0d29ya0Nvbm5lY3Rpb25QYXJhbXMpOiBQcm9taXNlPENyZWF0ZU5ldHdvcmtDb25uZWN0aW9uUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2Nvbm5lY3Rpb25zYCk7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28ucG9zdCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICB1cGRhdGVDb25uZWN0aW9uKHtcbiAgICBjb25uZWN0aW9uSWQsXG4gICAgLi4ucGFyYW1zXG4gIH06IFVwZGF0ZU5ldHdvcmtDb25uZWN0aW9uUGFyYW1zKTogUHJvbWlzZTxVcGRhdGVOZXR3b3JrQ29ubmVjdGlvblJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKFxuICAgICAgYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2Nvbm5lY3Rpb25zLyR7Y29ubmVjdGlvbklkfWBcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLnB1dCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRBbGxvY2F0aW9ucyhwYXJhbXM/OiBHZXROZXR3b3JrQWxsb2NhdGlvbnNQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtBbGxvY2F0aW9uc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9hbGxvY2F0aW9uc2ApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRBbGxvY2F0aW9uQnlJZCh7XG4gICAgYWxsb2NhdGlvbklkLFxuICAgIC4uLnBhcmFtc1xuICB9OiBHZXROZXR3b3JrQWxsb2NhdGlvbkJ5SWRQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtBbGxvY2F0aW9uQnlJZFJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKFxuICAgICAgYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2FsbG9jYXRpb25zLyR7YWxsb2NhdGlvbklkfWBcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogUHJlcGFyZSBhbiBhbGxvY2F0aW9uIGZvciBzdWJtaXNzaW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB3YWxsZXRQYXNzcGhyYXNlIG9mYyB3YWxsZXQgcGFzc3BocmFzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29ubmVjdGlvbklkIGNvbm5lY3Rpb24gdG8gd2hvbSB0byBtYWtlIHRoZSBhbGxvY2F0aW9uIG9yIGRlYWxsb2NhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZz19IGNsaWVudEV4dGVybmFsSWQgb25lIHRpbWUgZ2VuZXJhdGVkIHV1aWQgdjRcbiAgICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbmN5IGN1cnJlbmN5IGZvciB3aGljaCB0aGUgYWxsb2NhdGlvbiBzaG91bGQgYmUgbWFkZS4gZS5nLiBidGMgLyB0YnRjXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBxdWFudGl0eSBiYXNlIGFtb3VudC4gZS5nLiAxMDAwMDAwMCAoMSBCVEMpXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBub3RlcyBQcml2YXRlIG5vdGUgdGhhdCB5b3UgY2FuIHZpZXcgYW5kIGVkaXRcbiAgICogQHBhcmFtIHtzdHJpbmc9fSBub25jZSBvbmUgdGltZSBnZW5lcmF0ZWQgc3RyaW5nIC5lLmcuIGNyeXB0by5yYW5kb21CeXRlcygzMikudG9TdHJpbmcoJ2hleCcpXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBhc3luYyBwcmVwYXJlQWxsb2NhdGlvbih7XG4gICAgd2FsbGV0UGFzc3BocmFzZSxcbiAgICAuLi5ib2R5XG4gIH06IFByZXBhcmVOZXR3b3JrQWxsb2NhdGlvblBhcmFtcyk6IFByb21pc2U8Q3JlYXRlTmV0d29ya0FsbG9jYXRpb25QYXJhbXM+IHtcbiAgICBpZiAoIWJvZHkuY2xpZW50RXh0ZXJuYWxJZCkge1xuICAgICAgYm9keS5jbGllbnRFeHRlcm5hbElkID0gdXVpZFY0KCk7XG4gICAgfVxuICAgIGlmICghYm9keS5ub25jZSkge1xuICAgICAgYm9keS5ub25jZSA9IGNyeXB0by5yYW5kb21CeXRlcygzMikudG9TdHJpbmcoJ2hleCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHBheWxvYWQgPSBKU09OLnN0cmluZ2lmeShib2R5KTtcblxuICAgIGNvbnN0IHBydiA9IGF3YWl0IHRoaXMud2FsbGV0LmdldFBydih7IHdhbGxldFBhc3NwaHJhc2UgfSk7XG4gICAgY29uc3Qgc2lnbmVkQnVmZmVyOiBCdWZmZXIgPSBhd2FpdCB0aGlzLndhbGxldC5iYXNlQ29pbi5zaWduTWVzc2FnZSh7IHBydiB9LCBwYXlsb2FkKTtcbiAgICBjb25zdCBzaWduYXR1cmUgPSBzaWduZWRCdWZmZXIudG9TdHJpbmcoJ2hleCcpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmJvZHksXG4gICAgICBwYXlsb2FkLFxuICAgICAgc2lnbmF0dXJlLFxuICAgIH07XG4gIH1cblxuICBjcmVhdGVBbGxvY2F0aW9uKHtcbiAgICBjb25uZWN0aW9uSWQsXG4gICAgLi4ucGFyYW1zXG4gIH06IENyZWF0ZU5ldHdvcmtBbGxvY2F0aW9uUGFyYW1zKTogUHJvbWlzZTxDcmVhdGVOZXR3b3JrQWxsb2NhdGlvblJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKFxuICAgICAgYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2Nvbm5lY3Rpb25zLyR7Y29ubmVjdGlvbklkfS9hbGxvY2F0aW9uc2BcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLnBvc3QodXJsKS5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLmVudGVycHJpc2VJZCkuc2VuZChwYXJhbXMpLnJlc3VsdCgpO1xuICB9XG5cbiAgY3JlYXRlRGVhbGxvY2F0aW9uKHtcbiAgICBjb25uZWN0aW9uSWQsXG4gICAgLi4ucGFyYW1zXG4gIH06IENyZWF0ZU5ldHdvcmtEZWFsbG9jYXRpb25QYXJhbXMpOiBQcm9taXNlPENyZWF0ZU5ldHdvcmtEZWFsbG9jYXRpb25SZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChcbiAgICAgIGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9jb25uZWN0aW9ucy8ke2Nvbm5lY3Rpb25JZH0vZGVhbGxvY2F0aW9uc2BcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLnBvc3QodXJsKS5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLmVudGVycHJpc2VJZCkuc2VuZChwYXJhbXMpLnJlc3VsdCgpO1xuICB9XG5cbiAgZ2V0U2V0dGxlbWVudHMocGFyYW1zPzogR2V0TmV0d29ya1NldHRsZW1lbnRzUGFyYW1zKTogUHJvbWlzZTxHZXROZXR3b3JrU2V0dGxlbWVudHNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChgL2FwaS9uZXR3b3JrL3YxL2VudGVycHJpc2VzLyR7dGhpcy5lbnRlcnByaXNlSWR9L2NsaWVudHMvc2V0dGxlbWVudHNgKTtcbiAgICByZXR1cm4gdGhpcy5iaXRnby5nZXQodXJsKS5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLmVudGVycHJpc2VJZCkuc2VuZChwYXJhbXMpLnJlc3VsdCgpO1xuICB9XG5cbiAgZ2V0U2V0dGxlbWVudEJ5SWQoe1xuICAgIHNldHRsZW1lbnRJZCxcbiAgICAuLi5wYXJhbXNcbiAgfTogR2V0TmV0d29ya1NldHRsZW1lbnRCeUlkUGFyYW1zKTogUHJvbWlzZTxHZXROZXR3b3JrU2V0dGxlbWVudEJ5SWRSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChcbiAgICAgIGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9zZXR0bGVtZW50cy8ke3NldHRsZW1lbnRJZH1gXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5iaXRnby5nZXQodXJsKS5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLmVudGVycHJpc2VJZCkuc2VuZChwYXJhbXMpLnJlc3VsdCgpO1xuICB9XG5cbiAgZ2V0U2V0dGxlbWVudFRyYW5zZmVycyhwYXJhbXM/OiBHZXROZXR3b3JrU2V0dGxlbWVudFRyYW5zZmVyc1BhcmFtcyk6IFByb21pc2U8R2V0TmV0d29ya1NldHRsZW1lbnRUcmFuc2ZlcnNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChcbiAgICAgIGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9zZXR0bGVtZW50VHJhbnNmZXJzYFxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28uZ2V0KHVybCkuc2V0KCdlbnRlcnByaXNlLWlkJywgdGhpcy5lbnRlcnByaXNlSWQpLnNlbmQocGFyYW1zKS5yZXN1bHQoKTtcbiAgfVxufVxuIl19
|