@ledgerhq/live-common 21.8.2 → 21.10.0-btcjs.2
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/lib/__tests__/currencies.js +1 -0
- package/lib/__tests__/currencies.js.map +1 -1
- package/lib/__tests__/families/bitcoin/logic.js +7 -7
- package/lib/__tests__/families/bitcoin/logic.js.map +1 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/wallet.estimateMaxSpendable.test.js +1 -2
- package/lib/__tests__/families/bitcoin/wallet-btc/wallet.estimateMaxSpendable.test.js.map +1 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.js +5 -3
- package/lib/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.js.map +1 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js +9 -7
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js.map +1 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.NP2WPKH.integration.test.js +2 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.NP2WPKH.integration.test.js.map +1 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.P2WPKH.integration.test.js +2 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.P2WPKH.integration.test.js.map +1 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.integration.test.js +4 -2
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.integration.test.js.map +1 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.litecoin.test.js +2 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.litecoin.test.js.map +1 -1
- package/lib/account/helpers.d.ts.map +1 -1
- package/lib/account/helpers.js +8 -1
- package/lib/account/helpers.js.map +1 -1
- package/lib/account/pending.d.ts +1 -1
- package/lib/account/support.d.ts.map +1 -1
- package/lib/account/support.js +2 -1
- package/lib/account/support.js.map +1 -1
- package/lib/api/explorerConfig/index.d.ts.map +1 -1
- package/lib/api/explorerConfig/index.js +0 -36
- package/lib/api/explorerConfig/index.js.map +1 -1
- package/lib/bridge/jsHelpers.d.ts +2 -1
- package/lib/bridge/jsHelpers.d.ts.map +1 -1
- package/lib/bridge/jsHelpers.js +56 -43
- package/lib/bridge/jsHelpers.js.map +1 -1
- package/lib/derivation.d.ts +12 -0
- package/lib/derivation.d.ts.map +1 -1
- package/lib/derivation.js +32 -4
- package/lib/derivation.js.map +1 -1
- package/lib/env.d.ts +5 -10
- package/lib/env.d.ts.map +1 -1
- package/lib/env.js +2 -7
- package/lib/env.js.map +1 -1
- package/lib/env.react.d.ts +1 -1
- package/lib/env.react.d.ts.map +1 -1
- package/lib/errors.d.ts +3 -0
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +2 -1
- package/lib/errors.js.map +1 -1
- package/lib/exchange/swap/hooks/usePickDefaultAccount.d.ts.map +1 -1
- package/lib/exchange/swap/hooks/usePickDefaultAccount.js +48 -26
- package/lib/exchange/swap/hooks/usePickDefaultAccount.js.map +1 -1
- package/lib/exchange/swap/hooks/usePickDefaultAccount.test.js +20 -37
- package/lib/exchange/swap/hooks/usePickDefaultAccount.test.js.map +1 -1
- package/lib/families/bitcoin/bridge/libcore.d.ts.map +1 -1
- package/lib/families/bitcoin/bridge/libcore.js +8 -1
- package/lib/families/bitcoin/bridge/libcore.js.map +1 -1
- package/lib/families/bitcoin/bridge/mock.d.ts.map +1 -1
- package/lib/families/bitcoin/bridge/mock.js +3 -1
- package/lib/families/bitcoin/bridge/mock.js.map +1 -1
- package/lib/families/bitcoin/datasets/bitcoin.scanAccounts.1.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/bitcoin.scanAccounts.1.js +1 -1
- package/lib/families/bitcoin/datasets/bitcoin.scanAccounts.1.js.map +1 -1
- package/lib/families/bitcoin/datasets/bitcoin_cash.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/bitcoin_cash.js +1 -1
- package/lib/families/bitcoin/datasets/bitcoin_cash.js.map +1 -1
- package/lib/families/bitcoin/datasets/bitcoin_gold.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/bitcoin_gold.js +1 -1
- package/lib/families/bitcoin/datasets/bitcoin_gold.js.map +1 -1
- package/lib/families/bitcoin/datasets/dash.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/dash.js +1 -1
- package/lib/families/bitcoin/datasets/dash.js.map +1 -1
- package/lib/families/bitcoin/datasets/decred.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/decred.js +1 -1
- package/lib/families/bitcoin/datasets/decred.js.map +1 -1
- package/lib/families/bitcoin/datasets/digibyte.scanAccounts.1.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/digibyte.scanAccounts.1.js +1 -1
- package/lib/families/bitcoin/datasets/digibyte.scanAccounts.1.js.map +1 -1
- package/lib/families/bitcoin/datasets/dogecoin.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/dogecoin.js +1 -1
- package/lib/families/bitcoin/datasets/dogecoin.js.map +1 -1
- package/lib/families/bitcoin/datasets/komodo.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/komodo.js +1 -1
- package/lib/families/bitcoin/datasets/komodo.js.map +1 -1
- package/lib/families/bitcoin/datasets/litecoin.scanAccounts.1.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/litecoin.scanAccounts.1.js +1 -1
- package/lib/families/bitcoin/datasets/litecoin.scanAccounts.1.js.map +1 -1
- package/lib/families/bitcoin/datasets/peercoin.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/peercoin.js +1 -1
- package/lib/families/bitcoin/datasets/peercoin.js.map +1 -1
- package/lib/families/bitcoin/datasets/pivx.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/pivx.js +1 -1
- package/lib/families/bitcoin/datasets/pivx.js.map +1 -1
- package/lib/families/bitcoin/datasets/qtum.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/qtum.js +1 -1
- package/lib/families/bitcoin/datasets/qtum.js.map +1 -1
- package/lib/families/bitcoin/datasets/stakenet.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/stakenet.js +1 -1
- package/lib/families/bitcoin/datasets/stakenet.js.map +1 -1
- package/lib/families/bitcoin/datasets/vertcoin.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/vertcoin.js +1 -1
- package/lib/families/bitcoin/datasets/vertcoin.js.map +1 -1
- package/lib/families/bitcoin/datasets/viacoin.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/viacoin.js +1 -1
- package/lib/families/bitcoin/datasets/viacoin.js.map +1 -1
- package/lib/families/bitcoin/datasets/zcash.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/zcash.js +1 -1
- package/lib/families/bitcoin/datasets/zcash.js.map +1 -1
- package/lib/families/bitcoin/datasets/zencash.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/zencash.js +1 -1
- package/lib/families/bitcoin/datasets/zencash.js.map +1 -1
- package/lib/families/bitcoin/exchange.d.ts +1 -1
- package/lib/families/bitcoin/exchange.d.ts.map +1 -1
- package/lib/families/bitcoin/exchange.js +2 -1
- package/lib/families/bitcoin/exchange.js.map +1 -1
- package/lib/families/bitcoin/hw-getAddress.d.ts +5 -1
- package/lib/families/bitcoin/hw-getAddress.d.ts.map +1 -1
- package/lib/families/bitcoin/hw-getAddress.js +34 -18
- package/lib/families/bitcoin/hw-getAddress.js.map +1 -1
- package/lib/families/bitcoin/js-signOperation.d.ts.map +1 -1
- package/lib/families/bitcoin/js-signOperation.js +3 -0
- package/lib/families/bitcoin/js-signOperation.js.map +1 -1
- package/lib/families/bitcoin/js-synchronisation.d.ts +2 -2
- package/lib/families/bitcoin/js-synchronisation.d.ts.map +1 -1
- package/lib/families/bitcoin/js-synchronisation.js +24 -16
- package/lib/families/bitcoin/js-synchronisation.js.map +1 -1
- package/lib/families/bitcoin/logic.d.ts.map +1 -1
- package/lib/families/bitcoin/logic.js +4 -2
- package/lib/families/bitcoin/logic.js.map +1 -1
- package/lib/families/bitcoin/specs.d.ts.map +1 -1
- package/lib/families/bitcoin/specs.js +1 -1
- package/lib/families/bitcoin/specs.js.map +1 -1
- package/lib/families/bitcoin/types.d.ts +3 -0
- package/lib/families/bitcoin/types.d.ts.map +1 -1
- package/lib/families/bitcoin/types.js +4 -1
- package/lib/families/bitcoin/types.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/base.d.ts +1 -2
- package/lib/families/bitcoin/wallet-btc/crypto/base.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/base.js +6 -11
- package/lib/families/bitcoin/wallet-btc/crypto/base.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.d.ts +1 -2
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.js +1 -4
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/litecoin.d.ts +2 -3
- package/lib/families/bitcoin/wallet-btc/crypto/litecoin.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/litecoin.js +6 -11
- package/lib/families/bitcoin/wallet-btc/crypto/litecoin.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/types.d.ts +0 -5
- package/lib/families/bitcoin/wallet-btc/crypto/types.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts +1 -2
- package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zec.js +1 -4
- package/lib/families/bitcoin/wallet-btc/crypto/zec.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts +1 -2
- package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zen.js +1 -4
- package/lib/families/bitcoin/wallet-btc/crypto/zen.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/explorer/index.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/explorer/index.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.js +3 -0
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.js +2 -0
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/Merge.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/Merge.js +2 -0
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/Merge.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/storage/types.d.ts +1 -1
- package/lib/families/bitcoin/wallet-btc/storage/types.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/utils.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/utils.js +6 -0
- package/lib/families/bitcoin/wallet-btc/utils.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/wallet.d.ts +2 -4
- package/lib/families/bitcoin/wallet-btc/wallet.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/wallet.js +24 -75
- package/lib/families/bitcoin/wallet-btc/wallet.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/xpub.d.ts +1 -1
- package/lib/families/bitcoin/wallet-btc/xpub.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/xpub.js +1 -3
- package/lib/families/bitcoin/wallet-btc/xpub.js.map +1 -1
- package/lib/families/crypto_org/js-synchronisation.d.ts +2 -2
- package/lib/families/elrond/js-synchronisation.d.ts +2 -2
- package/lib/families/elrond/js-synchronisation.d.ts.map +1 -1
- package/lib/families/elrond/js-synchronisation.js +1 -3
- package/lib/families/elrond/js-synchronisation.js.map +1 -1
- package/lib/families/elrond/test-dataset.js +4 -4
- package/lib/families/elrond/test-dataset.js.map +1 -1
- package/lib/families/polkadot/js-synchronisation.d.ts +2 -2
- package/lib/families/polkadot/test-dataset.d.ts.map +1 -1
- package/lib/families/polkadot/test-dataset.js +606 -604
- package/lib/families/polkadot/test-dataset.js.map +1 -1
- package/lib/families/stellar/js-synchronization.d.ts +2 -2
- package/lib/families/tezos/bakers.whitelist-default.d.ts.map +1 -1
- package/lib/families/tezos/bakers.whitelist-default.js +1 -1
- package/lib/families/tezos/bakers.whitelist-default.js.map +1 -1
- package/lib/families/tron/bridge/js.d.ts.map +1 -1
- package/lib/families/tron/bridge/js.js +14 -5
- package/lib/families/tron/bridge/js.js.map +1 -1
- package/lib/generated/exchange.d.ts +1 -1
- package/lib/hw/getAddress/types.d.ts +2 -10
- package/lib/hw/getAddress/types.d.ts.map +1 -1
- package/lib/libcore/createAccountFromDevice.d.ts +2 -2
- package/lib/libcore/createAccountFromDevice.d.ts.map +1 -1
- package/lib/libcore/createAccountFromDevice.js +2 -6
- package/lib/libcore/createAccountFromDevice.js.map +1 -1
- package/lib/libcore/scanAccounts.d.ts +4 -1
- package/lib/libcore/scanAccounts.d.ts.map +1 -1
- package/lib/libcore/scanAccounts.js +35 -32
- package/lib/libcore/scanAccounts.js.map +1 -1
- package/lib/network.d.ts.map +1 -1
- package/lib/network.js +7 -7
- package/lib/network.js.map +1 -1
- package/package.json +31 -31
- package/src/__tests__/__snapshots__/all.libcore.ts.snap +352 -527
- package/src/__tests__/__snapshots__/csvExport.ts.snap +237 -237
- package/src/__tests__/__snapshots__/portfolio.ts.snap +12 -12
- package/src/__tests__/currencies.ts +1 -0
- package/src/__tests__/families/bitcoin/logic.ts +14 -21
- package/src/__tests__/families/bitcoin/wallet-btc/wallet.estimateMaxSpendable.test.ts +1 -2
- package/src/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.ts +3 -1
- package/src/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.ts +2 -0
- package/src/__tests__/families/bitcoin/wallet-btc/xpub.txs.NP2WPKH.integration.test.ts +1 -0
- package/src/__tests__/families/bitcoin/wallet-btc/xpub.txs.P2WPKH.integration.test.ts +1 -0
- package/src/__tests__/families/bitcoin/wallet-btc/xpub.txs.integration.test.ts +2 -0
- package/src/__tests__/families/bitcoin/wallet-btc/xpub.txs.litecoin.test.ts +1 -0
- package/src/account/helpers.ts +13 -6
- package/src/account/support.ts +2 -1
- package/src/api/explorerConfig/index.ts +0 -36
- package/src/bridge/jsHelpers.ts +28 -8
- package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +2897 -68
- package/src/derivation.ts +33 -2
- package/src/env.ts +2 -7
- package/src/errors.ts +5 -0
- package/src/exchange/swap/hooks/usePickDefaultAccount.test.ts +20 -45
- package/src/exchange/swap/hooks/usePickDefaultAccount.ts +23 -35
- package/src/families/bitcoin/bridge/libcore.ts +11 -1
- package/src/families/bitcoin/bridge/mock.ts +3 -1
- package/src/families/bitcoin/datasets/bitcoin.scanAccounts.1.ts +100 -20
- package/src/families/bitcoin/datasets/bitcoin_cash.ts +22 -8
- package/src/families/bitcoin/datasets/bitcoin_gold.ts +92 -18
- package/src/families/bitcoin/datasets/dash.ts +32 -2
- package/src/families/bitcoin/datasets/decred.ts +12 -2
- package/src/families/bitcoin/datasets/digibyte.scanAccounts.1.ts +84 -18
- package/src/families/bitcoin/datasets/dogecoin.ts +32 -2
- package/src/families/bitcoin/datasets/komodo.ts +42 -2
- package/src/families/bitcoin/datasets/litecoin.scanAccounts.1.ts +83 -19
- package/src/families/bitcoin/datasets/peercoin.ts +32 -2
- package/src/families/bitcoin/datasets/pivx.ts +33 -3
- package/src/families/bitcoin/datasets/qtum.ts +70 -12
- package/src/families/bitcoin/datasets/stakenet.ts +20 -4
- package/src/families/bitcoin/datasets/vertcoin.ts +86 -20
- package/src/families/bitcoin/datasets/viacoin.ts +48 -10
- package/src/families/bitcoin/datasets/zcash.ts +12 -2
- package/src/families/bitcoin/datasets/zencash.ts +10 -2
- package/src/families/bitcoin/exchange.ts +1 -0
- package/src/families/bitcoin/hw-getAddress.ts +41 -19
- package/src/families/bitcoin/js-signOperation.ts +4 -0
- package/src/families/bitcoin/js-synchronisation.ts +32 -22
- package/src/families/bitcoin/logic.ts +4 -2
- package/src/families/bitcoin/specs.ts +2 -1
- package/src/families/bitcoin/types.ts +4 -0
- package/src/families/bitcoin/wallet-btc/crypto/base.ts +7 -13
- package/src/families/bitcoin/wallet-btc/crypto/bitcoin.ts +1 -5
- package/src/families/bitcoin/wallet-btc/crypto/bitcoincash.ts +2 -6
- package/src/families/bitcoin/wallet-btc/crypto/litecoin.ts +7 -13
- package/src/families/bitcoin/wallet-btc/crypto/types.ts +0 -8
- package/src/families/bitcoin/wallet-btc/crypto/zec.ts +3 -6
- package/src/families/bitcoin/wallet-btc/crypto/zen.ts +2 -6
- package/src/families/bitcoin/wallet-btc/explorer/index.ts +2 -2
- package/src/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.ts +3 -1
- package/src/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.ts +2 -0
- package/src/families/bitcoin/wallet-btc/pickingstrategies/Merge.ts +2 -0
- package/src/families/bitcoin/wallet-btc/storage/types.ts +1 -1
- package/src/families/bitcoin/wallet-btc/utils.ts +6 -1
- package/src/families/bitcoin/wallet-btc/wallet.ts +14 -82
- package/src/families/bitcoin/wallet-btc/xpub.ts +2 -5
- package/src/families/elrond/js-synchronisation.ts +2 -4
- package/src/families/elrond/test-dataset.ts +3 -3
- package/src/families/polkadot/test-dataset.ts +627 -623
- package/src/families/tezos/bakers.whitelist-default.ts +0 -1
- package/src/families/tron/bridge/js.ts +18 -6
- package/src/hw/getAddress/types.ts +3 -11
- package/src/libcore/createAccountFromDevice.ts +4 -5
- package/src/libcore/scanAccounts.ts +20 -9
- package/src/network.ts +13 -11
- package/lib/families/bitcoin/datasets/stratis.d.ts +0 -5
- package/lib/families/bitcoin/datasets/stratis.d.ts.map +0 -1
- package/lib/families/bitcoin/datasets/stratis.js +0 -12
- package/lib/families/bitcoin/datasets/stratis.js.map +0 -1
- package/src/families/bitcoin/datasets/stratis.ts +0 -24
package/src/derivation.ts
CHANGED
|
@@ -21,6 +21,8 @@ export type ModeSpec = {
|
|
|
21
21
|
overridesDerivation?: string;
|
|
22
22
|
libcoreConfig?: LibcoreConfig;
|
|
23
23
|
isSegwit?: boolean;
|
|
24
|
+
isNativeSegwit?: boolean;
|
|
25
|
+
isTaproot?: boolean;
|
|
24
26
|
// TODO drop
|
|
25
27
|
isUnsplit?: boolean;
|
|
26
28
|
// TODO drop
|
|
@@ -147,6 +149,13 @@ const modes = Object.freeze({
|
|
|
147
149
|
TEZOS_XPUB_CURVE: "ED25519",
|
|
148
150
|
},
|
|
149
151
|
},
|
|
152
|
+
taproot: {
|
|
153
|
+
purpose: 86,
|
|
154
|
+
addressFormat: "bech32m",
|
|
155
|
+
tag: "taproot",
|
|
156
|
+
isSegwit: true,
|
|
157
|
+
isTaproot: true,
|
|
158
|
+
},
|
|
150
159
|
native_segwit: {
|
|
151
160
|
purpose: 84,
|
|
152
161
|
libcoreConfig: {
|
|
@@ -155,6 +164,7 @@ const modes = Object.freeze({
|
|
|
155
164
|
addressFormat: "bech32",
|
|
156
165
|
tag: "native segwit",
|
|
157
166
|
isSegwit: true,
|
|
167
|
+
isNativeSegwit: true,
|
|
158
168
|
},
|
|
159
169
|
segwit: {
|
|
160
170
|
isSegwit: true,
|
|
@@ -255,6 +265,15 @@ export const isSegwitDerivationMode = (
|
|
|
255
265
|
derivationMode: DerivationMode
|
|
256
266
|
): boolean =>
|
|
257
267
|
(modes[derivationMode] as { isSegwit: boolean }).isSegwit || false;
|
|
268
|
+
export const isNativeSegwitDerivationMode = (
|
|
269
|
+
derivationMode: DerivationMode
|
|
270
|
+
): boolean =>
|
|
271
|
+
(modes[derivationMode] as { isNativeSegwit: boolean }).isNativeSegwit ||
|
|
272
|
+
false;
|
|
273
|
+
export const isTaprootDerivationMode = (
|
|
274
|
+
derivationMode: DerivationMode
|
|
275
|
+
): boolean =>
|
|
276
|
+
(modes[derivationMode] as { isTaproot: boolean }).isTaproot || false;
|
|
258
277
|
export const getLibcoreConfig = (
|
|
259
278
|
currency: CryptoCurrency,
|
|
260
279
|
derivationMode: DerivationMode
|
|
@@ -401,7 +420,7 @@ const disableBIP44 = {
|
|
|
401
420
|
const seedIdentifierPath = {
|
|
402
421
|
neo: ({ purpose, coinType }) => `${purpose}'/${coinType}'/0'/0/0`,
|
|
403
422
|
filecoin: ({ purpose, coinType }) => `${purpose}'/${coinType}'/0'/0/0`,
|
|
404
|
-
_: ({ purpose, coinType }) => `${purpose}'/${coinType}'`,
|
|
423
|
+
_: ({ purpose, coinType }) => `${purpose}'/${coinType}'/0'`,
|
|
405
424
|
};
|
|
406
425
|
export const getSeedIdentifierDerivation = (
|
|
407
426
|
currency: CryptoCurrency,
|
|
@@ -449,6 +468,13 @@ export const getDerivationModesForCurrency = (
|
|
|
449
468
|
all.push("native_segwit");
|
|
450
469
|
}
|
|
451
470
|
|
|
471
|
+
// taproot logic. FIXME should move per family
|
|
472
|
+
if (currency.family === "bitcoin") {
|
|
473
|
+
if (currency.id === "bitcoin_testnet") {
|
|
474
|
+
all.push("taproot");
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
|
|
452
478
|
if (currency.supportsSegwit) {
|
|
453
479
|
all.push("segwit");
|
|
454
480
|
}
|
|
@@ -463,7 +489,12 @@ export const getDerivationModesForCurrency = (
|
|
|
463
489
|
|
|
464
490
|
return all;
|
|
465
491
|
};
|
|
466
|
-
const preferredList = [
|
|
492
|
+
const preferredList: DerivationMode[] = [
|
|
493
|
+
"taproot",
|
|
494
|
+
"native_segwit",
|
|
495
|
+
"segwit",
|
|
496
|
+
"",
|
|
497
|
+
];
|
|
467
498
|
// null => no settings
|
|
468
499
|
// [ .. ]
|
|
469
500
|
export const getPreferredNewAccountScheme = (
|
package/src/env.ts
CHANGED
|
@@ -166,9 +166,9 @@ const envDefinitions = {
|
|
|
166
166
|
desc: "location of the crypto.org indexer testnet API",
|
|
167
167
|
},
|
|
168
168
|
CRYPTO_ORG_RPC_URL: {
|
|
169
|
-
def: "",
|
|
169
|
+
def: "https://rpc.mainnet.crypto.org",
|
|
170
170
|
parser: stringParser,
|
|
171
|
-
desc: "location of the crypto.org
|
|
171
|
+
desc: "location of the crypto.org chain node",
|
|
172
172
|
},
|
|
173
173
|
CRYPTO_ORG_TESTNET_RPC_URL: {
|
|
174
174
|
def: "https://testnet-croeseid-4.crypto.org:26657",
|
|
@@ -516,11 +516,6 @@ const envDefinitions = {
|
|
|
516
516
|
parser: intParser,
|
|
517
517
|
desc: "version used for the platform api",
|
|
518
518
|
},
|
|
519
|
-
DEVELOPMENT_MODE: {
|
|
520
|
-
def: false,
|
|
521
|
-
parser: boolParser,
|
|
522
|
-
desc: "flag to indicate if the app is running on development environment",
|
|
523
|
-
},
|
|
524
519
|
};
|
|
525
520
|
|
|
526
521
|
const getDefinition = (name: string): EnvDef<any> | null | undefined =>
|
package/src/errors.ts
CHANGED
|
@@ -197,4 +197,9 @@ export const OutdatedApp = createCustomErrorClass("OutdatedApp");
|
|
|
197
197
|
export const FreshAddressIndexInvalid = createCustomErrorClass(
|
|
198
198
|
"FreshAddressIndexInvalid"
|
|
199
199
|
);
|
|
200
|
+
|
|
201
|
+
export const UnsupportedDerivation = createCustomErrorClass(
|
|
202
|
+
"UnsupportedDerivation"
|
|
203
|
+
);
|
|
204
|
+
|
|
200
205
|
export * from "./families/polkadot/errors";
|
|
@@ -23,8 +23,6 @@ const getAccountCreator = (currencyId: string) => {
|
|
|
23
23
|
describe("usePickDefaultAccount", () => {
|
|
24
24
|
const getEthAccount = getAccountCreator("ethereum");
|
|
25
25
|
const getBtcAccount = getAccountCreator("bitcoin");
|
|
26
|
-
const getPolkadotAccount = getAccountCreator("polkadot");
|
|
27
|
-
const getCosmosAccount = getAccountCreator("cosmos");
|
|
28
26
|
const setFromAccount = jest.fn();
|
|
29
27
|
|
|
30
28
|
beforeEach(() => {
|
|
@@ -58,6 +56,7 @@ describe("usePickDefaultAccount", () => {
|
|
|
58
56
|
|
|
59
57
|
test("returns an ethereum account when it's available", () => {
|
|
60
58
|
const ethAccount = getEthAccount();
|
|
59
|
+
ethAccount.balance = new BigNumber(1);
|
|
61
60
|
|
|
62
61
|
const accounts: Account[] = [ethAccount, getBtcAccount()];
|
|
63
62
|
|
|
@@ -69,12 +68,14 @@ describe("usePickDefaultAccount", () => {
|
|
|
69
68
|
expect(setFromAccount).toHaveBeenCalledWith(ethAccount);
|
|
70
69
|
});
|
|
71
70
|
|
|
72
|
-
test("returns the first
|
|
71
|
+
test("returns the first marketcap account when all of the enabled accounts have the same balance", () => {
|
|
73
72
|
const ethAccount = getEthAccount();
|
|
73
|
+
const btcAccount = getBtcAccount();
|
|
74
|
+
btcAccount.balance = new BigNumber(1);
|
|
74
75
|
|
|
75
76
|
const accounts: Account[] = [
|
|
76
77
|
ethAccount,
|
|
77
|
-
|
|
78
|
+
btcAccount,
|
|
78
79
|
getEthAccount(),
|
|
79
80
|
{ ...getEthAccount(), disabled: true },
|
|
80
81
|
];
|
|
@@ -84,21 +85,30 @@ describe("usePickDefaultAccount", () => {
|
|
|
84
85
|
);
|
|
85
86
|
|
|
86
87
|
expect(setFromAccount).toHaveBeenCalledTimes(1);
|
|
87
|
-
expect(setFromAccount).toHaveBeenCalledWith(
|
|
88
|
+
expect(setFromAccount).toHaveBeenCalledWith(btcAccount);
|
|
88
89
|
});
|
|
89
90
|
|
|
90
91
|
test("returns the ethereum enabled account with the highest balance", () => {
|
|
91
92
|
const ethAccount = getEthAccount();
|
|
92
93
|
const ethAccount2 = getEthAccount();
|
|
94
|
+
const ethAccount3 = getEthAccount();
|
|
95
|
+
const ethAccount4 = getEthAccount();
|
|
96
|
+
const ethAccount5 = getEthAccount();
|
|
93
97
|
|
|
94
|
-
ethAccount.
|
|
95
|
-
ethAccount2.
|
|
98
|
+
ethAccount.balance = new BigNumber(0.2);
|
|
99
|
+
ethAccount2.balance = new BigNumber(0);
|
|
100
|
+
ethAccount3.balance = new BigNumber(0.001);
|
|
101
|
+
ethAccount4.balance = new BigNumber(0.0001);
|
|
102
|
+
ethAccount5.balance = new BigNumber(0.0006);
|
|
96
103
|
|
|
97
104
|
const accounts: Account[] = [
|
|
98
105
|
{ ...getEthAccount(), disabled: true },
|
|
99
106
|
ethAccount,
|
|
100
107
|
getBtcAccount(),
|
|
101
108
|
ethAccount2,
|
|
109
|
+
ethAccount3,
|
|
110
|
+
ethAccount4,
|
|
111
|
+
ethAccount5,
|
|
102
112
|
];
|
|
103
113
|
|
|
104
114
|
renderHook(() =>
|
|
@@ -109,29 +119,12 @@ describe("usePickDefaultAccount", () => {
|
|
|
109
119
|
expect(setFromAccount).toHaveBeenCalledWith(ethAccount);
|
|
110
120
|
});
|
|
111
121
|
|
|
112
|
-
test("returns the
|
|
113
|
-
const BtcAccount = getBtcAccount();
|
|
114
|
-
|
|
115
|
-
const accounts: Account[] = [
|
|
116
|
-
{ ...getEthAccount(), disabled: true },
|
|
117
|
-
BtcAccount,
|
|
118
|
-
getBtcAccount(),
|
|
119
|
-
];
|
|
120
|
-
|
|
121
|
-
renderHook(() =>
|
|
122
|
-
usePickDefaultAccount(accounts, undefined, setFromAccount)
|
|
123
|
-
);
|
|
124
|
-
|
|
125
|
-
expect(setFromAccount).toHaveBeenCalledTimes(1);
|
|
126
|
-
expect(setFromAccount).toHaveBeenCalledWith(BtcAccount);
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
test("returns the bitcoin enabled account with the highest balance when no ETH accounts are passed", () => {
|
|
122
|
+
test("returns the highest bitcoin account when no ethereum accounts are passed/enabled and all btc accounts have the same balance", () => {
|
|
130
123
|
const btcAccount = getBtcAccount();
|
|
131
124
|
const btcAccount2 = getBtcAccount();
|
|
132
125
|
|
|
133
|
-
btcAccount.
|
|
134
|
-
btcAccount2.
|
|
126
|
+
btcAccount.balance = new BigNumber(0.2);
|
|
127
|
+
btcAccount2.balance = new BigNumber(0.001);
|
|
135
128
|
|
|
136
129
|
const accounts: Account[] = [
|
|
137
130
|
{ ...getEthAccount(), disabled: true },
|
|
@@ -146,22 +139,4 @@ describe("usePickDefaultAccount", () => {
|
|
|
146
139
|
expect(setFromAccount).toHaveBeenCalledTimes(1);
|
|
147
140
|
expect(setFromAccount).toHaveBeenCalledWith(btcAccount);
|
|
148
141
|
});
|
|
149
|
-
|
|
150
|
-
test("returns the first enabled account when no ethereum/bitcoin accounts are passed", () => {
|
|
151
|
-
const dotAccount = getPolkadotAccount();
|
|
152
|
-
|
|
153
|
-
const accounts: Account[] = [
|
|
154
|
-
{ ...getCosmosAccount(), disabled: true },
|
|
155
|
-
dotAccount,
|
|
156
|
-
getPolkadotAccount(),
|
|
157
|
-
getCosmosAccount(),
|
|
158
|
-
];
|
|
159
|
-
|
|
160
|
-
renderHook(() =>
|
|
161
|
-
usePickDefaultAccount(accounts, undefined, setFromAccount)
|
|
162
|
-
);
|
|
163
|
-
|
|
164
|
-
expect(setFromAccount).toHaveBeenCalledTimes(1);
|
|
165
|
-
expect(setFromAccount).toHaveBeenCalledWith(dotAccount);
|
|
166
|
-
});
|
|
167
142
|
});
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { useEffect } from "react";
|
|
2
2
|
import { Account, TokenAccount } from "../../../types";
|
|
3
|
+
import { useCurrenciesByMarketcap } from "../../../currencies/sortByMarketcap";
|
|
4
|
+
import { listCryptoCurrencies, listTokens } from "../../../currencies";
|
|
5
|
+
import { getAccountCurrency } from "../../../account";
|
|
3
6
|
|
|
4
7
|
// Pick a default source account if none are selected.
|
|
5
8
|
export const usePickDefaultAccount = (
|
|
@@ -7,41 +10,26 @@ export const usePickDefaultAccount = (
|
|
|
7
10
|
fromAccount: Account | TokenAccount | null | undefined,
|
|
8
11
|
setFromAccount: (account: Account | TokenAccount) => void
|
|
9
12
|
): void => {
|
|
13
|
+
const list = [...listCryptoCurrencies(), ...listTokens()];
|
|
14
|
+
const allCurrencies = useCurrenciesByMarketcap(list);
|
|
15
|
+
|
|
10
16
|
useEffect(() => {
|
|
11
|
-
if (!fromAccount) {
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
if (
|
|
29
|
-
// eventually needs a type guard because the "currency" property does not exist in TokenAccount
|
|
30
|
-
account["currency"]?.id === "bitcoin" &&
|
|
31
|
-
(acc[1]?.balance ?? -1) < account.balance
|
|
32
|
-
) {
|
|
33
|
-
acc[1] = account;
|
|
34
|
-
}
|
|
35
|
-
const maxFundsAccount = acc[2];
|
|
36
|
-
if (!maxFundsAccount || maxFundsAccount.balance < account.balance) {
|
|
37
|
-
acc[2] = account;
|
|
38
|
-
}
|
|
39
|
-
return acc;
|
|
40
|
-
},
|
|
41
|
-
[null, null, null]
|
|
42
|
-
);
|
|
43
|
-
const defaultAccount = possibleDefaults.find(Boolean);
|
|
44
|
-
defaultAccount && setFromAccount(defaultAccount);
|
|
17
|
+
if (!fromAccount && allCurrencies.length > 0) {
|
|
18
|
+
const defaultAccount: Account | TokenAccount | undefined = allCurrencies
|
|
19
|
+
.map(({ id }) =>
|
|
20
|
+
accounts
|
|
21
|
+
.filter(
|
|
22
|
+
(acc) =>
|
|
23
|
+
getAccountCurrency(acc)?.id === id &&
|
|
24
|
+
acc.balance.gt(0) &&
|
|
25
|
+
!acc.disabled
|
|
26
|
+
)
|
|
27
|
+
.sort((a, b) => b.balance.minus(a.balance).toNumber())
|
|
28
|
+
)
|
|
29
|
+
.flat(1)
|
|
30
|
+
.find(Boolean);
|
|
31
|
+
|
|
32
|
+
if (defaultAccount) setFromAccount(defaultAccount);
|
|
45
33
|
}
|
|
46
|
-
}, [accounts, fromAccount, setFromAccount]);
|
|
34
|
+
}, [accounts, allCurrencies, fromAccount, setFromAccount]);
|
|
47
35
|
};
|
|
@@ -27,6 +27,9 @@ import { isChangeOutput, perCoinLogic } from "../transaction";
|
|
|
27
27
|
import { makeAccountBridgeReceive } from "../../../bridge/jsHelpers";
|
|
28
28
|
import { requiresSatStackReady } from "../satstack";
|
|
29
29
|
import * as explorerConfigAPI from "../../../api/explorerConfig";
|
|
30
|
+
import Btc from "@ledgerhq/hw-app-btc/lib/BtcOld"; // use old implementation of Btc for libcore
|
|
31
|
+
import { getAddressWithBtcInstance } from "../hw-getAddress";
|
|
32
|
+
|
|
30
33
|
const receive = makeAccountBridgeReceive({
|
|
31
34
|
injectGetAddressParams: (account) => {
|
|
32
35
|
const perCoin = perCoinLogic[account.currency.id];
|
|
@@ -260,7 +263,14 @@ const hydrate = (maybeConfig: any) => {
|
|
|
260
263
|
};
|
|
261
264
|
|
|
262
265
|
const currencyBridge: CurrencyBridge = {
|
|
263
|
-
scanAccounts
|
|
266
|
+
scanAccounts: (arg) =>
|
|
267
|
+
scanAccounts({
|
|
268
|
+
...arg,
|
|
269
|
+
getAddressFn: (transport) => {
|
|
270
|
+
const btc = new Btc(transport);
|
|
271
|
+
return (opts) => getAddressWithBtcInstance(transport, btc, opts);
|
|
272
|
+
},
|
|
273
|
+
}),
|
|
264
274
|
preload,
|
|
265
275
|
hydrate,
|
|
266
276
|
};
|
|
@@ -74,7 +74,9 @@ const getTransactionStatus = (account, t) => {
|
|
|
74
74
|
if (!t.recipient) {
|
|
75
75
|
errors.recipient = new RecipientRequired("");
|
|
76
76
|
} else if (isInvalidRecipient(t.recipient)) {
|
|
77
|
-
errors.recipient = new InvalidAddress(""
|
|
77
|
+
errors.recipient = new InvalidAddress("", {
|
|
78
|
+
currencyName: account.currency.name,
|
|
79
|
+
});
|
|
78
80
|
}
|
|
79
81
|
|
|
80
82
|
return Promise.resolve({
|
|
@@ -1,38 +1,118 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
name: "bitcoin seed 1",
|
|
3
3
|
apdus: `
|
|
4
|
-
=>
|
|
5
|
-
<=
|
|
6
|
-
=> e016000000
|
|
7
|
-
<= 000000050107426974636f696e034254439000
|
|
8
|
-
=> e040000209028000005480000000
|
|
9
|
-
<= 41043188c7e9e184aa3f6c2967b9b2b19a5966efe88c526ac091687642540573ecfb4c988261e7b0b876c6aec0b393518676232b34289a5bfc0cc78cc2ef735fa5122a626331713636353767686b3368306e75786b717466716a6c383637637771796a6e63777677346c66386ccdddd55f0385b0a53a4803e47f24df989a42b4e3b0b1dda17c41f4381e5301cb9000
|
|
4
|
+
=> b001000000
|
|
5
|
+
<= 0107426974636f696e05312e362e339000
|
|
10
6
|
=> e04000020d03800000548000000080000000
|
|
11
7
|
<= 4104985c77e031db7909b5bab541828faac7719bc3ac205907da16f379e693eb012217195cbb49c53854d1bfec204470abc73ab4fb51338653e5236c6a6ae57d34422a62633171723561783039386b6a73706a396c3737797a3234746e3733737878776d736367617479756533529d8a9f14d7c1b543bd6f288f167b3232e03fec8fe88746d74e958d1a101a489000
|
|
12
|
-
=> e04000020d03800000548000000080000001
|
|
13
|
-
<= 4104495e8f35895184aca665882cbee1a0489c9f51aad1c981aabe6ce0684a953627f61b07f3fb79f8cd5da4a85149597dfacbd60836644300cb99a4257e21ff99bb2a62633171716c6e663567746171673070396836636376376e38677675787376786a65717332643576366ad71e3caf8b6840c9edfd48fecafd31fde2da5060edd6ce8b8c124841185896459000
|
|
14
|
-
=> e04000020d03800000548000000080000002
|
|
15
|
-
<= 410418a42e7aa6f1ff07f1c284e5ef02b2b2df576856d8f5bd22454bb148a196b45cc35fddaa46229176f826557ff3db22b5149a258f8659ee2e9dfd9458dd0cbae92a626331716c766135707232707066386468367a6534756d6b70336d76766373376d376b7a7273636d7a61d525ad3db9e29a775891489f09a304d80f3cd1716dc47959645936ed075759f69000
|
|
16
|
-
=> e040000109028000003180000000
|
|
17
|
-
<= 41047615032ad01c87f38c5401a6765aee429eb5a57ccde63573fdfe602b4de7c7ac109d1f23fbdd847c483bd147ff8218f15858f16824ecff4ca3fcb4245e2d93f52233334c79656578314a5165624779525a36586e77686e4738334b4255787a793668343de97255695c6fbec7459a688b0fddef585e98fae29c96655c3ff648131ca1c39000
|
|
18
8
|
=> e016000000
|
|
19
9
|
<= 000000050107426974636f696e034254439000
|
|
20
|
-
=>
|
|
21
|
-
<=
|
|
10
|
+
=> b001000000
|
|
11
|
+
<= 0107426974636f696e05312e362e339000
|
|
12
|
+
=> e040000215058000005480000000800000000000000000000000
|
|
13
|
+
<= 4104f34d70ff0170a98c88a280b74f245ecebef5345fa803ea878e40616216f0d6085156ea2ccced9af2e7a86fa1f38df98b1a57f13d7e38dd13cbbe5f919bf2a4ac2a62633171396d3032797639633533656e786b3234376c786b676a3564676e36686d323766307263333470152d442fde298bcad0d5978d8e70f75a2609881140a8f8c5fe5bb31f2ea765b69000
|
|
14
|
+
=> e016000000
|
|
15
|
+
<= 000000050107426974636f696e034254439000
|
|
16
|
+
=> b001000000
|
|
17
|
+
<= 0107426974636f696e05312e362e339000
|
|
18
|
+
=> e040000009028000005480000000
|
|
19
|
+
<= 41043188c7e9e184aa3f6c2967b9b2b19a5966efe88c526ac091687642540573ecfb4c988261e7b0b876c6aec0b393518676232b34289a5bfc0cc78cc2ef735fa51222314c6133384d7350333634413238583654515577456a486f43413565646947577879cdddd55f0385b0a53a4803e47f24df989a42b4e3b0b1dda17c41f4381e5301cb9000
|
|
20
|
+
=> e04000000d03800000548000000080000000
|
|
21
|
+
<= 4104985c77e031db7909b5bab541828faac7719bc3ac205907da16f379e693eb012217195cbb49c53854d1bfec204470abc73ab4fb51338653e5236c6a6ae57d344222313366595a6233657639474666774e41347a4e3137587a6153555537465451523864529d8a9f14d7c1b543bd6f288f167b3232e03fec8fe88746d74e958d1a101a489000
|
|
22
|
+
=> b001000000
|
|
23
|
+
<= 0107426974636f696e05312e362e339000
|
|
24
|
+
=> e040000215058000005480000000800000010000000000000000
|
|
25
|
+
<= 4104cdffca8ab22d1b55b5183486d3b89ffba5f296f6cf3fa15c1ae4c83abef5e505e5eedb82c39fbc1a43dd0e8b022077d574f5661805b91a974813bf2c9792e8682a62633171646c36306c357a78356e6870347977717663676b376e766a3737376570786d6c3567373935726228dc712a3c5f334b5d2aac3d3e285d083d9b628339f55d000ecaf8d8fa7ddf9000
|
|
26
|
+
=> e016000000
|
|
27
|
+
<= 000000050107426974636f696e034254439000
|
|
28
|
+
=> b001000000
|
|
29
|
+
<= 0107426974636f696e05312e362e339000
|
|
30
|
+
=> e040000009028000005480000000
|
|
31
|
+
<= 41043188c7e9e184aa3f6c2967b9b2b19a5966efe88c526ac091687642540573ecfb4c988261e7b0b876c6aec0b393518676232b34289a5bfc0cc78cc2ef735fa51222314c6133384d7350333634413238583654515577456a486f43413565646947577879cdddd55f0385b0a53a4803e47f24df989a42b4e3b0b1dda17c41f4381e5301cb9000
|
|
32
|
+
=> e04000000d03800000548000000080000001
|
|
33
|
+
<= 4104495e8f35895184aca665882cbee1a0489c9f51aad1c981aabe6ce0684a953627f61b07f3fb79f8cd5da4a85149597dfacbd60836644300cb99a4257e21ff99bb2131696d7972647057535a4b6a527066673776334c3972697454787a755a345a5645d71e3caf8b6840c9edfd48fecafd31fde2da5060edd6ce8b8c124841185896459000
|
|
34
|
+
=> b001000000
|
|
35
|
+
<= 0107426974636f696e05312e362e339000
|
|
36
|
+
=> e040000215058000005480000000800000020000000000000000
|
|
37
|
+
<= 410401d3c28831e2a9bd2608fd83ad3659c704f23a28e34fb0c7374dc5d195f3ae8ded7a5403c0a508dea81ddd0734df429ce1f3931478ce7adff9d6d457cc6630112a626331716e71793776797030646637746c39306d777a396a7763613636743668656634796a39686c366e963f40a6ee621cae743458bb522064fe2d20b6eb8b2189eb3b945988684987d69000
|
|
38
|
+
=> e016000000
|
|
39
|
+
<= 000000050107426974636f696e034254439000
|
|
40
|
+
=> b001000000
|
|
41
|
+
<= 0107426974636f696e05312e362e339000
|
|
42
|
+
=> e040000009028000005480000000
|
|
43
|
+
<= 41043188c7e9e184aa3f6c2967b9b2b19a5966efe88c526ac091687642540573ecfb4c988261e7b0b876c6aec0b393518676232b34289a5bfc0cc78cc2ef735fa51222314c6133384d7350333634413238583654515577456a486f43413565646947577879cdddd55f0385b0a53a4803e47f24df989a42b4e3b0b1dda17c41f4381e5301cb9000
|
|
44
|
+
=> e04000000d03800000548000000080000002
|
|
45
|
+
<= 410418a42e7aa6f1ff07f1c284e5ef02b2b2df576856d8f5bd22454bb148a196b45cc35fddaa46229176f826557ff3db22b5149a258f8659ee2e9dfd9458dd0cbae9223150755062345a52776e346832756d65453850647453426f7350614659625a546256d525ad3db9e29a775891489f09a304d80f3cd1716dc47959645936ed075759f69000
|
|
46
|
+
=> b001000000
|
|
47
|
+
<= 0107426974636f696e05312e362e339000
|
|
22
48
|
=> e04000010d03800000318000000080000000
|
|
23
49
|
<= 410412f62e549eee10ea7df9c9b1acfa6d77abb7424c057d7d725f418e2124dcd8662e21fde9e0b5a4cb731933a68ca406f6efcdadc8fb52afdb9ae422a68cfe5bde2233483737566559675a584b4e4d6b426668653766634d416d334b376b794a67334734508666b8006f31778f6dbb06bdbf20088d9a84ea15776cf6073b3ea025d48d9e9000
|
|
24
|
-
=> e04000010d03800000318000000080000001
|
|
25
|
-
<= 4104ade4dbcec2e6dafc664eb9337f784f01eb64087e19cbbf1068b6bcc535b5f1fab6094958d8f2b18c1f922d31b4a63d1f595689e2f2b3725bd6876c61a5488673223350684b454372414d32424c66595770505a7255485343694346395054526d66616b7adba784bff55fb0b1ae8b5ab1d1aba2883613db2f674ef00bc8df2bd7c4358e9000
|
|
26
|
-
=> e04000010d03800000318000000080000002
|
|
27
|
-
<= 4104aab62ffcffe3bf9864b426d6f49b6bcd007f10f96f4be8fb28cd3a0ad4e6aded8a09965deca458a18a9d2151f2761844af9e473e3b4873670f097e470d73d72722333374654447684a7470793439707479763747635657347838437041344269706656881f8ad639081fb27a0db564011cf8a568a73ea1ac75b69e3e47ad6316165cfc9000
|
|
28
|
-
=> e040000009028000002c80000000
|
|
29
|
-
<= 41041caa3a42db5bdd125b2530c47cfbe829539b5a20a5562ec839d241c67d1862f2980d26ebffee25e4f924410c3316b397f34bd572543e72c59a7569ef9032f498223134384c484667516b6f504b48554665567a464e6d556a4b54375a774234376654529f819c7d45eb9eb1e9bd5fa695158cca9e493182f95068b22c8c440ae6eb07209000
|
|
30
50
|
=> e016000000
|
|
31
51
|
<= 000000050107426974636f696e034254439000
|
|
52
|
+
=> b001000000
|
|
53
|
+
<= 0107426974636f696e05312e362e339000
|
|
54
|
+
=> e040000115058000003180000000800000000000000000000000
|
|
55
|
+
<= 41047bbdf06d7ebe1c4ff1ecd1753d35efa1b40902420368eb044ddfa95afbd25a34252b47cdb893c74ce2244e4c219c02a9d5d5a56dce4637219d5bb4cb1aeb06542233357862464c5a33526e7a59456d6154343156344435735965644e585a624e505033099bf9adc7a0fe78c36483f07f24f45165cbf7af010df3e60696a1bb57d44ad99000
|
|
56
|
+
=> e016000000
|
|
57
|
+
<= 000000050107426974636f696e034254439000
|
|
58
|
+
=> b001000000
|
|
59
|
+
<= 0107426974636f696e05312e362e339000
|
|
60
|
+
=> e040000009028000003180000000
|
|
61
|
+
<= 41047615032ad01c87f38c5401a6765aee429eb5a57ccde63573fdfe602b4de7c7ac109d1f23fbdd847c483bd147ff8218f15858f16824ecff4ca3fcb4245e2d93f52231394a5643704855564b443534656278384464534636745869786d55474b795672503de97255695c6fbec7459a688b0fddef585e98fae29c96655c3ff648131ca1c39000
|
|
62
|
+
=> e04000000d03800000318000000080000000
|
|
63
|
+
<= 410412f62e549eee10ea7df9c9b1acfa6d77abb7424c057d7d725f418e2124dcd8662e21fde9e0b5a4cb731933a68ca406f6efcdadc8fb52afdb9ae422a68cfe5bde2231426f5759593371614e4e3333465a6874797431663262597a336e515a4c36774865508666b8006f31778f6dbb06bdbf20088d9a84ea15776cf6073b3ea025d48d9e9000
|
|
64
|
+
=> b001000000
|
|
65
|
+
<= 0107426974636f696e05312e362e339000
|
|
66
|
+
=> e040000115058000003180000000800000010000000000000000
|
|
67
|
+
<= 410414a9a71422feed38916906d44995156a96fcbfba3f5fdf4a0ae395483cd542b23bc6926bf6898744291e4e6a4a090ccfbc2e1e15226e536b415bc97fcf4a47a1223338367568366163364546547832356d46725476734e375a42367434415662617766158caaca88348b036aacecc313a3b89f0ce3524f4a590b1d69d757739c5756d99000
|
|
68
|
+
=> e016000000
|
|
69
|
+
<= 000000050107426974636f696e034254439000
|
|
70
|
+
=> b001000000
|
|
71
|
+
<= 0107426974636f696e05312e362e339000
|
|
72
|
+
=> e040000009028000003180000000
|
|
73
|
+
<= 41047615032ad01c87f38c5401a6765aee429eb5a57ccde63573fdfe602b4de7c7ac109d1f23fbdd847c483bd147ff8218f15858f16824ecff4ca3fcb4245e2d93f52231394a5643704855564b443534656278384464534636745869786d55474b795672503de97255695c6fbec7459a688b0fddef585e98fae29c96655c3ff648131ca1c39000
|
|
74
|
+
=> e04000000d03800000318000000080000001
|
|
75
|
+
<= 4104ade4dbcec2e6dafc664eb9337f784f01eb64087e19cbbf1068b6bcc535b5f1fab6094958d8f2b18c1f922d31b4a63d1f595689e2f2b3725bd6876c61a548867322314d56486773316a39465342467038314e4546317255627570327161395a597a4b677adba784bff55fb0b1ae8b5ab1d1aba2883613db2f674ef00bc8df2bd7c4358e9000
|
|
76
|
+
=> b001000000
|
|
77
|
+
<= 0107426974636f696e05312e362e339000
|
|
78
|
+
=> e040000115058000003180000000800000020000000000000000
|
|
79
|
+
<= 4104a1d62e06dadaad2f84eb630190cbd54149eeae23ab86eedc93c12635db693b4d92242f3b6e25af837fc74abdb2a1e2056e578e9b22566ee431b5691c3b2d21a4223344556b323762784a6d33793774786f50544b344747425763796f5736696247756819fcc38c0fbbdfd95d6aaf10817b89acce67fbd2a99260a2371325ae4f3442d69000
|
|
80
|
+
=> e016000000
|
|
81
|
+
<= 000000050107426974636f696e034254439000
|
|
82
|
+
=> b001000000
|
|
83
|
+
<= 0107426974636f696e05312e362e339000
|
|
84
|
+
=> e040000009028000003180000000
|
|
85
|
+
<= 41047615032ad01c87f38c5401a6765aee429eb5a57ccde63573fdfe602b4de7c7ac109d1f23fbdd847c483bd147ff8218f15858f16824ecff4ca3fcb4245e2d93f52231394a5643704855564b443534656278384464534636745869786d55474b795672503de97255695c6fbec7459a688b0fddef585e98fae29c96655c3ff648131ca1c39000
|
|
86
|
+
=> e04000000d03800000318000000080000002
|
|
87
|
+
<= 4104aab62ffcffe3bf9864b426d6f49b6bcd007f10f96f4be8fb28cd3a0ad4e6aded8a09965deca458a18a9d2151f2761844af9e473e3b4873670f097e470d73d7272231347043487050726477663248735a61654a3846514a594556576f32534836334c54881f8ad639081fb27a0db564011cf8a568a73ea1ac75b69e3e47ad6316165cfc9000
|
|
88
|
+
=> b001000000
|
|
89
|
+
<= 0107426974636f696e05312e362e339000
|
|
90
|
+
=> e04000000d038000002c8000000080000000
|
|
91
|
+
<= 4104238878d371ce61cdd04d22ccab50c542e94ffa7a27d02d6bcefaa22e4fcee6db4c2029fd4de0b595e98002c0be01fc1fbd3568671e394c97a6d52c3d4c113fb52231356f36754274527a4b6f6a6278714265344b6e69363642537658664b595432475944728146118df8d18d38c2615154eaffcdd53829957f4e26863344f35653364e9000
|
|
92
|
+
=> e016000000
|
|
93
|
+
<= 000000050107426974636f696e034254439000
|
|
94
|
+
=> b001000000
|
|
95
|
+
<= 0107426974636f696e05312e362e339000
|
|
96
|
+
=> e040000015058000002c80000000800000000000000000000000
|
|
97
|
+
<= 4104d463d563713c66be566e6d2f585b479198a6f7fb2af09430b1c1852bdfa590a9b74612948b1d707eeb5eee8122061dfb10c7c1572b4d6df09ad1889b78df90a52231346b504d6a4d52377a626939733862544d5075465544347a41374146697658726e4154dabd83c6caa2af3b92f4195c207b47e39f5d2106ddf4b54fd010d09e9ff19000
|
|
98
|
+
=> e016000000
|
|
99
|
+
<= 000000050107426974636f696e034254439000
|
|
100
|
+
=> b001000000
|
|
101
|
+
<= 0107426974636f696e05312e362e339000
|
|
32
102
|
=> e040000009028000002c80000000
|
|
33
103
|
<= 41041caa3a42db5bdd125b2530c47cfbe829539b5a20a5562ec839d241c67d1862f2980d26ebffee25e4f924410c3316b397f34bd572543e72c59a7569ef9032f498223134384c484667516b6f504b48554665567a464e6d556a4b54375a774234376654529f819c7d45eb9eb1e9bd5fa695158cca9e493182f95068b22c8c440ae6eb07209000
|
|
34
104
|
=> e04000000d038000002c8000000080000000
|
|
35
105
|
<= 4104238878d371ce61cdd04d22ccab50c542e94ffa7a27d02d6bcefaa22e4fcee6db4c2029fd4de0b595e98002c0be01fc1fbd3568671e394c97a6d52c3d4c113fb52231356f36754274527a4b6f6a6278714265344b6e69363642537658664b595432475944728146118df8d18d38c2615154eaffcdd53829957f4e26863344f35653364e9000
|
|
106
|
+
=> b001000000
|
|
107
|
+
<= 0107426974636f696e05312e362e339000
|
|
108
|
+
=> e040000015058000002c80000000800000010000000000000000
|
|
109
|
+
<= 41043aeac45ab674f0b417948286a9ea28f2f00c46200788b6a74ec13208285f743e75b8063195a2f8c2090260c9fd98f9ec4a6b7cc2b1ce27f450a445b48c0334f822314a65706a5250677a755634687942545a786674425971624161584d7967434d5256a61d355c0b561e91ba3589812f1d1801276e5fcfee7e01052d5b637c51bb02299000
|
|
110
|
+
=> e016000000
|
|
111
|
+
<= 000000050107426974636f696e034254439000
|
|
112
|
+
=> b001000000
|
|
113
|
+
<= 0107426974636f696e05312e362e339000
|
|
114
|
+
=> e040000009028000002c80000000
|
|
115
|
+
<= 41041caa3a42db5bdd125b2530c47cfbe829539b5a20a5562ec839d241c67d1862f2980d26ebffee25e4f924410c3316b397f34bd572543e72c59a7569ef9032f498223134384c484667516b6f504b48554665567a464e6d556a4b54375a774234376654529f819c7d45eb9eb1e9bd5fa695158cca9e493182f95068b22c8c440ae6eb07209000
|
|
36
116
|
=> e04000000d038000002c8000000080000001
|
|
37
117
|
<= 410415d2ae6368394c10962a92ab7b680e272f27c4951e2960ce11fe6d30ed9ca87dbbb1e0231da0caf45e2c7040adcb55b04eff0335ede12ca79600722846f0dc89223132675842717446627353316d566643637979436e35424d7566744d56736e334e4269c51a44ff9a3b3f2d041491ef614064b0193142057576c147763fe9493343879000
|
|
38
118
|
`,
|
|
@@ -5,26 +5,40 @@ const dataset: CurrenciesData<Transaction> = {
|
|
|
5
5
|
{
|
|
6
6
|
name: "bitcoin_cash seed 1",
|
|
7
7
|
apdus: `
|
|
8
|
-
=>
|
|
9
|
-
<=
|
|
8
|
+
=> b001000000
|
|
9
|
+
<= 010c426974636f696e204361736805312e362e339000
|
|
10
|
+
=> e04000000d038000002c8000000080000000
|
|
11
|
+
<= 4104238878d371ce61cdd04d22ccab50c542e94ffa7a27d02d6bcefaa22e4fcee6db4c2029fd4de0b595e98002c0be01fc1fbd3568671e394c97a6d52c3d4c113fb52231356f36754274527a4b6f6a6278714265344b6e69363642537658664b595432475944728146118df8d18d38c2615154eaffcdd53829957f4e26863344f35653364e9000
|
|
12
|
+
=> e016000000
|
|
13
|
+
<= 000000050107426974636f696e034243489000
|
|
14
|
+
=> b001000000
|
|
15
|
+
<= 010c426974636f696e204361736805312e362e339000
|
|
16
|
+
=> e040000015058000002c80000000800000000000000000000000
|
|
17
|
+
<= 4104d463d563713c66be566e6d2f585b479198a6f7fb2af09430b1c1852bdfa590a9b74612948b1d707eeb5eee8122061dfb10c7c1572b4d6df09ad1889b78df90a52231346b504d6a4d52377a626939733862544d5075465544347a41374146697658726e4154dabd83c6caa2af3b92f4195c207b47e39f5d2106ddf4b54fd010d09e9ff19000
|
|
10
18
|
=> e016000000
|
|
11
19
|
<= 000000050107426974636f696e034243489000
|
|
20
|
+
=> b001000000
|
|
21
|
+
<= 010c426974636f696e204361736805312e362e339000
|
|
12
22
|
=> e040000009028000002c80000000
|
|
13
23
|
<= 41041caa3a42db5bdd125b2530c47cfbe829539b5a20a5562ec839d241c67d1862f2980d26ebffee25e4f924410c3316b397f34bd572543e72c59a7569ef9032f498223134384c484667516b6f504b48554665567a464e6d556a4b54375a774234376654529f819c7d45eb9eb1e9bd5fa695158cca9e493182f95068b22c8c440ae6eb07209000
|
|
14
24
|
=> e04000000d038000002c8000000080000000
|
|
15
25
|
<= 4104238878d371ce61cdd04d22ccab50c542e94ffa7a27d02d6bcefaa22e4fcee6db4c2029fd4de0b595e98002c0be01fc1fbd3568671e394c97a6d52c3d4c113fb52231356f36754274527a4b6f6a6278714265344b6e69363642537658664b595432475944728146118df8d18d38c2615154eaffcdd53829957f4e26863344f35653364e9000
|
|
16
|
-
=>
|
|
17
|
-
<=
|
|
18
|
-
=>
|
|
19
|
-
<=
|
|
26
|
+
=> e04000000d038000002c8000009180000000
|
|
27
|
+
<= 4104884ed3fe628a8487f782f97f38e7a9f014e624f1ea679951cf3a67445ea33fb334f4cc19e6c421b3ef9943d526cd4fbfebacebe8a62cc45db79a33d3ab04bd4722314b564d33624246475251664659344e6b4769696b716b445062506d7047314d486a5c6524c5cc298394c8673fdad5895d669d84200e18c5bcbc31613cec11b931229000
|
|
28
|
+
=> e016000000
|
|
29
|
+
<= 000000050107426974636f696e034243489000
|
|
30
|
+
=> b001000000
|
|
31
|
+
<= 010c426974636f696e204361736805312e362e339000
|
|
32
|
+
=> e040000015058000002c80000091800000000000000000000000
|
|
33
|
+
<= 4104cf54eb0e7d6309a4964b8a615007dabe1492963d4206ad449199c93ee6feb055aad537a51a1fc2a5acae0707fd4db7a055e78ead84210da0ccdb3344d002782922314c5a72753355436844586b773461597a6e356446646a764e44724b70334d746941d7d369ffa78f148de05b782e4752a3e0961750e22c78d24b61f384e727b85a639000
|
|
20
34
|
=> e016000000
|
|
21
35
|
<= 000000050107426974636f696e034243489000
|
|
36
|
+
=> b001000000
|
|
37
|
+
<= 010c426974636f696e204361736805312e362e339000
|
|
22
38
|
=> e040000009028000002c80000091
|
|
23
39
|
<= 41047b04bdbe4b654021e82a95b17aed3e9129d21827b0552bca5b08dce6ac7d15fff881a6f97d5d212c8dcb3c8a65fbbc6734dce70f69ed16d0f217cc4dac7cc53222314b42784d536454394476454642705956365a743937336d4c6a684771446a37774ba763e43eff53a31968bef4922d2462906955244e956508ae895cd9228a4c53f39000
|
|
24
40
|
=> e04000000d038000002c8000009180000000
|
|
25
41
|
<= 4104884ed3fe628a8487f782f97f38e7a9f014e624f1ea679951cf3a67445ea33fb334f4cc19e6c421b3ef9943d526cd4fbfebacebe8a62cc45db79a33d3ab04bd4722314b564d33624246475251664659344e6b4769696b716b445062506d7047314d486a5c6524c5cc298394c8673fdad5895d669d84200e18c5bcbc31613cec11b931229000
|
|
26
|
-
=> e04000000d038000002c8000009180000001
|
|
27
|
-
<= 4104a4c96afa042367cf1b7d70e2337cfb4a5d10633ad6ede7c2864cfb3546753a4ef9e27c055372a6fa17864aad803944492b3df81b8778658852054c4f7da01831223135595672555671736f626e5067797853634a6e55654d325a476d58696a744d764a7e30af32a41b1e03d1d54b1cdf6452734bb7cd58c2dbb7a978be42e06df1bf289000
|
|
28
42
|
`,
|
|
29
43
|
},
|
|
30
44
|
],
|