@ledgerhq/live-common 21.10.0 → 21.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.js +2 -2
- package/lib/api/explorerConfig/index.d.ts.map +1 -1
- package/lib/api/explorerConfig/index.js +7 -8
- package/lib/api/explorerConfig/index.js.map +1 -1
- package/lib/apps/support.d.ts.map +1 -1
- package/lib/apps/support.js +2 -1
- package/lib/apps/support.js.map +1 -1
- package/lib/bridge/jsHelpers.d.ts.map +1 -1
- package/lib/bridge/jsHelpers.js +8 -3
- package/lib/bridge/jsHelpers.js.map +1 -1
- package/lib/bridge/react/BridgeSync.js +8 -0
- package/lib/bridge/react/BridgeSync.js.map +1 -1
- package/lib/families/bitcoin/js-prepareTransaction.d.ts.map +1 -1
- package/lib/families/bitcoin/js-prepareTransaction.js +0 -3
- package/lib/families/bitcoin/js-prepareTransaction.js.map +1 -1
- package/lib/families/bitcoin/js-signOperation.d.ts.map +1 -1
- package/lib/families/bitcoin/js-signOperation.js +3 -1
- package/lib/families/bitcoin/js-signOperation.js.map +1 -1
- package/lib/families/bitcoin/js-synchronisation.d.ts.map +1 -1
- package/lib/families/bitcoin/js-synchronisation.js +2 -0
- package/lib/families/bitcoin/js-synchronisation.js.map +1 -1
- package/lib/families/bitcoin/specs.js +2 -1
- package/lib/families/bitcoin/specs.js.map +1 -1
- package/lib/families/bitcoin/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/bitcoin/speculos-deviceActions.js +4 -0
- package/lib/families/bitcoin/speculos-deviceActions.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.js +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/explorer/index.d.ts +2 -2
- package/lib/families/bitcoin/wallet-btc/explorer/index.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/explorer/index.js +1 -3
- package/lib/families/bitcoin/wallet-btc/explorer/index.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/index.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/index.js +3 -0
- package/lib/families/bitcoin/wallet-btc/index.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/storage/index.js +10 -10
- package/lib/families/bitcoin/wallet-btc/storage/index.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/wallet.d.ts +1 -0
- package/lib/families/bitcoin/wallet-btc/wallet.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/wallet.js +18 -8
- package/lib/families/bitcoin/wallet-btc/wallet.js.map +1 -1
- package/lib/families/cosmos/test-dataset.d.ts.map +1 -1
- package/lib/families/cosmos/test-dataset.js +8 -14
- package/lib/families/cosmos/test-dataset.js.map +1 -1
- package/lib/families/crypto_org/api/sdk.d.ts.map +1 -1
- package/lib/families/crypto_org/api/sdk.js +6 -4
- package/lib/families/crypto_org/api/sdk.js.map +1 -1
- package/lib/families/crypto_org/cli-transaction.d.ts.map +1 -1
- package/lib/families/crypto_org/cli-transaction.js +6 -1
- package/lib/families/crypto_org/cli-transaction.js.map +1 -1
- package/lib/families/crypto_org/js-buildTransaction.d.ts.map +1 -1
- package/lib/families/crypto_org/js-buildTransaction.js +4 -1
- package/lib/families/crypto_org/js-buildTransaction.js.map +1 -1
- package/lib/families/crypto_org/js-transaction.d.ts +1 -0
- package/lib/families/crypto_org/js-transaction.d.ts.map +1 -1
- package/lib/families/crypto_org/js-transaction.js +9 -4
- package/lib/families/crypto_org/js-transaction.js.map +1 -1
- package/lib/families/crypto_org/transaction.d.ts +2 -2
- package/lib/families/crypto_org/transaction.d.ts.map +1 -1
- package/lib/families/crypto_org/transaction.js +4 -4
- package/lib/families/crypto_org/transaction.js.map +1 -1
- package/lib/families/crypto_org/types.d.ts +2 -0
- package/lib/families/crypto_org/types.d.ts.map +1 -1
- package/lib/families/crypto_org/types.js.map +1 -1
- package/lib/families/elrond/api/apiCalls.d.ts +1 -2
- package/lib/families/elrond/api/apiCalls.d.ts.map +1 -1
- package/lib/families/elrond/api/apiCalls.js +3 -4
- package/lib/families/elrond/api/apiCalls.js.map +1 -1
- package/lib/families/elrond/api/sdk.d.ts +1 -3
- package/lib/families/elrond/api/sdk.d.ts.map +1 -1
- package/lib/families/elrond/api/sdk.js +1 -3
- package/lib/families/elrond/api/sdk.js.map +1 -1
- package/lib/families/elrond/constants.d.ts +0 -4
- package/lib/families/elrond/constants.d.ts.map +1 -1
- package/lib/families/elrond/constants.js +1 -5
- package/lib/families/elrond/constants.js.map +1 -1
- package/lib/families/elrond/js-broadcast.d.ts.map +1 -1
- package/lib/families/elrond/js-broadcast.js +6 -9
- package/lib/families/elrond/js-broadcast.js.map +1 -1
- package/lib/families/elrond/js-buildTransaction.d.ts +1 -1
- package/lib/families/elrond/js-buildTransaction.d.ts.map +1 -1
- package/lib/families/elrond/js-buildTransaction.js +17 -21
- package/lib/families/elrond/js-buildTransaction.js.map +1 -1
- package/lib/families/elrond/js-estimateMaxSpendable.d.ts.map +1 -1
- package/lib/families/elrond/js-estimateMaxSpendable.js +1 -2
- package/lib/families/elrond/js-estimateMaxSpendable.js.map +1 -1
- package/lib/families/elrond/js-getFeesForTransaction.d.ts +1 -2
- package/lib/families/elrond/js-getFeesForTransaction.d.ts.map +1 -1
- package/lib/families/elrond/js-getFeesForTransaction.js +6 -6
- package/lib/families/elrond/js-getFeesForTransaction.js.map +1 -1
- package/lib/families/elrond/js-signOperation.d.ts.map +1 -1
- package/lib/families/elrond/js-signOperation.js +11 -17
- package/lib/families/elrond/js-signOperation.js.map +1 -1
- package/lib/families/elrond/js-synchronisation.d.ts.map +1 -1
- package/lib/families/elrond/js-synchronisation.js.map +1 -1
- package/lib/families/elrond/js-transaction.d.ts.map +1 -1
- package/lib/families/elrond/js-transaction.js +1 -2
- package/lib/families/elrond/js-transaction.js.map +1 -1
- package/lib/families/elrond/logic.d.ts +0 -1
- package/lib/families/elrond/logic.d.ts.map +1 -1
- package/lib/families/elrond/logic.js +1 -20
- package/lib/families/elrond/logic.js.map +1 -1
- package/lib/families/elrond/test-dataset.js +2 -2
- package/lib/families/elrond/test-dataset.js.map +1 -1
- package/lib/families/polkadot/api/sidecar.d.ts +9 -1
- package/lib/families/polkadot/api/sidecar.d.ts.map +1 -1
- package/lib/families/polkadot/api/sidecar.js +14 -2
- package/lib/families/polkadot/api/sidecar.js.map +1 -1
- 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/generated/transaction.d.ts +1 -1
- package/lib/reconciliation.d.ts.map +1 -1
- package/lib/reconciliation.js +3 -1
- package/lib/reconciliation.js.map +1 -1
- package/package.json +25 -25
- package/src/__tests__/__snapshots__/all.libcore.ts.snap +180523 -1210
- package/src/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.ts +2 -2
- package/src/api/explorerConfig/index.ts +7 -8
- package/src/apps/support.ts +2 -1
- package/src/bridge/jsHelpers.ts +9 -1
- package/src/bridge/react/BridgeSync.tsx +10 -0
- package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +229 -2
- package/src/families/bitcoin/js-prepareTransaction.ts +0 -2
- package/src/families/bitcoin/js-signOperation.ts +3 -0
- package/src/families/bitcoin/js-synchronisation.ts +2 -0
- package/src/families/bitcoin/specs.ts +1 -1
- package/src/families/bitcoin/speculos-deviceActions.ts +4 -0
- package/src/families/bitcoin/wallet-btc/crypto/bitcoin.ts +1 -1
- package/src/families/bitcoin/wallet-btc/explorer/index.ts +1 -5
- package/src/families/bitcoin/wallet-btc/index.ts +2 -0
- package/src/families/bitcoin/wallet-btc/storage/index.ts +12 -12
- package/src/families/bitcoin/wallet-btc/wallet.ts +24 -7
- package/src/families/cosmos/test-dataset.ts +11 -16
- package/src/families/crypto_org/api/sdk.ts +7 -3
- package/src/families/crypto_org/cli-transaction.ts +11 -1
- package/src/families/crypto_org/js-buildTransaction.ts +5 -0
- package/src/families/crypto_org/js-transaction.ts +9 -2
- package/src/families/crypto_org/transaction.ts +4 -2
- package/src/families/crypto_org/types.ts +2 -0
- package/src/families/elrond/api/apiCalls.ts +2 -4
- package/src/families/elrond/api/sdk.ts +1 -3
- package/src/families/elrond/constants.ts +0 -4
- package/src/families/elrond/js-broadcast.ts +2 -5
- package/src/families/elrond/js-buildTransaction.ts +4 -8
- package/src/families/elrond/js-estimateMaxSpendable.ts +0 -1
- package/src/families/elrond/js-getFeesForTransaction.ts +1 -3
- package/src/families/elrond/js-signOperation.ts +11 -16
- package/src/families/elrond/js-synchronisation.ts +1 -0
- package/src/families/elrond/js-transaction.ts +0 -1
- package/src/families/elrond/logic.ts +0 -24
- package/src/families/elrond/test-dataset.ts +1 -1
- package/src/families/polkadot/api/sidecar.ts +20 -1
- package/src/families/tezos/bakers.whitelist-default.ts +0 -2
- package/src/reconciliation.ts +2 -1
|
@@ -63,7 +63,7 @@ describe("testing wallet", () => {
|
|
|
63
63
|
fromAccount: account,
|
|
64
64
|
txInfo,
|
|
65
65
|
});
|
|
66
|
-
expect(tx).toEqual("
|
|
66
|
+
expect(tx).toEqual("66ad13fd62ca677ae4d169ec5fe84be2f846562a");
|
|
67
67
|
});
|
|
68
68
|
|
|
69
69
|
it("should allow to build a transaction splitting outputs", async () => {
|
|
@@ -87,7 +87,7 @@ describe("testing wallet", () => {
|
|
|
87
87
|
fromAccount: account,
|
|
88
88
|
txInfo,
|
|
89
89
|
});
|
|
90
|
-
expect(tx).toEqual("
|
|
90
|
+
expect(tx).toEqual("23ab414d38fe836e22619d6ee84fdebafa6b5168");
|
|
91
91
|
});
|
|
92
92
|
|
|
93
93
|
it("should throw during sync if there is an error in explorer", async () => {
|
|
@@ -82,10 +82,6 @@ const initialExplorerConfig: FullConfig = {
|
|
|
82
82
|
komodo: {
|
|
83
83
|
id: "kmd",
|
|
84
84
|
stable: {
|
|
85
|
-
base: "EXPLORER",
|
|
86
|
-
version: "v2",
|
|
87
|
-
},
|
|
88
|
-
experimental: {
|
|
89
85
|
base: "EXPLORER",
|
|
90
86
|
version: "v3",
|
|
91
87
|
},
|
|
@@ -129,10 +125,6 @@ const initialExplorerConfig: FullConfig = {
|
|
|
129
125
|
stakenet: {
|
|
130
126
|
id: "xsn",
|
|
131
127
|
stable: {
|
|
132
|
-
base: "EXPLORER",
|
|
133
|
-
version: "v2",
|
|
134
|
-
},
|
|
135
|
-
experimental: {
|
|
136
128
|
base: "EXPLORER",
|
|
137
129
|
version: "v3",
|
|
138
130
|
},
|
|
@@ -214,6 +206,13 @@ const initialExplorerConfig: FullConfig = {
|
|
|
214
206
|
version: "v3",
|
|
215
207
|
},
|
|
216
208
|
},
|
|
209
|
+
polygon: {
|
|
210
|
+
id: "matic",
|
|
211
|
+
stable: {
|
|
212
|
+
base: "EXPLORER",
|
|
213
|
+
version: "v3",
|
|
214
|
+
},
|
|
215
|
+
},
|
|
217
216
|
};
|
|
218
217
|
let explorerConfig: FullConfig = initialExplorerConfig;
|
|
219
218
|
export function getExplorerConfig(): FullConfig {
|
package/src/apps/support.ts
CHANGED
|
@@ -29,7 +29,8 @@ export function shouldUpgrade(
|
|
|
29
29
|
const appVersionsRequired = {
|
|
30
30
|
Cosmos: ">= 2.14",
|
|
31
31
|
Algorand: ">= 1.2.9",
|
|
32
|
-
Polkadot: ">=
|
|
32
|
+
Polkadot: ">= 8.9100.0",
|
|
33
|
+
Elrond: ">= 1.0.11",
|
|
33
34
|
};
|
|
34
35
|
export function mustUpgrade(
|
|
35
36
|
deviceModel: DeviceModelId,
|
package/src/bridge/jsHelpers.ts
CHANGED
|
@@ -369,7 +369,7 @@ export const makeScanAccounts =
|
|
|
369
369
|
});
|
|
370
370
|
derivationsCache[freshAddressPath] = res;
|
|
371
371
|
}
|
|
372
|
-
|
|
372
|
+
|
|
373
373
|
const account = await stepAccount(
|
|
374
374
|
index,
|
|
375
375
|
res,
|
|
@@ -377,6 +377,14 @@ export const makeScanAccounts =
|
|
|
377
377
|
seedIdentifier,
|
|
378
378
|
transport
|
|
379
379
|
);
|
|
380
|
+
// Bitcoin needs to compute the freshAddressPath itself,
|
|
381
|
+
// so we update it afterwards
|
|
382
|
+
if (account?.freshAddressPath) {
|
|
383
|
+
res.address = account.freshAddress;
|
|
384
|
+
derivationsCache[account.freshAddressPath] = res;
|
|
385
|
+
}
|
|
386
|
+
log("scanAccounts", "derivationsCache", res);
|
|
387
|
+
|
|
380
388
|
log(
|
|
381
389
|
"scanAccounts",
|
|
382
390
|
`scanning ${currency.id} at ${freshAddressPath}: ${
|
|
@@ -103,6 +103,7 @@ function useHydrate({ accounts, hydrateCurrency }) {
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
const lastTimeAnalyticsTrackPerAccountId: Record<string, number> = {};
|
|
106
|
+
const lastTimeSuccessSyncPerAccountId: Record<string, number> = {};
|
|
106
107
|
const nothingState = {
|
|
107
108
|
pending: false,
|
|
108
109
|
error: null,
|
|
@@ -160,6 +161,15 @@ function useSyncQueue({
|
|
|
160
161
|
const account = accounts.find((a) => a.id === accountId);
|
|
161
162
|
if (!account) return;
|
|
162
163
|
const subAccounts: SubAccount[] = account.subAccounts || [];
|
|
164
|
+
|
|
165
|
+
if (event === "SyncSuccess") {
|
|
166
|
+
// Nb Only emit SyncSuccess/SyncSuccessToken event once per launch
|
|
167
|
+
if (lastTimeSuccessSyncPerAccountId[accountId]) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
lastTimeSuccessSyncPerAccountId[accountId] = startSyncTime;
|
|
171
|
+
}
|
|
172
|
+
|
|
163
173
|
trackAnalytics(event, {
|
|
164
174
|
duration: (Date.now() - startSyncTime) / 1000,
|
|
165
175
|
currencyName: account.currency.name,
|
|
@@ -49,6 +49,7 @@ Array [
|
|
|
49
49
|
"ethereum/erc20/trueusd",
|
|
50
50
|
"ethereum/erc20/kyber_network_crystal_v2",
|
|
51
51
|
"ravencoin",
|
|
52
|
+
"polygon/erc20/theta_token_(pos)",
|
|
52
53
|
"ethereum/erc20/enjin",
|
|
53
54
|
"waves",
|
|
54
55
|
"ethereum/erc20/omg",
|
|
@@ -67,7 +68,7 @@ Array [
|
|
|
67
68
|
"ethereum/erc20/aave_",
|
|
68
69
|
"ethereum/erc20/republic_protocol",
|
|
69
70
|
"zencash",
|
|
70
|
-
"
|
|
71
|
+
"polygon",
|
|
71
72
|
"ethereum/erc20/nmr",
|
|
72
73
|
"ethereum/erc20/streamr",
|
|
73
74
|
"ethereum/erc20/mana",
|
|
@@ -94,6 +95,7 @@ Array [
|
|
|
94
95
|
"ethereum/erc20/iexec_rlc",
|
|
95
96
|
"tomo",
|
|
96
97
|
"elastos",
|
|
98
|
+
"polygon/erc20/bandtoken",
|
|
97
99
|
"ethereum/erc20/ocean",
|
|
98
100
|
"ethereum/erc20/healthcare_administration_token",
|
|
99
101
|
"ark",
|
|
@@ -129,6 +131,7 @@ Array [
|
|
|
129
131
|
"ethereum/erc20/kan",
|
|
130
132
|
"ethereum/erc20/bnet_token",
|
|
131
133
|
"ethereum/erc20/populous",
|
|
134
|
+
"polygon/erc20/iotex_network",
|
|
132
135
|
"ethereum/erc20/funfair",
|
|
133
136
|
"kusama",
|
|
134
137
|
"ethereum/erc20/machine_xchange_coin",
|
|
@@ -167,6 +170,7 @@ Array [
|
|
|
167
170
|
"ethereum/erc20/zeon",
|
|
168
171
|
"ethereum/erc20/gaptoken",
|
|
169
172
|
"ethereum/erc20/cryptoindex_100",
|
|
173
|
+
"polygon/erc20/usdk",
|
|
170
174
|
"ethereum/erc20/qubitica_",
|
|
171
175
|
"ethereum/erc20/ethereum_meta",
|
|
172
176
|
"ethereum/erc20/bitforex_token",
|
|
@@ -209,6 +213,7 @@ Array [
|
|
|
209
213
|
"ethereum/erc20/credits",
|
|
210
214
|
"ethereum/erc20/xactoken",
|
|
211
215
|
"ethereum/erc20/lto_network_token",
|
|
216
|
+
"polygon/erc20/polywolf",
|
|
212
217
|
"ethereum/erc20/thetimeschain_coin",
|
|
213
218
|
"ethereum/erc20/cashaa",
|
|
214
219
|
"ethereum/erc20/invictus_hyperion",
|
|
@@ -216,6 +221,7 @@ Array [
|
|
|
216
221
|
"ethereum/erc20/idex_token",
|
|
217
222
|
"ethereum/erc20/request_network",
|
|
218
223
|
"ethereum/erc20/minebee",
|
|
224
|
+
"polygon/erc20/fantom_token",
|
|
219
225
|
"ethereum/erc20/bix_token",
|
|
220
226
|
"kin",
|
|
221
227
|
"ethereum/erc20/pinakion",
|
|
@@ -261,6 +267,7 @@ Array [
|
|
|
261
267
|
"ethereum/erc20/tenx",
|
|
262
268
|
"ethereum/erc20/internet_node_token",
|
|
263
269
|
"ethereum/erc20/levolution.io_token",
|
|
270
|
+
"polygon/erc20/decentr",
|
|
264
271
|
"ethereum/erc20/iqeon",
|
|
265
272
|
"peercoin",
|
|
266
273
|
"ethereum/erc20/united_traders_token",
|
|
@@ -871,6 +878,7 @@ Array [
|
|
|
871
878
|
"ethereum/erc20/thrivetoken",
|
|
872
879
|
"ethereum/erc20/tesla",
|
|
873
880
|
"ethereum/erc20/mainstream_for_the_underground",
|
|
881
|
+
"polygon/erc20/safedollar.fi_share_2.0",
|
|
874
882
|
"ethereum/erc20/cdx",
|
|
875
883
|
"ethereum/erc20/dropil",
|
|
876
884
|
"ethereum/erc20/savedroid",
|
|
@@ -1104,6 +1112,7 @@ Array [
|
|
|
1104
1112
|
"ethereum/erc20/aax_token",
|
|
1105
1113
|
"ethereum/erc20/cybertronchain",
|
|
1106
1114
|
"ethereum/erc20/deapcoin",
|
|
1115
|
+
"polygon/erc20/ong",
|
|
1107
1116
|
"ethereum/erc20/ethbear",
|
|
1108
1117
|
"ethereum/erc20/all_sports_coin",
|
|
1109
1118
|
"ethereum/erc20/bkex_chain",
|
|
@@ -1242,6 +1251,7 @@ Array [
|
|
|
1242
1251
|
"ethereum/erc20/volt",
|
|
1243
1252
|
"ethereum/erc20/map_protocol",
|
|
1244
1253
|
"ethereum/erc20/crypto_boss_coin",
|
|
1254
|
+
"polygon/erc20/beefy.finance",
|
|
1245
1255
|
"ethereum/erc20/future1coin",
|
|
1246
1256
|
"ethereum/erc20/ptokens_btc",
|
|
1247
1257
|
"ethereum/erc20/charg_coin",
|
|
@@ -1558,6 +1568,7 @@ Array [
|
|
|
1558
1568
|
"ethereum/erc20/arcane_bear",
|
|
1559
1569
|
"ethereum/erc20/archer_dao_governance_token",
|
|
1560
1570
|
"ethereum/erc20/archetypal_network",
|
|
1571
|
+
"ethereum/erc20/arcoin",
|
|
1561
1572
|
"ethereum/erc20/arcona_distribution_contract",
|
|
1562
1573
|
"ethereum/erc20/arcx_governance_token",
|
|
1563
1574
|
"ethereum/erc20/ares_protocol",
|
|
@@ -2069,6 +2080,7 @@ Array [
|
|
|
2069
2080
|
"ethereum/erc20/clink",
|
|
2070
2081
|
"ethereum/erc20/clipper_coin_capital",
|
|
2071
2082
|
"ethereum/erc20/cliq",
|
|
2083
|
+
"ethereum/erc20/cloutcontracts",
|
|
2072
2084
|
"ethereum/erc20/clover",
|
|
2073
2085
|
"ethereum/erc20/clt",
|
|
2074
2086
|
"ethereum/erc20/cm_collection",
|
|
@@ -2304,10 +2316,10 @@ Array [
|
|
|
2304
2316
|
"ethereum/erc20/darktoken",
|
|
2305
2317
|
"ethereum/erc20/dart_token",
|
|
2306
2318
|
"ethereum/erc20/darwinia_commitment_token",
|
|
2319
|
+
"ethereum/erc20/data_economy_index",
|
|
2307
2320
|
"ethereum/erc20/data_exchange_token",
|
|
2308
2321
|
"ethereum/erc20/data_know_your_customer",
|
|
2309
2322
|
"ethereum/erc20/databroker",
|
|
2310
|
-
"ethereum/erc20/datacoin",
|
|
2311
2323
|
"ethereum/erc20/datamine",
|
|
2312
2324
|
"ethereum/erc20/datbit_token",
|
|
2313
2325
|
"ethereum/erc20/davecoin",
|
|
@@ -2401,6 +2413,7 @@ Array [
|
|
|
2401
2413
|
"ethereum/erc20/dexter",
|
|
2402
2414
|
"ethereum/erc20/dextf_token",
|
|
2403
2415
|
"ethereum/erc20/dextoken_governance",
|
|
2416
|
+
"ethereum/erc20/dextools",
|
|
2404
2417
|
"ethereum/erc20/dextrust",
|
|
2405
2418
|
"ethereum/erc20/dfe.finance",
|
|
2406
2419
|
"ethereum/erc20/dfinance",
|
|
@@ -2527,6 +2540,7 @@ Array [
|
|
|
2527
2540
|
"ethereum/erc20/dtop_token",
|
|
2528
2541
|
"ethereum/erc20/dualchain",
|
|
2529
2542
|
"ethereum/erc20/dubi",
|
|
2543
|
+
"ethereum/erc20/ducato_finance_token",
|
|
2530
2544
|
"ethereum/erc20/duckdaodime",
|
|
2531
2545
|
"ethereum/erc20/duet_governance_token",
|
|
2532
2546
|
"ethereum/erc20/dukascoin",
|
|
@@ -2601,6 +2615,8 @@ Array [
|
|
|
2601
2615
|
"ethereum/erc20/enreachdao",
|
|
2602
2616
|
"ethereum/erc20/entanmo",
|
|
2603
2617
|
"ethereum/erc20/entone",
|
|
2618
|
+
"ethereum/erc20/entropy",
|
|
2619
|
+
"ethereum/erc20/envicoin",
|
|
2604
2620
|
"ethereum/erc20/epanus",
|
|
2605
2621
|
"ethereum/erc20/epay_coin_plus",
|
|
2606
2622
|
"ethereum/erc20/epik_prime",
|
|
@@ -3498,6 +3514,7 @@ Array [
|
|
|
3498
3514
|
"ethereum/erc20/masq",
|
|
3499
3515
|
"ethereum/erc20/master_usd",
|
|
3500
3516
|
"ethereum/erc20/math_token",
|
|
3517
|
+
"ethereum/erc20/matic",
|
|
3501
3518
|
"ethereum/erc20/maya_coin",
|
|
3502
3519
|
"ethereum/erc20/mbcash",
|
|
3503
3520
|
"ethereum/erc20/mcap",
|
|
@@ -3551,6 +3568,7 @@ Array [
|
|
|
3551
3568
|
"ethereum/erc20/metis_token",
|
|
3552
3569
|
"ethereum/erc20/metric.exchange",
|
|
3553
3570
|
"ethereum/erc20/mfi_erc20",
|
|
3571
|
+
"ethereum/erc20/mia_neko",
|
|
3554
3572
|
"ethereum/erc20/miami",
|
|
3555
3573
|
"ethereum/erc20/mic",
|
|
3556
3574
|
"ethereum/erc20/micro_launchpad_token",
|
|
@@ -3739,6 +3757,7 @@ Array [
|
|
|
3739
3757
|
"ethereum/erc20/nodeseeds.com_token",
|
|
3740
3758
|
"ethereum/erc20/noia_token",
|
|
3741
3759
|
"ethereum/erc20/nollya_coin",
|
|
3760
|
+
"ethereum/erc20/nomad_coin",
|
|
3742
3761
|
"ethereum/erc20/non-fungible_toke",
|
|
3743
3762
|
"ethereum/erc20/non-fungible_yearn",
|
|
3744
3763
|
"ethereum/erc20/noob.finance",
|
|
@@ -3870,6 +3889,7 @@ Array [
|
|
|
3870
3889
|
"ethereum/erc20/paralink_network",
|
|
3871
3890
|
"ethereum/erc20/parallelchain_token",
|
|
3872
3891
|
"ethereum/erc20/pareto",
|
|
3892
|
+
"ethereum/erc20/paribus",
|
|
3873
3893
|
"ethereum/erc20/parsec_finance",
|
|
3874
3894
|
"ethereum/erc20/parsiq_boost",
|
|
3875
3895
|
"ethereum/erc20/parsiq_token_",
|
|
@@ -3969,6 +3989,7 @@ Array [
|
|
|
3969
3989
|
"ethereum/erc20/pocc_token",
|
|
3970
3990
|
"ethereum/erc20/podo",
|
|
3971
3991
|
"ethereum/erc20/pofid_dao_token",
|
|
3992
|
+
"ethereum/erc20/poken",
|
|
3972
3993
|
"ethereum/erc20/poker_io",
|
|
3973
3994
|
"ethereum/erc20/polar_chain",
|
|
3974
3995
|
"ethereum/erc20/polaris_share",
|
|
@@ -4490,6 +4511,7 @@ Array [
|
|
|
4490
4511
|
"ethereum/erc20/stake_pool",
|
|
4491
4512
|
"ethereum/erc20/staked_aave",
|
|
4492
4513
|
"ethereum/erc20/staked_aave_balance_pool_token",
|
|
4514
|
+
"ethereum/erc20/staked_olympus",
|
|
4493
4515
|
"ethereum/erc20/stakeddvf",
|
|
4494
4516
|
"ethereum/erc20/stakedfiro",
|
|
4495
4517
|
"ethereum/erc20/stakedxem",
|
|
@@ -5370,12 +5392,217 @@ Array [
|
|
|
5370
5392
|
"ethereum_ropsten/erc20/compound_ether",
|
|
5371
5393
|
"ethereum_ropsten/erc20/dai_stablecoin_v2_0",
|
|
5372
5394
|
"ethereum_ropsten/erc20/gigcoin",
|
|
5395
|
+
"ethereum_ropsten/erc20/ledgercoin18",
|
|
5373
5396
|
"ethereum_ropsten/erc20/nangalanga",
|
|
5374
5397
|
"ethereum_ropsten/erc20/tk19",
|
|
5375
5398
|
"ethereum_ropsten/erc20/tk20",
|
|
5376
5399
|
"ethereum_ropsten/erc20/toko24",
|
|
5377
5400
|
"ethereum_ropsten/erc20/toko25",
|
|
5378
5401
|
"ethereum_ropsten/erc20/usd_tether__erc20_",
|
|
5402
|
+
"polygon/erc20/(pos)_compound",
|
|
5403
|
+
"polygon/erc20/(pos)_dai_stablecoin",
|
|
5404
|
+
"polygon/erc20/(pos)_tether_usd",
|
|
5405
|
+
"polygon/erc20/(pos)_wrapped_btc",
|
|
5406
|
+
"polygon/erc20/(pos)_yearn.finance",
|
|
5407
|
+
"polygon/erc20/0xbitcoin_token",
|
|
5408
|
+
"polygon/erc20/1inch_token",
|
|
5409
|
+
"polygon/erc20/aave_(pos)",
|
|
5410
|
+
"polygon/erc20/aave_matic_market_aave",
|
|
5411
|
+
"polygon/erc20/aave_matic_market_dai",
|
|
5412
|
+
"polygon/erc20/aave_matic_market_usdc",
|
|
5413
|
+
"polygon/erc20/aave_matic_market_usdt",
|
|
5414
|
+
"polygon/erc20/aave_matic_market_wbtc",
|
|
5415
|
+
"polygon/erc20/aave_matic_market_weth",
|
|
5416
|
+
"polygon/erc20/aave_matic_market_wmatic",
|
|
5417
|
+
"polygon/erc20/adamant",
|
|
5418
|
+
"polygon/erc20/aioz_network",
|
|
5419
|
+
"polygon/erc20/aluna",
|
|
5420
|
+
"polygon/erc20/amp",
|
|
5421
|
+
"polygon/erc20/ampleforth_governance",
|
|
5422
|
+
"polygon/erc20/ankr_eth2_reward_bearing_certificate",
|
|
5423
|
+
"polygon/erc20/armor",
|
|
5424
|
+
"polygon/erc20/augury_finance",
|
|
5425
|
+
"polygon/erc20/bac",
|
|
5426
|
+
"polygon/erc20/balancer",
|
|
5427
|
+
"polygon/erc20/bancor",
|
|
5428
|
+
"polygon/erc20/bat",
|
|
5429
|
+
"polygon/erc20/betprotocoltoken",
|
|
5430
|
+
"polygon/erc20/binance-usd",
|
|
5431
|
+
"polygon/erc20/bitfinex_leo_token",
|
|
5432
|
+
"polygon/erc20/blockv",
|
|
5433
|
+
"polygon/erc20/bluzelle",
|
|
5434
|
+
"polygon/erc20/bnb",
|
|
5435
|
+
"polygon/erc20/bone_token_(boneswap)",
|
|
5436
|
+
"polygon/erc20/boringdao_(pos)",
|
|
5437
|
+
"polygon/erc20/bounty0x",
|
|
5438
|
+
"polygon/erc20/btc_2x_flexible_leverage_index",
|
|
5439
|
+
"polygon/erc20/btu_protocol",
|
|
5440
|
+
"polygon/erc20/bzx_protocol_token",
|
|
5441
|
+
"polygon/erc20/cardstack",
|
|
5442
|
+
"polygon/erc20/cargox",
|
|
5443
|
+
"polygon/erc20/celsius",
|
|
5444
|
+
"polygon/erc20/chainlink_token",
|
|
5445
|
+
"polygon/erc20/chiliz",
|
|
5446
|
+
"polygon/erc20/clintex",
|
|
5447
|
+
"polygon/erc20/crv_(pos)",
|
|
5448
|
+
"polygon/erc20/cryption_network_token",
|
|
5449
|
+
"polygon/erc20/crypto.com_coin",
|
|
5450
|
+
"polygon/erc20/decentraland",
|
|
5451
|
+
"polygon/erc20/deri",
|
|
5452
|
+
"polygon/erc20/dfyn_token_(pos)",
|
|
5453
|
+
"polygon/erc20/dhedge_dao_token",
|
|
5454
|
+
"polygon/erc20/dogelon",
|
|
5455
|
+
"polygon/erc20/dovu",
|
|
5456
|
+
"polygon/erc20/dragon_quick",
|
|
5457
|
+
"polygon/erc20/dsla",
|
|
5458
|
+
"polygon/erc20/endor_protocol_token",
|
|
5459
|
+
"polygon/erc20/energy_web_token_bridged",
|
|
5460
|
+
"polygon/erc20/enjincoin",
|
|
5461
|
+
"polygon/erc20/eth_2x_flexible_leverage_index",
|
|
5462
|
+
"polygon/erc20/ethereum_blue",
|
|
5463
|
+
"polygon/erc20/ethermontoken",
|
|
5464
|
+
"polygon/erc20/ethlend",
|
|
5465
|
+
"polygon/erc20/everipedia_iq_(pos)",
|
|
5466
|
+
"polygon/erc20/fegtoken",
|
|
5467
|
+
"polygon/erc20/fetch",
|
|
5468
|
+
"polygon/erc20/fish",
|
|
5469
|
+
"polygon/erc20/foam_token",
|
|
5470
|
+
"polygon/erc20/fox",
|
|
5471
|
+
"polygon/erc20/fractal_protocol_token",
|
|
5472
|
+
"polygon/erc20/free_coin",
|
|
5473
|
+
"polygon/erc20/frontier_token",
|
|
5474
|
+
"polygon/erc20/furucombo",
|
|
5475
|
+
"polygon/erc20/fusion",
|
|
5476
|
+
"polygon/erc20/gemini_dollar",
|
|
5477
|
+
"polygon/erc20/gitcoin_(pos)",
|
|
5478
|
+
"polygon/erc20/gnosis",
|
|
5479
|
+
"polygon/erc20/golem_network_token",
|
|
5480
|
+
"polygon/erc20/graph_token",
|
|
5481
|
+
"polygon/erc20/gravity_finance",
|
|
5482
|
+
"polygon/erc20/grumpy_cat",
|
|
5483
|
+
"polygon/erc20/guaranteed_entrance_token",
|
|
5484
|
+
"polygon/erc20/hashgard",
|
|
5485
|
+
"polygon/erc20/hex",
|
|
5486
|
+
"polygon/erc20/holotoken",
|
|
5487
|
+
"polygon/erc20/honor",
|
|
5488
|
+
"polygon/erc20/hopr_token",
|
|
5489
|
+
"polygon/erc20/huobitoken",
|
|
5490
|
+
"polygon/erc20/husd",
|
|
5491
|
+
"polygon/erc20/impermax",
|
|
5492
|
+
"polygon/erc20/injective_token",
|
|
5493
|
+
"polygon/erc20/internxt",
|
|
5494
|
+
"polygon/erc20/inverse",
|
|
5495
|
+
"polygon/erc20/iron_finance_ice_token",
|
|
5496
|
+
"polygon/erc20/iron_stablecoin",
|
|
5497
|
+
"polygon/erc20/iron_titanium_token",
|
|
5498
|
+
"polygon/erc20/jarvis_reward_token",
|
|
5499
|
+
"polygon/erc20/keep_token",
|
|
5500
|
+
"polygon/erc20/krill",
|
|
5501
|
+
"polygon/erc20/kyber_network_crystal_v2_(pos)",
|
|
5502
|
+
"polygon/erc20/launchpool_token",
|
|
5503
|
+
"polygon/erc20/lcx",
|
|
5504
|
+
"polygon/erc20/litentry",
|
|
5505
|
+
"polygon/erc20/livepeer_token",
|
|
5506
|
+
"polygon/erc20/loopringcoin_v2",
|
|
5507
|
+
"polygon/erc20/mainframe_token",
|
|
5508
|
+
"polygon/erc20/maker",
|
|
5509
|
+
"polygon/erc20/mantra_dao",
|
|
5510
|
+
"polygon/erc20/marlin_pond",
|
|
5511
|
+
"polygon/erc20/mask_network",
|
|
5512
|
+
"polygon/erc20/matic_aave_interest_bearing_usdc",
|
|
5513
|
+
"polygon/erc20/meta",
|
|
5514
|
+
"polygon/erc20/mimatic",
|
|
5515
|
+
"polygon/erc20/moonwolf.io",
|
|
5516
|
+
"polygon/erc20/mover",
|
|
5517
|
+
"polygon/erc20/napoleonx",
|
|
5518
|
+
"polygon/erc20/nexo",
|
|
5519
|
+
"polygon/erc20/occ",
|
|
5520
|
+
"polygon/erc20/ocean_token",
|
|
5521
|
+
"polygon/erc20/oiler",
|
|
5522
|
+
"polygon/erc20/omg_network",
|
|
5523
|
+
"polygon/erc20/oraichain_token",
|
|
5524
|
+
"polygon/erc20/orbs",
|
|
5525
|
+
"polygon/erc20/orchid",
|
|
5526
|
+
"polygon/erc20/origintoken",
|
|
5527
|
+
"polygon/erc20/ovr",
|
|
5528
|
+
"polygon/erc20/paid_network",
|
|
5529
|
+
"polygon/erc20/par_stablecoin",
|
|
5530
|
+
"polygon/erc20/parsiq_token",
|
|
5531
|
+
"polygon/erc20/paxos_gold",
|
|
5532
|
+
"polygon/erc20/paxos_standard",
|
|
5533
|
+
"polygon/erc20/pepedex",
|
|
5534
|
+
"polygon/erc20/piedao_dough_v2",
|
|
5535
|
+
"polygon/erc20/pinakion",
|
|
5536
|
+
"polygon/erc20/pinknode_token",
|
|
5537
|
+
"polygon/erc20/pluton",
|
|
5538
|
+
"polygon/erc20/polydoge",
|
|
5539
|
+
"polygon/erc20/polygaj_token",
|
|
5540
|
+
"polygon/erc20/polygon_bunny_token",
|
|
5541
|
+
"polygon/erc20/polymath",
|
|
5542
|
+
"polygon/erc20/polyroll_token",
|
|
5543
|
+
"polygon/erc20/polyyeld_token",
|
|
5544
|
+
"polygon/erc20/pooltogether",
|
|
5545
|
+
"polygon/erc20/powerledger",
|
|
5546
|
+
"polygon/erc20/ptokens_btc",
|
|
5547
|
+
"polygon/erc20/pup_token",
|
|
5548
|
+
"polygon/erc20/pusd",
|
|
5549
|
+
"polygon/erc20/pyq",
|
|
5550
|
+
"polygon/erc20/qi_dao",
|
|
5551
|
+
"polygon/erc20/quickswap",
|
|
5552
|
+
"polygon/erc20/rarible",
|
|
5553
|
+
"polygon/erc20/renbtc",
|
|
5554
|
+
"polygon/erc20/render_token",
|
|
5555
|
+
"polygon/erc20/rendoge",
|
|
5556
|
+
"polygon/erc20/renfil",
|
|
5557
|
+
"polygon/erc20/ripiocreditnetwork",
|
|
5558
|
+
"polygon/erc20/rlc",
|
|
5559
|
+
"polygon/erc20/rocket_pool",
|
|
5560
|
+
"polygon/erc20/route",
|
|
5561
|
+
"polygon/erc20/safedollar.fi_dollar_2.0",
|
|
5562
|
+
"polygon/erc20/sand",
|
|
5563
|
+
"polygon/erc20/sapien_network",
|
|
5564
|
+
"polygon/erc20/sentinel",
|
|
5565
|
+
"polygon/erc20/serum",
|
|
5566
|
+
"polygon/erc20/shopping.io",
|
|
5567
|
+
"polygon/erc20/singularitynet_token",
|
|
5568
|
+
"polygon/erc20/spacerat",
|
|
5569
|
+
"polygon/erc20/stacker_ventures_token_(pos)",
|
|
5570
|
+
"polygon/erc20/stake",
|
|
5571
|
+
"polygon/erc20/stakewise",
|
|
5572
|
+
"polygon/erc20/stasis_eurs_token",
|
|
5573
|
+
"polygon/erc20/student_coin",
|
|
5574
|
+
"polygon/erc20/sushitoken_(pos)",
|
|
5575
|
+
"polygon/erc20/swipe",
|
|
5576
|
+
"polygon/erc20/swissborg",
|
|
5577
|
+
"polygon/erc20/synth_susd",
|
|
5578
|
+
"polygon/erc20/synthetix_network_token_(pos)",
|
|
5579
|
+
"polygon/erc20/tapmydata",
|
|
5580
|
+
"polygon/erc20/telcoin",
|
|
5581
|
+
"polygon/erc20/tellor_tributes",
|
|
5582
|
+
"polygon/erc20/tidal_token",
|
|
5583
|
+
"polygon/erc20/torn_token",
|
|
5584
|
+
"polygon/erc20/trueusd",
|
|
5585
|
+
"polygon/erc20/uma_voting_token_v1",
|
|
5586
|
+
"polygon/erc20/unfederalreservetoken",
|
|
5587
|
+
"polygon/erc20/unibright",
|
|
5588
|
+
"polygon/erc20/unifund",
|
|
5589
|
+
"polygon/erc20/unimex.network",
|
|
5590
|
+
"polygon/erc20/uniswap_(pos)",
|
|
5591
|
+
"polygon/erc20/usd_coin_(pos)",
|
|
5592
|
+
"polygon/erc20/vespertoken",
|
|
5593
|
+
"polygon/erc20/voyager",
|
|
5594
|
+
"polygon/erc20/waultswap_polygon",
|
|
5595
|
+
"polygon/erc20/wepower",
|
|
5596
|
+
"polygon/erc20/woofy",
|
|
5597
|
+
"polygon/erc20/wootrade_network",
|
|
5598
|
+
"polygon/erc20/wrapped_celo",
|
|
5599
|
+
"polygon/erc20/wrapped_filecoin_(pos)",
|
|
5600
|
+
"polygon/erc20/wrapped_matic",
|
|
5601
|
+
"polygon/erc20/wrapped_ust_token",
|
|
5602
|
+
"polygon/erc20/xtoken",
|
|
5603
|
+
"polygon/erc20/xy_oracle",
|
|
5604
|
+
"polygon/erc20/yop",
|
|
5605
|
+
"polygon/erc20/zrx",
|
|
5379
5606
|
"tron/trc10/1002670",
|
|
5380
5607
|
"tron/trc10/1002413",
|
|
5381
5608
|
"tron/trc10/1001943",
|
|
@@ -3,13 +3,11 @@ import type { Account } from "../../types";
|
|
|
3
3
|
import type { Transaction } from "./types";
|
|
4
4
|
import { getAccountNetworkInfo } from "./getAccountNetworkInfo";
|
|
5
5
|
import { inferFeePerByte } from "./logic";
|
|
6
|
-
import { AccountNeedResync } from "../../errors";
|
|
7
6
|
|
|
8
7
|
const prepareTransaction = async (
|
|
9
8
|
a: Account,
|
|
10
9
|
t: Transaction
|
|
11
10
|
): Promise<Transaction> => {
|
|
12
|
-
if (a.id.startsWith("libcore")) throw new AccountNeedResync();
|
|
13
11
|
let networkInfo = t.networkInfo;
|
|
14
12
|
|
|
15
13
|
if (!networkInfo) {
|
|
@@ -105,6 +105,8 @@ const signOperation = ({
|
|
|
105
105
|
? Buffer.from([0x00, 0x00, 0x00, 0x00])
|
|
106
106
|
: undefined;
|
|
107
107
|
|
|
108
|
+
const hasExtraData = perCoin?.hasExtraData || false;
|
|
109
|
+
|
|
108
110
|
const signature = await wallet.signAccountTx({
|
|
109
111
|
btc: hwApp,
|
|
110
112
|
fromAccount: walletAccount,
|
|
@@ -115,6 +117,7 @@ const signOperation = ({
|
|
|
115
117
|
//initialTimestamp,
|
|
116
118
|
additionals,
|
|
117
119
|
expiryHeight,
|
|
120
|
+
hasExtraData,
|
|
118
121
|
onDeviceSignatureGranted: () =>
|
|
119
122
|
o.next({
|
|
120
123
|
type: "device-signature-granted",
|
|
@@ -342,6 +342,8 @@ const getAccountShape: GetAccountShape = async (info) => {
|
|
|
342
342
|
spendableBalance: balance,
|
|
343
343
|
operations,
|
|
344
344
|
operationsCount: operations.length,
|
|
345
|
+
freshAddress: walletAccount.xpub.freshAddress[0],
|
|
346
|
+
freshAddressPath: `${accountPath}/0/${walletAccount.xpub.freshAddressIndex[0]}`,
|
|
345
347
|
blockHeight,
|
|
346
348
|
bitcoinResources: {
|
|
347
349
|
utxos,
|
|
@@ -277,7 +277,7 @@ const bitcoinTestnet: AppSpec<Transaction> = {
|
|
|
277
277
|
appQuery: {
|
|
278
278
|
model: DeviceModelId.nanoS,
|
|
279
279
|
appName: "Bitcoin Test",
|
|
280
|
-
|
|
280
|
+
appVersion: "2.0.0-beta",
|
|
281
281
|
},
|
|
282
282
|
test: genericTest,
|
|
283
283
|
mutations: bitcoinLikeMutations({
|
|
@@ -188,7 +188,7 @@ class Bitcoin extends Base {
|
|
|
188
188
|
const schnorrInternalPubkey = ecdsaPubkey.slice(1);
|
|
189
189
|
|
|
190
190
|
const evenEcdsaPubkey = Buffer.concat([
|
|
191
|
-
Buffer.
|
|
191
|
+
Buffer.from([0x02]),
|
|
192
192
|
schnorrInternalPubkey,
|
|
193
193
|
]);
|
|
194
194
|
const tweak = this.hashTapTweak(schnorrInternalPubkey);
|
|
@@ -239,17 +239,13 @@ class BitcoinLikeExplorer extends EventEmitter implements IExplorer {
|
|
|
239
239
|
tx.index = address.index;
|
|
240
240
|
// eslint-disable-next-line no-param-reassign
|
|
241
241
|
tx.address = address.address;
|
|
242
|
-
|
|
243
242
|
tx.outputs.forEach((output) => {
|
|
244
243
|
// eslint-disable-next-line no-param-reassign
|
|
245
244
|
output.output_hash = tx.hash;
|
|
246
245
|
// eslint-disable-next-line no-param-reassign
|
|
247
246
|
output.block_height = tx.block ? tx.block.height : null;
|
|
248
247
|
// Definition of replaceable, per the standard: https://github.com/bitcoin/bips/blob/61ccc84930051e5b4a99926510d0db4a8475a4e6/bip-0125.mediawiki#summary
|
|
249
|
-
|
|
250
|
-
output.rbf = !!(
|
|
251
|
-
tx.inputs[0]?.sequence && tx.inputs[0].sequence < 0xffffffff
|
|
252
|
-
);
|
|
248
|
+
output.rbf = tx.inputs[0] ? tx.inputs[0].sequence < 0xffffffff : false;
|
|
253
249
|
});
|
|
254
250
|
}
|
|
255
251
|
|
|
@@ -15,6 +15,7 @@ import { isValidAddress } from "./utils";
|
|
|
15
15
|
|
|
16
16
|
import type { Account as WalletAccount } from "./account";
|
|
17
17
|
import type { Account as LiveAccount } from "./../../../types";
|
|
18
|
+
import { AccountNeedResync } from "../../../errors";
|
|
18
19
|
|
|
19
20
|
export {
|
|
20
21
|
BitcoinLikeWallet,
|
|
@@ -37,6 +38,7 @@ export {
|
|
|
37
38
|
let wallet: BitcoinLikeWallet | null = null;
|
|
38
39
|
|
|
39
40
|
export const getWalletAccount = (account: LiveAccount): WalletAccount => {
|
|
41
|
+
if (account.id.startsWith("libcore")) throw new AccountNeedResync();
|
|
40
42
|
const walletAccount = account.bitcoinResources?.walletAccount;
|
|
41
43
|
if (!walletAccount) {
|
|
42
44
|
throw new Error("bitcoin wallet account expected");
|