@bitgo-beta/sdk-core 8.2.1-beta.111 → 8.2.1-beta.1111
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2779 -0
- package/dist/src/account-lib/baseCoin/baseTransaction.d.ts +0 -1
- package/dist/src/account-lib/baseCoin/baseTransaction.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts +3 -3
- package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/baseTransactionBuilder.js +4 -3
- package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts +1 -0
- package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +41 -29
- package/dist/src/account-lib/baseCoin/enum.d.ts +17 -3
- package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/enum.js +32 -7
- package/dist/src/account-lib/baseCoin/errors.d.ts +3 -0
- package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/errors.js +8 -2
- package/dist/src/account-lib/baseCoin/iface.d.ts +19 -35
- package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/iface.js +26 -18
- package/dist/src/account-lib/baseCoin/index.d.ts +1 -1
- package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/index.js +8 -5
- package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +88 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessage.js +154 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +67 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +144 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +33 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +45 -0
- package/dist/src/account-lib/baseCoin/messages/iface.d.ts +164 -0
- package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/iface.js +3 -0
- package/dist/src/account-lib/baseCoin/messages/index.d.ts +6 -0
- package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/index.js +22 -0
- package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts +3 -0
- package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/simple/index.js +19 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts +13 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.js +28 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts +21 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.js +28 -0
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +1 -2
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +38 -26
- package/dist/src/account-lib/index.js +23 -9
- package/dist/src/account-lib/mpc/index.d.ts +1 -1
- package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/index.js +6 -2
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +38 -8
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +493 -344
- package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +73 -52
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +0 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +66 -69
- package/dist/src/account-lib/mpc/tss/eddsa/index.js +23 -9
- package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
- package/dist/src/account-lib/mpc/tss/index.js +23 -9
- package/dist/src/account-lib/mpc/util.d.ts +7 -1
- package/dist/src/account-lib/mpc/util.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/util.js +19 -1
- package/dist/src/account-lib/staking/index.js +6 -2
- package/dist/src/account-lib/staking/utils.js +3 -3
- package/dist/src/account-lib/util/crypto.d.ts +8 -2
- package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
- package/dist/src/account-lib/util/crypto.js +69 -38
- package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +2 -1
- package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -1
- package/dist/src/account-lib/util/ed25519KeyDeriver.js +5 -3
- package/dist/src/api/bip32path.js +2 -3
- package/dist/src/api/index.js +6 -2
- package/dist/src/api/types.d.ts +8 -0
- package/dist/src/api/types.d.ts.map +1 -1
- package/dist/src/api/types.js +1 -1
- package/dist/src/bitgo/address-book/address-book.d.ts +61 -0
- package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -0
- package/dist/src/bitgo/address-book/address-book.js +139 -0
- package/dist/src/bitgo/address-book/index.d.ts +3 -0
- package/dist/src/bitgo/address-book/index.d.ts.map +1 -0
- package/dist/src/bitgo/address-book/index.js +19 -0
- package/dist/src/bitgo/address-book/types.d.ts +170 -0
- package/dist/src/bitgo/address-book/types.d.ts.map +1 -0
- package/dist/src/bitgo/address-book/types.js +3 -0
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts +90 -10
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.js +142 -16
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +113 -19
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +7 -3
- package/dist/src/bitgo/baseCoin/index.js +6 -2
- package/dist/src/bitgo/bip32util.d.ts +3 -16
- package/dist/src/bitgo/bip32util.d.ts.map +1 -1
- package/dist/src/bitgo/bip32util.js +4 -56
- package/dist/src/bitgo/bitcoin.d.ts +0 -1
- package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
- package/dist/src/bitgo/bitcoin.js +26 -13
- package/dist/src/bitgo/bitgoBase.d.ts +4 -1
- package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
- package/dist/src/bitgo/bitgoBase.js +1 -1
- package/dist/src/bitgo/coinFactory.d.ts +17 -3
- package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
- package/dist/src/bitgo/coinFactory.js +26 -3
- package/dist/src/bitgo/config.d.ts +114 -20
- package/dist/src/bitgo/config.d.ts.map +1 -1
- package/dist/src/bitgo/config.js +26 -15
- package/dist/src/bitgo/ecdh.d.ts +0 -1
- package/dist/src/bitgo/ecdh.d.ts.map +1 -1
- package/dist/src/bitgo/ecdh.js +26 -13
- package/dist/src/bitgo/enterprise/enterprise.d.ts +3 -13
- package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/enterprise.js +39 -34
- package/dist/src/bitgo/enterprise/enterprises.js +27 -13
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts +2 -6
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
- package/dist/src/bitgo/enterprise/index.js +6 -2
- package/dist/src/bitgo/environments.d.ts +69 -5
- package/dist/src/bitgo/environments.d.ts.map +1 -1
- package/dist/src/bitgo/environments.js +183 -32
- package/dist/src/bitgo/errors.d.ts +9 -0
- package/dist/src/bitgo/errors.d.ts.map +1 -1
- package/dist/src/bitgo/errors.js +20 -2
- package/dist/src/bitgo/index.d.ts +1 -1
- package/dist/src/bitgo/index.d.ts.map +1 -1
- package/dist/src/bitgo/index.js +26 -11
- package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +3 -3
- package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
- package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +1 -1
- package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
- package/dist/src/bitgo/internal/index.js +6 -2
- package/dist/src/bitgo/internal/internal.js +5 -6
- package/dist/src/bitgo/internal/keycard.js +6 -7
- package/dist/src/bitgo/keychain/decryptKeychain.d.ts +13 -0
- package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
- package/dist/src/bitgo/keychain/decryptKeychain.js +35 -0
- package/dist/src/bitgo/keychain/iKeychains.d.ts +58 -7
- package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/iKeychains.js +2 -2
- package/dist/src/bitgo/keychain/index.d.ts +1 -0
- package/dist/src/bitgo/keychain/index.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/index.js +7 -2
- package/dist/src/bitgo/keychain/keychains.d.ts +13 -3
- package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/keychains.js +128 -37
- package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +3 -3
- package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/ovcJsonCodec.js +23 -9
- package/dist/src/bitgo/legacyBitcoin.d.ts +0 -1
- package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
- package/dist/src/bitgo/legacyBitcoin.js +27 -13
- package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts +7 -0
- package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts.map +1 -0
- package/dist/src/bitgo/lightning/lightningWalletUtil.js +25 -0
- package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
- package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
- package/dist/src/bitgo/market/index.js +6 -2
- package/dist/src/bitgo/market/markets.js +23 -9
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +1 -0
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
- package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
- package/dist/src/bitgo/pendingApproval/index.js +6 -2
- package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +20 -8
- package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
- package/dist/src/bitgo/pendingApproval/pendingApproval.js +221 -107
- package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
- package/dist/src/bitgo/recovery/index.js +6 -2
- package/dist/src/bitgo/recovery/initiate.d.ts +8 -1
- package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
- package/dist/src/bitgo/recovery/initiate.js +14 -8
- 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 +121 -4
- package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/iStakingWallet.js +2 -2
- package/dist/src/bitgo/staking/index.d.ts +3 -0
- package/dist/src/bitgo/staking/index.d.ts.map +1 -1
- package/dist/src/bitgo/staking/index.js +9 -2
- package/dist/src/bitgo/staking/stakingWallet.d.ts +13 -2
- package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/stakingWallet.js +45 -4
- package/dist/src/bitgo/trading/iTradingAccount.d.ts +2 -32
- package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
- package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
- package/dist/src/bitgo/trading/index.d.ts +1 -15
- package/dist/src/bitgo/trading/index.d.ts.map +1 -1
- package/dist/src/bitgo/trading/index.js +7 -17
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
- package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
- package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt.js +23 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
- package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
- package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt.js +58 -0
- package/dist/src/bitgo/trading/network/index.d.ts +5 -0
- package/dist/src/bitgo/trading/network/index.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/index.js +21 -0
- package/dist/src/bitgo/trading/network/network.d.ts +36 -0
- package/dist/src/bitgo/trading/network/network.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/network.js +101 -0
- package/dist/src/bitgo/trading/network/types.d.ts +277 -0
- package/dist/src/bitgo/trading/network/types.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/types.js +3 -0
- package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
- package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/utils.js +54 -0
- package/dist/src/bitgo/trading/tradingAccount.d.ts +11 -35
- package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
- package/dist/src/bitgo/trading/tradingAccount.js +9 -96
- package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +27 -0
- package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
- package/dist/src/bitgo/tss/bitgoPubKeys.js +61 -0
- package/dist/src/bitgo/tss/common.d.ts +37 -5
- package/dist/src/bitgo/tss/common.d.ts.map +1 -1
- package/dist/src/bitgo/tss/common.js +103 -17
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +6 -4
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/ecdsa.js +78 -66
- package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +162 -0
- package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
- package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/index.js +25 -10
- package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
- package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +15 -6
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/eddsa/eddsa.js +47 -40
- package/dist/src/bitgo/tss/eddsa/index.js +23 -9
- package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
- package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/tss/index.d.ts +3 -2
- package/dist/src/bitgo/tss/index.d.ts.map +1 -1
- package/dist/src/bitgo/tss/index.js +26 -10
- package/dist/src/bitgo/tss/types.d.ts +3 -3
- package/dist/src/bitgo/tss/types.d.ts.map +1 -1
- package/dist/src/bitgo/tss/types.js +2 -2
- package/dist/src/bitgo/types.d.ts +3 -3
- package/dist/src/bitgo/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +11 -0
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +66 -10
- package/dist/src/bitgo/utils/codecProps.js +24 -11
- package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
- package/dist/src/bitgo/utils/decode.js +30 -16
- package/dist/src/bitgo/utils/index.d.ts +3 -2
- package/dist/src/bitgo/utils/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/index.js +26 -11
- package/dist/src/bitgo/utils/messageTypes.d.ts +37 -0
- package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
- package/dist/src/bitgo/utils/messageTypes.js +14 -0
- package/dist/src/bitgo/utils/mpcUtils.d.ts +2 -3
- package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/mpcUtils.js +45 -13
- package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
- package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
- package/dist/src/bitgo/utils/notEmpty.js +7 -0
- package/dist/src/bitgo/utils/opengpgUtils.d.ts +11 -9
- package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/opengpgUtils.js +68 -64
- package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -1
- package/dist/src/bitgo/utils/postWithCodec.js +4 -38
- package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
- package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/promise-utils.js +2 -3
- package/dist/src/bitgo/utils/triple.d.ts +1 -1
- package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
- package/dist/src/bitgo/utils/triple.js +2 -3
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +52 -14
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +186 -44
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +229 -35
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +22 -20
- package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
- package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
- package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +28 -0
- package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/base.js +53 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +17 -50
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +132 -238
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +199 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +950 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +8 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +13 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +4 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/index.js +10 -2
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +7 -10
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +107 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +22 -8
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +111 -60
- package/dist/src/bitgo/utils/tss/eddsa/index.js +23 -9
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +7 -7
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/index.js +23 -9
- package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
- package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
- package/dist/src/bitgo/utils/txRequest.js +47 -0
- package/dist/src/bitgo/utils/util.js +24 -10
- package/dist/src/bitgo/utils/wallet.d.ts +7 -0
- package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
- package/dist/src/bitgo/utils/wallet.js +48 -0
- package/dist/src/bitgo/wallet/BuildParams.d.ts +11 -1
- package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/BuildParams.js +34 -11
- package/dist/src/bitgo/wallet/iWallet.d.ts +216 -19
- package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallet.js +1 -1
- package/dist/src/bitgo/wallet/iWallets.d.ts +91 -16
- package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallets.js +43 -3
- package/dist/src/bitgo/wallet/index.js +6 -2
- package/dist/src/bitgo/wallet/wallet.d.ts +198 -25
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +989 -310
- package/dist/src/bitgo/wallet/wallets.d.ts +97 -9
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallets.js +870 -193
- package/dist/src/bitgo/webhook/index.js +6 -2
- package/dist/src/bitgo/webhook/webhooks.js +23 -9
- package/dist/src/coins/fiataed.d.ts +32 -0
- package/dist/src/coins/fiataed.d.ts.map +1 -0
- package/dist/src/coins/fiataed.js +61 -0
- package/dist/src/coins/fiateur.d.ts +3 -2
- package/dist/src/coins/fiateur.d.ts.map +1 -1
- package/dist/src/coins/fiateur.js +5 -1
- package/dist/src/coins/fiatgbp.d.ts +3 -2
- package/dist/src/coins/fiatgbp.d.ts.map +1 -1
- package/dist/src/coins/fiatgbp.js +5 -1
- package/dist/src/coins/fiatsgd.d.ts +32 -0
- package/dist/src/coins/fiatsgd.d.ts.map +1 -0
- package/dist/src/coins/fiatsgd.js +61 -0
- package/dist/src/coins/fiatusd.d.ts +3 -2
- package/dist/src/coins/fiatusd.d.ts.map +1 -1
- package/dist/src/coins/fiatusd.js +5 -1
- package/dist/src/coins/index.d.ts +4 -0
- package/dist/src/coins/index.d.ts.map +1 -1
- package/dist/src/coins/index.js +10 -2
- package/dist/src/coins/ofc.d.ts +3 -2
- package/dist/src/coins/ofc.d.ts.map +1 -1
- package/dist/src/coins/ofc.js +6 -2
- package/dist/src/coins/ofcToken.js +2 -2
- package/dist/src/coins/susd.d.ts +3 -2
- package/dist/src/coins/susd.d.ts.map +1 -1
- package/dist/src/coins/susd.js +5 -1
- package/dist/src/coins/tfiataed.d.ts +11 -0
- package/dist/src/coins/tfiataed.d.ts.map +1 -0
- package/dist/src/coins/tfiataed.js +17 -0
- package/dist/src/coins/tfiatsgd.d.ts +11 -0
- package/dist/src/coins/tfiatsgd.d.ts.map +1 -0
- package/dist/src/coins/tfiatsgd.js +17 -0
- package/dist/src/common.js +27 -13
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +26 -11
- package/dist/src/units.js +5 -6
- package/dist/test/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 +233 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts +3 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts.map +1 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.js +24 -0
- package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
- package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
- package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -0
- package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
- package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.js +32 -38
- package/dist/test/unit/bitgo/utils/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.js +27 -18
- package/dist/test/unit/units.js +63 -63
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +23 -20
- package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
- package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
- package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
- package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
- package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/iLightning.js +0 -106
- package/dist/src/bitgo/lightning/index.d.ts +0 -5
- package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/index.js +0 -17
- package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
- package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/lightning.js +0 -111
- package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
- package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
- package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
- package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
- package/dist/src/bitgo/trading/affirmation.d.ts +0 -35
- package/dist/src/bitgo/trading/affirmation.d.ts.map +0 -1
- package/dist/src/bitgo/trading/affirmation.js +0 -53
- package/dist/src/bitgo/trading/affirmations.d.ts +0 -23
- package/dist/src/bitgo/trading/affirmations.d.ts.map +0 -1
- package/dist/src/bitgo/trading/affirmations.js +0 -45
- package/dist/src/bitgo/trading/iAffirmation.d.ts +0 -15
- package/dist/src/bitgo/trading/iAffirmation.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iAffirmation.js +0 -13
- package/dist/src/bitgo/trading/iAffirmations.d.ts +0 -10
- package/dist/src/bitgo/trading/iAffirmations.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iAffirmations.js +0 -3
- package/dist/src/bitgo/trading/iSettlement.d.ts +0 -25
- package/dist/src/bitgo/trading/iSettlement.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iSettlement.js +0 -17
- package/dist/src/bitgo/trading/iSettlements.d.ts +0 -19
- package/dist/src/bitgo/trading/iSettlements.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iSettlements.js +0 -3
- package/dist/src/bitgo/trading/iTradingPartner.d.ts +0 -14
- package/dist/src/bitgo/trading/iTradingPartner.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iTradingPartner.js +0 -17
- package/dist/src/bitgo/trading/iTradingPartners.d.ts +0 -15
- package/dist/src/bitgo/trading/iTradingPartners.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iTradingPartners.js +0 -9
- package/dist/src/bitgo/trading/lock.d.ts +0 -16
- package/dist/src/bitgo/trading/lock.d.ts.map +0 -1
- package/dist/src/bitgo/trading/lock.js +0 -12
- package/dist/src/bitgo/trading/payload.d.ts +0 -22
- package/dist/src/bitgo/trading/payload.d.ts.map +0 -1
- package/dist/src/bitgo/trading/payload.js +0 -3
- package/dist/src/bitgo/trading/settlement.d.ts +0 -16
- package/dist/src/bitgo/trading/settlement.d.ts.map +0 -1
- package/dist/src/bitgo/trading/settlement.js +0 -21
- package/dist/src/bitgo/trading/settlements.d.ts +0 -32
- package/dist/src/bitgo/trading/settlements.d.ts.map +0 -1
- package/dist/src/bitgo/trading/settlements.js +0 -61
- package/dist/src/bitgo/trading/trade.d.ts +0 -29
- package/dist/src/bitgo/trading/trade.d.ts.map +0 -1
- package/dist/src/bitgo/trading/trade.js +0 -11
- package/dist/src/bitgo/trading/tradingPartner.d.ts +0 -26
- package/dist/src/bitgo/trading/tradingPartner.d.ts.map +0 -1
- package/dist/src/bitgo/trading/tradingPartner.js +0 -31
- package/dist/src/bitgo/trading/tradingPartners.d.ts +0 -24
- package/dist/src/bitgo/trading/tradingPartners.d.ts.map +0 -1
- package/dist/src/bitgo/trading/tradingPartners.js +0 -32
- package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
- package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
- package/dist/src/bitgo/utils/blsUtils.js +0 -237
- package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
- package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
- package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
- package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts +0 -92
- package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts.map +0 -1
- package/dist/src/bitgo/wallet/SendTransactionRequest.js +0 -41
- package/dist/src/openssl/index.d.ts +0 -5
- package/dist/src/openssl/index.d.ts.map +0 -1
- package/dist/src/openssl/index.js +0 -9
- package/dist/test/unit/openssl.d.ts +0 -2
- package/dist/test/unit/openssl.d.ts.map +0 -1
- package/dist/test/unit/openssl.js +0 -39
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/sdk-core",
|
|
3
|
-
"version": "8.2.1-beta.
|
|
3
|
+
"version": "8.2.1-beta.1111",
|
|
4
4
|
"description": "core library functions for BitGoJS",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"check-fmt": "prettier --check .",
|
|
13
13
|
"clean": "rm -r ./dist",
|
|
14
14
|
"lint": "eslint --quiet .",
|
|
15
|
-
"prepare": "npm run build"
|
|
15
|
+
"prepare": "npm run build",
|
|
16
|
+
"test:watch": " mocha -r ts-node/register --watch --watch-files test/**/*.ts"
|
|
16
17
|
},
|
|
17
18
|
"author": "BitGo SDK Team <sdkteam@bitgo.com>",
|
|
18
19
|
"license": "MIT",
|
|
@@ -36,42 +37,44 @@
|
|
|
36
37
|
]
|
|
37
38
|
},
|
|
38
39
|
"dependencies": {
|
|
39
|
-
"@bitgo-beta/
|
|
40
|
-
"@bitgo-beta/
|
|
41
|
-
"@bitgo-beta/
|
|
42
|
-
"@bitgo-beta/
|
|
43
|
-
"@
|
|
40
|
+
"@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.1103",
|
|
41
|
+
"@bitgo-beta/secp256k1": "1.0.2-beta.1138",
|
|
42
|
+
"@bitgo-beta/sjcl": "1.0.2-beta.1350",
|
|
43
|
+
"@bitgo-beta/statics": "15.1.1-beta.1114",
|
|
44
|
+
"@bitgo-beta/utxo-core": "1.8.1-beta.228",
|
|
45
|
+
"@bitgo-beta/utxo-lib": "8.0.3-beta.1112",
|
|
46
|
+
"@bitgo/public-types": "5.1.0",
|
|
47
|
+
"@noble/curves": "1.8.1",
|
|
44
48
|
"@stablelib/hex": "^1.0.0",
|
|
45
|
-
"@types/elliptic": "^6.4.12",
|
|
46
49
|
"@types/superagent": "4.1.15",
|
|
47
|
-
"bech32": "^2.0.0",
|
|
48
50
|
"big.js": "^3.1.3",
|
|
49
51
|
"bigint-crypto-utils": "3.1.4",
|
|
50
|
-
"bignumber.js": "^9.
|
|
51
|
-
"bitcoinjs-message": "^2.0.0",
|
|
52
|
-
"bolt11": "^1.4.0",
|
|
52
|
+
"bignumber.js": "^9.1.1",
|
|
53
53
|
"bs58": "^4.0.1",
|
|
54
54
|
"create-hmac": "^1.1.7",
|
|
55
55
|
"debug": "^3.1.0",
|
|
56
|
-
"elliptic": "^6.5.2",
|
|
57
56
|
"ethereumjs-util": "7.1.5",
|
|
58
57
|
"fp-ts": "^2.12.2",
|
|
59
|
-
"io-ts": "
|
|
60
|
-
"
|
|
58
|
+
"io-ts": "npm:@bitgo-forks/io-ts@2.1.4",
|
|
59
|
+
"io-ts-types": "^0.5.16",
|
|
60
|
+
"keccak": "3.0.3",
|
|
61
61
|
"libsodium-wrappers-sumo": "^0.7.9",
|
|
62
62
|
"lodash": "^4.17.15",
|
|
63
63
|
"noble-bls12-381": "0.7.2",
|
|
64
|
-
"openpgp": "5.
|
|
64
|
+
"openpgp": "5.11.3",
|
|
65
65
|
"paillier-bigint": "3.3.0",
|
|
66
|
-
"secp256k1": "
|
|
66
|
+
"secp256k1": "5.0.1",
|
|
67
67
|
"strip-hex-prefix": "^1.0.0",
|
|
68
|
-
"superagent": "^
|
|
69
|
-
"tweetnacl": "^1.0.3"
|
|
68
|
+
"superagent": "^9.0.1",
|
|
69
|
+
"tweetnacl": "^1.0.3",
|
|
70
|
+
"uuid": "^8.3.2"
|
|
70
71
|
},
|
|
71
72
|
"devDependencies": {
|
|
73
|
+
"@bitgo-beta/sdk-opensslbytes": "1.0.0-beta.664",
|
|
72
74
|
"@openpgp/web-stream-tools": "0.0.14",
|
|
75
|
+
"@types/keccak": "^3.0.5",
|
|
73
76
|
"@types/lodash": "^4.14.151",
|
|
74
77
|
"nyc": "^15.0.0"
|
|
75
78
|
},
|
|
76
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "6364a31ad4958118cc230e9cbdeb95ac556aad12"
|
|
77
80
|
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { BaseKeyPair } from './baseKeyPair';
|
|
3
|
-
import { AddressFormat } from './enum';
|
|
4
|
-
import { BlsKeys, KeyPairOptions } from './iface';
|
|
5
|
-
/**
|
|
6
|
-
* Base class for BLS keypairs.
|
|
7
|
-
*/
|
|
8
|
-
export declare abstract class BlsKeyPair implements BaseKeyPair {
|
|
9
|
-
protected keyPair: BlsKeys;
|
|
10
|
-
/**
|
|
11
|
-
* Public constructor. By default, creates a key pair with a random polynomial.
|
|
12
|
-
*
|
|
13
|
-
* @param {KeyPairOptions} source Either a dkg options, a public and secret shares, or a private key
|
|
14
|
-
*/
|
|
15
|
-
protected constructor(source?: KeyPairOptions);
|
|
16
|
-
createShares(threshold: number, participants: number): void;
|
|
17
|
-
/**
|
|
18
|
-
* Note - this is not possible using BLS. BLS does not support prvkey derived key gen
|
|
19
|
-
*
|
|
20
|
-
* @param {string[]} prv a hexadecimal private key
|
|
21
|
-
*/
|
|
22
|
-
recordKeysFromPrivateKey(prv: string): void;
|
|
23
|
-
/**
|
|
24
|
-
* Note - this is not possible using BLS. BLS does not support pubkey derived key gen
|
|
25
|
-
*
|
|
26
|
-
* @param {string} pub - An extended, compressed, or uncompressed public key
|
|
27
|
-
*/
|
|
28
|
-
recordKeysFromPublicKey(pub: string): void;
|
|
29
|
-
getAddress(format?: AddressFormat): string;
|
|
30
|
-
getKeys(): any;
|
|
31
|
-
/**
|
|
32
|
-
* Signs bytes using the key pair
|
|
33
|
-
*
|
|
34
|
-
* @param msg The message bytes to sign
|
|
35
|
-
* @return signature of the bytes using this keypair
|
|
36
|
-
*/
|
|
37
|
-
sign(msg: Buffer): Promise<string>;
|
|
38
|
-
static keyDerive(seed: string, pk: string, chaincode: string, path: string): BlsKeys;
|
|
39
|
-
/**
|
|
40
|
-
* Aggregates the secret shares of different key pairs into one private key
|
|
41
|
-
*
|
|
42
|
-
* @param prvKeys an array of secret shares
|
|
43
|
-
* @returns a private key
|
|
44
|
-
*/
|
|
45
|
-
static aggregatePrvkeys(prvKeys: string[]): string;
|
|
46
|
-
/**
|
|
47
|
-
* Aggregates the public shares of different key pairs into a common public key
|
|
48
|
-
*
|
|
49
|
-
* @param pubKeys an array of public shares
|
|
50
|
-
* @returns a common public key
|
|
51
|
-
*/
|
|
52
|
-
static aggregatePubkeys(pubKeys: string[]): string;
|
|
53
|
-
static aggregateChaincodes(chaincodeContributions: string[]): string;
|
|
54
|
-
/**
|
|
55
|
-
* Aggregates the message signed by different key pairs into one sign
|
|
56
|
-
*
|
|
57
|
-
* @param signatures the message signed by different key pairs. The signer id is relevant to ensure a valid signature.
|
|
58
|
-
* @example <caption> E.g., the message is signed by user and wallet, then signatures would be:</caption>
|
|
59
|
-
* {
|
|
60
|
-
* 1: BigInt(messageSignedWithUserPrv),
|
|
61
|
-
* 3: BigInt(messageSignedWithWalletPrv),
|
|
62
|
-
* }
|
|
63
|
-
* @returns a signature combining all the provided signed messages
|
|
64
|
-
*/
|
|
65
|
-
static aggregateSignatures(signatures: {
|
|
66
|
-
[n: number]: bigint;
|
|
67
|
-
}): string;
|
|
68
|
-
/**
|
|
69
|
-
* Verifies the signature for this key pair
|
|
70
|
-
* @param pub The public key with which to verify the signature
|
|
71
|
-
* @param msg The message to verify the signature with
|
|
72
|
-
* @param signature the signature to verify
|
|
73
|
-
* @return true if the signature is valid, else false
|
|
74
|
-
*/
|
|
75
|
-
static verifySignature(pub: string, msg: Buffer, signature: string): Promise<boolean>;
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=blsKeyPair.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blsKeyPair.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/blsKeyPair.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAiC,MAAM,SAAS,CAAC;AAMjF;;GAEG;AACH,8BAAsB,UAAW,YAAW,WAAW;IACrD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,SAAS,aAAa,MAAM,CAAC,EAAE,cAAc;IAsB7C,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAe3D;;;;OAIG;IACH,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI3C;;;;OAIG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI1C,UAAU,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM;IAI1C,OAAO,IAAI,GAAG;IAId;;;;;OAKG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAQ1B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAiB3F;;;;;OAKG;WACW,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM;IAWzD;;;;;OAKG;WACW,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM;WAU3C,mBAAmB,CAAC,sBAAsB,EAAE,MAAM,EAAE,GAAG,MAAM;IAU3E;;;;;;;;;;OAUG;WACW,mBAAmB,CAAC,UAAU,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM;IAS9E;;;;;;OAMG;WACiB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAInG"}
|
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
-
};
|
|
24
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.BlsKeyPair = void 0;
|
|
26
|
-
const assert_1 = __importDefault(require("assert"));
|
|
27
|
-
const crypto_1 = require("crypto");
|
|
28
|
-
const BLS = __importStar(require("@bitgo-beta/bls-dkg"));
|
|
29
|
-
const errors_1 = require("./errors");
|
|
30
|
-
const iface_1 = require("./iface");
|
|
31
|
-
const crypto_2 = require("../util/crypto");
|
|
32
|
-
const DEFAULT_SIGNATURE_THRESHOLD = 2;
|
|
33
|
-
const DEFAULT_SIGNATURE_PARTICIPANTS = 3;
|
|
34
|
-
/**
|
|
35
|
-
* Base class for BLS keypairs.
|
|
36
|
-
*/
|
|
37
|
-
class BlsKeyPair {
|
|
38
|
-
/**
|
|
39
|
-
* Public constructor. By default, creates a key pair with a random polynomial.
|
|
40
|
-
*
|
|
41
|
-
* @param {KeyPairOptions} source Either a dkg options, a public and secret shares, or a private key
|
|
42
|
-
*/
|
|
43
|
-
constructor(source) {
|
|
44
|
-
if (!source) {
|
|
45
|
-
this.createShares(DEFAULT_SIGNATURE_THRESHOLD, DEFAULT_SIGNATURE_PARTICIPANTS);
|
|
46
|
-
}
|
|
47
|
-
else if (iface_1.isDkg(source)) {
|
|
48
|
-
this.createShares(source.threshold, source.participants);
|
|
49
|
-
}
|
|
50
|
-
else if (iface_1.isBlsKey(source)) {
|
|
51
|
-
assert_1.default(source.secretShares.every(crypto_2.isValidBLSPrivateKey), 'Invalid private keys');
|
|
52
|
-
assert_1.default(crypto_2.isValidBLSPublicKey(source.publicShare), 'Invalid public key');
|
|
53
|
-
this.keyPair = source;
|
|
54
|
-
}
|
|
55
|
-
else if (iface_1.isPrivateKey(source)) {
|
|
56
|
-
this.keyPair = {
|
|
57
|
-
prv: source.prv,
|
|
58
|
-
publicShare: '',
|
|
59
|
-
secretShares: [],
|
|
60
|
-
seed: '',
|
|
61
|
-
chaincode: '',
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
throw new Error('Invalid key pair options');
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
createShares(threshold, participants) {
|
|
69
|
-
if (participants < threshold) {
|
|
70
|
-
throw new Error('Participants should be greater than threshold');
|
|
71
|
-
}
|
|
72
|
-
const polynomial = BLS.generatePolynomial(threshold);
|
|
73
|
-
const keySecretShares = BLS.secretShares(polynomial, participants);
|
|
74
|
-
const keyPublicShare = BLS.publicShare(polynomial);
|
|
75
|
-
this.keyPair = {
|
|
76
|
-
seed: crypto_2.bigIntToHex(polynomial[0], 64),
|
|
77
|
-
chaincode: crypto_1.randomBytes(32).toString('hex'),
|
|
78
|
-
secretShares: keySecretShares.map((secretShare) => crypto_2.bigIntToHex(secretShare, 64)),
|
|
79
|
-
publicShare: crypto_2.bigIntToHex(keyPublicShare),
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Note - this is not possible using BLS. BLS does not support prvkey derived key gen
|
|
84
|
-
*
|
|
85
|
-
* @param {string[]} prv a hexadecimal private key
|
|
86
|
-
*/
|
|
87
|
-
recordKeysFromPrivateKey(prv) {
|
|
88
|
-
throw new errors_1.NotImplementedError('Private key derivation is not supported in bls');
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Note - this is not possible using BLS. BLS does not support pubkey derived key gen
|
|
92
|
-
*
|
|
93
|
-
* @param {string} pub - An extended, compressed, or uncompressed public key
|
|
94
|
-
*/
|
|
95
|
-
recordKeysFromPublicKey(pub) {
|
|
96
|
-
throw new errors_1.NotImplementedError('Public key derivation is not supported in bls');
|
|
97
|
-
}
|
|
98
|
-
getAddress(format) {
|
|
99
|
-
throw new errors_1.NotImplementedError('getAddress not implemented');
|
|
100
|
-
}
|
|
101
|
-
getKeys() {
|
|
102
|
-
throw new errors_1.NotImplementedError('getKeys not implemented');
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Signs bytes using the key pair
|
|
106
|
-
*
|
|
107
|
-
* @param msg The message bytes to sign
|
|
108
|
-
* @return signature of the bytes using this keypair
|
|
109
|
-
*/
|
|
110
|
-
async sign(msg) {
|
|
111
|
-
if (this.keyPair.prv) {
|
|
112
|
-
const signedMessage = await BLS.sign(msg, BigInt('0x' + this.keyPair.prv));
|
|
113
|
-
return '0x' + crypto_2.bigIntToHex(signedMessage);
|
|
114
|
-
}
|
|
115
|
-
throw new Error('Missing private key');
|
|
116
|
-
}
|
|
117
|
-
static keyDerive(seed, pk, chaincode, path) {
|
|
118
|
-
const seedBI = BigInt('0x' + seed);
|
|
119
|
-
const pkBI = BigInt('0x' + pk);
|
|
120
|
-
const chaincodeBI = BigInt('0x' + chaincode);
|
|
121
|
-
const childKey = BLS.privateDerive(seedBI, pkBI, chaincodeBI, path);
|
|
122
|
-
const childChaincode = crypto_2.bigIntToHex(childKey.chaincode);
|
|
123
|
-
const entropy = BigInt('0x' + crypto_1.randomBytes(32).toString('hex'));
|
|
124
|
-
const secretShares = BLS.secretShares([childKey.sk, entropy], DEFAULT_SIGNATURE_PARTICIPANTS);
|
|
125
|
-
const publicShare = BLS.publicShare([childKey.sk]);
|
|
126
|
-
return {
|
|
127
|
-
seed,
|
|
128
|
-
chaincode: childChaincode,
|
|
129
|
-
secretShares: secretShares.map((secretShare) => crypto_2.bigIntToHex(secretShare)),
|
|
130
|
-
publicShare: crypto_2.bigIntToHex(publicShare),
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Aggregates the secret shares of different key pairs into one private key
|
|
135
|
-
*
|
|
136
|
-
* @param prvKeys an array of secret shares
|
|
137
|
-
* @returns a private key
|
|
138
|
-
*/
|
|
139
|
-
static aggregatePrvkeys(prvKeys) {
|
|
140
|
-
assert_1.default(prvKeys.every(crypto_2.isValidBLSPrivateKey), 'Invalid private keys');
|
|
141
|
-
try {
|
|
142
|
-
const secretShares = prvKeys.map((secretShare) => BigInt('0x' + secretShare));
|
|
143
|
-
const prv = BLS.mergeSecretShares(secretShares);
|
|
144
|
-
return crypto_2.bigIntToHex(prv);
|
|
145
|
-
}
|
|
146
|
-
catch (e) {
|
|
147
|
-
throw new Error('Error aggregating prvkeys: ' + e);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Aggregates the public shares of different key pairs into a common public key
|
|
152
|
-
*
|
|
153
|
-
* @param pubKeys an array of public shares
|
|
154
|
-
* @returns a common public key
|
|
155
|
-
*/
|
|
156
|
-
static aggregatePubkeys(pubKeys) {
|
|
157
|
-
try {
|
|
158
|
-
const publicShares = pubKeys.map((publicShare) => BigInt('0x' + publicShare));
|
|
159
|
-
const commonPubKey = BLS.mergePublicShares(publicShares);
|
|
160
|
-
return crypto_2.bigIntToHex(commonPubKey);
|
|
161
|
-
}
|
|
162
|
-
catch (e) {
|
|
163
|
-
throw new Error('Error aggregating pubkeys: ' + e);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
static aggregateChaincodes(chaincodeContributions) {
|
|
167
|
-
try {
|
|
168
|
-
const chaincodes = chaincodeContributions.map((chaincode) => BigInt('0x' + chaincode));
|
|
169
|
-
const commonChaincode = BLS.mergeChaincodes(chaincodes);
|
|
170
|
-
return crypto_2.bigIntToHex(commonChaincode, 64);
|
|
171
|
-
}
|
|
172
|
-
catch (e) {
|
|
173
|
-
throw new Error('Error aggregating chaincodes: ' + e);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Aggregates the message signed by different key pairs into one sign
|
|
178
|
-
*
|
|
179
|
-
* @param signatures the message signed by different key pairs. The signer id is relevant to ensure a valid signature.
|
|
180
|
-
* @example <caption> E.g., the message is signed by user and wallet, then signatures would be:</caption>
|
|
181
|
-
* {
|
|
182
|
-
* 1: BigInt(messageSignedWithUserPrv),
|
|
183
|
-
* 3: BigInt(messageSignedWithWalletPrv),
|
|
184
|
-
* }
|
|
185
|
-
* @returns a signature combining all the provided signed messages
|
|
186
|
-
*/
|
|
187
|
-
static aggregateSignatures(signatures) {
|
|
188
|
-
try {
|
|
189
|
-
const signature = BLS.mergeSignatures(signatures);
|
|
190
|
-
return '0x' + crypto_2.bigIntToHex(signature);
|
|
191
|
-
}
|
|
192
|
-
catch (e) {
|
|
193
|
-
throw new Error('Error aggregating signatures: ' + e);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Verifies the signature for this key pair
|
|
198
|
-
* @param pub The public key with which to verify the signature
|
|
199
|
-
* @param msg The message to verify the signature with
|
|
200
|
-
* @param signature the signature to verify
|
|
201
|
-
* @return true if the signature is valid, else false
|
|
202
|
-
*/
|
|
203
|
-
static async verifySignature(pub, msg, signature) {
|
|
204
|
-
assert_1.default(crypto_2.isValidBLSPublicKey(pub), `Invalid public key: ${pub}`);
|
|
205
|
-
return await BLS.verify(BigInt(signature), msg, BigInt('0x' + pub));
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
exports.BlsKeyPair = BlsKeyPair;
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxzS2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY2NvdW50LWxpYi9iYXNlQ29pbi9ibHNLZXlQYWlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsbUNBQXFDO0FBQ3JDLHlEQUEyQztBQUczQyxxQ0FBK0M7QUFDL0MsbUNBQWlGO0FBQ2pGLDJDQUF3RjtBQUV4RixNQUFNLDJCQUEyQixHQUFHLENBQUMsQ0FBQztBQUN0QyxNQUFNLDhCQUE4QixHQUFHLENBQUMsQ0FBQztBQUV6Qzs7R0FFRztBQUNILE1BQXNCLFVBQVU7SUFHOUI7Ozs7T0FJRztJQUNILFlBQXNCLE1BQXVCO1FBQzNDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLDJCQUEyQixFQUFFLDhCQUE4QixDQUFDLENBQUM7U0FDaEY7YUFBTSxJQUFJLGFBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzFEO2FBQU0sSUFBSSxnQkFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzNCLGdCQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsNkJBQW9CLENBQUMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1lBQ2hGLGdCQUFNLENBQUMsNEJBQW1CLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLENBQUM7WUFDdEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7U0FDdkI7YUFBTSxJQUFJLG9CQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRztnQkFDYixHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUc7Z0JBQ2YsV0FBVyxF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QU1HO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBVyxFQUFFLEdBQVcsRUFBRSxTQUFpQjtRQUM3RSxnQkFBTSxDQUFDLDRCQUFtQixDQUFDLEdBQUcsQ0FBQyxFQUFFLHVCQUF1QixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7Q0FDRjtBQWhMRCxnQ0FnTEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgKiBhcyBCTFMgZnJvbSAnQGJpdGdvLWJldGEvYmxzLWRrZyc7XG5pbXBvcnQgeyBCYXNlS2V5UGFpciB9IGZyb20gJy4vYmFzZUtleVBhaXInO1xuaW1wb3J0IHsgQWRkcmVzc0Zvcm1hdCB9IGZyb20gJy4vZW51bSc7XG5pbXBvcnQgeyBOb3RJbXBsZW1lbnRlZEVycm9yIH0gZnJvbSAnLi9lcnJvcnMnO1xuaW1wb3J0IHsgQmxzS2V5cywgS2V5UGFpck9wdGlvbnMsIGlzRGtnLCBpc0Jsc0tleSwgaXNQcml2YXRlS2V5IH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBpc1ZhbGlkQkxTUHVibGljS2V5LCBpc1ZhbGlkQkxTUHJpdmF0ZUtleSwgYmlnSW50VG9IZXggfSBmcm9tICcuLi91dGlsL2NyeXB0byc7XG5cbmNvbnN0IERFRkFVTFRfU0lHTkFUVVJFX1RIUkVTSE9MRCA9IDI7XG5jb25zdCBERUZBVUxUX1NJR05BVFVSRV9QQVJUSUNJUEFOVFMgPSAzO1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIEJMUyBrZXlwYWlycy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJsc0tleVBhaXIgaW1wbGVtZW50cyBCYXNlS2V5UGFpciB7XG4gIHByb3RlY3RlZCBrZXlQYWlyOiBCbHNLZXlzO1xuXG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIHBvbHlub21pYWwuXG4gICAqXG4gICAqIEBwYXJhbSB7S2V5UGFpck9wdGlvbnN9IHNvdXJjZSBFaXRoZXIgYSBka2cgb3B0aW9ucywgYSBwdWJsaWMgYW5kIHNlY3JldCBzaGFyZXMsIG9yIGEgcHJpdmF0ZSBrZXlcbiAgICovXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihzb3VyY2U/OiBLZXlQYWlyT3B0aW9ucykge1xuICAgIGlmICghc291cmNlKSB7XG4gICAgICB0aGlzLmNyZWF0ZVNoYXJlcyhERUZBVUxUX1NJR05BVFVSRV9USFJFU0hPTEQsIERFRkFVTFRfU0lHTkFUVVJFX1BBUlRJQ0lQQU5UUyk7XG4gICAgfSBlbHNlIGlmIChpc0RrZyhzb3VyY2UpKSB7XG4gICAgICB0aGlzLmNyZWF0ZVNoYXJlcyhzb3VyY2UudGhyZXNob2xkLCBzb3VyY2UucGFydGljaXBhbnRzKTtcbiAgICB9IGVsc2UgaWYgKGlzQmxzS2V5KHNvdXJjZSkpIHtcbiAgICAgIGFzc2VydChzb3VyY2Uuc2VjcmV0U2hhcmVzLmV2ZXJ5KGlzVmFsaWRCTFNQcml2YXRlS2V5KSwgJ0ludmFsaWQgcHJpdmF0ZSBrZXlzJyk7XG4gICAgICBhc3NlcnQoaXNWYWxpZEJMU1B1YmxpY0tleShzb3VyY2UucHVibGljU2hhcmUpLCAnSW52YWxpZCBwdWJsaWMga2V5Jyk7XG4gICAgICB0aGlzLmtleVBhaXIgPSBzb3VyY2U7XG4gICAgfSBlbHNlIGlmIChpc1ByaXZhdGVLZXkoc291cmNlKSkge1xuICAgICAgdGhpcy5rZXlQYWlyID0ge1xuICAgICAgICBwcnY6IHNvdXJjZS5wcnYsXG4gICAgICAgIHB1YmxpY1NoYXJlOiAnJyxcbiAgICAgICAgc2VjcmV0U2hhcmVzOiBbXSxcbiAgICAgICAgc2VlZDogJycsXG4gICAgICAgIGNoYWluY29kZTogJycsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQga2V5IHBhaXIgb3B0aW9ucycpO1xuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZVNoYXJlcyh0aHJlc2hvbGQ6IG51bWJlciwgcGFydGljaXBhbnRzOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAocGFydGljaXBhbnRzIDwgdGhyZXNob2xkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BhcnRpY2lwYW50cyBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIHRocmVzaG9sZCcpO1xuICAgIH1cbiAgICBjb25zdCBwb2x5bm9taWFsID0gQkxTLmdlbmVyYXRlUG9seW5vbWlhbCh0aHJlc2hvbGQpO1xuICAgIGNvbnN0IGtleVNlY3JldFNoYXJlcyA9IEJMUy5zZWNyZXRTaGFyZXMocG9seW5vbWlhbCwgcGFydGljaXBhbnRzKTtcbiAgICBjb25zdCBrZXlQdWJsaWNTaGFyZSA9IEJMUy5wdWJsaWNTaGFyZShwb2x5bm9taWFsKTtcbiAgICB0aGlzLmtleVBhaXIgPSB7XG4gICAgICBzZWVkOiBiaWdJbnRUb0hleChwb2x5bm9taWFsWzBdLCA2NCksXG4gICAgICBjaGFpbmNvZGU6IHJhbmRvbUJ5dGVzKDMyKS50b1N0cmluZygnaGV4JyksXG4gICAgICBzZWNyZXRTaGFyZXM6IGtleVNlY3JldFNoYXJlcy5tYXAoKHNlY3JldFNoYXJlKSA9PiBiaWdJbnRUb0hleChzZWNyZXRTaGFyZSwgNjQpKSxcbiAgICAgIHB1YmxpY1NoYXJlOiBiaWdJbnRUb0hleChrZXlQdWJsaWNTaGFyZSksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3RlIC0gdGhpcyBpcyBub3QgcG9zc2libGUgdXNpbmcgQkxTLiBCTFMgZG9lcyBub3Qgc3VwcG9ydCBwcnZrZXkgZGVyaXZlZCBrZXkgZ2VuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IHBydiBhIGhleGFkZWNpbWFsIHByaXZhdGUga2V5XG4gICAqL1xuICByZWNvcmRLZXlzRnJvbVByaXZhdGVLZXkocHJ2OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignUHJpdmF0ZSBrZXkgZGVyaXZhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGluIGJscycpO1xuICB9XG5cbiAgLyoqXG4gICAqIE5vdGUgLSB0aGlzIGlzIG5vdCBwb3NzaWJsZSB1c2luZyBCTFMuIEJMUyBkb2VzIG5vdCBzdXBwb3J0IHB1YmtleSBkZXJpdmVkIGtleSBnZW5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHB1YiAtIEFuIGV4dGVuZGVkLCBjb21wcmVzc2VkLCBvciB1bmNvbXByZXNzZWQgcHVibGljIGtleVxuICAgKi9cbiAgcmVjb3JkS2V5c0Zyb21QdWJsaWNLZXkocHViOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignUHVibGljIGtleSBkZXJpdmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgaW4gYmxzJyk7XG4gIH1cblxuICBnZXRBZGRyZXNzKGZvcm1hdD86IEFkZHJlc3NGb3JtYXQpOiBzdHJpbmcge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdnZXRBZGRyZXNzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgZ2V0S2V5cygpOiBhbnkge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdnZXRLZXlzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpZ25zIGJ5dGVzIHVzaW5nIHRoZSBrZXkgcGFpclxuICAgKlxuICAgKiBAcGFyYW0gbXNnIFRoZSBtZXNzYWdlIGJ5dGVzIHRvIHNpZ25cbiAgICogQHJldHVybiBzaWduYXR1cmUgb2YgdGhlIGJ5dGVzIHVzaW5nIHRoaXMga2V5cGFpclxuICAgKi9cbiAgYXN5bmMgc2lnbihtc2c6IEJ1ZmZlcik6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgaWYgKHRoaXMua2V5UGFpci5wcnYpIHtcbiAgICAgIGNvbnN0IHNpZ25lZE1lc3NhZ2UgPSBhd2FpdCBCTFMuc2lnbihtc2csIEJpZ0ludCgnMHgnICsgdGhpcy5rZXlQYWlyLnBydikpO1xuICAgICAgcmV0dXJuICcweCcgKyBiaWdJbnRUb0hleChzaWduZWRNZXNzYWdlKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHByaXZhdGUga2V5Jyk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGtleURlcml2ZShzZWVkOiBzdHJpbmcsIHBrOiBzdHJpbmcsIGNoYWluY29kZTogc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiBCbHNLZXlzIHtcbiAgICBjb25zdCBzZWVkQkkgPSBCaWdJbnQoJzB4JyArIHNlZWQpO1xuICAgIGNvbnN0IHBrQkkgPSBCaWdJbnQoJzB4JyArIHBrKTtcbiAgICBjb25zdCBjaGFpbmNvZGVCSSA9IEJpZ0ludCgnMHgnICsgY2hhaW5jb2RlKTtcbiAgICBjb25zdCBjaGlsZEtleSA9IEJMUy5wcml2YXRlRGVyaXZlKHNlZWRCSSwgcGtCSSwgY2hhaW5jb2RlQkksIHBhdGgpO1xuICAgIGNvbnN0IGNoaWxkQ2hhaW5jb2RlID0gYmlnSW50VG9IZXgoY2hpbGRLZXkuY2hhaW5jb2RlKTtcbiAgICBjb25zdCBlbnRyb3B5ID0gQmlnSW50KCcweCcgKyByYW5kb21CeXRlcygzMikudG9TdHJpbmcoJ2hleCcpKTtcbiAgICBjb25zdCBzZWNyZXRTaGFyZXMgPSBCTFMuc2VjcmV0U2hhcmVzKFtjaGlsZEtleS5zaywgZW50cm9weV0sIERFRkFVTFRfU0lHTkFUVVJFX1BBUlRJQ0lQQU5UUyk7XG4gICAgY29uc3QgcHVibGljU2hhcmUgPSBCTFMucHVibGljU2hhcmUoW2NoaWxkS2V5LnNrXSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNlZWQsXG4gICAgICBjaGFpbmNvZGU6IGNoaWxkQ2hhaW5jb2RlLFxuICAgICAgc2VjcmV0U2hhcmVzOiBzZWNyZXRTaGFyZXMubWFwKChzZWNyZXRTaGFyZSkgPT4gYmlnSW50VG9IZXgoc2VjcmV0U2hhcmUpKSxcbiAgICAgIHB1YmxpY1NoYXJlOiBiaWdJbnRUb0hleChwdWJsaWNTaGFyZSksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZ2dyZWdhdGVzIHRoZSBzZWNyZXQgc2hhcmVzIG9mIGRpZmZlcmVudCBrZXkgcGFpcnMgaW50byBvbmUgcHJpdmF0ZSBrZXlcbiAgICpcbiAgICogQHBhcmFtIHBydktleXMgYW4gYXJyYXkgb2Ygc2VjcmV0IHNoYXJlc1xuICAgKiBAcmV0dXJucyBhIHByaXZhdGUga2V5XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFnZ3JlZ2F0ZVBydmtleXMocHJ2S2V5czogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIGFzc2VydChwcnZLZXlzLmV2ZXJ5KGlzVmFsaWRCTFNQcml2YXRlS2V5KSwgJ0ludmFsaWQgcHJpdmF0ZSBrZXlzJyk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNlY3JldFNoYXJlcyA9IHBydktleXMubWFwKChzZWNyZXRTaGFyZSkgPT4gQmlnSW50KCcweCcgKyBzZWNyZXRTaGFyZSkpO1xuICAgICAgY29uc3QgcHJ2ID0gQkxTLm1lcmdlU2VjcmV0U2hhcmVzKHNlY3JldFNoYXJlcyk7XG4gICAgICByZXR1cm4gYmlnSW50VG9IZXgocHJ2KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Vycm9yIGFnZ3JlZ2F0aW5nIHBydmtleXM6ICcgKyBlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWdncmVnYXRlcyB0aGUgcHVibGljIHNoYXJlcyBvZiBkaWZmZXJlbnQga2V5IHBhaXJzIGludG8gYSBjb21tb24gcHVibGljIGtleVxuICAgKlxuICAgKiBAcGFyYW0gcHViS2V5cyBhbiBhcnJheSBvZiBwdWJsaWMgc2hhcmVzXG4gICAqIEByZXR1cm5zIGEgY29tbW9uIHB1YmxpYyBrZXlcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYWdncmVnYXRlUHVia2V5cyhwdWJLZXlzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHB1YmxpY1NoYXJlcyA9IHB1YktleXMubWFwKChwdWJsaWNTaGFyZSkgPT4gQmlnSW50KCcweCcgKyBwdWJsaWNTaGFyZSkpO1xuICAgICAgY29uc3QgY29tbW9uUHViS2V5ID0gQkxTLm1lcmdlUHVibGljU2hhcmVzKHB1YmxpY1NoYXJlcyk7XG4gICAgICByZXR1cm4gYmlnSW50VG9IZXgoY29tbW9uUHViS2V5KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Vycm9yIGFnZ3JlZ2F0aW5nIHB1YmtleXM6ICcgKyBlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFnZ3JlZ2F0ZUNoYWluY29kZXMoY2hhaW5jb2RlQ29udHJpYnV0aW9uczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjaGFpbmNvZGVzID0gY2hhaW5jb2RlQ29udHJpYnV0aW9ucy5tYXAoKGNoYWluY29kZSkgPT4gQmlnSW50KCcweCcgKyBjaGFpbmNvZGUpKTtcbiAgICAgIGNvbnN0IGNvbW1vbkNoYWluY29kZSA9IEJMUy5tZXJnZUNoYWluY29kZXMoY2hhaW5jb2Rlcyk7XG4gICAgICByZXR1cm4gYmlnSW50VG9IZXgoY29tbW9uQ2hhaW5jb2RlLCA2NCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciBhZ2dyZWdhdGluZyBjaGFpbmNvZGVzOiAnICsgZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFnZ3JlZ2F0ZXMgdGhlIG1lc3NhZ2Ugc2lnbmVkIGJ5IGRpZmZlcmVudCBrZXkgcGFpcnMgaW50byBvbmUgc2lnblxuICAgKlxuICAgKiBAcGFyYW0gc2lnbmF0dXJlcyB0aGUgbWVzc2FnZSBzaWduZWQgYnkgZGlmZmVyZW50IGtleSBwYWlycy4gVGhlIHNpZ25lciBpZCBpcyByZWxldmFudCB0byBlbnN1cmUgYSB2YWxpZCBzaWduYXR1cmUuXG4gICAqIEBleGFtcGxlIDxjYXB0aW9uPiBFLmcuLCB0aGUgbWVzc2FnZSBpcyBzaWduZWQgYnkgdXNlciBhbmQgd2FsbGV0LCB0aGVuIHNpZ25hdHVyZXMgd291bGQgYmU6PC9jYXB0aW9uPlxuICAgKiB7XG4gICAqICAgMTogQmlnSW50KG1lc3NhZ2VTaWduZWRXaXRoVXNlclBydiksXG4gICAqICAgMzogQmlnSW50KG1lc3NhZ2VTaWduZWRXaXRoV2FsbGV0UHJ2KSxcbiAgICogfVxuICAgKiBAcmV0dXJucyBhIHNpZ25hdHVyZSBjb21iaW5pbmcgYWxsIHRoZSBwcm92aWRlZCBzaWduZWQgbWVzc2FnZXNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYWdncmVnYXRlU2lnbmF0dXJlcyhzaWduYXR1cmVzOiB7IFtuOiBudW1iZXJdOiBiaWdpbnQgfSk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNpZ25hdHVyZSA9IEJMUy5tZXJnZVNpZ25hdHVyZXMoc2lnbmF0dXJlcyk7XG4gICAgICByZXR1cm4gJzB4JyArIGJpZ0ludFRvSGV4KHNpZ25hdHVyZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciBhZ2dyZWdhdGluZyBzaWduYXR1cmVzOiAnICsgZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWVzIHRoZSBzaWduYXR1cmUgZm9yIHRoaXMga2V5IHBhaXJcbiAgICogQHBhcmFtIHB1YiBUaGUgcHVibGljIGtleSB3aXRoIHdoaWNoIHRvIHZlcmlmeSB0aGUgc2lnbmF0dXJlXG4gICAqIEBwYXJhbSBtc2cgVGhlIG1lc3NhZ2UgdG8gdmVyaWZ5IHRoZSBzaWduYXR1cmUgd2l0aFxuICAgKiBAcGFyYW0gc2lnbmF0dXJlIHRoZSBzaWduYXR1cmUgdG8gdmVyaWZ5XG4gICAqIEByZXR1cm4gdHJ1ZSBpZiB0aGUgc2lnbmF0dXJlIGlzIHZhbGlkLCBlbHNlIGZhbHNlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzeW5jIHZlcmlmeVNpZ25hdHVyZShwdWI6IHN0cmluZywgbXNnOiBCdWZmZXIsIHNpZ25hdHVyZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgYXNzZXJ0KGlzVmFsaWRCTFNQdWJsaWNLZXkocHViKSwgYEludmFsaWQgcHVibGljIGtleTogJHtwdWJ9YCk7XG4gICAgcmV0dXJuIGF3YWl0IEJMUy52ZXJpZnkoQmlnSW50KHNpZ25hdHVyZSksIG1zZywgQmlnSW50KCcweCcgKyBwdWIpKTtcbiAgfVxufVxuIl19
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import * as t from 'io-ts';
|
|
2
|
-
export interface CreateInvoiceParams {
|
|
3
|
-
value: number;
|
|
4
|
-
memo?: string;
|
|
5
|
-
expiry?: number;
|
|
6
|
-
}
|
|
7
|
-
export interface LightningWithdrawalParams {
|
|
8
|
-
value: number;
|
|
9
|
-
destination?: string;
|
|
10
|
-
sequenceId?: string;
|
|
11
|
-
}
|
|
12
|
-
export interface LightningDepositParams {
|
|
13
|
-
amount: number;
|
|
14
|
-
}
|
|
15
|
-
export interface PayInvoiceParams {
|
|
16
|
-
invoice: string;
|
|
17
|
-
sequenceId?: string;
|
|
18
|
-
comment?: string;
|
|
19
|
-
feeLimitRatio?: number;
|
|
20
|
-
feeLimit?: number;
|
|
21
|
-
}
|
|
22
|
-
export interface GetInvoicesQuery {
|
|
23
|
-
status?: string;
|
|
24
|
-
limit?: number;
|
|
25
|
-
startDate?: string;
|
|
26
|
-
endDate?: string;
|
|
27
|
-
}
|
|
28
|
-
export interface GetPaymentsQuery {
|
|
29
|
-
status?: string;
|
|
30
|
-
limit?: number;
|
|
31
|
-
startDate?: string;
|
|
32
|
-
endDate?: string;
|
|
33
|
-
}
|
|
34
|
-
export interface LnurlPayParams {
|
|
35
|
-
callback: string;
|
|
36
|
-
millisatAmount: string;
|
|
37
|
-
metadata: string;
|
|
38
|
-
}
|
|
39
|
-
export declare const WPTransferEntry: t.PartialC<{
|
|
40
|
-
wallet: t.StringC;
|
|
41
|
-
address: t.StringC;
|
|
42
|
-
value: t.NumberC;
|
|
43
|
-
valueString: t.StringC;
|
|
44
|
-
isChange: t.BooleanC;
|
|
45
|
-
isPayGo: t.BooleanC;
|
|
46
|
-
token: t.StringC;
|
|
47
|
-
}>;
|
|
48
|
-
export declare type WPTransferEntry = t.TypeOf<typeof WPTransferEntry>;
|
|
49
|
-
export declare const WPTransfer: t.TypeC<{
|
|
50
|
-
entries: t.ArrayC<t.PartialC<{
|
|
51
|
-
wallet: t.StringC;
|
|
52
|
-
address: t.StringC;
|
|
53
|
-
value: t.NumberC;
|
|
54
|
-
valueString: t.StringC;
|
|
55
|
-
isChange: t.BooleanC;
|
|
56
|
-
isPayGo: t.BooleanC;
|
|
57
|
-
token: t.StringC;
|
|
58
|
-
}>>;
|
|
59
|
-
id: t.StringC;
|
|
60
|
-
heightId: t.StringC;
|
|
61
|
-
type: t.StringC;
|
|
62
|
-
value: t.NumberC;
|
|
63
|
-
state: t.StringC;
|
|
64
|
-
}>;
|
|
65
|
-
export declare type WPTransfer = t.TypeOf<typeof WPTransfer>;
|
|
66
|
-
export declare const WithdrawResponse: t.ExactC<t.TypeC<{
|
|
67
|
-
txid: t.StringC;
|
|
68
|
-
}>>;
|
|
69
|
-
export declare type WithdrawResponse = t.TypeOf<typeof WithdrawResponse>;
|
|
70
|
-
export declare const CreateInvoiceResponse: t.ExactC<t.TypeC<{
|
|
71
|
-
value: t.NumberC;
|
|
72
|
-
memo: t.UnionC<[t.StringC, t.UndefinedC]>;
|
|
73
|
-
paymentHash: t.StringC;
|
|
74
|
-
invoice: t.StringC;
|
|
75
|
-
walletId: t.StringC;
|
|
76
|
-
status: t.StringC;
|
|
77
|
-
expiresAt: t.StringC;
|
|
78
|
-
}>>;
|
|
79
|
-
export declare type CreateInvoiceResponse = t.TypeOf<typeof CreateInvoiceResponse>;
|
|
80
|
-
export declare const CreateDepositAddressResponse: t.ExactC<t.TypeC<{
|
|
81
|
-
address: t.StringC;
|
|
82
|
-
}>>;
|
|
83
|
-
export declare type CreateDepositAddressResponse = t.TypeOf<typeof CreateDepositAddressResponse>;
|
|
84
|
-
export declare const DepositResponse: t.ExactC<t.TypeC<{
|
|
85
|
-
status: t.StringC;
|
|
86
|
-
transfer: t.TypeC<{
|
|
87
|
-
entries: t.ArrayC<t.PartialC<{
|
|
88
|
-
wallet: t.StringC;
|
|
89
|
-
address: t.StringC;
|
|
90
|
-
value: t.NumberC;
|
|
91
|
-
valueString: t.StringC;
|
|
92
|
-
isChange: t.BooleanC;
|
|
93
|
-
isPayGo: t.BooleanC;
|
|
94
|
-
token: t.StringC;
|
|
95
|
-
}>>;
|
|
96
|
-
id: t.StringC;
|
|
97
|
-
heightId: t.StringC;
|
|
98
|
-
type: t.StringC;
|
|
99
|
-
value: t.NumberC;
|
|
100
|
-
state: t.StringC;
|
|
101
|
-
}>;
|
|
102
|
-
}>>;
|
|
103
|
-
export declare type DepositResponse = t.TypeOf<typeof DepositResponse>;
|
|
104
|
-
export declare const PayInvoiceResponse: t.ExactC<t.TypeC<{
|
|
105
|
-
paymentHash: t.StringC;
|
|
106
|
-
transfer: t.TypeC<{
|
|
107
|
-
entries: t.ArrayC<t.PartialC<{
|
|
108
|
-
wallet: t.StringC;
|
|
109
|
-
address: t.StringC;
|
|
110
|
-
value: t.NumberC;
|
|
111
|
-
valueString: t.StringC;
|
|
112
|
-
isChange: t.BooleanC;
|
|
113
|
-
isPayGo: t.BooleanC;
|
|
114
|
-
token: t.StringC;
|
|
115
|
-
}>>;
|
|
116
|
-
id: t.StringC;
|
|
117
|
-
heightId: t.StringC;
|
|
118
|
-
type: t.StringC;
|
|
119
|
-
value: t.NumberC;
|
|
120
|
-
state: t.StringC;
|
|
121
|
-
}>;
|
|
122
|
-
status: t.StringC;
|
|
123
|
-
}>>;
|
|
124
|
-
export declare type PayInvoiceResponse = t.TypeOf<typeof PayInvoiceResponse>;
|
|
125
|
-
export declare const GetBalanceResponse: t.ExactC<t.TypeC<{
|
|
126
|
-
balance: t.NumberC;
|
|
127
|
-
availableBalance: t.NumberC;
|
|
128
|
-
maximumBalance: t.NumberC;
|
|
129
|
-
}>>;
|
|
130
|
-
export declare type GetBalanceResponse = t.TypeOf<typeof GetBalanceResponse>;
|
|
131
|
-
export declare const GetInvoicesResponse: t.ArrayC<t.ExactC<t.TypeC<{
|
|
132
|
-
paymentHash: t.StringC;
|
|
133
|
-
walletId: t.StringC;
|
|
134
|
-
status: t.UnionC<[t.LiteralC<"open">, t.LiteralC<"settled">, t.LiteralC<"canceled">]>;
|
|
135
|
-
value: t.NumberC;
|
|
136
|
-
expiresAt: t.StringC;
|
|
137
|
-
createdAt: t.StringC;
|
|
138
|
-
updatedAt: t.StringC;
|
|
139
|
-
amtPaidSats: t.UnionC<[t.NumberC, t.UndefinedC]>;
|
|
140
|
-
}>>>;
|
|
141
|
-
export declare type GetInvoicesResponse = t.TypeOf<typeof GetInvoicesResponse>;
|
|
142
|
-
export declare const GetPaymentsResponse: t.ArrayC<t.ExactC<t.TypeC<{
|
|
143
|
-
paymentHash: t.StringC;
|
|
144
|
-
walletId: t.StringC;
|
|
145
|
-
status: t.UnionC<[t.LiteralC<"in_flight">, t.LiteralC<"settled">, t.LiteralC<"failed">]>;
|
|
146
|
-
amount: t.UnionC<[t.NumberC, t.UndefinedC]>;
|
|
147
|
-
invoice: t.StringC;
|
|
148
|
-
sendQueueId: t.StringC;
|
|
149
|
-
failureReason: t.UnionC<[t.StringC, t.UndefinedC]>;
|
|
150
|
-
fee: t.UnionC<[t.NumberC, t.UndefinedC]>;
|
|
151
|
-
feeLimit: t.NumberC;
|
|
152
|
-
paymentPreimage: t.UnionC<[t.StringC, t.UndefinedC]>;
|
|
153
|
-
destination: t.StringC;
|
|
154
|
-
}>>>;
|
|
155
|
-
export declare type GetPaymentsResponse = t.TypeOf<typeof GetPaymentsResponse>;
|
|
156
|
-
export declare const LnurlPayResponse: t.ExactC<t.TypeC<{
|
|
157
|
-
tag: t.LiteralC<"payRequest">;
|
|
158
|
-
callback: t.StringC;
|
|
159
|
-
/** The maximum amount in millisatoshis we can pay for this LNRUL request */
|
|
160
|
-
maxSendable: t.NumberC;
|
|
161
|
-
/** The minimum amount in millisatoshis we can pay for this LNRUL request */
|
|
162
|
-
minSendable: t.NumberC;
|
|
163
|
-
/** A json array in string format describing the payment */
|
|
164
|
-
metadata: t.StringC;
|
|
165
|
-
}>>;
|
|
166
|
-
export declare type LnurlPayResponse = t.TypeOf<typeof LnurlPayResponse>;
|
|
167
|
-
export declare type DecodedLnurlPayRequest = LnurlPayResponse & {
|
|
168
|
-
/**
|
|
169
|
-
* From https://github.com/fiatjaf/lnurl-rfc/blob/luds/06.md#pay-to-static-qrnfclink
|
|
170
|
-
* a payment dialog must include: Domain name extracted from LNURL query string.
|
|
171
|
-
*/
|
|
172
|
-
domain: string;
|
|
173
|
-
};
|
|
174
|
-
export interface ILightning {
|
|
175
|
-
createInvoice(params: CreateInvoiceParams): Promise<CreateInvoiceResponse>;
|
|
176
|
-
createDepositAddress(): Promise<CreateDepositAddressResponse>;
|
|
177
|
-
payInvoice(params: PayInvoiceParams): Promise<PayInvoiceResponse>;
|
|
178
|
-
getBalance(): Promise<GetBalanceResponse>;
|
|
179
|
-
withdraw(params: LightningWithdrawalParams): Promise<WithdrawResponse>;
|
|
180
|
-
deposit(params: LightningDepositParams): Promise<DepositResponse>;
|
|
181
|
-
getInvoices(query?: GetInvoicesQuery): Promise<GetInvoicesResponse>;
|
|
182
|
-
decodeLnurlPay(lnurl: string): Promise<DecodedLnurlPayRequest>;
|
|
183
|
-
fetchLnurlPayInvoice(params: LnurlPayParams): Promise<string>;
|
|
184
|
-
getPayments(query?: GetPaymentsQuery): Promise<GetPaymentsResponse>;
|
|
185
|
-
}
|
|
186
|
-
//# sourceMappingURL=iLightning.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"iLightning.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/lightning/iLightning.ts"],"names":[],"mappings":"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"}
|