@bitgo-beta/sdk-core 8.2.1-beta.1225 → 8.2.1-beta.1227
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/baseKeyPair.d.ts +27 -0
- package/dist/src/account-lib/baseCoin/baseKeyPair.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/baseKeyPair.js +3 -0
- package/dist/src/account-lib/baseCoin/baseTransaction.d.ts +70 -0
- package/dist/src/account-lib/baseCoin/baseTransaction.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/baseTransaction.js +69 -0
- package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts +128 -0
- package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/baseTransactionBuilder.js +139 -0
- package/dist/src/account-lib/baseCoin/baseTransactionBuilderFactory.d.ts +29 -0
- package/dist/src/account-lib/baseCoin/baseTransactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/baseTransactionBuilderFactory.js +19 -0
- package/dist/src/account-lib/baseCoin/baseUtils.d.ts +45 -0
- package/dist/src/account-lib/baseCoin/baseUtils.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/baseUtils.js +3 -0
- package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts +51 -0
- package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +157 -0
- package/dist/src/account-lib/baseCoin/enum.d.ts +82 -0
- package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/enum.js +137 -0
- package/dist/src/account-lib/baseCoin/errors.d.ts +65 -0
- package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/errors.js +117 -0
- package/dist/src/account-lib/baseCoin/iface.d.ts +141 -0
- package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/iface.js +46 -0
- package/dist/src/account-lib/baseCoin/index.d.ts +12 -0
- package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/index.js +35 -0
- 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 +53 -0
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +135 -0
- package/dist/src/account-lib/index.d.ts +8 -0
- package/dist/src/account-lib/index.d.ts.map +1 -0
- package/dist/src/account-lib/index.js +49 -0
- package/dist/src/account-lib/mpc/curves/baseCurve.d.ts +8 -0
- package/dist/src/account-lib/mpc/curves/baseCurve.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/curves/baseCurve.js +3 -0
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts +5 -0
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/curves/ed25519.js +9 -0
- package/dist/src/account-lib/mpc/curves/index.d.ts +6 -0
- package/dist/src/account-lib/mpc/curves/index.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/curves/index.js +8 -0
- package/dist/src/account-lib/mpc/curves/secp256k1.d.ts +5 -0
- package/dist/src/account-lib/mpc/curves/secp256k1.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/curves/secp256k1.js +9 -0
- package/dist/src/account-lib/mpc/index.d.ts +9 -0
- package/dist/src/account-lib/mpc/index.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/index.js +34 -0
- package/dist/src/account-lib/mpc/shamir.d.ts +6 -0
- package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/shamir.js +8 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +172 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +1259 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/index.d.ts +5 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/index.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/index.js +44 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +11 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +19 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +255 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/types.js +3 -0
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +29 -0
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +304 -0
- package/dist/src/account-lib/mpc/tss/eddsa/index.d.ts +4 -0
- package/dist/src/account-lib/mpc/tss/eddsa/index.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/tss/eddsa/index.js +44 -0
- package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +73 -0
- package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/tss/eddsa/types.js +3 -0
- package/dist/src/account-lib/mpc/tss/index.d.ts +6 -0
- package/dist/src/account-lib/mpc/tss/index.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/tss/index.js +50 -0
- package/dist/src/account-lib/mpc/util.d.ts +12 -0
- package/dist/src/account-lib/mpc/util.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/util.js +30 -0
- package/dist/src/account-lib/staking/index.d.ts +2 -0
- package/dist/src/account-lib/staking/index.d.ts.map +1 -0
- package/dist/src/account-lib/staking/index.js +18 -0
- package/dist/src/account-lib/staking/utils.d.ts +19 -0
- package/dist/src/account-lib/staking/utils.d.ts.map +1 -0
- package/dist/src/account-lib/staking/utils.js +98 -0
- package/dist/src/account-lib/util/crypto.d.ts +114 -0
- package/dist/src/account-lib/util/crypto.d.ts.map +1 -0
- package/dist/src/account-lib/util/crypto.js +312 -0
- package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +50 -0
- package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -0
- package/dist/src/account-lib/util/ed25519KeyDeriver.js +89 -0
- package/dist/src/api/bip32path.d.ts +24 -0
- package/dist/src/api/bip32path.d.ts.map +1 -0
- package/dist/src/api/bip32path.js +44 -0
- package/dist/src/api/index.d.ts +3 -0
- package/dist/src/api/index.d.ts.map +1 -0
- package/dist/src/api/index.js +19 -0
- package/dist/src/api/types.d.ts +28 -0
- package/dist/src/api/types.d.ts.map +1 -0
- package/dist/src/api/types.js +3 -0
- 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 +369 -0
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -0
- package/dist/src/bitgo/baseCoin/baseCoin.js +489 -0
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +536 -0
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -0
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +14 -0
- package/dist/src/bitgo/baseCoin/index.d.ts +3 -0
- package/dist/src/bitgo/baseCoin/index.d.ts.map +1 -0
- package/dist/src/bitgo/baseCoin/index.js +19 -0
- package/dist/src/bitgo/bip32util.d.ts +4 -0
- package/dist/src/bitgo/bip32util.d.ts.map +1 -0
- package/dist/src/bitgo/bip32util.js +7 -0
- package/dist/src/bitgo/bitcoin.d.ts +15 -0
- package/dist/src/bitgo/bitcoin.d.ts.map +1 -0
- package/dist/src/bitgo/bitcoin.js +65 -0
- package/dist/src/bitgo/bitgoBase.d.ts +30 -0
- package/dist/src/bitgo/bitgoBase.d.ts.map +1 -0
- package/dist/src/bitgo/bitgoBase.js +3 -0
- package/dist/src/bitgo/coinFactory.d.ts +49 -0
- package/dist/src/bitgo/coinFactory.d.ts.map +1 -0
- package/dist/src/bitgo/coinFactory.js +79 -0
- package/dist/src/bitgo/config.d.ts +261 -0
- package/dist/src/bitgo/config.d.ts.map +1 -0
- package/dist/src/bitgo/config.js +83 -0
- package/dist/src/bitgo/ecdh.d.ts +33 -0
- package/dist/src/bitgo/ecdh.d.ts.map +1 -0
- package/dist/src/bitgo/ecdh.js +112 -0
- package/dist/src/bitgo/enterprise/enterprise.d.ts +93 -0
- package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -0
- package/dist/src/bitgo/enterprise/enterprise.js +205 -0
- package/dist/src/bitgo/enterprise/enterprises.d.ts +31 -0
- package/dist/src/bitgo/enterprise/enterprises.d.ts.map +1 -0
- package/dist/src/bitgo/enterprise/enterprises.js +109 -0
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts +27 -0
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -0
- package/dist/src/bitgo/enterprise/iEnterprise.js +3 -0
- package/dist/src/bitgo/enterprise/iEnterprises.d.ts +12 -0
- package/dist/src/bitgo/enterprise/iEnterprises.d.ts.map +1 -0
- package/dist/src/bitgo/enterprise/iEnterprises.js +3 -0
- package/dist/src/bitgo/enterprise/index.d.ts +5 -0
- package/dist/src/bitgo/enterprise/index.d.ts.map +1 -0
- package/dist/src/bitgo/enterprise/index.js +21 -0
- package/dist/src/bitgo/environments.d.ts +129 -0
- package/dist/src/bitgo/environments.d.ts.map +1 -0
- package/dist/src/bitgo/environments.js +355 -0
- package/dist/src/bitgo/errors.d.ts +95 -0
- package/dist/src/bitgo/errors.d.ts.map +1 -0
- package/dist/src/bitgo/errors.js +187 -0
- 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 +32 -0
- package/dist/src/bitgo/index.d.ts.map +1 -0
- package/dist/src/bitgo/index.js +73 -0
- package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +59 -0
- package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -0
- package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +3 -0
- package/dist/src/bitgo/inscriptionBuilder/index.d.ts +2 -0
- package/dist/src/bitgo/inscriptionBuilder/index.d.ts.map +1 -0
- package/dist/src/bitgo/inscriptionBuilder/index.js +18 -0
- package/dist/src/bitgo/internal/index.d.ts +3 -0
- package/dist/src/bitgo/internal/index.d.ts.map +1 -0
- package/dist/src/bitgo/internal/index.js +19 -0
- package/dist/src/bitgo/internal/internal.d.ts +19 -0
- package/dist/src/bitgo/internal/internal.d.ts.map +1 -0
- package/dist/src/bitgo/internal/internal.js +32 -0
- package/dist/src/bitgo/internal/keycard.d.ts +33 -0
- package/dist/src/bitgo/internal/keycard.d.ts.map +1 -0
- package/dist/src/bitgo/internal/keycard.js +303 -0
- 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 +190 -0
- package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -0
- package/dist/src/bitgo/keychain/iKeychains.js +10 -0
- package/dist/src/bitgo/keychain/index.d.ts +5 -0
- package/dist/src/bitgo/keychain/index.d.ts.map +1 -0
- package/dist/src/bitgo/keychain/index.js +21 -0
- package/dist/src/bitgo/keychain/keychains.d.ts +110 -0
- package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -0
- package/dist/src/bitgo/keychain/keychains.js +483 -0
- package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +231 -0
- package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -0
- package/dist/src/bitgo/keychain/ovcJsonCodec.js +99 -0
- package/dist/src/bitgo/legacyBitcoin.d.ts +36 -0
- package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -0
- package/dist/src/bitgo/legacyBitcoin.js +111 -0
- 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 +12 -0
- package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -0
- package/dist/src/bitgo/market/iMarkets.js +3 -0
- package/dist/src/bitgo/market/index.d.ts +3 -0
- package/dist/src/bitgo/market/index.d.ts.map +1 -0
- package/dist/src/bitgo/market/index.js +19 -0
- package/dist/src/bitgo/market/markets.d.ts +29 -0
- package/dist/src/bitgo/market/markets.d.ts.map +1 -0
- package/dist/src/bitgo/market/markets.js +84 -0
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +77 -0
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -0
- package/dist/src/bitgo/pendingApproval/iPendingApproval.js +29 -0
- package/dist/src/bitgo/pendingApproval/iPendingApprovals.d.ts +16 -0
- package/dist/src/bitgo/pendingApproval/iPendingApprovals.d.ts.map +1 -0
- package/dist/src/bitgo/pendingApproval/iPendingApprovals.js +3 -0
- package/dist/src/bitgo/pendingApproval/index.d.ts +5 -0
- package/dist/src/bitgo/pendingApproval/index.d.ts.map +1 -0
- package/dist/src/bitgo/pendingApproval/index.js +21 -0
- package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +111 -0
- package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -0
- package/dist/src/bitgo/pendingApproval/pendingApproval.js +446 -0
- package/dist/src/bitgo/pendingApproval/pendingApprovals.d.ts +19 -0
- package/dist/src/bitgo/pendingApproval/pendingApprovals.d.ts.map +1 -0
- package/dist/src/bitgo/pendingApproval/pendingApprovals.js +90 -0
- 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.d.ts +2 -0
- package/dist/src/bitgo/recovery/index.d.ts.map +1 -0
- package/dist/src/bitgo/recovery/index.js +18 -0
- package/dist/src/bitgo/recovery/initiate.d.ts +63 -0
- package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -0
- package/dist/src/bitgo/recovery/initiate.js +114 -0
- package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +129 -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 +143 -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 +258 -0
- package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -0
- package/dist/src/bitgo/staking/iStakingWallet.js +12 -0
- package/dist/src/bitgo/staking/index.d.ts +6 -0
- package/dist/src/bitgo/staking/index.d.ts.map +1 -0
- package/dist/src/bitgo/staking/index.js +22 -0
- package/dist/src/bitgo/staking/stakingWallet.d.ts +122 -0
- package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -0
- package/dist/src/bitgo/staking/stakingWallet.js +363 -0
- package/dist/src/bitgo/trading/iTradingAccount.d.ts +11 -0
- package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -0
- package/dist/src/bitgo/trading/iTradingAccount.js +3 -0
- package/dist/src/bitgo/trading/index.d.ts +4 -0
- package/dist/src/bitgo/trading/index.d.ts.map +1 -0
- package/dist/src/bitgo/trading/index.js +20 -0
- 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 +29 -0
- package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -0
- package/dist/src/bitgo/trading/tradingAccount.js +40 -0
- 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 +95 -0
- package/dist/src/bitgo/tss/common.d.ts.map +1 -0
- package/dist/src/bitgo/tss/common.js +223 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +252 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsa.js +822 -0
- 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 +5 -0
- package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -0
- package/dist/src/bitgo/tss/ecdsa/index.js +41 -0
- package/dist/src/bitgo/tss/ecdsa/types.d.ts +64 -0
- package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -0
- package/dist/src/bitgo/tss/ecdsa/types.js +16 -0
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +129 -0
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -0
- package/dist/src/bitgo/tss/eddsa/eddsa.js +330 -0
- package/dist/src/bitgo/tss/eddsa/index.d.ts +6 -0
- package/dist/src/bitgo/tss/eddsa/index.d.ts.map +1 -0
- package/dist/src/bitgo/tss/eddsa/index.js +51 -0
- package/dist/src/bitgo/tss/eddsa/types.d.ts +36 -0
- package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -0
- package/dist/src/bitgo/tss/eddsa/types.js +3 -0
- package/dist/src/bitgo/tss/index.d.ts +9 -0
- package/dist/src/bitgo/tss/index.d.ts.map +1 -0
- package/dist/src/bitgo/tss/index.js +60 -0
- package/dist/src/bitgo/tss/types.d.ts +25 -0
- package/dist/src/bitgo/tss/types.d.ts.map +1 -0
- package/dist/src/bitgo/tss/types.js +10 -0
- package/dist/src/bitgo/types.d.ts +4 -0
- package/dist/src/bitgo/types.d.ts.map +1 -0
- package/dist/src/bitgo/types.js +3 -0
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +17 -0
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +86 -0
- 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 +15 -0
- package/dist/src/bitgo/utils/decode.d.ts.map +1 -0
- package/dist/src/bitgo/utils/decode.js +70 -0
- package/dist/src/bitgo/utils/index.d.ts +14 -0
- package/dist/src/bitgo/utils/index.d.ts.map +1 -0
- package/dist/src/bitgo/utils/index.js +53 -0
- package/dist/src/bitgo/utils/messageTypes.d.ts +38 -0
- package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
- package/dist/src/bitgo/utils/messageTypes.js +15 -0
- package/dist/src/bitgo/utils/mpcUtils.d.ts +40 -0
- package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/mpcUtils.js +178 -0
- 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 +126 -0
- package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/opengpgUtils.js +401 -0
- 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 +5 -0
- package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/promise-utils.js +11 -0
- package/dist/src/bitgo/utils/transactionUtils.d.ts +9 -0
- package/dist/src/bitgo/utils/transactionUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/transactionUtils.js +29 -0
- package/dist/src/bitgo/utils/triple.d.ts +3 -0
- package/dist/src/bitgo/utils/triple.d.ts.map +1 -0
- package/dist/src/bitgo/utils/triple.js +7 -0
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +224 -0
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +466 -0
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +591 -0
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/baseTypes.js +47 -0
- 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 +183 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +850 -0
- 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 +7 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.js +23 -0
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +33 -0
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/types.js +3 -0
- 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 +117 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +515 -0
- package/dist/src/bitgo/utils/tss/eddsa/index.d.ts +8 -0
- package/dist/src/bitgo/utils/tss/eddsa/index.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/index.js +44 -0
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +19 -0
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/types.js +7 -0
- package/dist/src/bitgo/utils/tss/index.d.ts +13 -0
- package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/index.js +48 -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 +47 -0
- package/dist/src/bitgo/utils/util.d.ts +77 -0
- package/dist/src/bitgo/utils/util.d.ts.map +1 -0
- package/dist/src/bitgo/utils/util.js +212 -0
- 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 +133 -0
- package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/BuildParams.js +149 -0
- package/dist/src/bitgo/wallet/iWallet.d.ts +847 -0
- package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/iWallet.js +3 -0
- package/dist/src/bitgo/wallet/iWallets.d.ts +205 -0
- package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/iWallets.js +45 -0
- package/dist/src/bitgo/wallet/index.d.ts +5 -0
- package/dist/src/bitgo/wallet/index.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/index.js +21 -0
- package/dist/src/bitgo/wallet/wallet.d.ts +933 -0
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/wallet.js +3424 -0
- package/dist/src/bitgo/wallet/wallets.d.ts +223 -0
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/wallets.js +1281 -0
- 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/iWebhooks.d.ts +26 -0
- package/dist/src/bitgo/webhook/iWebhooks.d.ts.map +1 -0
- package/dist/src/bitgo/webhook/iWebhooks.js +3 -0
- package/dist/src/bitgo/webhook/index.d.ts +3 -0
- package/dist/src/bitgo/webhook/index.d.ts.map +1 -0
- package/dist/src/bitgo/webhook/index.js +19 -0
- package/dist/src/bitgo/webhook/webhooks.d.ts +43 -0
- package/dist/src/bitgo/webhook/webhooks.d.ts.map +1 -0
- package/dist/src/bitgo/webhook/webhooks.js +116 -0
- package/dist/src/bitgojsError.d.ts +4 -0
- package/dist/src/bitgojsError.d.ts.map +1 -0
- package/dist/src/bitgojsError.js +11 -0
- 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 +32 -0
- package/dist/src/coins/fiateur.d.ts.map +1 -0
- package/dist/src/coins/fiateur.js +61 -0
- package/dist/src/coins/fiatgbp.d.ts +32 -0
- package/dist/src/coins/fiatgbp.d.ts.map +1 -0
- package/dist/src/coins/fiatgbp.js +61 -0
- 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 +32 -0
- package/dist/src/coins/fiatusd.d.ts.map +1 -0
- package/dist/src/coins/fiatusd.js +61 -0
- package/dist/src/coins/index.d.ts +15 -0
- package/dist/src/coins/index.d.ts.map +1 -0
- package/dist/src/coins/index.js +31 -0
- package/dist/src/coins/ofc.d.ts +38 -0
- package/dist/src/coins/ofc.d.ts.map +1 -0
- package/dist/src/coins/ofc.js +90 -0
- package/dist/src/coins/ofcToken.d.ts +47 -0
- package/dist/src/coins/ofcToken.d.ts.map +1 -0
- package/dist/src/coins/ofcToken.js +84 -0
- package/dist/src/coins/susd.d.ts +32 -0
- package/dist/src/coins/susd.d.ts.map +1 -0
- package/dist/src/coins/susd.js +61 -0
- 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/tfiateur.d.ts +11 -0
- package/dist/src/coins/tfiateur.d.ts.map +1 -0
- package/dist/src/coins/tfiateur.js +17 -0
- package/dist/src/coins/tfiatgbp.d.ts +11 -0
- package/dist/src/coins/tfiatgbp.d.ts.map +1 -0
- package/dist/src/coins/tfiatgbp.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/coins/tfiatusd.d.ts +11 -0
- package/dist/src/coins/tfiatusd.d.ts.map +1 -0
- package/dist/src/coins/tfiatusd.js +17 -0
- package/dist/src/coins/tsusd.d.ts +11 -0
- package/dist/src/coins/tsusd.d.ts.map +1 -0
- package/dist/src/coins/tsusd.js +17 -0
- package/dist/src/common.d.ts +27 -0
- package/dist/src/common.d.ts.map +1 -0
- package/dist/src/common.js +105 -0
- package/dist/src/index.d.ts +19 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +55 -0
- package/dist/src/units.d.ts +29 -0
- package/dist/src/units.d.ts.map +1 -0
- package/dist/src/units.js +51 -0
- package/dist/test/node.utils.d.ts +2 -0
- package/dist/test/node.utils.d.ts.map +1 -0
- package/dist/test/node.utils.js +5 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +207 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +174 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +108 -0
- package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +46 -0
- package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +69 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +235 -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/messageTypes.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
- package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.js +73 -0
- package/dist/test/unit/bitgo/utils/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/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/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/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 +12 -9
- package/.eslintignore +0 -5
- package/CHANGELOG.md +0 -3848
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AddressFormat } from './enum';
|
|
2
|
+
/**
|
|
3
|
+
* Base keys and address management.
|
|
4
|
+
*/
|
|
5
|
+
export interface BaseKeyPair {
|
|
6
|
+
/**
|
|
7
|
+
* Build a set of keys from a prv
|
|
8
|
+
*
|
|
9
|
+
* @param {string} prv A raw private key
|
|
10
|
+
*/
|
|
11
|
+
recordKeysFromPrivateKey(prv: string): void;
|
|
12
|
+
/**
|
|
13
|
+
* Build a set of keys from a pub
|
|
14
|
+
*
|
|
15
|
+
* @param {string} pub A raw pub key
|
|
16
|
+
*/
|
|
17
|
+
recordKeysFromPublicKey(pub: string): void;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the keys in the protocol default key format
|
|
20
|
+
*/
|
|
21
|
+
getKeys(): any;
|
|
22
|
+
/**
|
|
23
|
+
* Returns the address in the protocol default format
|
|
24
|
+
*/
|
|
25
|
+
getAddress(format?: AddressFormat): string;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=baseKeyPair.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseKeyPair.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/baseKeyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5C;;;;OAIG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3C;;OAEG;IACH,OAAO,IAAI,GAAG,CAAC;IAEf;;OAEG;IACH,UAAU,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;CAC5C"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZUtleVBhaXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvYmFzZUNvaW4vYmFzZUtleVBhaXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFkZHJlc3NGb3JtYXQgfSBmcm9tICcuL2VudW0nO1xuXG4vKipcbiAqIEJhc2Uga2V5cyBhbmQgYWRkcmVzcyBtYW5hZ2VtZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VLZXlQYWlyIHtcbiAgLyoqXG4gICAqIEJ1aWxkIGEgc2V0IG9mIGtleXMgZnJvbSBhIHBydlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHJ2IEEgcmF3IHByaXZhdGUga2V5XG4gICAqL1xuICByZWNvcmRLZXlzRnJvbVByaXZhdGVLZXkocHJ2OiBzdHJpbmcpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBCdWlsZCBhIHNldCBvZiBrZXlzIGZyb20gYSBwdWJcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHB1YiBBIHJhdyBwdWIga2V5XG4gICAqL1xuICByZWNvcmRLZXlzRnJvbVB1YmxpY0tleShwdWI6IHN0cmluZyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGtleXMgaW4gdGhlIHByb3RvY29sIGRlZmF1bHQga2V5IGZvcm1hdFxuICAgKi9cbiAgZ2V0S2V5cygpOiBhbnk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFkZHJlc3MgaW4gdGhlIHByb3RvY29sIGRlZmF1bHQgZm9ybWF0XG4gICAqL1xuICBnZXRBZGRyZXNzKGZvcm1hdD86IEFkZHJlc3NGb3JtYXQpOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
+
import { BaseKey, Entry } from './iface';
|
|
3
|
+
import { TransactionType } from './enum';
|
|
4
|
+
/**
|
|
5
|
+
* Generic transaction to be extended with coin specific logic.
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class BaseTransaction {
|
|
8
|
+
protected _id: string | undefined;
|
|
9
|
+
protected _inputs: Entry[];
|
|
10
|
+
protected _outputs: Entry[];
|
|
11
|
+
protected _type: TransactionType | undefined;
|
|
12
|
+
protected _signatures: string[];
|
|
13
|
+
protected _coinConfig: Readonly<CoinConfig>;
|
|
14
|
+
/**
|
|
15
|
+
* Base constructor.
|
|
16
|
+
*
|
|
17
|
+
* @param _coinConfig BaseCoin from statics library
|
|
18
|
+
*/
|
|
19
|
+
protected constructor(_coinConfig: Readonly<CoinConfig>);
|
|
20
|
+
/**
|
|
21
|
+
* Get the transaction id as seen in the blockchain. Transactions computed offline may not have an
|
|
22
|
+
* id, however, this is left to the coin implementation.
|
|
23
|
+
*/
|
|
24
|
+
get id(): string;
|
|
25
|
+
/**
|
|
26
|
+
* One of {@link TransactionType}
|
|
27
|
+
*/
|
|
28
|
+
get type(): TransactionType;
|
|
29
|
+
/**
|
|
30
|
+
* Get the list of outputs. Amounts are expressed in absolute value.
|
|
31
|
+
*/
|
|
32
|
+
get outputs(): Entry[];
|
|
33
|
+
/**
|
|
34
|
+
* Get the list of inputs. Amounts are expressed in absolute value.
|
|
35
|
+
*/
|
|
36
|
+
get inputs(): Entry[];
|
|
37
|
+
/**
|
|
38
|
+
* Get the list of signatures (if any) produced for this transaction.
|
|
39
|
+
*/
|
|
40
|
+
get signature(): string[];
|
|
41
|
+
/**
|
|
42
|
+
* Whether the private key can sign this transaction in its current state or not. it is possible
|
|
43
|
+
* some transactions can only enforce this check after some other fields have been filled already
|
|
44
|
+
* or even during build time.
|
|
45
|
+
*
|
|
46
|
+
* @param {BaseKey} key Private key to verify permissions on
|
|
47
|
+
* @returns {boolean} false if the key cannot sign the transaction without a doubt, true otherwise
|
|
48
|
+
*/
|
|
49
|
+
abstract canSign(key: BaseKey): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Return the transaction in a coin specific JSON format.
|
|
52
|
+
*/
|
|
53
|
+
abstract toJson(): any;
|
|
54
|
+
/**
|
|
55
|
+
* Return the transaction in a format it can be broadcasted to the blockchain.
|
|
56
|
+
*/
|
|
57
|
+
abstract toBroadcastFormat(): any;
|
|
58
|
+
/**
|
|
59
|
+
* Returns the portion of the transaction that needs to be signed in Buffer format.
|
|
60
|
+
* Only needed for coins that support adding signatures directly (e.g. TSS).
|
|
61
|
+
*/
|
|
62
|
+
get signablePayload(): Buffer;
|
|
63
|
+
/**
|
|
64
|
+
* Explain/parse a given coin transaction
|
|
65
|
+
* TODO: Move all previous explainTransactions from 'core' to 'account-lib' for other coins,
|
|
66
|
+
* TODO: convert to abstract
|
|
67
|
+
*/
|
|
68
|
+
explainTransaction(): any;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=baseTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseTransaction.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/baseTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAGzC;;GAEG;AACH,8BAAsB,eAAe;IACnC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5B,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;IAC7C,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAChC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C;;;;OAIG;IACH,SAAS,aAAa,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IASvD;;;OAGG;IACH,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,eAAe,CAE1B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,KAAK,EAAE,CAErB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,KAAK,EAAE,CAEpB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,EAAE,CAExB;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAEvC;;OAEG;IACH,QAAQ,CAAC,MAAM,IAAI,GAAG;IAEtB;;OAEG;IACH,QAAQ,CAAC,iBAAiB,IAAI,GAAG;IAEjC;;;OAGG;IACH,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED;;;;OAIG;IAEH,kBAAkB,IAAI,GAAG;CAC1B"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseTransaction = void 0;
|
|
4
|
+
const errors_1 = require("./errors");
|
|
5
|
+
/**
|
|
6
|
+
* Generic transaction to be extended with coin specific logic.
|
|
7
|
+
*/
|
|
8
|
+
class BaseTransaction {
|
|
9
|
+
/**
|
|
10
|
+
* Base constructor.
|
|
11
|
+
*
|
|
12
|
+
* @param _coinConfig BaseCoin from statics library
|
|
13
|
+
*/
|
|
14
|
+
constructor(_coinConfig) {
|
|
15
|
+
this._coinConfig = _coinConfig;
|
|
16
|
+
this._inputs = [];
|
|
17
|
+
this._outputs = [];
|
|
18
|
+
this._signatures = [];
|
|
19
|
+
this._id = undefined;
|
|
20
|
+
this._type = undefined;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get the transaction id as seen in the blockchain. Transactions computed offline may not have an
|
|
24
|
+
* id, however, this is left to the coin implementation.
|
|
25
|
+
*/
|
|
26
|
+
get id() {
|
|
27
|
+
return this._id;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* One of {@link TransactionType}
|
|
31
|
+
*/
|
|
32
|
+
get type() {
|
|
33
|
+
return this._type;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get the list of outputs. Amounts are expressed in absolute value.
|
|
37
|
+
*/
|
|
38
|
+
get outputs() {
|
|
39
|
+
return this._outputs;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get the list of inputs. Amounts are expressed in absolute value.
|
|
43
|
+
*/
|
|
44
|
+
get inputs() {
|
|
45
|
+
return this._inputs;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get the list of signatures (if any) produced for this transaction.
|
|
49
|
+
*/
|
|
50
|
+
get signature() {
|
|
51
|
+
return this._signatures;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Returns the portion of the transaction that needs to be signed in Buffer format.
|
|
55
|
+
* Only needed for coins that support adding signatures directly (e.g. TSS).
|
|
56
|
+
*/
|
|
57
|
+
get signablePayload() {
|
|
58
|
+
throw new errors_1.NotImplementedError('signablePayload not implemented');
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Explain/parse a given coin transaction
|
|
62
|
+
* TODO: Move all previous explainTransactions from 'core' to 'account-lib' for other coins,
|
|
63
|
+
* TODO: convert to abstract
|
|
64
|
+
*/
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
66
|
+
explainTransaction() { }
|
|
67
|
+
}
|
|
68
|
+
exports.BaseTransaction = BaseTransaction;
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZVRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL2Jhc2VDb2luL2Jhc2VUcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxxQ0FBK0M7QUFFL0M7O0dBRUc7QUFDSCxNQUFzQixlQUFlO0lBT25DOzs7O09BSUc7SUFDSCxZQUFzQixXQUFpQztRQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztJQUN6QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBYSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQXdCLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQXNCRDs7O09BR0c7SUFDSCxJQUFJLGVBQWU7UUFDakIsTUFBTSxJQUFJLDRCQUFtQixDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnRUFBZ0U7SUFDaEUsa0JBQWtCLEtBQVMsQ0FBQztDQUM3QjtBQTVGRCwwQ0E0RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlS2V5LCBFbnRyeSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnLi9lbnVtJztcbmltcG9ydCB7IE5vdEltcGxlbWVudGVkRXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XG5cbi8qKlxuICogR2VuZXJpYyB0cmFuc2FjdGlvbiB0byBiZSBleHRlbmRlZCB3aXRoIGNvaW4gc3BlY2lmaWMgbG9naWMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcm90ZWN0ZWQgX2lkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IC8vIFRoZSB0cmFuc2FjdGlvbiBpZCBhcyBzZWVuIGluIHRoZSBibG9ja2NoYWluXG4gIHByb3RlY3RlZCBfaW5wdXRzOiBFbnRyeVtdO1xuICBwcm90ZWN0ZWQgX291dHB1dHM6IEVudHJ5W107XG4gIHByb3RlY3RlZCBfdHlwZTogVHJhbnNhY3Rpb25UeXBlIHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgX3NpZ25hdHVyZXM6IHN0cmluZ1tdO1xuICBwcm90ZWN0ZWQgX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+O1xuICAvKipcbiAgICogQmFzZSBjb25zdHJ1Y3Rvci5cbiAgICpcbiAgICogQHBhcmFtIF9jb2luQ29uZmlnIEJhc2VDb2luIGZyb20gc3RhdGljcyBsaWJyYXJ5XG4gICAqL1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgdGhpcy5fY29pbkNvbmZpZyA9IF9jb2luQ29uZmlnO1xuICAgIHRoaXMuX2lucHV0cyA9IFtdO1xuICAgIHRoaXMuX291dHB1dHMgPSBbXTtcbiAgICB0aGlzLl9zaWduYXR1cmVzID0gW107XG4gICAgdGhpcy5faWQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fdHlwZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHRyYW5zYWN0aW9uIGlkIGFzIHNlZW4gaW4gdGhlIGJsb2NrY2hhaW4uIFRyYW5zYWN0aW9ucyBjb21wdXRlZCBvZmZsaW5lIG1heSBub3QgaGF2ZSBhblxuICAgKiBpZCwgaG93ZXZlciwgdGhpcyBpcyBsZWZ0IHRvIHRoZSBjb2luIGltcGxlbWVudGF0aW9uLlxuICAgKi9cbiAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lkIGFzIHN0cmluZztcbiAgfVxuXG4gIC8qKlxuICAgKiBPbmUgb2Yge0BsaW5rIFRyYW5zYWN0aW9uVHlwZX1cbiAgICovXG4gIGdldCB0eXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGUgYXMgVHJhbnNhY3Rpb25UeXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiBvdXRwdXRzLiBBbW91bnRzIGFyZSBleHByZXNzZWQgaW4gYWJzb2x1dGUgdmFsdWUuXG4gICAqL1xuICBnZXQgb3V0cHV0cygpOiBFbnRyeVtdIHtcbiAgICByZXR1cm4gdGhpcy5fb3V0cHV0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2YgaW5wdXRzLiBBbW91bnRzIGFyZSBleHByZXNzZWQgaW4gYWJzb2x1dGUgdmFsdWUuXG4gICAqL1xuICBnZXQgaW5wdXRzKCk6IEVudHJ5W10ge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dHM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBsaXN0IG9mIHNpZ25hdHVyZXMgKGlmIGFueSkgcHJvZHVjZWQgZm9yIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqL1xuICBnZXQgc2lnbmF0dXJlKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fc2lnbmF0dXJlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwcml2YXRlIGtleSBjYW4gc2lnbiB0aGlzIHRyYW5zYWN0aW9uIGluIGl0cyBjdXJyZW50IHN0YXRlIG9yIG5vdC4gaXQgaXMgcG9zc2libGVcbiAgICogc29tZSB0cmFuc2FjdGlvbnMgY2FuIG9ubHkgZW5mb3JjZSB0aGlzIGNoZWNrIGFmdGVyIHNvbWUgb3RoZXIgZmllbGRzIGhhdmUgYmVlbiBmaWxsZWQgYWxyZWFkeVxuICAgKiBvciBldmVuIGR1cmluZyBidWlsZCB0aW1lLlxuICAgKlxuICAgKiBAcGFyYW0ge0Jhc2VLZXl9IGtleSBQcml2YXRlIGtleSB0byB2ZXJpZnkgcGVybWlzc2lvbnMgb25cbiAgICogQHJldHVybnMge2Jvb2xlYW59IGZhbHNlIGlmIHRoZSBrZXkgY2Fubm90IHNpZ24gdGhlIHRyYW5zYWN0aW9uIHdpdGhvdXQgYSBkb3VidCwgdHJ1ZSBvdGhlcndpc2VcbiAgICovXG4gIGFic3RyYWN0IGNhblNpZ24oa2V5OiBCYXNlS2V5KTogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSB0cmFuc2FjdGlvbiBpbiBhIGNvaW4gc3BlY2lmaWMgSlNPTiBmb3JtYXQuXG4gICAqL1xuICBhYnN0cmFjdCB0b0pzb24oKTogYW55O1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHRyYW5zYWN0aW9uIGluIGEgZm9ybWF0IGl0IGNhbiBiZSBicm9hZGNhc3RlZCB0byB0aGUgYmxvY2tjaGFpbi5cbiAgICovXG4gIGFic3RyYWN0IHRvQnJvYWRjYXN0Rm9ybWF0KCk6IGFueTtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcG9ydGlvbiBvZiB0aGUgdHJhbnNhY3Rpb24gdGhhdCBuZWVkcyB0byBiZSBzaWduZWQgaW4gQnVmZmVyIGZvcm1hdC5cbiAgICogT25seSBuZWVkZWQgZm9yIGNvaW5zIHRoYXQgc3VwcG9ydCBhZGRpbmcgc2lnbmF0dXJlcyBkaXJlY3RseSAoZS5nLiBUU1MpLlxuICAgKi9cbiAgZ2V0IHNpZ25hYmxlUGF5bG9hZCgpOiBCdWZmZXIge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdzaWduYWJsZVBheWxvYWQgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogRXhwbGFpbi9wYXJzZSBhIGdpdmVuIGNvaW4gdHJhbnNhY3Rpb25cbiAgICogVE9ETzogTW92ZSBhbGwgcHJldmlvdXMgZXhwbGFpblRyYW5zYWN0aW9ucyBmcm9tICdjb3JlJyB0byAnYWNjb3VudC1saWInIGZvciBvdGhlciBjb2lucyxcbiAgICogVE9ETzogY29udmVydCB0byBhYnN0cmFjdFxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBleHBsYWluVHJhbnNhY3Rpb24oKTogYW55IHt9XG59XG4iXX0=
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
|
2
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
+
import { BaseAddress, BaseKey, PublicKey, ValidityWindow } from './iface';
|
|
4
|
+
import { BaseTransaction } from './baseTransaction';
|
|
5
|
+
/**
|
|
6
|
+
* Generic transaction builder to be extended with coin specific logic.
|
|
7
|
+
* Provide a set of default steps (i.e. from, sign, build) and enforces mandatory validations.
|
|
8
|
+
*/
|
|
9
|
+
export declare abstract class BaseTransactionBuilder {
|
|
10
|
+
protected _coinConfig: Readonly<CoinConfig>;
|
|
11
|
+
/**
|
|
12
|
+
* Base constructor.
|
|
13
|
+
*
|
|
14
|
+
* @param _coinConfig BaseCoin from statics library
|
|
15
|
+
*/
|
|
16
|
+
protected constructor(_coinConfig: Readonly<CoinConfig>);
|
|
17
|
+
/**
|
|
18
|
+
* Parse a transaction based on existing data. The input format is determined by the coin
|
|
19
|
+
* extending this class. Some examples are hex, base64, or JSON.
|
|
20
|
+
*
|
|
21
|
+
* @param rawTransaction A raw transaction to be parsed
|
|
22
|
+
* @param isFirstSigner Whether the transaction is being signed by the first signer
|
|
23
|
+
*/
|
|
24
|
+
from(rawTransaction: any, isFirstSigner?: boolean): void;
|
|
25
|
+
/**
|
|
26
|
+
* Coin specific implementation of {@code from}.
|
|
27
|
+
*
|
|
28
|
+
* @see {@link from}
|
|
29
|
+
* @returns the parsed coin specific transaction object
|
|
30
|
+
*/
|
|
31
|
+
protected abstract fromImplementation(rawTransaction: any, isFirstSigner?: boolean): BaseTransaction;
|
|
32
|
+
/**
|
|
33
|
+
* Validate keys and sign the transaction.
|
|
34
|
+
*
|
|
35
|
+
* @param key One of the keys associated with this transaction
|
|
36
|
+
*/
|
|
37
|
+
sign(key: BaseKey): void;
|
|
38
|
+
/**
|
|
39
|
+
* Adds a signature to the transaction.
|
|
40
|
+
*
|
|
41
|
+
* @param publicKey public key that produced the signature
|
|
42
|
+
* @param signature raw signature as a hex encoded Buffer
|
|
43
|
+
*/
|
|
44
|
+
addSignature(publicKey: PublicKey, signature: Buffer): void;
|
|
45
|
+
/**
|
|
46
|
+
* Coin specific implementation of {@code sign}.
|
|
47
|
+
*
|
|
48
|
+
* @see {@link sign}
|
|
49
|
+
* @returns coin specific transaction with signature data
|
|
50
|
+
*/
|
|
51
|
+
protected abstract signImplementation(key: BaseKey): BaseTransaction;
|
|
52
|
+
/**
|
|
53
|
+
* Finalize the transaction by performing any extra step like calculating hashes, verifying
|
|
54
|
+
* integrity, or adding default values.
|
|
55
|
+
*
|
|
56
|
+
* @returns valid coin specific transaction (signed or unsigned)
|
|
57
|
+
*/
|
|
58
|
+
build(): Promise<BaseTransaction>;
|
|
59
|
+
/**
|
|
60
|
+
* Coin specific implementation of {@code build}.
|
|
61
|
+
*
|
|
62
|
+
* @see {@link build}
|
|
63
|
+
* @returns valid coin specific transaction (signed or unsigned)
|
|
64
|
+
*/
|
|
65
|
+
protected abstract buildImplementation(): Promise<BaseTransaction>;
|
|
66
|
+
/**
|
|
67
|
+
* Check the private key is present and is valid in the blockchain context, throw otherwise.
|
|
68
|
+
*
|
|
69
|
+
* @param {BaseKey} key Private key to validate
|
|
70
|
+
*/
|
|
71
|
+
abstract validateKey(key: BaseKey): void;
|
|
72
|
+
/**
|
|
73
|
+
* Check the address provided is valid in the blockchain context, throw otherwise.
|
|
74
|
+
*
|
|
75
|
+
* @param address Address data to be validated
|
|
76
|
+
* @param addressFormat The format the address should be in if more than one is supported
|
|
77
|
+
*/
|
|
78
|
+
abstract validateAddress(address: BaseAddress, addressFormat?: string): void;
|
|
79
|
+
/**
|
|
80
|
+
* Check the amount provided is valid in the blockchain context, throw otherwise.
|
|
81
|
+
*
|
|
82
|
+
* @param {BigNumber} value Transaction amount
|
|
83
|
+
*/
|
|
84
|
+
abstract validateValue(value: BigNumber): void;
|
|
85
|
+
/**
|
|
86
|
+
* Check the raw transaction has a valid format in the blockchain context, throw otherwise.
|
|
87
|
+
*
|
|
88
|
+
* @param rawTransaction Transaction in any format
|
|
89
|
+
*/
|
|
90
|
+
abstract validateRawTransaction(rawTransaction: any): void;
|
|
91
|
+
/**
|
|
92
|
+
* Check the transaction mandatory fields per transaction type and ensures it is valid, throw
|
|
93
|
+
* otherwise.
|
|
94
|
+
*
|
|
95
|
+
* @param {BaseTransaction} transaction
|
|
96
|
+
*/
|
|
97
|
+
abstract validateTransaction(transaction?: BaseTransaction): void;
|
|
98
|
+
/**
|
|
99
|
+
* Get the underlying coin full name as specified in the statics library.
|
|
100
|
+
*/
|
|
101
|
+
displayName(): string;
|
|
102
|
+
/**
|
|
103
|
+
* Get the underlying coin full name as specified in the statics library.
|
|
104
|
+
*/
|
|
105
|
+
coinName(): string;
|
|
106
|
+
/**
|
|
107
|
+
* Verified validity windows params if them exist and return a valid validity windows.
|
|
108
|
+
* Unit param must be specified
|
|
109
|
+
* If params are not consistent, default params will be return based on firstValid and minDuration
|
|
110
|
+
* @param {ValidityWindow} params validity windows parameters to validate.
|
|
111
|
+
* @param {String} params.unit Parameter that could be 'blockheight' or 'timestamp'
|
|
112
|
+
* @param {Number} [params.minDuration] Optional - Minimum duration of the window
|
|
113
|
+
* @param {Number} [params.maxDuration] Optional - Maximum duration of the window
|
|
114
|
+
* @param {Number} [params.firstValid] Optional - First valid value
|
|
115
|
+
* @param {Number} [params.lastValid] Optional - Last valid value
|
|
116
|
+
* @returns {ValidityWindow} verified validity windows or default values
|
|
117
|
+
*/
|
|
118
|
+
getValidityWindow(params: ValidityWindow): ValidityWindow;
|
|
119
|
+
/**
|
|
120
|
+
* Get the transaction being built.
|
|
121
|
+
*/
|
|
122
|
+
protected abstract get transaction(): BaseTransaction;
|
|
123
|
+
/**
|
|
124
|
+
* Set the transaction being built.
|
|
125
|
+
*/
|
|
126
|
+
protected abstract set transaction(transaction: BaseTransaction);
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=baseTransactionBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/baseTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;;GAGG;AACH,8BAAsB,sBAAsB;IAC1C,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C;;;;OAIG;IACH,SAAS,aAAa,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAIvD;;;;;;OAMG;IACH,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI;IAKxD;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,cAAc,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,eAAe;IAEpG;;;;OAIG;IACH,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IASxB;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAI3D;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe;IAEpE;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC;IAKvC;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,IAAI,OAAO,CAAC,eAAe,CAAC;IAElE;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAE5E;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAE9C;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,CAAC,cAAc,EAAE,GAAG,GAAG,IAAI;IAE1D;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI;IAEjE;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc;IAyDzD;;OAEG;IACH,SAAS,CAAC,QAAQ,KAAK,WAAW,IAAI,eAAe,CAAC;IAEtD;;OAEG;IACH,SAAS,CAAC,QAAQ,KAAK,WAAW,CAAC,WAAW,EAAE,eAAe,EAAE;CAClE"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseTransactionBuilder = void 0;
|
|
4
|
+
const errors_1 = require("./errors");
|
|
5
|
+
/**
|
|
6
|
+
* Generic transaction builder to be extended with coin specific logic.
|
|
7
|
+
* Provide a set of default steps (i.e. from, sign, build) and enforces mandatory validations.
|
|
8
|
+
*/
|
|
9
|
+
class BaseTransactionBuilder {
|
|
10
|
+
/**
|
|
11
|
+
* Base constructor.
|
|
12
|
+
*
|
|
13
|
+
* @param _coinConfig BaseCoin from statics library
|
|
14
|
+
*/
|
|
15
|
+
constructor(_coinConfig) {
|
|
16
|
+
this._coinConfig = _coinConfig;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Parse a transaction based on existing data. The input format is determined by the coin
|
|
20
|
+
* extending this class. Some examples are hex, base64, or JSON.
|
|
21
|
+
*
|
|
22
|
+
* @param rawTransaction A raw transaction to be parsed
|
|
23
|
+
* @param isFirstSigner Whether the transaction is being signed by the first signer
|
|
24
|
+
*/
|
|
25
|
+
from(rawTransaction, isFirstSigner) {
|
|
26
|
+
this.validateRawTransaction(rawTransaction);
|
|
27
|
+
this.transaction = this.fromImplementation(rawTransaction, isFirstSigner);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Validate keys and sign the transaction.
|
|
31
|
+
*
|
|
32
|
+
* @param key One of the keys associated with this transaction
|
|
33
|
+
*/
|
|
34
|
+
sign(key) {
|
|
35
|
+
this.validateKey(key);
|
|
36
|
+
if (!this.transaction.canSign(key)) {
|
|
37
|
+
throw new errors_1.SigningError('Private key cannot sign the transaction');
|
|
38
|
+
}
|
|
39
|
+
this.transaction = this.signImplementation(key);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Adds a signature to the transaction.
|
|
43
|
+
*
|
|
44
|
+
* @param publicKey public key that produced the signature
|
|
45
|
+
* @param signature raw signature as a hex encoded Buffer
|
|
46
|
+
*/
|
|
47
|
+
addSignature(publicKey, signature) {
|
|
48
|
+
throw new errors_1.SigningError(`${this.coinName()} does not support adding signatures directly.`);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Finalize the transaction by performing any extra step like calculating hashes, verifying
|
|
52
|
+
* integrity, or adding default values.
|
|
53
|
+
*
|
|
54
|
+
* @returns valid coin specific transaction (signed or unsigned)
|
|
55
|
+
*/
|
|
56
|
+
async build() {
|
|
57
|
+
this.validateTransaction(this.transaction);
|
|
58
|
+
return this.buildImplementation();
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Get the underlying coin full name as specified in the statics library.
|
|
62
|
+
*/
|
|
63
|
+
displayName() {
|
|
64
|
+
return this._coinConfig.fullName;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Get the underlying coin full name as specified in the statics library.
|
|
68
|
+
*/
|
|
69
|
+
coinName() {
|
|
70
|
+
return this._coinConfig.name;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Verified validity windows params if them exist and return a valid validity windows.
|
|
74
|
+
* Unit param must be specified
|
|
75
|
+
* If params are not consistent, default params will be return based on firstValid and minDuration
|
|
76
|
+
* @param {ValidityWindow} params validity windows parameters to validate.
|
|
77
|
+
* @param {String} params.unit Parameter that could be 'blockheight' or 'timestamp'
|
|
78
|
+
* @param {Number} [params.minDuration] Optional - Minimum duration of the window
|
|
79
|
+
* @param {Number} [params.maxDuration] Optional - Maximum duration of the window
|
|
80
|
+
* @param {Number} [params.firstValid] Optional - First valid value
|
|
81
|
+
* @param {Number} [params.lastValid] Optional - Last valid value
|
|
82
|
+
* @returns {ValidityWindow} verified validity windows or default values
|
|
83
|
+
*/
|
|
84
|
+
getValidityWindow(params) {
|
|
85
|
+
if (!params.unit || (params.unit !== 'timestamp' && params.unit !== 'blockheight')) {
|
|
86
|
+
throw new Error('Unit parameter must be specified as blockheight or timestamp');
|
|
87
|
+
}
|
|
88
|
+
const unit = params.unit;
|
|
89
|
+
let defaultMinDuration;
|
|
90
|
+
let defaultMaxDuration;
|
|
91
|
+
let defaultFirstValid;
|
|
92
|
+
let defaultLastValid;
|
|
93
|
+
/* Set Default Params
|
|
94
|
+
minimum duration is set as 1 hr (3600000 msec) if unit is timestamp or 20 blocks if it is blockheight
|
|
95
|
+
maximum duration is set as 1 year (31536000000 msec) if unit is timestamp or 1000000 blocks if it is blockheight.
|
|
96
|
+
*/
|
|
97
|
+
if (unit === 'timestamp') {
|
|
98
|
+
defaultMinDuration = 0;
|
|
99
|
+
defaultMaxDuration = 31536000000;
|
|
100
|
+
defaultFirstValid = Date.now();
|
|
101
|
+
defaultLastValid = defaultFirstValid + defaultMaxDuration;
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
defaultMinDuration = 0;
|
|
105
|
+
defaultMaxDuration = 1000000;
|
|
106
|
+
defaultFirstValid = 0;
|
|
107
|
+
defaultLastValid = defaultFirstValid + defaultMaxDuration;
|
|
108
|
+
}
|
|
109
|
+
// If any params exist, they will be used, otherwise it will be used default params.
|
|
110
|
+
let firstValid = params.firstValid || defaultFirstValid;
|
|
111
|
+
let lastValid = params.lastValid || defaultLastValid;
|
|
112
|
+
let minDuration = params.minDuration || defaultMinDuration;
|
|
113
|
+
let maxDuration = params.maxDuration || defaultMaxDuration;
|
|
114
|
+
/* Validate Params:
|
|
115
|
+
minDuration < maxDuration
|
|
116
|
+
firstValid < lastValid
|
|
117
|
+
firstValid + minDuration <= lastValid <= firstValid + maxDuration
|
|
118
|
+
*/
|
|
119
|
+
if (minDuration >= maxDuration) {
|
|
120
|
+
throw new Error(`Expected maxDuration (${maxDuration}) to be grather than minDuration (${minDuration})`);
|
|
121
|
+
}
|
|
122
|
+
firstValid = firstValid >= 0 ? firstValid : defaultFirstValid;
|
|
123
|
+
minDuration = minDuration >= 0 ? minDuration : defaultMinDuration;
|
|
124
|
+
maxDuration = maxDuration > minDuration ? maxDuration : defaultMaxDuration;
|
|
125
|
+
lastValid =
|
|
126
|
+
lastValid >= firstValid + minDuration && lastValid <= firstValid + maxDuration
|
|
127
|
+
? lastValid
|
|
128
|
+
: firstValid + maxDuration;
|
|
129
|
+
return {
|
|
130
|
+
firstValid,
|
|
131
|
+
lastValid,
|
|
132
|
+
minDuration,
|
|
133
|
+
maxDuration,
|
|
134
|
+
unit,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
exports.BaseTransactionBuilder = BaseTransactionBuilder;
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZVRyYW5zYWN0aW9uQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY2NvdW50LWxpYi9iYXNlQ29pbi9iYXNlVHJhbnNhY3Rpb25CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFDQUF3QztBQUV4Qzs7O0dBR0c7QUFDSCxNQUFzQixzQkFBc0I7SUFFMUM7Ozs7T0FJRztJQUNILFlBQXNCLFdBQWlDO1FBQ3JELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxJQUFJLENBQUMsY0FBbUIsRUFBRSxhQUF1QjtRQUMvQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFVRDs7OztPQUlHO0lBQ0gsSUFBSSxDQUFDLEdBQVk7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxxQkFBWSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxTQUFvQixFQUFFLFNBQWlCO1FBQ2xELE1BQU0sSUFBSSxxQkFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSwrQ0FBK0MsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFVRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUErQ0Q7O09BRUc7SUFDSCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxpQkFBaUIsQ0FBQyxNQUFzQjtRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNuRixNQUFNLElBQUksS0FBSyxDQUFDLDhEQUE4RCxDQUFDLENBQUM7UUFDbEYsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxrQkFBMEIsQ0FBQztRQUMvQixJQUFJLGtCQUEwQixDQUFDO1FBQy9CLElBQUksaUJBQXlCLENBQUM7UUFDOUIsSUFBSSxnQkFBd0IsQ0FBQztRQUU3Qjs7O1dBR0c7UUFDSCxJQUFJLElBQUksS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUN6QixrQkFBa0IsR0FBRyxDQUFDLENBQUM7WUFDdkIsa0JBQWtCLEdBQUcsV0FBVyxDQUFDO1lBQ2pDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMvQixnQkFBZ0IsR0FBRyxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQztRQUM1RCxDQUFDO2FBQU0sQ0FBQztZQUNOLGtCQUFrQixHQUFHLENBQUMsQ0FBQztZQUN2QixrQkFBa0IsR0FBRyxPQUFPLENBQUM7WUFDN0IsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO1lBQ3RCLGdCQUFnQixHQUFHLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDO1FBQzVELENBQUM7UUFFRCxvRkFBb0Y7UUFDcEYsSUFBSSxVQUFVLEdBQVcsTUFBTSxDQUFDLFVBQVUsSUFBSSxpQkFBaUIsQ0FBQztRQUNoRSxJQUFJLFNBQVMsR0FBVyxNQUFNLENBQUMsU0FBUyxJQUFJLGdCQUFnQixDQUFDO1FBQzdELElBQUksV0FBVyxHQUFXLE1BQU0sQ0FBQyxXQUFXLElBQUksa0JBQWtCLENBQUM7UUFDbkUsSUFBSSxXQUFXLEdBQVcsTUFBTSxDQUFDLFdBQVcsSUFBSSxrQkFBa0IsQ0FBQztRQUVuRTs7OztXQUlHO1FBQ0gsSUFBSSxXQUFXLElBQUksV0FBVyxFQUFFLENBQUM7WUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsV0FBVyxxQ0FBcUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUMzRyxDQUFDO1FBQ0QsVUFBVSxHQUFHLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7UUFDOUQsV0FBVyxHQUFHLFdBQVcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7UUFDbEUsV0FBVyxHQUFHLFdBQVcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7UUFDM0UsU0FBUztZQUNQLFNBQVMsSUFBSSxVQUFVLEdBQUcsV0FBVyxJQUFJLFNBQVMsSUFBSSxVQUFVLEdBQUcsV0FBVztnQkFDNUUsQ0FBQyxDQUFDLFNBQVM7Z0JBQ1gsQ0FBQyxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUM7UUFFL0IsT0FBTztZQUNMLFVBQVU7WUFDVixTQUFTO1lBQ1QsV0FBVztZQUNYLFdBQVc7WUFDWCxJQUFJO1NBQ0wsQ0FBQztJQUNKLENBQUM7Q0FXRjtBQW5ORCx3REFtTkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlQWRkcmVzcywgQmFzZUtleSwgUHVibGljS2V5LCBWYWxpZGl0eVdpbmRvdyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgQmFzZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi9iYXNlVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgU2lnbmluZ0Vycm9yIH0gZnJvbSAnLi9lcnJvcnMnO1xuXG4vKipcbiAqIEdlbmVyaWMgdHJhbnNhY3Rpb24gYnVpbGRlciB0byBiZSBleHRlbmRlZCB3aXRoIGNvaW4gc3BlY2lmaWMgbG9naWMuXG4gKiBQcm92aWRlIGEgc2V0IG9mIGRlZmF1bHQgc3RlcHMgKGkuZS4gZnJvbSwgc2lnbiwgYnVpbGQpIGFuZCBlbmZvcmNlcyBtYW5kYXRvcnkgdmFsaWRhdGlvbnMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPjtcbiAgLyoqXG4gICAqIEJhc2UgY29uc3RydWN0b3IuXG4gICAqXG4gICAqIEBwYXJhbSBfY29pbkNvbmZpZyBCYXNlQ29pbiBmcm9tIHN0YXRpY3MgbGlicmFyeVxuICAgKi9cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHRoaXMuX2NvaW5Db25maWcgPSBfY29pbkNvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBhIHRyYW5zYWN0aW9uIGJhc2VkIG9uIGV4aXN0aW5nIGRhdGEuIFRoZSBpbnB1dCBmb3JtYXQgaXMgZGV0ZXJtaW5lZCBieSB0aGUgY29pblxuICAgKiBleHRlbmRpbmcgdGhpcyBjbGFzcy4gU29tZSBleGFtcGxlcyBhcmUgaGV4LCBiYXNlNjQsIG9yIEpTT04uXG4gICAqXG4gICAqIEBwYXJhbSByYXdUcmFuc2FjdGlvbiBBIHJhdyB0cmFuc2FjdGlvbiB0byBiZSBwYXJzZWRcbiAgICogQHBhcmFtIGlzRmlyc3RTaWduZXIgV2hldGhlciB0aGUgdHJhbnNhY3Rpb24gaXMgYmVpbmcgc2lnbmVkIGJ5IHRoZSBmaXJzdCBzaWduZXJcbiAgICovXG4gIGZyb20ocmF3VHJhbnNhY3Rpb246IGFueSwgaXNGaXJzdFNpZ25lcj86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHRoaXMudHJhbnNhY3Rpb24gPSB0aGlzLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbiwgaXNGaXJzdFNpZ25lcik7XG4gIH1cblxuICAvKipcbiAgICogQ29pbiBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB7QGNvZGUgZnJvbX0uXG4gICAqXG4gICAqIEBzZWUge0BsaW5rIGZyb219XG4gICAqIEByZXR1cm5zIHRoZSBwYXJzZWQgY29pbiBzcGVjaWZpYyB0cmFuc2FjdGlvbiBvYmplY3RcbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IGFueSwgaXNGaXJzdFNpZ25lcj86IGJvb2xlYW4pOiBCYXNlVHJhbnNhY3Rpb247XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGtleXMgYW5kIHNpZ24gdGhlIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IE9uZSBvZiB0aGUga2V5cyBhc3NvY2lhdGVkIHdpdGggdGhpcyB0cmFuc2FjdGlvblxuICAgKi9cbiAgc2lnbihrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlS2V5KGtleSk7XG4gICAgaWYgKCF0aGlzLnRyYW5zYWN0aW9uLmNhblNpZ24oa2V5KSkge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignUHJpdmF0ZSBrZXkgY2Fubm90IHNpZ24gdGhlIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuXG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IHRoaXMuc2lnbkltcGxlbWVudGF0aW9uKGtleSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHNpZ25hdHVyZSB0byB0aGUgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwdWJsaWNLZXkgcHVibGljIGtleSB0aGF0IHByb2R1Y2VkIHRoZSBzaWduYXR1cmVcbiAgICogQHBhcmFtIHNpZ25hdHVyZSByYXcgc2lnbmF0dXJlIGFzIGEgaGV4IGVuY29kZWQgQnVmZmVyXG4gICAqL1xuICBhZGRTaWduYXR1cmUocHVibGljS2V5OiBQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcihgJHt0aGlzLmNvaW5OYW1lKCl9IGRvZXMgbm90IHN1cHBvcnQgYWRkaW5nIHNpZ25hdHVyZXMgZGlyZWN0bHkuYCk7XG4gIH1cblxuICAvKipcbiAgICogQ29pbiBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB7QGNvZGUgc2lnbn0uXG4gICAqXG4gICAqIEBzZWUge0BsaW5rIHNpZ259XG4gICAqIEByZXR1cm5zIGNvaW4gc3BlY2lmaWMgdHJhbnNhY3Rpb24gd2l0aCBzaWduYXR1cmUgZGF0YVxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNpZ25JbXBsZW1lbnRhdGlvbihrZXk6IEJhc2VLZXkpOiBCYXNlVHJhbnNhY3Rpb247XG5cbiAgLyoqXG4gICAqIEZpbmFsaXplIHRoZSB0cmFuc2FjdGlvbiBieSBwZXJmb3JtaW5nIGFueSBleHRyYSBzdGVwIGxpa2UgY2FsY3VsYXRpbmcgaGFzaGVzLCB2ZXJpZnlpbmdcbiAgICogaW50ZWdyaXR5LCBvciBhZGRpbmcgZGVmYXVsdCB2YWx1ZXMuXG4gICAqXG4gICAqIEByZXR1cm5zIHZhbGlkIGNvaW4gc3BlY2lmaWMgdHJhbnNhY3Rpb24gKHNpZ25lZCBvciB1bnNpZ25lZClcbiAgICovXG4gIGFzeW5jIGJ1aWxkKCk6IFByb21pc2U8QmFzZVRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy52YWxpZGF0ZVRyYW5zYWN0aW9uKHRoaXMudHJhbnNhY3Rpb24pO1xuICAgIHJldHVybiB0aGlzLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb2luIHNwZWNpZmljIGltcGxlbWVudGF0aW9uIG9mIHtAY29kZSBidWlsZH0uXG4gICAqXG4gICAqIEBzZWUge0BsaW5rIGJ1aWxkfVxuICAgKiBAcmV0dXJucyB2YWxpZCBjb2luIHNwZWNpZmljIHRyYW5zYWN0aW9uIChzaWduZWQgb3IgdW5zaWduZWQpXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPEJhc2VUcmFuc2FjdGlvbj47XG5cbiAgLyoqXG4gICAqIENoZWNrIHRoZSBwcml2YXRlIGtleSBpcyBwcmVzZW50IGFuZCBpcyB2YWxpZCBpbiB0aGUgYmxvY2tjaGFpbiBjb250ZXh0LCB0aHJvdyBvdGhlcndpc2UuXG4gICAqXG4gICAqIEBwYXJhbSB7QmFzZUtleX0ga2V5IFByaXZhdGUga2V5IHRvIHZhbGlkYXRlXG4gICAqL1xuICBhYnN0cmFjdCB2YWxpZGF0ZUtleShrZXk6IEJhc2VLZXkpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgYWRkcmVzcyBwcm92aWRlZCBpcyB2YWxpZCBpbiB0aGUgYmxvY2tjaGFpbiBjb250ZXh0LCB0aHJvdyBvdGhlcndpc2UuXG4gICAqXG4gICAqIEBwYXJhbSBhZGRyZXNzIEFkZHJlc3MgZGF0YSB0byBiZSB2YWxpZGF0ZWRcbiAgICogQHBhcmFtIGFkZHJlc3NGb3JtYXQgVGhlIGZvcm1hdCB0aGUgYWRkcmVzcyBzaG91bGQgYmUgaW4gaWYgbW9yZSB0aGFuIG9uZSBpcyBzdXBwb3J0ZWRcbiAgICovXG4gIGFic3RyYWN0IHZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzOiBCYXNlQWRkcmVzcywgYWRkcmVzc0Zvcm1hdD86IHN0cmluZyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENoZWNrIHRoZSBhbW91bnQgcHJvdmlkZWQgaXMgdmFsaWQgaW4gdGhlIGJsb2NrY2hhaW4gY29udGV4dCwgdGhyb3cgb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBAcGFyYW0ge0JpZ051bWJlcn0gdmFsdWUgVHJhbnNhY3Rpb24gYW1vdW50XG4gICAqL1xuICBhYnN0cmFjdCB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBCaWdOdW1iZXIpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgcmF3IHRyYW5zYWN0aW9uIGhhcyBhIHZhbGlkIGZvcm1hdCBpbiB0aGUgYmxvY2tjaGFpbiBjb250ZXh0LCB0aHJvdyBvdGhlcndpc2UuXG4gICAqXG4gICAqIEBwYXJhbSByYXdUcmFuc2FjdGlvbiBUcmFuc2FjdGlvbiBpbiBhbnkgZm9ybWF0XG4gICAqL1xuICBhYnN0cmFjdCB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBhbnkpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgdHJhbnNhY3Rpb24gbWFuZGF0b3J5IGZpZWxkcyBwZXIgdHJhbnNhY3Rpb24gdHlwZSBhbmQgZW5zdXJlcyBpdCBpcyB2YWxpZCwgdGhyb3dcbiAgICogb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBAcGFyYW0ge0Jhc2VUcmFuc2FjdGlvbn0gdHJhbnNhY3Rpb25cbiAgICovXG4gIGFic3RyYWN0IHZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24/OiBCYXNlVHJhbnNhY3Rpb24pOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHVuZGVybHlpbmcgY29pbiBmdWxsIG5hbWUgYXMgc3BlY2lmaWVkIGluIHRoZSBzdGF0aWNzIGxpYnJhcnkuXG4gICAqL1xuICBkaXNwbGF5TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jb2luQ29uZmlnLmZ1bGxOYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdW5kZXJseWluZyBjb2luIGZ1bGwgbmFtZSBhcyBzcGVjaWZpZWQgaW4gdGhlIHN0YXRpY3MgbGlicmFyeS5cbiAgICovXG4gIGNvaW5OYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvaW5Db25maWcubmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZmllZCB2YWxpZGl0eSB3aW5kb3dzIHBhcmFtcyBpZiB0aGVtIGV4aXN0IGFuZCByZXR1cm4gYSB2YWxpZCB2YWxpZGl0eSB3aW5kb3dzLlxuICAgKiBVbml0IHBhcmFtIG11c3QgYmUgc3BlY2lmaWVkXG4gICAqIElmIHBhcmFtcyBhcmUgbm90IGNvbnNpc3RlbnQsIGRlZmF1bHQgcGFyYW1zIHdpbGwgYmUgcmV0dXJuIGJhc2VkIG9uIGZpcnN0VmFsaWQgYW5kIG1pbkR1cmF0aW9uXG4gICAqIEBwYXJhbSB7VmFsaWRpdHlXaW5kb3d9IHBhcmFtcyB2YWxpZGl0eSB3aW5kb3dzIHBhcmFtZXRlcnMgdG8gdmFsaWRhdGUuXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBwYXJhbXMudW5pdCBQYXJhbWV0ZXIgdGhhdCBjb3VsZCBiZSAnYmxvY2toZWlnaHQnIG9yICd0aW1lc3RhbXAnXG4gICAqIEBwYXJhbSB7TnVtYmVyfSBbcGFyYW1zLm1pbkR1cmF0aW9uXSBPcHRpb25hbCAtIE1pbmltdW0gZHVyYXRpb24gb2YgdGhlIHdpbmRvd1xuICAgKiBAcGFyYW0ge051bWJlcn0gW3BhcmFtcy5tYXhEdXJhdGlvbl0gT3B0aW9uYWwgLSBNYXhpbXVtIGR1cmF0aW9uIG9mIHRoZSB3aW5kb3dcbiAgICogQHBhcmFtIHtOdW1iZXJ9IFtwYXJhbXMuZmlyc3RWYWxpZF0gT3B0aW9uYWwgLSBGaXJzdCB2YWxpZCB2YWx1ZVxuICAgKiBAcGFyYW0ge051bWJlcn0gW3BhcmFtcy5sYXN0VmFsaWRdIE9wdGlvbmFsIC0gTGFzdCB2YWxpZCB2YWx1ZVxuICAgKiBAcmV0dXJucyB7VmFsaWRpdHlXaW5kb3d9IHZlcmlmaWVkIHZhbGlkaXR5IHdpbmRvd3Mgb3IgZGVmYXVsdCB2YWx1ZXNcbiAgICovXG4gIGdldFZhbGlkaXR5V2luZG93KHBhcmFtczogVmFsaWRpdHlXaW5kb3cpOiBWYWxpZGl0eVdpbmRvdyB7XG4gICAgaWYgKCFwYXJhbXMudW5pdCB8fCAocGFyYW1zLnVuaXQgIT09ICd0aW1lc3RhbXAnICYmIHBhcmFtcy51bml0ICE9PSAnYmxvY2toZWlnaHQnKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbml0IHBhcmFtZXRlciBtdXN0IGJlIHNwZWNpZmllZCBhcyBibG9ja2hlaWdodCBvciB0aW1lc3RhbXAnKTtcbiAgICB9XG4gICAgY29uc3QgdW5pdCA9IHBhcmFtcy51bml0O1xuICAgIGxldCBkZWZhdWx0TWluRHVyYXRpb246IG51bWJlcjtcbiAgICBsZXQgZGVmYXVsdE1heER1cmF0aW9uOiBudW1iZXI7XG4gICAgbGV0IGRlZmF1bHRGaXJzdFZhbGlkOiBudW1iZXI7XG4gICAgbGV0IGRlZmF1bHRMYXN0VmFsaWQ6IG51bWJlcjtcblxuICAgIC8qIFNldCBEZWZhdWx0IFBhcmFtc1xuICAgICAgbWluaW11bSBkdXJhdGlvbiBpcyBzZXQgYXMgMSBociAoMzYwMDAwMCBtc2VjKSBpZiB1bml0IGlzIHRpbWVzdGFtcCBvciAyMCBibG9ja3MgaWYgaXQgaXMgYmxvY2toZWlnaHRcbiAgICAgIG1heGltdW0gZHVyYXRpb24gaXMgc2V0IGFzIDEgeWVhciAoMzE1MzYwMDAwMDAgbXNlYykgaWYgdW5pdCBpcyB0aW1lc3RhbXAgb3IgMTAwMDAwMCBibG9ja3MgaWYgaXQgaXMgYmxvY2toZWlnaHQuXG4gICAgICovXG4gICAgaWYgKHVuaXQgPT09ICd0aW1lc3RhbXAnKSB7XG4gICAgICBkZWZhdWx0TWluRHVyYXRpb24gPSAwO1xuICAgICAgZGVmYXVsdE1heER1cmF0aW9uID0gMzE1MzYwMDAwMDA7XG4gICAgICBkZWZhdWx0Rmlyc3RWYWxpZCA9IERhdGUubm93KCk7XG4gICAgICBkZWZhdWx0TGFzdFZhbGlkID0gZGVmYXVsdEZpcnN0VmFsaWQgKyBkZWZhdWx0TWF4RHVyYXRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlZmF1bHRNaW5EdXJhdGlvbiA9IDA7XG4gICAgICBkZWZhdWx0TWF4RHVyYXRpb24gPSAxMDAwMDAwO1xuICAgICAgZGVmYXVsdEZpcnN0VmFsaWQgPSAwO1xuICAgICAgZGVmYXVsdExhc3RWYWxpZCA9IGRlZmF1bHRGaXJzdFZhbGlkICsgZGVmYXVsdE1heER1cmF0aW9uO1xuICAgIH1cblxuICAgIC8vIElmIGFueSBwYXJhbXMgZXhpc3QsIHRoZXkgd2lsbCBiZSB1c2VkLCBvdGhlcndpc2UgaXQgd2lsbCBiZSB1c2VkIGRlZmF1bHQgcGFyYW1zLlxuICAgIGxldCBmaXJzdFZhbGlkOiBudW1iZXIgPSBwYXJhbXMuZmlyc3RWYWxpZCB8fCBkZWZhdWx0Rmlyc3RWYWxpZDtcbiAgICBsZXQgbGFzdFZhbGlkOiBudW1iZXIgPSBwYXJhbXMubGFzdFZhbGlkIHx8IGRlZmF1bHRMYXN0VmFsaWQ7XG4gICAgbGV0IG1pbkR1cmF0aW9uOiBudW1iZXIgPSBwYXJhbXMubWluRHVyYXRpb24gfHwgZGVmYXVsdE1pbkR1cmF0aW9uO1xuICAgIGxldCBtYXhEdXJhdGlvbjogbnVtYmVyID0gcGFyYW1zLm1heER1cmF0aW9uIHx8IGRlZmF1bHRNYXhEdXJhdGlvbjtcblxuICAgIC8qIFZhbGlkYXRlIFBhcmFtczpcbiAgICAgIG1pbkR1cmF0aW9uIDwgbWF4RHVyYXRpb25cbiAgICAgIGZpcnN0VmFsaWQgPCBsYXN0VmFsaWRcbiAgICAgIGZpcnN0VmFsaWQgKyBtaW5EdXJhdGlvbiA8PSBsYXN0VmFsaWQgPD0gZmlyc3RWYWxpZCArIG1heER1cmF0aW9uXG4gICAgICovXG4gICAgaWYgKG1pbkR1cmF0aW9uID49IG1heER1cmF0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIG1heER1cmF0aW9uICgke21heER1cmF0aW9ufSkgdG8gYmUgZ3JhdGhlciB0aGFuIG1pbkR1cmF0aW9uICgke21pbkR1cmF0aW9ufSlgKTtcbiAgICB9XG4gICAgZmlyc3RWYWxpZCA9IGZpcnN0VmFsaWQgPj0gMCA/IGZpcnN0VmFsaWQgOiBkZWZhdWx0Rmlyc3RWYWxpZDtcbiAgICBtaW5EdXJhdGlvbiA9IG1pbkR1cmF0aW9uID49IDAgPyBtaW5EdXJhdGlvbiA6IGRlZmF1bHRNaW5EdXJhdGlvbjtcbiAgICBtYXhEdXJhdGlvbiA9IG1heER1cmF0aW9uID4gbWluRHVyYXRpb24gPyBtYXhEdXJhdGlvbiA6IGRlZmF1bHRNYXhEdXJhdGlvbjtcbiAgICBsYXN0VmFsaWQgPVxuICAgICAgbGFzdFZhbGlkID49IGZpcnN0VmFsaWQgKyBtaW5EdXJhdGlvbiAmJiBsYXN0VmFsaWQgPD0gZmlyc3RWYWxpZCArIG1heER1cmF0aW9uXG4gICAgICAgID8gbGFzdFZhbGlkXG4gICAgICAgIDogZmlyc3RWYWxpZCArIG1heER1cmF0aW9uO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZpcnN0VmFsaWQsXG4gICAgICBsYXN0VmFsaWQsXG4gICAgICBtaW5EdXJhdGlvbixcbiAgICAgIG1heER1cmF0aW9uLFxuICAgICAgdW5pdCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdHJhbnNhY3Rpb24gYmVpbmcgYnVpbHQuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IHRyYW5zYWN0aW9uKCk6IEJhc2VUcmFuc2FjdGlvbjtcblxuICAvKipcbiAgICogU2V0IHRoZSB0cmFuc2FjdGlvbiBiZWluZyBidWlsdC5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZXQgdHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IEJhc2VUcmFuc2FjdGlvbik7XG59XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
+
/**
|
|
3
|
+
* Generic transaction builder factory to be extended with coin specific logic.
|
|
4
|
+
* Provide a set of transaction builders to create each transaction type.
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class BaseTransactionBuilderFactory {
|
|
7
|
+
protected _coinConfig: Readonly<CoinConfig>;
|
|
8
|
+
/**
|
|
9
|
+
* Base constructor.
|
|
10
|
+
*
|
|
11
|
+
* @param {CoinConfig} _coinConfig BaseCoin from statics library
|
|
12
|
+
*/
|
|
13
|
+
protected constructor(_coinConfig: Readonly<CoinConfig>);
|
|
14
|
+
/**
|
|
15
|
+
* Returns a specific builder to create a wallet initialization transaction
|
|
16
|
+
*/
|
|
17
|
+
abstract getWalletInitializationBuilder(): any;
|
|
18
|
+
/**
|
|
19
|
+
* Returns a specific builder to create a funds transfer transaction
|
|
20
|
+
*/
|
|
21
|
+
abstract getTransferBuilder(): any;
|
|
22
|
+
/**
|
|
23
|
+
* Returns a proper builder for the given encoded transaction
|
|
24
|
+
*
|
|
25
|
+
* @param {Uint8Array | string} raw - Encoded transaction in hex string or Uint8Array format
|
|
26
|
+
*/
|
|
27
|
+
abstract from(raw: Uint8Array | string): any;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=baseTransactionBuilderFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseTransactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/baseTransactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;GAGG;AACH,8BAAsB,6BAA6B;IACjD,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C;;;;OAIG;IACH,SAAS,aAAa,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAIvD;;OAEG;aACa,8BAA8B;IAE9C;;OAEG;aACa,kBAAkB;IAElC;;;;OAIG;aACa,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM;CAC9C"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseTransactionBuilderFactory = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Generic transaction builder factory to be extended with coin specific logic.
|
|
6
|
+
* Provide a set of transaction builders to create each transaction type.
|
|
7
|
+
*/
|
|
8
|
+
class BaseTransactionBuilderFactory {
|
|
9
|
+
/**
|
|
10
|
+
* Base constructor.
|
|
11
|
+
*
|
|
12
|
+
* @param {CoinConfig} _coinConfig BaseCoin from statics library
|
|
13
|
+
*/
|
|
14
|
+
constructor(_coinConfig) {
|
|
15
|
+
this._coinConfig = _coinConfig;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.BaseTransactionBuilderFactory = BaseTransactionBuilderFactory;
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvYmFzZUNvaW4vYmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUE7OztHQUdHO0FBQ0gsTUFBc0IsNkJBQTZCO0lBRWpEOzs7O09BSUc7SUFDSCxZQUFzQixXQUFpQztRQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0NBa0JGO0FBM0JELHNFQTJCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuLyoqXG4gKiBHZW5lcmljIHRyYW5zYWN0aW9uIGJ1aWxkZXIgZmFjdG9yeSB0byBiZSBleHRlbmRlZCB3aXRoIGNvaW4gc3BlY2lmaWMgbG9naWMuXG4gKiBQcm92aWRlIGEgc2V0IG9mIHRyYW5zYWN0aW9uIGJ1aWxkZXJzIHRvIGNyZWF0ZSBlYWNoIHRyYW5zYWN0aW9uIHR5cGUuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIHByb3RlY3RlZCBfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz47XG4gIC8qKlxuICAgKiBCYXNlIGNvbnN0cnVjdG9yLlxuICAgKlxuICAgKiBAcGFyYW0ge0NvaW5Db25maWd9IF9jb2luQ29uZmlnIEJhc2VDb2luIGZyb20gc3RhdGljcyBsaWJyYXJ5XG4gICAqL1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgdGhpcy5fY29pbkNvbmZpZyA9IF9jb2luQ29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzcGVjaWZpYyBidWlsZGVyIHRvIGNyZWF0ZSBhIHdhbGxldCBpbml0aWFsaXphdGlvbiB0cmFuc2FjdGlvblxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcigpO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3BlY2lmaWMgYnVpbGRlciB0byBjcmVhdGUgYSBmdW5kcyB0cmFuc2ZlciB0cmFuc2FjdGlvblxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldFRyYW5zZmVyQnVpbGRlcigpO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgcHJvcGVyIGJ1aWxkZXIgZm9yIHRoZSBnaXZlbiBlbmNvZGVkIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VWludDhBcnJheSB8IHN0cmluZ30gcmF3IC0gRW5jb2RlZCB0cmFuc2FjdGlvbiBpbiBoZXggc3RyaW5nIG9yIFVpbnQ4QXJyYXkgZm9ybWF0XG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZnJvbShyYXc6IFVpbnQ4QXJyYXkgfCBzdHJpbmcpO1xufVxuIl19
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export interface BaseUtils {
|
|
2
|
+
/**
|
|
3
|
+
* Returns whether or not the string is a valid protocol address
|
|
4
|
+
*
|
|
5
|
+
* @param {string} address - the address to be validated
|
|
6
|
+
* @returns {boolean} - the validation result
|
|
7
|
+
*/
|
|
8
|
+
isValidAddress(address: string): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Returns whether or not the string is a valid protocol transaction id or not
|
|
11
|
+
*
|
|
12
|
+
* @param {string} txId - the transaction id to be validated
|
|
13
|
+
* @returns {boolean} - the validation result
|
|
14
|
+
*/
|
|
15
|
+
isValidTransactionId(txId: string): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Returns whether or not the string is a valid protocol public key
|
|
18
|
+
*
|
|
19
|
+
* @param {string} key - the public key to be validated
|
|
20
|
+
* @returns {boolean} - the validation result
|
|
21
|
+
*/
|
|
22
|
+
isValidPublicKey(key: string): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Returns whether or not the string is a valid protocol private key
|
|
25
|
+
*
|
|
26
|
+
* @param {string} key - the private key to be validated
|
|
27
|
+
* @returns {boolean} - the validation result
|
|
28
|
+
*/
|
|
29
|
+
isValidPrivateKey(key: string): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Returns whether or not the string is a valid protocol signature
|
|
32
|
+
*
|
|
33
|
+
* @param {string} signature - the signature to validate
|
|
34
|
+
* @returns {boolean} - the validation result
|
|
35
|
+
*/
|
|
36
|
+
isValidSignature(signature: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Returns whether or not the string is a valid protocol block hash
|
|
39
|
+
*
|
|
40
|
+
* @param {string} hash - the address to validate
|
|
41
|
+
* @returns {boolean} - the validation result
|
|
42
|
+
*/
|
|
43
|
+
isValidBlockId(hash: string): boolean;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=baseUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseUtils.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/baseUtils.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzC;;;;;OAKG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAE5C;;;;;OAKG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAEvC;;;;;OAKG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAExC;;;;;OAKG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAE7C;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACvC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZVV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL2Jhc2VDb2luL2Jhc2VVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBCYXNlVXRpbHMge1xuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgcHJvdG9jb2wgYWRkcmVzc1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyAtIHRoZSBhZGRyZXNzIHRvIGJlIHZhbGlkYXRlZFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSB0aGUgdmFsaWRhdGlvbiByZXN1bHRcbiAgICovXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIHByb3RvY29sIHRyYW5zYWN0aW9uIGlkIG9yIG5vdFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdHhJZCAtIHRoZSB0cmFuc2FjdGlvbiBpZCB0byBiZSB2YWxpZGF0ZWRcbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gdGhlIHZhbGlkYXRpb24gcmVzdWx0XG4gICAqL1xuICBpc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkOiBzdHJpbmcpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBwcm90b2NvbCBwdWJsaWMga2V5XG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSB0aGUgIHB1YmxpYyBrZXkgdG8gYmUgdmFsaWRhdGVkXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIHRoZSB2YWxpZGF0aW9uIHJlc3VsdFxuICAgKi9cbiAgaXNWYWxpZFB1YmxpY0tleShrZXk6IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIHByb3RvY29sIHByaXZhdGUga2V5XG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSB0aGUgIHByaXZhdGUga2V5IHRvIGJlIHZhbGlkYXRlZFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSB0aGUgdmFsaWRhdGlvbiByZXN1bHRcbiAgICovXG4gIGlzVmFsaWRQcml2YXRlS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgcHJvdG9jb2wgc2lnbmF0dXJlXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzaWduYXR1cmUgLSB0aGUgc2lnbmF0dXJlIHRvIHZhbGlkYXRlXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIHRoZSB2YWxpZGF0aW9uIHJlc3VsdFxuICAgKi9cbiAgaXNWYWxpZFNpZ25hdHVyZShzaWduYXR1cmU6IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIHByb3RvY29sIGJsb2NrIGhhc2hcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGhhc2ggLSB0aGUgYWRkcmVzcyB0byB2YWxpZGF0ZVxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSB0aGUgdmFsaWRhdGlvbiByZXN1bHRcbiAgICovXG4gIGlzVmFsaWRCbG9ja0lkKGhhc2g6IHN0cmluZyk6IGJvb2xlYW47XG59XG4iXX0=
|