@bitgo/sdk-core 1.0.2-rc.0 → 1.1.0-dev.0
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 +71 -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 +138 -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/blsKeyPair.d.ts +75 -0
- package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/blsKeyPair.js +179 -0
- package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts +50 -0
- package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +145 -0
- package/dist/src/account-lib/baseCoin/enum.d.ts +45 -0
- package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/enum.js +74 -0
- package/dist/src/account-lib/baseCoin/errors.d.ts +59 -0
- package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/errors.js +105 -0
- package/dist/src/account-lib/baseCoin/iface.d.ts +155 -0
- package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/iface.js +38 -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 +31 -0
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +55 -0
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +124 -0
- package/dist/src/account-lib/index.d.ts +5 -0
- package/dist/src/account-lib/index.d.ts.map +1 -0
- package/dist/src/account-lib/index.js +17 -0
- package/dist/src/account-lib/mpc/curves/baseCurve.d.ts +19 -0
- package/dist/src/account-lib/mpc/curves/baseCurve.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/curves/baseCurve.js +6 -0
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts +17 -0
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/curves/ed25519.js +57 -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 +17 -0
- package/dist/src/account-lib/mpc/curves/secp256k1.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/curves/secp256k1.js +70 -0
- package/dist/src/account-lib/mpc/hdTree.d.ts +24 -0
- package/dist/src/account-lib/mpc/hdTree.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/hdTree.js +94 -0
- package/dist/src/account-lib/mpc/index.d.ts +8 -0
- package/dist/src/account-lib/mpc/index.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/index.js +23 -0
- package/dist/src/account-lib/mpc/shamir.d.ts +26 -0
- package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/shamir.js +86 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +25 -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 +121 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/index.d.ts +4 -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 +29 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +40 -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 +276 -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 +30 -0
- package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +70 -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 +35 -0
- package/dist/src/account-lib/mpc/util.d.ts +8 -0
- package/dist/src/account-lib/mpc/util.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/util.js +42 -0
- package/dist/src/account-lib/util/crypto.d.ts +106 -0
- package/dist/src/account-lib/util/crypto.d.ts.map +1 -0
- package/dist/src/account-lib/util/crypto.js +269 -0
- package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +49 -0
- package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -0
- package/dist/src/account-lib/util/ed25519KeyDeriver.js +87 -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 +45 -0
- package/dist/src/api/index.d.ts +3 -0
- package/dist/src/api/index.d.ts.map +1 -0
- package/dist/src/{v2 → api}/index.js +2 -2
- package/dist/src/api/types.d.ts +20 -0
- package/dist/src/api/types.d.ts.map +1 -0
- package/dist/src/api/types.js +3 -0
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts +230 -0
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -0
- package/dist/src/bitgo/baseCoin/baseCoin.js +292 -0
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +257 -0
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -0
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +3 -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 +15 -0
- package/dist/src/bitgo/bip32util.d.ts +17 -0
- package/dist/src/bitgo/bip32util.d.ts.map +1 -0
- package/dist/src/bitgo/bip32util.js +59 -0
- package/dist/src/bitgo/bitcoin.d.ts +16 -0
- package/dist/src/bitgo/bitcoin.d.ts.map +1 -0
- package/dist/src/bitgo/bitcoin.js +52 -0
- package/dist/src/bitgo/bitgoBase.d.ts +22 -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 +31 -0
- package/dist/src/bitgo/coinFactory.d.ts.map +1 -0
- package/dist/src/bitgo/coinFactory.js +59 -0
- package/dist/src/bitgo/config.d.ts +8 -0
- package/dist/src/bitgo/config.d.ts.map +1 -0
- package/dist/src/bitgo/config.js +25 -0
- package/dist/src/bitgo/ecdh.d.ts +24 -0
- package/dist/src/bitgo/ecdh.d.ts.map +1 -0
- package/dist/src/bitgo/ecdh.js +80 -0
- package/dist/src/bitgo/enterprise/enterprise.d.ts +64 -0
- package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -0
- package/dist/src/bitgo/enterprise/enterprise.js +120 -0
- package/dist/src/bitgo/enterprise/enterprises.d.ts +25 -0
- package/dist/src/bitgo/enterprise/enterprises.d.ts.map +1 -0
- package/dist/src/bitgo/enterprise/enterprises.js +70 -0
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts +15 -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 +10 -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 +17 -0
- package/dist/src/{v2 → bitgo}/environments.d.ts +0 -0
- package/dist/src/bitgo/environments.d.ts.map +1 -0
- package/dist/src/bitgo/environments.js +142 -0
- package/dist/src/bitgo/errors.d.ts +83 -0
- package/dist/src/bitgo/errors.d.ts.map +1 -0
- package/dist/src/bitgo/errors.js +163 -0
- package/dist/src/bitgo/index.d.ts +26 -0
- package/dist/src/bitgo/index.d.ts.map +1 -0
- package/dist/src/bitgo/index.js +51 -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 +15 -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 +33 -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 +304 -0
- package/dist/src/bitgo/keychain/iKeychains.d.ts +118 -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 +3 -0
- package/dist/src/bitgo/keychain/index.d.ts.map +1 -0
- package/dist/src/bitgo/keychain/index.js +15 -0
- package/dist/src/bitgo/keychain/keychains.d.ts +90 -0
- package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -0
- package/dist/src/bitgo/keychain/keychains.js +280 -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 +15 -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 +70 -0
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +73 -0
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -0
- package/dist/src/bitgo/pendingApproval/iPendingApproval.js +28 -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 +17 -0
- package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +99 -0
- package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -0
- package/dist/src/bitgo/pendingApproval/pendingApproval.js +319 -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 +76 -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 +14 -0
- package/dist/src/bitgo/recovery/initiate.d.ts +49 -0
- package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -0
- package/dist/src/bitgo/recovery/initiate.js +119 -0
- package/dist/src/bitgo/trading/affirmation.d.ts +35 -0
- package/dist/src/bitgo/trading/affirmation.d.ts.map +1 -0
- package/dist/src/bitgo/trading/affirmation.js +53 -0
- package/dist/src/bitgo/trading/affirmations.d.ts +23 -0
- package/dist/src/bitgo/trading/affirmations.d.ts.map +1 -0
- package/dist/src/bitgo/trading/affirmations.js +45 -0
- package/dist/src/bitgo/trading/iAffirmation.d.ts +15 -0
- package/dist/src/bitgo/trading/iAffirmation.d.ts.map +1 -0
- package/dist/src/bitgo/trading/iAffirmation.js +13 -0
- package/dist/src/bitgo/trading/iAffirmations.d.ts +10 -0
- package/dist/src/bitgo/trading/iAffirmations.d.ts.map +1 -0
- package/dist/src/bitgo/trading/iAffirmations.js +3 -0
- package/dist/src/bitgo/trading/iSettlement.d.ts +25 -0
- package/dist/src/bitgo/trading/iSettlement.d.ts.map +1 -0
- package/dist/src/bitgo/trading/iSettlement.js +17 -0
- package/dist/src/bitgo/trading/iSettlements.d.ts +19 -0
- package/dist/src/bitgo/trading/iSettlements.d.ts.map +1 -0
- package/dist/src/bitgo/trading/iSettlements.js +3 -0
- package/dist/src/bitgo/trading/iTradingAccount.d.ts +41 -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/iTradingPartner.d.ts +14 -0
- package/dist/src/bitgo/trading/iTradingPartner.d.ts.map +1 -0
- package/dist/src/bitgo/trading/iTradingPartner.js +17 -0
- package/dist/src/bitgo/trading/iTradingPartners.d.ts +15 -0
- package/dist/src/bitgo/trading/iTradingPartners.d.ts.map +1 -0
- package/dist/src/bitgo/trading/iTradingPartners.js +9 -0
- package/dist/src/bitgo/trading/index.d.ts +18 -0
- package/dist/src/bitgo/trading/index.d.ts.map +1 -0
- package/dist/src/bitgo/trading/index.js +30 -0
- package/dist/src/bitgo/trading/lock.d.ts +16 -0
- package/dist/src/bitgo/trading/lock.d.ts.map +1 -0
- package/dist/src/bitgo/trading/lock.js +12 -0
- package/dist/src/bitgo/trading/payload.d.ts +22 -0
- package/dist/src/bitgo/trading/payload.d.ts.map +1 -0
- package/dist/src/bitgo/trading/payload.js +3 -0
- package/dist/src/bitgo/trading/settlement.d.ts +16 -0
- package/dist/src/bitgo/trading/settlement.d.ts.map +1 -0
- package/dist/src/bitgo/trading/settlement.js +21 -0
- package/dist/src/bitgo/trading/settlements.d.ts +32 -0
- package/dist/src/bitgo/trading/settlements.d.ts.map +1 -0
- package/dist/src/bitgo/trading/settlements.js +61 -0
- package/dist/src/bitgo/trading/trade.d.ts +29 -0
- package/dist/src/bitgo/trading/trade.d.ts.map +1 -0
- package/dist/src/bitgo/trading/trade.js +11 -0
- package/dist/src/bitgo/trading/tradingAccount.d.ts +53 -0
- package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -0
- package/dist/src/bitgo/trading/tradingAccount.js +127 -0
- package/dist/src/bitgo/trading/tradingPartner.d.ts +26 -0
- package/dist/src/bitgo/trading/tradingPartner.d.ts.map +1 -0
- package/dist/src/bitgo/trading/tradingPartner.js +31 -0
- package/dist/src/bitgo/trading/tradingPartners.d.ts +24 -0
- package/dist/src/bitgo/trading/tradingPartners.d.ts.map +1 -0
- package/dist/src/bitgo/trading/tradingPartners.js +32 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +35 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsa.js +95 -0
- package/dist/src/bitgo/tss/ecdsa/index.d.ts +4 -0
- package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -0
- package/dist/src/bitgo/tss/ecdsa/index.js +26 -0
- package/dist/src/bitgo/tss/ecdsa/types.d.ts +30 -0
- package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -0
- package/dist/src/bitgo/tss/ecdsa/types.js +3 -0
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +102 -0
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -0
- package/dist/src/bitgo/tss/eddsa/eddsa.js +256 -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 +37 -0
- package/dist/src/bitgo/tss/eddsa/types.d.ts +23 -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 +6 -0
- package/dist/src/bitgo/tss/index.d.ts.map +1 -0
- package/dist/src/bitgo/tss/index.js +42 -0
- package/dist/src/bitgo/tss/types.d.ts +6 -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 +6 -0
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +30 -0
- package/dist/src/bitgo/utils/blsUtils.d.ts +51 -0
- package/dist/src/bitgo/utils/blsUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/blsUtils.js +166 -0
- package/dist/src/bitgo/utils/iBlsUtils.d.ts +14 -0
- package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/iBlsUtils.js +3 -0
- package/dist/src/bitgo/utils/index.d.ts +12 -0
- package/dist/src/bitgo/utils/index.d.ts.map +1 -0
- package/dist/src/bitgo/utils/index.js +37 -0
- package/dist/src/bitgo/utils/mpcUtils.d.ts +31 -0
- package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/mpcUtils.js +55 -0
- package/dist/src/bitgo/utils/opengpgUtils.d.ts +51 -0
- package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/opengpgUtils.js +136 -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 +12 -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 +8 -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 +351 -0
- package/dist/src/bitgo/utils/tss/eddsa/index.d.ts +5 -0
- package/dist/src/bitgo/utils/tss/eddsa/index.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/index.js +29 -0
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +72 -0
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/types.js +10 -0
- package/dist/src/bitgo/utils/tss/index.d.ts +4 -0
- package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/index.js +29 -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 +198 -0
- package/dist/src/bitgo/wallet/iWallet.d.ts +510 -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 +105 -0
- package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/iWallets.js +3 -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 +17 -0
- package/dist/src/bitgo/wallet/wallet.d.ts +650 -0
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/wallet.js +2039 -0
- package/dist/src/bitgo/wallet/wallets.d.ts +134 -0
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/wallets.js +605 -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 +15 -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 +102 -0
- package/dist/src/{bigojsError.d.ts → bitgojsError.d.ts} +1 -1
- package/dist/src/bitgojsError.d.ts.map +1 -0
- package/dist/src/bitgojsError.js +11 -0
- package/dist/src/common.d.ts +1 -1
- package/dist/src/common.d.ts.map +1 -1
- package/dist/src/common.js +3 -3
- package/dist/src/index.d.ts +4 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -5
- package/dist/tsconfig.tsbuildinfo +3501 -150
- package/package.json +28 -4
- package/CHANGELOG.md +0 -8
- package/dist/src/bigojsError.d.ts.map +0 -1
- package/dist/src/bigojsError.js +0 -11
- package/dist/src/v2/environments.d.ts.map +0 -1
- package/dist/src/v2/environments.js +0 -142
- package/dist/src/v2/index.d.ts +0 -3
- package/dist/src/v2/index.d.ts.map +0 -1
- package/dist/src/v2/types.d.ts +0 -2
- package/dist/src/v2/types.d.ts.map +0 -1
- package/dist/src/v2/types.js +0 -3
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export interface HdKeypair {
|
|
3
|
+
key: Buffer;
|
|
4
|
+
chainCode: Buffer;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Heirarchical determinisitic key derivation for the ed25519 elliptic curve,
|
|
8
|
+
* as defined in SLIP-0010.
|
|
9
|
+
*
|
|
10
|
+
* https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0005.md
|
|
11
|
+
* https://github.com/satoshilabs/slips/blob/master/slip-0010.md
|
|
12
|
+
*/
|
|
13
|
+
export declare class Ed25519KeyDeriver {
|
|
14
|
+
/**
|
|
15
|
+
* This key derivation code was copied and adapted from:
|
|
16
|
+
* https://github.com/chatch/stellar-hd-wallet/blob/612c12325ca9047dce460016fb7d148f55f575ca/src/hd-key.js
|
|
17
|
+
*
|
|
18
|
+
* There have been some slight modifications to improve typescript support.
|
|
19
|
+
*
|
|
20
|
+
* The original ed25519-hd-key module is licensed under "GPL-3".
|
|
21
|
+
*/
|
|
22
|
+
private static readonly ED25519_CURVE;
|
|
23
|
+
private static readonly HARDENED_OFFSET;
|
|
24
|
+
private static readonly PATH_REGEX;
|
|
25
|
+
/**
|
|
26
|
+
* Derive a SLIP-0010 key given a path and master key seed.
|
|
27
|
+
*
|
|
28
|
+
* @param path derivation path
|
|
29
|
+
* @param seed key seed
|
|
30
|
+
*/
|
|
31
|
+
static derivePath(path: string, seed: string): HdKeypair;
|
|
32
|
+
/**
|
|
33
|
+
* Generate a SLIP-0010 master key from the entropy seed
|
|
34
|
+
*
|
|
35
|
+
* @param seed master key seed used to recreate master key
|
|
36
|
+
*/
|
|
37
|
+
private static getMasterKeyFromSeed;
|
|
38
|
+
/**
|
|
39
|
+
* Calculate a child private key given the parent key, the chain code, and the child index.
|
|
40
|
+
*
|
|
41
|
+
* @param key parent key
|
|
42
|
+
* @param chainCode chain code for parent key
|
|
43
|
+
* @param index index of child to derive
|
|
44
|
+
*/
|
|
45
|
+
private static CKDPriv;
|
|
46
|
+
private static replaceDerive;
|
|
47
|
+
private static isValidPath;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=ed25519KeyDeriver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ed25519KeyDeriver.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/util/ed25519KeyDeriver.ts"],"names":[],"mappings":";AAKA,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,qBAAa,iBAAiB;IAC5B;;;;;;;OAOG;IAEH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAkB;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAc;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAEpE;;;;;OAKG;WACW,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS;IAY/D;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAWnC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,OAAO;IAatB,OAAO,CAAC,MAAM,CAAC,aAAa,CAA+D;IAC3F,OAAO,CAAC,MAAM,CAAC,WAAW;CAM3B"}
|
|
@@ -0,0 +1,87 @@
|
|
|
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.Ed25519KeyDeriver = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* @prettier
|
|
9
|
+
*/
|
|
10
|
+
const create_hmac_1 = __importDefault(require("create-hmac"));
|
|
11
|
+
/**
|
|
12
|
+
* Heirarchical determinisitic key derivation for the ed25519 elliptic curve,
|
|
13
|
+
* as defined in SLIP-0010.
|
|
14
|
+
*
|
|
15
|
+
* https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0005.md
|
|
16
|
+
* https://github.com/satoshilabs/slips/blob/master/slip-0010.md
|
|
17
|
+
*/
|
|
18
|
+
class Ed25519KeyDeriver {
|
|
19
|
+
/**
|
|
20
|
+
* Derive a SLIP-0010 key given a path and master key seed.
|
|
21
|
+
*
|
|
22
|
+
* @param path derivation path
|
|
23
|
+
* @param seed key seed
|
|
24
|
+
*/
|
|
25
|
+
static derivePath(path, seed) {
|
|
26
|
+
if (!this.isValidPath(path)) {
|
|
27
|
+
throw new Error('Invalid derivation path');
|
|
28
|
+
}
|
|
29
|
+
const { key, chainCode } = this.getMasterKeyFromSeed(seed);
|
|
30
|
+
const segments = path.split('/').slice(1).map(this.replaceDerive);
|
|
31
|
+
return segments.reduce((parentKeys, segment) => this.CKDPriv(parentKeys, segment + Ed25519KeyDeriver.HARDENED_OFFSET), { key, chainCode });
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Generate a SLIP-0010 master key from the entropy seed
|
|
35
|
+
*
|
|
36
|
+
* @param seed master key seed used to recreate master key
|
|
37
|
+
*/
|
|
38
|
+
static getMasterKeyFromSeed(seed) {
|
|
39
|
+
const hmac = create_hmac_1.default('sha512', Ed25519KeyDeriver.ED25519_CURVE);
|
|
40
|
+
const I = hmac.update(Buffer.from(seed, 'hex')).digest();
|
|
41
|
+
const IL = I.slice(0, 32);
|
|
42
|
+
const IR = I.slice(32);
|
|
43
|
+
return {
|
|
44
|
+
key: IL,
|
|
45
|
+
chainCode: IR,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Calculate a child private key given the parent key, the chain code, and the child index.
|
|
50
|
+
*
|
|
51
|
+
* @param key parent key
|
|
52
|
+
* @param chainCode chain code for parent key
|
|
53
|
+
* @param index index of child to derive
|
|
54
|
+
*/
|
|
55
|
+
static CKDPriv({ key, chainCode }, index) {
|
|
56
|
+
const indexBuffer = Buffer.allocUnsafe(4);
|
|
57
|
+
indexBuffer.writeUInt32BE(index, 0);
|
|
58
|
+
const data = Buffer.concat([Buffer.alloc(1, 0), key, indexBuffer]);
|
|
59
|
+
const I = create_hmac_1.default('sha512', chainCode).update(data).digest();
|
|
60
|
+
const IL = I.slice(0, 32);
|
|
61
|
+
const IR = I.slice(32);
|
|
62
|
+
return {
|
|
63
|
+
key: IL,
|
|
64
|
+
chainCode: IR,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
static isValidPath(path) {
|
|
68
|
+
if (!Ed25519KeyDeriver.PATH_REGEX.test(path)) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
return !path.split('/').slice(1).map(this.replaceDerive).some(isNaN);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.Ed25519KeyDeriver = Ed25519KeyDeriver;
|
|
75
|
+
/**
|
|
76
|
+
* This key derivation code was copied and adapted from:
|
|
77
|
+
* https://github.com/chatch/stellar-hd-wallet/blob/612c12325ca9047dce460016fb7d148f55f575ca/src/hd-key.js
|
|
78
|
+
*
|
|
79
|
+
* There have been some slight modifications to improve typescript support.
|
|
80
|
+
*
|
|
81
|
+
* The original ed25519-hd-key module is licensed under "GPL-3".
|
|
82
|
+
*/
|
|
83
|
+
Ed25519KeyDeriver.ED25519_CURVE = 'ed25519 seed';
|
|
84
|
+
Ed25519KeyDeriver.HARDENED_OFFSET = 0x80000000;
|
|
85
|
+
Ed25519KeyDeriver.PATH_REGEX = new RegExp("^m(\\/[0-9]+')+$");
|
|
86
|
+
Ed25519KeyDeriver.replaceDerive = (val) => parseInt(val.replace("'", ''), 10);
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWQyNTUxOUtleURlcml2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvdXRpbC9lZDI1NTE5S2V5RGVyaXZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7R0FFRztBQUNILDhEQUFxQztBQU9yQzs7Ozs7O0dBTUc7QUFDSCxNQUFhLGlCQUFpQjtJQWM1Qjs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBWSxFQUFFLElBQVk7UUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsRSxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQ3BCLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxHQUFHLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxFQUM5RixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssTUFBTSxDQUFDLG9CQUFvQixDQUFDLElBQVk7UUFDOUMsTUFBTSxJQUFJLEdBQUcscUJBQVUsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkUsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pELE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkIsT0FBTztZQUNMLEdBQUcsRUFBRSxFQUFFO1lBQ1AsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFhLEVBQUUsS0FBYTtRQUNqRSxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNuRSxNQUFNLENBQUMsR0FBRyxxQkFBVSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDMUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QixPQUFPO1lBQ0wsR0FBRyxFQUFFLEVBQUU7WUFDUCxTQUFTLEVBQUUsRUFBRTtTQUNkLENBQUM7SUFDSixDQUFDO0lBR08sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFZO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzVDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkUsQ0FBQzs7QUExRUgsOENBMkVDO0FBMUVDOzs7Ozs7O0dBT0c7QUFFcUIsK0JBQWEsR0FBRyxjQUFjLENBQUM7QUFDL0IsaUNBQWUsR0FBRyxVQUFVLENBQUM7QUFDN0IsNEJBQVUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBd0RyRCwrQkFBYSxHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgY3JlYXRlSG1hYyBmcm9tICdjcmVhdGUtaG1hYyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGRLZXlwYWlyIHtcbiAga2V5OiBCdWZmZXI7XG4gIGNoYWluQ29kZTogQnVmZmVyO1xufVxuXG4vKipcbiAqIEhlaXJhcmNoaWNhbCBkZXRlcm1pbmlzaXRpYyBrZXkgZGVyaXZhdGlvbiBmb3IgdGhlIGVkMjU1MTkgZWxsaXB0aWMgY3VydmUsXG4gKiBhcyBkZWZpbmVkIGluIFNMSVAtMDAxMC5cbiAqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3RlbGxhci9zdGVsbGFyLXByb3RvY29sL2Jsb2IvbWFzdGVyL2Vjb3N5c3RlbS9zZXAtMDAwNS5tZFxuICogaHR0cHM6Ly9naXRodWIuY29tL3NhdG9zaGlsYWJzL3NsaXBzL2Jsb2IvbWFzdGVyL3NsaXAtMDAxMC5tZFxuICovXG5leHBvcnQgY2xhc3MgRWQyNTUxOUtleURlcml2ZXIge1xuICAvKipcbiAgICogVGhpcyBrZXkgZGVyaXZhdGlvbiBjb2RlIHdhcyBjb3BpZWQgYW5kIGFkYXB0ZWQgZnJvbTpcbiAgICogaHR0cHM6Ly9naXRodWIuY29tL2NoYXRjaC9zdGVsbGFyLWhkLXdhbGxldC9ibG9iLzYxMmMxMjMyNWNhOTA0N2RjZTQ2MDAxNmZiN2QxNDhmNTVmNTc1Y2Evc3JjL2hkLWtleS5qc1xuICAgKlxuICAgKiBUaGVyZSBoYXZlIGJlZW4gc29tZSBzbGlnaHQgbW9kaWZpY2F0aW9ucyB0byBpbXByb3ZlIHR5cGVzY3JpcHQgc3VwcG9ydC5cbiAgICpcbiAgICogVGhlIG9yaWdpbmFsIGVkMjU1MTktaGQta2V5IG1vZHVsZSBpcyBsaWNlbnNlZCB1bmRlciBcIkdQTC0zXCIuXG4gICAqL1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEVEMjU1MTlfQ1VSVkUgPSAnZWQyNTUxOSBzZWVkJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgSEFSREVORURfT0ZGU0VUID0gMHg4MDAwMDAwMDtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUEFUSF9SRUdFWCA9IG5ldyBSZWdFeHAoXCJebShcXFxcL1swLTldKycpKyRcIik7XG5cbiAgLyoqXG4gICAqIERlcml2ZSBhIFNMSVAtMDAxMCBrZXkgZ2l2ZW4gYSBwYXRoIGFuZCBtYXN0ZXIga2V5IHNlZWQuXG4gICAqXG4gICAqIEBwYXJhbSBwYXRoIGRlcml2YXRpb24gcGF0aFxuICAgKiBAcGFyYW0gc2VlZCBrZXkgc2VlZFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkZXJpdmVQYXRoKHBhdGg6IHN0cmluZywgc2VlZDogc3RyaW5nKTogSGRLZXlwYWlyIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZFBhdGgocGF0aCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBkZXJpdmF0aW9uIHBhdGgnKTtcbiAgICB9XG4gICAgY29uc3QgeyBrZXksIGNoYWluQ29kZSB9ID0gdGhpcy5nZXRNYXN0ZXJLZXlGcm9tU2VlZChzZWVkKTtcbiAgICBjb25zdCBzZWdtZW50cyA9IHBhdGguc3BsaXQoJy8nKS5zbGljZSgxKS5tYXAodGhpcy5yZXBsYWNlRGVyaXZlKTtcbiAgICByZXR1cm4gc2VnbWVudHMucmVkdWNlKFxuICAgICAgKHBhcmVudEtleXMsIHNlZ21lbnQpID0+IHRoaXMuQ0tEUHJpdihwYXJlbnRLZXlzLCBzZWdtZW50ICsgRWQyNTUxOUtleURlcml2ZXIuSEFSREVORURfT0ZGU0VUKSxcbiAgICAgIHsga2V5LCBjaGFpbkNvZGUgfVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBTTElQLTAwMTAgbWFzdGVyIGtleSBmcm9tIHRoZSBlbnRyb3B5IHNlZWRcbiAgICpcbiAgICogQHBhcmFtIHNlZWQgbWFzdGVyIGtleSBzZWVkIHVzZWQgdG8gcmVjcmVhdGUgbWFzdGVyIGtleVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0TWFzdGVyS2V5RnJvbVNlZWQoc2VlZDogc3RyaW5nKSB7XG4gICAgY29uc3QgaG1hYyA9IGNyZWF0ZUhtYWMoJ3NoYTUxMicsIEVkMjU1MTlLZXlEZXJpdmVyLkVEMjU1MTlfQ1VSVkUpO1xuICAgIGNvbnN0IEkgPSBobWFjLnVwZGF0ZShCdWZmZXIuZnJvbShzZWVkLCAnaGV4JykpLmRpZ2VzdCgpO1xuICAgIGNvbnN0IElMID0gSS5zbGljZSgwLCAzMik7XG4gICAgY29uc3QgSVIgPSBJLnNsaWNlKDMyKTtcbiAgICByZXR1cm4ge1xuICAgICAga2V5OiBJTCxcbiAgICAgIGNoYWluQ29kZTogSVIsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgYSBjaGlsZCBwcml2YXRlIGtleSBnaXZlbiB0aGUgcGFyZW50IGtleSwgdGhlIGNoYWluIGNvZGUsIGFuZCB0aGUgY2hpbGQgaW5kZXguXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgcGFyZW50IGtleVxuICAgKiBAcGFyYW0gY2hhaW5Db2RlIGNoYWluIGNvZGUgZm9yIHBhcmVudCBrZXlcbiAgICogQHBhcmFtIGluZGV4IGluZGV4IG9mIGNoaWxkIHRvIGRlcml2ZVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgQ0tEUHJpdih7IGtleSwgY2hhaW5Db2RlIH06IEhkS2V5cGFpciwgaW5kZXg6IG51bWJlcik6IEhkS2V5cGFpciB7XG4gICAgY29uc3QgaW5kZXhCdWZmZXIgPSBCdWZmZXIuYWxsb2NVbnNhZmUoNCk7XG4gICAgaW5kZXhCdWZmZXIud3JpdGVVSW50MzJCRShpbmRleCwgMCk7XG4gICAgY29uc3QgZGF0YSA9IEJ1ZmZlci5jb25jYXQoW0J1ZmZlci5hbGxvYygxLCAwKSwga2V5LCBpbmRleEJ1ZmZlcl0pO1xuICAgIGNvbnN0IEkgPSBjcmVhdGVIbWFjKCdzaGE1MTInLCBjaGFpbkNvZGUpLnVwZGF0ZShkYXRhKS5kaWdlc3QoKTtcbiAgICBjb25zdCBJTCA9IEkuc2xpY2UoMCwgMzIpO1xuICAgIGNvbnN0IElSID0gSS5zbGljZSgzMik7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtleTogSUwsXG4gICAgICBjaGFpbkNvZGU6IElSLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZXBsYWNlRGVyaXZlID0gKHZhbDogc3RyaW5nKTogbnVtYmVyID0+IHBhcnNlSW50KHZhbC5yZXBsYWNlKFwiJ1wiLCAnJyksIDEwKTtcbiAgcHJpdmF0ZSBzdGF0aWMgaXNWYWxpZFBhdGgocGF0aDogc3RyaW5nKSB7XG4gICAgaWYgKCFFZDI1NTE5S2V5RGVyaXZlci5QQVRIX1JFR0VYLnRlc3QocGF0aCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuICFwYXRoLnNwbGl0KCcvJykuc2xpY2UoMSkubWFwKHRoaXMucmVwbGFjZURlcml2ZSkuc29tZShpc05hTik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prettier
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* BitGoJS includes some custom hand-rolled bip32 derivation logic in `bitcoin.ts`, which sadly
|
|
6
|
+
* has numerous bugs.
|
|
7
|
+
*
|
|
8
|
+
* One of the effects is that the methods accept invalid bip32 paths:
|
|
9
|
+
* - the `m` prefix is ignored ('m/0' === '0')
|
|
10
|
+
* - path components that cannot be parsed as base-10 numbers are mapped to `0` ('0/x' === '0/0')
|
|
11
|
+
* - path components with trailing characters after numerals are accepted, trailing characters
|
|
12
|
+
* are ignored ('1x' === '1')
|
|
13
|
+
*
|
|
14
|
+
* This probably does not cover everything but it should cover most bugs encountered in our code.
|
|
15
|
+
*
|
|
16
|
+
* This method attempts to convert a "legacy path", which may be invalid, to a standard bip32 path:
|
|
17
|
+
* meaning the result should be equivalent to the input path when passed to either our custom
|
|
18
|
+
* derivation log or when passed to a standard bip32 library.
|
|
19
|
+
*
|
|
20
|
+
* @param path - legacy path
|
|
21
|
+
* @return string - somewhat sanitized path that can be passed to standard bip32 libraries
|
|
22
|
+
*/
|
|
23
|
+
export declare function sanitizeLegacyPath(path: string): string;
|
|
24
|
+
//# sourceMappingURL=bip32path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bip32path.d.ts","sourceRoot":"","sources":["../../../src/api/bip32path.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkBvD"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @prettier
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.sanitizeLegacyPath = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* BitGoJS includes some custom hand-rolled bip32 derivation logic in `bitcoin.ts`, which sadly
|
|
9
|
+
* has numerous bugs.
|
|
10
|
+
*
|
|
11
|
+
* One of the effects is that the methods accept invalid bip32 paths:
|
|
12
|
+
* - the `m` prefix is ignored ('m/0' === '0')
|
|
13
|
+
* - path components that cannot be parsed as base-10 numbers are mapped to `0` ('0/x' === '0/0')
|
|
14
|
+
* - path components with trailing characters after numerals are accepted, trailing characters
|
|
15
|
+
* are ignored ('1x' === '1')
|
|
16
|
+
*
|
|
17
|
+
* This probably does not cover everything but it should cover most bugs encountered in our code.
|
|
18
|
+
*
|
|
19
|
+
* This method attempts to convert a "legacy path", which may be invalid, to a standard bip32 path:
|
|
20
|
+
* meaning the result should be equivalent to the input path when passed to either our custom
|
|
21
|
+
* derivation log or when passed to a standard bip32 library.
|
|
22
|
+
*
|
|
23
|
+
* @param path - legacy path
|
|
24
|
+
* @return string - somewhat sanitized path that can be passed to standard bip32 libraries
|
|
25
|
+
*/
|
|
26
|
+
function sanitizeLegacyPath(path) {
|
|
27
|
+
const parts = path
|
|
28
|
+
.split('/')
|
|
29
|
+
.filter((p) => p !== '')
|
|
30
|
+
.filter((p, i) => i !== 0 || p !== 'm')
|
|
31
|
+
.map((p) => {
|
|
32
|
+
const hardened = p.slice(-1) === "'";
|
|
33
|
+
const v = parseInt(p.slice(0, hardened ? -1 : undefined), 10);
|
|
34
|
+
if (Number.isNaN(v)) {
|
|
35
|
+
return '0';
|
|
36
|
+
}
|
|
37
|
+
return String(v) + (hardened ? "'" : '');
|
|
38
|
+
});
|
|
39
|
+
if (parts.length === 0) {
|
|
40
|
+
throw new Error(`empty path`);
|
|
41
|
+
}
|
|
42
|
+
return parts.join('/');
|
|
43
|
+
}
|
|
44
|
+
exports.sanitizeLegacyPath = sanitizeLegacyPath;
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlwMzJwYXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9iaXAzMnBhdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7QUFFSDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQUMsSUFBWTtJQUM3QyxNQUFNLEtBQUssR0FBYSxJQUFJO1NBQ3pCLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDVixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDdkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDO1NBQ3RDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ1QsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQztRQUNyQyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUQsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25CLE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFDRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUMsQ0FBQztJQUVMLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztLQUMvQjtJQUNELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBbEJELGdEQWtCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cblxuLyoqXG4gKiBCaXRHb0pTIGluY2x1ZGVzIHNvbWUgY3VzdG9tIGhhbmQtcm9sbGVkIGJpcDMyIGRlcml2YXRpb24gbG9naWMgaW4gYGJpdGNvaW4udHNgLCB3aGljaCBzYWRseVxuICogaGFzIG51bWVyb3VzIGJ1Z3MuXG4gKlxuICogT25lIG9mIHRoZSBlZmZlY3RzIGlzIHRoYXQgdGhlIG1ldGhvZHMgYWNjZXB0IGludmFsaWQgYmlwMzIgcGF0aHM6XG4gKiAtIHRoZSBgbWAgcHJlZml4IGlzIGlnbm9yZWQgKCdtLzAnID09PSAnMCcpXG4gKiAtIHBhdGggY29tcG9uZW50cyB0aGF0IGNhbm5vdCBiZSBwYXJzZWQgYXMgYmFzZS0xMCBudW1iZXJzIGFyZSBtYXBwZWQgdG8gYDBgICgnMC94JyA9PT0gJzAvMCcpXG4gKiAtIHBhdGggY29tcG9uZW50cyB3aXRoIHRyYWlsaW5nIGNoYXJhY3RlcnMgYWZ0ZXIgbnVtZXJhbHMgYXJlIGFjY2VwdGVkLCB0cmFpbGluZyBjaGFyYWN0ZXJzXG4gKiAgIGFyZSBpZ25vcmVkICgnMXgnID09PSAnMScpXG4gKlxuICogVGhpcyBwcm9iYWJseSBkb2VzIG5vdCBjb3ZlciBldmVyeXRoaW5nIGJ1dCBpdCBzaG91bGQgY292ZXIgbW9zdCBidWdzIGVuY291bnRlcmVkIGluIG91ciBjb2RlLlxuICpcbiAqIFRoaXMgbWV0aG9kIGF0dGVtcHRzIHRvIGNvbnZlcnQgYSBcImxlZ2FjeSBwYXRoXCIsIHdoaWNoIG1heSBiZSBpbnZhbGlkLCB0byBhIHN0YW5kYXJkIGJpcDMyIHBhdGg6XG4gKiBtZWFuaW5nIHRoZSByZXN1bHQgc2hvdWxkIGJlIGVxdWl2YWxlbnQgdG8gdGhlIGlucHV0IHBhdGggd2hlbiBwYXNzZWQgdG8gZWl0aGVyIG91ciBjdXN0b21cbiAqIGRlcml2YXRpb24gbG9nIG9yIHdoZW4gcGFzc2VkIHRvIGEgc3RhbmRhcmQgYmlwMzIgbGlicmFyeS5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIGxlZ2FjeSBwYXRoXG4gKiBAcmV0dXJuIHN0cmluZyAtIHNvbWV3aGF0IHNhbml0aXplZCBwYXRoIHRoYXQgY2FuIGJlIHBhc3NlZCB0byBzdGFuZGFyZCBiaXAzMiBsaWJyYXJpZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplTGVnYWN5UGF0aChwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBwYXJ0czogc3RyaW5nW10gPSBwYXRoXG4gICAgLnNwbGl0KCcvJylcbiAgICAuZmlsdGVyKChwKSA9PiBwICE9PSAnJylcbiAgICAuZmlsdGVyKChwLCBpKSA9PiBpICE9PSAwIHx8IHAgIT09ICdtJylcbiAgICAubWFwKChwKSA9PiB7XG4gICAgICBjb25zdCBoYXJkZW5lZCA9IHAuc2xpY2UoLTEpID09PSBcIidcIjtcbiAgICAgIGNvbnN0IHYgPSBwYXJzZUludChwLnNsaWNlKDAsIGhhcmRlbmVkID8gLTEgOiB1bmRlZmluZWQpLCAxMCk7XG4gICAgICBpZiAoTnVtYmVyLmlzTmFOKHYpKSB7XG4gICAgICAgIHJldHVybiAnMCc7XG4gICAgICB9XG4gICAgICByZXR1cm4gU3RyaW5nKHYpICsgKGhhcmRlbmVkID8gXCInXCIgOiAnJyk7XG4gICAgfSk7XG5cbiAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgZW1wdHkgcGF0aGApO1xuICB9XG4gIHJldHVybiBwYXJ0cy5qb2luKCcvJyk7XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
|
@@ -10,6 +10,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
10
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
__exportStar(require("./
|
|
13
|
+
__exportStar(require("./bip32path"), exports);
|
|
14
14
|
__exportStar(require("./types"), exports);
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDhDQUE0QjtBQUM1QiwwQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2JpcDMycGF0aCc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as superagent from 'superagent';
|
|
2
|
+
export interface BitGoRequest<ResultType = any> extends superagent.SuperAgentRequest {
|
|
3
|
+
result: (optionalField?: string) => Promise<ResultType>;
|
|
4
|
+
}
|
|
5
|
+
export interface DecryptOptions {
|
|
6
|
+
input: string;
|
|
7
|
+
password?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface EncryptOptions {
|
|
10
|
+
input: string;
|
|
11
|
+
password?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface GetSharingKeyOptions {
|
|
14
|
+
email: string;
|
|
15
|
+
}
|
|
16
|
+
export interface IRequestTracer {
|
|
17
|
+
inc(): void;
|
|
18
|
+
toString(): string;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/api/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AAEzC,MAAM,WAAW,YAAY,CAAC,UAAU,GAAG,GAAG,CAAE,SAAQ,UAAU,CAAC,iBAAiB;IAClF,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,IAAI,IAAI,CAAC;IACZ,QAAQ,IAAI,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzdXBlcmFnZW50IGZyb20gJ3N1cGVyYWdlbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJpdEdvUmVxdWVzdDxSZXN1bHRUeXBlID0gYW55PiBleHRlbmRzIHN1cGVyYWdlbnQuU3VwZXJBZ2VudFJlcXVlc3Qge1xuICByZXN1bHQ6IChvcHRpb25hbEZpZWxkPzogc3RyaW5nKSA9PiBQcm9taXNlPFJlc3VsdFR5cGU+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlY3J5cHRPcHRpb25zIHtcbiAgaW5wdXQ6IHN0cmluZztcbiAgcGFzc3dvcmQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW5jcnlwdE9wdGlvbnMge1xuICBpbnB1dDogc3RyaW5nO1xuICBwYXNzd29yZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRTaGFyaW5nS2V5T3B0aW9ucyB7XG4gIGVtYWlsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlcXVlc3RUcmFjZXIge1xuICBpbmMoKTogdm9pZDtcbiAgdG9TdHJpbmcoKTogc3RyaW5nO1xufVxuIl19
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { InitiateRecoveryOptions } from '../recovery';
|
|
3
|
+
import { BitGoBase } from '../bitgoBase';
|
|
4
|
+
import { Enterprises } from '../enterprise';
|
|
5
|
+
import { Keychains } from '../keychain';
|
|
6
|
+
import { Markets } from '../market';
|
|
7
|
+
import { PendingApprovals } from '../pendingApproval';
|
|
8
|
+
import { Wallets, IWallet } from '../wallet';
|
|
9
|
+
import { Webhooks } from '../webhook';
|
|
10
|
+
import { IBaseCoin, ITransactionExplanation, VerifyTransactionOptions, VerifyAddressOptions, SupplementGenerateWalletOptions, KeychainsTriplet, KeyPair, ExtraPrebuildParamsOptions, TransactionPrebuild, PresignTransactionOptions, FeeEstimateOptions, PrecreateBitGoOptions, ParseTransactionOptions, ParsedTransaction, SignTransactionOptions, SignedTransaction, RecoverWalletTokenOptions, RecoverTokenTransaction } from './iBaseCoin';
|
|
11
|
+
export declare abstract class BaseCoin implements IBaseCoin {
|
|
12
|
+
protected readonly bitgo: BitGoBase;
|
|
13
|
+
protected readonly _url: string;
|
|
14
|
+
protected readonly _enterprises: Enterprises;
|
|
15
|
+
protected readonly _wallets: Wallets;
|
|
16
|
+
protected readonly _keychains: Keychains;
|
|
17
|
+
protected readonly _webhooks: Webhooks;
|
|
18
|
+
protected readonly _pendingApprovals: PendingApprovals;
|
|
19
|
+
protected readonly _markets: Markets;
|
|
20
|
+
protected static readonly _coinTokenPatternSeparator = ":";
|
|
21
|
+
protected constructor(bitgo: BitGoBase);
|
|
22
|
+
url(suffix: string): string;
|
|
23
|
+
wallets(): Wallets;
|
|
24
|
+
enterprises(): Enterprises;
|
|
25
|
+
keychains(): Keychains;
|
|
26
|
+
webhooks(): Webhooks;
|
|
27
|
+
pendingApprovals(): PendingApprovals;
|
|
28
|
+
markets(): Markets;
|
|
29
|
+
static get coinTokenPatternSeparator(): string;
|
|
30
|
+
get type(): string;
|
|
31
|
+
/**
|
|
32
|
+
* Name of the chain which supports this coin (eg, 'btc', 'eth')
|
|
33
|
+
*/
|
|
34
|
+
abstract getChain(): string;
|
|
35
|
+
/**
|
|
36
|
+
* Name of the coin family (eg. for tbtc, this would be btc)
|
|
37
|
+
*/
|
|
38
|
+
abstract getFamily(): string;
|
|
39
|
+
/**
|
|
40
|
+
* Human readable full name for the coin
|
|
41
|
+
*/
|
|
42
|
+
abstract getFullName(): string;
|
|
43
|
+
/**
|
|
44
|
+
* Flag for sending value of 0.
|
|
45
|
+
* @returns {boolean} True if okay to send 0 value, false otherwise
|
|
46
|
+
*/
|
|
47
|
+
valuelessTransferAllowed(): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Use `sendMany()` to perform wallet sweep.
|
|
50
|
+
* FIXME(BG-39738): add coin.sweepWallet() instead
|
|
51
|
+
*/
|
|
52
|
+
sweepWithSendMany(): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Flag for sending data along with transactions
|
|
55
|
+
* @returns {boolean} True if okay to send tx data (ETH), false otherwise
|
|
56
|
+
*/
|
|
57
|
+
transactionDataAllowed(): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Flag for determining whether this coin supports account consolidations
|
|
60
|
+
* from its receive addresses to the root address.
|
|
61
|
+
* @returns {boolean} True if okay to consolidate over this coin; false, otherwise
|
|
62
|
+
*/
|
|
63
|
+
allowsAccountConsolidations(): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Flag indicating if this coin supports TSS wallets.
|
|
66
|
+
* @returns {boolean} True if TSS Wallets can be created for this coin
|
|
67
|
+
*/
|
|
68
|
+
supportsTss(): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Flag indicating if this coin supports BLS-DKG wallets.
|
|
71
|
+
* @returns {boolean} True if BLS-DKG Wallets can be created for this coin
|
|
72
|
+
*/
|
|
73
|
+
supportsBlsDkg(): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Returns the factor between the base unit and its smallest subdivison
|
|
76
|
+
* @return {number}
|
|
77
|
+
*/
|
|
78
|
+
abstract getBaseFactor(): number | string;
|
|
79
|
+
/**
|
|
80
|
+
* Convert a currency amount represented in base units (satoshi, wei, atoms, drops, stroops)
|
|
81
|
+
* to big units (btc, eth, xrp, xlm)
|
|
82
|
+
*/
|
|
83
|
+
baseUnitsToBigUnits(baseUnits: string | number): string;
|
|
84
|
+
/**
|
|
85
|
+
* Convert a currency amount represented in big units (btc, eth, xrp, xlm)
|
|
86
|
+
* to base units (satoshi, wei, atoms, drops, stroops)
|
|
87
|
+
* @param bigUnits
|
|
88
|
+
*/
|
|
89
|
+
bigUnitsToBaseUnits(bigUnits: string | number): string;
|
|
90
|
+
/**
|
|
91
|
+
* Sign message with private key
|
|
92
|
+
*
|
|
93
|
+
* @param key
|
|
94
|
+
* @param message
|
|
95
|
+
*/
|
|
96
|
+
signMessage(key: {
|
|
97
|
+
prv: string;
|
|
98
|
+
}, message: string): Promise<Buffer>;
|
|
99
|
+
/**
|
|
100
|
+
* Decompose a raw transaction into useful information.
|
|
101
|
+
* @param options - coin-specific
|
|
102
|
+
*/
|
|
103
|
+
explainTransaction(options: Record<string, any>): Promise<ITransactionExplanation<any, string | number> | undefined>;
|
|
104
|
+
/**
|
|
105
|
+
* Verify that a transaction prebuild complies with the original intention
|
|
106
|
+
*/
|
|
107
|
+
abstract verifyTransaction(params: VerifyTransactionOptions): Promise<boolean>;
|
|
108
|
+
/**
|
|
109
|
+
* @deprecated use {@see isWalletAddress} instead
|
|
110
|
+
*/
|
|
111
|
+
verifyAddress(params: VerifyAddressOptions): boolean;
|
|
112
|
+
/**
|
|
113
|
+
* @param params
|
|
114
|
+
* @return true iff address is a wallet address. Must return false if address is outside wallet.
|
|
115
|
+
*/
|
|
116
|
+
abstract isWalletAddress(params: VerifyAddressOptions): boolean;
|
|
117
|
+
/**
|
|
118
|
+
* convert address into desired address format.
|
|
119
|
+
* @param address
|
|
120
|
+
* @param format
|
|
121
|
+
*/
|
|
122
|
+
canonicalAddress(address: string, format?: unknown): string;
|
|
123
|
+
/**
|
|
124
|
+
* Check whether a coin supports blockTarget for transactions to be included in
|
|
125
|
+
* @returns {boolean}
|
|
126
|
+
*/
|
|
127
|
+
supportsBlockTarget(): boolean;
|
|
128
|
+
/**
|
|
129
|
+
* Hook to add additional parameters to the wallet generation
|
|
130
|
+
* @param walletParams
|
|
131
|
+
* @param keychains
|
|
132
|
+
* @return {*}
|
|
133
|
+
*/
|
|
134
|
+
supplementGenerateWallet(walletParams: SupplementGenerateWalletOptions, keychains: KeychainsTriplet): Promise<any>;
|
|
135
|
+
/**
|
|
136
|
+
* Get extra parameters for prebuilding a tx. Add things like hop transaction params
|
|
137
|
+
*/
|
|
138
|
+
getExtraPrebuildParams(buildParams: ExtraPrebuildParamsOptions): Promise<Record<string, unknown>>;
|
|
139
|
+
/**
|
|
140
|
+
* Modify prebuild after receiving it from the server. Add things like nlocktime
|
|
141
|
+
*/
|
|
142
|
+
postProcessPrebuild(prebuildResponse: TransactionPrebuild): Promise<TransactionPrebuild>;
|
|
143
|
+
/**
|
|
144
|
+
* Coin-specific things done before signing a transaction, i.e. verification
|
|
145
|
+
*/
|
|
146
|
+
presignTransaction(params: PresignTransactionOptions): Promise<PresignTransactionOptions>;
|
|
147
|
+
/**
|
|
148
|
+
* Create a new wallet object from a wallet data object
|
|
149
|
+
* @param walletParams
|
|
150
|
+
*/
|
|
151
|
+
newWalletObject(walletParams: any): IWallet;
|
|
152
|
+
/**
|
|
153
|
+
* Fetch fee estimate information from the server
|
|
154
|
+
* @param {Object} params The params passed into the function
|
|
155
|
+
* @param {Integer} params.numBlocks The number of blocks to target for conformation (Only works for btc)
|
|
156
|
+
* @returns {Object} The info returned from the merchant server
|
|
157
|
+
*/
|
|
158
|
+
feeEstimate(params: FeeEstimateOptions): Promise<any>;
|
|
159
|
+
/**
|
|
160
|
+
* The cold wallet tool uses this function to derive an extended key that is based on the passed key and seed
|
|
161
|
+
* @param key
|
|
162
|
+
* @param seed
|
|
163
|
+
* @returns {{key: string, derivationPath: string}}
|
|
164
|
+
*/
|
|
165
|
+
deriveKeyWithSeed({ key, seed }: {
|
|
166
|
+
key: string;
|
|
167
|
+
seed: string;
|
|
168
|
+
}): {
|
|
169
|
+
key: string;
|
|
170
|
+
derivationPath: string;
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* Specifies what key we will need for signing - right now we just need the
|
|
174
|
+
* user key.
|
|
175
|
+
*/
|
|
176
|
+
keyIdsForSigning(): number[];
|
|
177
|
+
/**
|
|
178
|
+
* Perform additional checks before adding a bitgo key. Base controller
|
|
179
|
+
* is a no-op, but coin-specific controller may do something
|
|
180
|
+
* @param params
|
|
181
|
+
*/
|
|
182
|
+
preCreateBitGo(params: PrecreateBitGoOptions): void;
|
|
183
|
+
/**
|
|
184
|
+
* @deprecated - use getBip32Keys() in conjunction with isValidAddress instead
|
|
185
|
+
*/
|
|
186
|
+
initiateRecovery(params: InitiateRecoveryOptions): never;
|
|
187
|
+
abstract parseTransaction(params: ParseTransactionOptions): Promise<ParsedTransaction>;
|
|
188
|
+
/**
|
|
189
|
+
* Generate a key pair on the curve used by the coin
|
|
190
|
+
*
|
|
191
|
+
* @param seed
|
|
192
|
+
*/
|
|
193
|
+
abstract generateKeyPair(seed?: Buffer): KeyPair;
|
|
194
|
+
/**
|
|
195
|
+
* Return boolean indicating whether input is valid public key for the coin.
|
|
196
|
+
*
|
|
197
|
+
* @param {String} pub the pub to be checked
|
|
198
|
+
* @returns {Boolean} is it valid?
|
|
199
|
+
*/
|
|
200
|
+
abstract isValidPub(pub: string): boolean;
|
|
201
|
+
/**
|
|
202
|
+
* Return wether the given m of n wallet signers/ key amounts are valid for the coin
|
|
203
|
+
*/
|
|
204
|
+
isValidMofNSetup({ m, n }: {
|
|
205
|
+
m?: number;
|
|
206
|
+
n?: number;
|
|
207
|
+
}): boolean;
|
|
208
|
+
/**
|
|
209
|
+
* Check if `address` is a plausibly valid address for the given coin.
|
|
210
|
+
*
|
|
211
|
+
* Does not verify that the address belongs to a wallet. For that,
|
|
212
|
+
* use [[verifyAddress]]
|
|
213
|
+
* @param address
|
|
214
|
+
*/
|
|
215
|
+
abstract isValidAddress(address: string): boolean;
|
|
216
|
+
/**
|
|
217
|
+
* Sign a transaction
|
|
218
|
+
*/
|
|
219
|
+
abstract signTransaction(params: SignTransactionOptions): Promise<SignedTransaction>;
|
|
220
|
+
/**
|
|
221
|
+
* Returns the portion of the transaction that needs to be signed in Buffer format.
|
|
222
|
+
* Only needed for coins that support adding signatures directly (e.g. TSS).
|
|
223
|
+
*
|
|
224
|
+
* @param {String} serializedTx - the unsigned transaction in broadcast format
|
|
225
|
+
* @returns {Promise<Buffer>} - the portion of the transaction that needs to be signed
|
|
226
|
+
*/
|
|
227
|
+
getSignablePayload(serializedTx: string): Promise<Buffer>;
|
|
228
|
+
recoverToken(params: RecoverWalletTokenOptions): Promise<RecoverTokenTransaction>;
|
|
229
|
+
}
|
|
230
|
+
//# sourceMappingURL=baseCoin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseCoin.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/baseCoin/baseCoin.ts"],"names":[],"mappings":"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"}
|