@bitgo-beta/sdk-core 8.2.1-beta.66 → 8.2.1-beta.660
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 +2528 -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 +0 -1
- package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/baseTransactionBuilder.js +1 -1
- package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -1
- package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/blsKeyPair.js +43 -29
- 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 +14 -2
- package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/enum.js +27 -5
- package/dist/src/account-lib/baseCoin/errors.js +1 -1
- package/dist/src/account-lib/baseCoin/iface.d.ts +18 -15
- package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/iface.js +10 -7
- package/dist/src/account-lib/baseCoin/index.js +6 -2
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +0 -1
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +33 -21
- package/dist/src/account-lib/index.js +23 -9
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts +4 -18
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/curves/ed25519.js +6 -60
- package/dist/src/account-lib/mpc/index.d.ts +4 -4
- package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/index.js +11 -7
- package/dist/src/account-lib/mpc/shamir.d.ts +5 -37
- package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/shamir.js +6 -130
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +38 -9
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +496 -348
- package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +73 -52
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +1 -2
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +65 -67
- 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 +61 -31
- 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 +1 -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 +64 -8
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.js +109 -15
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +77 -19
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +2 -2
- package/dist/src/bitgo/baseCoin/index.js +6 -2
- package/dist/src/bitgo/bip32util.d.ts +0 -1
- package/dist/src/bitgo/bip32util.d.ts.map +1 -1
- package/dist/src/bitgo/bip32util.js +25 -12
- 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 +1 -1
- package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
- package/dist/src/bitgo/coinFactory.js +1 -1
- package/dist/src/bitgo/config.d.ts +50 -20
- package/dist/src/bitgo/config.d.ts.map +1 -1
- package/dist/src/bitgo/config.js +25 -11
- package/dist/src/bitgo/ecdh.d.ts +0 -1
- package/dist/src/bitgo/ecdh.d.ts.map +1 -1
- package/dist/src/bitgo/ecdh.js +26 -13
- package/dist/src/bitgo/enterprise/enterprise.d.ts +16 -14
- package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/enterprise.js +64 -31
- package/dist/src/bitgo/enterprise/enterprises.d.ts +6 -0
- package/dist/src/bitgo/enterprise/enterprises.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/enterprises.js +48 -9
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts +6 -7
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
- package/dist/src/bitgo/enterprise/iEnterprises.d.ts +2 -0
- package/dist/src/bitgo/enterprise/iEnterprises.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/iEnterprises.js +1 -1
- package/dist/src/bitgo/enterprise/index.js +6 -2
- package/dist/src/bitgo/environments.d.ts +34 -5
- package/dist/src/bitgo/environments.d.ts.map +1 -1
- package/dist/src/bitgo/environments.js +52 -15
- package/dist/src/bitgo/errors.d.ts +3 -0
- package/dist/src/bitgo/errors.d.ts.map +1 -1
- package/dist/src/bitgo/errors.js +8 -2
- package/dist/src/bitgo/index.d.ts +1 -0
- package/dist/src/bitgo/index.d.ts.map +1 -1
- package/dist/src/bitgo/index.js +24 -9
- 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 +62 -4
- 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 +130 -28
- package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +63 -33
- package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/ovcJsonCodec.js +35 -16
- 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/codecs.d.ts +268 -0
- package/dist/src/bitgo/lightning/codecs.d.ts.map +1 -0
- package/dist/src/bitgo/lightning/codecs.js +145 -0
- package/dist/src/bitgo/lightning/{iLightning.d.ts → custodial/iLightning.d.ts} +12 -12
- package/dist/src/bitgo/lightning/custodial/iLightning.d.ts.map +1 -0
- package/dist/src/bitgo/lightning/custodial/iLightning.js +120 -0
- package/dist/src/bitgo/lightning/custodial/index.d.ts +5 -0
- package/dist/src/bitgo/lightning/custodial/index.d.ts.map +1 -0
- package/dist/src/bitgo/lightning/custodial/index.js +21 -0
- package/dist/src/bitgo/lightning/{lightning.d.ts → custodial/lightning.d.ts} +2 -2
- package/dist/src/bitgo/lightning/custodial/lightning.d.ts.map +1 -0
- package/dist/src/bitgo/lightning/custodial/lightning.js +111 -0
- package/dist/src/bitgo/lightning/custodial/lightningUtils.d.ts +46 -0
- package/dist/src/bitgo/lightning/custodial/lightningUtils.d.ts.map +1 -0
- package/dist/src/bitgo/lightning/custodial/lightningUtils.js +145 -0
- package/dist/src/bitgo/lightning/custodial/lnurlCodec.d.ts.map +1 -0
- package/dist/src/bitgo/lightning/custodial/lnurlCodec.js +27 -0
- package/dist/src/bitgo/lightning/index.d.ts +4 -3
- package/dist/src/bitgo/lightning/index.d.ts.map +1 -1
- package/dist/src/bitgo/lightning/index.js +10 -5
- package/dist/src/bitgo/lightning/lightningUtils.d.ts +58 -45
- package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +1 -1
- package/dist/src/bitgo/lightning/lightningUtils.js +190 -99
- package/dist/src/bitgo/lightning/lightningWallet.d.ts +18 -0
- package/dist/src/bitgo/lightning/lightningWallet.d.ts.map +1 -0
- package/dist/src/bitgo/lightning/lightningWallet.js +65 -0
- package/dist/src/bitgo/lightning/signableJson.d.ts +17 -0
- package/dist/src/bitgo/lightning/signableJson.d.ts.map +1 -0
- package/dist/src/bitgo/lightning/signableJson.js +29 -0
- package/dist/src/bitgo/lightning/signature.d.ts +22 -0
- package/dist/src/bitgo/lightning/signature.d.ts.map +1 -0
- package/dist/src/bitgo/lightning/signature.js +69 -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 +2 -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 +202 -107
- package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
- package/dist/src/bitgo/recovery/index.js +6 -2
- package/dist/src/bitgo/recovery/initiate.d.ts +8 -2
- package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
- package/dist/src/bitgo/recovery/initiate.js +7 -8
- package/dist/src/bitgo/staking/iStakingWallet.d.ts +104 -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.js +6 -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 +151 -0
- package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
- package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/index.js +25 -10
- package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
- package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +11 -8
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/eddsa/eddsa.js +38 -41
- package/dist/src/bitgo/tss/eddsa/index.js +23 -9
- package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
- package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/tss/index.d.ts +3 -2
- package/dist/src/bitgo/tss/index.d.ts.map +1 -1
- package/dist/src/bitgo/tss/index.js +26 -10
- package/dist/src/bitgo/tss/types.d.ts +16 -1
- 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/blsUtils.js +5 -5
- package/dist/src/bitgo/utils/codecProps.d.ts +7 -0
- package/dist/src/bitgo/utils/codecProps.d.ts.map +1 -0
- package/dist/src/bitgo/utils/codecProps.js +54 -0
- package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
- package/dist/src/bitgo/utils/decode.js +30 -16
- package/dist/src/bitgo/utils/index.d.ts +2 -0
- package/dist/src/bitgo/utils/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/index.js +25 -9
- package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/mpcUtils.js +17 -12
- package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
- package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
- package/dist/src/bitgo/utils/notEmpty.js +7 -0
- package/dist/src/bitgo/utils/opengpgUtils.d.ts +11 -4
- package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/opengpgUtils.js +70 -57
- package/dist/src/bitgo/utils/postWithCodec.d.ts +18 -0
- package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -0
- package/dist/src/bitgo/utils/postWithCodec.js +25 -0
- package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
- package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/promise-utils.js +2 -3
- package/dist/src/bitgo/utils/triple.d.ts +1 -1
- package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
- package/dist/src/bitgo/utils/triple.js +2 -3
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +54 -8
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +170 -28
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +225 -20
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +26 -7
- 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 +30 -0
- package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/base.js +51 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +48 -32
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +272 -172
- 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 +930 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +8 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +13 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +4 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/index.js +10 -2
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +15 -7
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +107 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +5 -3
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +67 -58
- package/dist/src/bitgo/utils/tss/eddsa/index.js +23 -9
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +7 -7
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/index.js +23 -9
- package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
- package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
- package/dist/src/bitgo/utils/txRequest.js +47 -0
- package/dist/src/bitgo/utils/util.js +24 -10
- package/dist/src/bitgo/utils/wallet.d.ts +7 -0
- package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
- package/dist/src/bitgo/utils/wallet.js +48 -0
- package/dist/src/bitgo/wallet/BuildParams.d.ts +119 -0
- package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/BuildParams.js +140 -0
- package/dist/src/bitgo/wallet/iWallet.d.ts +185 -16
- 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 +62 -13
- package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallets.js +42 -2
- package/dist/src/bitgo/wallet/index.js +6 -2
- package/dist/src/bitgo/wallet/wallet.d.ts +165 -17
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +819 -311
- package/dist/src/bitgo/wallet/wallets.d.ts +66 -8
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallets.js +598 -189
- package/dist/src/bitgo/webhook/index.js +6 -2
- package/dist/src/bitgo/webhook/webhooks.js +23 -9
- package/dist/src/coins/fiateur.d.ts +0 -1
- package/dist/src/coins/fiateur.d.ts.map +1 -1
- package/dist/src/coins/fiatgbp.d.ts +0 -1
- package/dist/src/coins/fiatgbp.d.ts.map +1 -1
- package/dist/src/coins/fiatusd.d.ts +0 -1
- package/dist/src/coins/fiatusd.d.ts.map +1 -1
- package/dist/src/coins/index.js +6 -2
- package/dist/src/coins/ofc.d.ts +0 -1
- package/dist/src/coins/ofc.d.ts.map +1 -1
- package/dist/src/coins/ofc.js +2 -2
- package/dist/src/coins/ofcToken.js +2 -2
- package/dist/src/coins/susd.d.ts +0 -1
- package/dist/src/coins/susd.d.ts.map +1 -1
- package/dist/src/common.js +27 -13
- package/dist/src/index.d.ts +6 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +28 -11
- package/dist/src/units.js +5 -6
- package/dist/test/node.utils.d.ts +2 -0
- package/dist/test/node.utils.d.ts.map +1 -0
- package/dist/test/node.utils.js +5 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +233 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts +3 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts.map +1 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.js +24 -0
- package/dist/test/unit/bitgo/lightning/codecs.d.ts +2 -0
- package/dist/test/unit/bitgo/lightning/codecs.d.ts.map +1 -0
- package/dist/test/unit/bitgo/lightning/codecs.js +147 -0
- package/dist/test/unit/bitgo/lightning/createWatchOnlyFixture.d.ts +4 -0
- package/dist/test/unit/bitgo/lightning/createWatchOnlyFixture.d.ts.map +1 -0
- package/dist/test/unit/bitgo/lightning/createWatchOnlyFixture.js +1562 -0
- package/dist/test/unit/bitgo/lightning/lightningUtils.d.ts +2 -0
- package/dist/test/unit/bitgo/lightning/lightningUtils.d.ts.map +1 -0
- package/dist/test/unit/bitgo/lightning/lightningUtils.js +104 -0
- package/dist/test/unit/bitgo/lightning/signableJson.d.ts +2 -0
- package/dist/test/unit/bitgo/lightning/signableJson.d.ts.map +1 -0
- package/dist/test/unit/bitgo/lightning/signableJson.js +52 -0
- package/dist/test/unit/bitgo/lightning/signature.d.ts +2 -0
- package/dist/test/unit/bitgo/lightning/signature.d.ts.map +1 -0
- package/dist/test/unit/bitgo/lightning/signature.js +91 -0
- package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
- package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
- package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -0
- package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.js +73 -0
- package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/txRequest.js +105 -0
- package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/BuildParams.js +68 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +58 -0
- package/dist/test/unit/units.d.ts +2 -0
- package/dist/test/unit/units.d.ts.map +1 -0
- package/dist/test/unit/units.js +98 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +28 -17
- package/dist/src/account-lib/mpc/hdTree.d.ts +0 -31
- package/dist/src/account-lib/mpc/hdTree.d.ts.map +0 -1
- package/dist/src/account-lib/mpc/hdTree.js +0 -141
- package/dist/src/account-lib/mpc/types.d.ts +0 -5
- package/dist/src/account-lib/mpc/types.d.ts.map +0 -1
- package/dist/src/account-lib/mpc/types.js +0 -3
- package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
- package/dist/src/bitgo/lightning/iLightning.js +0 -106
- 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/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/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/src/bitgo/lightning/{lnurlCodec.d.ts → custodial/lnurlCodec.d.ts} +0 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.LnurlPayResponse = exports.GetPaymentsResponse = exports.GetInvoicesResponse = exports.GetBalanceResponse = exports.PayInvoiceResponse = exports.DepositResponse = exports.CreateDepositAddressResponse = exports.CreateInvoiceResponse = exports.WithdrawResponse = exports.WPTransfer = exports.WPTransferEntry = void 0;
|
|
37
|
+
/* eslint-disable no-redeclare */
|
|
38
|
+
const t = __importStar(require("io-ts"));
|
|
39
|
+
exports.WPTransferEntry = t.partial({
|
|
40
|
+
wallet: t.string,
|
|
41
|
+
address: t.string,
|
|
42
|
+
value: t.number,
|
|
43
|
+
valueString: t.string,
|
|
44
|
+
isChange: t.boolean,
|
|
45
|
+
isPayGo: t.boolean,
|
|
46
|
+
token: t.string,
|
|
47
|
+
}, 'WPTransferEntry');
|
|
48
|
+
exports.WPTransfer = t.type({
|
|
49
|
+
entries: t.array(exports.WPTransferEntry),
|
|
50
|
+
id: t.string,
|
|
51
|
+
heightId: t.string,
|
|
52
|
+
type: t.string,
|
|
53
|
+
value: t.number,
|
|
54
|
+
state: t.string,
|
|
55
|
+
}, 'WPTransfer');
|
|
56
|
+
exports.WithdrawResponse = t.strict({
|
|
57
|
+
txid: t.string,
|
|
58
|
+
}, 'CreateWithdrawalResponse');
|
|
59
|
+
exports.CreateInvoiceResponse = t.strict({
|
|
60
|
+
value: t.number,
|
|
61
|
+
memo: t.union([t.string, t.undefined]),
|
|
62
|
+
paymentHash: t.string,
|
|
63
|
+
invoice: t.string,
|
|
64
|
+
walletId: t.string,
|
|
65
|
+
status: t.string,
|
|
66
|
+
expiresAt: t.string,
|
|
67
|
+
}, 'CreateInvoiceResponse');
|
|
68
|
+
exports.CreateDepositAddressResponse = t.strict({
|
|
69
|
+
address: t.string,
|
|
70
|
+
}, 'CreateDepositAddressResponse');
|
|
71
|
+
exports.DepositResponse = t.strict({
|
|
72
|
+
status: t.string,
|
|
73
|
+
transfer: exports.WPTransfer,
|
|
74
|
+
}, 'DepositResponse');
|
|
75
|
+
exports.PayInvoiceResponse = t.strict({
|
|
76
|
+
paymentHash: t.string,
|
|
77
|
+
transfer: exports.WPTransfer,
|
|
78
|
+
status: t.string,
|
|
79
|
+
}, 'PayInvoiceResponse');
|
|
80
|
+
exports.GetBalanceResponse = t.strict({
|
|
81
|
+
balance: t.number,
|
|
82
|
+
availableBalance: t.number,
|
|
83
|
+
maximumBalance: t.number,
|
|
84
|
+
}, 'GetBalanceResponse');
|
|
85
|
+
const InvoiceInfo = t.strict({
|
|
86
|
+
paymentHash: t.string,
|
|
87
|
+
walletId: t.string,
|
|
88
|
+
status: t.union([t.literal('open'), t.literal('settled'), t.literal('canceled')]),
|
|
89
|
+
value: t.number,
|
|
90
|
+
expiresAt: t.string,
|
|
91
|
+
createdAt: t.string,
|
|
92
|
+
updatedAt: t.string,
|
|
93
|
+
amtPaidSats: t.union([t.number, t.undefined]),
|
|
94
|
+
});
|
|
95
|
+
exports.GetInvoicesResponse = t.array(InvoiceInfo);
|
|
96
|
+
const PaymentInfo = t.strict({
|
|
97
|
+
paymentHash: t.string,
|
|
98
|
+
walletId: t.string,
|
|
99
|
+
status: t.union([t.literal('in_flight'), t.literal('settled'), t.literal('failed')]),
|
|
100
|
+
amount: t.union([t.number, t.undefined]),
|
|
101
|
+
invoice: t.string,
|
|
102
|
+
sendQueueId: t.string,
|
|
103
|
+
failureReason: t.union([t.string, t.undefined]),
|
|
104
|
+
fee: t.union([t.number, t.undefined]),
|
|
105
|
+
feeLimit: t.number,
|
|
106
|
+
paymentPreimage: t.union([t.string, t.undefined]),
|
|
107
|
+
destination: t.string,
|
|
108
|
+
});
|
|
109
|
+
exports.GetPaymentsResponse = t.array(PaymentInfo);
|
|
110
|
+
exports.LnurlPayResponse = t.strict({
|
|
111
|
+
tag: t.literal('payRequest'),
|
|
112
|
+
callback: t.string,
|
|
113
|
+
/** The maximum amount in millisatoshis we can pay for this LNRUL request */
|
|
114
|
+
maxSendable: t.number,
|
|
115
|
+
/** The minimum amount in millisatoshis we can pay for this LNRUL request */
|
|
116
|
+
minSendable: t.number,
|
|
117
|
+
/** A json array in string format describing the payment */
|
|
118
|
+
metadata: t.string,
|
|
119
|
+
});
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUxpZ2h0bmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby9saWdodG5pbmcvY3VzdG9kaWFsL2lMaWdodG5pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUNBQWlDO0FBQ2pDLHlDQUEyQjtBQThDZCxRQUFBLGVBQWUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUN0QztJQUNFLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNoQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDakIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2YsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ3JCLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTztJQUNuQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87SUFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO0NBQ2hCLEVBQ0QsaUJBQWlCLENBQ2xCLENBQUM7QUFJVyxRQUFBLFVBQVUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUM5QjtJQUNFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLHVCQUFlLENBQUM7SUFDakMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ1osUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2xCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNkLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNmLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTTtDQUNoQixFQUNELFlBQVksQ0FDYixDQUFDO0FBSVcsUUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUN0QztJQUNFLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtDQUNmLEVBQ0QsMEJBQTBCLENBQzNCLENBQUM7QUFJVyxRQUFBLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxNQUFNLENB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LENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNsQixlQUFlLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTTtDQUN0QixDQUFDLENBQUM7QUFFVSxRQUFBLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7QUFJM0MsUUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLEdBQUcsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztJQUM1QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDbEIsNEVBQTRFO0lBQzVFLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNyQiw0RUFBNEU7SUFDNUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ3JCLDJEQUEyRDtJQUMzRCxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU07Q0FDbkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVkZWNsYXJlICovXG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVJbnZvaWNlUGFyYW1zIHtcbiAgdmFsdWU6IG51bWJlcjtcbiAgbWVtbz86IHN0cmluZztcbiAgZXhwaXJ5PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0bmluZ1dpdGhkcmF3YWxQYXJhbXMge1xuICB2YWx1ZTogbnVtYmVyO1xuICBkZXN0aW5hdGlvbj86IHN0cmluZztcbiAgc2VxdWVuY2VJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWdodG5pbmdEZXBvc2l0UGFyYW1zIHtcbiAgYW1vdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5SW52b2ljZVBhcmFtcyB7XG4gIGludm9pY2U6IHN0cmluZztcbiAgc2VxdWVuY2VJZD86IHN0cmluZztcbiAgY29tbWVudD86IHN0cmluZztcbiAgZmVlTGltaXRSYXRpbz86IG51bWJlcjtcbiAgZmVlTGltaXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0SW52b2ljZXNRdWVyeSB7XG4gIHN0YXR1cz86IHN0cmluZztcbiAgbGltaXQ/OiBudW1iZXI7XG4gIHN0YXJ0RGF0ZT86IHN0cmluZztcbiAgZW5kRGF0ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRQYXltZW50c1F1ZXJ5IHtcbiAgc3RhdHVzPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbiAgc3RhcnREYXRlPzogc3RyaW5nO1xuICBlbmREYXRlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExudXJsUGF5UGFyYW1zIHtcbiAgY2FsbGJhY2s6IHN0cmluZztcbiAgbWlsbGlzYXRBbW91bnQ6IHN0cmluZztcbiAgbWV0YWRhdGE6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IFdQVHJhbnNmZXJFbnRyeSA9IHQucGFydGlhbChcbiAge1xuICAgIHdhbGxldDogdC5zdHJpbmcsXG4gICAgYWRkcmVzczogdC5zdHJpbmcsXG4gICAgdmFsdWU6IHQubnVtYmVyLFxuICAgIHZhbHVlU3RyaW5nOiB0LnN0cmluZyxcbiAgICBpc0NoYW5nZTogdC5ib29sZWFuLFxuICAgIGlzUGF5R286IHQuYm9vbGVhbixcbiAgICB0b2tlbjogdC5zdHJpbmcsXG4gIH0sXG4gICdXUFRyYW5zZmVyRW50cnknXG4pO1xuXG5leHBvcnQgdHlwZSBXUFRyYW5zZmVyRW50cnkgPSB0LlR5cGVPZjx0eXBlb2YgV1BUcmFuc2ZlckVudHJ5PjtcblxuZXhwb3J0IGNvbnN0IFdQVHJhbnNmZXIgPSB0LnR5cGUoXG4gIHtcbiAgICBlbnRyaWVzOiB0LmFycmF5KFdQVHJhbnNmZXJFbnRyeSksXG4gICAgaWQ6IHQuc3RyaW5nLFxuICAgIGhlaWdodElkOiB0LnN0cmluZyxcbiAgICB0eXBlOiB0LnN0cmluZyxcbiAgICB2YWx1ZTogdC5udW1iZXIsXG4gICAgc3RhdGU6IHQuc3RyaW5nLFxuICB9LFxuICAnV1BUcmFuc2Zlcidcbik7XG5cbmV4cG9ydCB0eXBlIFdQVHJhbnNmZXIgPSB0LlR5cGVPZjx0eXBlb2YgV1BUcmFuc2Zlcj47XG5cbmV4cG9ydCBjb25zdCBXaXRoZHJhd1Jlc3BvbnNlID0gdC5zdHJpY3QoXG4gIHtcbiAgICB0eGlkOiB0LnN0cmluZyxcbiAgfSxcbiAgJ0NyZWF0ZVdpdGhkcmF3YWxSZXNwb25zZSdcbik7XG5cbmV4cG9ydCB0eXBlIFdpdGhkcmF3UmVzcG9uc2UgPSB0LlR5cGVPZjx0eXBlb2YgV2l0aGRyYXdSZXNwb25zZT47XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVJbnZvaWNlUmVzcG9uc2UgPSB0LnN0cmljdChcbiAge1xuICAgIHZhbHVlOiB0Lm51bWJlcixcbiAgICBtZW1vOiB0LnVuaW9uKFt0LnN0cmluZywgdC51bmRlZmluZWRdKSxcbiAgICBwYXltZW50SGFzaDogdC5zdHJpbmcsXG4gICAgaW52b2ljZTogdC5zdHJpbmcsXG4gICAgd2FsbGV0SWQ6IHQuc3RyaW5nLFxuICAgIHN0YXR1czogdC5zdHJpbmcsXG4gICAgZXhwaXJlc0F0OiB0LnN0cmluZyxcbiAgfSxcbiAgJ0NyZWF0ZUludm9pY2VSZXNwb25zZSdcbik7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUludm9pY2VSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBDcmVhdGVJbnZvaWNlUmVzcG9uc2U+O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlRGVwb3NpdEFkZHJlc3NSZXNwb25zZSA9IHQuc3RyaWN0KFxuICB7XG4gICAgYWRkcmVzczogdC5zdHJpbmcsXG4gIH0sXG4gICdDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlJ1xuKTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlRGVwb3NpdEFkZHJlc3NSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlPjtcblxuZXhwb3J0IGNvbnN0IERlcG9zaXRSZXNwb25zZSA9IHQuc3RyaWN0KFxuICB7XG4gICAgc3RhdHVzOiB0LnN0cmluZyxcbiAgICB0cmFuc2ZlcjogV1BUcmFuc2ZlcixcbiAgfSxcbiAgJ0RlcG9zaXRSZXNwb25zZSdcbik7XG5cbmV4cG9ydCB0eXBlIERlcG9zaXRSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBEZXBvc2l0UmVzcG9uc2U+O1xuXG5leHBvcnQgY29uc3QgUGF5SW52b2ljZVJlc3BvbnNlID0gdC5zdHJpY3QoXG4gIHtcbiAgICBwYXltZW50SGFzaDogdC5zdHJpbmcsXG4gICAgdHJhbnNmZXI6IFdQVHJhbnNmZXIsXG4gICAgc3RhdHVzOiB0LnN0cmluZyxcbiAgfSxcbiAgJ1BheUludm9pY2VSZXNwb25zZSdcbik7XG5cbmV4cG9ydCB0eXBlIFBheUludm9pY2VSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBQYXlJbnZvaWNlUmVzcG9uc2U+O1xuXG5leHBvcnQgY29uc3QgR2V0QmFsYW5jZVJlc3BvbnNlID0gdC5zdHJpY3QoXG4gIHtcbiAgICBiYWxhbmNlOiB0Lm51bWJlcixcbiAgICBhdmFpbGFibGVCYWxhbmNlOiB0Lm51bWJlcixcbiAgICBtYXhpbXVtQmFsYW5jZTogdC5udW1iZXIsXG4gIH0sXG4gICdHZXRCYWxhbmNlUmVzcG9uc2UnXG4pO1xuXG5leHBvcnQgdHlwZSBHZXRCYWxhbmNlUmVzcG9uc2UgPSB0LlR5cGVPZjx0eXBlb2YgR2V0QmFsYW5jZVJlc3BvbnNlPjtcblxuY29uc3QgSW52b2ljZUluZm8gPSB0LnN0cmljdCh7XG4gIHBheW1lbnRIYXNoOiB0LnN0cmluZyxcbiAgd2FsbGV0SWQ6IHQuc3RyaW5nLFxuICBzdGF0dXM6IHQudW5pb24oW3QubGl0ZXJhbCgnb3BlbicpLCB0LmxpdGVyYWwoJ3NldHRsZWQnKSwgdC5saXRlcmFsKCdjYW5jZWxlZCcpXSksXG4gIHZhbHVlOiB0Lm51bWJlcixcbiAgZXhwaXJlc0F0OiB0LnN0cmluZyxcbiAgY3JlYXRlZEF0OiB0LnN0cmluZyxcbiAgdXBkYXRlZEF0OiB0LnN0cmluZyxcbiAgYW10UGFpZFNhdHM6IHQudW5pb24oW3QubnVtYmVyLCB0LnVuZGVmaW5lZF0pLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRJbnZvaWNlc1Jlc3BvbnNlID0gdC5hcnJheShJbnZvaWNlSW5mbyk7XG5cbmV4cG9ydCB0eXBlIEdldEludm9pY2VzUmVzcG9uc2UgPSB0LlR5cGVPZjx0eXBlb2YgR2V0SW52b2ljZXNSZXNwb25zZT47XG5cbmNvbnN0IFBheW1lbnRJbmZvID0gdC5zdHJpY3Qoe1xuICBwYXltZW50SGFzaDogdC5zdHJpbmcsXG4gIHdhbGxldElkOiB0LnN0cmluZyxcbiAgc3RhdHVzOiB0LnVuaW9uKFt0LmxpdGVyYWwoJ2luX2ZsaWdodCcpLCB0LmxpdGVyYWwoJ3NldHRsZWQnKSwgdC5saXRlcmFsKCdmYWlsZWQnKV0pLFxuICBhbW91bnQ6IHQudW5pb24oW3QubnVtYmVyLCB0LnVuZGVmaW5lZF0pLFxuICBpbnZvaWNlOiB0LnN0cmluZyxcbiAgc2VuZFF1ZXVlSWQ6IHQuc3RyaW5nLFxuICBmYWlsdXJlUmVhc29uOiB0LnVuaW9uKFt0LnN0cmluZywgdC51bmRlZmluZWRdKSxcbiAgZmVlOiB0LnVuaW9uKFt0Lm51bWJlciwgdC51bmRlZmluZWRdKSxcbiAgZmVlTGltaXQ6IHQubnVtYmVyLFxuICBwYXltZW50UHJlaW1hZ2U6IHQudW5pb24oW3Quc3RyaW5nLCB0LnVuZGVmaW5lZF0pLFxuICBkZXN0aW5hdGlvbjogdC5zdHJpbmcsXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldFBheW1lbnRzUmVzcG9uc2UgPSB0LmFycmF5KFBheW1lbnRJbmZvKTtcblxuZXhwb3J0IHR5cGUgR2V0UGF5bWVudHNSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBHZXRQYXltZW50c1Jlc3BvbnNlPjtcblxuZXhwb3J0IGNvbnN0IExudXJsUGF5UmVzcG9uc2UgPSB0LnN0cmljdCh7XG4gIHRhZzogdC5saXRlcmFsKCdwYXlSZXF1ZXN0JyksXG4gIGNhbGxiYWNrOiB0LnN0cmluZyxcbiAgLyoqIFRoZSBtYXhpbXVtIGFtb3VudCBpbiBtaWxsaXNhdG9zaGlzIHdlIGNhbiBwYXkgZm9yIHRoaXMgTE5SVUwgcmVxdWVzdCAqL1xuICBtYXhTZW5kYWJsZTogdC5udW1iZXIsXG4gIC8qKiBUaGUgbWluaW11bSBhbW91bnQgaW4gbWlsbGlzYXRvc2hpcyB3ZSBjYW4gcGF5IGZvciB0aGlzIExOUlVMIHJlcXVlc3QgKi9cbiAgbWluU2VuZGFibGU6IHQubnVtYmVyLFxuICAvKiogQSBqc29uIGFycmF5IGluIHN0cmluZyBmb3JtYXQgZGVzY3JpYmluZyB0aGUgcGF5bWVudCAqL1xuICBtZXRhZGF0YTogdC5zdHJpbmcsXG59KTtcblxuZXhwb3J0IHR5cGUgTG51cmxQYXlSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBMbnVybFBheVJlc3BvbnNlPjtcblxuZXhwb3J0IHR5cGUgRGVjb2RlZExudXJsUGF5UmVxdWVzdCA9IExudXJsUGF5UmVzcG9uc2UgJiB7XG4gIC8qKlxuICAgKiBGcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9maWF0amFmL2xudXJsLXJmYy9ibG9iL2x1ZHMvMDYubWQjcGF5LXRvLXN0YXRpYy1xcm5mY2xpbmtcbiAgICogYSBwYXltZW50IGRpYWxvZyBtdXN0IGluY2x1ZGU6IERvbWFpbiBuYW1lIGV4dHJhY3RlZCBmcm9tIExOVVJMIHF1ZXJ5IHN0cmluZy5cbiAgICovXG4gIGRvbWFpbjogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJTGlnaHRuaW5nIHtcbiAgY3JlYXRlSW52b2ljZShwYXJhbXM6IENyZWF0ZUludm9pY2VQYXJhbXMpOiBQcm9taXNlPENyZWF0ZUludm9pY2VSZXNwb25zZT47XG4gIGNyZWF0ZURlcG9zaXRBZGRyZXNzKCk6IFByb21pc2U8Q3JlYXRlRGVwb3NpdEFkZHJlc3NSZXNwb25zZT47XG4gIHBheUludm9pY2UocGFyYW1zOiBQYXlJbnZvaWNlUGFyYW1zKTogUHJvbWlzZTxQYXlJbnZvaWNlUmVzcG9uc2U+O1xuICBnZXRCYWxhbmNlKCk6IFByb21pc2U8R2V0QmFsYW5jZVJlc3BvbnNlPjtcbiAgd2l0aGRyYXcocGFyYW1zOiBMaWdodG5pbmdXaXRoZHJhd2FsUGFyYW1zKTogUHJvbWlzZTxXaXRoZHJhd1Jlc3BvbnNlPjtcbiAgZGVwb3NpdChwYXJhbXM6IExpZ2h0bmluZ0RlcG9zaXRQYXJhbXMpOiBQcm9taXNlPERlcG9zaXRSZXNwb25zZT47XG4gIGdldEludm9pY2VzKHF1ZXJ5PzogR2V0SW52b2ljZXNRdWVyeSk6IFByb21pc2U8R2V0SW52b2ljZXNSZXNwb25zZT47XG4gIGRlY29kZUxudXJsUGF5KGxudXJsOiBzdHJpbmcpOiBQcm9taXNlPERlY29kZWRMbnVybFBheVJlcXVlc3Q+O1xuICBmZXRjaExudXJsUGF5SW52b2ljZShwYXJhbXM6IExudXJsUGF5UGFyYW1zKTogUHJvbWlzZTxzdHJpbmc+O1xuICBnZXRQYXltZW50cyhxdWVyeT86IEdldFBheW1lbnRzUXVlcnkpOiBQcm9taXNlPEdldFBheW1lbnRzUmVzcG9uc2U+O1xufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/lightning/custodial/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./iLightning"), exports);
|
|
18
|
+
__exportStar(require("./lightning"), exports);
|
|
19
|
+
__exportStar(require("./lnurlCodec"), exports);
|
|
20
|
+
__exportStar(require("./lightningUtils"), exports);
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vbGlnaHRuaW5nL2N1c3RvZGlhbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQTZCO0FBQzdCLDhDQUE0QjtBQUM1QiwrQ0FBNkI7QUFDN0IsbURBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pTGlnaHRuaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vbGlnaHRuaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vbG51cmxDb2RlYyc7XG5leHBvcnQgKiBmcm9tICcuL2xpZ2h0bmluZ1V0aWxzJztcbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ILightning, CreateInvoiceParams, PayInvoiceParams, LightningWithdrawalParams, LightningDepositParams, LnurlPayParams, CreateInvoiceResponse, CreateDepositAddressResponse, PayInvoiceResponse, GetBalanceResponse, WithdrawResponse, DepositResponse, GetInvoicesQuery, GetInvoicesResponse, DecodedLnurlPayRequest, GetPaymentsQuery, GetPaymentsResponse } from './iLightning';
|
|
2
|
-
import { BitGoBase } from '
|
|
3
|
-
import { IWallet } from '
|
|
2
|
+
import { BitGoBase } from '../../bitgoBase';
|
|
3
|
+
import { IWallet } from '../../wallet';
|
|
4
4
|
export declare class Lightning implements ILightning {
|
|
5
5
|
private readonly bitgo;
|
|
6
6
|
private readonly wallet;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lightning.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/lightning/custodial/lightning.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAIvC,qBAAa,SAAU,YAAW,UAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAEjB,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO;IAMhC,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAW1E,oBAAoB,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAO7D,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAWjE,UAAU,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAOzC,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqBtE,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;IAWjE,WAAW,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAiBhF;;;;OAIG;IACU,WAAW,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgBzE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAI9D,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;CAGrE"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Lightning = void 0;
|
|
4
|
+
const iLightning_1 = require("./iLightning");
|
|
5
|
+
const lightningUtils_1 = require("./lightningUtils");
|
|
6
|
+
const decode_1 = require("../../utils/decode");
|
|
7
|
+
const crypto_1 = require("crypto");
|
|
8
|
+
class Lightning {
|
|
9
|
+
constructor(bitgo, wallet) {
|
|
10
|
+
this.bitgo = bitgo;
|
|
11
|
+
this.wallet = wallet;
|
|
12
|
+
this.url = this.bitgo.url(`/wallet/${this.wallet.id()}/lightning`, 2);
|
|
13
|
+
}
|
|
14
|
+
async createInvoice(params) {
|
|
15
|
+
const body = await this.bitgo
|
|
16
|
+
.post(this.url + '/invoice')
|
|
17
|
+
.send(params)
|
|
18
|
+
.result();
|
|
19
|
+
return (0, decode_1.decodeOrElse)(iLightning_1.CreateInvoiceResponse.name, iLightning_1.CreateInvoiceResponse, body, (errors) => {
|
|
20
|
+
throw new Error(`error(s) parsing response body: ${errors}`);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
async createDepositAddress() {
|
|
24
|
+
const body = await this.bitgo.post(this.url + '/address').result();
|
|
25
|
+
return (0, decode_1.decodeOrElse)(iLightning_1.CreateDepositAddressResponse.name, iLightning_1.CreateDepositAddressResponse, body, (errors) => {
|
|
26
|
+
throw new Error(`error(s) parsing response body: ${errors}`);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async payInvoice(params) {
|
|
30
|
+
const body = await this.bitgo
|
|
31
|
+
.post(this.url + '/payment')
|
|
32
|
+
.send(params)
|
|
33
|
+
.result();
|
|
34
|
+
return (0, decode_1.decodeOrElse)(iLightning_1.PayInvoiceResponse.name, iLightning_1.PayInvoiceResponse, body, (errors) => {
|
|
35
|
+
throw new Error(`error(s) parsing response body: ${errors}`);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
async getBalance() {
|
|
39
|
+
const body = await this.bitgo.get(this.url + '/balance').result();
|
|
40
|
+
return (0, decode_1.decodeOrElse)(iLightning_1.GetBalanceResponse.name, iLightning_1.GetBalanceResponse, body, (errors) => {
|
|
41
|
+
throw new Error(`error(s) parsing response body: ${errors}`);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
async withdraw(params) {
|
|
45
|
+
const { value } = params;
|
|
46
|
+
let { destination, sequenceId } = params;
|
|
47
|
+
if (destination === undefined) {
|
|
48
|
+
destination = (await this.wallet.createAddress()).address;
|
|
49
|
+
}
|
|
50
|
+
if (sequenceId === undefined) {
|
|
51
|
+
sequenceId = (0, crypto_1.randomBytes)(16).toString('hex');
|
|
52
|
+
}
|
|
53
|
+
const body = await this.bitgo
|
|
54
|
+
.post(this.url + '/withdrawal')
|
|
55
|
+
.send({ value, destination, sequenceId })
|
|
56
|
+
.result();
|
|
57
|
+
return (0, decode_1.decodeOrElse)(iLightning_1.WithdrawResponse.name, iLightning_1.WithdrawResponse, body, (errors) => {
|
|
58
|
+
throw new Error(`error(s) parsing response body: ${errors}`);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
async deposit(params) {
|
|
62
|
+
const { amount } = params;
|
|
63
|
+
const address = (await this.createDepositAddress()).address;
|
|
64
|
+
const res = await this.wallet.send({ amount, address });
|
|
65
|
+
return (0, decode_1.decodeOrElse)(iLightning_1.DepositResponse.name, iLightning_1.DepositResponse, res, (errors) => {
|
|
66
|
+
throw new Error(`error(s) parsing response body: ${errors}`);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
async getInvoices(query) {
|
|
70
|
+
const queryParams = {
|
|
71
|
+
status: query?.status,
|
|
72
|
+
limit: query?.limit,
|
|
73
|
+
startDate: query?.startDate,
|
|
74
|
+
endDate: query?.endDate,
|
|
75
|
+
};
|
|
76
|
+
const body = await this.bitgo
|
|
77
|
+
.get(this.url + '/invoices')
|
|
78
|
+
.query(queryParams)
|
|
79
|
+
.result();
|
|
80
|
+
return (0, decode_1.decodeOrElse)(iLightning_1.GetInvoicesResponse.name, iLightning_1.GetInvoicesResponse, body, (errors) => {
|
|
81
|
+
throw new Error(`error(s) parsing response body: ${errors}`);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* fetches lightning payments by status, limit, startDate and endDate
|
|
86
|
+
* @param query
|
|
87
|
+
* @return {GetPaymentsResponse}
|
|
88
|
+
*/
|
|
89
|
+
async getPayments(query) {
|
|
90
|
+
const queryParams = {};
|
|
91
|
+
queryParams.status = query?.status;
|
|
92
|
+
queryParams.limit = query?.limit;
|
|
93
|
+
queryParams.startDate = query?.startDate;
|
|
94
|
+
queryParams.endDate = query?.endDate;
|
|
95
|
+
const body = await this.bitgo
|
|
96
|
+
.get(this.url + '/payments')
|
|
97
|
+
.query(queryParams)
|
|
98
|
+
.result();
|
|
99
|
+
return (0, decode_1.decodeOrElse)(iLightning_1.GetPaymentsResponse.name, iLightning_1.GetPaymentsResponse, body, (errors) => {
|
|
100
|
+
throw new Error(`error(s) parsing response body: ${errors}`);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
decodeLnurlPay(lnurl) {
|
|
104
|
+
return (0, lightningUtils_1.decodeLnurlPay)(lnurl);
|
|
105
|
+
}
|
|
106
|
+
fetchLnurlPayInvoice(params) {
|
|
107
|
+
return (0, lightningUtils_1.fetchLnurlPayInvoice)(params);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.Lightning = Lightning;
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2xpZ2h0bmluZy9jdXN0b2RpYWwvbGlnaHRuaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQWtCc0I7QUFDdEIscURBQXdFO0FBR3hFLCtDQUFrRDtBQUNsRCxtQ0FBcUM7QUFFckMsTUFBYSxTQUFTO0lBS3BCLFlBQVksS0FBZ0IsRUFBRSxNQUFlO1FBQzNDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBMkI7UUFDcEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSzthQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUM7YUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUNaLE1BQU0sRUFBRSxDQUFDO1FBRVosT0FBTyxJQUFBLHFCQUFZLEVBQUMsa0NBQXFCLENBQUMsSUFBSSxFQUFFLGtDQUFxQixFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3RGLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQjtRQUMvQixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLENBQUMsTUFBTSxF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QUksR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLO2FBQzFCLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQzthQUMzQixLQUFLLENBQUMsV0FBVyxDQUFDO2FBQ2xCLE1BQU0sRUFBRSxDQUFDO1FBQ1osT0FBTyxJQUFBLHFCQUFZLEVBQUMsZ0NBQW1CLENBQUMsSUFBSSxFQUFFLGdDQUFtQixFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2xGLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQWE7UUFDakMsT0FBTyxJQUFBLCtCQUFjLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLG9CQUFvQixDQUFDLE1BQXNCO1FBQ2hELE9BQU8sSUFBQSxxQ0FBb0IsRUFBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7QUE1SEQsOEJBNEhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSUxpZ2h0bmluZyxcbiAgQ3JlYXRlSW52b2ljZVBhcmFtcyxcbiAgUGF5SW52b2ljZVBhcmFtcyxcbiAgTGlnaHRuaW5nV2l0aGRyYXdhbFBhcmFtcyxcbiAgTGlnaHRuaW5nRGVwb3NpdFBhcmFtcyxcbiAgTG51cmxQYXlQYXJhbXMsXG4gIENyZWF0ZUludm9pY2VSZXNwb25zZSxcbiAgQ3JlYXRlRGVwb3NpdEFkZHJlc3NSZXNwb25zZSxcbiAgUGF5SW52b2ljZVJlc3BvbnNlLFxuICBHZXRCYWxhbmNlUmVzcG9uc2UsXG4gIFdpdGhkcmF3UmVzcG9uc2UsXG4gIERlcG9zaXRSZXNwb25zZSxcbiAgR2V0SW52b2ljZXNRdWVyeSxcbiAgR2V0SW52b2ljZXNSZXNwb25zZSxcbiAgRGVjb2RlZExudXJsUGF5UmVxdWVzdCxcbiAgR2V0UGF5bWVudHNRdWVyeSxcbiAgR2V0UGF5bWVudHNSZXNwb25zZSxcbn0gZnJvbSAnLi9pTGlnaHRuaW5nJztcbmltcG9ydCB7IGRlY29kZUxudXJsUGF5LCBmZXRjaExudXJsUGF5SW52b2ljZSB9IGZyb20gJy4vbGlnaHRuaW5nVXRpbHMnO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IElXYWxsZXQgfSBmcm9tICcuLi8uLi93YWxsZXQnO1xuaW1wb3J0IHsgZGVjb2RlT3JFbHNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvZGVjb2RlJztcbmltcG9ydCB7IHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcblxuZXhwb3J0IGNsYXNzIExpZ2h0bmluZyBpbXBsZW1lbnRzIElMaWdodG5pbmcge1xuICBwcml2YXRlIHJlYWRvbmx5IGJpdGdvOiBCaXRHb0Jhc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2FsbGV0OiBJV2FsbGV0O1xuICBwcml2YXRlIHJlYWRvbmx5IHVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHdhbGxldDogSVdhbGxldCkge1xuICAgIHRoaXMuYml0Z28gPSBiaXRnbztcbiAgICB0aGlzLndhbGxldCA9IHdhbGxldDtcbiAgICB0aGlzLnVybCA9IHRoaXMuYml0Z28udXJsKGAvd2FsbGV0LyR7dGhpcy53YWxsZXQuaWQoKX0vbGlnaHRuaW5nYCwgMik7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY3JlYXRlSW52b2ljZShwYXJhbXM6IENyZWF0ZUludm9pY2VQYXJhbXMpOiBQcm9taXNlPENyZWF0ZUludm9pY2VSZXNwb25zZT4ge1xuICAgIGNvbnN0IGJvZHkgPSBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAucG9zdCh0aGlzLnVybCArICcvaW52b2ljZScpXG4gICAgICAuc2VuZChwYXJhbXMpXG4gICAgICAucmVzdWx0KCk7XG5cbiAgICByZXR1cm4gZGVjb2RlT3JFbHNlKENyZWF0ZUludm9pY2VSZXNwb25zZS5uYW1lLCBDcmVhdGVJbnZvaWNlUmVzcG9uc2UsIGJvZHksIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVEZXBvc2l0QWRkcmVzcygpOiBQcm9taXNlPENyZWF0ZURlcG9zaXRBZGRyZXNzUmVzcG9uc2U+IHtcbiAgICBjb25zdCBib2R5ID0gYXdhaXQgdGhpcy5iaXRnby5wb3N0KHRoaXMudXJsICsgJy9hZGRyZXNzJykucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlLm5hbWUsIENyZWF0ZURlcG9zaXRBZGRyZXNzUmVzcG9uc2UsIGJvZHksIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwYXlJbnZvaWNlKHBhcmFtczogUGF5SW52b2ljZVBhcmFtcyk6IFByb21pc2U8UGF5SW52b2ljZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgYm9keSA9IGF3YWl0IHRoaXMuYml0Z29cbiAgICAgIC5wb3N0KHRoaXMudXJsICsgJy9wYXltZW50JylcbiAgICAgIC5zZW5kKHBhcmFtcylcbiAgICAgIC5yZXN1bHQoKTtcblxuICAgIHJldHVybiBkZWNvZGVPckVsc2UoUGF5SW52b2ljZVJlc3BvbnNlLm5hbWUsIFBheUludm9pY2VSZXNwb25zZSwgYm9keSwgKGVycm9ycykgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBlcnJvcihzKSBwYXJzaW5nIHJlc3BvbnNlIGJvZHk6ICR7ZXJyb3JzfWApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldEJhbGFuY2UoKTogUHJvbWlzZTxHZXRCYWxhbmNlUmVzcG9uc2U+IHtcbiAgICBjb25zdCBib2R5ID0gYXdhaXQgdGhpcy5iaXRnby5nZXQodGhpcy51cmwgKyAnL2JhbGFuY2UnKS5yZXN1bHQoKTtcbiAgICByZXR1cm4gZGVjb2RlT3JFbHNlKEdldEJhbGFuY2VSZXNwb25zZS5uYW1lLCBHZXRCYWxhbmNlUmVzcG9uc2UsIGJvZHksIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB3aXRoZHJhdyhwYXJhbXM6IExpZ2h0bmluZ1dpdGhkcmF3YWxQYXJhbXMpOiBQcm9taXNlPFdpdGhkcmF3UmVzcG9uc2U+IHtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSBwYXJhbXM7XG4gICAgbGV0IHsgZGVzdGluYXRpb24sIHNlcXVlbmNlSWQgfSA9IHBhcmFtcztcblxuICAgIGlmIChkZXN0aW5hdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZXN0aW5hdGlvbiA9IChhd2FpdCB0aGlzLndhbGxldC5jcmVhdGVBZGRyZXNzKCkpLmFkZHJlc3M7XG4gICAgfVxuXG4gICAgaWYgKHNlcXVlbmNlSWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgc2VxdWVuY2VJZCA9IHJhbmRvbUJ5dGVzKDE2KS50b1N0cmluZygnaGV4Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgYm9keSA9IGF3YWl0IHRoaXMuYml0Z29cbiAgICAgIC5wb3N0KHRoaXMudXJsICsgJy93aXRoZHJhd2FsJylcbiAgICAgIC5zZW5kKHsgdmFsdWUsIGRlc3RpbmF0aW9uLCBzZXF1ZW5jZUlkIH0pXG4gICAgICAucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShXaXRoZHJhd1Jlc3BvbnNlLm5hbWUsIFdpdGhkcmF3UmVzcG9uc2UsIGJvZHksIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkZXBvc2l0KHBhcmFtczogTGlnaHRuaW5nRGVwb3NpdFBhcmFtcyk6IFByb21pc2U8RGVwb3NpdFJlc3BvbnNlPiB7XG4gICAgY29uc3QgeyBhbW91bnQgfSA9IHBhcmFtcztcbiAgICBjb25zdCBhZGRyZXNzID0gKGF3YWl0IHRoaXMuY3JlYXRlRGVwb3NpdEFkZHJlc3MoKSkuYWRkcmVzcztcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMud2FsbGV0LnNlbmQoeyBhbW91bnQsIGFkZHJlc3MgfSk7XG5cbiAgICByZXR1cm4gZGVjb2RlT3JFbHNlKERlcG9zaXRSZXNwb25zZS5uYW1lLCBEZXBvc2l0UmVzcG9uc2UsIHJlcywgKGVycm9ycykgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBlcnJvcihzKSBwYXJzaW5nIHJlc3BvbnNlIGJvZHk6ICR7ZXJyb3JzfWApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldEludm9pY2VzKHF1ZXJ5PzogR2V0SW52b2ljZXNRdWVyeSk6IFByb21pc2U8R2V0SW52b2ljZXNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0ge1xuICAgICAgc3RhdHVzOiBxdWVyeT8uc3RhdHVzLFxuICAgICAgbGltaXQ6IHF1ZXJ5Py5saW1pdCxcbiAgICAgIHN0YXJ0RGF0ZTogcXVlcnk/LnN0YXJ0RGF0ZSxcbiAgICAgIGVuZERhdGU6IHF1ZXJ5Py5lbmREYXRlLFxuICAgIH07XG5cbiAgICBjb25zdCBib2R5ID0gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgLmdldCh0aGlzLnVybCArICcvaW52b2ljZXMnKVxuICAgICAgLnF1ZXJ5KHF1ZXJ5UGFyYW1zKVxuICAgICAgLnJlc3VsdCgpO1xuICAgIHJldHVybiBkZWNvZGVPckVsc2UoR2V0SW52b2ljZXNSZXNwb25zZS5uYW1lLCBHZXRJbnZvaWNlc1Jlc3BvbnNlLCBib2R5LCAoZXJyb3JzKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGVycm9yKHMpIHBhcnNpbmcgcmVzcG9uc2UgYm9keTogJHtlcnJvcnN9YCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogZmV0Y2hlcyBsaWdodG5pbmcgcGF5bWVudHMgYnkgc3RhdHVzLCBsaW1pdCwgc3RhcnREYXRlIGFuZCBlbmREYXRlXG4gICAqIEBwYXJhbSBxdWVyeVxuICAgKiBAcmV0dXJuIHtHZXRQYXltZW50c1Jlc3BvbnNlfVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFBheW1lbnRzKHF1ZXJ5PzogR2V0UGF5bWVudHNRdWVyeSk6IFByb21pc2U8R2V0UGF5bWVudHNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zOiB7IHN0YXR1cz86IHN0cmluZzsgbGltaXQ/OiBudW1iZXI7IHN0YXJ0RGF0ZT86IHN0cmluZzsgZW5kRGF0ZT86IHN0cmluZyB9ID0ge307XG4gICAgcXVlcnlQYXJhbXMuc3RhdHVzID0gcXVlcnk/LnN0YXR1cztcbiAgICBxdWVyeVBhcmFtcy5saW1pdCA9IHF1ZXJ5Py5saW1pdDtcbiAgICBxdWVyeVBhcmFtcy5zdGFydERhdGUgPSBxdWVyeT8uc3RhcnREYXRlO1xuICAgIHF1ZXJ5UGFyYW1zLmVuZERhdGUgPSBxdWVyeT8uZW5kRGF0ZTtcblxuICAgIGNvbnN0IGJvZHkgPSBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAuZ2V0KHRoaXMudXJsICsgJy9wYXltZW50cycpXG4gICAgICAucXVlcnkocXVlcnlQYXJhbXMpXG4gICAgICAucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShHZXRQYXltZW50c1Jlc3BvbnNlLm5hbWUsIEdldFBheW1lbnRzUmVzcG9uc2UsIGJvZHksIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkZWNvZGVMbnVybFBheShsbnVybDogc3RyaW5nKTogUHJvbWlzZTxEZWNvZGVkTG51cmxQYXlSZXF1ZXN0PiB7XG4gICAgcmV0dXJuIGRlY29kZUxudXJsUGF5KGxudXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBmZXRjaExudXJsUGF5SW52b2ljZShwYXJhbXM6IExudXJsUGF5UGFyYW1zKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gZmV0Y2hMbnVybFBheUludm9pY2UocGFyYW1zKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { DecodedLnurlPayRequest, LnurlPayParams } from './iLightning';
|
|
2
|
+
export type ParsedLightningInvoice = {
|
|
3
|
+
/**
|
|
4
|
+
* The amount of millisatoshi requested by this invoice. If null then
|
|
5
|
+
* the invoice does not specify an amount and will accept any payment.
|
|
6
|
+
*/
|
|
7
|
+
millisatoshis: string | null;
|
|
8
|
+
/** The hex encoded payment hash for the invoice */
|
|
9
|
+
paymentHash: string;
|
|
10
|
+
/** The hex encoded node pub key of the payee that created the invoice */
|
|
11
|
+
payeeNodeKey: string;
|
|
12
|
+
/** The hex encoded SHA256 hash of the description of what the invoice is for */
|
|
13
|
+
descriptionHash?: string;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Decodes an LNURL-pay request and makes an HTTP request to the decoded url
|
|
17
|
+
* to retrieve details for the requested payment.
|
|
18
|
+
* @param lnurl A bech32 encoded LNURL-pay request string
|
|
19
|
+
* @returns {DecodedLnurlPayRequest} An LNURL-pay request message specifying
|
|
20
|
+
* a min and max amount for the payment, metadata describing what the payment
|
|
21
|
+
* is for, and a callback that can be used to fetch a lightning invoice for
|
|
22
|
+
* the payment.
|
|
23
|
+
*/
|
|
24
|
+
export declare function decodeLnurlPay(lnurl: string): Promise<DecodedLnurlPayRequest>;
|
|
25
|
+
/**
|
|
26
|
+
* Fetches a lightning invoice from an LNURL-pay callback server for a specified
|
|
27
|
+
* amount of millisatoshis.
|
|
28
|
+
* @param params {LnurlPayParams} An object specifying an amount and a callback
|
|
29
|
+
* url with which to request a lightning invoice for an LNURL-pay request.
|
|
30
|
+
* @returns {string} A BOLT #11 encoded lightning invoice
|
|
31
|
+
*/
|
|
32
|
+
export declare function fetchLnurlPayInvoice(params: LnurlPayParams): Promise<string>;
|
|
33
|
+
/**
|
|
34
|
+
* @param {ParsedLightningInvoice} invoice - a parsed lightning invoice
|
|
35
|
+
* @param {number} amount - amount intended to pay for the invoice
|
|
36
|
+
* @param {string} metadata - metadata that is used to verify the fetched invoice
|
|
37
|
+
* @throws error for invoice that does not match with amount and metadata
|
|
38
|
+
*/
|
|
39
|
+
export declare function validateLnurlInvoice(invoice: ParsedLightningInvoice, millisatAmount: string, metadata: string): void;
|
|
40
|
+
/**
|
|
41
|
+
* @param {unknown} invoiceStr - a lightning invoice
|
|
42
|
+
* @return {ParsedLightningInvoice}
|
|
43
|
+
* @throws error for invalid lightning invoice
|
|
44
|
+
*/
|
|
45
|
+
export declare function parseLightningInvoice(invoiceStr: unknown): ParsedLightningInvoice;
|
|
46
|
+
//# sourceMappingURL=lightningUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lightningUtils.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/lightning/custodial/lightningUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAoB,MAAM,cAAc,CAAC;AAIxF,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;OAGG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAYnF;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CASlF;AAoBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAUpH;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,OAAO,GAAG,sBAAsB,CA8BjF"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.decodeLnurlPay = decodeLnurlPay;
|
|
37
|
+
exports.fetchLnurlPayInvoice = fetchLnurlPayInvoice;
|
|
38
|
+
exports.validateLnurlInvoice = validateLnurlInvoice;
|
|
39
|
+
exports.parseLightningInvoice = parseLightningInvoice;
|
|
40
|
+
const bolt11 = __importStar(require("bolt11"));
|
|
41
|
+
const crypto = __importStar(require("crypto"));
|
|
42
|
+
const request = __importStar(require("superagent"));
|
|
43
|
+
const iLightning_1 = require("./iLightning");
|
|
44
|
+
const lnurlCodec_1 = require("./lnurlCodec");
|
|
45
|
+
const decode_1 = require("../../utils/decode");
|
|
46
|
+
/**
|
|
47
|
+
* Decodes an LNURL-pay request and makes an HTTP request to the decoded url
|
|
48
|
+
* to retrieve details for the requested payment.
|
|
49
|
+
* @param lnurl A bech32 encoded LNURL-pay request string
|
|
50
|
+
* @returns {DecodedLnurlPayRequest} An LNURL-pay request message specifying
|
|
51
|
+
* a min and max amount for the payment, metadata describing what the payment
|
|
52
|
+
* is for, and a callback that can be used to fetch a lightning invoice for
|
|
53
|
+
* the payment.
|
|
54
|
+
*/
|
|
55
|
+
async function decodeLnurlPay(lnurl) {
|
|
56
|
+
const url = (0, lnurlCodec_1.decodeLnurl)(lnurl);
|
|
57
|
+
const { body } = await request.get(url);
|
|
58
|
+
const decodedRes = (0, decode_1.decodeOrElse)(iLightning_1.LnurlPayResponse.name, iLightning_1.LnurlPayResponse, body, (errors) => {
|
|
59
|
+
throw new Error(`error(s) parsing lnurl response: ${errors}`);
|
|
60
|
+
});
|
|
61
|
+
const domain = new URL(url).hostname;
|
|
62
|
+
return {
|
|
63
|
+
...decodedRes,
|
|
64
|
+
domain,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Fetches a lightning invoice from an LNURL-pay callback server for a specified
|
|
69
|
+
* amount of millisatoshis.
|
|
70
|
+
* @param params {LnurlPayParams} An object specifying an amount and a callback
|
|
71
|
+
* url with which to request a lightning invoice for an LNURL-pay request.
|
|
72
|
+
* @returns {string} A BOLT #11 encoded lightning invoice
|
|
73
|
+
*/
|
|
74
|
+
async function fetchLnurlPayInvoice(params) {
|
|
75
|
+
const { callback, millisatAmount, metadata } = params;
|
|
76
|
+
const { pr: invoice } = callback.includes('?')
|
|
77
|
+
? (await request.get(callback + `&amount=${millisatAmount}`)).body
|
|
78
|
+
: (await request.get(callback).query({ amount: millisatAmount })).body;
|
|
79
|
+
const parsedInvoice = parseLightningInvoice(invoice);
|
|
80
|
+
validateLnurlInvoice(parsedInvoice, millisatAmount, metadata);
|
|
81
|
+
return invoice;
|
|
82
|
+
}
|
|
83
|
+
function getNetworkForInvoice(invoice) {
|
|
84
|
+
if (invoice.startsWith('lntbs')) {
|
|
85
|
+
// signet invoices are not supported by our bolt11 dependency
|
|
86
|
+
// because the `tbs` prefix used for the invoice does not match the `tb`
|
|
87
|
+
// prefix used by on-chain signet addresses
|
|
88
|
+
// see: https://github.com/bitcoinjs/bolt11/pull/58#issuecomment-1106495709
|
|
89
|
+
// we can still decode the invoice however using a custom network
|
|
90
|
+
return {
|
|
91
|
+
bech32: 'tbs',
|
|
92
|
+
pubKeyHash: 0x6f,
|
|
93
|
+
scriptHash: 0xc4,
|
|
94
|
+
validWitnessVersions: [0, 1],
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* @param {ParsedLightningInvoice} invoice - a parsed lightning invoice
|
|
101
|
+
* @param {number} amount - amount intended to pay for the invoice
|
|
102
|
+
* @param {string} metadata - metadata that is used to verify the fetched invoice
|
|
103
|
+
* @throws error for invoice that does not match with amount and metadata
|
|
104
|
+
*/
|
|
105
|
+
function validateLnurlInvoice(invoice, millisatAmount, metadata) {
|
|
106
|
+
const { millisatoshis, descriptionHash } = invoice;
|
|
107
|
+
if (millisatoshis !== millisatAmount) {
|
|
108
|
+
throw new Error('amount of invoice does not match with given amount');
|
|
109
|
+
}
|
|
110
|
+
const hash = crypto.createHash('sha256').update(metadata).digest('hex');
|
|
111
|
+
if (descriptionHash !== hash) {
|
|
112
|
+
throw new Error('invoice h tag does not match with hash of metadata');
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* @param {unknown} invoiceStr - a lightning invoice
|
|
117
|
+
* @return {ParsedLightningInvoice}
|
|
118
|
+
* @throws error for invalid lightning invoice
|
|
119
|
+
*/
|
|
120
|
+
function parseLightningInvoice(invoiceStr) {
|
|
121
|
+
if (typeof invoiceStr !== 'string') {
|
|
122
|
+
throw new Error('invoice is malformed');
|
|
123
|
+
}
|
|
124
|
+
const decodedInvoice = bolt11.decode(invoiceStr, getNetworkForInvoice(invoiceStr));
|
|
125
|
+
if (decodedInvoice.network === undefined) {
|
|
126
|
+
throw new Error('invoice network is invalid');
|
|
127
|
+
}
|
|
128
|
+
const { millisatoshis, tags, payeeNodeKey } = decodedInvoice;
|
|
129
|
+
const paymentHash = tags.find((tag) => tag.tagName === 'payment_hash')?.data;
|
|
130
|
+
if (paymentHash === undefined || typeof paymentHash !== 'string') {
|
|
131
|
+
throw new Error('invoice payment hash is invalid');
|
|
132
|
+
}
|
|
133
|
+
if (payeeNodeKey === undefined) {
|
|
134
|
+
throw new Error('invoice payee pub key is invalid');
|
|
135
|
+
}
|
|
136
|
+
if (millisatoshis === undefined) {
|
|
137
|
+
throw new Error('invoice millisatoshis amount is invalid');
|
|
138
|
+
}
|
|
139
|
+
const descriptionHash = tags.find((tag) => tag.tagName === 'purpose_commit_hash')?.data;
|
|
140
|
+
if (descriptionHash !== undefined && typeof descriptionHash !== 'string') {
|
|
141
|
+
throw new Error('invoice description hash is invalid');
|
|
142
|
+
}
|
|
143
|
+
return { millisatoshis, paymentHash, payeeNodeKey, descriptionHash };
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vbGlnaHRuaW5nL2N1c3RvZGlhbC9saWdodG5pbmdVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThCQSx3Q0FZQztBQVNELG9EQVNDO0FBMEJELG9EQVVDO0FBT0Qsc0RBOEJDO0FBcklELCtDQUFpQztBQUNqQywrQ0FBaUM7QUFDakMsb0RBQXNDO0FBQ3RDLDZDQUF3RjtBQUN4Riw2Q0FBMkM7QUFDM0MsK0NBQWtEO0FBZ0JsRDs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxjQUFjLENBQUMsS0FBYTtJQUNoRCxNQUFNLEdBQUcsR0FBRyxJQUFBLHdCQUFXLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QyxNQUFNLFVBQVUsR0FBRyxJQUFBLHFCQUFZLEVBQUMsNkJBQWdCLENBQUMsSUFBSSxFQUFFLDZCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ3hGLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQyxDQUFDLENBQUM7SUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFFckMsT0FBTztRQUNMLEdBQUcsVUFBVTtRQUNiLE1BQU07S0FDUCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxvQkFBb0IsQ0FBQyxNQUFzQjtJQUMvRCxNQUFNLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDdEQsTUFBTSxF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QUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxLQUFLLHFCQUFxQixDQUFDLEVBQUUsSUFBSSxDQUFDO0lBQ3hGLElBQUksZUFBZSxLQUFLLFNBQVMsSUFBSSxPQUFPLGVBQWUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN6RSxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYm9sdDExIGZyb20gJ2JvbHQxMSc7XG5pbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCAqIGFzIHJlcXVlc3QgZnJvbSAnc3VwZXJhZ2VudCc7XG5pbXBvcnQgeyBEZWNvZGVkTG51cmxQYXlSZXF1ZXN0LCBMbnVybFBheVBhcmFtcywgTG51cmxQYXlSZXNwb25zZSB9IGZyb20gJy4vaUxpZ2h0bmluZyc7XG5pbXBvcnQgeyBkZWNvZGVMbnVybCB9IGZyb20gJy4vbG51cmxDb2RlYyc7XG5pbXBvcnQgeyBkZWNvZGVPckVsc2UgfSBmcm9tICcuLi8uLi91dGlscy9kZWNvZGUnO1xuXG5leHBvcnQgdHlwZSBQYXJzZWRMaWdodG5pbmdJbnZvaWNlID0ge1xuICAvKipcbiAgICogVGhlIGFtb3VudCBvZiBtaWxsaXNhdG9zaGkgcmVxdWVzdGVkIGJ5IHRoaXMgaW52b2ljZS4gSWYgbnVsbCB0aGVuXG4gICAqIHRoZSBpbnZvaWNlIGRvZXMgbm90IHNwZWNpZnkgYW4gYW1vdW50IGFuZCB3aWxsIGFjY2VwdCBhbnkgcGF5bWVudC5cbiAgICovXG4gIG1pbGxpc2F0b3NoaXM6IHN0cmluZyB8IG51bGw7XG4gIC8qKiBUaGUgaGV4IGVuY29kZWQgcGF5bWVudCBoYXNoIGZvciB0aGUgaW52b2ljZSAqL1xuICBwYXltZW50SGFzaDogc3RyaW5nO1xuICAvKiogVGhlIGhleCBlbmNvZGVkIG5vZGUgcHViIGtleSBvZiB0aGUgcGF5ZWUgdGhhdCBjcmVhdGVkIHRoZSBpbnZvaWNlICovXG4gIHBheWVlTm9kZUtleTogc3RyaW5nO1xuICAvKiogVGhlIGhleCBlbmNvZGVkIFNIQTI1NiBoYXNoIG9mIHRoZSBkZXNjcmlwdGlvbiBvZiB3aGF0IHRoZSBpbnZvaWNlIGlzIGZvciAqL1xuICBkZXNjcmlwdGlvbkhhc2g/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIERlY29kZXMgYW4gTE5VUkwtcGF5IHJlcXVlc3QgYW5kIG1ha2VzIGFuIEhUVFAgcmVxdWVzdCB0byB0aGUgZGVjb2RlZCB1cmxcbiAqIHRvIHJldHJpZXZlIGRldGFpbHMgZm9yIHRoZSByZXF1ZXN0ZWQgcGF5bWVudC5cbiAqIEBwYXJhbSBsbnVybCBBIGJlY2gzMiBlbmNvZGVkIExOVVJMLXBheSByZXF1ZXN0IHN0cmluZ1xuICogQHJldHVybnMge0RlY29kZWRMbnVybFBheVJlcXVlc3R9IEFuIExOVVJMLXBheSByZXF1ZXN0IG1lc3NhZ2Ugc3BlY2lmeWluZ1xuICogYSBtaW4gYW5kIG1heCBhbW91bnQgZm9yIHRoZSBwYXltZW50LCBtZXRhZGF0YSBkZXNjcmliaW5nIHdoYXQgdGhlIHBheW1lbnRcbiAqIGlzIGZvciwgYW5kIGEgY2FsbGJhY2sgdGhhdCBjYW4gYmUgdXNlZCB0byBmZXRjaCBhIGxpZ2h0bmluZyBpbnZvaWNlIGZvclxuICogdGhlIHBheW1lbnQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWNvZGVMbnVybFBheShsbnVybDogc3RyaW5nKTogUHJvbWlzZTxEZWNvZGVkTG51cmxQYXlSZXF1ZXN0PiB7XG4gIGNvbnN0IHVybCA9IGRlY29kZUxudXJsKGxudXJsKTtcbiAgY29uc3QgeyBib2R5IH0gPSBhd2FpdCByZXF1ZXN0LmdldCh1cmwpO1xuICBjb25zdCBkZWNvZGVkUmVzID0gZGVjb2RlT3JFbHNlKExudXJsUGF5UmVzcG9uc2UubmFtZSwgTG51cmxQYXlSZXNwb25zZSwgYm9keSwgKGVycm9ycykgPT4ge1xuICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyBsbnVybCByZXNwb25zZTogJHtlcnJvcnN9YCk7XG4gIH0pO1xuICBjb25zdCBkb21haW4gPSBuZXcgVVJMKHVybCkuaG9zdG5hbWU7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5kZWNvZGVkUmVzLFxuICAgIGRvbWFpbixcbiAgfTtcbn1cblxuLyoqXG4gKiBGZXRjaGVzIGEgbGlnaHRuaW5nIGludm9pY2UgZnJvbSBhbiBMTlVSTC1wYXkgY2FsbGJhY2sgc2VydmVyIGZvciBhIHNwZWNpZmllZFxuICogYW1vdW50IG9mIG1pbGxpc2F0b3NoaXMuXG4gKiBAcGFyYW0gcGFyYW1zIHtMbnVybFBheVBhcmFtc30gQW4gb2JqZWN0IHNwZWNpZnlpbmcgYW4gYW1vdW50IGFuZCBhIGNhbGxiYWNrXG4gKiB1cmwgd2l0aCB3aGljaCB0byByZXF1ZXN0IGEgbGlnaHRuaW5nIGludm9pY2UgZm9yIGFuIExOVVJMLXBheSByZXF1ZXN0LlxuICogQHJldHVybnMge3N0cmluZ30gQSBCT0xUICMxMSBlbmNvZGVkIGxpZ2h0bmluZyBpbnZvaWNlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaExudXJsUGF5SW52b2ljZShwYXJhbXM6IExudXJsUGF5UGFyYW1zKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBjYWxsYmFjaywgbWlsbGlzYXRBbW91bnQsIG1ldGFkYXRhIH0gPSBwYXJhbXM7XG4gIGNvbnN0IHsgcHI6IGludm9pY2UgfSA9IGNhbGxiYWNrLmluY2x1ZGVzKCc/JylcbiAgICA/IChhd2FpdCByZXF1ZXN0LmdldChjYWxsYmFjayArIGAmYW1vdW50PSR7bWlsbGlzYXRBbW91bnR9YCkpLmJvZHlcbiAgICA6IChhd2FpdCByZXF1ZXN0LmdldChjYWxsYmFjaykucXVlcnkoeyBhbW91bnQ6IG1pbGxpc2F0QW1vdW50IH0pKS5ib2R5O1xuICBjb25zdCBwYXJzZWRJbnZvaWNlID0gcGFyc2VMaWdodG5pbmdJbnZvaWNlKGludm9pY2UpO1xuICB2YWxpZGF0ZUxudXJsSW52b2ljZShwYXJzZWRJbnZvaWNlLCBtaWxsaXNhdEFtb3VudCwgbWV0YWRhdGEpO1xuXG4gIHJldHVybiBpbnZvaWNlO1xufVxuXG5mdW5jdGlvbiBnZXROZXR3b3JrRm9ySW52b2ljZShpbnZvaWNlOiBzdHJpbmcpIHtcbiAgaWYgKGludm9pY2Uuc3RhcnRzV2l0aCgnbG50YnMnKSkge1xuICAgIC8vIHNpZ25ldCBpbnZvaWNlcyBhcmUgbm90IHN1cHBvcnRlZCBieSBvdXIgYm9sdDExIGRlcGVuZGVuY3lcbiAgICAvLyBiZWNhdXNlIHRoZSBgdGJzYCBwcmVmaXggdXNlZCBmb3IgdGhlIGludm9pY2UgZG9lcyBub3QgbWF0Y2ggdGhlIGB0YmBcbiAgICAvLyBwcmVmaXggdXNlZCBieSBvbi1jaGFpbiBzaWduZXQgYWRkcmVzc2VzXG4gICAgLy8gc2VlOiBodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbmpzL2JvbHQxMS9wdWxsLzU4I2lzc3VlY29tbWVudC0xMTA2NDk1NzA5XG4gICAgLy8gd2UgY2FuIHN0aWxsIGRlY29kZSB0aGUgaW52b2ljZSBob3dldmVyIHVzaW5nIGEgY3VzdG9tIG5ldHdvcmtcbiAgICByZXR1cm4ge1xuICAgICAgYmVjaDMyOiAndGJzJyxcbiAgICAgIHB1YktleUhhc2g6IDB4NmYsXG4gICAgICBzY3JpcHRIYXNoOiAweGM0LFxuICAgICAgdmFsaWRXaXRuZXNzVmVyc2lvbnM6IFswLCAxXSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge1BhcnNlZExpZ2h0bmluZ0ludm9pY2V9IGludm9pY2UgLSBhIHBhcnNlZCBsaWdodG5pbmcgaW52b2ljZVxuICogQHBhcmFtIHtudW1iZXJ9IGFtb3VudCAtIGFtb3VudCBpbnRlbmRlZCB0byBwYXkgZm9yIHRoZSBpbnZvaWNlXG4gKiBAcGFyYW0ge3N0cmluZ30gbWV0YWRhdGEgLSBtZXRhZGF0YSB0aGF0IGlzIHVzZWQgdG8gdmVyaWZ5IHRoZSBmZXRjaGVkIGludm9pY2VcbiAqIEB0aHJvd3MgZXJyb3IgZm9yIGludm9pY2UgdGhhdCBkb2VzIG5vdCBtYXRjaCB3aXRoIGFtb3VudCBhbmQgbWV0YWRhdGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTG51cmxJbnZvaWNlKGludm9pY2U6IFBhcnNlZExpZ2h0bmluZ0ludm9pY2UsIG1pbGxpc2F0QW1vdW50OiBzdHJpbmcsIG1ldGFkYXRhOiBzdHJpbmcpOiB2b2lkIHtcbiAgY29uc3QgeyBtaWxsaXNhdG9zaGlzLCBkZXNjcmlwdGlvbkhhc2ggfSA9IGludm9pY2U7XG4gIGlmIChtaWxsaXNhdG9zaGlzICE9PSBtaWxsaXNhdEFtb3VudCkge1xuICAgIHRocm93IG5ldyBFcnJvcignYW1vdW50IG9mIGludm9pY2UgZG9lcyBub3QgbWF0Y2ggd2l0aCBnaXZlbiBhbW91bnQnKTtcbiAgfVxuXG4gIGNvbnN0IGhhc2ggPSBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKG1ldGFkYXRhKS5kaWdlc3QoJ2hleCcpO1xuICBpZiAoZGVzY3JpcHRpb25IYXNoICE9PSBoYXNoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZvaWNlIGggdGFnIGRvZXMgbm90IG1hdGNoIHdpdGggaGFzaCBvZiBtZXRhZGF0YScpO1xuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHt1bmtub3dufSBpbnZvaWNlU3RyIC0gYSBsaWdodG5pbmcgaW52b2ljZVxuICogQHJldHVybiB7UGFyc2VkTGlnaHRuaW5nSW52b2ljZX1cbiAqIEB0aHJvd3MgZXJyb3IgZm9yIGludmFsaWQgbGlnaHRuaW5nIGludm9pY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTGlnaHRuaW5nSW52b2ljZShpbnZvaWNlU3RyOiB1bmtub3duKTogUGFyc2VkTGlnaHRuaW5nSW52b2ljZSB7XG4gIGlmICh0eXBlb2YgaW52b2ljZVN0ciAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludm9pY2UgaXMgbWFsZm9ybWVkJyk7XG4gIH1cblxuICBjb25zdCBkZWNvZGVkSW52b2ljZSA9IGJvbHQxMS5kZWNvZGUoaW52b2ljZVN0ciwgZ2V0TmV0d29ya0Zvckludm9pY2UoaW52b2ljZVN0cikpO1xuXG4gIGlmIChkZWNvZGVkSW52b2ljZS5uZXR3b3JrID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludm9pY2UgbmV0d29yayBpcyBpbnZhbGlkJyk7XG4gIH1cblxuICBjb25zdCB7IG1pbGxpc2F0b3NoaXMsIHRhZ3MsIHBheWVlTm9kZUtleSB9ID0gZGVjb2RlZEludm9pY2U7XG5cbiAgY29uc3QgcGF5bWVudEhhc2ggPSB0YWdzLmZpbmQoKHRhZykgPT4gdGFnLnRhZ05hbWUgPT09ICdwYXltZW50X2hhc2gnKT8uZGF0YTtcbiAgaWYgKHBheW1lbnRIYXNoID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHBheW1lbnRIYXNoICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52b2ljZSBwYXltZW50IGhhc2ggaXMgaW52YWxpZCcpO1xuICB9XG4gIGlmIChwYXllZU5vZGVLZXkgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52b2ljZSBwYXllZSBwdWIga2V5IGlzIGludmFsaWQnKTtcbiAgfVxuICBpZiAobWlsbGlzYXRvc2hpcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZvaWNlIG1pbGxpc2F0b3NoaXMgYW1vdW50IGlzIGludmFsaWQnKTtcbiAgfVxuXG4gIGNvbnN0IGRlc2NyaXB0aW9uSGFzaCA9IHRhZ3MuZmluZCgodGFnKSA9PiB0YWcudGFnTmFtZSA9PT0gJ3B1cnBvc2VfY29tbWl0X2hhc2gnKT8uZGF0YTtcbiAgaWYgKGRlc2NyaXB0aW9uSGFzaCAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiBkZXNjcmlwdGlvbkhhc2ggIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZvaWNlIGRlc2NyaXB0aW9uIGhhc2ggaXMgaW52YWxpZCcpO1xuICB9XG5cbiAgcmV0dXJuIHsgbWlsbGlzYXRvc2hpcywgcGF5bWVudEhhc2gsIHBheWVlTm9kZUtleSwgZGVzY3JpcHRpb25IYXNoIH07XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lnurlCodec.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/lightning/custodial/lnurlCodec.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,UAEtC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,UAmBxC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.encodeLnurl = encodeLnurl;
|
|
4
|
+
exports.decodeLnurl = decodeLnurl;
|
|
5
|
+
const bech32_1 = require("bech32");
|
|
6
|
+
function encodeLnurl(url) {
|
|
7
|
+
return bech32_1.bech32.encode('lnurl', bech32_1.bech32.toWords(Buffer.from(url)));
|
|
8
|
+
}
|
|
9
|
+
function decodeLnurl(lnurl) {
|
|
10
|
+
const splittedLnurl = lnurl.split(':');
|
|
11
|
+
let parsedLnurl;
|
|
12
|
+
if (splittedLnurl.length === 2) {
|
|
13
|
+
if (splittedLnurl[0] !== 'lightning') {
|
|
14
|
+
throw new Error('invalid lnurl');
|
|
15
|
+
}
|
|
16
|
+
parsedLnurl = splittedLnurl[1];
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
parsedLnurl = splittedLnurl[0];
|
|
20
|
+
}
|
|
21
|
+
const { prefix, words } = bech32_1.bech32.decode(parsedLnurl, 2000);
|
|
22
|
+
if (prefix !== 'lnurl') {
|
|
23
|
+
throw new Error('invalid lnurl');
|
|
24
|
+
}
|
|
25
|
+
return Buffer.from(bech32_1.bech32.fromWords(words)).toString();
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG51cmxDb2RlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby9saWdodG5pbmcvY3VzdG9kaWFsL2xudXJsQ29kZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxrQ0FFQztBQUVELGtDQW1CQztBQXpCRCxtQ0FBZ0M7QUFFaEMsU0FBZ0IsV0FBVyxDQUFDLEdBQVc7SUFDckMsT0FBTyxlQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxlQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFRCxTQUFnQixXQUFXLENBQUMsS0FBYTtJQUN2QyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXZDLElBQUksV0FBbUIsQ0FBQztJQUN4QixJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDL0IsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsV0FBVyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO1NBQU0sQ0FBQztRQUNOLFdBQVcsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsZUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFM0QsSUFBSSxNQUFNLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmVjaDMyIH0gZnJvbSAnYmVjaDMyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZUxudXJsKHVybDogc3RyaW5nKSB7XG4gIHJldHVybiBiZWNoMzIuZW5jb2RlKCdsbnVybCcsIGJlY2gzMi50b1dvcmRzKEJ1ZmZlci5mcm9tKHVybCkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUxudXJsKGxudXJsOiBzdHJpbmcpIHtcbiAgY29uc3Qgc3BsaXR0ZWRMbnVybCA9IGxudXJsLnNwbGl0KCc6Jyk7XG5cbiAgbGV0IHBhcnNlZExudXJsOiBzdHJpbmc7XG4gIGlmIChzcGxpdHRlZExudXJsLmxlbmd0aCA9PT0gMikge1xuICAgIGlmIChzcGxpdHRlZExudXJsWzBdICE9PSAnbGlnaHRuaW5nJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGxudXJsJyk7XG4gICAgfVxuICAgIHBhcnNlZExudXJsID0gc3BsaXR0ZWRMbnVybFsxXTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZWRMbnVybCA9IHNwbGl0dGVkTG51cmxbMF07XG4gIH1cbiAgY29uc3QgeyBwcmVmaXgsIHdvcmRzIH0gPSBiZWNoMzIuZGVjb2RlKHBhcnNlZExudXJsLCAyMDAwKTtcblxuICBpZiAocHJlZml4ICE9PSAnbG51cmwnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGxudXJsJyk7XG4gIH1cblxuICByZXR1cm4gQnVmZmVyLmZyb20oYmVjaDMyLmZyb21Xb3Jkcyh3b3JkcykpLnRvU3RyaW5nKCk7XG59XG4iXX0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './lnurlCodec';
|
|
1
|
+
export * from './signableJson';
|
|
2
|
+
export * from './signature';
|
|
4
3
|
export * from './lightningUtils';
|
|
4
|
+
export * from './lightningWallet';
|
|
5
|
+
export * from './codecs';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/lightning/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/lightning/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -10,8 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
15
|
};
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
__exportStar(require("./
|
|
14
|
-
__exportStar(require("./
|
|
15
|
-
__exportStar(require("./lnurlCodec"), exports);
|
|
17
|
+
__exportStar(require("./signableJson"), exports);
|
|
18
|
+
__exportStar(require("./signature"), exports);
|
|
16
19
|
__exportStar(require("./lightningUtils"), exports);
|
|
17
|
-
|
|
20
|
+
__exportStar(require("./lightningWallet"), exports);
|
|
21
|
+
__exportStar(require("./codecs"), exports);
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vbGlnaHRuaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBK0I7QUFDL0IsOENBQTRCO0FBQzVCLG1EQUFpQztBQUNqQyxvREFBa0M7QUFDbEMsMkNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaWduYWJsZUpzb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zaWduYXR1cmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWdodG5pbmdVdGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpZ2h0bmluZ1dhbGxldCc7XG5leHBvcnQgKiBmcm9tICcuL2NvZGVjcyc7XG4iXX0=
|