@ledgerhq/coin-bitcoin 0.4.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +20 -0
- package/.turbo/turbo-build.log +4 -0
- package/.unimportedrc.json +43 -0
- package/CHANGELOG.md +18 -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,185 @@
|
|
|
1
|
+
import { BigNumber } from "bignumber.js";
|
|
2
|
+
import type {
|
|
3
|
+
Transaction,
|
|
4
|
+
TransactionRaw,
|
|
5
|
+
FeeItems,
|
|
6
|
+
FeeItemsRaw,
|
|
7
|
+
TransactionStatusRaw,
|
|
8
|
+
TransactionStatus,
|
|
9
|
+
BitcoinAccount,
|
|
10
|
+
} from "./types";
|
|
11
|
+
import { bitcoinPickingStrategy } from "./types";
|
|
12
|
+
import { getEnv } from "@ledgerhq/live-env";
|
|
13
|
+
import {
|
|
14
|
+
formatTransactionStatusCommon,
|
|
15
|
+
fromTransactionCommonRaw,
|
|
16
|
+
fromTransactionStatusRawCommon,
|
|
17
|
+
toTransactionCommonRaw,
|
|
18
|
+
toTransactionStatusRawCommon,
|
|
19
|
+
} from "@ledgerhq/coin-framework/transaction/common";
|
|
20
|
+
import { getAccountUnit } from "@ledgerhq/coin-framework/account/index";
|
|
21
|
+
import { formatCurrencyUnit } from "@ledgerhq/coin-framework/currencies/index";
|
|
22
|
+
import type { Account } from "@ledgerhq/types-live";
|
|
23
|
+
import {
|
|
24
|
+
fromBitcoinInputRaw,
|
|
25
|
+
fromBitcoinOutputRaw,
|
|
26
|
+
toBitcoinInputRaw,
|
|
27
|
+
toBitcoinOutputRaw,
|
|
28
|
+
} from "./serialization";
|
|
29
|
+
import { formatInput, formatOutput } from "./formatters";
|
|
30
|
+
|
|
31
|
+
const fromFeeItemsRaw = (fir: FeeItemsRaw): FeeItems => ({
|
|
32
|
+
items: fir.items.map(fi => ({
|
|
33
|
+
key: fi.key,
|
|
34
|
+
speed: fi.speed,
|
|
35
|
+
feePerByte: new BigNumber(fi.feePerByte),
|
|
36
|
+
})),
|
|
37
|
+
defaultFeePerByte: new BigNumber(fir.defaultFeePerByte),
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
const toFeeItemsRaw = (fir: FeeItems): FeeItemsRaw => ({
|
|
41
|
+
items: fir.items.map(fi => ({
|
|
42
|
+
key: fi.key,
|
|
43
|
+
speed: fi.speed,
|
|
44
|
+
feePerByte: fi.feePerByte.toString(),
|
|
45
|
+
})),
|
|
46
|
+
defaultFeePerByte: fir.defaultFeePerByte.toString(),
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
export const fromTransactionRaw = (tr: TransactionRaw): Transaction => {
|
|
50
|
+
const common = fromTransactionCommonRaw(tr);
|
|
51
|
+
return {
|
|
52
|
+
...common,
|
|
53
|
+
rbf: tr.rbf,
|
|
54
|
+
utxoStrategy: tr.utxoStrategy,
|
|
55
|
+
family: tr.family,
|
|
56
|
+
feePerByte: tr.feePerByte ? new BigNumber(tr.feePerByte) : null,
|
|
57
|
+
networkInfo: tr.networkInfo && {
|
|
58
|
+
family: tr.networkInfo.family,
|
|
59
|
+
feeItems: fromFeeItemsRaw(tr.networkInfo.feeItems),
|
|
60
|
+
},
|
|
61
|
+
feesStrategy: tr.feesStrategy,
|
|
62
|
+
opReturnData: tr.opReturnData,
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export const toTransactionRaw = (t: Transaction): TransactionRaw => {
|
|
67
|
+
const common = toTransactionCommonRaw(t);
|
|
68
|
+
return {
|
|
69
|
+
...common,
|
|
70
|
+
rbf: t.rbf,
|
|
71
|
+
utxoStrategy: t.utxoStrategy,
|
|
72
|
+
family: t.family,
|
|
73
|
+
feePerByte: t.feePerByte ? t.feePerByte.toString() : null,
|
|
74
|
+
networkInfo: t.networkInfo && {
|
|
75
|
+
family: t.networkInfo.family,
|
|
76
|
+
feeItems: toFeeItemsRaw(t.networkInfo.feeItems),
|
|
77
|
+
},
|
|
78
|
+
feesStrategy: t.feesStrategy,
|
|
79
|
+
opReturnData: t.opReturnData,
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
const fromTransactionStatusRaw = (tr: TransactionStatusRaw): TransactionStatus => {
|
|
84
|
+
const common = fromTransactionStatusRawCommon(tr);
|
|
85
|
+
return {
|
|
86
|
+
...common,
|
|
87
|
+
txInputs: tr.txInputs ? tr.txInputs.map(fromBitcoinInputRaw) : undefined,
|
|
88
|
+
txOutputs: tr.txOutputs ? tr.txOutputs.map(fromBitcoinOutputRaw) : undefined,
|
|
89
|
+
opReturnData: tr.opReturnData,
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
const toTransactionStatusRaw = (t: TransactionStatus): TransactionStatusRaw => {
|
|
94
|
+
const common = toTransactionStatusRawCommon(t);
|
|
95
|
+
return {
|
|
96
|
+
...common,
|
|
97
|
+
txInputs: t.txInputs ? t.txInputs.map(toBitcoinInputRaw) : undefined,
|
|
98
|
+
txOutputs: t.txOutputs ? t.txOutputs.map(toBitcoinOutputRaw) : undefined,
|
|
99
|
+
opReturnData: t.opReturnData,
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
export const formatTransactionStatus = (
|
|
104
|
+
t: Transaction,
|
|
105
|
+
ts: TransactionStatus,
|
|
106
|
+
mainAccount: Account,
|
|
107
|
+
): string => {
|
|
108
|
+
let str = "";
|
|
109
|
+
const txInputs = ts.txInputs || [];
|
|
110
|
+
const txOutputs = ts.txOutputs || [];
|
|
111
|
+
const n = getEnv("DEBUG_UTXO_DISPLAY");
|
|
112
|
+
const displayAll = txInputs.length <= n;
|
|
113
|
+
str +=
|
|
114
|
+
`\nTX INPUTS (${txInputs.length}):\n` +
|
|
115
|
+
txInputs
|
|
116
|
+
.slice(0, displayAll ? txInputs.length : n)
|
|
117
|
+
.map(o => formatInput(mainAccount as BitcoinAccount, o))
|
|
118
|
+
.join("\n");
|
|
119
|
+
|
|
120
|
+
if (!displayAll) {
|
|
121
|
+
str += "\n...";
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
str +=
|
|
125
|
+
`\nTX OUTPUTS (${txOutputs.length}):\n` +
|
|
126
|
+
txOutputs.map(o => formatOutput(mainAccount as BitcoinAccount, o)).join("\n");
|
|
127
|
+
|
|
128
|
+
str += formatTransactionStatusCommon(t, ts, mainAccount);
|
|
129
|
+
|
|
130
|
+
return str;
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
const formatNetworkInfo = (
|
|
134
|
+
networkInfo:
|
|
135
|
+
| {
|
|
136
|
+
feeItems: FeeItems;
|
|
137
|
+
}
|
|
138
|
+
| null
|
|
139
|
+
| undefined,
|
|
140
|
+
) => {
|
|
141
|
+
if (!networkInfo) return "network info not loaded";
|
|
142
|
+
return `network fees: ${networkInfo.feeItems.items
|
|
143
|
+
.map(i => i.key + "=" + i.feePerByte.toString())
|
|
144
|
+
.join(", ")}`;
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
export const formatTransaction = (t: Transaction, account: Account): string => {
|
|
148
|
+
const n = getEnv("DEBUG_UTXO_DISPLAY");
|
|
149
|
+
const { excludeUTXOs, strategy } = t.utxoStrategy;
|
|
150
|
+
const displayAll = excludeUTXOs.length <= n;
|
|
151
|
+
return `
|
|
152
|
+
SEND ${
|
|
153
|
+
t.useAllAmount
|
|
154
|
+
? "MAX"
|
|
155
|
+
: formatCurrencyUnit(getAccountUnit(account), t.amount, {
|
|
156
|
+
showCode: true,
|
|
157
|
+
disableRounding: true,
|
|
158
|
+
})
|
|
159
|
+
}
|
|
160
|
+
TO ${t.recipient}
|
|
161
|
+
with feePerByte=${t.feePerByte ? t.feePerByte.toString() : "?"} (${formatNetworkInfo(
|
|
162
|
+
t.networkInfo,
|
|
163
|
+
)})
|
|
164
|
+
${[
|
|
165
|
+
Object.keys(bitcoinPickingStrategy).find(
|
|
166
|
+
k => bitcoinPickingStrategy[k as keyof typeof bitcoinPickingStrategy] === strategy,
|
|
167
|
+
),
|
|
168
|
+
"pick-unconfirmed",
|
|
169
|
+
t.rbf && "RBF-enabled",
|
|
170
|
+
]
|
|
171
|
+
.filter(Boolean)
|
|
172
|
+
.join(" ")}${excludeUTXOs
|
|
173
|
+
.slice(0, displayAll ? excludeUTXOs.length : n)
|
|
174
|
+
.map(utxo => `\nexclude ${utxo.hash} @${utxo.outputIndex}`)
|
|
175
|
+
.join("")}`;
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
export default {
|
|
179
|
+
fromTransactionRaw,
|
|
180
|
+
toTransactionRaw,
|
|
181
|
+
formatTransaction,
|
|
182
|
+
formatTransactionStatus,
|
|
183
|
+
fromTransactionStatusRaw,
|
|
184
|
+
toTransactionStatusRaw,
|
|
185
|
+
};
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import type { BigNumber } from "bignumber.js";
|
|
2
|
+
import type { Account as WalletAccount, SerializedAccount as WalletAccountRaw } from "./wallet-btc";
|
|
3
|
+
import {
|
|
4
|
+
Account,
|
|
5
|
+
AccountRaw,
|
|
6
|
+
TransactionCommon,
|
|
7
|
+
TransactionCommonRaw,
|
|
8
|
+
TransactionStatusCommon,
|
|
9
|
+
TransactionStatusCommonRaw,
|
|
10
|
+
} from "@ledgerhq/types-live";
|
|
11
|
+
|
|
12
|
+
export type BitcoinInput = {
|
|
13
|
+
address: string | null | undefined;
|
|
14
|
+
value: BigNumber | null | undefined;
|
|
15
|
+
previousTxHash: string | null | undefined;
|
|
16
|
+
previousOutputIndex: number;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export type BitcoinInputRaw = [
|
|
20
|
+
string | null | undefined,
|
|
21
|
+
string | null | undefined,
|
|
22
|
+
string | null | undefined,
|
|
23
|
+
number,
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
export type BitcoinOutput = {
|
|
27
|
+
hash: string;
|
|
28
|
+
outputIndex: number;
|
|
29
|
+
blockHeight: number | null | undefined;
|
|
30
|
+
address: string | null | undefined;
|
|
31
|
+
value: BigNumber;
|
|
32
|
+
rbf: boolean;
|
|
33
|
+
isChange: boolean;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export type BitcoinOutputRaw = [
|
|
37
|
+
string,
|
|
38
|
+
number,
|
|
39
|
+
number | null | undefined,
|
|
40
|
+
string | null | undefined,
|
|
41
|
+
string,
|
|
42
|
+
number, // rbf 0/1 for compression
|
|
43
|
+
number,
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
export type BitcoinResources = {
|
|
47
|
+
utxos: BitcoinOutput[];
|
|
48
|
+
walletAccount?: WalletAccount;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export type BitcoinResourcesRaw = {
|
|
52
|
+
utxos: BitcoinOutputRaw[];
|
|
53
|
+
walletAccount?: WalletAccountRaw;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const initialBitcoinResourcesValue = {
|
|
57
|
+
utxos: [],
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export const BitcoinLikeFeePolicy = Object.freeze({
|
|
61
|
+
PER_BYTE: "PER_BYTE",
|
|
62
|
+
PER_KBYTE: "PER_KBYTE",
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
export const BitcoinLikeSigHashType = Object.freeze({
|
|
66
|
+
SIGHASH_ALL: 0x01,
|
|
67
|
+
SIGHASH_NONE: 0x02,
|
|
68
|
+
SIGHASH_SINGLE: 0x03,
|
|
69
|
+
SIGHASH_FORKID: 0x40,
|
|
70
|
+
SIGHASH_ANYONECANPAY: 0x80,
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
export type BitcoinLikeNetworkParameters = {
|
|
74
|
+
// Name of the network.
|
|
75
|
+
identifier: string;
|
|
76
|
+
// Version of the Pay To Public Hash standard.
|
|
77
|
+
P2PKHVersion: Buffer;
|
|
78
|
+
// Version of the Pay To Script Hash standard.
|
|
79
|
+
P2SHVersion: Buffer;
|
|
80
|
+
// Version of the Extended Public Key standard.
|
|
81
|
+
xpubVersion: Buffer;
|
|
82
|
+
// Policy to use when expressing fee amount, values in BitcoinLikeFeePolicy
|
|
83
|
+
feePolicy: string;
|
|
84
|
+
// Minimal amount a UTXO should have before being considered BTC dust.
|
|
85
|
+
dustAmount: BigNumber;
|
|
86
|
+
// Constant prefix to prepend all signature messages.
|
|
87
|
+
messagePrefix: string;
|
|
88
|
+
// Are transactions encoded with timestamp?
|
|
89
|
+
usesTimestampedTransaction: boolean;
|
|
90
|
+
// Delay applied to all timestamps. Used to debounce transactions.
|
|
91
|
+
timestampDelay: BigNumber;
|
|
92
|
+
// Bitcoin signature flag indicating what part of a transaction a signature signs, values in BitcoinLikeSigHashType
|
|
93
|
+
sigHash: number;
|
|
94
|
+
// Addition BIPs enabled for this network.
|
|
95
|
+
additionalBIPs: string[];
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
export type FeeItem = {
|
|
99
|
+
key: string;
|
|
100
|
+
speed: string;
|
|
101
|
+
feePerByte: BigNumber;
|
|
102
|
+
};
|
|
103
|
+
export type FeeItems = {
|
|
104
|
+
items: FeeItem[];
|
|
105
|
+
defaultFeePerByte: BigNumber;
|
|
106
|
+
};
|
|
107
|
+
export type FeeItemRaw = {
|
|
108
|
+
key: string;
|
|
109
|
+
speed: string;
|
|
110
|
+
feePerByte: string;
|
|
111
|
+
};
|
|
112
|
+
export type FeeItemsRaw = {
|
|
113
|
+
items: FeeItemRaw[];
|
|
114
|
+
defaultFeePerByte: string;
|
|
115
|
+
};
|
|
116
|
+
export type NetworkInfo = {
|
|
117
|
+
family: "bitcoin";
|
|
118
|
+
feeItems: FeeItems;
|
|
119
|
+
};
|
|
120
|
+
export type NetworkInfoRaw = {
|
|
121
|
+
family: "bitcoin";
|
|
122
|
+
feeItems: FeeItemsRaw;
|
|
123
|
+
};
|
|
124
|
+
export const bitcoinPickingStrategy = {
|
|
125
|
+
DEEP_OUTPUTS_FIRST: 0,
|
|
126
|
+
OPTIMIZE_SIZE: 1,
|
|
127
|
+
MERGE_OUTPUTS: 2,
|
|
128
|
+
};
|
|
129
|
+
export type BitcoinPickingStrategy =
|
|
130
|
+
(typeof bitcoinPickingStrategy)[keyof typeof bitcoinPickingStrategy];
|
|
131
|
+
|
|
132
|
+
export type UtxoStrategy = {
|
|
133
|
+
strategy: BitcoinPickingStrategy;
|
|
134
|
+
excludeUTXOs: Array<{
|
|
135
|
+
hash: string;
|
|
136
|
+
outputIndex: number;
|
|
137
|
+
}>;
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
export type Transaction = TransactionCommon & {
|
|
141
|
+
family: "bitcoin";
|
|
142
|
+
utxoStrategy: UtxoStrategy;
|
|
143
|
+
rbf: boolean;
|
|
144
|
+
feePerByte: BigNumber | null | undefined;
|
|
145
|
+
networkInfo: NetworkInfo | null | undefined;
|
|
146
|
+
opReturnData?: Buffer;
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
export type TransactionRaw = TransactionCommonRaw & {
|
|
150
|
+
family: "bitcoin";
|
|
151
|
+
utxoStrategy: UtxoStrategy;
|
|
152
|
+
rbf: boolean;
|
|
153
|
+
feePerByte: string | null | undefined;
|
|
154
|
+
networkInfo: NetworkInfoRaw | null | undefined;
|
|
155
|
+
opReturnData?: Buffer;
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
export type TransactionStatus = TransactionStatusCommon & {
|
|
159
|
+
txInputs?: BitcoinInput[];
|
|
160
|
+
txOutputs?: BitcoinOutput[];
|
|
161
|
+
opReturnData?: string;
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
export type TransactionStatusRaw = TransactionStatusCommonRaw & {
|
|
165
|
+
txInputs?: BitcoinInputRaw[];
|
|
166
|
+
txOutputs?: BitcoinOutputRaw[];
|
|
167
|
+
opReturnData?: string;
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
export type BitcoinAccount = Account & { bitcoinResources: BitcoinResources };
|
|
171
|
+
|
|
172
|
+
export type BitcoinAccountRaw = AccountRaw & {
|
|
173
|
+
bitcoinResources: BitcoinResourcesRaw;
|
|
174
|
+
};
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import { Currency } from "../crypto/types";
|
|
2
|
+
import cryptoFactory from "../crypto/factory";
|
|
3
|
+
import { DerivationModes } from "../";
|
|
4
|
+
|
|
5
|
+
describe("Unit tests for various bitcoin functions", () => {
|
|
6
|
+
function testAddresses(addresses: string[][], currency: Currency) {
|
|
7
|
+
const bitcoin = cryptoFactory(currency);
|
|
8
|
+
addresses.forEach((pair: string[]) => {
|
|
9
|
+
const result = bitcoin.toOutputScript(pair[0]);
|
|
10
|
+
const actual = result.toString("hex");
|
|
11
|
+
expect(actual).toEqual(pair[1]);
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
it("Test toOutputScript", () => {
|
|
16
|
+
// Test vectors from BIP350
|
|
17
|
+
const mainnetAddrs = [
|
|
18
|
+
[
|
|
19
|
+
"BC1QW508D6QEJXTDG4Y5R3ZARVARY0C5XW7KV8F3T4",
|
|
20
|
+
"0014751e76e8199196d454941c45d1b3a323f1433bd6",
|
|
21
|
+
],
|
|
22
|
+
[
|
|
23
|
+
"bc1pw508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7kt5nd6y",
|
|
24
|
+
"5128751e76e8199196d454941c45d1b3a323f1433bd6751e76e8199196d454941c45d1b3a323f1433bd6",
|
|
25
|
+
],
|
|
26
|
+
["BC1SW50QGDZ25J", "6002751e"],
|
|
27
|
+
["bc1zw508d6qejxtdg4y5r3zarvaryvaxxpcs", "5210751e76e8199196d454941c45d1b3a323"],
|
|
28
|
+
[
|
|
29
|
+
"bc1p0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7vqzk5jj0",
|
|
30
|
+
"512079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
|
|
31
|
+
],
|
|
32
|
+
];
|
|
33
|
+
testAddresses(mainnetAddrs, "bitcoin");
|
|
34
|
+
const testnetAddrs = [
|
|
35
|
+
[
|
|
36
|
+
"tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sl5k7",
|
|
37
|
+
"00201863143c14c5166804bd19203356da136c985678cd4d27a1b8c6329604903262",
|
|
38
|
+
],
|
|
39
|
+
[
|
|
40
|
+
"tb1qqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesrxh6hy",
|
|
41
|
+
"0020000000c4a5cad46221b2a187905e5266362b99d5e91c6ce24d165dab93e86433",
|
|
42
|
+
],
|
|
43
|
+
[
|
|
44
|
+
"tb1pqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesf3hn0c",
|
|
45
|
+
"5120000000c4a5cad46221b2a187905e5266362b99d5e91c6ce24d165dab93e86433",
|
|
46
|
+
],
|
|
47
|
+
];
|
|
48
|
+
testAddresses(testnetAddrs, "bitcoin_testnet");
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
it("toOutputScript p2sh and p2pkh work as expected", () => {
|
|
52
|
+
const p2pkh = [
|
|
53
|
+
["13wuYubzsKiGHm6su5BJQ1PdWUitkJV3kE", "76a91420529483bd2a346c0e09b032b7a31a574f2a0d5688ac"],
|
|
54
|
+
];
|
|
55
|
+
testAddresses(p2pkh, "bitcoin");
|
|
56
|
+
const p2sh = [
|
|
57
|
+
["3P2B3M3R33mAYX3o2ic7PdT4MM6McL2anh", "a914e9fa27cc45abc468e59bb54c66143099dbe4d3cf87"],
|
|
58
|
+
];
|
|
59
|
+
testAddresses(p2sh, "bitcoin");
|
|
60
|
+
const p2pkhTestnet = [
|
|
61
|
+
["mxVFsFW5N4mu1HPkxPttorvocvzeZ7KZyk", "76a914ba27f99e007c7f605a8305e318c1abde3cd220ac88ac"],
|
|
62
|
+
];
|
|
63
|
+
testAddresses(p2pkhTestnet, "bitcoin_testnet");
|
|
64
|
+
const p2shTestnet = [
|
|
65
|
+
["2Mwp1inKcSNWSmai2giKV4YBvYiA3253cky", "a9143213fd5b1fa0d58e0a9be31fd5095a749c186aa787"],
|
|
66
|
+
];
|
|
67
|
+
testAddresses(p2shTestnet, "bitcoin_testnet");
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
it("Test taproot address generation", async () => {
|
|
71
|
+
const bitcoin = cryptoFactory("bitcoin_testnet");
|
|
72
|
+
// Test data taken from project app-bitcoin-new, file test_get_wallet_address.py
|
|
73
|
+
// Also generated using eg
|
|
74
|
+
/*
|
|
75
|
+
./bitcoin-cli deriveaddresses "tr([f5acc2fd/86'/0']tpubDDKYE6BREvDsSWMazgHoyQWiJwYaDDYPbCFjYxN3HFXJP5fokeiK4hwK5tTLBNEDBwrDXn8cQ4v9b2xdW62Xr5yxoQdMu1v6c7UDXYVH27U/0/*)#yxzagv5q" 100
|
|
76
|
+
|
|
77
|
+
./bitcoin-cli deriveaddresses "tr([f5acc2fd/86'/0']tpubDDKYE6BREvDsSWMazgHoyQWiJwYaDDYPbCFjYxN3HFXJP5fokeiK4hwK5tTLBNEDBwrDXn8cQ4v9b2xdW62Xr5yxoQdMu1v6c7UDXYVH27U/1/*)#4j8u4eyc" 100
|
|
78
|
+
*/
|
|
79
|
+
const extAddrs = [
|
|
80
|
+
"tb1pws8wvnj99ca6acf8kq7pjk7vyxknah0d9mexckh5s0vu2ccy68js9am6u7",
|
|
81
|
+
"tb1p6evrfq0pnz2wvvptph8zvrye20aad8jlsmh2rr02rqgn9skm4hmqks9rnm",
|
|
82
|
+
"tb1pg9rpfzdy8jm8utry7w2zwfuwm5cvq0tdw2jt3xvxz37y9rcvchcs5s74m8",
|
|
83
|
+
"tb1pa0f2erxvuzxmgylz6wharcyruz8ajvv9xpr493uvsa23jcy8h5msdxzr9p",
|
|
84
|
+
"tb1pdpyep8pzmyju92akjhq5qcskhmf066z82fxuvsm576lt90c4nplsacnv8l",
|
|
85
|
+
"tb1pn6sudpw5rrcnsgxffuxdejdmjt8ynhw3rz3tp4s6pvkaptcruuhq0xdjuc",
|
|
86
|
+
"tb1phxygx7zz7eem5j6hsdqryqtw4wxng0dg43cw6fa2nylekn0nue4qtw8k2x",
|
|
87
|
+
"tb1pv7ky89tzcusgc9af3fhcst92a59aydkguz5knh7gstzxpflfxhusgsms8x",
|
|
88
|
+
"tb1pvvphx9fqd2dlxhz20uz7uz0vpv6fduzqtvje0tx8hlwe5w5e3mrqsxawpl",
|
|
89
|
+
"tb1psl7eyk2jyjzq6evqvan854fts7a5j65rth25yqahkd2a765yvj0qggs5ne",
|
|
90
|
+
"tb1p6ptcjrr5v7syesfmf3a2pzjdh9tkhuce23s4kcjmqajf5w6h2r2qjsmkvh",
|
|
91
|
+
"tb1pjfqqhlldx3fw0y986us2eks6q8tlpytryaelt42vakjvauuqwcgq32z5he",
|
|
92
|
+
"tb1pkzphc0kn00rj6s4hfv3k43n6cj6ypy02zxa5yx7vn9v72qqyvpcq0zspxt",
|
|
93
|
+
"tb1p9jss55qeaye4umrr80as6mxjsqnjrjh097e0skmwnlgmpqu63hqsf9z2w6",
|
|
94
|
+
"tb1pgn2tff325nf8v7wdn90acg5stlfw9qus3r43ycswm3uetlxhlncqkun2v8",
|
|
95
|
+
"tb1p0v0ycmd0lpjppvfgyv57m07czs0l20c2vzw9rm48uag2flrz8z2qyhl9um",
|
|
96
|
+
"tb1pcf9ea0z3heqhr80e6sdc6fmj9adkcx0whn3fhwxr05d2suhutuhs3lc9z4",
|
|
97
|
+
"tb1pws4jqxg9493jv9vxzuf82gafgghg8kvdjp9ny3unh6ztxxm2x27sqsv5la",
|
|
98
|
+
"tb1phfrptqlqg9xuyvq74e7427gljltpug9mrujalpgptlu2mxvug2jqzuvces",
|
|
99
|
+
"tb1pk5q2lmkx5yg63dnnvphckhfxrms89mgq5znx4lc7dxzrym62d45sfmpyq5",
|
|
100
|
+
"tb1pm89axrmkavrdrwgr3dec0q02wsfjdw49envd54j6xh96nylde2vs2hjuan",
|
|
101
|
+
"tb1pfzxjjry8ew2e9pq75tawfp8ge8kdrucnzng97d5whcrlah7p5qdsp0y9r0",
|
|
102
|
+
"tb1prfmk8d8s80l638jsnyz6fv086yhm47mrape0tdxcepafjke2un8qe5zzgt",
|
|
103
|
+
"tb1p96s969w6va6tyacdkn7c8smcyt7kknhe766dkapvwndgv46m0ryqcqhwlt",
|
|
104
|
+
"tb1p26svm5hxxlgk70262m7wesp25fhxlayxsczf2xlmk62zvnh07l9q40cjf2",
|
|
105
|
+
"tb1p74qt90u94gh4qrtc8akhwa39wm3puavez7plpa83ydes0nw3cfcqqvv0zy",
|
|
106
|
+
"tb1pcsmgradg83ycfhtaw8ytu5j42ugxwkqu7te70m2mf5nmkzuxzkgqmkk4n8",
|
|
107
|
+
"tb1pzm29st5rptvca0j29zv8wxjxpy3md07lwl4zkx34v2fjxx82garq8sm93u",
|
|
108
|
+
"tb1p3yt8kq90562hgw0lyu79w9npvmuzayclzkeekkttdy8xhxwlputqww5m6t",
|
|
109
|
+
"tb1pu7u7lp5563a3uw9pzk0q6gxuc89rq5xplvk852g0alngxjqqk9us4q8mr9",
|
|
110
|
+
"tb1p0regqzle3wje3jmnwv97xu0mppvylmvdgjjqen99lsz7pdzjkzjqeytsuj",
|
|
111
|
+
"tb1pag2ff7v4y3tsu0dppvgsh64ygsz9mfnrn9k28a4e3xpsg2h92r4s53uahr",
|
|
112
|
+
"tb1p3l9xyxhzwaluq6kazykdvyu5dewchn5uhvm94ld4g63u8k8v6jnstreefe",
|
|
113
|
+
"tb1pc0cm88syurcetq9a03x444jluvqt3p04k63a9dg5x8qr7zt67n5su7r69e",
|
|
114
|
+
"tb1p670tr422dlqrzd95l5g7snluqcz7yhcj5eexsu5ytj9p0dsm2zusw9walg",
|
|
115
|
+
"tb1pg3w982r5dxk3z9j3fd74ghan0fe3l3pmhrfz04cplgeqjsmusqssy0t8pg",
|
|
116
|
+
"tb1pk579d9sju7t3lzmeeacmd2y0h6dyfnzx8yzjcgz02z2ug79g8rtspzp6lu",
|
|
117
|
+
"tb1pdx7tlgw3xezre2wya9hdkdwg34asnpx7l8q6axgrkepec3xqangqfafpu6",
|
|
118
|
+
"tb1p6kw4kvv4y4ewmlv7rcecjf3t7vaajfwyvt0mjnxc9k0wrm4hak7svdazyn",
|
|
119
|
+
"tb1pfrf7hc5090lxs5wftvlqwnh2n3dptht496s9nf5lxyzfm9jh4rxq7zuq6s",
|
|
120
|
+
"tb1pvntx8aqka0wsj03th4v7mfkukr97hrwv2vm5whewrzdl85p76dgq5urgxd",
|
|
121
|
+
"tb1p9rlpyvp7jr6fu2m30749p9zfmatcs3prcce98ze0xj8nge2y273qs28taq",
|
|
122
|
+
"tb1ph7wwpv4cenjcm5v0d4qfwm5tustt98cs65yktn6mt656zuzkg99q0alw60",
|
|
123
|
+
"tb1p8xqu9kwv70cx483tjz4prkmt2f2ttrrske0f5eh846zjtgdvgv9q4awkpe",
|
|
124
|
+
"tb1pmaw63647yxcr6as6yy7e8xe0srqulp9zsfxavhc56rnjqt3pfsqqr3snjy",
|
|
125
|
+
"tb1pxyrgvxqywvl6w4qywzw0ztrjhs70ayclxtsnvfc0jn34dfml2tlq5jpz6s",
|
|
126
|
+
"tb1p9tpxms5wrwu2lhenl0kyw3nrnx908rdk8fzfy706kgc3ut45ljpqmpy4er",
|
|
127
|
+
"tb1pmx2x2mrty20yf8vwzldt0ce5xwlqddvxqhct6dlqwuhlxjrjcfrs7y3wat",
|
|
128
|
+
"tb1pkp0tkca5xyw5093junxh9dcd0gaphuu8f0h05nfuhravgx632n5s52z2l6",
|
|
129
|
+
"tb1p52533vctsuzj3zunmkgf8ndwu4gszzyyryd2e4j3w4nt57z0sw4q353j9e",
|
|
130
|
+
"tb1pw8r4gd5lxuq3gyv9ny6m3j9qud7wjpa2n6796mhuth2repze89wstnu6d8",
|
|
131
|
+
"tb1p002vjzaa5w7yu4lw723krvzpjlpppukz8c4tckhwuks294rd6xcqt4f6su",
|
|
132
|
+
"tb1pgs368krt66atx3mf43xt34d60gqng8hatlpjvps322synq0cx4aqtvp6a6",
|
|
133
|
+
"tb1pqqu8w9fmnwjln2r6pe7ymfrdam80esgrtek0fj6lecefhs8ec4xqwv7g6n",
|
|
134
|
+
"tb1pchkagrq5pxvyu80z0dgvcjjxjdlguaacazlkt94prrwnarkwxp8sn77mwd",
|
|
135
|
+
"tb1pjmh6tz84gtzcla45mmyhjpxxx2n06saqdqtglcn8qwutrn27gcqsnk7j4c",
|
|
136
|
+
"tb1ptv5748jm7c8as97fz92sh70zrtvkm23jymju6876lw59q96eug4sdlje9c",
|
|
137
|
+
"tb1p0z5cq3hruv5czy6f4975l23sfgq89cg6naqfm47ampx22qf2lfgst6vwuw",
|
|
138
|
+
"tb1pycfr2vrh6v9mv8zg9jju54gvwgyxlj3ugkmtla6e6gx7enx76q2su333az",
|
|
139
|
+
"tb1pmezqm95ptnrc8w2mptfn3ewwy20wepy46qkdgp4eyu96yq8f9xpsztqd43",
|
|
140
|
+
"tb1p8mcetejfhvzdtvqlqyra6sgtt7v7t2syuv4us5f43f3nc6fjcq2qkplaan",
|
|
141
|
+
"tb1p2ppj5qeu6g2tc6xznqfdy6k08pcys939c2me3hdvslvq3uzd73fsdwlk90",
|
|
142
|
+
"tb1ptc6tgwjz6pek32ss4rs5mwmzjvxtr4qwfztdesgft9t05xt6awpqz9qlj6",
|
|
143
|
+
"tb1pxjzgazrfj937rzx8w8us9zv2yzy4azd6lva35ee935nezmm0jlfqh9xp9h",
|
|
144
|
+
"tb1plpm32hltxv72v770dk90az3z5nh0z83n9rcq3z2zxx6ugl2l5r0stke74q",
|
|
145
|
+
"tb1pk3mx0xvgelhxee9zqe0xgc3y088djq44stn0ff7nvsd3fs47unnsn9evl0",
|
|
146
|
+
"tb1pqvukz0uealeex6yptwrhjd05eh25wnpesatzm0uh0v0dk72p6dsq0j2taf",
|
|
147
|
+
"tb1ph6ld9zw5qm5jd0j2mq98ye4kmehtppxt699dcdwf8d7m56jr6x3sy87swd",
|
|
148
|
+
"tb1p9dpq4tq7et38p2phx8sx9yq6ph5wvpa820ux7nz4pnsmh8s3q6jq75nxj8",
|
|
149
|
+
"tb1pcr3kvvgttqefja9s3nmz08kt5yestemklxq5gcx3pcjdg52ag9js7weeat",
|
|
150
|
+
"tb1pntlx8xaute386qj29335g3ejk7us0wps6hwm9q4llglf30r3xr8sjcgk0r",
|
|
151
|
+
"tb1pvx09nw9c3wgc43358ywf9snlyagq2gs9jdtl4rdtpdsjfeunkjjsx6p5q7",
|
|
152
|
+
"tb1pfg56c8sklqsa47n7jz5ax0n7yag6hswez4feu0e6p9fwxhm4rars3zkggu",
|
|
153
|
+
"tb1ppuzvyccqc7g0hwss4ysy2s32ghf08rsmmv53e0zlnhqnt0a274vqlplsec",
|
|
154
|
+
"tb1phaj79k3d6n7nn2xdp9mzmepmvzdau5g80yae2k6r5ennt8lvjmesf9jg25",
|
|
155
|
+
"tb1ppv02nvaxsfx2xezjetvun0d4ln5gzjp9jqn9y3ra36xckpmagucqdmy7dd",
|
|
156
|
+
"tb1p5y0jpagzlpk8dws8r6fr3g30vw29yfsjvf3d0ekramary86mcncqcjvtgl",
|
|
157
|
+
"tb1p729ddk75k7un569syuk7h5yc0duwu5qam8x0hry0dp8ex4j6lkpqcr6vy3",
|
|
158
|
+
"tb1puugaqfwfqkht9xtf65dknr9fngr4txcwmzf2fc9qu3efm4y6704sunqw7a",
|
|
159
|
+
"tb1pl02asw8ty29lr3c3qspndveel67lfrcuvjmhhs99u0w9hmpx47fqgevt4c",
|
|
160
|
+
"tb1pdkngmxw7nj0scm9xjc4zlrgs49wnksxcp5436749r03ytaywf6nqzy2dqf",
|
|
161
|
+
"tb1p637rjuhm6wm68ntkjqstc272qr54w8j4frd68nafsmqa82jyyn0qxd49ec",
|
|
162
|
+
"tb1p2sy9rd6hjapxnjhxf308mc9qxhd30d57ed86urwy9tl07tq6pg4qdrqqcj",
|
|
163
|
+
"tb1ptp9t0yvq0n92d4rrzspad8xgmlthvwmwtdde93hhsdk30852rzhq35hu5m",
|
|
164
|
+
"tb1p7khtjvv20tuuqgcfwfy8g54mzua0x3y226ffckrnzd8fw2wast0qp2q929",
|
|
165
|
+
"tb1pgmtspr3e35kmjpg0q6xlvq62z2kw4r3uk9q6hnrwcrh5d5jrr2asg2nun3",
|
|
166
|
+
"tb1p457gkz0ydrjhxhu6cggdzxvus5zsk34j45h2kmuckzuk34ym76ysx494w2",
|
|
167
|
+
"tb1pwrke7rqpjjudngkzg3m2ftye30dcutag3004c20q7v9ec9wc6pmq90hq2a",
|
|
168
|
+
"tb1pkpcmehtanm3ca9tvgwfvvs84h3nl5tl06qlmstdpydlv9z8h2fus6ndhn6",
|
|
169
|
+
"tb1p83q042va5elkgq5t7hlnpqrqxppn85c84qlaktddnmpw2vdchhls9urajy",
|
|
170
|
+
"tb1pazqrunrd5nks3mxn4ag8wzlzup9kc6rnqf3jm4x33khe9hmqlh6qgvyt8f",
|
|
171
|
+
"tb1p3l2hgvv3dv2h2g9g5ujha7xx7f69nswkq84d8cvjuphwefl453gqmx0n2e",
|
|
172
|
+
"tb1pqn4naaat0a8qzdlz5qcf2t676kmm2cnxrua80rw6gt98zz6n32wsf8dvnu",
|
|
173
|
+
"tb1pjakfp9gwawgk6ruelrmm7vf54e03e85na2d7667ysd8x7scsuwgqgmhpns",
|
|
174
|
+
"tb1ph7hy40mccrgc7l2kxk0mjq8zxsrlyhzxyxjly4e6xnm0jyhlkj8sxttv2l",
|
|
175
|
+
"tb1ppx3hfa0pwtvjcsrn8huflrdaygza4dk9tp34wjcdlvx0rk3lup0qtp7lra",
|
|
176
|
+
"tb1pxhlh25u7xjs64n605qka7y7scfduy0mlmq23mghl2uggmknmg0tsmjteup",
|
|
177
|
+
"tb1p6k25sjnpy45hz28z2r83e4s7wltvrwzs2pvzmkjkmnve07es344s5xkw6j",
|
|
178
|
+
"tb1pv59ynddpeapvkaehf5mgj5vdduwk0y00xgg9wwjj2dpz56sedzjqyryarz",
|
|
179
|
+
"tb1pmhgk6pkng5hmmlug9xvmh4yahrha8ghqn99m2ghzy73s7ar9h56shl0zxm",
|
|
180
|
+
"tb1pk9xj7e3ywvjfpdgr6xdx0ek5tacn3a0eeqdtctx4j83zcfhe5ndqy4fgjt",
|
|
181
|
+
];
|
|
182
|
+
|
|
183
|
+
const changeAddrs = [
|
|
184
|
+
"tb1pmr60r5vfjmdkrwcu4a2z8h39mzs7a6wf2rfhuml6qgcp940x9cxs7t9pdy",
|
|
185
|
+
"tb1p4xh0qhs7zmgv03krhwcfq53f3973sz07qv8a57taplz4zxxgf26qs82js6",
|
|
186
|
+
"tb1ppw88fp4uxp4q4mah5lqq4uzq24pdkxkdw0hve2p8w8x0tlj7kc8sx2ph6j",
|
|
187
|
+
"tb1p3xgy5c6g6lle53x5nkutd2q8cc3ws6pkf328mfpx7v945csnrp4qqmlew6",
|
|
188
|
+
"tb1pu53aqtejgsygsw83eljjj5mhs3hzta76enh7ud77f4gjx9hr9a4q4uxxx5",
|
|
189
|
+
"tb1plv44m53el0ay6y08jl8uapjp39ax8tf3jdwudwqqm5fujxx4v50qt9k9ps",
|
|
190
|
+
"tb1ppejgx4ufc03fgxhc0ltecmqx447xa26cmj587llek839mecqm53q7wxqm9",
|
|
191
|
+
"tb1pd7zeel5cy67mrfd6npy20updsj5uchdpqy7qrl5nrhmendra3w6qe68wzj",
|
|
192
|
+
"tb1pjdjhwrf2tknem5t35rt87p5sxdqgd30mjqr3k9dqna035u8m3y6q0r4dn6",
|
|
193
|
+
"tb1p98d6s9jkf0la8ras4nnm72zme5r03fexn29e3pgz4qksdy84ndpqgjak72",
|
|
194
|
+
"tb1ppwmjmny8wnffcdpa5q7lh4e75vn02v5qjt46z2x8mgll9kl40t4qpw9ppx",
|
|
195
|
+
"tb1pyvdzg5vvhmwxyx4uljg3jf6ex8a7ls58cceljlss3ggtwjd6jvms433ad3",
|
|
196
|
+
"tb1p8z8umjkzwjt2njsggzlwkcdlhuajfzj7tzvt3rcxy9w2dmpn9lhszf9ygd",
|
|
197
|
+
"tb1p0rmsxcdhte6l8k3fc72f5uw60lv4cda8sl9p89rsp9nqkdzjwetsc3a6vx",
|
|
198
|
+
"tb1pu65ggxqxcm9y3m2d6zqrasdeuwwn8j7gqkptph89eeqduzym9jyqdp3vg8",
|
|
199
|
+
"tb1pm794ga36m2av3fd77ql20qu6k057ks0rqwazns3qns26adt73yjq9247zh",
|
|
200
|
+
"tb1przxjjv7ewazmjcpfyedsmhgwr5dq3f07f300tlg538npqvqqvwssx9ev2s",
|
|
201
|
+
"tb1p0scchg00pl7yvvx23n2zc7l2l8d5l5jls4rzvj38gcfyqp4q6j7sm9hv39",
|
|
202
|
+
"tb1pu2mz7yvrpwuvvpxhdxet2lld3d9khcujh6hlz8cg9gmaymdmc0uskq5rmc",
|
|
203
|
+
"tb1p78nltexn2ypg7y722eqlazwlkydfjucszsnpld03feaz9mwe90jst650nm",
|
|
204
|
+
"tb1pw5yqrd4gffn6flfnl38yg3n5n72lql9ntmmz70znhj7guh4ycydqxnfc2q",
|
|
205
|
+
"tb1pq7svumge0ue6urxw5rfw4thpaxjxzt673wj988e2u5lmf5wjn2gscpay4j",
|
|
206
|
+
"tb1p5w5gznxq6592fkmg2chjx5a2y83t8gc7dh0xv2udlg9550dk9rvspy92hx",
|
|
207
|
+
"tb1pe9l9kfknjmxn6mru85w7ucvm9zx2v5gujmfqx9jdjtx60hdvru8qfhqesd",
|
|
208
|
+
"tb1pdxvjkynm7g9zvvcc56rqsuqxlmz7f8zh3eczz3n9x5l70e0qhdfstzr3wx",
|
|
209
|
+
"tb1p92zmv6y2enjfg66dkym4zl7t4v6sd42r89jhrf2wk4acu6rm7fhs593urh",
|
|
210
|
+
"tb1p7u5qu04pppv5lcdave9arcuuq24tazuth6gack85rf984w8d5atqcwwtva",
|
|
211
|
+
"tb1pz9qky6lwzsfkpru3sjkauj2hz04hrv0um0s5ff70v7zz6epp3whq00fhxw",
|
|
212
|
+
"tb1pe25mj599lzq4jtpf4jkrtuxwt6j50jx0ta0yftye5e5ykjuldctq75sxew",
|
|
213
|
+
"tb1pjvjmkpw6207stqsffaj2fws246a37lnq5f5a8p2rxqtx7uewygaqkckzpd",
|
|
214
|
+
"tb1p6qkvgsy6675fn6hksv4mfjna2dzwv0vkfvx50qx2y2f5kuvdv9xsjsc3a8",
|
|
215
|
+
"tb1paqu88uskqz54rqcq5c27e3hfjxe78htqxhep8ja8wqem5fq5zaqs92m52t",
|
|
216
|
+
"tb1p4w7556c7x0ufssctzuwqdkzta7u4dm6ep3mtf36gn32yh9k6zdaqrxg7jc",
|
|
217
|
+
"tb1pwadsxxxfanl0kp2uul54kqc4trdvxukqdmam6pg924aczuv9ru0srqrdku",
|
|
218
|
+
"tb1ptpgdss5t8k2crev7m9jtk7cjykfg4kg8qqavq825cql5dn4ytvjs9rrfst",
|
|
219
|
+
"tb1p70wtc04xmwlyfkauave3wwuzudnt4r5gjad8lacdw88skamnwq7s576lxw",
|
|
220
|
+
"tb1pjsfs0lcn8zfg95f7qky4p2ata42txulmjd3sqajr3g5z2z2gvncqwzxt5g",
|
|
221
|
+
"tb1pkz3uql3z2m9n407hnh6neh9cnwa02l4hrc4gvt7nj0tcw3yupr7s4l9655",
|
|
222
|
+
"tb1pvq895aatatmw37m947h2p5j9wrsu8h8ec5u34shyzf872gnv93rszp52hp",
|
|
223
|
+
"tb1ph266tv2hq94lucaghrxcx6dgjsxvxlmqysv6av45txldsgj5ec8q4vyy9h",
|
|
224
|
+
"tb1pds0c2n9mpkggrgkww73pu2w5zwuwrgec9s934k4j8dzfqva98qrqu33vdc",
|
|
225
|
+
"tb1pwlsrcadnxkqfxtgfhn2yz26aelmkl008404qvn6xekcfyplx4alq27gsly",
|
|
226
|
+
"tb1pvvrak3lmnhpcxx3j6r3tx5m83mfheyvvactj2xcqfpj5dqr86trs0s4zh4",
|
|
227
|
+
"tb1p385h32q7fs9tvh35cstapywxhnh7vtt8pfyx8dafwtscv3hyl6uqkvr355",
|
|
228
|
+
"tb1pk2k0tmsx66xe2acnaqnpk8y6ghe9ay4ac72k3rc2m27yr3cnl8hq955frr",
|
|
229
|
+
"tb1p87wmvhe8uz4uajtus5wdaaqlxzhdglf0npjkvc2dyuvrny93mnnq6538rn",
|
|
230
|
+
"tb1p60mdmqzjw8uv9gtzvc2qghgmpqu3uwrfhg4efzck0fea7fevvgqqfsflld",
|
|
231
|
+
"tb1pnz80qj62lx2jfg7npw58n6ajdn8w9yj3egw0yqmln44aspfkrktswf5487",
|
|
232
|
+
"tb1pvjjq4gfy5fhp4x4y29sv35mdp4z76l8qeheda39jw7kk7fgpze5svvvqvw",
|
|
233
|
+
"tb1p0dr02a5d7glfeca5cxpkya5xvzdjpp29sm9v4q3xed8z2vlkx98s806sxk",
|
|
234
|
+
"tb1p70hv7d2xrsa6mnt5emw7eh4k9c26vnnltff53uwyyz2h4fgwqsmqeyggvx",
|
|
235
|
+
"tb1px3r0c7adqw932x474exy5p3xcqt9xlxk6f4507sf9v3l7lgkk0kq4h2ht9",
|
|
236
|
+
"tb1px43lfqm3m2u5g3fsyklazmvu93ur23phmxm0zsdtyxgenequ7c5qxzpxpq",
|
|
237
|
+
"tb1pf8casgy4kky856eldyy36lhrj6jgjw5zxv86mpuvxfrmtgd408ns6fs4wl",
|
|
238
|
+
"tb1p8v3j9cjfehxu7p2498cs02dwkqlg34nk4fnht2m28v9d93dfq8gq9x27lp",
|
|
239
|
+
"tb1p96rcqur42r2m5y826qq0p0l4knw3sgf0mvwqkss6cdpxgm8vq2zqpzchyz",
|
|
240
|
+
"tb1pk3qxzxv07q9acyg7y5j5lqqmy4rv27lw8mfgwaccf5hr3dkk7u8qjdah8z",
|
|
241
|
+
"tb1pqrnrlaaapdyn0k3vg0xcry85wt3fuempnpw3fd56yapsjaf3pn3stmjwds",
|
|
242
|
+
"tb1pjfaamay3f7j8lzyg4px65nhn9pv98f2nml5rsvrarzcp7aaxq0hq38yqhk",
|
|
243
|
+
"tb1pz57yt30a9373myrpnvgaxp5uatswr6smc974zyc8r7p44pf7jdcsnl86kd",
|
|
244
|
+
"tb1p3u0z5wndq8fhfr45x9etqkyrp4xj5cyuhlv9uthmy4v8cvhqqadqvfrncy",
|
|
245
|
+
"tb1pu5m7ylzz6ujr7datcst0j87hzthaetf3ppkcha5xfrf8zvty762q8aqqp6",
|
|
246
|
+
"tb1pheged3wv20h7zndpryuh2kc8urzpsrnl7p7c5u9fl0smpy528p3sp9eynr",
|
|
247
|
+
"tb1p7drkww9wlslynwrtfw3gdanrs26cww2mjfyxu8dv7mw0d8n4uj3svlr8xu",
|
|
248
|
+
"tb1p4sflk8wpgj0v6vf6wnu89g22zl9xjhv0u6pd5rt7m64jza789jqser4p9z",
|
|
249
|
+
"tb1pggvctzs2qhlqg6j5gl4jjrca7cr4jxldzwnpj62ptftx2c7yjymqedya29",
|
|
250
|
+
"tb1phx5znmhjn3z46g0n800mksw5s2kx6leups8uguwcqcqudyfy7d9qq37m7r",
|
|
251
|
+
"tb1pln84us5u4xe2670xwc3l4l4mpejfydl6arwjyqechl0e6v3jjsrsm8cfdl",
|
|
252
|
+
"tb1p8055dcyg5e6ql3j360nk33ehzgh58hl34r0nnyku5a6wqu28nkgqfegezt",
|
|
253
|
+
"tb1p7e52eaqz4h9v7999dea4st0wk3v0thlensrnj9hynh8ppe7yt95sqy3d5a",
|
|
254
|
+
"tb1pujn5wdctq80gdp28atnxneqfqj2p7a6pk040tt3vg8j69dszfk3qkp4ny7",
|
|
255
|
+
"tb1pjfgu8cw3y537lykfdtn4pdmd90xdx4lmh90wq78z4247adtc9j7s372fn7",
|
|
256
|
+
"tb1p387s9klhs9vees0246l88ktmxn5kunf8nccwzx74qqshnjsfd02qu2j32g",
|
|
257
|
+
"tb1pw6msjszjhckluqk2ypw7fy4vprjmpkhw05elgytqda7yhfuut26q62ywhd",
|
|
258
|
+
"tb1pwgpslxynjhxwgazqs298prphsfgpdslsgw2nggtl60s55n2m0mpqlnnssn",
|
|
259
|
+
"tb1p0lktg8gfdn4n2lhsgq7cmpg8d7w7y7nh037pg34ga0pv46y6fffshgr287",
|
|
260
|
+
"tb1pchdtlya5y4868fxx3tv7yzq6kewftyvytw6n3f6fdvz8z6nexjvqeqkz36",
|
|
261
|
+
"tb1p2cha976qdwvmq07kchqyswhj6pvt7qjwjc6jrvjtqlsmvm8xq07q6a2jwt",
|
|
262
|
+
"tb1p8qyezr8fntwxzn67c5u5tgwsn035sp6dtsrt9juxs0x6us4avseqdnzn5x",
|
|
263
|
+
"tb1p2d4nqw8nf6vzs47hxpxx7nacadsa6py9gapekpmfn3uk8mndczks8y6747",
|
|
264
|
+
"tb1pnyvnujkkkc9fnf30d7mt08wc498699pcm25jnwykuzsmnkhkgszssk5hye",
|
|
265
|
+
"tb1pewnt3lu3txe7p39fatdajlzpzqw877y6xyp6fx8fn2k8x72cj83s5hgted",
|
|
266
|
+
"tb1pqkmzxurj2n0xl2zfj95grdvgwzgkmfdf97m4pdr9cqqkx9fx8rhs4vqd72",
|
|
267
|
+
"tb1psu7u3hkyrtgzz4qs334602zdd4zz4u0r6zajq32scx0vshffdugqp6c7m6",
|
|
268
|
+
"tb1p6uppu0876xmukkjgza3nfgrs66m9ulvx9vs5n538shq6gdqkcdkqxhg7jt",
|
|
269
|
+
"tb1pynzqddzwzgx3059c273aw49r58k4h6nky5nz5f55h4acqp9alnaqkyd45r",
|
|
270
|
+
"tb1phgcrtu54j0jwpfvrmfzxld86jraydtgppm57atn3gflyjlqw4uwqspuuuu",
|
|
271
|
+
"tb1p59srx4xqvg5n5pf7mjt9wmuv3s8flh0k0a889j86khrjm4mvmqhqltk7e7",
|
|
272
|
+
"tb1pty3t7eajk8ekw8fkv83flh5jhz00mxua25cqa3ynxwp2nz0hjtgq26em7r",
|
|
273
|
+
"tb1psm2hknqsxupjulanrcstnr0sddt037czkg0qenkpnelrjkj2yhuq9ww54h",
|
|
274
|
+
"tb1ppc6vncx3ug2u6ua79svvqtn0klxv2lt2aeg3jslr092mrhmgaykspq2dxg",
|
|
275
|
+
"tb1ptkdaxzj2ezgqc2n4lg7j77re8u090fgf6fpkkphy0j754cnuy7zqagvmnu",
|
|
276
|
+
"tb1pexy6juy5d0gevf0gnf2dtuzl62fnw7fpktce8n6ds3kc6g95mgfsg2hkf5",
|
|
277
|
+
"tb1pul2cjczswdpez866k9uddkc6p2u4g6qzfgj248a2nuhzuh3dctms9r0x3m",
|
|
278
|
+
"tb1p46xhkqlrh9dh3f09yckjfp3y4wflvf0smm832jnfe3w33rezvraq7xu6ew",
|
|
279
|
+
"tb1pd7969v7vcwpa97s86cfgs5eqwhqn0m8s8qt2r32g7hnktsxcmdwsqkd7vs",
|
|
280
|
+
"tb1pedur2zp3xhllcpsx8kavrxdg4emwayvngqeg8ffq3w3ec73tqrcqt8pj2k",
|
|
281
|
+
"tb1p3272tayue3s46qt2fpl7972wlvlaussesj0gmn4q863u2fadkgzsphclqa",
|
|
282
|
+
"tb1p4zypzsqgdq4hj3029aqhqu95gz9mrrw7l3t7udp9fappqtfwjgfq3km29m",
|
|
283
|
+
"tb1pkhlmr4xz5w8x8py8x7670zp9lzykhepw74jltvpleff3qpxc3m2sgsmgnu",
|
|
284
|
+
"tb1ptp5mua0w462ahk56y8uvqgkv3pxk44dz67vjtax4jnu4ajm8ykgqd80ndj",
|
|
285
|
+
];
|
|
286
|
+
const xpub =
|
|
287
|
+
"tpubDDKYE6BREvDsSWMazgHoyQWiJwYaDDYPbCFjYxN3HFXJP5fokeiK4hwK5tTLBNEDBwrDXn8cQ4v9b2xdW62Xr5yxoQdMu1v6c7UDXYVH27U";
|
|
288
|
+
extAddrs.forEach(async (expected, index) => {
|
|
289
|
+
expect(await bitcoin.getAddress(DerivationModes.TAPROOT, xpub, 0, index)).toEqual(expected);
|
|
290
|
+
});
|
|
291
|
+
changeAddrs.forEach(async (expected, index) => {
|
|
292
|
+
expect(await bitcoin.getAddress(DerivationModes.TAPROOT, xpub, 1, index)).toEqual(expected);
|
|
293
|
+
});
|
|
294
|
+
let prefix = (await bitcoin.getAddress(DerivationModes.NATIVE_SEGWIT, xpub, 0, 0)).slice(0, 4);
|
|
295
|
+
expect(prefix).toEqual("tb1q");
|
|
296
|
+
prefix = (await bitcoin.getAddress(DerivationModes.LEGACY, xpub, 0, 0)).slice(0, 1);
|
|
297
|
+
expect(prefix).toMatch(new RegExp("[mn]"));
|
|
298
|
+
prefix = (await bitcoin.getAddress(DerivationModes.SEGWIT, xpub, 0, 0)).slice(0, 1);
|
|
299
|
+
expect(prefix).toEqual("2");
|
|
300
|
+
});
|
|
301
|
+
});
|