@ledgerhq/coin-bitcoin 0.3.9
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/.eslintrc.js +20 -0
- package/.turbo/turbo-build.log +4 -0
- package/.unimportedrc.json +43 -0
- package/LICENSE.txt +21 -0
- package/jest.config.js +10 -0
- package/lib/account.d.ts +7 -0
- package/lib/account.d.ts.map +1 -0
- package/lib/account.js +13 -0
- package/lib/account.js.map +1 -0
- package/lib/bech32m.d.ts +16 -0
- package/lib/bech32m.d.ts.map +1 -0
- package/lib/bech32m.js +166 -0
- package/lib/bech32m.js.map +1 -0
- package/lib/bridge/js.d.ts +41 -0
- package/lib/bridge/js.d.ts.map +1 -0
- package/lib/bridge/js.js +92 -0
- package/lib/bridge/js.js.map +1 -0
- package/lib/bridge.integration.test.d.ts +4 -0
- package/lib/bridge.integration.test.d.ts.map +1 -0
- package/lib/bridge.integration.test.js +47 -0
- package/lib/bridge.integration.test.js.map +1 -0
- package/lib/cache.d.ts +17 -0
- package/lib/cache.d.ts.map +1 -0
- package/lib/cache.js +62 -0
- package/lib/cache.js.map +1 -0
- package/lib/cli-transaction.d.ts +30 -0
- package/lib/cli-transaction.d.ts.map +1 -0
- package/lib/cli-transaction.js +61 -0
- package/lib/cli-transaction.js.map +1 -0
- package/lib/crypto-util.d.ts +5 -0
- package/lib/crypto-util.d.ts.map +1 -0
- package/lib/crypto-util.js +25 -0
- package/lib/crypto-util.js.map +1 -0
- package/lib/datasets/bitcoin.d.ts +7 -0
- package/lib/datasets/bitcoin.d.ts.map +1 -0
- package/lib/datasets/bitcoin.js +318 -0
- package/lib/datasets/bitcoin.js.map +1 -0
- package/lib/datasets/bitcoin.scanAccounts.1.d.ts +6 -0
- package/lib/datasets/bitcoin.scanAccounts.1.d.ts.map +1 -0
- package/lib/datasets/bitcoin.scanAccounts.1.js +240 -0
- package/lib/datasets/bitcoin.scanAccounts.1.js.map +1 -0
- package/lib/datasets/bitcoin_cash.d.ts +5 -0
- package/lib/datasets/bitcoin_cash.d.ts.map +1 -0
- package/lib/datasets/bitcoin_cash.js +45 -0
- package/lib/datasets/bitcoin_cash.js.map +1 -0
- package/lib/datasets/bitcoin_gold.d.ts +5 -0
- package/lib/datasets/bitcoin_gold.d.ts.map +1 -0
- package/lib/datasets/bitcoin_gold.js +73 -0
- package/lib/datasets/bitcoin_gold.js.map +1 -0
- package/lib/datasets/dash.d.ts +5 -0
- package/lib/datasets/dash.d.ts.map +1 -0
- package/lib/datasets/dash.js +37 -0
- package/lib/datasets/dash.js.map +1 -0
- package/lib/datasets/decred.d.ts +5 -0
- package/lib/datasets/decred.d.ts.map +1 -0
- package/lib/datasets/decred.js +43 -0
- package/lib/datasets/decred.js.map +1 -0
- package/lib/datasets/digibyte.d.ts +5 -0
- package/lib/datasets/digibyte.d.ts.map +1 -0
- package/lib/datasets/digibyte.js +166 -0
- package/lib/datasets/digibyte.js.map +1 -0
- package/lib/datasets/digibyte.scanAccounts.1.d.ts +6 -0
- package/lib/datasets/digibyte.scanAccounts.1.d.ts.map +1 -0
- package/lib/datasets/digibyte.scanAccounts.1.js +56 -0
- package/lib/datasets/digibyte.scanAccounts.1.js.map +1 -0
- package/lib/datasets/dogecoin.d.ts +5 -0
- package/lib/datasets/dogecoin.d.ts.map +1 -0
- package/lib/datasets/dogecoin.js +37 -0
- package/lib/datasets/dogecoin.js.map +1 -0
- package/lib/datasets/komodo.d.ts +5 -0
- package/lib/datasets/komodo.d.ts.map +1 -0
- package/lib/datasets/komodo.js +43 -0
- package/lib/datasets/komodo.js.map +1 -0
- package/lib/datasets/litecoin.d.ts +5 -0
- package/lib/datasets/litecoin.d.ts.map +1 -0
- package/lib/datasets/litecoin.js +187 -0
- package/lib/datasets/litecoin.js.map +1 -0
- package/lib/datasets/litecoin.scanAccounts.1.d.ts +6 -0
- package/lib/datasets/litecoin.scanAccounts.1.d.ts.map +1 -0
- package/lib/datasets/litecoin.scanAccounts.1.js +56 -0
- package/lib/datasets/litecoin.scanAccounts.1.js.map +1 -0
- package/lib/datasets/peercoin.d.ts +5 -0
- package/lib/datasets/peercoin.d.ts.map +1 -0
- package/lib/datasets/peercoin.js +37 -0
- package/lib/datasets/peercoin.js.map +1 -0
- package/lib/datasets/pivx.d.ts +5 -0
- package/lib/datasets/pivx.d.ts.map +1 -0
- package/lib/datasets/pivx.js +37 -0
- package/lib/datasets/pivx.js.map +1 -0
- package/lib/datasets/qtum.d.ts +5 -0
- package/lib/datasets/qtum.d.ts.map +1 -0
- package/lib/datasets/qtum.js +57 -0
- package/lib/datasets/qtum.js.map +1 -0
- package/lib/datasets/vertcoin.d.ts +5 -0
- package/lib/datasets/vertcoin.d.ts.map +1 -0
- package/lib/datasets/vertcoin.js +69 -0
- package/lib/datasets/vertcoin.js.map +1 -0
- package/lib/datasets/viacoin.d.ts +5 -0
- package/lib/datasets/viacoin.d.ts.map +1 -0
- package/lib/datasets/viacoin.js +45 -0
- package/lib/datasets/viacoin.js.map +1 -0
- package/lib/datasets/zcash.d.ts +5 -0
- package/lib/datasets/zcash.d.ts.map +1 -0
- package/lib/datasets/zcash.js +43 -0
- package/lib/datasets/zcash.js.map +1 -0
- package/lib/datasets/zencash.d.ts +5 -0
- package/lib/datasets/zencash.d.ts.map +1 -0
- package/lib/datasets/zencash.js +37 -0
- package/lib/datasets/zencash.js.map +1 -0
- package/lib/descriptor.d.ts +19 -0
- package/lib/descriptor.d.ts.map +1 -0
- package/lib/descriptor.js +127 -0
- package/lib/descriptor.js.map +1 -0
- package/lib/descriptor.test.d.ts +2 -0
- package/lib/descriptor.test.d.ts.map +1 -0
- package/lib/descriptor.test.js +55 -0
- package/lib/descriptor.test.js.map +1 -0
- package/lib/deviceTransactionConfig.d.ts +11 -0
- package/lib/deviceTransactionConfig.d.ts.map +1 -0
- package/lib/deviceTransactionConfig.js +26 -0
- package/lib/deviceTransactionConfig.js.map +1 -0
- package/lib/errors.d.ts +7 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +7 -0
- package/lib/errors.js.map +1 -0
- package/lib/explorer.d.ts +10 -0
- package/lib/explorer.d.ts.map +1 -0
- package/lib/explorer.js +38 -0
- package/lib/explorer.js.map +1 -0
- package/lib/formatters.d.ts +9 -0
- package/lib/formatters.d.ts.map +1 -0
- package/lib/formatters.js +51 -0
- package/lib/formatters.js.map +1 -0
- package/lib/getAccountNetworkInfo.d.ts +6 -0
- package/lib/getAccountNetworkInfo.d.ts.map +1 -0
- package/lib/getAccountNetworkInfo.js +69 -0
- package/lib/getAccountNetworkInfo.js.map +1 -0
- package/lib/getAccountNetworkInfo.test.d.ts +2 -0
- package/lib/getAccountNetworkInfo.test.d.ts.map +1 -0
- package/lib/getAccountNetworkInfo.test.js +49 -0
- package/lib/getAccountNetworkInfo.test.js.map +1 -0
- package/lib/hw-getAddress.d.ts +5 -0
- package/lib/hw-getAddress.d.ts.map +1 -0
- package/lib/hw-getAddress.js +45 -0
- package/lib/hw-getAddress.js.map +1 -0
- package/lib/hw-signMessage.d.ts +7 -0
- package/lib/hw-signMessage.d.ts.map +1 -0
- package/lib/hw-signMessage.js +27 -0
- package/lib/hw-signMessage.js.map +1 -0
- package/lib/hw-signMessage.test.d.ts +2 -0
- package/lib/hw-signMessage.test.d.ts.map +1 -0
- package/lib/hw-signMessage.test.js +97 -0
- package/lib/hw-signMessage.test.js.map +1 -0
- package/lib/js-broadcast.d.ts +11 -0
- package/lib/js-broadcast.d.ts.map +1 -0
- package/lib/js-broadcast.js +48 -0
- package/lib/js-broadcast.js.map +1 -0
- package/lib/js-buildTransaction.d.ts +5 -0
- package/lib/js-buildTransaction.d.ts.map +1 -0
- package/lib/js-buildTransaction.js +75 -0
- package/lib/js-buildTransaction.js.map +1 -0
- package/lib/js-createTransaction.d.ts +9 -0
- package/lib/js-createTransaction.d.ts.map +1 -0
- package/lib/js-createTransaction.js +26 -0
- package/lib/js-createTransaction.js.map +1 -0
- package/lib/js-estimateMaxSpendable.d.ts +15 -0
- package/lib/js-estimateMaxSpendable.d.ts.map +1 -0
- package/lib/js-estimateMaxSpendable.js +58 -0
- package/lib/js-estimateMaxSpendable.js.map +1 -0
- package/lib/js-getFeesForTransaction.d.ts +13 -0
- package/lib/js-getFeesForTransaction.d.ts.map +1 -0
- package/lib/js-getFeesForTransaction.js +52 -0
- package/lib/js-getFeesForTransaction.js.map +1 -0
- package/lib/js-getTransactionStatus.d.ts +5 -0
- package/lib/js-getTransactionStatus.d.ts.map +1 -0
- package/lib/js-getTransactionStatus.js +113 -0
- package/lib/js-getTransactionStatus.js.map +1 -0
- package/lib/js-prepareTransaction.d.ts +5 -0
- package/lib/js-prepareTransaction.d.ts.map +1 -0
- package/lib/js-prepareTransaction.js +35 -0
- package/lib/js-prepareTransaction.js.map +1 -0
- package/lib/js-signOperation.d.ts +6 -0
- package/lib/js-signOperation.d.ts.map +1 -0
- package/lib/js-signOperation.js +152 -0
- package/lib/js-signOperation.js.map +1 -0
- package/lib/js-synchronisation.d.ts +13 -0
- package/lib/js-synchronisation.d.ts.map +1 -0
- package/lib/js-synchronisation.js +198 -0
- package/lib/js-synchronisation.js.map +1 -0
- package/lib/logic.d.ts +36 -0
- package/lib/logic.d.ts.map +1 -0
- package/lib/logic.js +266 -0
- package/lib/logic.js.map +1 -0
- package/lib/logic.unit.test.d.ts +2 -0
- package/lib/logic.unit.test.d.ts.map +1 -0
- package/lib/logic.unit.test.js +35 -0
- package/lib/logic.unit.test.js.map +1 -0
- package/lib/mockBtcSigner.d.ts +20 -0
- package/lib/mockBtcSigner.d.ts.map +1 -0
- package/lib/mockBtcSigner.js +63 -0
- package/lib/mockBtcSigner.js.map +1 -0
- package/lib/networks.d.ts +3 -0
- package/lib/networks.d.ts.map +1 -0
- package/lib/networks.js +341 -0
- package/lib/networks.js.map +1 -0
- package/lib/publicAddresses.test.d.ts +2 -0
- package/lib/publicAddresses.test.d.ts.map +1 -0
- package/lib/publicAddresses.test.js +12 -0
- package/lib/publicAddresses.test.js.map +1 -0
- package/lib/serialization.d.ts +11 -0
- package/lib/serialization.d.ts.map +1 -0
- package/lib/serialization.js +65 -0
- package/lib/serialization.js.map +1 -0
- package/lib/serialization.test.d.ts +2 -0
- package/lib/serialization.test.d.ts.map +1 -0
- package/lib/serialization.test.js +108 -0
- package/lib/serialization.test.js.map +1 -0
- package/lib/signer.d.ts +70 -0
- package/lib/signer.d.ts.map +1 -0
- package/lib/signer.js +3 -0
- package/lib/signer.js.map +1 -0
- package/lib/specs.d.ts +23 -0
- package/lib/specs.d.ts.map +1 -0
- package/lib/specs.js +524 -0
- package/lib/specs.js.map +1 -0
- package/lib/speculos-deviceActions.d.ts +4 -0
- package/lib/speculos-deviceActions.d.ts.map +1 -0
- package/lib/speculos-deviceActions.js +61 -0
- package/lib/speculos-deviceActions.js.map +1 -0
- package/lib/transaction.d.ts +16 -0
- package/lib/transaction.d.ts.map +1 -0
- package/lib/transaction.js +114 -0
- package/lib/transaction.js.map +1 -0
- package/lib/types.d.ts +140 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +23 -0
- package/lib/types.js.map +1 -0
- package/lib/wallet-btc/__tests__/bitcoin.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/bitcoin.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/bitcoin.test.js +309 -0
- package/lib/wallet-btc/__tests__/bitcoin.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/logic.d.ts +2 -0
- package/lib/wallet-btc/__tests__/logic.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/logic.js +24 -0
- package/lib/wallet-btc/__tests__/logic.js.map +1 -0
- package/lib/wallet-btc/__tests__/utils.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/utils.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/utils.test.js +223 -0
- package/lib/wallet-btc/__tests__/utils.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/wallet.errorpropagation.integration.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/wallet.errorpropagation.integration.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/wallet.errorpropagation.integration.test.js +46 -0
- package/lib/wallet-btc/__tests__/wallet.errorpropagation.integration.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/wallet.estimateMaxSpendable.integration.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/wallet.estimateMaxSpendable.integration.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/wallet.estimateMaxSpendable.integration.test.js +78 -0
- package/lib/wallet-btc/__tests__/wallet.estimateMaxSpendable.integration.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/wallet.explorer.integration.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/wallet.explorer.integration.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/wallet.explorer.integration.test.js +43 -0
- package/lib/wallet-btc/__tests__/wallet.explorer.integration.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/wallet.explorer.unit.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/wallet.explorer.unit.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/wallet.explorer.unit.test.js +189 -0
- package/lib/wallet-btc/__tests__/wallet.explorer.unit.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/wallet.integration.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/wallet.integration.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/wallet.integration.test.js +110 -0
- package/lib/wallet-btc/__tests__/wallet.integration.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/wallet.storage.unit.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/wallet.storage.unit.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/wallet.storage.unit.test.js +176 -0
- package/lib/wallet-btc/__tests__/wallet.storage.unit.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.getAddress.integration.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/xpub.getAddress.integration.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.getAddress.integration.test.js +77 -0
- package/lib/wallet-btc/__tests__/xpub.getAddress.integration.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.pickingStrategies.integration.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/xpub.pickingStrategies.integration.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.pickingStrategies.integration.test.js +325 -0
- package/lib/wallet-btc/__tests__/xpub.pickingStrategies.integration.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.reorg.integration.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/xpub.reorg.integration.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.reorg.integration.test.js +152 -0
- package/lib/wallet-btc/__tests__/xpub.reorg.integration.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.synced.integration.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/xpub.synced.integration.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.synced.integration.test.js +74 -0
- package/lib/wallet-btc/__tests__/xpub.synced.integration.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.syncing.integration.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/xpub.syncing.integration.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.syncing.integration.test.js +209 -0
- package/lib/wallet-btc/__tests__/xpub.syncing.integration.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.txs.NP2WPKH.integration.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/xpub.txs.NP2WPKH.integration.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.txs.NP2WPKH.integration.test.js +186 -0
- package/lib/wallet-btc/__tests__/xpub.txs.NP2WPKH.integration.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.txs.P2WPKH.integration.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/xpub.txs.P2WPKH.integration.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.txs.P2WPKH.integration.test.js +178 -0
- package/lib/wallet-btc/__tests__/xpub.txs.P2WPKH.integration.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.txs.dogecoin.integration.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/xpub.txs.dogecoin.integration.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.txs.dogecoin.integration.test.js +100 -0
- package/lib/wallet-btc/__tests__/xpub.txs.dogecoin.integration.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.txs.integration.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/xpub.txs.integration.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.txs.integration.test.js +315 -0
- package/lib/wallet-btc/__tests__/xpub.txs.integration.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.txs.litecoin.integration.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/xpub.txs.litecoin.integration.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.txs.litecoin.integration.test.js +171 -0
- package/lib/wallet-btc/__tests__/xpub.txs.litecoin.integration.test.js.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.utxo.unit.test.d.ts +2 -0
- package/lib/wallet-btc/__tests__/xpub.utxo.unit.test.d.ts.map +1 -0
- package/lib/wallet-btc/__tests__/xpub.utxo.unit.test.js +51 -0
- package/lib/wallet-btc/__tests__/xpub.utxo.unit.test.js.map +1 -0
- package/lib/wallet-btc/account.d.ts +27 -0
- package/lib/wallet-btc/account.d.ts.map +1 -0
- package/lib/wallet-btc/account.js +3 -0
- package/lib/wallet-btc/account.js.map +1 -0
- package/lib/wallet-btc/crypto/base.d.ts +33 -0
- package/lib/wallet-btc/crypto/base.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/base.js +196 -0
- package/lib/wallet-btc/crypto/base.js.map +1 -0
- package/lib/wallet-btc/crypto/bip32.d.ts +11 -0
- package/lib/wallet-btc/crypto/bip32.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/bip32.js +45 -0
- package/lib/wallet-btc/crypto/bip32.js.map +1 -0
- package/lib/wallet-btc/crypto/bitcoin.d.ts +13 -0
- package/lib/wallet-btc/crypto/bitcoin.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/bitcoin.js +226 -0
- package/lib/wallet-btc/crypto/bitcoin.js.map +1 -0
- package/lib/wallet-btc/crypto/bitcoincash.d.ts +13 -0
- package/lib/wallet-btc/crypto/bitcoincash.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/bitcoincash.js +55 -0
- package/lib/wallet-btc/crypto/bitcoincash.js.map +1 -0
- package/lib/wallet-btc/crypto/bitcoingold.d.ts +8 -0
- package/lib/wallet-btc/crypto/bitcoingold.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/bitcoingold.js +17 -0
- package/lib/wallet-btc/crypto/bitcoingold.js.map +1 -0
- package/lib/wallet-btc/crypto/dash.d.ts +8 -0
- package/lib/wallet-btc/crypto/dash.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/dash.js +25 -0
- package/lib/wallet-btc/crypto/dash.js.map +1 -0
- package/lib/wallet-btc/crypto/decred.d.ts +15 -0
- package/lib/wallet-btc/crypto/decred.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/decred.js +121 -0
- package/lib/wallet-btc/crypto/decred.js.map +1 -0
- package/lib/wallet-btc/crypto/digibyte.d.ts +9 -0
- package/lib/wallet-btc/crypto/digibyte.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/digibyte.js +58 -0
- package/lib/wallet-btc/crypto/digibyte.js.map +1 -0
- package/lib/wallet-btc/crypto/doge.d.ts +8 -0
- package/lib/wallet-btc/crypto/doge.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/doge.js +19 -0
- package/lib/wallet-btc/crypto/doge.js.map +1 -0
- package/lib/wallet-btc/crypto/factory.d.ts +3 -0
- package/lib/wallet-btc/crypto/factory.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/factory.js +132 -0
- package/lib/wallet-btc/crypto/factory.js.map +1 -0
- package/lib/wallet-btc/crypto/index.d.ts +19 -0
- package/lib/wallet-btc/crypto/index.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/index.js +44 -0
- package/lib/wallet-btc/crypto/index.js.map +1 -0
- package/lib/wallet-btc/crypto/komodo.d.ts +8 -0
- package/lib/wallet-btc/crypto/komodo.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/komodo.js +20 -0
- package/lib/wallet-btc/crypto/komodo.js.map +1 -0
- package/lib/wallet-btc/crypto/litecoin.d.ts +10 -0
- package/lib/wallet-btc/crypto/litecoin.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/litecoin.js +56 -0
- package/lib/wallet-btc/crypto/litecoin.js.map +1 -0
- package/lib/wallet-btc/crypto/peercoin.d.ts +8 -0
- package/lib/wallet-btc/crypto/peercoin.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/peercoin.js +19 -0
- package/lib/wallet-btc/crypto/peercoin.js.map +1 -0
- package/lib/wallet-btc/crypto/pivx.d.ts +8 -0
- package/lib/wallet-btc/crypto/pivx.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/pivx.js +21 -0
- package/lib/wallet-btc/crypto/pivx.js.map +1 -0
- package/lib/wallet-btc/crypto/qtum.d.ts +8 -0
- package/lib/wallet-btc/crypto/qtum.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/qtum.js +17 -0
- package/lib/wallet-btc/crypto/qtum.js.map +1 -0
- package/lib/wallet-btc/crypto/secp256k1.d.ts +16 -0
- package/lib/wallet-btc/crypto/secp256k1.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/secp256k1.js +26 -0
- package/lib/wallet-btc/crypto/secp256k1.js.map +1 -0
- package/lib/wallet-btc/crypto/stealth.d.ts +8 -0
- package/lib/wallet-btc/crypto/stealth.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/stealth.js +21 -0
- package/lib/wallet-btc/crypto/stealth.js.map +1 -0
- package/lib/wallet-btc/crypto/types.d.ts +11 -0
- package/lib/wallet-btc/crypto/types.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/types.js +3 -0
- package/lib/wallet-btc/crypto/types.js.map +1 -0
- package/lib/wallet-btc/crypto/via.d.ts +8 -0
- package/lib/wallet-btc/crypto/via.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/via.js +17 -0
- package/lib/wallet-btc/crypto/via.js.map +1 -0
- package/lib/wallet-btc/crypto/vtc.d.ts +8 -0
- package/lib/wallet-btc/crypto/vtc.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/vtc.js +17 -0
- package/lib/wallet-btc/crypto/vtc.js.map +1 -0
- package/lib/wallet-btc/crypto/zec.d.ts +13 -0
- package/lib/wallet-btc/crypto/zec.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/zec.js +95 -0
- package/lib/wallet-btc/crypto/zec.js.map +1 -0
- package/lib/wallet-btc/crypto/zen.d.ts +13 -0
- package/lib/wallet-btc/crypto/zen.d.ts.map +1 -0
- package/lib/wallet-btc/crypto/zen.js +116 -0
- package/lib/wallet-btc/crypto/zen.js.map +1 -0
- package/lib/wallet-btc/explorer/index.d.ts +47 -0
- package/lib/wallet-btc/explorer/index.d.ts.map +1 -0
- package/lib/wallet-btc/explorer/index.js +191 -0
- package/lib/wallet-btc/explorer/index.js.map +1 -0
- package/lib/wallet-btc/explorer/types.d.ts +18 -0
- package/lib/wallet-btc/explorer/types.d.ts.map +1 -0
- package/lib/wallet-btc/explorer/types.js +3 -0
- package/lib/wallet-btc/explorer/types.js.map +1 -0
- package/lib/wallet-btc/index.d.ts +16 -0
- package/lib/wallet-btc/index.d.ts.map +1 -0
- package/lib/wallet-btc/index.js +38 -0
- package/lib/wallet-btc/index.js.map +1 -0
- package/lib/wallet-btc/pickingstrategies/CoinSelect.d.ts +18 -0
- package/lib/wallet-btc/pickingstrategies/CoinSelect.d.ts.map +1 -0
- package/lib/wallet-btc/pickingstrategies/CoinSelect.js +186 -0
- package/lib/wallet-btc/pickingstrategies/CoinSelect.js.map +1 -0
- package/lib/wallet-btc/pickingstrategies/DeepFirst.d.ts +17 -0
- package/lib/wallet-btc/pickingstrategies/DeepFirst.d.ts.map +1 -0
- package/lib/wallet-btc/pickingstrategies/DeepFirst.js +100 -0
- package/lib/wallet-btc/pickingstrategies/DeepFirst.js.map +1 -0
- package/lib/wallet-btc/pickingstrategies/Merge.d.ts +17 -0
- package/lib/wallet-btc/pickingstrategies/Merge.d.ts.map +1 -0
- package/lib/wallet-btc/pickingstrategies/Merge.js +100 -0
- package/lib/wallet-btc/pickingstrategies/Merge.js.map +1 -0
- package/lib/wallet-btc/pickingstrategies/types.d.ts +27 -0
- package/lib/wallet-btc/pickingstrategies/types.d.ts.map +1 -0
- package/lib/wallet-btc/pickingstrategies/types.js +12 -0
- package/lib/wallet-btc/pickingstrategies/types.js.map +1 -0
- package/lib/wallet-btc/storage/index.d.ts +77 -0
- package/lib/wallet-btc/storage/index.d.ts.map +1 -0
- package/lib/wallet-btc/storage/index.js +237 -0
- package/lib/wallet-btc/storage/index.js.map +1 -0
- package/lib/wallet-btc/storage/types.d.ts +74 -0
- package/lib/wallet-btc/storage/types.d.ts.map +1 -0
- package/lib/wallet-btc/storage/types.js +3 -0
- package/lib/wallet-btc/storage/types.js.map +1 -0
- package/lib/wallet-btc/types.d.ts +25 -0
- package/lib/wallet-btc/types.d.ts.map +1 -0
- package/lib/wallet-btc/types.js +11 -0
- package/lib/wallet-btc/types.js.map +1 -0
- package/lib/wallet-btc/utils.d.ts +45 -0
- package/lib/wallet-btc/utils.d.ts.map +1 -0
- package/lib/wallet-btc/utils.js +189 -0
- package/lib/wallet-btc/utils.js.map +1 -0
- package/lib/wallet-btc/wallet.d.ts +80 -0
- package/lib/wallet-btc/wallet.d.ts.map +1 -0
- package/lib/wallet-btc/wallet.js +291 -0
- package/lib/wallet-btc/wallet.js.map +1 -0
- package/lib/wallet-btc/xpub.d.ts +52 -0
- package/lib/wallet-btc/xpub.d.ts.map +1 -0
- package/lib/wallet-btc/xpub.js +296 -0
- package/lib/wallet-btc/xpub.js.map +1 -0
- package/lib/xpub.txs.loadExport.unit.test.d.ts +2 -0
- package/lib/xpub.txs.loadExport.unit.test.d.ts.map +1 -0
- package/lib/xpub.txs.loadExport.unit.test.js +110 -0
- package/lib/xpub.txs.loadExport.unit.test.js.map +1 -0
- package/lib/xpub.txs.txNoOutput.unit.test.d.ts +2 -0
- package/lib/xpub.txs.txNoOutput.unit.test.d.ts.map +1 -0
- package/lib/xpub.txs.txNoOutput.unit.test.js +41 -0
- package/lib/xpub.txs.txNoOutput.unit.test.js.map +1 -0
- package/lib-es/account.d.ts +7 -0
- package/lib-es/account.d.ts.map +1 -0
- package/lib-es/account.js +11 -0
- package/lib-es/account.js.map +1 -0
- package/lib-es/bech32m.d.ts +16 -0
- package/lib-es/bech32m.d.ts.map +1 -0
- package/lib-es/bech32m.js +163 -0
- package/lib-es/bech32m.js.map +1 -0
- package/lib-es/bridge/js.d.ts +41 -0
- package/lib-es/bridge/js.d.ts.map +1 -0
- package/lib-es/bridge/js.js +85 -0
- package/lib-es/bridge/js.js.map +1 -0
- package/lib-es/bridge.integration.test.d.ts +4 -0
- package/lib-es/bridge.integration.test.d.ts.map +1 -0
- package/lib-es/bridge.integration.test.js +41 -0
- package/lib-es/bridge.integration.test.js.map +1 -0
- package/lib-es/cache.d.ts +17 -0
- package/lib-es/cache.d.ts.map +1 -0
- package/lib-es/cache.js +56 -0
- package/lib-es/cache.js.map +1 -0
- package/lib-es/cli-transaction.d.ts +30 -0
- package/lib-es/cli-transaction.d.ts.map +1 -0
- package/lib-es/cli-transaction.js +55 -0
- package/lib-es/cli-transaction.js.map +1 -0
- package/lib-es/crypto-util.d.ts +5 -0
- package/lib-es/crypto-util.d.ts.map +1 -0
- package/lib-es/crypto-util.js +15 -0
- package/lib-es/crypto-util.js.map +1 -0
- package/lib-es/datasets/bitcoin.d.ts +7 -0
- package/lib-es/datasets/bitcoin.d.ts.map +1 -0
- package/lib-es/datasets/bitcoin.js +312 -0
- package/lib-es/datasets/bitcoin.js.map +1 -0
- package/lib-es/datasets/bitcoin.scanAccounts.1.d.ts +6 -0
- package/lib-es/datasets/bitcoin.scanAccounts.1.d.ts.map +1 -0
- package/lib-es/datasets/bitcoin.scanAccounts.1.js +238 -0
- package/lib-es/datasets/bitcoin.scanAccounts.1.js.map +1 -0
- package/lib-es/datasets/bitcoin_cash.d.ts +5 -0
- package/lib-es/datasets/bitcoin_cash.d.ts.map +1 -0
- package/lib-es/datasets/bitcoin_cash.js +43 -0
- package/lib-es/datasets/bitcoin_cash.js.map +1 -0
- package/lib-es/datasets/bitcoin_gold.d.ts +5 -0
- package/lib-es/datasets/bitcoin_gold.d.ts.map +1 -0
- package/lib-es/datasets/bitcoin_gold.js +71 -0
- package/lib-es/datasets/bitcoin_gold.js.map +1 -0
- package/lib-es/datasets/dash.d.ts +5 -0
- package/lib-es/datasets/dash.d.ts.map +1 -0
- package/lib-es/datasets/dash.js +35 -0
- package/lib-es/datasets/dash.js.map +1 -0
- package/lib-es/datasets/decred.d.ts +5 -0
- package/lib-es/datasets/decred.d.ts.map +1 -0
- package/lib-es/datasets/decred.js +41 -0
- package/lib-es/datasets/decred.js.map +1 -0
- package/lib-es/datasets/digibyte.d.ts +5 -0
- package/lib-es/datasets/digibyte.d.ts.map +1 -0
- package/lib-es/datasets/digibyte.js +161 -0
- package/lib-es/datasets/digibyte.js.map +1 -0
- package/lib-es/datasets/digibyte.scanAccounts.1.d.ts +6 -0
- package/lib-es/datasets/digibyte.scanAccounts.1.d.ts.map +1 -0
- package/lib-es/datasets/digibyte.scanAccounts.1.js +54 -0
- package/lib-es/datasets/digibyte.scanAccounts.1.js.map +1 -0
- package/lib-es/datasets/dogecoin.d.ts +5 -0
- package/lib-es/datasets/dogecoin.d.ts.map +1 -0
- package/lib-es/datasets/dogecoin.js +35 -0
- package/lib-es/datasets/dogecoin.js.map +1 -0
- package/lib-es/datasets/komodo.d.ts +5 -0
- package/lib-es/datasets/komodo.d.ts.map +1 -0
- package/lib-es/datasets/komodo.js +41 -0
- package/lib-es/datasets/komodo.js.map +1 -0
- package/lib-es/datasets/litecoin.d.ts +5 -0
- package/lib-es/datasets/litecoin.d.ts.map +1 -0
- package/lib-es/datasets/litecoin.js +182 -0
- package/lib-es/datasets/litecoin.js.map +1 -0
- package/lib-es/datasets/litecoin.scanAccounts.1.d.ts +6 -0
- package/lib-es/datasets/litecoin.scanAccounts.1.d.ts.map +1 -0
- package/lib-es/datasets/litecoin.scanAccounts.1.js +54 -0
- package/lib-es/datasets/litecoin.scanAccounts.1.js.map +1 -0
- package/lib-es/datasets/peercoin.d.ts +5 -0
- package/lib-es/datasets/peercoin.d.ts.map +1 -0
- package/lib-es/datasets/peercoin.js +35 -0
- package/lib-es/datasets/peercoin.js.map +1 -0
- package/lib-es/datasets/pivx.d.ts +5 -0
- package/lib-es/datasets/pivx.d.ts.map +1 -0
- package/lib-es/datasets/pivx.js +35 -0
- package/lib-es/datasets/pivx.js.map +1 -0
- package/lib-es/datasets/qtum.d.ts +5 -0
- package/lib-es/datasets/qtum.d.ts.map +1 -0
- package/lib-es/datasets/qtum.js +55 -0
- package/lib-es/datasets/qtum.js.map +1 -0
- package/lib-es/datasets/vertcoin.d.ts +5 -0
- package/lib-es/datasets/vertcoin.d.ts.map +1 -0
- package/lib-es/datasets/vertcoin.js +67 -0
- package/lib-es/datasets/vertcoin.js.map +1 -0
- package/lib-es/datasets/viacoin.d.ts +5 -0
- package/lib-es/datasets/viacoin.d.ts.map +1 -0
- package/lib-es/datasets/viacoin.js +43 -0
- package/lib-es/datasets/viacoin.js.map +1 -0
- package/lib-es/datasets/zcash.d.ts +5 -0
- package/lib-es/datasets/zcash.d.ts.map +1 -0
- package/lib-es/datasets/zcash.js +41 -0
- package/lib-es/datasets/zcash.js.map +1 -0
- package/lib-es/datasets/zencash.d.ts +5 -0
- package/lib-es/datasets/zencash.d.ts.map +1 -0
- package/lib-es/datasets/zencash.js +35 -0
- package/lib-es/datasets/zencash.js.map +1 -0
- package/lib-es/descriptor.d.ts +19 -0
- package/lib-es/descriptor.d.ts.map +1 -0
- package/lib-es/descriptor.js +118 -0
- package/lib-es/descriptor.js.map +1 -0
- package/lib-es/descriptor.test.d.ts +2 -0
- package/lib-es/descriptor.test.d.ts.map +1 -0
- package/lib-es/descriptor.test.js +50 -0
- package/lib-es/descriptor.test.js.map +1 -0
- package/lib-es/deviceTransactionConfig.d.ts +11 -0
- package/lib-es/deviceTransactionConfig.d.ts.map +1 -0
- package/lib-es/deviceTransactionConfig.js +24 -0
- package/lib-es/deviceTransactionConfig.js.map +1 -0
- package/lib-es/errors.d.ts +7 -0
- package/lib-es/errors.d.ts.map +1 -0
- package/lib-es/errors.js +4 -0
- package/lib-es/errors.js.map +1 -0
- package/lib-es/explorer.d.ts +10 -0
- package/lib-es/explorer.d.ts.map +1 -0
- package/lib-es/explorer.js +30 -0
- package/lib-es/explorer.js.map +1 -0
- package/lib-es/formatters.d.ts +9 -0
- package/lib-es/formatters.d.ts.map +1 -0
- package/lib-es/formatters.js +46 -0
- package/lib-es/formatters.js.map +1 -0
- package/lib-es/getAccountNetworkInfo.d.ts +6 -0
- package/lib-es/getAccountNetworkInfo.d.ts.map +1 -0
- package/lib-es/getAccountNetworkInfo.js +61 -0
- package/lib-es/getAccountNetworkInfo.js.map +1 -0
- package/lib-es/getAccountNetworkInfo.test.d.ts +2 -0
- package/lib-es/getAccountNetworkInfo.test.d.ts.map +1 -0
- package/lib-es/getAccountNetworkInfo.test.js +47 -0
- package/lib-es/getAccountNetworkInfo.test.js.map +1 -0
- package/lib-es/hw-getAddress.d.ts +5 -0
- package/lib-es/hw-getAddress.d.ts.map +1 -0
- package/lib-es/hw-getAddress.js +43 -0
- package/lib-es/hw-getAddress.js.map +1 -0
- package/lib-es/hw-signMessage.d.ts +7 -0
- package/lib-es/hw-signMessage.d.ts.map +1 -0
- package/lib-es/hw-signMessage.js +23 -0
- package/lib-es/hw-signMessage.js.map +1 -0
- package/lib-es/hw-signMessage.test.d.ts +2 -0
- package/lib-es/hw-signMessage.test.d.ts.map +1 -0
- package/lib-es/hw-signMessage.test.js +92 -0
- package/lib-es/hw-signMessage.test.js.map +1 -0
- package/lib-es/js-broadcast.d.ts +11 -0
- package/lib-es/js-broadcast.d.ts.map +1 -0
- package/lib-es/js-broadcast.js +23 -0
- package/lib-es/js-broadcast.js.map +1 -0
- package/lib-es/js-buildTransaction.d.ts +5 -0
- package/lib-es/js-buildTransaction.d.ts.map +1 -0
- package/lib-es/js-buildTransaction.js +48 -0
- package/lib-es/js-buildTransaction.js.map +1 -0
- package/lib-es/js-createTransaction.d.ts +9 -0
- package/lib-es/js-createTransaction.d.ts.map +1 -0
- package/lib-es/js-createTransaction.js +24 -0
- package/lib-es/js-createTransaction.js.map +1 -0
- package/lib-es/js-estimateMaxSpendable.d.ts +15 -0
- package/lib-es/js-estimateMaxSpendable.d.ts.map +1 -0
- package/lib-es/js-estimateMaxSpendable.js +33 -0
- package/lib-es/js-estimateMaxSpendable.js.map +1 -0
- package/lib-es/js-getFeesForTransaction.d.ts +13 -0
- package/lib-es/js-getFeesForTransaction.d.ts.map +1 -0
- package/lib-es/js-getFeesForTransaction.js +50 -0
- package/lib-es/js-getFeesForTransaction.js.map +1 -0
- package/lib-es/js-getTransactionStatus.d.ts +5 -0
- package/lib-es/js-getTransactionStatus.d.ts.map +1 -0
- package/lib-es/js-getTransactionStatus.js +108 -0
- package/lib-es/js-getTransactionStatus.js.map +1 -0
- package/lib-es/js-prepareTransaction.d.ts +5 -0
- package/lib-es/js-prepareTransaction.d.ts.map +1 -0
- package/lib-es/js-prepareTransaction.js +30 -0
- package/lib-es/js-prepareTransaction.js.map +1 -0
- package/lib-es/js-signOperation.d.ts +6 -0
- package/lib-es/js-signOperation.d.ts.map +1 -0
- package/lib-es/js-signOperation.js +127 -0
- package/lib-es/js-signOperation.js.map +1 -0
- package/lib-es/js-synchronisation.d.ts +13 -0
- package/lib-es/js-synchronisation.d.ts.map +1 -0
- package/lib-es/js-synchronisation.js +190 -0
- package/lib-es/js-synchronisation.js.map +1 -0
- package/lib-es/logic.d.ts +36 -0
- package/lib-es/logic.d.ts.map +1 -0
- package/lib-es/logic.js +254 -0
- package/lib-es/logic.js.map +1 -0
- package/lib-es/logic.unit.test.d.ts +2 -0
- package/lib-es/logic.unit.test.d.ts.map +1 -0
- package/lib-es/logic.unit.test.js +33 -0
- package/lib-es/logic.unit.test.js.map +1 -0
- package/lib-es/mockBtcSigner.d.ts +20 -0
- package/lib-es/mockBtcSigner.d.ts.map +1 -0
- package/lib-es/mockBtcSigner.js +58 -0
- package/lib-es/mockBtcSigner.js.map +1 -0
- package/lib-es/networks.d.ts +3 -0
- package/lib-es/networks.d.ts.map +1 -0
- package/lib-es/networks.js +337 -0
- package/lib-es/networks.js.map +1 -0
- package/lib-es/publicAddresses.test.d.ts +2 -0
- package/lib-es/publicAddresses.test.d.ts.map +1 -0
- package/lib-es/publicAddresses.test.js +10 -0
- package/lib-es/publicAddresses.test.js.map +1 -0
- package/lib-es/serialization.d.ts +11 -0
- package/lib-es/serialization.d.ts.map +1 -0
- package/lib-es/serialization.js +51 -0
- package/lib-es/serialization.js.map +1 -0
- package/lib-es/serialization.test.d.ts +2 -0
- package/lib-es/serialization.test.d.ts.map +1 -0
- package/lib-es/serialization.test.js +103 -0
- package/lib-es/serialization.test.js.map +1 -0
- package/lib-es/signer.d.ts +70 -0
- package/lib-es/signer.d.ts.map +1 -0
- package/lib-es/signer.js +2 -0
- package/lib-es/signer.js.map +1 -0
- package/lib-es/specs.d.ts +23 -0
- package/lib-es/specs.d.ts.map +1 -0
- package/lib-es/specs.js +519 -0
- package/lib-es/specs.js.map +1 -0
- package/lib-es/speculos-deviceActions.d.ts +4 -0
- package/lib-es/speculos-deviceActions.d.ts.map +1 -0
- package/lib-es/speculos-deviceActions.js +58 -0
- package/lib-es/speculos-deviceActions.js.map +1 -0
- package/lib-es/transaction.d.ts +16 -0
- package/lib-es/transaction.d.ts.map +1 -0
- package/lib-es/transaction.js +107 -0
- package/lib-es/transaction.js.map +1 -0
- package/lib-es/types.d.ts +140 -0
- package/lib-es/types.d.ts.map +1 -0
- package/lib-es/types.js +20 -0
- package/lib-es/types.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/bitcoin.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/bitcoin.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/bitcoin.test.js +304 -0
- package/lib-es/wallet-btc/__tests__/bitcoin.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/logic.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/logic.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/logic.js +22 -0
- package/lib-es/wallet-btc/__tests__/logic.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/utils.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/utils.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/utils.test.js +195 -0
- package/lib-es/wallet-btc/__tests__/utils.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/wallet.errorpropagation.integration.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/wallet.errorpropagation.integration.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/wallet.errorpropagation.integration.test.js +41 -0
- package/lib-es/wallet-btc/__tests__/wallet.errorpropagation.integration.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/wallet.estimateMaxSpendable.integration.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/wallet.estimateMaxSpendable.integration.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/wallet.estimateMaxSpendable.integration.test.js +50 -0
- package/lib-es/wallet-btc/__tests__/wallet.estimateMaxSpendable.integration.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/wallet.explorer.integration.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/wallet.explorer.integration.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/wallet.explorer.integration.test.js +38 -0
- package/lib-es/wallet-btc/__tests__/wallet.explorer.integration.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/wallet.explorer.unit.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/wallet.explorer.unit.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/wallet.explorer.unit.test.js +184 -0
- package/lib-es/wallet-btc/__tests__/wallet.explorer.unit.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/wallet.integration.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/wallet.integration.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/wallet.integration.test.js +105 -0
- package/lib-es/wallet-btc/__tests__/wallet.integration.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/wallet.storage.unit.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/wallet.storage.unit.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/wallet.storage.unit.test.js +171 -0
- package/lib-es/wallet-btc/__tests__/wallet.storage.unit.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.getAddress.integration.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/xpub.getAddress.integration.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.getAddress.integration.test.js +72 -0
- package/lib-es/wallet-btc/__tests__/xpub.getAddress.integration.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.pickingStrategies.integration.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/xpub.pickingStrategies.integration.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.pickingStrategies.integration.test.js +297 -0
- package/lib-es/wallet-btc/__tests__/xpub.pickingStrategies.integration.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.reorg.integration.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/xpub.reorg.integration.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.reorg.integration.test.js +124 -0
- package/lib-es/wallet-btc/__tests__/xpub.reorg.integration.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.synced.integration.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/xpub.synced.integration.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.synced.integration.test.js +69 -0
- package/lib-es/wallet-btc/__tests__/xpub.synced.integration.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.syncing.integration.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/xpub.syncing.integration.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.syncing.integration.test.js +204 -0
- package/lib-es/wallet-btc/__tests__/xpub.syncing.integration.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.NP2WPKH.integration.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.NP2WPKH.integration.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.NP2WPKH.integration.test.js +158 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.NP2WPKH.integration.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.P2WPKH.integration.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.P2WPKH.integration.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.P2WPKH.integration.test.js +150 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.P2WPKH.integration.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.dogecoin.integration.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.dogecoin.integration.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.dogecoin.integration.test.js +95 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.dogecoin.integration.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.integration.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.integration.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.integration.test.js +287 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.integration.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.litecoin.integration.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.litecoin.integration.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.litecoin.integration.test.js +143 -0
- package/lib-es/wallet-btc/__tests__/xpub.txs.litecoin.integration.test.js.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.utxo.unit.test.d.ts +2 -0
- package/lib-es/wallet-btc/__tests__/xpub.utxo.unit.test.d.ts.map +1 -0
- package/lib-es/wallet-btc/__tests__/xpub.utxo.unit.test.js +46 -0
- package/lib-es/wallet-btc/__tests__/xpub.utxo.unit.test.js.map +1 -0
- package/lib-es/wallet-btc/account.d.ts +27 -0
- package/lib-es/wallet-btc/account.d.ts.map +1 -0
- package/lib-es/wallet-btc/account.js +2 -0
- package/lib-es/wallet-btc/account.js.map +1 -0
- package/lib-es/wallet-btc/crypto/base.d.ts +33 -0
- package/lib-es/wallet-btc/crypto/base.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/base.js +166 -0
- package/lib-es/wallet-btc/crypto/base.js.map +1 -0
- package/lib-es/wallet-btc/crypto/bip32.d.ts +11 -0
- package/lib-es/wallet-btc/crypto/bip32.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/bip32.js +40 -0
- package/lib-es/wallet-btc/crypto/bip32.js.map +1 -0
- package/lib-es/wallet-btc/crypto/bitcoin.d.ts +13 -0
- package/lib-es/wallet-btc/crypto/bitcoin.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/bitcoin.js +198 -0
- package/lib-es/wallet-btc/crypto/bitcoin.js.map +1 -0
- package/lib-es/wallet-btc/crypto/bitcoincash.d.ts +13 -0
- package/lib-es/wallet-btc/crypto/bitcoincash.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/bitcoincash.js +50 -0
- package/lib-es/wallet-btc/crypto/bitcoincash.js.map +1 -0
- package/lib-es/wallet-btc/crypto/bitcoingold.d.ts +8 -0
- package/lib-es/wallet-btc/crypto/bitcoingold.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/bitcoingold.js +12 -0
- package/lib-es/wallet-btc/crypto/bitcoingold.js.map +1 -0
- package/lib-es/wallet-btc/crypto/dash.d.ts +8 -0
- package/lib-es/wallet-btc/crypto/dash.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/dash.js +20 -0
- package/lib-es/wallet-btc/crypto/dash.js.map +1 -0
- package/lib-es/wallet-btc/crypto/decred.d.ts +15 -0
- package/lib-es/wallet-btc/crypto/decred.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/decred.js +93 -0
- package/lib-es/wallet-btc/crypto/decred.js.map +1 -0
- package/lib-es/wallet-btc/crypto/digibyte.d.ts +9 -0
- package/lib-es/wallet-btc/crypto/digibyte.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/digibyte.js +30 -0
- package/lib-es/wallet-btc/crypto/digibyte.js.map +1 -0
- package/lib-es/wallet-btc/crypto/doge.d.ts +8 -0
- package/lib-es/wallet-btc/crypto/doge.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/doge.js +14 -0
- package/lib-es/wallet-btc/crypto/doge.js.map +1 -0
- package/lib-es/wallet-btc/crypto/factory.d.ts +3 -0
- package/lib-es/wallet-btc/crypto/factory.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/factory.js +103 -0
- package/lib-es/wallet-btc/crypto/factory.js.map +1 -0
- package/lib-es/wallet-btc/crypto/index.d.ts +19 -0
- package/lib-es/wallet-btc/crypto/index.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/index.js +19 -0
- package/lib-es/wallet-btc/crypto/index.js.map +1 -0
- package/lib-es/wallet-btc/crypto/komodo.d.ts +8 -0
- package/lib-es/wallet-btc/crypto/komodo.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/komodo.js +15 -0
- package/lib-es/wallet-btc/crypto/komodo.js.map +1 -0
- package/lib-es/wallet-btc/crypto/litecoin.d.ts +10 -0
- package/lib-es/wallet-btc/crypto/litecoin.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/litecoin.js +28 -0
- package/lib-es/wallet-btc/crypto/litecoin.js.map +1 -0
- package/lib-es/wallet-btc/crypto/peercoin.d.ts +8 -0
- package/lib-es/wallet-btc/crypto/peercoin.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/peercoin.js +14 -0
- package/lib-es/wallet-btc/crypto/peercoin.js.map +1 -0
- package/lib-es/wallet-btc/crypto/pivx.d.ts +8 -0
- package/lib-es/wallet-btc/crypto/pivx.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/pivx.js +16 -0
- package/lib-es/wallet-btc/crypto/pivx.js.map +1 -0
- package/lib-es/wallet-btc/crypto/qtum.d.ts +8 -0
- package/lib-es/wallet-btc/crypto/qtum.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/qtum.js +12 -0
- package/lib-es/wallet-btc/crypto/qtum.js.map +1 -0
- package/lib-es/wallet-btc/crypto/secp256k1.d.ts +16 -0
- package/lib-es/wallet-btc/crypto/secp256k1.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/secp256k1.js +18 -0
- package/lib-es/wallet-btc/crypto/secp256k1.js.map +1 -0
- package/lib-es/wallet-btc/crypto/stealth.d.ts +8 -0
- package/lib-es/wallet-btc/crypto/stealth.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/stealth.js +16 -0
- package/lib-es/wallet-btc/crypto/stealth.js.map +1 -0
- package/lib-es/wallet-btc/crypto/types.d.ts +11 -0
- package/lib-es/wallet-btc/crypto/types.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/types.js +2 -0
- package/lib-es/wallet-btc/crypto/types.js.map +1 -0
- package/lib-es/wallet-btc/crypto/via.d.ts +8 -0
- package/lib-es/wallet-btc/crypto/via.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/via.js +12 -0
- package/lib-es/wallet-btc/crypto/via.js.map +1 -0
- package/lib-es/wallet-btc/crypto/vtc.d.ts +8 -0
- package/lib-es/wallet-btc/crypto/vtc.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/vtc.js +12 -0
- package/lib-es/wallet-btc/crypto/vtc.js.map +1 -0
- package/lib-es/wallet-btc/crypto/zec.d.ts +13 -0
- package/lib-es/wallet-btc/crypto/zec.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/zec.js +67 -0
- package/lib-es/wallet-btc/crypto/zec.js.map +1 -0
- package/lib-es/wallet-btc/crypto/zen.d.ts +13 -0
- package/lib-es/wallet-btc/crypto/zen.d.ts.map +1 -0
- package/lib-es/wallet-btc/crypto/zen.js +88 -0
- package/lib-es/wallet-btc/crypto/zen.js.map +1 -0
- package/lib-es/wallet-btc/explorer/index.d.ts +47 -0
- package/lib-es/wallet-btc/explorer/index.d.ts.map +1 -0
- package/lib-es/wallet-btc/explorer/index.js +186 -0
- package/lib-es/wallet-btc/explorer/index.js.map +1 -0
- package/lib-es/wallet-btc/explorer/types.d.ts +18 -0
- package/lib-es/wallet-btc/explorer/types.d.ts.map +1 -0
- package/lib-es/wallet-btc/explorer/types.js +2 -0
- package/lib-es/wallet-btc/explorer/types.js.map +1 -0
- package/lib-es/wallet-btc/index.d.ts +16 -0
- package/lib-es/wallet-btc/index.d.ts.map +1 -0
- package/lib-es/wallet-btc/index.js +25 -0
- package/lib-es/wallet-btc/index.js.map +1 -0
- package/lib-es/wallet-btc/pickingstrategies/CoinSelect.d.ts +18 -0
- package/lib-es/wallet-btc/pickingstrategies/CoinSelect.d.ts.map +1 -0
- package/lib-es/wallet-btc/pickingstrategies/CoinSelect.js +156 -0
- package/lib-es/wallet-btc/pickingstrategies/CoinSelect.js.map +1 -0
- package/lib-es/wallet-btc/pickingstrategies/DeepFirst.d.ts +17 -0
- package/lib-es/wallet-btc/pickingstrategies/DeepFirst.d.ts.map +1 -0
- package/lib-es/wallet-btc/pickingstrategies/DeepFirst.js +70 -0
- package/lib-es/wallet-btc/pickingstrategies/DeepFirst.js.map +1 -0
- package/lib-es/wallet-btc/pickingstrategies/Merge.d.ts +17 -0
- package/lib-es/wallet-btc/pickingstrategies/Merge.d.ts.map +1 -0
- package/lib-es/wallet-btc/pickingstrategies/Merge.js +70 -0
- package/lib-es/wallet-btc/pickingstrategies/Merge.js.map +1 -0
- package/lib-es/wallet-btc/pickingstrategies/types.d.ts +27 -0
- package/lib-es/wallet-btc/pickingstrategies/types.d.ts.map +1 -0
- package/lib-es/wallet-btc/pickingstrategies/types.js +8 -0
- package/lib-es/wallet-btc/pickingstrategies/types.js.map +1 -0
- package/lib-es/wallet-btc/storage/index.d.ts +77 -0
- package/lib-es/wallet-btc/storage/index.d.ts.map +1 -0
- package/lib-es/wallet-btc/storage/index.js +232 -0
- package/lib-es/wallet-btc/storage/index.js.map +1 -0
- package/lib-es/wallet-btc/storage/types.d.ts +74 -0
- package/lib-es/wallet-btc/storage/types.d.ts.map +1 -0
- package/lib-es/wallet-btc/storage/types.js +2 -0
- package/lib-es/wallet-btc/storage/types.js.map +1 -0
- package/lib-es/wallet-btc/types.d.ts +25 -0
- package/lib-es/wallet-btc/types.d.ts.map +1 -0
- package/lib-es/wallet-btc/types.js +8 -0
- package/lib-es/wallet-btc/types.js.map +1 -0
- package/lib-es/wallet-btc/utils.d.ts +45 -0
- package/lib-es/wallet-btc/utils.d.ts.map +1 -0
- package/lib-es/wallet-btc/utils.js +175 -0
- package/lib-es/wallet-btc/utils.js.map +1 -0
- package/lib-es/wallet-btc/wallet.d.ts +80 -0
- package/lib-es/wallet-btc/wallet.d.ts.map +1 -0
- package/lib-es/wallet-btc/wallet.js +263 -0
- package/lib-es/wallet-btc/wallet.js.map +1 -0
- package/lib-es/wallet-btc/xpub.d.ts +52 -0
- package/lib-es/wallet-btc/xpub.d.ts.map +1 -0
- package/lib-es/wallet-btc/xpub.js +291 -0
- package/lib-es/wallet-btc/xpub.js.map +1 -0
- package/lib-es/xpub.txs.loadExport.unit.test.d.ts +2 -0
- package/lib-es/xpub.txs.loadExport.unit.test.d.ts.map +1 -0
- package/lib-es/xpub.txs.loadExport.unit.test.js +105 -0
- package/lib-es/xpub.txs.loadExport.unit.test.js.map +1 -0
- package/lib-es/xpub.txs.txNoOutput.unit.test.d.ts +2 -0
- package/lib-es/xpub.txs.txNoOutput.unit.test.d.ts.map +1 -0
- package/lib-es/xpub.txs.txNoOutput.unit.test.js +39 -0
- package/lib-es/xpub.txs.txNoOutput.unit.test.js.map +1 -0
- package/package.json +109 -0
- package/src/account.ts +14 -0
- package/src/bech32m.ts +187 -0
- package/src/bridge/js.ts +96 -0
- package/src/bridge.integration.test.ts +47 -0
- package/src/cache.ts +73 -0
- package/src/cli-transaction.ts +73 -0
- package/src/crypto-util.ts +15 -0
- package/src/datasets/bitcoin.scanAccounts.1.ts +237 -0
- package/src/datasets/bitcoin.ts +353 -0
- package/src/datasets/bitcoin_cash.ts +44 -0
- package/src/datasets/bitcoin_gold.ts +72 -0
- package/src/datasets/dash.ts +36 -0
- package/src/datasets/decred.ts +42 -0
- package/src/datasets/digibyte.scanAccounts.1.ts +53 -0
- package/src/datasets/digibyte.ts +164 -0
- package/src/datasets/dogecoin.ts +36 -0
- package/src/datasets/komodo.ts +42 -0
- package/src/datasets/litecoin.scanAccounts.1.ts +53 -0
- package/src/datasets/litecoin.ts +186 -0
- package/src/datasets/peercoin.ts +36 -0
- package/src/datasets/pivx.ts +36 -0
- package/src/datasets/qtum.ts +56 -0
- package/src/datasets/vertcoin.ts +68 -0
- package/src/datasets/viacoin.ts +44 -0
- package/src/datasets/zcash.ts +42 -0
- package/src/datasets/zencash.ts +36 -0
- package/src/descriptor.test.ts +63 -0
- package/src/descriptor.ts +205 -0
- package/src/deviceTransactionConfig.ts +39 -0
- package/src/errors.ts +5 -0
- package/src/explorer.ts +40 -0
- package/src/formatters.ts +52 -0
- package/src/getAccountNetworkInfo.test.ts +37 -0
- package/src/getAccountNetworkInfo.ts +54 -0
- package/src/hw-getAddress.ts +52 -0
- package/src/hw-signMessage.test.ts +99 -0
- package/src/hw-signMessage.ts +23 -0
- package/src/js-broadcast.ts +22 -0
- package/src/js-buildTransaction.ts +68 -0
- package/src/js-createTransaction.ts +26 -0
- package/src/js-estimateMaxSpendable.ts +41 -0
- package/src/js-getFeesForTransaction.ts +59 -0
- package/src/js-getTransactionStatus.ts +127 -0
- package/src/js-prepareTransaction.ts +33 -0
- package/src/js-signOperation.ts +147 -0
- package/src/js-synchronisation.ts +256 -0
- package/src/logic.ts +318 -0
- package/src/logic.unit.test.ts +54 -0
- package/src/mockBtcSigner.ts +66 -0
- package/src/networks.ts +318 -0
- package/src/publicAddresses.test.ts +9 -0
- package/src/serialization.test.ts +143 -0
- package/src/serialization.ts +94 -0
- package/src/signer.ts +82 -0
- package/src/specs.ts +629 -0
- package/src/speculos-deviceActions.ts +66 -0
- package/src/transaction.ts +185 -0
- package/src/types.ts +174 -0
- package/src/wallet-btc/__tests__/bitcoin.test.ts +301 -0
- package/src/wallet-btc/__tests__/logic.ts +29 -0
- package/src/wallet-btc/__tests__/utils.test.ts +257 -0
- package/src/wallet-btc/__tests__/wallet.errorpropagation.integration.test.ts +37 -0
- package/src/wallet-btc/__tests__/wallet.estimateMaxSpendable.integration.test.ts +51 -0
- package/src/wallet-btc/__tests__/wallet.explorer.integration.test.ts +40 -0
- package/src/wallet-btc/__tests__/wallet.explorer.unit.test.ts +192 -0
- package/src/wallet-btc/__tests__/wallet.integration.test.ts +120 -0
- package/src/wallet-btc/__tests__/wallet.storage.unit.test.ts +168 -0
- package/src/wallet-btc/__tests__/xpub.getAddress.integration.test.ts +79 -0
- package/src/wallet-btc/__tests__/xpub.pickingStrategies.integration.test.ts +312 -0
- package/src/wallet-btc/__tests__/xpub.reorg.integration.test.ts +130 -0
- package/src/wallet-btc/__tests__/xpub.synced.integration.test.ts +73 -0
- package/src/wallet-btc/__tests__/xpub.syncing.integration.test.ts +203 -0
- package/src/wallet-btc/__tests__/xpub.txs.NP2WPKH.integration.test.ts +174 -0
- package/src/wallet-btc/__tests__/xpub.txs.P2WPKH.integration.test.ts +166 -0
- package/src/wallet-btc/__tests__/xpub.txs.dogecoin.integration.test.ts +92 -0
- package/src/wallet-btc/__tests__/xpub.txs.integration.test.ts +342 -0
- package/src/wallet-btc/__tests__/xpub.txs.litecoin.integration.test.ts +150 -0
- package/src/wallet-btc/__tests__/xpub.utxo.unit.test.ts +66 -0
- package/src/wallet-btc/account.ts +30 -0
- package/src/wallet-btc/crypto/base.ts +179 -0
- package/src/wallet-btc/crypto/bip32.ts +40 -0
- package/src/wallet-btc/crypto/bitcoin.ts +203 -0
- package/src/wallet-btc/crypto/bitcoincash.ts +47 -0
- package/src/wallet-btc/crypto/bitcoingold.ts +13 -0
- package/src/wallet-btc/crypto/dash.ts +21 -0
- package/src/wallet-btc/crypto/decred.ts +91 -0
- package/src/wallet-btc/crypto/digibyte.ts +33 -0
- package/src/wallet-btc/crypto/doge.ts +15 -0
- package/src/wallet-btc/crypto/factory.ts +104 -0
- package/src/wallet-btc/crypto/index.ts +18 -0
- package/src/wallet-btc/crypto/komodo.ts +16 -0
- package/src/wallet-btc/crypto/litecoin.ts +31 -0
- package/src/wallet-btc/crypto/peercoin.ts +15 -0
- package/src/wallet-btc/crypto/pivx.ts +17 -0
- package/src/wallet-btc/crypto/qtum.ts +13 -0
- package/src/wallet-btc/crypto/secp256k1.ts +29 -0
- package/src/wallet-btc/crypto/stealth.ts +17 -0
- package/src/wallet-btc/crypto/types.ts +35 -0
- package/src/wallet-btc/crypto/via.ts +13 -0
- package/src/wallet-btc/crypto/vtc.ts +13 -0
- package/src/wallet-btc/crypto/zec.ts +66 -0
- package/src/wallet-btc/crypto/zen.ts +88 -0
- package/src/wallet-btc/explorer/index.ts +197 -0
- package/src/wallet-btc/explorer/types.ts +19 -0
- package/src/wallet-btc/index.ts +52 -0
- package/src/wallet-btc/pickingstrategies/CoinSelect.ts +183 -0
- package/src/wallet-btc/pickingstrategies/DeepFirst.ts +92 -0
- package/src/wallet-btc/pickingstrategies/Merge.ts +92 -0
- package/src/wallet-btc/pickingstrategies/types.ts +44 -0
- package/src/wallet-btc/storage/index.ts +282 -0
- package/src/wallet-btc/storage/types.ts +61 -0
- package/src/wallet-btc/types.ts +28 -0
- package/src/wallet-btc/utils.ts +195 -0
- package/src/wallet-btc/wallet.ts +387 -0
- package/src/wallet-btc/xpub.ts +394 -0
- package/src/xpub.txs.loadExport.unit.test.ts +96 -0
- package/src/xpub.txs.txNoOutput.unit.test.ts +30 -0
- package/tsconfig.json +13 -0
- package/types/blake-hash.d.ts +6 -0
- package/types/bs58check/base.d.ts +1 -0
- package/types/coininfo.d.ts +100 -0
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import cryptoFactory from "../crypto/factory";
|
|
11
|
+
import { DerivationModes } from "../";
|
|
12
|
+
describe("Unit tests for various bitcoin functions", () => {
|
|
13
|
+
function testAddresses(addresses, currency) {
|
|
14
|
+
const bitcoin = cryptoFactory(currency);
|
|
15
|
+
addresses.forEach((pair) => {
|
|
16
|
+
const result = bitcoin.toOutputScript(pair[0]);
|
|
17
|
+
const actual = result.toString("hex");
|
|
18
|
+
expect(actual).toEqual(pair[1]);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
it("Test toOutputScript", () => {
|
|
22
|
+
// Test vectors from BIP350
|
|
23
|
+
const mainnetAddrs = [
|
|
24
|
+
[
|
|
25
|
+
"BC1QW508D6QEJXTDG4Y5R3ZARVARY0C5XW7KV8F3T4",
|
|
26
|
+
"0014751e76e8199196d454941c45d1b3a323f1433bd6",
|
|
27
|
+
],
|
|
28
|
+
[
|
|
29
|
+
"bc1pw508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7kt5nd6y",
|
|
30
|
+
"5128751e76e8199196d454941c45d1b3a323f1433bd6751e76e8199196d454941c45d1b3a323f1433bd6",
|
|
31
|
+
],
|
|
32
|
+
["BC1SW50QGDZ25J", "6002751e"],
|
|
33
|
+
["bc1zw508d6qejxtdg4y5r3zarvaryvaxxpcs", "5210751e76e8199196d454941c45d1b3a323"],
|
|
34
|
+
[
|
|
35
|
+
"bc1p0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7vqzk5jj0",
|
|
36
|
+
"512079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
|
|
37
|
+
],
|
|
38
|
+
];
|
|
39
|
+
testAddresses(mainnetAddrs, "bitcoin");
|
|
40
|
+
const testnetAddrs = [
|
|
41
|
+
[
|
|
42
|
+
"tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sl5k7",
|
|
43
|
+
"00201863143c14c5166804bd19203356da136c985678cd4d27a1b8c6329604903262",
|
|
44
|
+
],
|
|
45
|
+
[
|
|
46
|
+
"tb1qqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesrxh6hy",
|
|
47
|
+
"0020000000c4a5cad46221b2a187905e5266362b99d5e91c6ce24d165dab93e86433",
|
|
48
|
+
],
|
|
49
|
+
[
|
|
50
|
+
"tb1pqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesf3hn0c",
|
|
51
|
+
"5120000000c4a5cad46221b2a187905e5266362b99d5e91c6ce24d165dab93e86433",
|
|
52
|
+
],
|
|
53
|
+
];
|
|
54
|
+
testAddresses(testnetAddrs, "bitcoin_testnet");
|
|
55
|
+
});
|
|
56
|
+
it("toOutputScript p2sh and p2pkh work as expected", () => {
|
|
57
|
+
const p2pkh = [
|
|
58
|
+
["13wuYubzsKiGHm6su5BJQ1PdWUitkJV3kE", "76a91420529483bd2a346c0e09b032b7a31a574f2a0d5688ac"],
|
|
59
|
+
];
|
|
60
|
+
testAddresses(p2pkh, "bitcoin");
|
|
61
|
+
const p2sh = [
|
|
62
|
+
["3P2B3M3R33mAYX3o2ic7PdT4MM6McL2anh", "a914e9fa27cc45abc468e59bb54c66143099dbe4d3cf87"],
|
|
63
|
+
];
|
|
64
|
+
testAddresses(p2sh, "bitcoin");
|
|
65
|
+
const p2pkhTestnet = [
|
|
66
|
+
["mxVFsFW5N4mu1HPkxPttorvocvzeZ7KZyk", "76a914ba27f99e007c7f605a8305e318c1abde3cd220ac88ac"],
|
|
67
|
+
];
|
|
68
|
+
testAddresses(p2pkhTestnet, "bitcoin_testnet");
|
|
69
|
+
const p2shTestnet = [
|
|
70
|
+
["2Mwp1inKcSNWSmai2giKV4YBvYiA3253cky", "a9143213fd5b1fa0d58e0a9be31fd5095a749c186aa787"],
|
|
71
|
+
];
|
|
72
|
+
testAddresses(p2shTestnet, "bitcoin_testnet");
|
|
73
|
+
});
|
|
74
|
+
it("Test taproot address generation", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
75
|
+
const bitcoin = cryptoFactory("bitcoin_testnet");
|
|
76
|
+
// Test data taken from project app-bitcoin-new, file test_get_wallet_address.py
|
|
77
|
+
// Also generated using eg
|
|
78
|
+
/*
|
|
79
|
+
./bitcoin-cli deriveaddresses "tr([f5acc2fd/86'/0']tpubDDKYE6BREvDsSWMazgHoyQWiJwYaDDYPbCFjYxN3HFXJP5fokeiK4hwK5tTLBNEDBwrDXn8cQ4v9b2xdW62Xr5yxoQdMu1v6c7UDXYVH27U/0/*)#yxzagv5q" 100
|
|
80
|
+
|
|
81
|
+
./bitcoin-cli deriveaddresses "tr([f5acc2fd/86'/0']tpubDDKYE6BREvDsSWMazgHoyQWiJwYaDDYPbCFjYxN3HFXJP5fokeiK4hwK5tTLBNEDBwrDXn8cQ4v9b2xdW62Xr5yxoQdMu1v6c7UDXYVH27U/1/*)#4j8u4eyc" 100
|
|
82
|
+
*/
|
|
83
|
+
const extAddrs = [
|
|
84
|
+
"tb1pws8wvnj99ca6acf8kq7pjk7vyxknah0d9mexckh5s0vu2ccy68js9am6u7",
|
|
85
|
+
"tb1p6evrfq0pnz2wvvptph8zvrye20aad8jlsmh2rr02rqgn9skm4hmqks9rnm",
|
|
86
|
+
"tb1pg9rpfzdy8jm8utry7w2zwfuwm5cvq0tdw2jt3xvxz37y9rcvchcs5s74m8",
|
|
87
|
+
"tb1pa0f2erxvuzxmgylz6wharcyruz8ajvv9xpr493uvsa23jcy8h5msdxzr9p",
|
|
88
|
+
"tb1pdpyep8pzmyju92akjhq5qcskhmf066z82fxuvsm576lt90c4nplsacnv8l",
|
|
89
|
+
"tb1pn6sudpw5rrcnsgxffuxdejdmjt8ynhw3rz3tp4s6pvkaptcruuhq0xdjuc",
|
|
90
|
+
"tb1phxygx7zz7eem5j6hsdqryqtw4wxng0dg43cw6fa2nylekn0nue4qtw8k2x",
|
|
91
|
+
"tb1pv7ky89tzcusgc9af3fhcst92a59aydkguz5knh7gstzxpflfxhusgsms8x",
|
|
92
|
+
"tb1pvvphx9fqd2dlxhz20uz7uz0vpv6fduzqtvje0tx8hlwe5w5e3mrqsxawpl",
|
|
93
|
+
"tb1psl7eyk2jyjzq6evqvan854fts7a5j65rth25yqahkd2a765yvj0qggs5ne",
|
|
94
|
+
"tb1p6ptcjrr5v7syesfmf3a2pzjdh9tkhuce23s4kcjmqajf5w6h2r2qjsmkvh",
|
|
95
|
+
"tb1pjfqqhlldx3fw0y986us2eks6q8tlpytryaelt42vakjvauuqwcgq32z5he",
|
|
96
|
+
"tb1pkzphc0kn00rj6s4hfv3k43n6cj6ypy02zxa5yx7vn9v72qqyvpcq0zspxt",
|
|
97
|
+
"tb1p9jss55qeaye4umrr80as6mxjsqnjrjh097e0skmwnlgmpqu63hqsf9z2w6",
|
|
98
|
+
"tb1pgn2tff325nf8v7wdn90acg5stlfw9qus3r43ycswm3uetlxhlncqkun2v8",
|
|
99
|
+
"tb1p0v0ycmd0lpjppvfgyv57m07czs0l20c2vzw9rm48uag2flrz8z2qyhl9um",
|
|
100
|
+
"tb1pcf9ea0z3heqhr80e6sdc6fmj9adkcx0whn3fhwxr05d2suhutuhs3lc9z4",
|
|
101
|
+
"tb1pws4jqxg9493jv9vxzuf82gafgghg8kvdjp9ny3unh6ztxxm2x27sqsv5la",
|
|
102
|
+
"tb1phfrptqlqg9xuyvq74e7427gljltpug9mrujalpgptlu2mxvug2jqzuvces",
|
|
103
|
+
"tb1pk5q2lmkx5yg63dnnvphckhfxrms89mgq5znx4lc7dxzrym62d45sfmpyq5",
|
|
104
|
+
"tb1pm89axrmkavrdrwgr3dec0q02wsfjdw49envd54j6xh96nylde2vs2hjuan",
|
|
105
|
+
"tb1pfzxjjry8ew2e9pq75tawfp8ge8kdrucnzng97d5whcrlah7p5qdsp0y9r0",
|
|
106
|
+
"tb1prfmk8d8s80l638jsnyz6fv086yhm47mrape0tdxcepafjke2un8qe5zzgt",
|
|
107
|
+
"tb1p96s969w6va6tyacdkn7c8smcyt7kknhe766dkapvwndgv46m0ryqcqhwlt",
|
|
108
|
+
"tb1p26svm5hxxlgk70262m7wesp25fhxlayxsczf2xlmk62zvnh07l9q40cjf2",
|
|
109
|
+
"tb1p74qt90u94gh4qrtc8akhwa39wm3puavez7plpa83ydes0nw3cfcqqvv0zy",
|
|
110
|
+
"tb1pcsmgradg83ycfhtaw8ytu5j42ugxwkqu7te70m2mf5nmkzuxzkgqmkk4n8",
|
|
111
|
+
"tb1pzm29st5rptvca0j29zv8wxjxpy3md07lwl4zkx34v2fjxx82garq8sm93u",
|
|
112
|
+
"tb1p3yt8kq90562hgw0lyu79w9npvmuzayclzkeekkttdy8xhxwlputqww5m6t",
|
|
113
|
+
"tb1pu7u7lp5563a3uw9pzk0q6gxuc89rq5xplvk852g0alngxjqqk9us4q8mr9",
|
|
114
|
+
"tb1p0regqzle3wje3jmnwv97xu0mppvylmvdgjjqen99lsz7pdzjkzjqeytsuj",
|
|
115
|
+
"tb1pag2ff7v4y3tsu0dppvgsh64ygsz9mfnrn9k28a4e3xpsg2h92r4s53uahr",
|
|
116
|
+
"tb1p3l9xyxhzwaluq6kazykdvyu5dewchn5uhvm94ld4g63u8k8v6jnstreefe",
|
|
117
|
+
"tb1pc0cm88syurcetq9a03x444jluvqt3p04k63a9dg5x8qr7zt67n5su7r69e",
|
|
118
|
+
"tb1p670tr422dlqrzd95l5g7snluqcz7yhcj5eexsu5ytj9p0dsm2zusw9walg",
|
|
119
|
+
"tb1pg3w982r5dxk3z9j3fd74ghan0fe3l3pmhrfz04cplgeqjsmusqssy0t8pg",
|
|
120
|
+
"tb1pk579d9sju7t3lzmeeacmd2y0h6dyfnzx8yzjcgz02z2ug79g8rtspzp6lu",
|
|
121
|
+
"tb1pdx7tlgw3xezre2wya9hdkdwg34asnpx7l8q6axgrkepec3xqangqfafpu6",
|
|
122
|
+
"tb1p6kw4kvv4y4ewmlv7rcecjf3t7vaajfwyvt0mjnxc9k0wrm4hak7svdazyn",
|
|
123
|
+
"tb1pfrf7hc5090lxs5wftvlqwnh2n3dptht496s9nf5lxyzfm9jh4rxq7zuq6s",
|
|
124
|
+
"tb1pvntx8aqka0wsj03th4v7mfkukr97hrwv2vm5whewrzdl85p76dgq5urgxd",
|
|
125
|
+
"tb1p9rlpyvp7jr6fu2m30749p9zfmatcs3prcce98ze0xj8nge2y273qs28taq",
|
|
126
|
+
"tb1ph7wwpv4cenjcm5v0d4qfwm5tustt98cs65yktn6mt656zuzkg99q0alw60",
|
|
127
|
+
"tb1p8xqu9kwv70cx483tjz4prkmt2f2ttrrske0f5eh846zjtgdvgv9q4awkpe",
|
|
128
|
+
"tb1pmaw63647yxcr6as6yy7e8xe0srqulp9zsfxavhc56rnjqt3pfsqqr3snjy",
|
|
129
|
+
"tb1pxyrgvxqywvl6w4qywzw0ztrjhs70ayclxtsnvfc0jn34dfml2tlq5jpz6s",
|
|
130
|
+
"tb1p9tpxms5wrwu2lhenl0kyw3nrnx908rdk8fzfy706kgc3ut45ljpqmpy4er",
|
|
131
|
+
"tb1pmx2x2mrty20yf8vwzldt0ce5xwlqddvxqhct6dlqwuhlxjrjcfrs7y3wat",
|
|
132
|
+
"tb1pkp0tkca5xyw5093junxh9dcd0gaphuu8f0h05nfuhravgx632n5s52z2l6",
|
|
133
|
+
"tb1p52533vctsuzj3zunmkgf8ndwu4gszzyyryd2e4j3w4nt57z0sw4q353j9e",
|
|
134
|
+
"tb1pw8r4gd5lxuq3gyv9ny6m3j9qud7wjpa2n6796mhuth2repze89wstnu6d8",
|
|
135
|
+
"tb1p002vjzaa5w7yu4lw723krvzpjlpppukz8c4tckhwuks294rd6xcqt4f6su",
|
|
136
|
+
"tb1pgs368krt66atx3mf43xt34d60gqng8hatlpjvps322synq0cx4aqtvp6a6",
|
|
137
|
+
"tb1pqqu8w9fmnwjln2r6pe7ymfrdam80esgrtek0fj6lecefhs8ec4xqwv7g6n",
|
|
138
|
+
"tb1pchkagrq5pxvyu80z0dgvcjjxjdlguaacazlkt94prrwnarkwxp8sn77mwd",
|
|
139
|
+
"tb1pjmh6tz84gtzcla45mmyhjpxxx2n06saqdqtglcn8qwutrn27gcqsnk7j4c",
|
|
140
|
+
"tb1ptv5748jm7c8as97fz92sh70zrtvkm23jymju6876lw59q96eug4sdlje9c",
|
|
141
|
+
"tb1p0z5cq3hruv5czy6f4975l23sfgq89cg6naqfm47ampx22qf2lfgst6vwuw",
|
|
142
|
+
"tb1pycfr2vrh6v9mv8zg9jju54gvwgyxlj3ugkmtla6e6gx7enx76q2su333az",
|
|
143
|
+
"tb1pmezqm95ptnrc8w2mptfn3ewwy20wepy46qkdgp4eyu96yq8f9xpsztqd43",
|
|
144
|
+
"tb1p8mcetejfhvzdtvqlqyra6sgtt7v7t2syuv4us5f43f3nc6fjcq2qkplaan",
|
|
145
|
+
"tb1p2ppj5qeu6g2tc6xznqfdy6k08pcys939c2me3hdvslvq3uzd73fsdwlk90",
|
|
146
|
+
"tb1ptc6tgwjz6pek32ss4rs5mwmzjvxtr4qwfztdesgft9t05xt6awpqz9qlj6",
|
|
147
|
+
"tb1pxjzgazrfj937rzx8w8us9zv2yzy4azd6lva35ee935nezmm0jlfqh9xp9h",
|
|
148
|
+
"tb1plpm32hltxv72v770dk90az3z5nh0z83n9rcq3z2zxx6ugl2l5r0stke74q",
|
|
149
|
+
"tb1pk3mx0xvgelhxee9zqe0xgc3y088djq44stn0ff7nvsd3fs47unnsn9evl0",
|
|
150
|
+
"tb1pqvukz0uealeex6yptwrhjd05eh25wnpesatzm0uh0v0dk72p6dsq0j2taf",
|
|
151
|
+
"tb1ph6ld9zw5qm5jd0j2mq98ye4kmehtppxt699dcdwf8d7m56jr6x3sy87swd",
|
|
152
|
+
"tb1p9dpq4tq7et38p2phx8sx9yq6ph5wvpa820ux7nz4pnsmh8s3q6jq75nxj8",
|
|
153
|
+
"tb1pcr3kvvgttqefja9s3nmz08kt5yestemklxq5gcx3pcjdg52ag9js7weeat",
|
|
154
|
+
"tb1pntlx8xaute386qj29335g3ejk7us0wps6hwm9q4llglf30r3xr8sjcgk0r",
|
|
155
|
+
"tb1pvx09nw9c3wgc43358ywf9snlyagq2gs9jdtl4rdtpdsjfeunkjjsx6p5q7",
|
|
156
|
+
"tb1pfg56c8sklqsa47n7jz5ax0n7yag6hswez4feu0e6p9fwxhm4rars3zkggu",
|
|
157
|
+
"tb1ppuzvyccqc7g0hwss4ysy2s32ghf08rsmmv53e0zlnhqnt0a274vqlplsec",
|
|
158
|
+
"tb1phaj79k3d6n7nn2xdp9mzmepmvzdau5g80yae2k6r5ennt8lvjmesf9jg25",
|
|
159
|
+
"tb1ppv02nvaxsfx2xezjetvun0d4ln5gzjp9jqn9y3ra36xckpmagucqdmy7dd",
|
|
160
|
+
"tb1p5y0jpagzlpk8dws8r6fr3g30vw29yfsjvf3d0ekramary86mcncqcjvtgl",
|
|
161
|
+
"tb1p729ddk75k7un569syuk7h5yc0duwu5qam8x0hry0dp8ex4j6lkpqcr6vy3",
|
|
162
|
+
"tb1puugaqfwfqkht9xtf65dknr9fngr4txcwmzf2fc9qu3efm4y6704sunqw7a",
|
|
163
|
+
"tb1pl02asw8ty29lr3c3qspndveel67lfrcuvjmhhs99u0w9hmpx47fqgevt4c",
|
|
164
|
+
"tb1pdkngmxw7nj0scm9xjc4zlrgs49wnksxcp5436749r03ytaywf6nqzy2dqf",
|
|
165
|
+
"tb1p637rjuhm6wm68ntkjqstc272qr54w8j4frd68nafsmqa82jyyn0qxd49ec",
|
|
166
|
+
"tb1p2sy9rd6hjapxnjhxf308mc9qxhd30d57ed86urwy9tl07tq6pg4qdrqqcj",
|
|
167
|
+
"tb1ptp9t0yvq0n92d4rrzspad8xgmlthvwmwtdde93hhsdk30852rzhq35hu5m",
|
|
168
|
+
"tb1p7khtjvv20tuuqgcfwfy8g54mzua0x3y226ffckrnzd8fw2wast0qp2q929",
|
|
169
|
+
"tb1pgmtspr3e35kmjpg0q6xlvq62z2kw4r3uk9q6hnrwcrh5d5jrr2asg2nun3",
|
|
170
|
+
"tb1p457gkz0ydrjhxhu6cggdzxvus5zsk34j45h2kmuckzuk34ym76ysx494w2",
|
|
171
|
+
"tb1pwrke7rqpjjudngkzg3m2ftye30dcutag3004c20q7v9ec9wc6pmq90hq2a",
|
|
172
|
+
"tb1pkpcmehtanm3ca9tvgwfvvs84h3nl5tl06qlmstdpydlv9z8h2fus6ndhn6",
|
|
173
|
+
"tb1p83q042va5elkgq5t7hlnpqrqxppn85c84qlaktddnmpw2vdchhls9urajy",
|
|
174
|
+
"tb1pazqrunrd5nks3mxn4ag8wzlzup9kc6rnqf3jm4x33khe9hmqlh6qgvyt8f",
|
|
175
|
+
"tb1p3l2hgvv3dv2h2g9g5ujha7xx7f69nswkq84d8cvjuphwefl453gqmx0n2e",
|
|
176
|
+
"tb1pqn4naaat0a8qzdlz5qcf2t676kmm2cnxrua80rw6gt98zz6n32wsf8dvnu",
|
|
177
|
+
"tb1pjakfp9gwawgk6ruelrmm7vf54e03e85na2d7667ysd8x7scsuwgqgmhpns",
|
|
178
|
+
"tb1ph7hy40mccrgc7l2kxk0mjq8zxsrlyhzxyxjly4e6xnm0jyhlkj8sxttv2l",
|
|
179
|
+
"tb1ppx3hfa0pwtvjcsrn8huflrdaygza4dk9tp34wjcdlvx0rk3lup0qtp7lra",
|
|
180
|
+
"tb1pxhlh25u7xjs64n605qka7y7scfduy0mlmq23mghl2uggmknmg0tsmjteup",
|
|
181
|
+
"tb1p6k25sjnpy45hz28z2r83e4s7wltvrwzs2pvzmkjkmnve07es344s5xkw6j",
|
|
182
|
+
"tb1pv59ynddpeapvkaehf5mgj5vdduwk0y00xgg9wwjj2dpz56sedzjqyryarz",
|
|
183
|
+
"tb1pmhgk6pkng5hmmlug9xvmh4yahrha8ghqn99m2ghzy73s7ar9h56shl0zxm",
|
|
184
|
+
"tb1pk9xj7e3ywvjfpdgr6xdx0ek5tacn3a0eeqdtctx4j83zcfhe5ndqy4fgjt",
|
|
185
|
+
];
|
|
186
|
+
const changeAddrs = [
|
|
187
|
+
"tb1pmr60r5vfjmdkrwcu4a2z8h39mzs7a6wf2rfhuml6qgcp940x9cxs7t9pdy",
|
|
188
|
+
"tb1p4xh0qhs7zmgv03krhwcfq53f3973sz07qv8a57taplz4zxxgf26qs82js6",
|
|
189
|
+
"tb1ppw88fp4uxp4q4mah5lqq4uzq24pdkxkdw0hve2p8w8x0tlj7kc8sx2ph6j",
|
|
190
|
+
"tb1p3xgy5c6g6lle53x5nkutd2q8cc3ws6pkf328mfpx7v945csnrp4qqmlew6",
|
|
191
|
+
"tb1pu53aqtejgsygsw83eljjj5mhs3hzta76enh7ud77f4gjx9hr9a4q4uxxx5",
|
|
192
|
+
"tb1plv44m53el0ay6y08jl8uapjp39ax8tf3jdwudwqqm5fujxx4v50qt9k9ps",
|
|
193
|
+
"tb1ppejgx4ufc03fgxhc0ltecmqx447xa26cmj587llek839mecqm53q7wxqm9",
|
|
194
|
+
"tb1pd7zeel5cy67mrfd6npy20updsj5uchdpqy7qrl5nrhmendra3w6qe68wzj",
|
|
195
|
+
"tb1pjdjhwrf2tknem5t35rt87p5sxdqgd30mjqr3k9dqna035u8m3y6q0r4dn6",
|
|
196
|
+
"tb1p98d6s9jkf0la8ras4nnm72zme5r03fexn29e3pgz4qksdy84ndpqgjak72",
|
|
197
|
+
"tb1ppwmjmny8wnffcdpa5q7lh4e75vn02v5qjt46z2x8mgll9kl40t4qpw9ppx",
|
|
198
|
+
"tb1pyvdzg5vvhmwxyx4uljg3jf6ex8a7ls58cceljlss3ggtwjd6jvms433ad3",
|
|
199
|
+
"tb1p8z8umjkzwjt2njsggzlwkcdlhuajfzj7tzvt3rcxy9w2dmpn9lhszf9ygd",
|
|
200
|
+
"tb1p0rmsxcdhte6l8k3fc72f5uw60lv4cda8sl9p89rsp9nqkdzjwetsc3a6vx",
|
|
201
|
+
"tb1pu65ggxqxcm9y3m2d6zqrasdeuwwn8j7gqkptph89eeqduzym9jyqdp3vg8",
|
|
202
|
+
"tb1pm794ga36m2av3fd77ql20qu6k057ks0rqwazns3qns26adt73yjq9247zh",
|
|
203
|
+
"tb1przxjjv7ewazmjcpfyedsmhgwr5dq3f07f300tlg538npqvqqvwssx9ev2s",
|
|
204
|
+
"tb1p0scchg00pl7yvvx23n2zc7l2l8d5l5jls4rzvj38gcfyqp4q6j7sm9hv39",
|
|
205
|
+
"tb1pu2mz7yvrpwuvvpxhdxet2lld3d9khcujh6hlz8cg9gmaymdmc0uskq5rmc",
|
|
206
|
+
"tb1p78nltexn2ypg7y722eqlazwlkydfjucszsnpld03feaz9mwe90jst650nm",
|
|
207
|
+
"tb1pw5yqrd4gffn6flfnl38yg3n5n72lql9ntmmz70znhj7guh4ycydqxnfc2q",
|
|
208
|
+
"tb1pq7svumge0ue6urxw5rfw4thpaxjxzt673wj988e2u5lmf5wjn2gscpay4j",
|
|
209
|
+
"tb1p5w5gznxq6592fkmg2chjx5a2y83t8gc7dh0xv2udlg9550dk9rvspy92hx",
|
|
210
|
+
"tb1pe9l9kfknjmxn6mru85w7ucvm9zx2v5gujmfqx9jdjtx60hdvru8qfhqesd",
|
|
211
|
+
"tb1pdxvjkynm7g9zvvcc56rqsuqxlmz7f8zh3eczz3n9x5l70e0qhdfstzr3wx",
|
|
212
|
+
"tb1p92zmv6y2enjfg66dkym4zl7t4v6sd42r89jhrf2wk4acu6rm7fhs593urh",
|
|
213
|
+
"tb1p7u5qu04pppv5lcdave9arcuuq24tazuth6gack85rf984w8d5atqcwwtva",
|
|
214
|
+
"tb1pz9qky6lwzsfkpru3sjkauj2hz04hrv0um0s5ff70v7zz6epp3whq00fhxw",
|
|
215
|
+
"tb1pe25mj599lzq4jtpf4jkrtuxwt6j50jx0ta0yftye5e5ykjuldctq75sxew",
|
|
216
|
+
"tb1pjvjmkpw6207stqsffaj2fws246a37lnq5f5a8p2rxqtx7uewygaqkckzpd",
|
|
217
|
+
"tb1p6qkvgsy6675fn6hksv4mfjna2dzwv0vkfvx50qx2y2f5kuvdv9xsjsc3a8",
|
|
218
|
+
"tb1paqu88uskqz54rqcq5c27e3hfjxe78htqxhep8ja8wqem5fq5zaqs92m52t",
|
|
219
|
+
"tb1p4w7556c7x0ufssctzuwqdkzta7u4dm6ep3mtf36gn32yh9k6zdaqrxg7jc",
|
|
220
|
+
"tb1pwadsxxxfanl0kp2uul54kqc4trdvxukqdmam6pg924aczuv9ru0srqrdku",
|
|
221
|
+
"tb1ptpgdss5t8k2crev7m9jtk7cjykfg4kg8qqavq825cql5dn4ytvjs9rrfst",
|
|
222
|
+
"tb1p70wtc04xmwlyfkauave3wwuzudnt4r5gjad8lacdw88skamnwq7s576lxw",
|
|
223
|
+
"tb1pjsfs0lcn8zfg95f7qky4p2ata42txulmjd3sqajr3g5z2z2gvncqwzxt5g",
|
|
224
|
+
"tb1pkz3uql3z2m9n407hnh6neh9cnwa02l4hrc4gvt7nj0tcw3yupr7s4l9655",
|
|
225
|
+
"tb1pvq895aatatmw37m947h2p5j9wrsu8h8ec5u34shyzf872gnv93rszp52hp",
|
|
226
|
+
"tb1ph266tv2hq94lucaghrxcx6dgjsxvxlmqysv6av45txldsgj5ec8q4vyy9h",
|
|
227
|
+
"tb1pds0c2n9mpkggrgkww73pu2w5zwuwrgec9s934k4j8dzfqva98qrqu33vdc",
|
|
228
|
+
"tb1pwlsrcadnxkqfxtgfhn2yz26aelmkl008404qvn6xekcfyplx4alq27gsly",
|
|
229
|
+
"tb1pvvrak3lmnhpcxx3j6r3tx5m83mfheyvvactj2xcqfpj5dqr86trs0s4zh4",
|
|
230
|
+
"tb1p385h32q7fs9tvh35cstapywxhnh7vtt8pfyx8dafwtscv3hyl6uqkvr355",
|
|
231
|
+
"tb1pk2k0tmsx66xe2acnaqnpk8y6ghe9ay4ac72k3rc2m27yr3cnl8hq955frr",
|
|
232
|
+
"tb1p87wmvhe8uz4uajtus5wdaaqlxzhdglf0npjkvc2dyuvrny93mnnq6538rn",
|
|
233
|
+
"tb1p60mdmqzjw8uv9gtzvc2qghgmpqu3uwrfhg4efzck0fea7fevvgqqfsflld",
|
|
234
|
+
"tb1pnz80qj62lx2jfg7npw58n6ajdn8w9yj3egw0yqmln44aspfkrktswf5487",
|
|
235
|
+
"tb1pvjjq4gfy5fhp4x4y29sv35mdp4z76l8qeheda39jw7kk7fgpze5svvvqvw",
|
|
236
|
+
"tb1p0dr02a5d7glfeca5cxpkya5xvzdjpp29sm9v4q3xed8z2vlkx98s806sxk",
|
|
237
|
+
"tb1p70hv7d2xrsa6mnt5emw7eh4k9c26vnnltff53uwyyz2h4fgwqsmqeyggvx",
|
|
238
|
+
"tb1px3r0c7adqw932x474exy5p3xcqt9xlxk6f4507sf9v3l7lgkk0kq4h2ht9",
|
|
239
|
+
"tb1px43lfqm3m2u5g3fsyklazmvu93ur23phmxm0zsdtyxgenequ7c5qxzpxpq",
|
|
240
|
+
"tb1pf8casgy4kky856eldyy36lhrj6jgjw5zxv86mpuvxfrmtgd408ns6fs4wl",
|
|
241
|
+
"tb1p8v3j9cjfehxu7p2498cs02dwkqlg34nk4fnht2m28v9d93dfq8gq9x27lp",
|
|
242
|
+
"tb1p96rcqur42r2m5y826qq0p0l4knw3sgf0mvwqkss6cdpxgm8vq2zqpzchyz",
|
|
243
|
+
"tb1pk3qxzxv07q9acyg7y5j5lqqmy4rv27lw8mfgwaccf5hr3dkk7u8qjdah8z",
|
|
244
|
+
"tb1pqrnrlaaapdyn0k3vg0xcry85wt3fuempnpw3fd56yapsjaf3pn3stmjwds",
|
|
245
|
+
"tb1pjfaamay3f7j8lzyg4px65nhn9pv98f2nml5rsvrarzcp7aaxq0hq38yqhk",
|
|
246
|
+
"tb1pz57yt30a9373myrpnvgaxp5uatswr6smc974zyc8r7p44pf7jdcsnl86kd",
|
|
247
|
+
"tb1p3u0z5wndq8fhfr45x9etqkyrp4xj5cyuhlv9uthmy4v8cvhqqadqvfrncy",
|
|
248
|
+
"tb1pu5m7ylzz6ujr7datcst0j87hzthaetf3ppkcha5xfrf8zvty762q8aqqp6",
|
|
249
|
+
"tb1pheged3wv20h7zndpryuh2kc8urzpsrnl7p7c5u9fl0smpy528p3sp9eynr",
|
|
250
|
+
"tb1p7drkww9wlslynwrtfw3gdanrs26cww2mjfyxu8dv7mw0d8n4uj3svlr8xu",
|
|
251
|
+
"tb1p4sflk8wpgj0v6vf6wnu89g22zl9xjhv0u6pd5rt7m64jza789jqser4p9z",
|
|
252
|
+
"tb1pggvctzs2qhlqg6j5gl4jjrca7cr4jxldzwnpj62ptftx2c7yjymqedya29",
|
|
253
|
+
"tb1phx5znmhjn3z46g0n800mksw5s2kx6leups8uguwcqcqudyfy7d9qq37m7r",
|
|
254
|
+
"tb1pln84us5u4xe2670xwc3l4l4mpejfydl6arwjyqechl0e6v3jjsrsm8cfdl",
|
|
255
|
+
"tb1p8055dcyg5e6ql3j360nk33ehzgh58hl34r0nnyku5a6wqu28nkgqfegezt",
|
|
256
|
+
"tb1p7e52eaqz4h9v7999dea4st0wk3v0thlensrnj9hynh8ppe7yt95sqy3d5a",
|
|
257
|
+
"tb1pujn5wdctq80gdp28atnxneqfqj2p7a6pk040tt3vg8j69dszfk3qkp4ny7",
|
|
258
|
+
"tb1pjfgu8cw3y537lykfdtn4pdmd90xdx4lmh90wq78z4247adtc9j7s372fn7",
|
|
259
|
+
"tb1p387s9klhs9vees0246l88ktmxn5kunf8nccwzx74qqshnjsfd02qu2j32g",
|
|
260
|
+
"tb1pw6msjszjhckluqk2ypw7fy4vprjmpkhw05elgytqda7yhfuut26q62ywhd",
|
|
261
|
+
"tb1pwgpslxynjhxwgazqs298prphsfgpdslsgw2nggtl60s55n2m0mpqlnnssn",
|
|
262
|
+
"tb1p0lktg8gfdn4n2lhsgq7cmpg8d7w7y7nh037pg34ga0pv46y6fffshgr287",
|
|
263
|
+
"tb1pchdtlya5y4868fxx3tv7yzq6kewftyvytw6n3f6fdvz8z6nexjvqeqkz36",
|
|
264
|
+
"tb1p2cha976qdwvmq07kchqyswhj6pvt7qjwjc6jrvjtqlsmvm8xq07q6a2jwt",
|
|
265
|
+
"tb1p8qyezr8fntwxzn67c5u5tgwsn035sp6dtsrt9juxs0x6us4avseqdnzn5x",
|
|
266
|
+
"tb1p2d4nqw8nf6vzs47hxpxx7nacadsa6py9gapekpmfn3uk8mndczks8y6747",
|
|
267
|
+
"tb1pnyvnujkkkc9fnf30d7mt08wc498699pcm25jnwykuzsmnkhkgszssk5hye",
|
|
268
|
+
"tb1pewnt3lu3txe7p39fatdajlzpzqw877y6xyp6fx8fn2k8x72cj83s5hgted",
|
|
269
|
+
"tb1pqkmzxurj2n0xl2zfj95grdvgwzgkmfdf97m4pdr9cqqkx9fx8rhs4vqd72",
|
|
270
|
+
"tb1psu7u3hkyrtgzz4qs334602zdd4zz4u0r6zajq32scx0vshffdugqp6c7m6",
|
|
271
|
+
"tb1p6uppu0876xmukkjgza3nfgrs66m9ulvx9vs5n538shq6gdqkcdkqxhg7jt",
|
|
272
|
+
"tb1pynzqddzwzgx3059c273aw49r58k4h6nky5nz5f55h4acqp9alnaqkyd45r",
|
|
273
|
+
"tb1phgcrtu54j0jwpfvrmfzxld86jraydtgppm57atn3gflyjlqw4uwqspuuuu",
|
|
274
|
+
"tb1p59srx4xqvg5n5pf7mjt9wmuv3s8flh0k0a889j86khrjm4mvmqhqltk7e7",
|
|
275
|
+
"tb1pty3t7eajk8ekw8fkv83flh5jhz00mxua25cqa3ynxwp2nz0hjtgq26em7r",
|
|
276
|
+
"tb1psm2hknqsxupjulanrcstnr0sddt037czkg0qenkpnelrjkj2yhuq9ww54h",
|
|
277
|
+
"tb1ppc6vncx3ug2u6ua79svvqtn0klxv2lt2aeg3jslr092mrhmgaykspq2dxg",
|
|
278
|
+
"tb1ptkdaxzj2ezgqc2n4lg7j77re8u090fgf6fpkkphy0j754cnuy7zqagvmnu",
|
|
279
|
+
"tb1pexy6juy5d0gevf0gnf2dtuzl62fnw7fpktce8n6ds3kc6g95mgfsg2hkf5",
|
|
280
|
+
"tb1pul2cjczswdpez866k9uddkc6p2u4g6qzfgj248a2nuhzuh3dctms9r0x3m",
|
|
281
|
+
"tb1p46xhkqlrh9dh3f09yckjfp3y4wflvf0smm832jnfe3w33rezvraq7xu6ew",
|
|
282
|
+
"tb1pd7969v7vcwpa97s86cfgs5eqwhqn0m8s8qt2r32g7hnktsxcmdwsqkd7vs",
|
|
283
|
+
"tb1pedur2zp3xhllcpsx8kavrxdg4emwayvngqeg8ffq3w3ec73tqrcqt8pj2k",
|
|
284
|
+
"tb1p3272tayue3s46qt2fpl7972wlvlaussesj0gmn4q863u2fadkgzsphclqa",
|
|
285
|
+
"tb1p4zypzsqgdq4hj3029aqhqu95gz9mrrw7l3t7udp9fappqtfwjgfq3km29m",
|
|
286
|
+
"tb1pkhlmr4xz5w8x8py8x7670zp9lzykhepw74jltvpleff3qpxc3m2sgsmgnu",
|
|
287
|
+
"tb1ptp5mua0w462ahk56y8uvqgkv3pxk44dz67vjtax4jnu4ajm8ykgqd80ndj",
|
|
288
|
+
];
|
|
289
|
+
const xpub = "tpubDDKYE6BREvDsSWMazgHoyQWiJwYaDDYPbCFjYxN3HFXJP5fokeiK4hwK5tTLBNEDBwrDXn8cQ4v9b2xdW62Xr5yxoQdMu1v6c7UDXYVH27U";
|
|
290
|
+
extAddrs.forEach((expected, index) => __awaiter(void 0, void 0, void 0, function* () {
|
|
291
|
+
expect(yield bitcoin.getAddress(DerivationModes.TAPROOT, xpub, 0, index)).toEqual(expected);
|
|
292
|
+
}));
|
|
293
|
+
changeAddrs.forEach((expected, index) => __awaiter(void 0, void 0, void 0, function* () {
|
|
294
|
+
expect(yield bitcoin.getAddress(DerivationModes.TAPROOT, xpub, 1, index)).toEqual(expected);
|
|
295
|
+
}));
|
|
296
|
+
let prefix = (yield bitcoin.getAddress(DerivationModes.NATIVE_SEGWIT, xpub, 0, 0)).slice(0, 4);
|
|
297
|
+
expect(prefix).toEqual("tb1q");
|
|
298
|
+
prefix = (yield bitcoin.getAddress(DerivationModes.LEGACY, xpub, 0, 0)).slice(0, 1);
|
|
299
|
+
expect(prefix).toMatch(new RegExp("[mn]"));
|
|
300
|
+
prefix = (yield bitcoin.getAddress(DerivationModes.SEGWIT, xpub, 0, 0)).slice(0, 1);
|
|
301
|
+
expect(prefix).toEqual("2");
|
|
302
|
+
}));
|
|
303
|
+
});
|
|
304
|
+
//# sourceMappingURL=bitcoin.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitcoin.test.js","sourceRoot":"","sources":["../../../src/wallet-btc/__tests__/bitcoin.test.ts"],"names":[],"mappings":"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AgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;SACjE,CAAC;QAEF,MAAM,WAAW,GAAG;YAClB,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;SACjE,CAAC;QACF,MAAM,IAAI,GACR,iHAAiH,CAAC;QACpH,QAAQ,CAAC,OAAO,CAAC,CAAO,QAAQ,EAAE,KAAK,EAAE,EAAE;YACzC,MAAM,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9F,CAAC,CAAA,CAAC,CAAC;QACH,WAAW,CAAC,OAAO,CAAC,CAAO,QAAQ,EAAE,KAAK,EAAE,EAAE;YAC5C,MAAM,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9F,CAAC,CAAA,CAAC,CAAC;QACH,IAAI,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/F,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../src/wallet-btc/__tests__/logic.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { getCryptoCurrencyById } from "@ledgerhq/coin-framework/currencies/index";
|
|
2
|
+
import { isValidRecipient } from "../../logic";
|
|
3
|
+
import { InvalidAddress } from "@ledgerhq/errors";
|
|
4
|
+
describe("Test isValidRecipient", () => {
|
|
5
|
+
function t(address, currencyId, expectValid) {
|
|
6
|
+
const currency = getCryptoCurrencyById(currencyId);
|
|
7
|
+
if (expectValid) {
|
|
8
|
+
return expect(isValidRecipient({ currency, recipient: address })).resolves.toBeNull();
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
return expect(isValidRecipient({ currency, recipient: address })).rejects.toBeInstanceOf(InvalidAddress);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
test("Fail on non-existing currency", () => t("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", "ontology", false));
|
|
15
|
+
test("Fail on mainnet addr on bitcoin_testnet", () => t("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", "bitcoin_testnet", false));
|
|
16
|
+
test("Success on valid address", () => t("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", "bitcoin", true));
|
|
17
|
+
test("Fail on invalid qtum address", () => t("xCREYTgvdk3XzFNpdXkj35fZX4hJK2Ckpe", "qtum", false));
|
|
18
|
+
test("Fail on invalid bch address", () => t("qr6m7j9njldwwzlg9v7v53unlr4jkmx6eylep8ekg3", "bitcoin_cash", false));
|
|
19
|
+
// TODO Enable once fixed in wallet-btc
|
|
20
|
+
test.skip("Success on valid bch address", () => t("qr6m7j9njldwwzlg9v7v53unlr4jkmx6eylep8ekg2", "bitcoin_cash", true));
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=logic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../src/wallet-btc/__tests__/logic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,SAAS,CAAC,CAAC,OAAe,EAAE,UAAkB,EAAE,WAAoB;QAClE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,WAAW,EAAE;YACf,OAAO,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACvF;aAAM;YACL,OAAO,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CACtF,cAAc,CACf,CAAC;SACH;IACH,CAAC;IACD,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE,CACzC,CAAC,CAAC,4CAA4C,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE,CACnD,CAAC,CAAC,4CAA4C,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7E,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CACpC,CAAC,CAAC,4CAA4C,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE,CACxC,CAAC,CAAC,oCAAoC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1D,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE,CACvC,CAAC,CAAC,4CAA4C,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1E,uCAAuC;IACvC,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE,CAC7C,CAAC,CAAC,4CAA4C,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../../src/wallet-btc/__tests__/utils.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import * as bech32 from "bech32";
|
|
2
|
+
import { bech32m } from "../../bech32m";
|
|
3
|
+
import * as utils from "../utils";
|
|
4
|
+
import cryptoFactory from "../crypto/factory";
|
|
5
|
+
import { DerivationModes } from "../";
|
|
6
|
+
function validateAddrs(addresses, currency, expectedValid) {
|
|
7
|
+
addresses.forEach((address) => {
|
|
8
|
+
expect(utils.isValidAddress(address, currency)).toEqual(expectedValid);
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
function toBech32(data, version, prefix,
|
|
12
|
+
//bech32variant: BechLib // FIXME Restore this
|
|
13
|
+
bech32variant) {
|
|
14
|
+
const words = bech32.toWords(data);
|
|
15
|
+
words.unshift(version);
|
|
16
|
+
return bech32variant.encode(prefix, words);
|
|
17
|
+
}
|
|
18
|
+
const v0addrEncodedWithBase32 = toBech32(Buffer.from("7777777777777777777777777777777777777777777777777777777777777777", "hex"), 0, "bc", bech32);
|
|
19
|
+
const v1addrEncodedWithBase32m = toBech32(Buffer.from("7777777777777777777777777777777777777777777777777777777777777777", "hex"), 1, "bc", bech32m);
|
|
20
|
+
const v0addrEncodedWithBase32m = toBech32(Buffer.from("7777777777777777777777777777777777777777777777777777777777777777", "hex"), 0, "bc", bech32m);
|
|
21
|
+
const v1addrEncodedWithBase32 = toBech32(Buffer.from("7777777777777777777777777777777777777777777777777777777777777777", "hex"), 1, "bc", bech32);
|
|
22
|
+
describe("Unit tests for various utils functions", () => {
|
|
23
|
+
it("Test isValidAddress accepts valid bech32 address", () => {
|
|
24
|
+
const validMainnetAddresses = [
|
|
25
|
+
// bech32
|
|
26
|
+
"BC1QW508D6QEJXTDG4Y5R3ZARVARY0C5XW7KV8F3T4",
|
|
27
|
+
v0addrEncodedWithBase32,
|
|
28
|
+
// bech32m
|
|
29
|
+
"bc1pw508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7kt5nd6y",
|
|
30
|
+
"BC1SW50QGDZ25J",
|
|
31
|
+
"bc1zw508d6qejxtdg4y5r3zarvaryvaxxpcs",
|
|
32
|
+
"bc1p0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7vqzk5jj0",
|
|
33
|
+
v1addrEncodedWithBase32m,
|
|
34
|
+
];
|
|
35
|
+
validateAddrs(validMainnetAddresses, "bitcoin", true);
|
|
36
|
+
const validTestnetAddresses = [
|
|
37
|
+
// bech32
|
|
38
|
+
"tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sl5k7",
|
|
39
|
+
// bech32m
|
|
40
|
+
"tb1qqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesrxh6hy",
|
|
41
|
+
"tb1pqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesf3hn0c",
|
|
42
|
+
];
|
|
43
|
+
validateAddrs(validTestnetAddresses, "bitcoin_testnet", true);
|
|
44
|
+
const invalidMainnetAddresses = [
|
|
45
|
+
"bc1p0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7vqh2y7hd",
|
|
46
|
+
"BC1S0XLXVLHEMJA6C4DQV22UAPCTQUPFHLXM9H8Z3K2E72Q4K9HCZ7VQ54WELL",
|
|
47
|
+
"bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kemeawh",
|
|
48
|
+
"bc1p38j9r5y49hruaue7wxjce0updqjuyyx0kh56v8s25huc6995vvpql3jow4",
|
|
49
|
+
"BC130XLXVLHEMJA6C4DQV22UAPCTQUPFHLXM9H8Z3K2E72Q4K9HCZ7VQ7ZWS8R",
|
|
50
|
+
"bc1p0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7v07qwwzcrf",
|
|
51
|
+
"bc1pw5dgrnzv",
|
|
52
|
+
"bc1p0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7v8n0nx0muaewav253zgeav",
|
|
53
|
+
"BC1QR508D6QEJXTDG4Y5R3ZARVARYV98GJ9P",
|
|
54
|
+
"tb1qqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesrxh6hy",
|
|
55
|
+
"bc1gmk9yu",
|
|
56
|
+
v0addrEncodedWithBase32m,
|
|
57
|
+
v1addrEncodedWithBase32, // Version 1 address must be encoded with bech32m
|
|
58
|
+
];
|
|
59
|
+
validateAddrs(invalidMainnetAddresses, "bitcoin", false);
|
|
60
|
+
const invalidTestnetAddresses = [
|
|
61
|
+
"tc1p0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7vq5zuyut",
|
|
62
|
+
"tb1z0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7vqglt7rf",
|
|
63
|
+
"tb1q0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7vq24jc47",
|
|
64
|
+
"tb1p0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7vq47Zagq",
|
|
65
|
+
"tb1p0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7vpggkg4j",
|
|
66
|
+
"bc1pw508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7kt5nd6y", // Mainnet addr used on testnet
|
|
67
|
+
];
|
|
68
|
+
validateAddrs(invalidTestnetAddresses, "bitcoin_testnet", false);
|
|
69
|
+
});
|
|
70
|
+
it("isValidAddress should default old validation if currency not provided", () => {
|
|
71
|
+
expect(utils.isValidAddress("tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sl5k7")).toBeTruthy();
|
|
72
|
+
expect(utils.isValidAddress("tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sl5k8")).toBeFalsy();
|
|
73
|
+
});
|
|
74
|
+
it("Test altcoins", () => {
|
|
75
|
+
validateAddrs([
|
|
76
|
+
"1BpEi6DfDAUFd7GtittLSdBeYJvcoaVggu",
|
|
77
|
+
"qqmyc72pkyx8c0ppgeuummq6clzverhxnsk3qh6jcf",
|
|
78
|
+
"bitcoincash:qqmyc72pkyx8c0ppgeuummq6clzverhxnsk3qh6jcf",
|
|
79
|
+
], "bitcoin_cash", true);
|
|
80
|
+
validateAddrs([
|
|
81
|
+
"bitcoincash:qqmyc72pkyx8c0ppgeuummq6clzverhxnsk3qh6jc1",
|
|
82
|
+
"1BpEi6DfDAUFd7GtittLSdBeYgvcoaVggu",
|
|
83
|
+
], "bitcoin_cash", false);
|
|
84
|
+
validateAddrs(["bitcoincash:qzl0x0982hy9xrh99wdnejx4eecdn02jv58as5p595"], "bitcoin_cash", true);
|
|
85
|
+
validateAddrs(["ltc1q3e4eh3lldvx97zg6d74x4ns6v5a4j4hwwqycwv"], "litecoin", true);
|
|
86
|
+
validateAddrs(["Xh13o3cWixDBYJMGuJmFX17TZb9guXcBik"], "dash", true);
|
|
87
|
+
validateAddrs(["MFYvHZcZ35typC4k2XyvRVooCDZxnoDS4B"], "qtum", true);
|
|
88
|
+
validateAddrs(["t1b1Rbw2shhJkP6MCnCyxCPuyFedHrwKty8"], "zcash", true);
|
|
89
|
+
validateAddrs(["t3PU1j7YW3fJ67jUbkGhSRto8qK2qXCUiW3"], "zcash", true);
|
|
90
|
+
validateAddrs(["AYRf8r4SJhmfaEwmWvY8ujmrepbrWyenFr"], "bitcoin_gold", true);
|
|
91
|
+
validateAddrs(["D8cMCRimfjwQ9E8jJvgUswt18WnZbCUAaW"], "dogecoin", true);
|
|
92
|
+
validateAddrs(["dgb1q7zjgqa23xzf602ljfrc94248a9u27xml08nhct"], "digibyte", true);
|
|
93
|
+
validateAddrs(["REnTkuvjsmfshAZ3vukYfuS3ZGvfUatqFc"], "komodo", true);
|
|
94
|
+
validateAddrs(["DQ7F2iTQn6kUpyvietinaC3Cxje2m1ULjS"], "pivx", true);
|
|
95
|
+
validateAddrs(["zndVnjbrzRxvhPGRea4jgsfSWE1hXFja1dc"], "zencash", true);
|
|
96
|
+
validateAddrs(["3LQWwDEpgjjQokDusDXtoF9c8on8zr54fT"], "vertcoin", true);
|
|
97
|
+
validateAddrs(["PCYt39DMYuFqUYkP8w6ubZXJbTTL4c9KAV"], "peercoin", true);
|
|
98
|
+
validateAddrs(["ETx91CT52eBFYWbe4Yht5BpZNigWg2EkqJ"], "viacoin", true);
|
|
99
|
+
validateAddrs(["S6NMcEfYbavHrP3Uo1wbEUvKhAbKeMuga8"], "stealthcoin", true);
|
|
100
|
+
validateAddrs(["Dso59DoPRkfATcZgHGgfh9mpku7taw9srAv"], "decred", true);
|
|
101
|
+
validateAddrs(["Dcck4QrFF5wuLzQpwxb5evhSRD7ZTsJZwuh"], "decred", true);
|
|
102
|
+
validateAddrs(["bitcoincash:qzl0x0982hy9xrh99wdnejx4eecdn02jv58as5p599"], "bitcoin_cash", false);
|
|
103
|
+
validateAddrs(["ltc1q3e4eh3lldvx97zg6d74x4ns6v5a4j4hwwqycww"], "litecoin", false);
|
|
104
|
+
validateAddrs(["Xh13o3cWixDBYJMGuJmFX17TZb9guXcBii"], "dash", false);
|
|
105
|
+
validateAddrs(["MFYvHZcZ35typC4k2XyvRVooCDZxnoDS44"], "qtum", false);
|
|
106
|
+
validateAddrs(["t1b1Rbw2shhJkP6MCnCyxCPuyFedHrwKtyy"], "zcash", false);
|
|
107
|
+
validateAddrs(["t3PU1j7YW3fJ67jUbkGySRto8qK2qXCUiW3"], "zcash", false);
|
|
108
|
+
validateAddrs(["AYRf8r4SJhmfaEwmWvY8ujmrepbrWyenFF"], "bitcoin_gold", false);
|
|
109
|
+
validateAddrs(["D8cMCRimfjwQ9E8jJvgUswt18WnZbCUAaa"], "dogecoin", false);
|
|
110
|
+
validateAddrs(["dgb1q7zjgqa23xzf602ljfrc94248a9u27xml08nhcc"], "digibyte", false);
|
|
111
|
+
validateAddrs(["REnTkuvjsmfshAZ3vukYfuS3ZGvfUatqFF"], "komodo", false);
|
|
112
|
+
validateAddrs(["DQ7F2iTQn6kUpyvietinaC3Cxje2m1ULjj"], "pivx", false);
|
|
113
|
+
validateAddrs(["zndVnjbrzRxvhPGRea4jgsfSWE1hXFja1dd"], "zencash", false);
|
|
114
|
+
validateAddrs(["3LQWwDEpgjjQokDusDXtoF9c8on8zr54ff"], "vertcoin", false);
|
|
115
|
+
validateAddrs(["PCYt39DMYuFqUYkP8w6ubZXJbTTL4c9KAA"], "peercoin", false);
|
|
116
|
+
validateAddrs(["ETx91CT52eBFYWbe4Yht5BpZNigWg2Ekqq"], "viacoin", false);
|
|
117
|
+
validateAddrs(["S6NMcEfYbavHrP3Uo1wbEUvKhAbKeMugaa"], "stealthcoin", false);
|
|
118
|
+
validateAddrs(["Dso59DoPRkfATcZgHGgff9mpku7taw9srAv"], "decred", false);
|
|
119
|
+
validateAddrs(["Dcck4QrFF5wuLQzpwxb5evhSRD7ZTsJZwuh"], "decred", false);
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
describe("Unit tests for maxTxSize", () => {
|
|
123
|
+
const btc = cryptoFactory("bitcoin_testnet");
|
|
124
|
+
it("Empty tx non-segwit", () => {
|
|
125
|
+
const s = utils.maxTxSizeCeil(0, [], false, btc, DerivationModes.LEGACY);
|
|
126
|
+
expect(s).toEqual(10);
|
|
127
|
+
});
|
|
128
|
+
it("Empty tx segwit", () => {
|
|
129
|
+
const s = utils.maxTxSizeCeil(0, [], false, btc, DerivationModes.NATIVE_SEGWIT);
|
|
130
|
+
expect(s).toEqual(11);
|
|
131
|
+
});
|
|
132
|
+
it("1 p2wpkh input 1 p2wpkh output", () => { });
|
|
133
|
+
const tr = "tb1pdedptfps5k6hmzars9ks93ejsujh28kw5dhe06gutt9svap40j8qql2dw2";
|
|
134
|
+
const sh = "2Mv9bnjkBUr1GfCybJc7XmnJ5VG4SAT3shT";
|
|
135
|
+
const pkh = "mkQiYQGCkCC7Wus3vfhfTDjgJzQK554evn";
|
|
136
|
+
const wpkh = "tb1qhff3j7euu6t3lv8s5gsy9t5x82wuhfw5z863gj";
|
|
137
|
+
const p2tr = DerivationModes.TAPROOT;
|
|
138
|
+
const p2sh = DerivationModes.SEGWIT;
|
|
139
|
+
const p2pkh = DerivationModes.LEGACY;
|
|
140
|
+
const p2wpkh = DerivationModes.NATIVE_SEGWIT;
|
|
141
|
+
test.each([
|
|
142
|
+
// In 148 out 34
|
|
143
|
+
[0, [], false, p2pkh, 10],
|
|
144
|
+
[0, [], true, p2pkh, 44],
|
|
145
|
+
[0, [btc.toOutputScript(pkh)], false, p2pkh, 44],
|
|
146
|
+
[0, [btc.toOutputScript(pkh)], true, p2pkh, 78],
|
|
147
|
+
[1, [btc.toOutputScript(pkh)], true, p2pkh, 226],
|
|
148
|
+
[2, [btc.toOutputScript(pkh)], true, p2pkh, 374],
|
|
149
|
+
[1, [btc.toOutputScript(wpkh)], true, p2pkh, 223],
|
|
150
|
+
[1, [btc.toOutputScript(sh)], true, p2pkh, 224],
|
|
151
|
+
[1, [btc.toOutputScript(tr)], true, p2pkh, 235],
|
|
152
|
+
// In 68 out 31
|
|
153
|
+
[0, [], false, p2wpkh, 11],
|
|
154
|
+
[0, [], true, p2wpkh, 42],
|
|
155
|
+
[1, [], false, p2wpkh, 79],
|
|
156
|
+
[1, [], true, p2wpkh, 110],
|
|
157
|
+
[2, [], true, p2wpkh, 178],
|
|
158
|
+
// In 90 out 32, scriptSig 22
|
|
159
|
+
[0, [], false, p2sh, 11],
|
|
160
|
+
[0, [], true, p2sh, 43],
|
|
161
|
+
[1, [], false, p2sh, 101],
|
|
162
|
+
[1, [btc.toOutputScript(sh)], false, p2sh, 133],
|
|
163
|
+
[2, [btc.toOutputScript(sh)], false, p2sh, 223],
|
|
164
|
+
// Fixed 10.5 In 57.75 out 43
|
|
165
|
+
[0, [], false, p2tr, 11],
|
|
166
|
+
[0, [], true, p2tr, 54],
|
|
167
|
+
[1, [], true, p2tr, Math.ceil(53.5 + 57.75 * 1)],
|
|
168
|
+
[2, [], true, p2tr, Math.ceil(53.5 + 57.75 * 2)],
|
|
169
|
+
[3, [], true, p2tr, Math.ceil(53.5 + 57.75 * 3)],
|
|
170
|
+
// 0xfc=252 inputs
|
|
171
|
+
[247, [], true, p2tr, Math.ceil(53.5 + 57.75 * 247)],
|
|
172
|
+
[248, [], true, p2tr, Math.ceil(53.5 + 57.75 * 248)],
|
|
173
|
+
[249, [], true, p2tr, Math.ceil(53.5 + 57.75 * 249)],
|
|
174
|
+
[250, [], true, p2tr, Math.ceil(53.5 + 57.75 * 250)],
|
|
175
|
+
[251, [], true, p2tr, Math.ceil(53.5 + 57.75 * 251)],
|
|
176
|
+
[252, [], true, p2tr, Math.ceil(53.5 + 57.75 * 252)],
|
|
177
|
+
// 0xfd=253 inputs will add 2 bytes for >= 0xfd
|
|
178
|
+
[253, [], true, p2tr, Math.ceil(53.5 + 57.75 * 253 + 2)],
|
|
179
|
+
[256 * 256 - 1, [], true, p2tr, Math.ceil(53.5 + 57.75 * (256 * 256 - 1) + 2)],
|
|
180
|
+
// 0xffff inputs will add 4 bytes
|
|
181
|
+
[256 * 256, [], true, p2tr, Math.ceil(53.5 + 57.75 * (256 * 256) + 4)],
|
|
182
|
+
// test address with witness version 16 and witness program [0x01, 0x02] => tb1sqypqyuzpgh
|
|
183
|
+
[
|
|
184
|
+
2,
|
|
185
|
+
[tr, sh, pkh, wpkh, "tb1sqypqyuzpgh"].map(addr => btc.toOutputScript(addr)),
|
|
186
|
+
false,
|
|
187
|
+
p2wpkh,
|
|
188
|
+
Math.ceil(10.5 + 68 * 2 + 43 + 32 + 34 + 31 + 13),
|
|
189
|
+
],
|
|
190
|
+
])("%i, %s, %s, %s => %i", (inputCount, outputScripts, useChange, derivationMode, exp) => {
|
|
191
|
+
const s = utils.maxTxSizeCeil(inputCount, outputScripts, useChange, btc, derivationMode);
|
|
192
|
+
expect(s).toEqual(exp);
|
|
193
|
+
});
|
|
194
|
+
});
|
|
195
|
+
//# sourceMappingURL=utils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../src/wallet-btc/__tests__/utils.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet.errorpropagation.integration.test.d.ts","sourceRoot":"","sources":["../../../src/wallet-btc/__tests__/wallet.errorpropagation.integration.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { DerivationModes } from "../types";
|
|
11
|
+
import BitcoinLikeWallet from "../wallet";
|
|
12
|
+
import { getSecp256k1Instance, setSecp256k1Instance } from "../crypto/secp256k1";
|
|
13
|
+
import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets";
|
|
14
|
+
jest.setTimeout(180000);
|
|
15
|
+
describe("testing resilience of failures", () => {
|
|
16
|
+
const wallet = new BitcoinLikeWallet();
|
|
17
|
+
const defaultImpl = getSecp256k1Instance();
|
|
18
|
+
it("should generate an account", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
+
setSecp256k1Instance({
|
|
20
|
+
publicKeyTweakAdd: () => {
|
|
21
|
+
throw new Error("FAILCRYPTO");
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
try {
|
|
25
|
+
yield expect(wallet
|
|
26
|
+
.generateAccount({
|
|
27
|
+
xpub: "xpub6CV2NfQJYxHn7MbSQjQip3JMjTZGUbeoKz5xqkBftSZZPc7ssVPdjKrgh6N8U1zoQDxtSo6jLarYAQahpd35SJoUKokfqf1DZgdJWZhSMqP",
|
|
28
|
+
path: "44'/0'",
|
|
29
|
+
index: 0,
|
|
30
|
+
currency: "bitcoin",
|
|
31
|
+
network: "mainnet",
|
|
32
|
+
derivationMode: DerivationModes.LEGACY,
|
|
33
|
+
}, getCryptoCurrencyById("bitcoin"))
|
|
34
|
+
.then(a => wallet.syncAccount(a))).rejects.toEqual(new Error("FAILCRYPTO"));
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
setSecp256k1Instance(defaultImpl);
|
|
38
|
+
}
|
|
39
|
+
}));
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=wallet.errorpropagation.integration.test.js.map
|