@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
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Account, AnyMessage } from "@ledgerhq/types-live";
|
|
2
|
+
import { BitcoinSignature, SignerContext } from "./signer";
|
|
3
|
+
export declare const signMessage: (signerContext: SignerContext) => (deviceId: string, account: Account, { message }: AnyMessage) => Promise<{
|
|
4
|
+
rsv: BitcoinSignature;
|
|
5
|
+
signature: string;
|
|
6
|
+
}>;
|
|
7
|
+
//# sourceMappingURL=hw-signMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hw-signMessage.d.ts","sourceRoot":"","sources":["../src/hw-signMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE3D,eAAO,MAAM,WAAW,kBACN,aAAa,gBACZ,MAAM,WAAW,OAAO,eAAe,UAAU;;;EAiBjE,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.signMessage = void 0;
|
|
13
|
+
const signMessage = (signerContext) => (deviceId, account, { message }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
+
if (typeof message !== "string") {
|
|
15
|
+
throw new Error("Invalid message type");
|
|
16
|
+
}
|
|
17
|
+
const hexMessage = Buffer.from(message).toString("hex");
|
|
18
|
+
const result = (yield signerContext(deviceId, account.currency, signer => signer.signMessage(account.freshAddressPath, hexMessage)));
|
|
19
|
+
const v = result["v"] + 27 + 4;
|
|
20
|
+
const signature = Buffer.from(`${v.toString(16)}${result["r"]}${result["s"]}`, "hex").toString("base64");
|
|
21
|
+
return {
|
|
22
|
+
rsv: result,
|
|
23
|
+
signature,
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
exports.signMessage = signMessage;
|
|
27
|
+
//# sourceMappingURL=hw-signMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hw-signMessage.js","sourceRoot":"","sources":["../src/hw-signMessage.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGO,MAAM,WAAW,GACtB,CAAC,aAA4B,EAAE,EAAE,CACjC,CAAO,QAAgB,EAAE,OAAgB,EAAE,EAAE,OAAO,EAAc,EAAE,EAAE;IACpE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,CAAC,MAAM,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACvE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,CACzD,CAAqB,CAAC;IACvB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,QAAQ,CAC5F,QAAQ,CACT,CAAC;IACF,OAAO;QACL,GAAG,EAAE,MAAM;QACX,SAAS;KACV,CAAC;AACJ,CAAC,CAAA,CAAC;AAnBS,QAAA,WAAW,eAmBpB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Account, Operation, SignedOperation } from "@ledgerhq/types-live";
|
|
2
|
+
/**
|
|
3
|
+
* Broadcast a signed transaction
|
|
4
|
+
* @param {signature: string, operation: string} signedOperation
|
|
5
|
+
*/
|
|
6
|
+
declare const broadcast: ({ account, signedOperation, }: {
|
|
7
|
+
account: Account;
|
|
8
|
+
signedOperation: SignedOperation;
|
|
9
|
+
}) => Promise<Operation>;
|
|
10
|
+
export default broadcast;
|
|
11
|
+
//# sourceMappingURL=js-broadcast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-broadcast.d.ts","sourceRoot":"","sources":["../src/js-broadcast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIhF;;;GAGG;AACH,QAAA,MAAM,SAAS;aAIJ,OAAO;qBACC,eAAe;MAC9B,QAAQ,SAAS,CAKpB,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
const operation_1 = require("@ledgerhq/coin-framework/operation");
|
|
36
|
+
const wallet_btc_1 = __importStar(require("./wallet-btc"));
|
|
37
|
+
/**
|
|
38
|
+
* Broadcast a signed transaction
|
|
39
|
+
* @param {signature: string, operation: string} signedOperation
|
|
40
|
+
*/
|
|
41
|
+
const broadcast = ({ account, signedOperation, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
42
|
+
const { signature, operation } = signedOperation;
|
|
43
|
+
const walletAccount = (0, wallet_btc_1.getWalletAccount)(account);
|
|
44
|
+
const hash = yield wallet_btc_1.default.broadcastTx(walletAccount, signature);
|
|
45
|
+
return (0, operation_1.patchOperationWithHash)(operation, hash);
|
|
46
|
+
});
|
|
47
|
+
exports.default = broadcast;
|
|
48
|
+
//# sourceMappingURL=js-broadcast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-broadcast.js","sourceRoot":"","sources":["../src/js-broadcast.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kEAA4E;AAC5E,2DAAwD;AAExD;;;GAGG;AACH,MAAM,SAAS,GAAG,CAAO,EACvB,OAAO,EACP,eAAe,GAIhB,EAAsB,EAAE;IACvB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC;IACjD,MAAM,aAAa,GAAG,IAAA,6BAAgB,EAAC,OAAO,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,MAAM,oBAAM,CAAC,WAAW,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAChE,OAAO,IAAA,kCAAsB,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC,CAAA,CAAC;AAEF,kBAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type TransactionInfo as WalletTxInfo } from "./wallet-btc";
|
|
2
|
+
import type { Transaction } from "./types";
|
|
3
|
+
import { Account } from "@ledgerhq/types-live";
|
|
4
|
+
export declare const buildTransaction: (account: Account, transaction: Transaction) => Promise<WalletTxInfo>;
|
|
5
|
+
//# sourceMappingURL=js-buildTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-buildTransaction.d.ts","sourceRoot":"","sources":["../src/js-buildTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,eAAe,IAAI,YAAY,EACrC,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,SAAS,CAAC;AAIzD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAiB/C,eAAO,MAAM,gBAAgB,YAClB,OAAO,eACH,WAAW,KACvB,QAAQ,YAAY,CAkCtB,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.buildTransaction = void 0;
|
|
36
|
+
const wallet_btc_1 = require("./wallet-btc");
|
|
37
|
+
const errors_1 = require("@ledgerhq/errors");
|
|
38
|
+
const types_1 = require("./types");
|
|
39
|
+
const wallet_btc_2 = __importStar(require("./wallet-btc"));
|
|
40
|
+
const logs_1 = require("@ledgerhq/logs");
|
|
41
|
+
const selectUtxoPickingStrategy = (walletAccount, utxoStrategy) => {
|
|
42
|
+
const handler = {
|
|
43
|
+
[types_1.bitcoinPickingStrategy.MERGE_OUTPUTS]: wallet_btc_1.Merge,
|
|
44
|
+
[types_1.bitcoinPickingStrategy.DEEP_OUTPUTS_FIRST]: wallet_btc_1.DeepFirst,
|
|
45
|
+
[types_1.bitcoinPickingStrategy.OPTIMIZE_SIZE]: wallet_btc_1.CoinSelect,
|
|
46
|
+
}[utxoStrategy.strategy];
|
|
47
|
+
if (!handler)
|
|
48
|
+
throw new Error("Unsupported Bitcoin UTXO picking strategy");
|
|
49
|
+
return new handler(walletAccount.xpub.crypto, walletAccount.xpub.derivationMode, utxoStrategy.excludeUTXOs);
|
|
50
|
+
};
|
|
51
|
+
const buildTransaction = (account, transaction) => __awaiter(void 0, void 0, void 0, function* () {
|
|
52
|
+
const { feePerByte, recipient, opReturnData, utxoStrategy } = transaction;
|
|
53
|
+
if (!feePerByte) {
|
|
54
|
+
throw new errors_1.FeeNotLoaded();
|
|
55
|
+
}
|
|
56
|
+
const walletAccount = (0, wallet_btc_2.getWalletAccount)(account);
|
|
57
|
+
const utxoPickingStrategy = selectUtxoPickingStrategy(walletAccount, transaction.utxoStrategy);
|
|
58
|
+
const maxSpendable = yield wallet_btc_2.default.estimateAccountMaxSpendable(walletAccount, feePerByte.toNumber(), //!\ wallet-btc handles fees as JS number
|
|
59
|
+
utxoStrategy.excludeUTXOs, [recipient], opReturnData);
|
|
60
|
+
(0, logs_1.log)("btcwallet", "building transaction", transaction);
|
|
61
|
+
const txInfo = yield wallet_btc_2.default.buildAccountTx({
|
|
62
|
+
fromAccount: walletAccount,
|
|
63
|
+
dest: transaction.recipient,
|
|
64
|
+
amount: transaction.useAllAmount ? maxSpendable : transaction.amount,
|
|
65
|
+
feePerByte: feePerByte.toNumber(),
|
|
66
|
+
utxoPickingStrategy,
|
|
67
|
+
// Definition of replaceable, per the standard: https://github.com/bitcoin/bips/blob/61ccc84930051e5b4a99926510d0db4a8475a4e6/bip-0125.mediawiki#summary
|
|
68
|
+
sequence: transaction.rbf ? 0 : 0xffffffff,
|
|
69
|
+
opReturnData,
|
|
70
|
+
});
|
|
71
|
+
(0, logs_1.log)("btcwallet", "txInfo", txInfo);
|
|
72
|
+
return txInfo;
|
|
73
|
+
});
|
|
74
|
+
exports.buildTransaction = buildTransaction;
|
|
75
|
+
//# sourceMappingURL=js-buildTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-buildTransaction.js","sourceRoot":"","sources":["../src/js-buildTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAMsB;AACtB,6CAAgD;AAGhD,mCAAiD;AACjD,2DAAwD;AACxD,yCAAqC;AAGrC,MAAM,yBAAyB,GAAG,CAAC,aAA4B,EAAE,YAA0B,EAAE,EAAE;IAC7F,MAAM,OAAO,GAAG;QACd,CAAC,8BAAsB,CAAC,aAAa,CAAC,EAAE,kBAAK;QAC7C,CAAC,8BAAsB,CAAC,kBAAkB,CAAC,EAAE,sBAAS;QACtD,CAAC,8BAAsB,CAAC,aAAa,CAAC,EAAE,uBAAU;KACnD,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzB,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAE3E,OAAO,IAAI,OAAO,CAChB,aAAa,CAAC,IAAI,CAAC,MAAM,EACzB,aAAa,CAAC,IAAI,CAAC,cAAc,EACjC,YAAY,CAAC,YAAY,CAC1B,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAC9B,OAAgB,EAChB,WAAwB,EACD,EAAE;IACzB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;IAE1E,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,qBAAY,EAAE,CAAC;KAC1B;IAED,MAAM,aAAa,GAAG,IAAA,6BAAgB,EAAC,OAAO,CAAC,CAAC;IAChD,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,aAAa,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IAE/F,MAAM,YAAY,GAAG,MAAM,oBAAM,CAAC,2BAA2B,CAC3D,aAAa,EACb,UAAU,CAAC,QAAQ,EAAE,EAAE,yCAAyC;IAChE,YAAY,CAAC,YAAY,EACzB,CAAC,SAAS,CAAC,EACX,YAAY,CACb,CAAC;IAEF,IAAA,UAAG,EAAC,WAAW,EAAE,sBAAsB,EAAE,WAAW,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,MAAM,oBAAM,CAAC,cAAc,CAAC;QACzC,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,WAAW,CAAC,SAAS;QAC3B,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM;QACpE,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;QACjC,mBAAmB;QACnB,wJAAwJ;QACxJ,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;QAC1C,YAAY;KACb,CAAC,CAAC;IAEH,IAAA,UAAG,EAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEnC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA,CAAC;AArCW,QAAA,gBAAgB,oBAqC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-createTransaction.d.ts","sourceRoot":"","sources":["../src/js-createTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;GAIG;AACH,QAAA,MAAM,iBAAiB,QAAO,WAe7B,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bignumber_js_1 = require("bignumber.js");
|
|
4
|
+
/**
|
|
5
|
+
* Create an empty transaction
|
|
6
|
+
*
|
|
7
|
+
* @returns {Transaction}
|
|
8
|
+
*/
|
|
9
|
+
const createTransaction = () => {
|
|
10
|
+
return {
|
|
11
|
+
family: "bitcoin",
|
|
12
|
+
amount: new bignumber_js_1.BigNumber(0),
|
|
13
|
+
utxoStrategy: {
|
|
14
|
+
strategy: 0,
|
|
15
|
+
excludeUTXOs: [],
|
|
16
|
+
},
|
|
17
|
+
recipient: "",
|
|
18
|
+
rbf: false,
|
|
19
|
+
feePerByte: null,
|
|
20
|
+
networkInfo: null,
|
|
21
|
+
useAllAmount: false,
|
|
22
|
+
feesStrategy: "medium",
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
exports.default = createTransaction;
|
|
26
|
+
//# sourceMappingURL=js-createTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-createTransaction.js","sourceRoot":"","sources":["../src/js-createTransaction.ts"],"names":[],"mappings":";;AAAA,+CAAyC;AAGzC;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,GAAgB,EAAE;IAC1C,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC;QACxB,YAAY,EAAE;YACZ,QAAQ,EAAE,CAAC;YACX,YAAY,EAAE,EAAE;SACjB;QACD,SAAS,EAAE,EAAE;QACb,GAAG,EAAE,KAAK;QACV,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,QAAQ;KACvB,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BigNumber } from "bignumber.js";
|
|
2
|
+
import type { Transaction } from "./types";
|
|
3
|
+
import type { Account, AccountLike } from "@ledgerhq/types-live";
|
|
4
|
+
/**
|
|
5
|
+
* Returns the maximum possible amount for transaction
|
|
6
|
+
*
|
|
7
|
+
* @param {Object} param - the account, parentAccount and transaction
|
|
8
|
+
*/
|
|
9
|
+
declare const estimateMaxSpendable: ({ account, parentAccount, transaction, }: {
|
|
10
|
+
account: AccountLike;
|
|
11
|
+
parentAccount: Account | null | undefined;
|
|
12
|
+
transaction: Transaction | null | undefined;
|
|
13
|
+
}) => Promise<BigNumber>;
|
|
14
|
+
export default estimateMaxSpendable;
|
|
15
|
+
//# sourceMappingURL=js-estimateMaxSpendable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-estimateMaxSpendable.d.ts","sourceRoot":"","sources":["../src/js-estimateMaxSpendable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;;;GAIG;AACH,QAAA,MAAM,oBAAoB;aAKf,WAAW;mBACL,OAAO,GAAG,IAAI,GAAG,SAAS;iBAC5B,WAAW,GAAG,IAAI,GAAG,SAAS;MACzC,QAAQ,SAAS,CAkBpB,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
const bignumber_js_1 = require("bignumber.js");
|
|
36
|
+
const index_1 = require("@ledgerhq/coin-framework/account/index");
|
|
37
|
+
const wallet_btc_1 = __importStar(require("./wallet-btc"));
|
|
38
|
+
const getAccountNetworkInfo_1 = require("./getAccountNetworkInfo");
|
|
39
|
+
/**
|
|
40
|
+
* Returns the maximum possible amount for transaction
|
|
41
|
+
*
|
|
42
|
+
* @param {Object} param - the account, parentAccount and transaction
|
|
43
|
+
*/
|
|
44
|
+
const estimateMaxSpendable = ({ account, parentAccount, transaction, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
45
|
+
var _a;
|
|
46
|
+
const mainAccount = (0, index_1.getMainAccount)(account, parentAccount);
|
|
47
|
+
const walletAccount = (0, wallet_btc_1.getWalletAccount)(mainAccount);
|
|
48
|
+
let feePerByte = transaction === null || transaction === void 0 ? void 0 : transaction.feePerByte;
|
|
49
|
+
if (!feePerByte) {
|
|
50
|
+
const networkInfo = yield (0, getAccountNetworkInfo_1.getAccountNetworkInfo)(mainAccount);
|
|
51
|
+
feePerByte = networkInfo.feeItems.defaultFeePerByte;
|
|
52
|
+
}
|
|
53
|
+
const maxSpendable = yield wallet_btc_1.default.estimateAccountMaxSpendable(walletAccount, feePerByte.toNumber(), //!\ wallet-btc handles fees as JS number
|
|
54
|
+
((_a = transaction === null || transaction === void 0 ? void 0 : transaction.utxoStrategy) === null || _a === void 0 ? void 0 : _a.excludeUTXOs) || [], transaction ? [transaction.recipient] : [], transaction === null || transaction === void 0 ? void 0 : transaction.opReturnData);
|
|
55
|
+
return maxSpendable.lt(0) ? new bignumber_js_1.BigNumber(0) : maxSpendable;
|
|
56
|
+
});
|
|
57
|
+
exports.default = estimateMaxSpendable;
|
|
58
|
+
//# sourceMappingURL=js-estimateMaxSpendable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-estimateMaxSpendable.js","sourceRoot":"","sources":["../src/js-estimateMaxSpendable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAyC;AAEzC,kEAAwE;AACxE,2DAAwD;AACxD,mEAAgE;AAGhE;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,CAAO,EAClC,OAAO,EACP,aAAa,EACb,WAAW,GAKZ,EAAsB,EAAE;;IACvB,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,IAAA,6BAAgB,EAAC,WAAW,CAAC,CAAC;IACpD,IAAI,UAAU,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,CAAC;IACzC,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,WAAW,GAAG,MAAM,IAAA,6CAAqB,EAAC,WAAW,CAAC,CAAC;QAC7D,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KACrD;IAED,MAAM,YAAY,GAAG,MAAM,oBAAM,CAAC,2BAA2B,CAC3D,aAAa,EACb,UAAU,CAAC,QAAQ,EAAE,EAAE,yCAAyC;IAChE,CAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,0CAAE,YAAY,KAAI,EAAE,EAC7C,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAC1C,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,CAC1B,CAAC;IAEF,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,wBAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAC9D,CAAC,CAAA,CAAC;AAEF,kBAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BigNumber } from "bignumber.js";
|
|
2
|
+
import type { BitcoinInput, BitcoinOutput, Transaction } from "./types";
|
|
3
|
+
import type { Account } from "@ledgerhq/types-live";
|
|
4
|
+
declare const getFeesForTransaction: ({ account, transaction, }: {
|
|
5
|
+
account: Account;
|
|
6
|
+
transaction: Transaction;
|
|
7
|
+
}) => Promise<{
|
|
8
|
+
fees: BigNumber;
|
|
9
|
+
txInputs: BitcoinInput[];
|
|
10
|
+
txOutputs: BitcoinOutput[];
|
|
11
|
+
}>;
|
|
12
|
+
export default getFeesForTransaction;
|
|
13
|
+
//# sourceMappingURL=js-getFeesForTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-getFeesForTransaction.d.ts","sourceRoot":"","sources":["../src/js-getFeesForTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,QAAA,MAAM,qBAAqB;aAIhB,OAAO;iBACH,WAAW;;UACN,SAAS;cAAY,YAAY,EAAE;eAAa,aAAa,EAAE;EA4ClF,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const bignumber_js_1 = require("bignumber.js");
|
|
13
|
+
const js_buildTransaction_1 = require("./js-buildTransaction");
|
|
14
|
+
const logic_1 = require("./logic");
|
|
15
|
+
const getFeesForTransaction = ({ account, transaction, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
+
const walletTx = yield (0, js_buildTransaction_1.buildTransaction)(account, transaction);
|
|
17
|
+
const fees = new bignumber_js_1.BigNumber(walletTx.fee).integerValue();
|
|
18
|
+
let txInputs = walletTx.inputs.map(i => {
|
|
19
|
+
return {
|
|
20
|
+
address: i.address,
|
|
21
|
+
value: new bignumber_js_1.BigNumber(i.value),
|
|
22
|
+
previousTxHash: i.output_hash,
|
|
23
|
+
previousOutputIndex: i.output_index,
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
let txOutputs = walletTx.outputs.map(o => {
|
|
27
|
+
return {
|
|
28
|
+
outputIndex: walletTx.outputs.indexOf(o),
|
|
29
|
+
address: o.address,
|
|
30
|
+
isChange: o.isChange,
|
|
31
|
+
value: new bignumber_js_1.BigNumber(o.value),
|
|
32
|
+
hash: "",
|
|
33
|
+
blockHeight: undefined,
|
|
34
|
+
rbf: transaction.rbf,
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
const perCoin = logic_1.perCoinLogic[account.currency.id];
|
|
38
|
+
if (perCoin) {
|
|
39
|
+
const { syncReplaceAddress } = perCoin;
|
|
40
|
+
if (syncReplaceAddress) {
|
|
41
|
+
txInputs = txInputs.map(i => (Object.assign(Object.assign({}, i), { address: i.address && syncReplaceAddress(i.address) })));
|
|
42
|
+
txOutputs = txOutputs.map(o => (Object.assign(Object.assign({}, o), { address: o.address && syncReplaceAddress(o.address) })));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
fees,
|
|
47
|
+
txInputs,
|
|
48
|
+
txOutputs,
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
exports.default = getFeesForTransaction;
|
|
52
|
+
//# sourceMappingURL=js-getFeesForTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-getFeesForTransaction.js","sourceRoot":"","sources":["../src/js-getFeesForTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+CAAyC;AAEzC,+DAAyD;AACzD,mCAAuC;AAGvC,MAAM,qBAAqB,GAAG,CAAO,EACnC,OAAO,EACP,WAAW,GAIZ,EAAsF,EAAE;IACvF,MAAM,QAAQ,GAAG,MAAM,IAAA,sCAAgB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,IAAI,wBAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;IACxD,IAAI,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACrC,OAAO;YACL,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,KAAK,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7B,cAAc,EAAE,CAAC,CAAC,WAAW;YAC7B,mBAAmB,EAAE,CAAC,CAAC,YAAY;SACpC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACvC,OAAO;YACL,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACxC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,KAAK,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7B,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,SAAS;YACtB,GAAG,EAAE,WAAW,CAAC,GAAG;SACrB,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,oBAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAElD,IAAI,OAAO,EAAE;QACX,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;QAEvC,IAAI,kBAAkB,EAAE;YACtB,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iCACxB,CAAC,KACJ,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,IACnD,CAAC,CAAC;YACJ,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iCAC1B,CAAC,KACJ,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,IACnD,CAAC,CAAC;SACL;KACF;IAED,OAAO;QACL,IAAI;QACJ,QAAQ;QACR,SAAS;KACV,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,kBAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Account } from "@ledgerhq/types-live";
|
|
2
|
+
import type { Transaction, TransactionStatus } from "./types";
|
|
3
|
+
declare const getTransactionStatus: (a: Account, t: Transaction) => Promise<TransactionStatus>;
|
|
4
|
+
export default getTransactionStatus;
|
|
5
|
+
//# sourceMappingURL=js-getTransactionStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-getTransactionStatus.d.ts","sourceRoot":"","sources":["../src/js-getTransactionStatus.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAA+B,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAQ3F,QAAA,MAAM,oBAAoB,MAAa,OAAO,KAAK,WAAW,KAAG,QAAQ,iBAAiB,CAuGzF,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
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
|
+
const bignumber_js_1 = require("bignumber.js");
|
|
16
|
+
const logs_1 = require("@ledgerhq/logs");
|
|
17
|
+
const errors_1 = require("@ledgerhq/errors");
|
|
18
|
+
const cache_1 = require("./cache");
|
|
19
|
+
const errors_2 = require("./errors");
|
|
20
|
+
const utils_1 = require("./wallet-btc/utils");
|
|
21
|
+
const factory_1 = __importDefault(require("./wallet-btc/crypto/factory"));
|
|
22
|
+
const base_1 = require("./wallet-btc/crypto/base");
|
|
23
|
+
const getTransactionStatus = (a, t) => __awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
+
const errors = {};
|
|
25
|
+
const warnings = {};
|
|
26
|
+
const useAllAmount = !!t.useAllAmount;
|
|
27
|
+
const { recipientError, recipientWarning } = yield (0, cache_1.validateRecipient)(a.currency, t.recipient);
|
|
28
|
+
if (recipientError) {
|
|
29
|
+
errors.recipient = recipientError;
|
|
30
|
+
}
|
|
31
|
+
if (recipientWarning) {
|
|
32
|
+
warnings.recipient = recipientWarning;
|
|
33
|
+
}
|
|
34
|
+
// Safeguard before Taproot activation
|
|
35
|
+
if (t.recipient && !errors.recipient && a.currency.id === "bitcoin" && a.blockHeight <= 709632) {
|
|
36
|
+
const isTaproot = yield (0, cache_1.isTaprootRecipient)(a.currency, t.recipient);
|
|
37
|
+
if (isTaproot) {
|
|
38
|
+
errors.recipient = new errors_2.TaprootNotActivated();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
let txInputs = [];
|
|
42
|
+
let txOutputs = [];
|
|
43
|
+
let estimatedFees = new bignumber_js_1.BigNumber(0);
|
|
44
|
+
const { opReturnData } = t;
|
|
45
|
+
if (!t.feePerByte) {
|
|
46
|
+
errors.feePerByte = new errors_1.FeeNotLoaded();
|
|
47
|
+
}
|
|
48
|
+
else if (t.feePerByte.eq(0)) {
|
|
49
|
+
errors.feePerByte = new errors_1.FeeRequired();
|
|
50
|
+
}
|
|
51
|
+
else if (t.recipient && !errors.recipient) {
|
|
52
|
+
yield (0, cache_1.calculateFees)({
|
|
53
|
+
account: a,
|
|
54
|
+
transaction: t,
|
|
55
|
+
}).then(res => {
|
|
56
|
+
txInputs = res.txInputs;
|
|
57
|
+
txOutputs = res.txOutputs;
|
|
58
|
+
estimatedFees = res.fees;
|
|
59
|
+
}, error => {
|
|
60
|
+
if (error.name === "NotEnoughBalance") {
|
|
61
|
+
errors.amount = error;
|
|
62
|
+
}
|
|
63
|
+
else if (error.name === "DustLimit") {
|
|
64
|
+
errors.dustLimit = error;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
throw error;
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
const sumOfInputs = txInputs.reduce((sum, input) => { var _a; return sum.plus((_a = input.value) !== null && _a !== void 0 ? _a : 0); }, new bignumber_js_1.BigNumber(0));
|
|
72
|
+
const sumOfChanges = txOutputs
|
|
73
|
+
.filter(o => o.isChange)
|
|
74
|
+
.reduce((sum, output) => sum.plus(output.value), new bignumber_js_1.BigNumber(0));
|
|
75
|
+
if (txInputs) {
|
|
76
|
+
(0, logs_1.log)("bitcoin", `${txInputs.length} inputs, sum: ${sumOfInputs.toString()}`);
|
|
77
|
+
}
|
|
78
|
+
if (txOutputs) {
|
|
79
|
+
(0, logs_1.log)("bitcoin", `${txOutputs.length} outputs, sum of changes: ${sumOfChanges.toString()}`);
|
|
80
|
+
}
|
|
81
|
+
const totalSpent = sumOfInputs.minus(sumOfChanges);
|
|
82
|
+
const amount = useAllAmount ? totalSpent.minus(estimatedFees) : t.amount;
|
|
83
|
+
(0, logs_1.log)("bitcoin", `totalSpent ${totalSpent.toString()} amount ${amount.toString()}`);
|
|
84
|
+
if (!errors.amount && !amount.gt(0)) {
|
|
85
|
+
errors.amount = useAllAmount ? new errors_1.NotEnoughBalance() : new errors_1.AmountRequired();
|
|
86
|
+
}
|
|
87
|
+
if (amount.gt(0) && estimatedFees.times(10).gt(amount)) {
|
|
88
|
+
warnings.feeTooHigh = new errors_1.FeeTooHigh();
|
|
89
|
+
}
|
|
90
|
+
if (t.feePerByte) {
|
|
91
|
+
const txSize = Math.ceil(estimatedFees.toNumber() / t.feePerByte.toNumber());
|
|
92
|
+
const crypto = (0, factory_1.default)(a.currency.id);
|
|
93
|
+
const dustAmount = (0, utils_1.computeDustAmount)(crypto, txSize);
|
|
94
|
+
if (amount.gt(0) && amount.lt(dustAmount)) {
|
|
95
|
+
errors.dustLimit = new errors_1.DustLimit();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (opReturnData && opReturnData.length > base_1.OP_RETURN_DATA_SIZE_LIMIT) {
|
|
99
|
+
errors.opReturnSizeLimit = new errors_1.OpReturnDataSizeLimit();
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
errors,
|
|
103
|
+
warnings,
|
|
104
|
+
estimatedFees,
|
|
105
|
+
amount,
|
|
106
|
+
opReturnData: opReturnData === null || opReturnData === void 0 ? void 0 : opReturnData.toString(),
|
|
107
|
+
totalSpent,
|
|
108
|
+
txInputs,
|
|
109
|
+
txOutputs,
|
|
110
|
+
};
|
|
111
|
+
});
|
|
112
|
+
exports.default = getTransactionStatus;
|
|
113
|
+
//# sourceMappingURL=js-getTransactionStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-getTransactionStatus.js","sourceRoot":"","sources":["../src/js-getTransactionStatus.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+CAAyC;AACzC,yCAAqC;AACrC,6CAQ0B;AAI1B,mCAA+E;AAC/E,qCAA+C;AAC/C,8CAAuD;AAEvD,0EAAwD;AACxD,mDAAqE;AAErE,MAAM,oBAAoB,GAAG,CAAO,CAAU,EAAE,CAAc,EAA8B,EAAE;IAC5F,MAAM,MAAM,GAA0B,EAAE,CAAC;IACzC,MAAM,QAAQ,GAA0B,EAAE,CAAC;IAC3C,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACtC,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAA,yBAAiB,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAE9F,IAAI,cAAc,EAAE;QAClB,MAAM,CAAC,SAAS,GAAG,cAAc,CAAC;KACnC;IAED,IAAI,gBAAgB,EAAE;QACpB,QAAQ,CAAC,SAAS,GAAG,gBAAgB,CAAC;KACvC;IAED,sCAAsC;IACtC,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,EAAE;QAC9F,MAAM,SAAS,GAAG,MAAM,IAAA,0BAAkB,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,SAAS,EAAE;YACb,MAAM,CAAC,SAAS,GAAG,IAAI,4BAAmB,EAAE,CAAC;SAC9C;KACF;IAED,IAAI,QAAQ,GAAmB,EAAE,CAAC;IAClC,IAAI,SAAS,GAAoB,EAAE,CAAC;IACpC,IAAI,aAAa,GAAG,IAAI,wBAAS,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;IAE3B,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE;QACjB,MAAM,CAAC,UAAU,GAAG,IAAI,qBAAY,EAAE,CAAC;KACxC;SAAM,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QAC7B,MAAM,CAAC,UAAU,GAAG,IAAI,oBAAW,EAAE,CAAC;KACvC;SAAM,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;QAC3C,MAAM,IAAA,qBAAa,EAAC;YAClB,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,CAAC;SACf,CAAC,CAAC,IAAI,CACL,GAAG,CAAC,EAAE;YACJ,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACxB,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YAC1B,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC;QAC3B,CAAC,EACD,KAAK,CAAC,EAAE;YACN,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE;gBACrC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;aACvB;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE;gBACrC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;aAC1B;iBAAM;gBACL,MAAM,KAAK,CAAC;aACb;QACH,CAAC,CACF,CAAC;KACH;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,WAAC,OAAA,GAAG,CAAC,IAAI,CAAC,MAAA,KAAK,CAAC,KAAK,mCAAI,CAAC,CAAC,CAAA,EAAA,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAElG,MAAM,YAAY,GAAG,SAAS;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;SACvB,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAErE,IAAI,QAAQ,EAAE;QACZ,IAAA,UAAG,EAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,MAAM,iBAAiB,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;KAC7E;IAED,IAAI,SAAS,EAAE;QACb,IAAA,UAAG,EAAC,SAAS,EAAE,GAAG,SAAS,CAAC,MAAM,6BAA6B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;KAC3F;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACzE,IAAA,UAAG,EAAC,SAAS,EAAE,cAAc,UAAU,CAAC,QAAQ,EAAE,WAAW,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAElF,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACnC,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,yBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,uBAAc,EAAE,CAAC;KAC9E;IAED,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;QACtD,QAAQ,CAAC,UAAU,GAAG,IAAI,mBAAU,EAAE,CAAC;KACxC;IAED,IAAI,CAAC,CAAC,UAAU,EAAE;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,IAAA,iBAAa,EAAC,CAAC,CAAC,QAAQ,CAAC,EAAc,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,IAAA,yBAAiB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAErD,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;YACzC,MAAM,CAAC,SAAS,GAAG,IAAI,kBAAS,EAAE,CAAC;SACpC;KACF;IAED,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,gCAAyB,EAAE;QACnE,MAAM,CAAC,iBAAiB,GAAG,IAAI,8BAAqB,EAAE,CAAC;KACxD;IAED,OAAO;QACL,MAAM;QACN,QAAQ;QACR,aAAa;QACb,MAAM;QACN,YAAY,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,EAAE;QACtC,UAAU;QACV,QAAQ;QACR,SAAS;KACV,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,kBAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Transaction } from "./types";
|
|
2
|
+
import { Account } from "@ledgerhq/types-live";
|
|
3
|
+
declare const prepareTransaction: (a: Account, t: Transaction) => Promise<Transaction>;
|
|
4
|
+
export default prepareTransaction;
|
|
5
|
+
//# sourceMappingURL=js-prepareTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-prepareTransaction.d.ts","sourceRoot":"","sources":["../src/js-prepareTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,QAAA,MAAM,kBAAkB,MAAa,OAAO,KAAK,WAAW,KAAG,QAAQ,WAAW,CAwBjF,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
const invariant_1 = __importDefault(require("invariant"));
|
|
16
|
+
const getAccountNetworkInfo_1 = require("./getAccountNetworkInfo");
|
|
17
|
+
const logic_1 = require("./logic");
|
|
18
|
+
const prepareTransaction = (a, t) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
+
let networkInfo = t.networkInfo;
|
|
20
|
+
if (!networkInfo) {
|
|
21
|
+
networkInfo = yield (0, getAccountNetworkInfo_1.getAccountNetworkInfo)(a);
|
|
22
|
+
(0, invariant_1.default)(networkInfo.family === "bitcoin", "bitcoin networkInfo expected");
|
|
23
|
+
}
|
|
24
|
+
const feePerByte = (0, logic_1.inferFeePerByte)(t, networkInfo);
|
|
25
|
+
if ((t.networkInfo === networkInfo &&
|
|
26
|
+
(feePerByte === t.feePerByte || feePerByte.eq(t.feePerByte || 0))) ||
|
|
27
|
+
t.feesStrategy === "custom") {
|
|
28
|
+
// nothing changed
|
|
29
|
+
return t;
|
|
30
|
+
}
|
|
31
|
+
return Object.assign(Object.assign({}, t), { networkInfo,
|
|
32
|
+
feePerByte });
|
|
33
|
+
});
|
|
34
|
+
exports.default = prepareTransaction;
|
|
35
|
+
//# sourceMappingURL=js-prepareTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-prepareTransaction.js","sourceRoot":"","sources":["../src/js-prepareTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,0DAAkC;AAElC,mEAAgE;AAChE,mCAA0C;AAG1C,MAAM,kBAAkB,GAAG,CAAO,CAAU,EAAE,CAAc,EAAwB,EAAE;IACpF,IAAI,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;IAEhC,IAAI,CAAC,WAAW,EAAE;QAChB,WAAW,GAAG,MAAM,IAAA,6CAAqB,EAAC,CAAC,CAAC,CAAC;QAC7C,IAAA,mBAAS,EAAC,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,8BAA8B,CAAC,CAAC;KAC7E;IAED,MAAM,UAAU,GAAG,IAAA,uBAAe,EAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAEnD,IACE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW;QAC5B,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,YAAY,KAAK,QAAQ,EAC3B;QACA,kBAAkB;QAClB,OAAO,CAAC,CAAC;KACV;IAED,uCACK,CAAC,KACJ,WAAW;QACX,UAAU,IACV;AACJ,CAAC,CAAA,CAAC;AAEF,kBAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Transaction } from "./types";
|
|
2
|
+
import type { SignOperationFnSignature } from "@ledgerhq/types-live";
|
|
3
|
+
import { SignerContext } from "./signer";
|
|
4
|
+
declare const buildSignOperation: (signerContext: SignerContext) => SignOperationFnSignature<Transaction>;
|
|
5
|
+
export default buildSignOperation;
|
|
6
|
+
//# sourceMappingURL=js-signOperation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-signOperation.d.ts","sourceRoot":"","sources":["../src/js-signOperation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAM3C,OAAO,KAAK,EAA6B,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,QAAA,MAAM,kBAAkB,kBACN,aAAa,KAAG,yBAAyB,WAAW,CAiIhE,CAAC;AAEP,eAAe,kBAAkB,CAAC"}
|