@ledgerhq/coin-bitcoin 0.4.0-nightly.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 +16 -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/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 +236 -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/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 +231 -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.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 +270 -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
package/.eslintrc.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
env: {
|
|
3
|
+
browser: true,
|
|
4
|
+
es6: true,
|
|
5
|
+
},
|
|
6
|
+
overrides: [
|
|
7
|
+
{
|
|
8
|
+
files: ["src/**/*.test.{ts,tsx}"],
|
|
9
|
+
env: {
|
|
10
|
+
"jest/globals": true,
|
|
11
|
+
},
|
|
12
|
+
plugins: ["jest"],
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
rules: {
|
|
16
|
+
"no-console": ["error", { allow: ["warn", "error"] }],
|
|
17
|
+
"@typescript-eslint/no-empty-function": "off",
|
|
18
|
+
"@typescript-eslint/no-explicit-any": "warn",
|
|
19
|
+
},
|
|
20
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"entry": [
|
|
3
|
+
"src/account.ts",
|
|
4
|
+
"src/api/index.ts",
|
|
5
|
+
"src/bridge/js.ts",
|
|
6
|
+
"src/cli-transaction.ts",
|
|
7
|
+
"src/wallet-btc/crypto/secp256k1.ts",
|
|
8
|
+
"src/crypto-util.ts",
|
|
9
|
+
"src/datasets/bitcoin_cash.ts",
|
|
10
|
+
"src/datasets/bitcoin_gold.ts",
|
|
11
|
+
"src/datasets/bitcoin.scanAccounts.1.ts",
|
|
12
|
+
"src/datasets/bitcoin.ts",
|
|
13
|
+
"src/datasets/dash.ts",
|
|
14
|
+
"src/datasets/decred.ts",
|
|
15
|
+
"src/datasets/digibyte.scanAccounts.1.ts",
|
|
16
|
+
"src/datasets/digibyte.ts",
|
|
17
|
+
"src/datasets/dogecoin.ts",
|
|
18
|
+
"src/datasets/komodo.ts",
|
|
19
|
+
"src/datasets/litecoin.scanAccounts.1.ts",
|
|
20
|
+
"src/datasets/litecoin.ts",
|
|
21
|
+
"src/datasets/peercoin.ts",
|
|
22
|
+
"src/datasets/pivx.ts",
|
|
23
|
+
"src/datasets/qtum.ts",
|
|
24
|
+
"src/datasets/vertcoin.ts",
|
|
25
|
+
"src/datasets/viacoin.ts",
|
|
26
|
+
"src/datasets/zcash.ts",
|
|
27
|
+
"src/datasets/zencash.ts",
|
|
28
|
+
"src/descriptor.ts",
|
|
29
|
+
"src/deviceTransactionConfig.ts",
|
|
30
|
+
"src/errors.ts",
|
|
31
|
+
"src/exchange.ts",
|
|
32
|
+
"src/hw-getAddress.ts",
|
|
33
|
+
"src/hw-signMessage.ts",
|
|
34
|
+
"src/initAccount.ts",
|
|
35
|
+
"src/mock.ts",
|
|
36
|
+
"src/mockBtcSigner.ts",
|
|
37
|
+
"src/serialization.ts",
|
|
38
|
+
"src/specs.ts",
|
|
39
|
+
"src/transaction.ts",
|
|
40
|
+
"src/tokens.ts"
|
|
41
|
+
],
|
|
42
|
+
"ignoreUnimported": []
|
|
43
|
+
}
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# @ledgerhq/coin-bitcoin
|
|
2
|
+
|
|
3
|
+
## 0.4.0-nightly.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#6045](https://github.com/LedgerHQ/ledger-live/pull/6045) [`1aa8ef4`](https://github.com/LedgerHQ/ledger-live/commit/1aa8ef404411c31f6ac4cf09fba453042db8b955) Thanks [@sprohaszka-ledger](https://github.com/sprohaszka-ledger)! - Extract bitcoin as a separate package
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [[`7d5a724`](https://github.com/LedgerHQ/ledger-live/commit/7d5a724f40079a233b159b5231d69f318327e175), [`b3dfed5`](https://github.com/LedgerHQ/ledger-live/commit/b3dfed54bd8d54e62530cb2db92c3c108b43e0d7), [`7887ad9`](https://github.com/LedgerHQ/ledger-live/commit/7887ad9842e59f6fc567f118f06b3e12bdb9073b), [`a780777`](https://github.com/LedgerHQ/ledger-live/commit/a780777c13e08c1c3cd66ef5f6deac0fe928a894), [`1aa8ef4`](https://github.com/LedgerHQ/ledger-live/commit/1aa8ef404411c31f6ac4cf09fba453042db8b955), [`fc4f83e`](https://github.com/LedgerHQ/ledger-live/commit/fc4f83e26d9f00b7c518f28157e8d9da55ce3685), [`5ca7923`](https://github.com/LedgerHQ/ledger-live/commit/5ca79234ccbe66ce22f998fe3ebd2cdec681499a), [`c7f072f`](https://github.com/LedgerHQ/ledger-live/commit/c7f072f833a950e230137499d4908b792f6b615f), [`a8138f9`](https://github.com/LedgerHQ/ledger-live/commit/a8138f9ec0cff714d9745012eb91a09713ffbbd2), [`2331bae`](https://github.com/LedgerHQ/ledger-live/commit/2331bae7393f822aa64e5d0ab8f51622b6363b33), [`b72c52b`](https://github.com/LedgerHQ/ledger-live/commit/b72c52b3e4ebbb7aaf2142afbf6a9b9172e7ee04), [`53da330`](https://github.com/LedgerHQ/ledger-live/commit/53da3301aaceeb16e6b1f96b1ea44428fbeb4483), [`abb1bbb`](https://github.com/LedgerHQ/ledger-live/commit/abb1bbb09c52a3d08577ba622c6cb0f44aab36c1)]:
|
|
12
|
+
- @ledgerhq/types-live@6.45.0-nightly.1
|
|
13
|
+
- @ledgerhq/coin-framework@0.12.0-nightly.2
|
|
14
|
+
- @ledgerhq/errors@6.16.3-nightly.1
|
|
15
|
+
- @ledgerhq/devices@8.3.0-nightly.1
|
|
16
|
+
- @ledgerhq/live-network@1.2.0-nightly.2
|
package/LICENSE.txt
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2017-present Ledger https://www.ledger.com/
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
package/jest.config.js
ADDED
package/lib/account.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { BitcoinAccount } from "./types";
|
|
2
|
+
declare function injectGetAddressParams(account: BitcoinAccount): any;
|
|
3
|
+
declare const _default: {
|
|
4
|
+
injectGetAddressParams: typeof injectGetAddressParams;
|
|
5
|
+
};
|
|
6
|
+
export default _default;
|
|
7
|
+
//# sourceMappingURL=account.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../src/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,iBAAS,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,GAAG,CAM5D;;;;AAED,wBAEE"}
|
package/lib/account.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const logic_1 = require("./logic");
|
|
4
|
+
function injectGetAddressParams(account) {
|
|
5
|
+
const perCoin = logic_1.perCoinLogic[account.currency.id];
|
|
6
|
+
if (perCoin && perCoin.injectGetAddressParams) {
|
|
7
|
+
return perCoin.injectGetAddressParams(account);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.default = {
|
|
11
|
+
injectGetAddressParams,
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=account.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../src/account.ts"],"names":[],"mappings":";;AACA,mCAAuC;AAEvC,SAAS,sBAAsB,CAAC,OAAuB;IACrD,MAAM,OAAO,GAAG,oBAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAElD,IAAI,OAAO,IAAI,OAAO,CAAC,sBAAsB,EAAE;QAC7C,OAAO,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;KAChD;AACH,CAAC;AAED,kBAAe;IACb,sBAAsB;CACvB,CAAC"}
|
package/lib/bech32m.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare function encode(prefix: string, words: ArrayLike<number>, LIMIT?: number): string;
|
|
2
|
+
declare function decodeUnsafe(str: string, LIMIT?: number): any;
|
|
3
|
+
declare function decode(str: string, LIMIT?: number): any;
|
|
4
|
+
declare function toWords(bytes: ArrayLike<number>): number[];
|
|
5
|
+
declare function fromWordsUnsafe(words: ArrayLike<number>): number[] | undefined;
|
|
6
|
+
declare function fromWords(words: ArrayLike<number>): number[];
|
|
7
|
+
export declare const bech32m: {
|
|
8
|
+
decodeUnsafe: typeof decodeUnsafe;
|
|
9
|
+
decode: typeof decode;
|
|
10
|
+
encode: typeof encode;
|
|
11
|
+
toWords: typeof toWords;
|
|
12
|
+
fromWordsUnsafe: typeof fromWordsUnsafe;
|
|
13
|
+
fromWords: typeof fromWords;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=bech32m.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bech32m.d.ts","sourceRoot":"","sources":["../src/bech32m.ts"],"names":[],"mappings":"AAyCA,iBAAS,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CA8BhF;AAwCD,iBAAS,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAGtD;AAED,iBAAS,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAKhD;AA0CD,iBAAS,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAEnD;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAGvE;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAKrD;AAED,eAAO,MAAM,OAAO;;;;;;;CAOnB,CAAC"}
|
package/lib/bech32m.js
ADDED
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Ported from https://github.com/bitcoinjs/bech32/tree/605655d6b37a782345549cd1388db688a96ad56f
|
|
3
|
+
// until we can use bech32 2.0.0
|
|
4
|
+
// We can't directly use bech32 2.0.0 because many of our dependencies are still using bech32 ^1.1.3
|
|
5
|
+
// which conflict on mobile (root cause of https://ledgerhq.atlassian.net/browse/LL-7930)
|
|
6
|
+
// FIXME Remove that file and use bech32 2.0.0 when all dependencies also uses it.
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.bech32m = void 0;
|
|
9
|
+
const ENCODING_CONST = 0x2bc830a3;
|
|
10
|
+
const ALPHABET = "qpzry9x8gf2tvdw0s3jn54khce6mua7l";
|
|
11
|
+
const ALPHABET_MAP = {};
|
|
12
|
+
for (let z = 0; z < ALPHABET.length; z++) {
|
|
13
|
+
const x = ALPHABET.charAt(z);
|
|
14
|
+
ALPHABET_MAP[x] = z;
|
|
15
|
+
}
|
|
16
|
+
function prefixChk(prefix) {
|
|
17
|
+
let chk = 1;
|
|
18
|
+
for (let i = 0; i < prefix.length; ++i) {
|
|
19
|
+
const c = prefix.charCodeAt(i);
|
|
20
|
+
if (c < 33 || c > 126)
|
|
21
|
+
return "Invalid prefix (" + prefix + ")";
|
|
22
|
+
chk = polymodStep(chk) ^ (c >> 5);
|
|
23
|
+
}
|
|
24
|
+
chk = polymodStep(chk);
|
|
25
|
+
for (let i = 0; i < prefix.length; ++i) {
|
|
26
|
+
const v = prefix.charCodeAt(i);
|
|
27
|
+
chk = polymodStep(chk) ^ (v & 0x1f);
|
|
28
|
+
}
|
|
29
|
+
return chk;
|
|
30
|
+
}
|
|
31
|
+
function polymodStep(pre) {
|
|
32
|
+
const b = pre >> 25;
|
|
33
|
+
return (((pre & 0x1ffffff) << 5) ^
|
|
34
|
+
(-((b >> 0) & 1) & 0x3b6a57b2) ^
|
|
35
|
+
(-((b >> 1) & 1) & 0x26508e6d) ^
|
|
36
|
+
(-((b >> 2) & 1) & 0x1ea119fa) ^
|
|
37
|
+
(-((b >> 3) & 1) & 0x3d4233dd) ^
|
|
38
|
+
(-((b >> 4) & 1) & 0x2a1462b3));
|
|
39
|
+
}
|
|
40
|
+
function encode(prefix, words, LIMIT) {
|
|
41
|
+
LIMIT = LIMIT || 90;
|
|
42
|
+
if (prefix.length + 7 + words.length > LIMIT)
|
|
43
|
+
throw new TypeError("Exceeds length limit");
|
|
44
|
+
prefix = prefix.toLowerCase();
|
|
45
|
+
// determine chk mod
|
|
46
|
+
let chk = prefixChk(prefix);
|
|
47
|
+
if (typeof chk === "string")
|
|
48
|
+
throw new Error(chk);
|
|
49
|
+
let result = prefix + "1";
|
|
50
|
+
for (let i = 0; i < words.length; ++i) {
|
|
51
|
+
const x = words[i];
|
|
52
|
+
if (x >> 5 !== 0)
|
|
53
|
+
throw new Error("Non 5-bit word");
|
|
54
|
+
chk = polymodStep(chk) ^ x;
|
|
55
|
+
result += ALPHABET.charAt(x);
|
|
56
|
+
}
|
|
57
|
+
for (let i = 0; i < 6; ++i) {
|
|
58
|
+
chk = polymodStep(chk);
|
|
59
|
+
}
|
|
60
|
+
chk ^= ENCODING_CONST;
|
|
61
|
+
for (let i = 0; i < 6; ++i) {
|
|
62
|
+
const v = (chk >> ((5 - i) * 5)) & 0x1f;
|
|
63
|
+
result += ALPHABET.charAt(v);
|
|
64
|
+
}
|
|
65
|
+
return result;
|
|
66
|
+
}
|
|
67
|
+
function __decode(str, LIMIT) {
|
|
68
|
+
LIMIT = LIMIT || 90;
|
|
69
|
+
if (str.length < 8)
|
|
70
|
+
return str + " too short";
|
|
71
|
+
if (str.length > LIMIT)
|
|
72
|
+
return "Exceeds length limit";
|
|
73
|
+
// don't allow mixed case
|
|
74
|
+
const lowered = str.toLowerCase();
|
|
75
|
+
const uppered = str.toUpperCase();
|
|
76
|
+
if (str !== lowered && str !== uppered)
|
|
77
|
+
return "Mixed-case string " + str;
|
|
78
|
+
str = lowered;
|
|
79
|
+
const split = str.lastIndexOf("1");
|
|
80
|
+
if (split === -1)
|
|
81
|
+
return "No separator character for " + str;
|
|
82
|
+
if (split === 0)
|
|
83
|
+
return "Missing prefix for " + str;
|
|
84
|
+
const prefix = str.slice(0, split);
|
|
85
|
+
const wordChars = str.slice(split + 1);
|
|
86
|
+
if (wordChars.length < 6)
|
|
87
|
+
return "Data too short";
|
|
88
|
+
let chk = prefixChk(prefix);
|
|
89
|
+
if (typeof chk === "string")
|
|
90
|
+
return chk;
|
|
91
|
+
const words = [];
|
|
92
|
+
for (let i = 0; i < wordChars.length; ++i) {
|
|
93
|
+
const c = wordChars.charAt(i);
|
|
94
|
+
const v = ALPHABET_MAP[c];
|
|
95
|
+
if (v === undefined)
|
|
96
|
+
return "Unknown character " + c;
|
|
97
|
+
chk = polymodStep(chk) ^ v;
|
|
98
|
+
// not in the checksum?
|
|
99
|
+
if (i + 6 >= wordChars.length)
|
|
100
|
+
continue;
|
|
101
|
+
words.push(v);
|
|
102
|
+
}
|
|
103
|
+
if (chk !== ENCODING_CONST)
|
|
104
|
+
return "Invalid checksum for " + str;
|
|
105
|
+
return { prefix, words };
|
|
106
|
+
}
|
|
107
|
+
function decodeUnsafe(str, LIMIT) {
|
|
108
|
+
const res = __decode(str, LIMIT);
|
|
109
|
+
if (typeof res === "object")
|
|
110
|
+
return res;
|
|
111
|
+
}
|
|
112
|
+
function decode(str, LIMIT) {
|
|
113
|
+
const res = __decode(str, LIMIT);
|
|
114
|
+
if (typeof res === "object")
|
|
115
|
+
return res;
|
|
116
|
+
throw new Error(res);
|
|
117
|
+
}
|
|
118
|
+
function convert(data, inBits, outBits, pad) {
|
|
119
|
+
let value = 0;
|
|
120
|
+
let bits = 0;
|
|
121
|
+
const maxV = (1 << outBits) - 1;
|
|
122
|
+
const result = [];
|
|
123
|
+
for (let i = 0; i < data.length; ++i) {
|
|
124
|
+
value = (value << inBits) | data[i];
|
|
125
|
+
bits += inBits;
|
|
126
|
+
while (bits >= outBits) {
|
|
127
|
+
bits -= outBits;
|
|
128
|
+
result.push((value >> bits) & maxV);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
if (pad) {
|
|
132
|
+
if (bits > 0) {
|
|
133
|
+
result.push((value << (outBits - bits)) & maxV);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
if (bits >= inBits)
|
|
138
|
+
return "Excess padding";
|
|
139
|
+
if ((value << (outBits - bits)) & maxV)
|
|
140
|
+
return "Non-zero padding";
|
|
141
|
+
}
|
|
142
|
+
return result;
|
|
143
|
+
}
|
|
144
|
+
function toWords(bytes) {
|
|
145
|
+
return convert(bytes, 8, 5, true);
|
|
146
|
+
}
|
|
147
|
+
function fromWordsUnsafe(words) {
|
|
148
|
+
const res = convert(words, 5, 8, false);
|
|
149
|
+
if (Array.isArray(res))
|
|
150
|
+
return res;
|
|
151
|
+
}
|
|
152
|
+
function fromWords(words) {
|
|
153
|
+
const res = convert(words, 5, 8, false);
|
|
154
|
+
if (Array.isArray(res))
|
|
155
|
+
return res;
|
|
156
|
+
throw new Error(res);
|
|
157
|
+
}
|
|
158
|
+
exports.bech32m = {
|
|
159
|
+
decodeUnsafe,
|
|
160
|
+
decode,
|
|
161
|
+
encode,
|
|
162
|
+
toWords,
|
|
163
|
+
fromWordsUnsafe,
|
|
164
|
+
fromWords,
|
|
165
|
+
};
|
|
166
|
+
//# sourceMappingURL=bech32m.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bech32m.js","sourceRoot":"","sources":["../src/bech32m.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Account, BroadcastArg } from "@ledgerhq/types-live";
|
|
2
|
+
import type { Transaction } from "../types";
|
|
3
|
+
import { StartSpan } from "../js-synchronisation";
|
|
4
|
+
import { assignFromAccountRaw, assignToAccountRaw } from "../serialization";
|
|
5
|
+
import { SignerContext } from "../signer";
|
|
6
|
+
export type PerfLogger = {
|
|
7
|
+
startSpan: StartSpan;
|
|
8
|
+
};
|
|
9
|
+
export declare function createBridges(signerContext: SignerContext, perfLogger: PerfLogger): {
|
|
10
|
+
currencyBridge: {
|
|
11
|
+
scanAccounts: (info: import("@ledgerhq/types-live").ScanInfo) => import("rxjs").Observable<import("@ledgerhq/types-live").ScanAccountEvent>;
|
|
12
|
+
preload: () => Promise<{}>;
|
|
13
|
+
hydrate: () => void;
|
|
14
|
+
};
|
|
15
|
+
accountBridge: {
|
|
16
|
+
estimateMaxSpendable: ({ account, parentAccount, transaction, }: {
|
|
17
|
+
account: import("@ledgerhq/types-live").AccountLike;
|
|
18
|
+
parentAccount: Account | null | undefined;
|
|
19
|
+
transaction: Transaction | null | undefined;
|
|
20
|
+
}) => Promise<import("bignumber.js").BigNumber>;
|
|
21
|
+
createTransaction: () => Transaction;
|
|
22
|
+
prepareTransaction: (a: Account, t: Transaction) => Promise<Transaction>;
|
|
23
|
+
updateTransaction: (tx: Transaction, patch: Partial<Transaction>) => any;
|
|
24
|
+
getTransactionStatus: (a: Account, t: Transaction) => Promise<import("../types").TransactionStatus>;
|
|
25
|
+
receive: (account: Account, option: {
|
|
26
|
+
verify?: boolean | undefined;
|
|
27
|
+
deviceId: string;
|
|
28
|
+
subAccountId?: string | undefined;
|
|
29
|
+
freshAddressIndex?: number | undefined;
|
|
30
|
+
}) => import("rxjs").Observable<{
|
|
31
|
+
address: string;
|
|
32
|
+
path: string;
|
|
33
|
+
}>;
|
|
34
|
+
sync: (initialAccount: Account, syncConfig: import("@ledgerhq/types-live").SyncConfig) => import("rxjs").Observable<(arg0: Account) => Account>;
|
|
35
|
+
signOperation: import("@ledgerhq/types-live").SignOperationFnSignature<Transaction>;
|
|
36
|
+
broadcast: ({ account, signedOperation }: BroadcastArg) => Promise<import("@ledgerhq/types-live").Operation>;
|
|
37
|
+
assignFromAccountRaw: typeof assignFromAccountRaw;
|
|
38
|
+
assignToAccountRaw: typeof assignToAccountRaw;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=js.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js.d.ts","sourceRoot":"","sources":["../../src/bridge/js.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAQ7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAiC,MAAM,uBAAuB,CAAC;AASjF,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAmE1C,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AACF,wBAAgB,aAAa,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKjF"}
|
package/lib/bridge/js.js
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.createBridges = void 0;
|
|
16
|
+
const jsHelpers_1 = require("@ledgerhq/coin-framework/bridge/jsHelpers");
|
|
17
|
+
const getAddressWrapper_1 = __importDefault(require("@ledgerhq/coin-framework/bridge/getAddressWrapper"));
|
|
18
|
+
const js_synchronisation_1 = require("../js-synchronisation");
|
|
19
|
+
const js_createTransaction_1 = __importDefault(require("../js-createTransaction"));
|
|
20
|
+
const js_prepareTransaction_1 = __importDefault(require("../js-prepareTransaction"));
|
|
21
|
+
const js_getTransactionStatus_1 = __importDefault(require("../js-getTransactionStatus"));
|
|
22
|
+
const js_estimateMaxSpendable_1 = __importDefault(require("../js-estimateMaxSpendable"));
|
|
23
|
+
const js_signOperation_1 = __importDefault(require("../js-signOperation"));
|
|
24
|
+
const js_broadcast_1 = __importDefault(require("../js-broadcast"));
|
|
25
|
+
const cache_1 = require("./../cache");
|
|
26
|
+
const logic_1 = require("../logic");
|
|
27
|
+
const serialization_1 = require("../serialization");
|
|
28
|
+
const hw_getAddress_1 = __importDefault(require("../hw-getAddress"));
|
|
29
|
+
function buildCurrencyBridge(signerContext, perfLogger) {
|
|
30
|
+
const getAddress = (0, hw_getAddress_1.default)(signerContext);
|
|
31
|
+
const scanAccounts = (0, jsHelpers_1.makeScanAccounts)({
|
|
32
|
+
getAccountShape: (0, js_synchronisation_1.makeGetAccountShape)(signerContext, perfLogger.startSpan),
|
|
33
|
+
getAddressFn: (0, getAddressWrapper_1.default)(getAddress),
|
|
34
|
+
});
|
|
35
|
+
return {
|
|
36
|
+
scanAccounts,
|
|
37
|
+
preload: () => Promise.resolve({}),
|
|
38
|
+
hydrate: () => { },
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function buildAccountBridge(signerContext, perfLogger) {
|
|
42
|
+
const sync = (0, jsHelpers_1.makeSync)({
|
|
43
|
+
getAccountShape: (0, js_synchronisation_1.makeGetAccountShape)(signerContext, perfLogger.startSpan),
|
|
44
|
+
postSync: js_synchronisation_1.postSync,
|
|
45
|
+
});
|
|
46
|
+
const getAddress = (0, hw_getAddress_1.default)(signerContext);
|
|
47
|
+
const injectGetAddressParams = (account) => {
|
|
48
|
+
const perCoin = logic_1.perCoinLogic[account.currency.id];
|
|
49
|
+
if (perCoin && perCoin.injectGetAddressParams) {
|
|
50
|
+
return perCoin.injectGetAddressParams(account);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
const receive = (0, jsHelpers_1.makeAccountBridgeReceive)((0, getAddressWrapper_1.default)(getAddress), {
|
|
54
|
+
injectGetAddressParams,
|
|
55
|
+
});
|
|
56
|
+
const updateTransaction = (tx, patch) => {
|
|
57
|
+
const updatedT = (0, jsHelpers_1.defaultUpdateTransaction)(tx, patch);
|
|
58
|
+
// We accept case-insensitive addresses as input from user,
|
|
59
|
+
// but segwit addresses need to be converted to lowercase to be valid
|
|
60
|
+
if (updatedT.recipient.toLowerCase().indexOf("bc1") === 0) {
|
|
61
|
+
updatedT.recipient = updatedT.recipient.toLowerCase();
|
|
62
|
+
}
|
|
63
|
+
return updatedT;
|
|
64
|
+
};
|
|
65
|
+
return {
|
|
66
|
+
estimateMaxSpendable: js_estimateMaxSpendable_1.default,
|
|
67
|
+
createTransaction: js_createTransaction_1.default,
|
|
68
|
+
prepareTransaction: js_prepareTransaction_1.default,
|
|
69
|
+
updateTransaction,
|
|
70
|
+
getTransactionStatus: js_getTransactionStatus_1.default,
|
|
71
|
+
receive,
|
|
72
|
+
sync,
|
|
73
|
+
signOperation: (0, js_signOperation_1.default)(signerContext),
|
|
74
|
+
broadcast: ({ account, signedOperation }) => __awaiter(this, void 0, void 0, function* () {
|
|
75
|
+
cache_1.calculateFees.reset();
|
|
76
|
+
return (0, js_broadcast_1.default)({
|
|
77
|
+
account,
|
|
78
|
+
signedOperation,
|
|
79
|
+
});
|
|
80
|
+
}),
|
|
81
|
+
assignFromAccountRaw: serialization_1.assignFromAccountRaw,
|
|
82
|
+
assignToAccountRaw: serialization_1.assignToAccountRaw,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
function createBridges(signerContext, perfLogger) {
|
|
86
|
+
return {
|
|
87
|
+
currencyBridge: buildCurrencyBridge(signerContext, perfLogger),
|
|
88
|
+
accountBridge: buildAccountBridge(signerContext, perfLogger),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
exports.createBridges = createBridges;
|
|
92
|
+
//# sourceMappingURL=js.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js.js","sourceRoot":"","sources":["../../src/bridge/js.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.integration.test.d.ts","sourceRoot":"","sources":["../src/bridge.integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAkB3C,eAAO,MAAM,OAAO,EAAE,WAAW,CAAC,WAAW,CAoB5C,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.dataset = void 0;
|
|
7
|
+
const bitcoin_1 = __importDefault(require("./datasets/bitcoin"));
|
|
8
|
+
const bitcoin_cash_1 = __importDefault(require("./datasets/bitcoin_cash"));
|
|
9
|
+
const bitcoin_gold_1 = __importDefault(require("./datasets/bitcoin_gold"));
|
|
10
|
+
const dash_1 = __importDefault(require("./datasets/dash"));
|
|
11
|
+
const decred_1 = __importDefault(require("./datasets/decred"));
|
|
12
|
+
const digibyte_1 = __importDefault(require("./datasets/digibyte"));
|
|
13
|
+
const dogecoin_1 = __importDefault(require("./datasets/dogecoin"));
|
|
14
|
+
const zencash_1 = __importDefault(require("./datasets/zencash"));
|
|
15
|
+
const komodo_1 = __importDefault(require("./datasets/komodo"));
|
|
16
|
+
const litecoin_1 = __importDefault(require("./datasets/litecoin"));
|
|
17
|
+
const peercoin_1 = __importDefault(require("./datasets/peercoin"));
|
|
18
|
+
const pivx_1 = __importDefault(require("./datasets/pivx"));
|
|
19
|
+
const qtum_1 = __importDefault(require("./datasets/qtum"));
|
|
20
|
+
const vertcoin_1 = __importDefault(require("./datasets/vertcoin"));
|
|
21
|
+
const viacoin_1 = __importDefault(require("./datasets/viacoin"));
|
|
22
|
+
const zcash_1 = __importDefault(require("./datasets/zcash"));
|
|
23
|
+
exports.dataset = {
|
|
24
|
+
implementations: ["js", "mock"],
|
|
25
|
+
currencies: {
|
|
26
|
+
bitcoin: bitcoin_1.default,
|
|
27
|
+
bitcoin_cash: bitcoin_cash_1.default,
|
|
28
|
+
bitcoin_gold: bitcoin_gold_1.default,
|
|
29
|
+
dash: dash_1.default,
|
|
30
|
+
decred: decred_1.default,
|
|
31
|
+
digibyte: digibyte_1.default,
|
|
32
|
+
dogecoin: dogecoin_1.default,
|
|
33
|
+
zencash: zencash_1.default,
|
|
34
|
+
komodo: komodo_1.default,
|
|
35
|
+
litecoin: litecoin_1.default,
|
|
36
|
+
peercoin: peercoin_1.default,
|
|
37
|
+
pivx: pivx_1.default,
|
|
38
|
+
qtum: qtum_1.default,
|
|
39
|
+
vertcoin: vertcoin_1.default,
|
|
40
|
+
viacoin: viacoin_1.default,
|
|
41
|
+
zcash: zcash_1.default,
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
describe("Bitcoin bridge", () => {
|
|
45
|
+
test.todo("This is an empty test to make jest command pass. Remove it once there is a real test.");
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=bridge.integration.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.integration.test.js","sourceRoot":"","sources":["../src/bridge.integration.test.ts"],"names":[],"mappings":";;;;;;AAGA,iEAAyC;AACzC,2EAAmD;AACnD,2EAAmD;AACnD,2DAAmC;AACnC,+DAAuC;AACvC,mEAA2C;AAC3C,mEAA2C;AAC3C,iEAAyC;AACzC,+DAAuC;AACvC,mEAA2C;AAC3C,mEAA2C;AAC3C,2DAAmC;AACnC,2DAAmC;AACnC,mEAA2C;AAC3C,iEAAyC;AACzC,6DAAqC;AAExB,QAAA,OAAO,GAA6B;IAC/C,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,UAAU,EAAE;QACV,OAAO,EAAP,iBAAO;QACP,YAAY,EAAZ,sBAAY;QACZ,YAAY,EAAZ,sBAAY;QACZ,IAAI,EAAJ,cAAI;QACJ,MAAM,EAAN,gBAAM;QACN,QAAQ,EAAR,kBAAQ;QACR,QAAQ,EAAR,kBAAQ;QACR,OAAO,EAAP,iBAAO;QACP,MAAM,EAAN,gBAAM;QACN,QAAQ,EAAR,kBAAQ;QACR,QAAQ,EAAR,kBAAQ;QACR,IAAI,EAAJ,cAAI;QACJ,IAAI,EAAJ,cAAI;QACJ,QAAQ,EAAR,kBAAQ;QACR,OAAO,EAAP,iBAAO;QACP,KAAK,EAAL,eAAK;KACN;CACF,CAAC;AAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,IAAI,CACP,uFAAuF,CACxF,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
package/lib/cache.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
|
|
2
|
+
import type { Account } from "@ledgerhq/types-live";
|
|
3
|
+
import type { Transaction } from "./types";
|
|
4
|
+
export declare const calculateFees: import("@ledgerhq/live-network/cache").CacheRes<[{
|
|
5
|
+
account: Account;
|
|
6
|
+
transaction: Transaction;
|
|
7
|
+
}], {
|
|
8
|
+
fees: import("bignumber.js").BigNumber;
|
|
9
|
+
txInputs: import("./types").BitcoinInput[];
|
|
10
|
+
txOutputs: import("./types").BitcoinOutput[];
|
|
11
|
+
}>;
|
|
12
|
+
export declare const validateRecipient: (arg0: CryptoCurrency, arg1: string | null | undefined) => Promise<{
|
|
13
|
+
recipientError: Error | null | undefined;
|
|
14
|
+
recipientWarning: Error | null | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
export declare const isTaprootRecipient: (arg0: CryptoCurrency, arg1: string) => Promise<boolean>;
|
|
17
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAU3C,eAAO,MAAM,aAAa;aACoB,OAAO;iBAAe,WAAW;;;;;EAa9E,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,CAC9B,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,KAC5B,OAAO,CAAC;IACX,cAAc,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,gBAAgB,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;CAC5C,CA0BA,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAMrF,CAAC"}
|
package/lib/cache.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.isTaprootRecipient = exports.validateRecipient = exports.calculateFees = void 0;
|
|
16
|
+
const errors_1 = require("@ledgerhq/errors");
|
|
17
|
+
const cache_1 = require("@ledgerhq/live-network/cache");
|
|
18
|
+
const js_getFeesForTransaction_1 = __importDefault(require("./js-getFeesForTransaction"));
|
|
19
|
+
const logic_1 = require("./logic");
|
|
20
|
+
const wallet_btc_1 = require("./wallet-btc");
|
|
21
|
+
const getCacheKeyForCalculateFees = ({ a, t }) => `${a.id}_${a.blockHeight || 0}_${t.amount.toString()}_${String(t.useAllAmount)}_${t.recipient}_${t.feePerByte ? t.feePerByte.toString() : ""}_${0}_${t.utxoStrategy.strategy}_${String(t.rbf)}_${t.utxoStrategy.excludeUTXOs
|
|
22
|
+
.map(({ hash, outputIndex }) => `${hash}@${outputIndex}`)
|
|
23
|
+
.join("+")}`;
|
|
24
|
+
exports.calculateFees = (0, cache_1.makeLRUCache)(({ account, transaction }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
|
+
return (0, js_getFeesForTransaction_1.default)({
|
|
26
|
+
account,
|
|
27
|
+
transaction,
|
|
28
|
+
});
|
|
29
|
+
}), ({ account, transaction }) => getCacheKeyForCalculateFees({
|
|
30
|
+
a: account,
|
|
31
|
+
t: transaction,
|
|
32
|
+
}), {
|
|
33
|
+
ttl: 5 * 60 * 1000, // 5 minutes
|
|
34
|
+
});
|
|
35
|
+
exports.validateRecipient = (0, cache_1.makeLRUCache)((currency, recipient) => __awaiter(void 0, void 0, void 0, function* () {
|
|
36
|
+
if (!recipient) {
|
|
37
|
+
return {
|
|
38
|
+
recipientError: new errors_1.RecipientRequired(""),
|
|
39
|
+
recipientWarning: null,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
const recipientWarning = yield (0, logic_1.isValidRecipient)({
|
|
44
|
+
currency,
|
|
45
|
+
recipient,
|
|
46
|
+
});
|
|
47
|
+
return {
|
|
48
|
+
recipientError: null,
|
|
49
|
+
recipientWarning,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
return {
|
|
54
|
+
recipientError: e instanceof Error ? e : null,
|
|
55
|
+
recipientWarning: null,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}), (currency, recipient) => `${currency.id}_${recipient || ""}`);
|
|
59
|
+
exports.isTaprootRecipient = (0, cache_1.makeLRUCache)((currency, recipient) => __awaiter(void 0, void 0, void 0, function* () {
|
|
60
|
+
return (0, wallet_btc_1.isTaprootAddress)(recipient, currency.id);
|
|
61
|
+
}), (currency, recipient) => `${currency.id}_${recipient || ""}`);
|
|
62
|
+
//# sourceMappingURL=cache.js.map
|