mainnet-js 0.5.9 → 1.0.0-rc.1
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/dist/index.html +9 -1
- package/dist/mainnet-1.0.0-rc.1.js +2928 -0
- package/dist/module/chain.d.ts +1 -0
- package/dist/module/chain.d.ts.map +1 -0
- package/dist/module/cli.d.ts +1 -0
- package/dist/module/cli.d.ts.map +1 -0
- package/dist/module/cli.js +2 -2
- package/dist/module/cli.js.map +1 -1
- package/dist/module/constant.d.ts +1 -0
- package/dist/module/constant.d.ts.map +1 -0
- package/dist/module/db/ExchangeRateProvider.d.ts +2 -1
- package/dist/module/db/ExchangeRateProvider.d.ts.map +1 -0
- package/dist/module/db/IndexedDBProvider.d.ts +3 -2
- package/dist/module/db/IndexedDBProvider.d.ts.map +1 -0
- package/dist/module/db/SqlProvider.d.ts +7 -8
- package/dist/module/db/SqlProvider.d.ts.map +1 -0
- package/dist/module/db/SqlProvider.js +10 -8
- package/dist/module/db/SqlProvider.js.map +1 -1
- package/dist/module/db/StorageProvider.d.ts +2 -1
- package/dist/module/db/StorageProvider.d.ts.map +1 -0
- package/dist/module/db/getStorageProvider.d.ts +3 -0
- package/dist/module/db/getStorageProvider.d.ts.map +1 -0
- package/dist/module/db/getStorageProvider.js +19 -0
- package/dist/module/db/getStorageProvider.js.map +1 -0
- package/dist/module/db/index.d.ts +4 -3
- package/dist/module/db/index.d.ts.map +1 -0
- package/dist/module/db/index.js +2 -2
- package/dist/module/db/index.js.map +1 -1
- package/dist/module/db/interface.d.ts +1 -0
- package/dist/module/db/interface.d.ts.map +1 -0
- package/dist/module/db/util.d.ts +2 -3
- package/dist/module/db/util.d.ts.map +1 -0
- package/dist/module/db/util.js +0 -17
- package/dist/module/db/util.js.map +1 -1
- package/dist/module/enum.d.ts +1 -0
- package/dist/module/enum.d.ts.map +1 -0
- package/dist/module/history/electrumTransformer.d.ts +3 -2
- package/dist/module/history/electrumTransformer.d.ts.map +1 -0
- package/dist/module/history/electrumTransformer.js +11 -11
- package/dist/module/history/electrumTransformer.js.map +1 -1
- package/dist/module/history/interface.d.ts +2 -1
- package/dist/module/history/interface.d.ts.map +1 -0
- package/dist/module/index.d.ts +26 -21
- package/dist/module/index.d.ts.map +1 -0
- package/dist/module/index.js +25 -17
- package/dist/module/index.js.map +1 -1
- package/dist/module/interface.d.ts +14 -0
- package/dist/module/interface.d.ts.map +1 -0
- package/dist/module/interface.js +5 -0
- package/dist/module/interface.js.map +1 -1
- package/dist/module/message/index.d.ts +3 -2
- package/dist/module/message/index.d.ts.map +1 -0
- package/dist/module/message/index.js +2 -2
- package/dist/module/message/index.js.map +1 -1
- package/dist/module/message/interface.d.ts +1 -0
- package/dist/module/message/interface.d.ts.map +1 -0
- package/dist/module/message/signed.d.ts +2 -1
- package/dist/module/message/signed.d.ts.map +1 -0
- package/dist/module/message/signed.js +10 -4
- package/dist/module/message/signed.js.map +1 -1
- package/dist/module/mine/index.d.ts +2 -1
- package/dist/module/mine/index.d.ts.map +1 -0
- package/dist/module/mine/index.js +1 -1
- package/dist/module/mine/index.js.map +1 -1
- package/dist/module/mine/mine.d.ts +1 -0
- package/dist/module/mine/mine.d.ts.map +1 -0
- package/dist/module/mine/mine.js +3 -3
- package/dist/module/mine/mine.js.map +1 -1
- package/dist/module/network/Connection.d.ts +3 -2
- package/dist/module/network/Connection.d.ts.map +1 -0
- package/dist/module/network/Connection.js +3 -3
- package/dist/module/network/Connection.js.map +1 -1
- package/dist/module/network/ElectrumNetworkProvider.d.ts +8 -5
- package/dist/module/network/ElectrumNetworkProvider.d.ts.map +1 -0
- package/dist/module/network/ElectrumNetworkProvider.js +59 -13
- package/dist/module/network/ElectrumNetworkProvider.js.map +1 -1
- package/dist/module/network/NetworkProvider.d.ts +2 -1
- package/dist/module/network/NetworkProvider.d.ts.map +1 -0
- package/dist/module/network/configuration.d.ts +8 -10
- package/dist/module/network/configuration.d.ts.map +1 -0
- package/dist/module/network/configuration.js +29 -17
- package/dist/module/network/configuration.js.map +1 -1
- package/dist/module/network/constant.d.ts +1 -0
- package/dist/module/network/constant.d.ts.map +1 -0
- package/dist/module/network/constant.js +8 -4
- package/dist/module/network/constant.js.map +1 -1
- package/dist/module/network/default.d.ts +4 -3
- package/dist/module/network/default.d.ts.map +1 -0
- package/dist/module/network/default.js +7 -7
- package/dist/module/network/default.js.map +1 -1
- package/dist/module/network/getRelayFeeCache.d.ts +2 -1
- package/dist/module/network/getRelayFeeCache.d.ts.map +1 -0
- package/dist/module/network/getRelayFeeCache.js +2 -2
- package/dist/module/network/getRelayFeeCache.js.map +1 -1
- package/dist/module/network/index.d.ts +3 -2
- package/dist/module/network/index.d.ts.map +1 -0
- package/dist/module/network/index.js +2 -2
- package/dist/module/network/index.js.map +1 -1
- package/dist/module/network/interface.d.ts +1 -0
- package/dist/module/network/interface.d.ts.map +1 -0
- package/dist/module/network/util.d.ts +2 -1
- package/dist/module/network/util.d.ts.map +1 -0
- package/dist/module/qr/Qr.d.ts +2 -1
- package/dist/module/qr/Qr.d.ts.map +1 -0
- package/dist/module/qr/Qr.js +2 -2
- package/dist/module/qr/Qr.js.map +1 -1
- package/dist/module/qr/interface.d.ts +1 -0
- package/dist/module/qr/interface.d.ts.map +1 -0
- package/dist/module/rate/ExchangeRate.d.ts +1 -0
- package/dist/module/rate/ExchangeRate.d.ts.map +1 -0
- package/dist/module/rate/ExchangeRate.js +5 -5
- package/dist/module/rate/ExchangeRate.js.map +1 -1
- package/dist/module/slp/GsppProvider.d.ts +4 -3
- package/dist/module/slp/GsppProvider.d.ts.map +1 -0
- package/dist/module/slp/GsppProvider.js +7 -7
- package/dist/module/slp/GsppProvider.js.map +1 -1
- package/dist/module/slp/SlpDbProvider.d.ts +4 -3
- package/dist/module/slp/SlpDbProvider.d.ts.map +1 -0
- package/dist/module/slp/SlpDbProvider.js +8 -8
- package/dist/module/slp/SlpDbProvider.js.map +1 -1
- package/dist/module/slp/SlpDbTemplates.d.ts +1 -0
- package/dist/module/slp/SlpDbTemplates.d.ts.map +1 -0
- package/dist/module/slp/SlpLibAuth.d.ts +7 -14
- package/dist/module/slp/SlpLibAuth.d.ts.map +1 -0
- package/dist/module/slp/SlpLibAuth.js +48 -39
- package/dist/module/slp/SlpLibAuth.js.map +1 -1
- package/dist/module/slp/SlpProvider.d.ts +2 -1
- package/dist/module/slp/SlpProvider.d.ts.map +1 -0
- package/dist/module/slp/SlpProvider.js.map +1 -1
- package/dist/module/slp/index.d.ts +5 -4
- package/dist/module/slp/index.d.ts.map +1 -0
- package/dist/module/slp/index.js +3 -3
- package/dist/module/slp/index.js.map +1 -1
- package/dist/module/slp/interface.d.ts +2 -1
- package/dist/module/slp/interface.d.ts.map +1 -0
- package/dist/module/test/axios.d.ts +3 -0
- package/dist/module/test/axios.d.ts.map +1 -0
- package/dist/module/test/axios.js +35 -0
- package/dist/module/test/axios.js.map +1 -0
- package/dist/module/test/expect.d.ts +6 -1
- package/dist/module/test/expect.d.ts.map +1 -0
- package/dist/module/test/expect.js +22 -1
- package/dist/module/test/expect.js.map +1 -1
- package/dist/module/transaction/Wif.d.ts +19 -16
- package/dist/module/transaction/Wif.d.ts.map +1 -0
- package/dist/module/transaction/Wif.js +152 -55
- package/dist/module/transaction/Wif.js.map +1 -1
- package/dist/module/transaction/allocateFee.d.ts +5 -4
- package/dist/module/transaction/allocateFee.d.ts.map +1 -0
- package/dist/module/transaction/allocateFee.js +11 -8
- package/dist/module/transaction/allocateFee.js.map +1 -1
- package/dist/module/util/amountInSatoshi.d.ts +1 -0
- package/dist/module/util/amountInSatoshi.d.ts.map +1 -0
- package/dist/module/util/amountInSatoshi.js +4 -4
- package/dist/module/util/amountInSatoshi.js.map +1 -1
- package/dist/module/util/asSendRequestObject.d.ts +3 -2
- package/dist/module/util/asSendRequestObject.d.ts.map +1 -0
- package/dist/module/util/asSendRequestObject.js +6 -3
- package/dist/module/util/asSendRequestObject.js.map +1 -1
- package/dist/module/util/balanceObjectFromSatoshi.d.ts +1 -0
- package/dist/module/util/balanceObjectFromSatoshi.d.ts.map +1 -0
- package/dist/module/util/balanceObjectFromSatoshi.js +5 -5
- package/dist/module/util/balanceObjectFromSatoshi.js.map +1 -1
- package/dist/module/util/base64.d.ts +2 -1
- package/dist/module/util/base64.d.ts.map +1 -0
- package/dist/module/util/base64.js +5 -25
- package/dist/module/util/base64.js.map +1 -1
- package/dist/module/util/bchaddr.d.ts +1 -0
- package/dist/module/util/bchaddr.d.ts.map +1 -0
- package/dist/module/util/browserNotSupported.d.ts +1 -0
- package/dist/module/util/browserNotSupported.d.ts.map +1 -0
- package/dist/module/util/browserNotSupported.js +1 -1
- package/dist/module/util/browserNotSupported.js.map +1 -1
- package/dist/module/util/checkForEmptySeed.d.ts +1 -0
- package/dist/module/util/checkForEmptySeed.d.ts.map +1 -0
- package/dist/module/util/checkWifNetwork.d.ts +2 -1
- package/dist/module/util/checkWifNetwork.d.ts.map +1 -0
- package/dist/module/util/checkWifNetwork.js +1 -1
- package/dist/module/util/checkWifNetwork.js.map +1 -1
- package/dist/module/util/convert.d.ts +1 -0
- package/dist/module/util/convert.d.ts.map +1 -0
- package/dist/module/util/convert.js +2 -2
- package/dist/module/util/convert.js.map +1 -1
- package/dist/module/util/delay.d.ts +1 -0
- package/dist/module/util/delay.d.ts.map +1 -0
- package/dist/module/util/deriveCashaddr.d.ts +6 -1
- package/dist/module/util/deriveCashaddr.d.ts.map +1 -0
- package/dist/module/util/deriveCashaddr.js +85 -6
- package/dist/module/util/deriveCashaddr.js.map +1 -1
- package/dist/module/util/deriveLockscript.d.ts +1 -0
- package/dist/module/util/deriveLockscript.d.ts.map +1 -0
- package/dist/module/util/deriveNetwork.d.ts +1 -0
- package/dist/module/util/deriveNetwork.d.ts.map +1 -0
- package/dist/module/util/deriveNetwork.js +2 -2
- package/dist/module/util/deriveNetwork.js.map +1 -1
- package/dist/module/util/derivePublicKeyHash.d.ts +3 -1
- package/dist/module/util/derivePublicKeyHash.d.ts.map +1 -0
- package/dist/module/util/derivePublicKeyHash.js +1 -1
- package/dist/module/util/derivePublicKeyHash.js.map +1 -1
- package/dist/module/util/eventsource.d.ts +1 -0
- package/dist/module/util/eventsource.d.ts.map +1 -0
- package/dist/module/util/eventsource.js +3 -2
- package/dist/module/util/eventsource.js.map +1 -1
- package/dist/module/util/floor.d.ts +1 -0
- package/dist/module/util/floor.d.ts.map +1 -0
- package/dist/module/util/getAddrsByXpubKey.d.ts +8 -8
- package/dist/module/util/getAddrsByXpubKey.d.ts.map +1 -0
- package/dist/module/util/getAddrsByXpubKey.js +17 -21
- package/dist/module/util/getAddrsByXpubKey.js.map +1 -1
- package/dist/module/util/getRuntimePlatform.d.ts +1 -0
- package/dist/module/util/getRuntimePlatform.d.ts.map +1 -0
- package/dist/module/util/getUsdRate.d.ts +1 -0
- package/dist/module/util/getUsdRate.d.ts.map +1 -0
- package/dist/module/util/getUsdRate.js +1 -1
- package/dist/module/util/getUsdRate.js.map +1 -1
- package/dist/module/util/getXPubKey.d.ts +2 -1
- package/dist/module/util/getXPubKey.d.ts.map +1 -0
- package/dist/module/util/getXPubKey.js +6 -7
- package/dist/module/util/getXPubKey.js.map +1 -1
- package/dist/module/util/hash160.d.ts +2 -1
- package/dist/module/util/hash160.d.ts.map +1 -0
- package/dist/module/util/hash160.js +2 -4
- package/dist/module/util/hash160.js.map +1 -1
- package/dist/module/util/index.d.ts +21 -20
- package/dist/module/util/index.d.ts.map +1 -0
- package/dist/module/util/index.js +20 -20
- package/dist/module/util/index.js.map +1 -1
- package/dist/module/util/randomBytes.d.ts +3 -1
- package/dist/module/util/randomBytes.d.ts.map +1 -0
- package/dist/module/util/randomBytes.js +2 -3
- package/dist/module/util/randomBytes.js.map +1 -1
- package/dist/module/util/randomInt.d.ts +1 -0
- package/dist/module/util/randomInt.d.ts.map +1 -0
- package/dist/module/util/randomValues.d.ts +1 -0
- package/dist/module/util/randomValues.d.ts.map +1 -0
- package/dist/module/util/randomValues.js +7 -7
- package/dist/module/util/randomValues.js.map +1 -1
- package/dist/module/util/sanitizeAddress.d.ts +1 -0
- package/dist/module/util/sanitizeAddress.d.ts.map +1 -0
- package/dist/module/util/sanitizeAddress.js +1 -1
- package/dist/module/util/sanitizeAddress.js.map +1 -1
- package/dist/module/util/sanitizeUnit.d.ts +2 -1
- package/dist/module/util/sanitizeUnit.d.ts.map +1 -0
- package/dist/module/util/satoshiToAmount.d.ts +1 -0
- package/dist/module/util/satoshiToAmount.d.ts.map +1 -0
- package/dist/module/util/satoshiToAmount.js +4 -4
- package/dist/module/util/satoshiToAmount.js.map +1 -1
- package/dist/module/util/sumSendRequestAmounts.d.ts +3 -2
- package/dist/module/util/sumSendRequestAmounts.d.ts.map +1 -0
- package/dist/module/util/sumSendRequestAmounts.js +5 -2
- package/dist/module/util/sumSendRequestAmounts.js.map +1 -1
- package/dist/module/util/sumUtxoValue.d.ts +4 -2
- package/dist/module/util/sumUtxoValue.d.ts.map +1 -0
- package/dist/module/util/sumUtxoValue.js +17 -3
- package/dist/module/util/sumUtxoValue.js.map +1 -1
- package/dist/module/util/transaction.d.ts +2 -0
- package/dist/module/util/transaction.d.ts.map +1 -0
- package/dist/module/util/transaction.js +7 -0
- package/dist/module/util/transaction.js.map +1 -0
- package/dist/module/wallet/Base.d.ts +8 -7
- package/dist/module/wallet/Base.d.ts.map +1 -0
- package/dist/module/wallet/Base.js +7 -7
- package/dist/module/wallet/Base.js.map +1 -1
- package/dist/module/wallet/Bcmr.d.ts +88 -0
- package/dist/module/wallet/Bcmr.d.ts.map +1 -0
- package/dist/module/wallet/Bcmr.js +281 -0
- package/dist/module/wallet/Bcmr.js.map +1 -0
- package/dist/module/wallet/Slp.d.ts +6 -5
- package/dist/module/wallet/Slp.d.ts.map +1 -0
- package/dist/module/wallet/Slp.js +15 -15
- package/dist/module/wallet/Slp.js.map +1 -1
- package/dist/module/wallet/Util.d.ts +3 -2
- package/dist/module/wallet/Util.d.ts.map +1 -0
- package/dist/module/wallet/Util.js +9 -14
- package/dist/module/wallet/Util.js.map +1 -1
- package/dist/module/wallet/Wif.d.ts +124 -20
- package/dist/module/wallet/Wif.d.ts.map +1 -0
- package/dist/module/wallet/Wif.js +406 -74
- package/dist/module/wallet/Wif.js.map +1 -1
- package/dist/module/wallet/bcmr-v1.schema.d.ts +623 -0
- package/dist/module/wallet/bcmr-v1.schema.d.ts.map +1 -0
- package/dist/module/wallet/bcmr-v1.schema.js +2 -0
- package/dist/module/wallet/bcmr-v1.schema.js.map +1 -0
- package/dist/module/wallet/createWallet.d.ts +3 -2
- package/dist/module/wallet/createWallet.d.ts.map +1 -0
- package/dist/module/wallet/createWallet.js +3 -3
- package/dist/module/wallet/createWallet.js.map +1 -1
- package/dist/module/wallet/enum.d.ts +1 -0
- package/dist/module/wallet/enum.d.ts.map +1 -0
- package/dist/module/wallet/interface.d.ts +10 -6
- package/dist/module/wallet/interface.d.ts.map +1 -0
- package/dist/module/wallet/model.d.ts +81 -5
- package/dist/module/wallet/model.d.ts.map +1 -0
- package/dist/module/wallet/model.js +102 -17
- package/dist/module/wallet/model.js.map +1 -1
- package/dist/module/webhook/Webhook.d.ts +3 -2
- package/dist/module/webhook/Webhook.d.ts.map +1 -0
- package/dist/module/webhook/Webhook.js +4 -1
- package/dist/module/webhook/Webhook.js.map +1 -1
- package/dist/module/webhook/WebhookBch.d.ts +4 -3
- package/dist/module/webhook/WebhookBch.d.ts.map +1 -0
- package/dist/module/webhook/WebhookBch.js +4 -4
- package/dist/module/webhook/WebhookBch.js.map +1 -1
- package/dist/module/webhook/WebhookSlp.d.ts +5 -4
- package/dist/module/webhook/WebhookSlp.d.ts.map +1 -0
- package/dist/module/webhook/WebhookSlp.js +4 -4
- package/dist/module/webhook/WebhookSlp.js.map +1 -1
- package/dist/module/webhook/WebhookWorker.d.ts +3 -2
- package/dist/module/webhook/WebhookWorker.d.ts.map +1 -0
- package/dist/module/webhook/WebhookWorker.js +1 -1
- package/dist/module/webhook/WebhookWorker.js.map +1 -1
- package/dist/module/webhook/index.d.ts +6 -5
- package/dist/module/webhook/index.d.ts.map +1 -0
- package/dist/module/webhook/index.js +5 -5
- package/dist/module/webhook/index.js.map +1 -1
- package/dist/module/webhook/interface.d.ts +1 -0
- package/dist/module/webhook/interface.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/polyfill/{bip39.browser.js → bip39.browser.cjs} +1 -0
- package/polyfill/{util.js → util.cjs} +0 -0
- package/src/Wallet.test.headless.js +6 -6
- package/src/cli.ts +3 -3
- package/src/db/ExchangeRateProvider.ts +1 -1
- package/src/db/IndexedDBProvider.test.ts +0 -1
- package/src/db/IndexedDBProvider.ts +2 -2
- package/src/db/SqlProvider.ts +14 -12
- package/src/db/StorageProvider.ts +1 -1
- package/src/db/getStorageProvider.ts +20 -0
- package/src/db/index.ts +3 -3
- package/src/db/util.ts +1 -20
- package/src/history/electrumTransformer.ts +13 -14
- package/src/history/interface.ts +1 -1
- package/src/index.ts +29 -21
- package/src/interface.ts +15 -0
- package/src/message/index.ts +2 -2
- package/src/message/signed.test.ts +4 -4
- package/src/message/signed.ts +23 -6
- package/src/mine/index.ts +1 -1
- package/src/mine/mine.ts +3 -3
- package/src/network/Connection.ts +5 -5
- package/src/network/ElectrumNetworkProvider.ts +85 -20
- package/src/network/NetworkProvider.ts +1 -1
- package/src/network/configuration.test.ts +33 -8
- package/src/network/configuration.ts +33 -18
- package/src/network/constant.ts +9 -4
- package/src/network/default.ts +13 -10
- package/src/network/getRelayFeeCache.ts +3 -3
- package/src/network/index.ts +6 -2
- package/src/network/util.ts +1 -1
- package/src/qr/Qr.ts +3 -3
- package/src/rate/ExchangeRate.ts +14 -15
- package/src/slp/GsppProvider.test.ts +2 -2
- package/src/slp/GsppProvider.ts +11 -8
- package/src/slp/SlpDbProvider.test.ts +1 -1
- package/src/slp/SlpDbProvider.ts +12 -9
- package/src/slp/SlpLibAuth.test.ts +1 -1
- package/src/slp/SlpLibAuth.ts +52 -42
- package/src/slp/SlpProvider.ts +6 -1
- package/src/slp/index.ts +4 -4
- package/src/slp/interface.ts +1 -1
- package/src/test/axios.ts +47 -0
- package/src/test/expect.ts +27 -2
- package/src/transaction/Wif.ts +203 -77
- package/src/transaction/allocateFee.ts +32 -14
- package/src/util/amountInSatoshi.ts +4 -4
- package/src/util/asSendRequestObject.ts +42 -30
- package/src/util/balanceObjectFromSatoshi.ts +5 -5
- package/src/util/base64.ts +5 -24
- package/src/util/browserNotSupported.ts +1 -1
- package/src/util/checkWifNetwork.ts +1 -1
- package/src/util/convert.ts +2 -2
- package/src/util/deriveCashaddr.test.ts +43 -0
- package/src/util/deriveCashaddr.ts +123 -7
- package/src/util/deriveNetwork.ts +2 -2
- package/src/util/derivePublicKeyHash.test.ts +3 -0
- package/src/util/derivePublicKeyHash.ts +18 -5
- package/src/util/eventsource.ts +4 -2
- package/src/util/getAddrsByXpubKey.test.ts +5 -5
- package/src/util/getAddrsByXpubKey.ts +23 -28
- package/src/util/getUsdRate.ts +1 -1
- package/src/util/getXPubKey.ts +5 -7
- package/src/util/hash160.test.ts +2 -2
- package/src/util/hash160.ts +2 -4
- package/src/util/index.ts +26 -20
- package/src/util/randomBytes.ts +2 -3
- package/src/util/randomValues.ts +8 -8
- package/src/util/sanitizeAddress.ts +1 -1
- package/src/util/sanitizeUnit.ts +1 -1
- package/src/util/satoshiToAmount.ts +4 -4
- package/src/util/sumSendRequestAmounts.ts +10 -4
- package/src/util/sumUtxoValue.ts +19 -7
- package/src/util/transaction.ts +10 -0
- package/src/wallet/Base.ts +11 -11
- package/src/wallet/Bcmr.test.headless.js +353 -0
- package/src/wallet/Bcmr.test.ts +610 -0
- package/src/wallet/Bcmr.ts +390 -0
- package/src/wallet/Cashtokens.test.headless.js +467 -0
- package/src/wallet/Cashtokens.test.ts +475 -0
- package/src/wallet/Slp.test.headless.js +6 -8
- package/src/wallet/Slp.test.ts +2 -2
- package/src/wallet/Slp.ts +26 -22
- package/src/wallet/Util.ts +9 -20
- package/src/wallet/Wif.test.ts +20 -21
- package/src/wallet/Wif.ts +534 -99
- package/src/wallet/bcmr-v1.schema.ts +639 -0
- package/src/wallet/createWallet.test.ts +1 -0
- package/src/wallet/createWallet.ts +4 -4
- package/src/wallet/interface.ts +9 -6
- package/src/wallet/model.ts +190 -19
- package/src/webhook/Webhook.ts +7 -3
- package/src/webhook/WebhookBch.ts +7 -7
- package/src/webhook/WebhookSlp.test.ts +2 -2
- package/src/webhook/WebhookSlp.ts +6 -6
- package/src/webhook/WebhookWorker.ts +2 -2
- package/src/webhook/index.ts +5 -5
- package/tsconfig.browser.json +0 -3
- package/tsconfig.json +17 -5
- package/{webpack.config.js → webpack.config.cjs} +46 -14
- package/dist/main/chain.d.ts +0 -3
- package/dist/main/chain.js +0 -7
- package/dist/main/chain.js.map +0 -1
- package/dist/main/cli.d.ts +0 -1
- package/dist/main/cli.js +0 -35
- package/dist/main/cli.js.map +0 -1
- package/dist/main/constant.d.ts +0 -5
- package/dist/main/constant.js +0 -27
- package/dist/main/constant.js.map +0 -1
- package/dist/main/db/ExchangeRateProvider.d.ts +0 -11
- package/dist/main/db/ExchangeRateProvider.js +0 -47
- package/dist/main/db/ExchangeRateProvider.js.map +0 -1
- package/dist/main/db/IndexedDBProvider.d.ts +0 -15
- package/dist/main/db/IndexedDBProvider.js +0 -86
- package/dist/main/db/IndexedDBProvider.js.map +0 -1
- package/dist/main/db/SqlProvider.d.ts +0 -41
- package/dist/main/db/SqlProvider.js +0 -217
- package/dist/main/db/SqlProvider.js.map +0 -1
- package/dist/main/db/StorageProvider.d.ts +0 -52
- package/dist/main/db/StorageProvider.js +0 -3
- package/dist/main/db/StorageProvider.js.map +0 -1
- package/dist/main/db/index.d.ts +0 -3
- package/dist/main/db/index.js +0 -11
- package/dist/main/db/index.js.map +0 -1
- package/dist/main/db/interface.d.ts +0 -22
- package/dist/main/db/interface.js +0 -3
- package/dist/main/db/interface.js.map +0 -1
- package/dist/main/db/util.d.ts +0 -5
- package/dist/main/db/util.js +0 -53
- package/dist/main/db/util.js.map +0 -1
- package/dist/main/enum.d.ts +0 -33
- package/dist/main/enum.js +0 -39
- package/dist/main/enum.js.map +0 -1
- package/dist/main/history/electrumTransformer.d.ts +0 -4
- package/dist/main/history/electrumTransformer.js +0 -216
- package/dist/main/history/electrumTransformer.js.map +0 -1
- package/dist/main/history/interface.d.ts +0 -16
- package/dist/main/history/interface.js +0 -3
- package/dist/main/history/interface.js.map +0 -1
- package/dist/main/index.d.ts +0 -24
- package/dist/main/index.js +0 -62
- package/dist/main/index.js.map +0 -1
- package/dist/main/interface.d.ts +0 -31
- package/dist/main/interface.js +0 -12
- package/dist/main/interface.js.map +0 -1
- package/dist/main/message/index.d.ts +0 -2
- package/dist/main/message/index.js +0 -15
- package/dist/main/message/index.js.map +0 -1
- package/dist/main/message/interface.d.ts +0 -29
- package/dist/main/message/interface.js +0 -6
- package/dist/main/message/interface.js.map +0 -1
- package/dist/main/message/signed.d.ts +0 -33
- package/dist/main/message/signed.js +0 -141
- package/dist/main/message/signed.js.map +0 -1
- package/dist/main/mine/index.d.ts +0 -1
- package/dist/main/mine/index.js +0 -14
- package/dist/main/mine/index.js.map +0 -1
- package/dist/main/mine/mine.d.ts +0 -13
- package/dist/main/mine/mine.js +0 -37
- package/dist/main/mine/mine.js.map +0 -1
- package/dist/main/network/Connection.d.ts +0 -14
- package/dist/main/network/Connection.js +0 -71
- package/dist/main/network/Connection.js.map +0 -1
- package/dist/main/network/ElectrumNetworkProvider.d.ts +0 -49
- package/dist/main/network/ElectrumNetworkProvider.js +0 -338
- package/dist/main/network/ElectrumNetworkProvider.js.map +0 -1
- package/dist/main/network/NetworkProvider.d.ts +0 -107
- package/dist/main/network/NetworkProvider.js +0 -3
- package/dist/main/network/NetworkProvider.js.map +0 -1
- package/dist/main/network/configuration.d.ts +0 -12
- package/dist/main/network/configuration.js +0 -79
- package/dist/main/network/configuration.js.map +0 -1
- package/dist/main/network/constant.d.ts +0 -35
- package/dist/main/network/constant.js +0 -55
- package/dist/main/network/constant.js.map +0 -1
- package/dist/main/network/default.d.ts +0 -7
- package/dist/main/network/default.js +0 -107
- package/dist/main/network/default.js.map +0 -1
- package/dist/main/network/getRelayFeeCache.d.ts +0 -2
- package/dist/main/network/getRelayFeeCache.js +0 -27
- package/dist/main/network/getRelayFeeCache.js.map +0 -1
- package/dist/main/network/index.d.ts +0 -2
- package/dist/main/network/index.js +0 -10
- package/dist/main/network/index.js.map +0 -1
- package/dist/main/network/interface.d.ts +0 -60
- package/dist/main/network/interface.js +0 -3
- package/dist/main/network/interface.js.map +0 -1
- package/dist/main/network/util.d.ts +0 -2
- package/dist/main/network/util.js +0 -32
- package/dist/main/network/util.js.map +0 -1
- package/dist/main/qr/Qr.d.ts +0 -8
- package/dist/main/qr/Qr.js +0 -26
- package/dist/main/qr/Qr.js.map +0 -1
- package/dist/main/qr/interface.d.ts +0 -5
- package/dist/main/qr/interface.js +0 -3
- package/dist/main/qr/interface.js.map +0 -1
- package/dist/main/rate/ExchangeRate.d.ts +0 -19
- package/dist/main/rate/ExchangeRate.js +0 -147
- package/dist/main/rate/ExchangeRate.js.map +0 -1
- package/dist/main/slp/GsppProvider.d.ts +0 -54
- package/dist/main/slp/GsppProvider.js +0 -214
- package/dist/main/slp/GsppProvider.js.map +0 -1
- package/dist/main/slp/SlpDbProvider.d.ts +0 -51
- package/dist/main/slp/SlpDbProvider.js +0 -182
- package/dist/main/slp/SlpDbProvider.js.map +0 -1
- package/dist/main/slp/SlpDbTemplates.d.ts +0 -312
- package/dist/main/slp/SlpDbTemplates.js +0 -387
- package/dist/main/slp/SlpDbTemplates.js.map +0 -1
- package/dist/main/slp/SlpLibAuth.d.ts +0 -217
- package/dist/main/slp/SlpLibAuth.js +0 -452
- package/dist/main/slp/SlpLibAuth.js.map +0 -1
- package/dist/main/slp/SlpProvider.d.ts +0 -23
- package/dist/main/slp/SlpProvider.js +0 -39
- package/dist/main/slp/SlpProvider.js.map +0 -1
- package/dist/main/slp/index.d.ts +0 -5
- package/dist/main/slp/index.js +0 -24
- package/dist/main/slp/index.js.map +0 -1
- package/dist/main/slp/interface.d.ts +0 -113
- package/dist/main/slp/interface.js +0 -10
- package/dist/main/slp/interface.js.map +0 -1
- package/dist/main/test/expect.d.ts +0 -7
- package/dist/main/test/expect.js +0 -31
- package/dist/main/test/expect.js.map +0 -1
- package/dist/main/transaction/Wif.d.ts +0 -42
- package/dist/main/transaction/Wif.js +0 -214
- package/dist/main/transaction/Wif.js.map +0 -1
- package/dist/main/transaction/allocateFee.d.ts +0 -7
- package/dist/main/transaction/allocateFee.js +0 -118
- package/dist/main/transaction/allocateFee.js.map +0 -1
- package/dist/main/util/amountInSatoshi.d.ts +0 -9
- package/dist/main/util/amountInSatoshi.js +0 -38
- package/dist/main/util/amountInSatoshi.js.map +0 -1
- package/dist/main/util/asSendRequestObject.d.ts +0 -2
- package/dist/main/util/asSendRequestObject.js +0 -57
- package/dist/main/util/asSendRequestObject.js.map +0 -1
- package/dist/main/util/balanceObjectFromSatoshi.d.ts +0 -8
- package/dist/main/util/balanceObjectFromSatoshi.js +0 -62
- package/dist/main/util/balanceObjectFromSatoshi.js.map +0 -1
- package/dist/main/util/base64.d.ts +0 -2
- package/dist/main/util/base64.js +0 -36
- package/dist/main/util/base64.js.map +0 -1
- package/dist/main/util/bchaddr.d.ts +0 -1
- package/dist/main/util/bchaddr.js +0 -24
- package/dist/main/util/bchaddr.js.map +0 -1
- package/dist/main/util/browserNotSupported.d.ts +0 -1
- package/dist/main/util/browserNotSupported.js +0 -11
- package/dist/main/util/browserNotSupported.js.map +0 -1
- package/dist/main/util/checkForEmptySeed.d.ts +0 -2
- package/dist/main/util/checkForEmptySeed.js +0 -12
- package/dist/main/util/checkForEmptySeed.js.map +0 -1
- package/dist/main/util/checkWifNetwork.d.ts +0 -2
- package/dist/main/util/checkWifNetwork.js +0 -16
- package/dist/main/util/checkWifNetwork.js.map +0 -1
- package/dist/main/util/convert.d.ts +0 -15
- package/dist/main/util/convert.js +0 -24
- package/dist/main/util/convert.js.map +0 -1
- package/dist/main/util/delay.d.ts +0 -1
- package/dist/main/util/delay.js +0 -8
- package/dist/main/util/delay.js.map +0 -1
- package/dist/main/util/deriveCashaddr.d.ts +0 -2
- package/dist/main/util/deriveCashaddr.js +0 -13
- package/dist/main/util/deriveCashaddr.js.map +0 -1
- package/dist/main/util/deriveLockscript.d.ts +0 -8
- package/dist/main/util/deriveLockscript.js +0 -19
- package/dist/main/util/deriveLockscript.js.map +0 -1
- package/dist/main/util/deriveNetwork.d.ts +0 -1
- package/dist/main/util/deriveNetwork.js +0 -23
- package/dist/main/util/deriveNetwork.js.map +0 -1
- package/dist/main/util/derivePublicKeyHash.d.ts +0 -16
- package/dist/main/util/derivePublicKeyHash.js +0 -49
- package/dist/main/util/derivePublicKeyHash.js.map +0 -1
- package/dist/main/util/eventsource.d.ts +0 -2
- package/dist/main/util/eventsource.js +0 -12
- package/dist/main/util/eventsource.js.map +0 -1
- package/dist/main/util/floor.d.ts +0 -1
- package/dist/main/util/floor.js +0 -9
- package/dist/main/util/floor.js.map +0 -1
- package/dist/main/util/getAddrsByXpubKey.d.ts +0 -22
- package/dist/main/util/getAddrsByXpubKey.js +0 -79
- package/dist/main/util/getAddrsByXpubKey.js.map +0 -1
- package/dist/main/util/getRuntimePlatform.d.ts +0 -6
- package/dist/main/util/getRuntimePlatform.js +0 -34
- package/dist/main/util/getRuntimePlatform.js.map +0 -1
- package/dist/main/util/getUsdRate.d.ts +0 -1
- package/dist/main/util/getUsdRate.js +0 -9
- package/dist/main/util/getUsdRate.js.map +0 -1
- package/dist/main/util/getXPubKey.d.ts +0 -1
- package/dist/main/util/getXPubKey.js +0 -26
- package/dist/main/util/getXPubKey.js.map +0 -1
- package/dist/main/util/hash160.d.ts +0 -8
- package/dist/main/util/hash160.js +0 -18
- package/dist/main/util/hash160.js.map +0 -1
- package/dist/main/util/index.d.ts +0 -21
- package/dist/main/util/index.js +0 -72
- package/dist/main/util/index.js.map +0 -1
- package/dist/main/util/randomBytes.d.ts +0 -1
- package/dist/main/util/randomBytes.js +0 -18
- package/dist/main/util/randomBytes.js.map +0 -1
- package/dist/main/util/randomInt.d.ts +0 -1
- package/dist/main/util/randomInt.js +0 -9
- package/dist/main/util/randomInt.js.map +0 -1
- package/dist/main/util/randomValues.d.ts +0 -1
- package/dist/main/util/randomValues.js +0 -15
- package/dist/main/util/randomValues.js.map +0 -1
- package/dist/main/util/sanitizeAddress.d.ts +0 -1
- package/dist/main/util/sanitizeAddress.js +0 -15
- package/dist/main/util/sanitizeAddress.js.map +0 -1
- package/dist/main/util/sanitizeUnit.d.ts +0 -2
- package/dist/main/util/sanitizeUnit.js +0 -13
- package/dist/main/util/sanitizeUnit.js.map +0 -1
- package/dist/main/util/satoshiToAmount.d.ts +0 -9
- package/dist/main/util/satoshiToAmount.js +0 -41
- package/dist/main/util/satoshiToAmount.js.map +0 -1
- package/dist/main/util/sumSendRequestAmounts.d.ts +0 -2
- package/dist/main/util/sumSendRequestAmounts.js +0 -31
- package/dist/main/util/sumSendRequestAmounts.js.map +0 -1
- package/dist/main/util/sumUtxoValue.d.ts +0 -2
- package/dist/main/util/sumUtxoValue.js +0 -17
- package/dist/main/util/sumUtxoValue.js.map +0 -1
- package/dist/main/wallet/Base.d.ts +0 -202
- package/dist/main/wallet/Base.js +0 -438
- package/dist/main/wallet/Base.js.map +0 -1
- package/dist/main/wallet/Slp.d.ts +0 -430
- package/dist/main/wallet/Slp.js +0 -775
- package/dist/main/wallet/Slp.js.map +0 -1
- package/dist/main/wallet/Util.d.ts +0 -69
- package/dist/main/wallet/Util.js +0 -182
- package/dist/main/wallet/Util.js.map +0 -1
- package/dist/main/wallet/Wif.d.ts +0 -255
- package/dist/main/wallet/Wif.js +0 -1067
- package/dist/main/wallet/Wif.js.map +0 -1
- package/dist/main/wallet/createWallet.d.ts +0 -69
- package/dist/main/wallet/createWallet.js +0 -244
- package/dist/main/wallet/createWallet.js.map +0 -1
- package/dist/main/wallet/enum.d.ts +0 -16
- package/dist/main/wallet/enum.js +0 -22
- package/dist/main/wallet/enum.js.map +0 -1
- package/dist/main/wallet/interface.d.ts +0 -76
- package/dist/main/wallet/interface.js +0 -3
- package/dist/main/wallet/interface.js.map +0 -1
- package/dist/main/wallet/model.d.ts +0 -88
- package/dist/main/wallet/model.js +0 -129
- package/dist/main/wallet/model.js.map +0 -1
- package/dist/main/webhook/Webhook.d.ts +0 -40
- package/dist/main/webhook/Webhook.js +0 -82
- package/dist/main/webhook/Webhook.js.map +0 -1
- package/dist/main/webhook/WebhookBch.d.ts +0 -13
- package/dist/main/webhook/WebhookBch.js +0 -148
- package/dist/main/webhook/WebhookBch.js.map +0 -1
- package/dist/main/webhook/WebhookSlp.d.ts +0 -14
- package/dist/main/webhook/WebhookSlp.js +0 -107
- package/dist/main/webhook/WebhookSlp.js.map +0 -1
- package/dist/main/webhook/WebhookWorker.d.ts +0 -22
- package/dist/main/webhook/WebhookWorker.js +0 -100
- package/dist/main/webhook/WebhookWorker.js.map +0 -1
- package/dist/main/webhook/index.d.ts +0 -5
- package/dist/main/webhook/index.js +0 -23
- package/dist/main/webhook/index.js.map +0 -1
- package/dist/main/webhook/interface.d.ts +0 -8
- package/dist/main/webhook/interface.js +0 -3
- package/dist/main/webhook/interface.js.map +0 -1
- package/dist/mainnet-0.5.9.js +0 -2
- package/dist/mainnet-0.5.9.js.LICENSE.txt +0 -48
- package/dist/tsconfig.browser.tsbuildinfo +0 -1
- package/jest.config.js +0 -23
package/dist/main/wallet/Base.js
DELETED
|
@@ -1,438 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getNamedWalletId = exports.BaseWallet = void 0;
|
|
4
|
-
const util_1 = require("../db/util");
|
|
5
|
-
const enum_1 = require("../enum");
|
|
6
|
-
const getRuntimePlatform_1 = require("../util/getRuntimePlatform");
|
|
7
|
-
const Qr_1 = require("../qr/Qr");
|
|
8
|
-
const enum_2 = require("./enum");
|
|
9
|
-
/**
|
|
10
|
-
* A class to hold features used by all wallets
|
|
11
|
-
* @class BaseWallet
|
|
12
|
-
*/
|
|
13
|
-
class BaseWallet {
|
|
14
|
-
//#endregion Accessors
|
|
15
|
-
//#region Constructors and Statics
|
|
16
|
-
/**
|
|
17
|
-
* constructor for a new wallet
|
|
18
|
-
* @param {string} name name of the wallet
|
|
19
|
-
* @param network network for wallet
|
|
20
|
-
*
|
|
21
|
-
* @throws {Error} if called on BaseWallet
|
|
22
|
-
*/
|
|
23
|
-
constructor(name = "", network = enum_1.NetworkType.Mainnet, walletType = enum_2.WalletTypeEnum.Seed) {
|
|
24
|
-
this.derivationPath = "m/44'/0'/0'/0/0";
|
|
25
|
-
this.parentDerivationPath = "m/44'/0'/0'";
|
|
26
|
-
this.name = name;
|
|
27
|
-
this.network = network;
|
|
28
|
-
this.walletType = walletType;
|
|
29
|
-
this.provider = this.getNetworkProvider(this.network);
|
|
30
|
-
this.isTestnet = this.network === enum_1.NetworkType.Mainnet ? false : true;
|
|
31
|
-
}
|
|
32
|
-
//#region Accessors
|
|
33
|
-
getNetworkProvider(
|
|
34
|
-
// @ts-ignore
|
|
35
|
-
network = enum_1.NetworkType.Mainnet) {
|
|
36
|
-
throw Error("getNetworkProvider called on base wallet");
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* getDepositAddress - get a wallet deposit address
|
|
40
|
-
*
|
|
41
|
-
* a high-level function,
|
|
42
|
-
*
|
|
43
|
-
* @see {@link https://rest-unstable.mainnet.cash/api-docs/#/wallet/depositAddress|/wallet/deposit_address} for REST endpoint
|
|
44
|
-
*
|
|
45
|
-
* @returns The deposit address as a string
|
|
46
|
-
*/
|
|
47
|
-
getDepositAddress() {
|
|
48
|
-
return this.address;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* getDepositQr - get an address qrcode, encoded for display on the web
|
|
52
|
-
*
|
|
53
|
-
* a high-level function
|
|
54
|
-
*
|
|
55
|
-
* @see {@link https://rest-unstable.mainnet.cash/api-docs/#/wallet/depositQr|/wallet/deposit_qr} for REST endpoint
|
|
56
|
-
*
|
|
57
|
-
* @returns The qrcode for the slp address
|
|
58
|
-
*/
|
|
59
|
-
getDepositQr() {
|
|
60
|
-
return (0, Qr_1.qrAddress)(this.getDepositAddress());
|
|
61
|
-
}
|
|
62
|
-
// Get mnemonic and derivation path for wallet
|
|
63
|
-
getSeed() {
|
|
64
|
-
if (!this.mnemonic) {
|
|
65
|
-
throw Error("Wallet mnemonic seed phrase not set");
|
|
66
|
-
}
|
|
67
|
-
if (!this.derivationPath) {
|
|
68
|
-
throw Error("Wallet derivation path not set");
|
|
69
|
-
}
|
|
70
|
-
return {
|
|
71
|
-
seed: this.mnemonic,
|
|
72
|
-
derivationPath: this.derivationPath,
|
|
73
|
-
parentDerivationPath: this.parentDerivationPath,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* fromId - create a wallet from encoded walletId string
|
|
78
|
-
*
|
|
79
|
-
* @param walletId walletId options to steer the creation process
|
|
80
|
-
*
|
|
81
|
-
* @returns wallet instantiated accordingly to the walletId rules
|
|
82
|
-
*/
|
|
83
|
-
static async fromId(walletId) {
|
|
84
|
-
return new this().fromId(walletId);
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* fromSeed - create a wallet using the seed phrase and derivation path
|
|
88
|
-
*
|
|
89
|
-
* unless specified the derivation path m/44'/245'/0'/0/0 will be userd
|
|
90
|
-
* this derivation path is standard for Electron Cash SLP and other SLP enabled wallets
|
|
91
|
-
*
|
|
92
|
-
* @param seed BIP39 12 word seed phrase
|
|
93
|
-
* @param derivationPath BIP44 HD wallet derivation path to get a single the private key from hierarchy
|
|
94
|
-
*
|
|
95
|
-
* @returns instantiated wallet
|
|
96
|
-
*/
|
|
97
|
-
static async fromSeed(seed, derivationPath) {
|
|
98
|
-
return new this().fromSeed(seed, derivationPath);
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* newRandom - create a random wallet
|
|
102
|
-
*
|
|
103
|
-
* if `name` parameter is specified, the wallet will also be persisted to DB
|
|
104
|
-
*
|
|
105
|
-
* @param name user friendly wallet alias
|
|
106
|
-
* @param dbName name under which the wallet will be stored in the database
|
|
107
|
-
*
|
|
108
|
-
* @returns instantiated wallet
|
|
109
|
-
*/
|
|
110
|
-
static async newRandom(name = "", dbName) {
|
|
111
|
-
return new this().newRandom(name, dbName);
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* watchOnly - create a watch-only wallet
|
|
115
|
-
*
|
|
116
|
-
* such kind of wallet does not have a private key and is unable to spend any funds
|
|
117
|
-
* however it still allows to use many utility functions such as getting and watching balance, etc.
|
|
118
|
-
*
|
|
119
|
-
* @param address cashaddress or slpaddress of a wallet
|
|
120
|
-
*
|
|
121
|
-
* @returns instantiated wallet
|
|
122
|
-
*/
|
|
123
|
-
static async watchOnly(address) {
|
|
124
|
-
return new this().watchOnly(address);
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* named - create a named wallet
|
|
128
|
-
*
|
|
129
|
-
* @param name user friendly wallet alias
|
|
130
|
-
* @param dbName name under which the wallet will be stored in the database
|
|
131
|
-
* @param force force recreate wallet in the database if a record already exist
|
|
132
|
-
*
|
|
133
|
-
* @returns instantiated wallet
|
|
134
|
-
*/
|
|
135
|
-
static async named(name, dbName, force) {
|
|
136
|
-
return new this().named(name, dbName, force);
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* replaceNamed - replace (recover) named wallet with a new walletId
|
|
140
|
-
*
|
|
141
|
-
* If wallet with a provided name does not exist yet, it will be created with a `walletId` supplied
|
|
142
|
-
* If wallet exists it will be overwritten without exception
|
|
143
|
-
*
|
|
144
|
-
* @param name user friendly wallet alias
|
|
145
|
-
* @param walletId walletId options to steer the creation process
|
|
146
|
-
* @param dbName name under which the wallet will be stored in the database
|
|
147
|
-
*
|
|
148
|
-
* @returns instantiated wallet
|
|
149
|
-
*/
|
|
150
|
-
static async replaceNamed(name, walletId, dbName) {
|
|
151
|
-
return new this().replaceNamed(name, walletId, dbName);
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* namedExists - check if a named wallet already exists
|
|
155
|
-
*
|
|
156
|
-
* @param name user friendly wallet alias
|
|
157
|
-
* @param dbName name under which the wallet will be stored in the database
|
|
158
|
-
*
|
|
159
|
-
* @returns boolean
|
|
160
|
-
*/
|
|
161
|
-
static async namedExists(name, dbName) {
|
|
162
|
-
return new this().namedExists(name, dbName);
|
|
163
|
-
}
|
|
164
|
-
//#endregion Constructors
|
|
165
|
-
//#region Protected implementations
|
|
166
|
-
/**
|
|
167
|
-
* generate creates a new wallet
|
|
168
|
-
* @throws {Error} if called on BaseWallet
|
|
169
|
-
*/
|
|
170
|
-
generate() {
|
|
171
|
-
throw Error("generate called on base wallet");
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* fromId - creates a wallet from serialized string
|
|
175
|
-
*
|
|
176
|
-
* @throws {Error} if called on BaseWallet
|
|
177
|
-
*/
|
|
178
|
-
fromId(walletId) {
|
|
179
|
-
let [walletType, networkGiven, arg1, arg2] = walletId.split(":");
|
|
180
|
-
if (this.network != networkGiven) {
|
|
181
|
-
throw Error(`Network prefix ${networkGiven} to a ${this.network} wallet`);
|
|
182
|
-
}
|
|
183
|
-
switch (walletType) {
|
|
184
|
-
case "watch":
|
|
185
|
-
if (arg2) {
|
|
186
|
-
// watch:testnet:bchtest:qq1234567
|
|
187
|
-
return this.watchOnly(`${arg1}:${arg2}`);
|
|
188
|
-
}
|
|
189
|
-
// watch:testnet:qq1234567
|
|
190
|
-
return this.watchOnly(`${arg1}`);
|
|
191
|
-
case "named":
|
|
192
|
-
if (arg2) {
|
|
193
|
-
// named:testnet:wallet_1:my_database
|
|
194
|
-
return this.named(arg1, arg2);
|
|
195
|
-
}
|
|
196
|
-
else {
|
|
197
|
-
// named:testnet:wallet_1
|
|
198
|
-
return this.named(arg1);
|
|
199
|
-
}
|
|
200
|
-
case "seed":
|
|
201
|
-
if (arg2) {
|
|
202
|
-
// seed:testnet:table later ... stove kitten pluck:m/44'/0'/0'/0/0
|
|
203
|
-
return this.fromSeed(arg1, arg2);
|
|
204
|
-
}
|
|
205
|
-
// seed:testnet:table later ... stove kitten pluck
|
|
206
|
-
return this.fromSeed(arg1);
|
|
207
|
-
default:
|
|
208
|
-
throw Error(`Unknown wallet type '${walletType}'`);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
// Initialize wallet from a mnemonic phrase
|
|
212
|
-
async fromSeed(
|
|
213
|
-
// @ts-ignore
|
|
214
|
-
mnemonic,
|
|
215
|
-
// @ts-ignore
|
|
216
|
-
derivationPath) {
|
|
217
|
-
throw Error("fromSeed called on base wallet");
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* newRandom (internal) if the wallet is named, get or create it; otherwise create a random
|
|
221
|
-
* unnamed wallet
|
|
222
|
-
* @param {string} name name of the wallet
|
|
223
|
-
* @param {string} dbName database name the wallet is stored in
|
|
224
|
-
*/
|
|
225
|
-
async newRandom(name, dbName) {
|
|
226
|
-
if (name.length > 0) {
|
|
227
|
-
return this.named(name, dbName);
|
|
228
|
-
}
|
|
229
|
-
else {
|
|
230
|
-
return this.generate();
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
// @ts-ignore
|
|
234
|
-
async watchOnly(address) {
|
|
235
|
-
throw Error("fromSeed called on base wallet");
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* named (internal) get a named wallet from the database or create a new one.
|
|
239
|
-
* Note: this function should behave identically if
|
|
240
|
-
*
|
|
241
|
-
* @param {string} name name of the wallet
|
|
242
|
-
* @param {string} dbName database name the wallet is stored in
|
|
243
|
-
* @param {boolean} forceNew attempt to overwrite an existing wallet
|
|
244
|
-
*
|
|
245
|
-
* @throws {Error} if forceNew is true and the wallet already exists
|
|
246
|
-
* @returns a promise to a named wallet
|
|
247
|
-
*/
|
|
248
|
-
async named(name, dbName, forceNew = false) {
|
|
249
|
-
if (name.length === 0) {
|
|
250
|
-
throw Error("Named wallets must have a non-empty name");
|
|
251
|
-
}
|
|
252
|
-
_checkContextSafety(this);
|
|
253
|
-
this.name = name;
|
|
254
|
-
dbName = dbName ? dbName : this.network;
|
|
255
|
-
let db = (0, util_1.getStorageProvider)(dbName);
|
|
256
|
-
// If there is a database, force saving or error
|
|
257
|
-
if (db) {
|
|
258
|
-
await db.init();
|
|
259
|
-
let savedWalletRecord = await db.getWallet(name);
|
|
260
|
-
if (savedWalletRecord) {
|
|
261
|
-
await db.close();
|
|
262
|
-
if (forceNew) {
|
|
263
|
-
throw Error(`A wallet with the name ${name} already exists in ${dbName}`);
|
|
264
|
-
}
|
|
265
|
-
let recoveredWallet = await this.fromId(savedWalletRecord.wallet);
|
|
266
|
-
recoveredWallet.name = savedWalletRecord.name;
|
|
267
|
-
return recoveredWallet;
|
|
268
|
-
}
|
|
269
|
-
else {
|
|
270
|
-
let wallet = await this.generate();
|
|
271
|
-
await db.addWallet(wallet.name, wallet.toDbString());
|
|
272
|
-
await db.close();
|
|
273
|
-
return wallet;
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
else {
|
|
277
|
-
throw Error("No database was available or configured to store the named wallet.");
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* replaceNamed - Replace (recover) named wallet with a new walletId
|
|
282
|
-
*
|
|
283
|
-
* If wallet with a provided name does not exist yet, it will be created with a `walletId` supplied
|
|
284
|
-
* If wallet exists it will be overwritten without exception
|
|
285
|
-
*
|
|
286
|
-
* @param name user friendly wallet alias
|
|
287
|
-
* @param walletId walletId options to steer the creation process
|
|
288
|
-
* @param dbName name under which the wallet will be stored in the database
|
|
289
|
-
*
|
|
290
|
-
* @returns instantiated wallet
|
|
291
|
-
*/
|
|
292
|
-
async replaceNamed(name, walletId, dbName) {
|
|
293
|
-
if (name.length === 0) {
|
|
294
|
-
throw Error("Named wallets must have a non-empty name");
|
|
295
|
-
}
|
|
296
|
-
_checkContextSafety(this);
|
|
297
|
-
this.name = name;
|
|
298
|
-
dbName = dbName ? dbName : this.network;
|
|
299
|
-
let db = (0, util_1.getStorageProvider)(dbName);
|
|
300
|
-
if (db) {
|
|
301
|
-
await db.init();
|
|
302
|
-
let savedWalletRecord = await db.getWallet(name);
|
|
303
|
-
await this.fromId(walletId);
|
|
304
|
-
if (savedWalletRecord) {
|
|
305
|
-
await db.updateWallet(name, walletId);
|
|
306
|
-
}
|
|
307
|
-
else {
|
|
308
|
-
await db.addWallet(name, walletId);
|
|
309
|
-
}
|
|
310
|
-
await db.close();
|
|
311
|
-
return this;
|
|
312
|
-
}
|
|
313
|
-
else {
|
|
314
|
-
throw Error("No database was available or configured to store the named wallet.");
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
/**
|
|
318
|
-
* namedExists - check if a named wallet already exists
|
|
319
|
-
*
|
|
320
|
-
* @param name user friendly wallet alias
|
|
321
|
-
* @param dbName name under which the wallet will be stored in the database
|
|
322
|
-
*
|
|
323
|
-
* @returns boolean
|
|
324
|
-
*/
|
|
325
|
-
async namedExists(name, dbName) {
|
|
326
|
-
if (name.length === 0) {
|
|
327
|
-
throw Error("Named wallets must have a non-empty name");
|
|
328
|
-
}
|
|
329
|
-
_checkContextSafety(this);
|
|
330
|
-
dbName = dbName ? dbName : this.network;
|
|
331
|
-
let db = (0, util_1.getStorageProvider)(dbName);
|
|
332
|
-
if (db) {
|
|
333
|
-
await db.init();
|
|
334
|
-
let savedWalletRecord = await db.getWallet(name);
|
|
335
|
-
await db.close();
|
|
336
|
-
return savedWalletRecord !== undefined;
|
|
337
|
-
}
|
|
338
|
-
else {
|
|
339
|
-
throw Error("No database was available or configured to store the named wallet.");
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
//#endregion Protected implementations
|
|
343
|
-
//#region Serialization
|
|
344
|
-
/**
|
|
345
|
-
* toDbString - store the serialized version of the wallet in the database, not just the name
|
|
346
|
-
*
|
|
347
|
-
* @throws {Error} if called on BaseWallet
|
|
348
|
-
*/
|
|
349
|
-
toDbString() {
|
|
350
|
-
if (this.walletType == enum_2.WalletTypeEnum.Seed) {
|
|
351
|
-
return `${this.walletType}:${this.network}:${this.mnemonic}:${this.derivationPath}`;
|
|
352
|
-
}
|
|
353
|
-
else if (this.walletType == enum_2.WalletTypeEnum.Watch) {
|
|
354
|
-
return `${this.walletType}:${this.network}:${this.getDepositAddress()}`;
|
|
355
|
-
}
|
|
356
|
-
return "";
|
|
357
|
-
}
|
|
358
|
-
// Returns the serialized wallet as a string
|
|
359
|
-
// If storing in a database, set asNamed to false to store secrets
|
|
360
|
-
// In all other cases, the a named wallet is deserialized from the database
|
|
361
|
-
// by the name key
|
|
362
|
-
toString() {
|
|
363
|
-
if (this.name) {
|
|
364
|
-
return `named:${this.network}:${this.name}`;
|
|
365
|
-
}
|
|
366
|
-
else if (this.walletType == enum_2.WalletTypeEnum.Seed) {
|
|
367
|
-
return `${this.walletType}:${this.network}:${this.mnemonic}:${this.derivationPath}`;
|
|
368
|
-
}
|
|
369
|
-
else if (this.walletType == enum_2.WalletTypeEnum.Watch) {
|
|
370
|
-
return `${this.walletType}:${this.network}:${this.getDepositAddress()}`;
|
|
371
|
-
}
|
|
372
|
-
return "";
|
|
373
|
-
}
|
|
374
|
-
//#endregion Serialization
|
|
375
|
-
//#region Funds
|
|
376
|
-
// @ts-ignore
|
|
377
|
-
async getBalance(rawUnit) {
|
|
378
|
-
throw Error("sendMax called on base wallet");
|
|
379
|
-
}
|
|
380
|
-
// @ts-ignore
|
|
381
|
-
async getMaxAmountToSend(params) {
|
|
382
|
-
throw Error("getMaxAmountToSend called on base wallet");
|
|
383
|
-
}
|
|
384
|
-
// @ts-ignore
|
|
385
|
-
async send(requests, options) {
|
|
386
|
-
throw Error("send called on base wallet");
|
|
387
|
-
}
|
|
388
|
-
// @ts-ignore
|
|
389
|
-
async sendMax(address, options) {
|
|
390
|
-
throw Error("sendMax called on base wallet");
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
exports.BaseWallet = BaseWallet;
|
|
394
|
-
/**
|
|
395
|
-
* _checkContextSafety (internal) if running in nodejs, will disable saving
|
|
396
|
-
* mainnet wallets on public servers if ALLOW_MAINNET_USER_WALLETS is set to false
|
|
397
|
-
* @param {BaseWallet} wallet a wallet
|
|
398
|
-
*/
|
|
399
|
-
const _checkContextSafety = function (wallet) {
|
|
400
|
-
if ((0, getRuntimePlatform_1.getRuntimePlatform)() === "node") {
|
|
401
|
-
if (process.env.ALLOW_MAINNET_USER_WALLETS === `false`) {
|
|
402
|
-
if (wallet.network === enum_1.NetworkType.Mainnet) {
|
|
403
|
-
throw Error(`Refusing to save wallet in an open public database, remove ALLOW_MAINNET_USER_WALLETS="false", if this service is secure and private`);
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
};
|
|
408
|
-
/**
|
|
409
|
-
* getNamedWalletId - get the full wallet id from the database
|
|
410
|
-
*
|
|
411
|
-
* @param name user friendly wallet alias
|
|
412
|
-
* @param dbName name under which the wallet will be stored in the database
|
|
413
|
-
*
|
|
414
|
-
* @returns boolean
|
|
415
|
-
*/
|
|
416
|
-
async function getNamedWalletId(name, dbName) {
|
|
417
|
-
if (name.length === 0) {
|
|
418
|
-
throw Error("Named wallets must have a non-empty name");
|
|
419
|
-
}
|
|
420
|
-
dbName = dbName ? dbName : dbName;
|
|
421
|
-
let db = (0, util_1.getStorageProvider)(dbName);
|
|
422
|
-
if (db) {
|
|
423
|
-
await db.init();
|
|
424
|
-
let savedWalletRecord = await db.getWallet(name);
|
|
425
|
-
await db.close();
|
|
426
|
-
if (savedWalletRecord !== undefined) {
|
|
427
|
-
return savedWalletRecord.wallet;
|
|
428
|
-
}
|
|
429
|
-
else {
|
|
430
|
-
throw Error(`No record was found for ${name} in db: ${dbName}`);
|
|
431
|
-
}
|
|
432
|
-
}
|
|
433
|
-
else {
|
|
434
|
-
throw Error("No database was available or configured to store the named wallet.");
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
exports.getNamedWalletId = getNamedWalletId;
|
|
438
|
-
//# sourceMappingURL=Base.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Base.js","sourceRoot":"","sources":["../../../src/wallet/Base.ts"],"names":[],"mappings":"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"}
|