@ledgerhq/live-common 34.55.0-nightly.20251220023811 → 34.55.0-nightly.20251223024125
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/account/recentAddresses.d.ts +2 -1
- package/lib/account/recentAddresses.d.ts.map +1 -1
- package/lib/account/recentAddresses.js +27 -9
- package/lib/account/recentAddresses.js.map +1 -1
- package/lib/exchange/providers/swap.d.ts.map +1 -1
- package/lib/exchange/providers/swap.js +2 -0
- package/lib/exchange/providers/swap.js.map +1 -1
- package/lib-es/account/recentAddresses.d.ts +2 -1
- package/lib-es/account/recentAddresses.d.ts.map +1 -1
- package/lib-es/account/recentAddresses.js +27 -9
- package/lib-es/account/recentAddresses.js.map +1 -1
- package/lib-es/exchange/providers/swap.d.ts.map +1 -1
- package/lib-es/exchange/providers/swap.js +2 -0
- package/lib-es/exchange/providers/swap.js.map +1 -1
- package/package.json +74 -74
- package/src/account/recentAddresses.test.ts +115 -15
- package/src/account/recentAddresses.ts +37 -13
- package/src/exchange/providers/swap.ts +2 -0
- package/src/families/hedera/__snapshots__/bridge.integration.test.ts.snap +7 -7
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import type { RecentAddressesState } from "@ledgerhq/types-live";
|
|
1
2
|
export declare const RECENT_ADDRESSES_COUNT_LIMIT = 12;
|
|
2
|
-
export type RecentAddressesCache =
|
|
3
|
+
export type RecentAddressesCache = RecentAddressesState;
|
|
3
4
|
export interface RecentAddressesStore {
|
|
4
5
|
addAddress(currency: string, address: string): void;
|
|
5
6
|
syncAddresses(cache: RecentAddressesCache): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recentAddresses.d.ts","sourceRoot":"","sources":["../../src/account/recentAddresses.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,MAAM,MAAM,oBAAoB,GAAG,
|
|
1
|
+
{"version":3,"file":"recentAddresses.d.ts","sourceRoot":"","sources":["../../src/account/recentAddresses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAiB,MAAM,sBAAsB,CAAC;AAEhF,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,aAAa,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACjD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1C;AAID,wBAAgB,uBAAuB,IAAI,oBAAoB,CAO9D;AAED,wBAAgB,yBAAyB,CACvC,mBAAmB,EAAE,oBAAoB,EACzC,oBAAoB,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,KAAK,IAAI,GACxE,IAAI,CAEN"}
|
|
@@ -18,41 +18,59 @@ class RecentAddressesStoreImpl {
|
|
|
18
18
|
addressesByCurrency = {};
|
|
19
19
|
onAddAddressComplete;
|
|
20
20
|
constructor(addressesByCurrency, onAddAddressComplete) {
|
|
21
|
-
this.addressesByCurrency =
|
|
21
|
+
this.addressesByCurrency = this.sanitizeCache(addressesByCurrency);
|
|
22
22
|
this.onAddAddressComplete = onAddAddressComplete;
|
|
23
23
|
}
|
|
24
|
+
sanitizeCache(cache) {
|
|
25
|
+
const sanitized = {};
|
|
26
|
+
for (const currency in cache) {
|
|
27
|
+
const entries = cache[currency];
|
|
28
|
+
sanitized[currency] = entries.map(entry => {
|
|
29
|
+
if (typeof entry === "string") {
|
|
30
|
+
return { address: entry, lastUsed: Date.now() };
|
|
31
|
+
}
|
|
32
|
+
return entry;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return sanitized;
|
|
36
|
+
}
|
|
24
37
|
addAddress(currency, address) {
|
|
25
|
-
this.addAddressToCache(currency, address,
|
|
38
|
+
this.addAddressToCache(currency, address, Date.now(), true);
|
|
26
39
|
}
|
|
27
40
|
syncAddresses(cache) {
|
|
28
41
|
const previousAddresses = { ...this.addressesByCurrency };
|
|
29
42
|
this.addressesByCurrency = { ...cache };
|
|
30
43
|
for (const currency in previousAddresses) {
|
|
31
|
-
|
|
32
|
-
|
|
44
|
+
const entries = previousAddresses[currency];
|
|
45
|
+
for (const entry of entries) {
|
|
46
|
+
const address = typeof entry === "string" ? entry : entry.address;
|
|
47
|
+
const timestamp = typeof entry === "string" ? undefined : entry.lastUsed;
|
|
48
|
+
this.addAddressToCache(currency, address, timestamp ?? Date.now(), false);
|
|
33
49
|
}
|
|
34
50
|
}
|
|
35
51
|
this.onAddAddressComplete(this.addressesByCurrency);
|
|
36
52
|
}
|
|
37
53
|
getAddresses(currency) {
|
|
38
54
|
const addresses = this.addressesByCurrency[currency];
|
|
39
|
-
|
|
55
|
+
if (!addresses)
|
|
56
|
+
return [];
|
|
57
|
+
return addresses.map(entry => entry.address);
|
|
40
58
|
}
|
|
41
|
-
addAddressToCache(currency, address,
|
|
59
|
+
addAddressToCache(currency, address, timestamp, shouldTriggerCallback) {
|
|
42
60
|
if (!this.addressesByCurrency[currency]) {
|
|
43
61
|
this.addressesByCurrency[currency] = [];
|
|
44
62
|
}
|
|
45
63
|
const addresses = this.addressesByCurrency[currency];
|
|
46
|
-
const addressIndex = addresses.
|
|
64
|
+
const addressIndex = addresses.findIndex(entry => entry.address === address);
|
|
47
65
|
if (addressIndex !== -1) {
|
|
48
66
|
addresses.splice(addressIndex, 1);
|
|
49
67
|
}
|
|
50
68
|
else if (addresses.length >= exports.RECENT_ADDRESSES_COUNT_LIMIT) {
|
|
51
69
|
addresses.pop();
|
|
52
70
|
}
|
|
53
|
-
addresses.unshift(address);
|
|
71
|
+
addresses.unshift({ address, lastUsed: timestamp });
|
|
54
72
|
this.addressesByCurrency[currency] = [...addresses];
|
|
55
|
-
if (
|
|
73
|
+
if (shouldTriggerCallback) {
|
|
56
74
|
this.onAddAddressComplete(this.addressesByCurrency);
|
|
57
75
|
}
|
|
58
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recentAddresses.js","sourceRoot":"","sources":["../../src/account/recentAddresses.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"recentAddresses.js","sourceRoot":"","sources":["../../src/account/recentAddresses.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../../src/exchange/providers/swap.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,gCAAgC,EAAE,MAAM,GAAG,CAAC;AAI/E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,gCAAgC,GAC9D,kBAAkB,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC;AACvC,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC;AACrE,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,GAAG;IAAE,IAAI,EAAE,KAAK,GAAG,KAAK,CAAA;CAAE,GAAG;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAgOnE,eAAO,MAAM,2BAA2B,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../../src/exchange/providers/swap.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,gCAAgC,EAAE,MAAM,GAAG,CAAC;AAI/E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,gCAAgC,GAC9D,kBAAkB,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC;AACvC,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC;AACrE,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,GAAG;IAAE,IAAI,EAAE,KAAK,GAAG,KAAK,CAAA;CAAE,GAAG;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAgOnE,eAAO,MAAM,2BAA2B,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAIhE,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAK/C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAElD,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAIF,eAAO,MAAM,eAAe,iBACZ,MAAM,KACnB,QAAQ,cAAc,GAAG,wBAAwB,CA0BnD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,eAAsB,MAAM,KAAG,QAAQ,YAAY,CAC/C,CAAC;AAE1C,eAAO,MAAM,yBAAyB,4BAoBrC,CAAC;AAaF,eAAO,MAAM,qBAAqB,QAAa,QAAQ,MAAM,EAAE,CAO9D,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAAO,MAAM,EAEnD,CAAC"}
|
|
@@ -198,11 +198,13 @@ const DEFAULT_SWAP_PROVIDERS = {
|
|
|
198
198
|
exports.dexProvidersContractAddress = {
|
|
199
199
|
"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": "Uniswap",
|
|
200
200
|
"0x111111125421ca6dc452d289314280a0f8842a65": "1inch",
|
|
201
|
+
"0x6a000f20005980200259b80c5102003040001068": "velora",
|
|
201
202
|
};
|
|
202
203
|
exports.termsOfUse = {
|
|
203
204
|
paraswap: "https://paraswap.io/tos",
|
|
204
205
|
"1inch": "https://1inch.com/assets/Widget_1inch.com_Terms_of_Use.pdf",
|
|
205
206
|
Uniswap: "https://uniswap.org/terms-of-service",
|
|
207
|
+
velora: "https://www.velora.xyz/terms/terms-of-use",
|
|
206
208
|
};
|
|
207
209
|
exports.privacyPolicy = {
|
|
208
210
|
Uniswap: "https://uniswap.org/privacy-policy",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap.js","sourceRoot":"","sources":["../../../src/exchange/providers/swap.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"swap.js","sourceRoot":"","sources":["../../../src/exchange/providers/swap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import type { RecentAddressesState } from "@ledgerhq/types-live";
|
|
1
2
|
export declare const RECENT_ADDRESSES_COUNT_LIMIT = 12;
|
|
2
|
-
export type RecentAddressesCache =
|
|
3
|
+
export type RecentAddressesCache = RecentAddressesState;
|
|
3
4
|
export interface RecentAddressesStore {
|
|
4
5
|
addAddress(currency: string, address: string): void;
|
|
5
6
|
syncAddresses(cache: RecentAddressesCache): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recentAddresses.d.ts","sourceRoot":"","sources":["../../src/account/recentAddresses.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,MAAM,MAAM,oBAAoB,GAAG,
|
|
1
|
+
{"version":3,"file":"recentAddresses.d.ts","sourceRoot":"","sources":["../../src/account/recentAddresses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAiB,MAAM,sBAAsB,CAAC;AAEhF,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,aAAa,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACjD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1C;AAID,wBAAgB,uBAAuB,IAAI,oBAAoB,CAO9D;AAED,wBAAgB,yBAAyB,CACvC,mBAAmB,EAAE,oBAAoB,EACzC,oBAAoB,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,KAAK,IAAI,GACxE,IAAI,CAEN"}
|
|
@@ -13,41 +13,59 @@ class RecentAddressesStoreImpl {
|
|
|
13
13
|
addressesByCurrency = {};
|
|
14
14
|
onAddAddressComplete;
|
|
15
15
|
constructor(addressesByCurrency, onAddAddressComplete) {
|
|
16
|
-
this.addressesByCurrency =
|
|
16
|
+
this.addressesByCurrency = this.sanitizeCache(addressesByCurrency);
|
|
17
17
|
this.onAddAddressComplete = onAddAddressComplete;
|
|
18
18
|
}
|
|
19
|
+
sanitizeCache(cache) {
|
|
20
|
+
const sanitized = {};
|
|
21
|
+
for (const currency in cache) {
|
|
22
|
+
const entries = cache[currency];
|
|
23
|
+
sanitized[currency] = entries.map(entry => {
|
|
24
|
+
if (typeof entry === "string") {
|
|
25
|
+
return { address: entry, lastUsed: Date.now() };
|
|
26
|
+
}
|
|
27
|
+
return entry;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
return sanitized;
|
|
31
|
+
}
|
|
19
32
|
addAddress(currency, address) {
|
|
20
|
-
this.addAddressToCache(currency, address,
|
|
33
|
+
this.addAddressToCache(currency, address, Date.now(), true);
|
|
21
34
|
}
|
|
22
35
|
syncAddresses(cache) {
|
|
23
36
|
const previousAddresses = { ...this.addressesByCurrency };
|
|
24
37
|
this.addressesByCurrency = { ...cache };
|
|
25
38
|
for (const currency in previousAddresses) {
|
|
26
|
-
|
|
27
|
-
|
|
39
|
+
const entries = previousAddresses[currency];
|
|
40
|
+
for (const entry of entries) {
|
|
41
|
+
const address = typeof entry === "string" ? entry : entry.address;
|
|
42
|
+
const timestamp = typeof entry === "string" ? undefined : entry.lastUsed;
|
|
43
|
+
this.addAddressToCache(currency, address, timestamp ?? Date.now(), false);
|
|
28
44
|
}
|
|
29
45
|
}
|
|
30
46
|
this.onAddAddressComplete(this.addressesByCurrency);
|
|
31
47
|
}
|
|
32
48
|
getAddresses(currency) {
|
|
33
49
|
const addresses = this.addressesByCurrency[currency];
|
|
34
|
-
|
|
50
|
+
if (!addresses)
|
|
51
|
+
return [];
|
|
52
|
+
return addresses.map(entry => entry.address);
|
|
35
53
|
}
|
|
36
|
-
addAddressToCache(currency, address,
|
|
54
|
+
addAddressToCache(currency, address, timestamp, shouldTriggerCallback) {
|
|
37
55
|
if (!this.addressesByCurrency[currency]) {
|
|
38
56
|
this.addressesByCurrency[currency] = [];
|
|
39
57
|
}
|
|
40
58
|
const addresses = this.addressesByCurrency[currency];
|
|
41
|
-
const addressIndex = addresses.
|
|
59
|
+
const addressIndex = addresses.findIndex(entry => entry.address === address);
|
|
42
60
|
if (addressIndex !== -1) {
|
|
43
61
|
addresses.splice(addressIndex, 1);
|
|
44
62
|
}
|
|
45
63
|
else if (addresses.length >= RECENT_ADDRESSES_COUNT_LIMIT) {
|
|
46
64
|
addresses.pop();
|
|
47
65
|
}
|
|
48
|
-
addresses.unshift(address);
|
|
66
|
+
addresses.unshift({ address, lastUsed: timestamp });
|
|
49
67
|
this.addressesByCurrency[currency] = [...addresses];
|
|
50
|
-
if (
|
|
68
|
+
if (shouldTriggerCallback) {
|
|
51
69
|
this.onAddAddressComplete(this.addressesByCurrency);
|
|
52
70
|
}
|
|
53
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recentAddresses.js","sourceRoot":"","sources":["../../src/account/recentAddresses.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recentAddresses.js","sourceRoot":"","sources":["../../src/account/recentAddresses.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../../src/exchange/providers/swap.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,gCAAgC,EAAE,MAAM,GAAG,CAAC;AAI/E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,gCAAgC,GAC9D,kBAAkB,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC;AACvC,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC;AACrE,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,GAAG;IAAE,IAAI,EAAE,KAAK,GAAG,KAAK,CAAA;CAAE,GAAG;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAgOnE,eAAO,MAAM,2BAA2B,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../../src/exchange/providers/swap.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,gCAAgC,EAAE,MAAM,GAAG,CAAC;AAI/E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,gCAAgC,GAC9D,kBAAkB,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC;AACvC,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC;AACrE,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,GAAG;IAAE,IAAI,EAAE,KAAK,GAAG,KAAK,CAAA;CAAE,GAAG;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAgOnE,eAAO,MAAM,2BAA2B,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAIhE,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAK/C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAElD,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAIF,eAAO,MAAM,eAAe,iBACZ,MAAM,KACnB,QAAQ,cAAc,GAAG,wBAAwB,CA0BnD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,eAAsB,MAAM,KAAG,QAAQ,YAAY,CAC/C,CAAC;AAE1C,eAAO,MAAM,yBAAyB,4BAoBrC,CAAC;AAaF,eAAO,MAAM,qBAAqB,QAAa,QAAQ,MAAM,EAAE,CAO9D,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAAO,MAAM,EAEnD,CAAC"}
|
|
@@ -172,11 +172,13 @@ const DEFAULT_SWAP_PROVIDERS = {
|
|
|
172
172
|
export const dexProvidersContractAddress = {
|
|
173
173
|
"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": "Uniswap",
|
|
174
174
|
"0x111111125421ca6dc452d289314280a0f8842a65": "1inch",
|
|
175
|
+
"0x6a000f20005980200259b80c5102003040001068": "velora",
|
|
175
176
|
};
|
|
176
177
|
export const termsOfUse = {
|
|
177
178
|
paraswap: "https://paraswap.io/tos",
|
|
178
179
|
"1inch": "https://1inch.com/assets/Widget_1inch.com_Terms_of_Use.pdf",
|
|
179
180
|
Uniswap: "https://uniswap.org/terms-of-service",
|
|
181
|
+
velora: "https://www.velora.xyz/terms/terms-of-use",
|
|
180
182
|
};
|
|
181
183
|
export const privacyPolicy = {
|
|
182
184
|
Uniswap: "https://uniswap.org/privacy-policy",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap.js","sourceRoot":"","sources":["../../../src/exchange/providers/swap.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"swap.js","sourceRoot":"","sources":["../../../src/exchange/providers/swap.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/live-common",
|
|
3
3
|
"description": "Common ground for the Ledger Live apps",
|
|
4
|
-
"version": "34.55.0-nightly.
|
|
4
|
+
"version": "34.55.0-nightly.20251223024125",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/LedgerHQ/ledger-live.git"
|
|
@@ -178,79 +178,79 @@
|
|
|
178
178
|
"xstate": "^5.19.2",
|
|
179
179
|
"yargs": "^17.0.0",
|
|
180
180
|
"zod": "^3.22.4",
|
|
181
|
-
"@ledgerhq/coin-algorand": "^0.15.0-nightly.
|
|
182
|
-
"@ledgerhq/coin-aptos": "^3.8.0-nightly.
|
|
183
|
-
"@ledgerhq/coin-bitcoin": "^0.27.0-nightly.
|
|
184
|
-
"@ledgerhq/coin-canton": "^0.12.0-nightly.
|
|
185
|
-
"@ledgerhq/coin-cardano": "^0.16.0-nightly.
|
|
186
|
-
"@ledgerhq/coin-casper": "^2.5.0-nightly.
|
|
187
|
-
"@ledgerhq/coin-celo": "^1.8.0-nightly.
|
|
188
|
-
"@ledgerhq/coin-cosmos": "^0.21.0-nightly.
|
|
189
|
-
"@ledgerhq/coin-evm": "^2.37.0-nightly.
|
|
190
|
-
"@ledgerhq/coin-filecoin": "^1.16.0-nightly.
|
|
191
|
-
"@ledgerhq/coin-framework": "^6.11.0-nightly.
|
|
192
|
-
"@ledgerhq/coin-hedera": "^1.16.0-nightly.
|
|
193
|
-
"@ledgerhq/coin-icon": "^0.16.0-nightly.
|
|
194
|
-
"@ledgerhq/coin-internet_computer": "^1.12.0-nightly.
|
|
195
|
-
"@ledgerhq/coin-kaspa": "^1.6.0-nightly.
|
|
196
|
-
"@ledgerhq/coin-mina": "^1.5.0-nightly.
|
|
197
|
-
"@ledgerhq/coin-
|
|
198
|
-
"@ledgerhq/coin-
|
|
199
|
-
"@ledgerhq/coin-
|
|
200
|
-
"@ledgerhq/coin-solana": "^0.39.0-nightly.
|
|
201
|
-
"@ledgerhq/coin-stacks": "^0.13.0-nightly.
|
|
202
|
-
"@ledgerhq/coin-stellar": "^6.9.0-nightly.
|
|
203
|
-
"@ledgerhq/coin-sui": "^0.19.0-nightly.
|
|
204
|
-
"@ledgerhq/coin-tezos": "^6.11.0-nightly.
|
|
205
|
-
"@ledgerhq/coin-ton": "^0.18.0-nightly.
|
|
206
|
-
"@ledgerhq/coin-tron": "^5.8.0-nightly.
|
|
207
|
-
"@ledgerhq/coin-vechain": "^2.14.0-nightly.
|
|
208
|
-
"@ledgerhq/coin-xrp": "^7.10.0-nightly.
|
|
209
|
-
"@ledgerhq/cryptoassets": "^13.35.0-nightly.
|
|
210
|
-
"@ledgerhq/device-core": "^0.6.11-nightly.
|
|
211
|
-
"@ledgerhq/devices": "8.8.0-nightly.
|
|
212
|
-
"@ledgerhq/
|
|
213
|
-
"@ledgerhq/
|
|
214
|
-
"@ledgerhq/hw-app-aptos": "^6.34.11-nightly.
|
|
215
|
-
"@ledgerhq/hw-app-btc": "^10.14.0-nightly.
|
|
216
|
-
"@ledgerhq/hw-app-
|
|
217
|
-
"@ledgerhq/hw-app-
|
|
218
|
-
"@ledgerhq/hw-app-
|
|
219
|
-
"@ledgerhq/hw-app-
|
|
220
|
-
"@ledgerhq/hw-app-
|
|
221
|
-
"@ledgerhq/hw-app-
|
|
222
|
-
"@ledgerhq/hw-app-
|
|
223
|
-
"@ledgerhq/hw-app-multiversx": "^6.26.2-nightly.
|
|
224
|
-
"@ledgerhq/hw-app-near": "^6.31.11-nightly.
|
|
225
|
-
"@ledgerhq/hw-app-polkadot": "^6.34.11-nightly.
|
|
226
|
-
"@ledgerhq/hw-app-str": "^7.3.0-nightly.
|
|
181
|
+
"@ledgerhq/coin-algorand": "^0.15.0-nightly.20251223024125",
|
|
182
|
+
"@ledgerhq/coin-aptos": "^3.8.0-nightly.20251223024125",
|
|
183
|
+
"@ledgerhq/coin-bitcoin": "^0.27.0-nightly.20251223024125",
|
|
184
|
+
"@ledgerhq/coin-canton": "^0.12.0-nightly.20251223024125",
|
|
185
|
+
"@ledgerhq/coin-cardano": "^0.16.0-nightly.20251223024125",
|
|
186
|
+
"@ledgerhq/coin-casper": "^2.5.0-nightly.20251223024125",
|
|
187
|
+
"@ledgerhq/coin-celo": "^1.8.0-nightly.20251223024125",
|
|
188
|
+
"@ledgerhq/coin-cosmos": "^0.21.0-nightly.20251223024125",
|
|
189
|
+
"@ledgerhq/coin-evm": "^2.37.0-nightly.20251223024125",
|
|
190
|
+
"@ledgerhq/coin-filecoin": "^1.16.0-nightly.20251223024125",
|
|
191
|
+
"@ledgerhq/coin-framework": "^6.11.0-nightly.20251223024125",
|
|
192
|
+
"@ledgerhq/coin-hedera": "^1.16.0-nightly.20251223024125",
|
|
193
|
+
"@ledgerhq/coin-icon": "^0.16.0-nightly.20251223024125",
|
|
194
|
+
"@ledgerhq/coin-internet_computer": "^1.12.0-nightly.20251223024125",
|
|
195
|
+
"@ledgerhq/coin-kaspa": "^1.6.0-nightly.20251223024125",
|
|
196
|
+
"@ledgerhq/coin-mina": "^1.5.0-nightly.20251223024125",
|
|
197
|
+
"@ledgerhq/coin-multiversx": "^0.9.0-nightly.20251223024125",
|
|
198
|
+
"@ledgerhq/coin-near": "^0.17.0-nightly.20251223024125",
|
|
199
|
+
"@ledgerhq/coin-polkadot": "^6.14.0-nightly.20251223024125",
|
|
200
|
+
"@ledgerhq/coin-solana": "^0.39.0-nightly.20251223024125",
|
|
201
|
+
"@ledgerhq/coin-stacks": "^0.13.0-nightly.20251223024125",
|
|
202
|
+
"@ledgerhq/coin-stellar": "^6.9.0-nightly.20251223024125",
|
|
203
|
+
"@ledgerhq/coin-sui": "^0.19.0-nightly.20251223024125",
|
|
204
|
+
"@ledgerhq/coin-tezos": "^6.11.0-nightly.20251223024125",
|
|
205
|
+
"@ledgerhq/coin-ton": "^0.18.0-nightly.20251223024125",
|
|
206
|
+
"@ledgerhq/coin-tron": "^5.8.0-nightly.20251223024125",
|
|
207
|
+
"@ledgerhq/coin-vechain": "^2.14.0-nightly.20251223024125",
|
|
208
|
+
"@ledgerhq/coin-xrp": "^7.10.0-nightly.20251223024125",
|
|
209
|
+
"@ledgerhq/cryptoassets": "^13.35.0-nightly.20251223024125",
|
|
210
|
+
"@ledgerhq/device-core": "^0.6.11-nightly.20251223024125",
|
|
211
|
+
"@ledgerhq/devices": "8.8.0-nightly.20251223024125",
|
|
212
|
+
"@ledgerhq/errors": "^6.28.0-nightly.20251223024125",
|
|
213
|
+
"@ledgerhq/hw-app-algorand": "^6.31.11-nightly.20251223024125",
|
|
214
|
+
"@ledgerhq/hw-app-aptos": "^6.34.11-nightly.20251223024125",
|
|
215
|
+
"@ledgerhq/hw-app-btc": "^10.14.0-nightly.20251223024125",
|
|
216
|
+
"@ledgerhq/hw-app-celo": "^6.35.6-nightly.20251223024125",
|
|
217
|
+
"@ledgerhq/hw-app-cosmos": "^6.32.11-nightly.20251223024125",
|
|
218
|
+
"@ledgerhq/hw-app-eth": "^7.1.0-nightly.20251223024125",
|
|
219
|
+
"@ledgerhq/hw-app-exchange": "^0.18.2-nightly.20251223024125",
|
|
220
|
+
"@ledgerhq/hw-app-hedera": "^1.2.11-nightly.20251223024125",
|
|
221
|
+
"@ledgerhq/hw-app-icon": "^1.3.11-nightly.20251223024125",
|
|
222
|
+
"@ledgerhq/hw-app-kaspa": "^1.3.4-nightly.20251223024125",
|
|
223
|
+
"@ledgerhq/hw-app-multiversx": "^6.26.2-nightly.20251223024125",
|
|
224
|
+
"@ledgerhq/hw-app-near": "^6.31.11-nightly.20251223024125",
|
|
225
|
+
"@ledgerhq/hw-app-polkadot": "^6.34.11-nightly.20251223024125",
|
|
226
|
+
"@ledgerhq/hw-app-str": "^7.3.0-nightly.20251223024125",
|
|
227
227
|
"@ledgerhq/hw-app-sui": "^1.4.0",
|
|
228
|
-
"@ledgerhq/hw-app-tezos": "^6.31.11-nightly.
|
|
229
|
-
"@ledgerhq/hw-app-trx": "^6.31.11-nightly.
|
|
230
|
-
"@ledgerhq/hw-app-
|
|
231
|
-
"@ledgerhq/hw-app-
|
|
232
|
-
"@ledgerhq/hw-
|
|
233
|
-
"@ledgerhq/hw-
|
|
234
|
-
"@ledgerhq/hw-transport-mocker": "^6.30.0-nightly.
|
|
235
|
-
"@ledgerhq/client-ids": "^0.2.0-nightly.
|
|
236
|
-
"@ledgerhq/ledger-cal-service": "^1.9.3-nightly.
|
|
237
|
-
"@ledgerhq/ledger-trust-service": "^0.4.5-nightly.
|
|
238
|
-
"@ledgerhq/live-config": "^3.3.0-nightly.
|
|
239
|
-
"@ledgerhq/live-countervalues": "^0.10.3-nightly.
|
|
240
|
-
"@ledgerhq/live-countervalues-react": "^0.7.5-nightly.
|
|
241
|
-
"@ledgerhq/live-dmk-shared": "^0.16.0-nightly.
|
|
242
|
-
"@ledgerhq/live-env": "^2.23.0-nightly.
|
|
243
|
-
"@ledgerhq/live-hooks": "0.3.0-nightly.
|
|
244
|
-
"@ledgerhq/live-network": "^2.1.4-nightly.
|
|
228
|
+
"@ledgerhq/hw-app-tezos": "^6.31.11-nightly.20251223024125",
|
|
229
|
+
"@ledgerhq/hw-app-trx": "^6.31.11-nightly.20251223024125",
|
|
230
|
+
"@ledgerhq/hw-app-vet": "^0.8.2-nightly.20251223024125",
|
|
231
|
+
"@ledgerhq/hw-app-xrp": "^6.32.9-nightly.20251223024125",
|
|
232
|
+
"@ledgerhq/hw-bolos": "^6.32.11-nightly.20251223024125",
|
|
233
|
+
"@ledgerhq/hw-transport": "6.31.15-nightly.20251223024125",
|
|
234
|
+
"@ledgerhq/hw-transport-mocker": "^6.30.0-nightly.20251223024125",
|
|
235
|
+
"@ledgerhq/client-ids": "^0.2.0-nightly.20251223024125",
|
|
236
|
+
"@ledgerhq/ledger-cal-service": "^1.9.3-nightly.20251223024125",
|
|
237
|
+
"@ledgerhq/ledger-trust-service": "^0.4.5-nightly.20251223024125",
|
|
238
|
+
"@ledgerhq/live-config": "^3.3.0-nightly.20251223024125",
|
|
239
|
+
"@ledgerhq/live-countervalues": "^0.10.3-nightly.20251223024125",
|
|
240
|
+
"@ledgerhq/live-countervalues-react": "^0.7.5-nightly.20251223024125",
|
|
241
|
+
"@ledgerhq/live-dmk-shared": "^0.16.0-nightly.20251223024125",
|
|
242
|
+
"@ledgerhq/live-env": "^2.23.0-nightly.20251223024125",
|
|
243
|
+
"@ledgerhq/live-hooks": "0.3.0-nightly.20251223024125",
|
|
244
|
+
"@ledgerhq/live-network": "^2.1.4-nightly.20251223024125",
|
|
245
245
|
"@ledgerhq/live-promise": "^0.1.1",
|
|
246
|
-
"@ledgerhq/live-signer-canton": "^0.5.4-nightly.
|
|
247
|
-
"@ledgerhq/live-signer-evm": "^0.11.0-nightly.
|
|
248
|
-
"@ledgerhq/live-signer-solana": "^0.8.0-nightly.
|
|
249
|
-
"@ledgerhq/live-wallet": "^0.17.0-nightly.
|
|
246
|
+
"@ledgerhq/live-signer-canton": "^0.5.4-nightly.20251223024125",
|
|
247
|
+
"@ledgerhq/live-signer-evm": "^0.11.0-nightly.20251223024125",
|
|
248
|
+
"@ledgerhq/live-signer-solana": "^0.8.0-nightly.20251223024125",
|
|
249
|
+
"@ledgerhq/live-wallet": "^0.17.0-nightly.20251223024125",
|
|
250
250
|
"@ledgerhq/logs": "^6.13.0",
|
|
251
|
-
"@ledgerhq/speculos-transport": "^0.4.0-nightly.
|
|
252
|
-
"@ledgerhq/wallet-api-acre-module": "^0.11.0-nightly.
|
|
253
|
-
"@ledgerhq/wallet-api-exchange-module": "^0.20.0-nightly.
|
|
251
|
+
"@ledgerhq/speculos-transport": "^0.4.0-nightly.20251223024125",
|
|
252
|
+
"@ledgerhq/wallet-api-acre-module": "^0.11.0-nightly.20251223024125",
|
|
253
|
+
"@ledgerhq/wallet-api-exchange-module": "^0.20.0-nightly.20251223024125"
|
|
254
254
|
},
|
|
255
255
|
"devDependencies": {
|
|
256
256
|
"@solana/web3.js": "1.95.4",
|
|
@@ -297,10 +297,10 @@
|
|
|
297
297
|
"undici": "6.19.2",
|
|
298
298
|
"uuid": "^8.3.2",
|
|
299
299
|
"ws": "8.18.3",
|
|
300
|
-
"@ledgerhq/device-react": "^0.3.5-nightly.
|
|
301
|
-
"@ledgerhq/types-cryptoassets": "^7.31.0-nightly.
|
|
300
|
+
"@ledgerhq/device-react": "^0.3.5-nightly.20251223024125",
|
|
301
|
+
"@ledgerhq/types-cryptoassets": "^7.31.0-nightly.20251223024125",
|
|
302
302
|
"@ledgerhq/types-devices": "^6.27.0",
|
|
303
|
-
"@ledgerhq/types-live": "^6.91.0-nightly.
|
|
303
|
+
"@ledgerhq/types-live": "^6.91.0-nightly.20251223024125"
|
|
304
304
|
},
|
|
305
305
|
"scripts": {
|
|
306
306
|
"build": "zx ./scripts/build-ts.mjs",
|
|
@@ -17,7 +17,13 @@ describe("RecentAddressesStore", () => {
|
|
|
17
17
|
const addresses = store.getAddresses("ethereum");
|
|
18
18
|
expect(addresses).toEqual([newAddress]);
|
|
19
19
|
expect(onAddAddressCompleteMock).toHaveBeenCalledTimes(1);
|
|
20
|
-
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({
|
|
20
|
+
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({
|
|
21
|
+
ethereum: [
|
|
22
|
+
expect.objectContaining({
|
|
23
|
+
address: newAddress,
|
|
24
|
+
}),
|
|
25
|
+
],
|
|
26
|
+
});
|
|
21
27
|
});
|
|
22
28
|
|
|
23
29
|
it("should add a second address and return addresses sorted by insertion", async () => {
|
|
@@ -26,14 +32,21 @@ describe("RecentAddressesStore", () => {
|
|
|
26
32
|
let addresses = store.getAddresses("ethereum");
|
|
27
33
|
expect(addresses).toEqual([newAddress]);
|
|
28
34
|
expect(onAddAddressCompleteMock).toHaveBeenCalledTimes(1);
|
|
29
|
-
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({
|
|
35
|
+
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({
|
|
36
|
+
ethereum: [expect.objectContaining({ address: newAddress })],
|
|
37
|
+
});
|
|
30
38
|
|
|
31
39
|
const newAddress2 = "0xB69B37A4Fb4A18b3258f974ff6e9f529AD2647b1";
|
|
32
40
|
await store.addAddress("ethereum", newAddress2);
|
|
33
41
|
addresses = store.getAddresses("ethereum");
|
|
34
42
|
expect(addresses).toEqual([newAddress2, newAddress]);
|
|
35
43
|
expect(onAddAddressCompleteMock).toHaveBeenCalledTimes(2);
|
|
36
|
-
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({
|
|
44
|
+
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({
|
|
45
|
+
ethereum: [
|
|
46
|
+
expect.objectContaining({ address: newAddress2 }),
|
|
47
|
+
expect.objectContaining({ address: newAddress }),
|
|
48
|
+
],
|
|
49
|
+
});
|
|
37
50
|
});
|
|
38
51
|
|
|
39
52
|
it("should replace at first place when an address is already saved", async () => {
|
|
@@ -42,43 +55,61 @@ describe("RecentAddressesStore", () => {
|
|
|
42
55
|
let addresses = store.getAddresses("ethereum");
|
|
43
56
|
expect(addresses).toEqual([newAddress]);
|
|
44
57
|
expect(onAddAddressCompleteMock).toHaveBeenCalledTimes(1);
|
|
45
|
-
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({
|
|
58
|
+
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({
|
|
59
|
+
ethereum: [expect.objectContaining({ address: newAddress })],
|
|
60
|
+
});
|
|
46
61
|
|
|
47
62
|
const newAddress2 = "0xB69B37A4Fb4A18b3258f974ff6e9f529AD2647b1";
|
|
48
63
|
await store.addAddress("ethereum", newAddress2);
|
|
49
64
|
addresses = store.getAddresses("ethereum");
|
|
50
65
|
expect(addresses).toEqual([newAddress2, newAddress]);
|
|
51
66
|
expect(onAddAddressCompleteMock).toHaveBeenCalledTimes(2);
|
|
52
|
-
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({
|
|
67
|
+
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({
|
|
68
|
+
ethereum: [
|
|
69
|
+
expect.objectContaining({ address: newAddress2 }),
|
|
70
|
+
expect.objectContaining({ address: newAddress }),
|
|
71
|
+
],
|
|
72
|
+
});
|
|
53
73
|
|
|
54
74
|
await store.addAddress("ethereum", newAddress);
|
|
55
75
|
addresses = store.getAddresses("ethereum");
|
|
56
76
|
expect(addresses).toEqual([newAddress, newAddress2]);
|
|
57
77
|
expect(onAddAddressCompleteMock).toHaveBeenCalledTimes(3);
|
|
58
|
-
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({
|
|
78
|
+
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({
|
|
79
|
+
ethereum: [
|
|
80
|
+
expect.objectContaining({ address: newAddress }),
|
|
81
|
+
expect.objectContaining({ address: newAddress2 }),
|
|
82
|
+
],
|
|
83
|
+
});
|
|
59
84
|
});
|
|
60
85
|
|
|
61
86
|
it("should replace at first place and remove last element when addresses exceed count limit", async () => {
|
|
62
|
-
|
|
87
|
+
const expectedAddresses: string[] = [];
|
|
88
|
+
const expectedObjects: any[] = [];
|
|
63
89
|
for (let index = 0; index < RECENT_ADDRESSES_COUNT_LIMIT; index++) {
|
|
64
|
-
|
|
65
|
-
|
|
90
|
+
const addr = `0x66c4371aE8FFeD2ec1c2EBbbcCfb7E494181E1E3${index}`;
|
|
91
|
+
await store.addAddress("ethereum", addr);
|
|
92
|
+
expectedAddresses.unshift(addr);
|
|
93
|
+
expectedObjects.unshift(expect.objectContaining({ address: addr }));
|
|
66
94
|
}
|
|
67
95
|
|
|
68
96
|
let addresses = store.getAddresses("ethereum");
|
|
69
97
|
expect(addresses).toEqual(expectedAddresses);
|
|
70
98
|
expect(onAddAddressCompleteMock).toHaveBeenCalledTimes(RECENT_ADDRESSES_COUNT_LIMIT);
|
|
71
|
-
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({ ethereum:
|
|
99
|
+
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({ ethereum: expectedObjects });
|
|
72
100
|
|
|
73
101
|
const newAddress2 = "0xB69B37A4Fb4A18b3258f974ff6e9f529AD2647b1";
|
|
74
102
|
expectedAddresses.splice(expectedAddresses.length - 1, 1);
|
|
75
|
-
expectedAddresses
|
|
103
|
+
expectedAddresses.unshift(newAddress2);
|
|
104
|
+
|
|
105
|
+
expectedObjects.splice(expectedObjects.length - 1, 1);
|
|
106
|
+
expectedObjects.unshift(expect.objectContaining({ address: newAddress2 }));
|
|
76
107
|
|
|
77
108
|
await store.addAddress("ethereum", newAddress2);
|
|
78
109
|
addresses = store.getAddresses("ethereum");
|
|
79
110
|
expect(addresses).toEqual(expectedAddresses);
|
|
80
111
|
expect(onAddAddressCompleteMock).toHaveBeenCalledTimes(RECENT_ADDRESSES_COUNT_LIMIT + 1);
|
|
81
|
-
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({ ethereum:
|
|
112
|
+
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({ ethereum: expectedObjects });
|
|
82
113
|
});
|
|
83
114
|
|
|
84
115
|
it("should add an address of a different currency", async () => {
|
|
@@ -88,7 +119,9 @@ describe("RecentAddressesStore", () => {
|
|
|
88
119
|
let addresses = store.getAddresses("ethereum");
|
|
89
120
|
expect(addresses).toEqual([newAddress]);
|
|
90
121
|
expect(onAddAddressCompleteMock).toHaveBeenCalledTimes(1);
|
|
91
|
-
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({
|
|
122
|
+
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({
|
|
123
|
+
ethereum: [expect.objectContaining({ address: newAddress })],
|
|
124
|
+
});
|
|
92
125
|
|
|
93
126
|
const newAddress2 = "bc1pxlmrudqyq8qd8pfsc4mpmlaw56x6vtcr9m8nvp8kj3gckefc4kmqhkg4l7";
|
|
94
127
|
await store.addAddress("bitcoin", newAddress2);
|
|
@@ -97,8 +130,75 @@ describe("RecentAddressesStore", () => {
|
|
|
97
130
|
expect(addresses).toEqual([newAddress2]);
|
|
98
131
|
expect(onAddAddressCompleteMock).toHaveBeenCalledTimes(2);
|
|
99
132
|
expect(onAddAddressCompleteMock).toHaveBeenCalledWith({
|
|
100
|
-
ethereum: [newAddress],
|
|
101
|
-
bitcoin: [newAddress2],
|
|
133
|
+
ethereum: [expect.objectContaining({ address: newAddress })],
|
|
134
|
+
bitcoin: [expect.objectContaining({ address: newAddress2 })],
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
it("should update timestamp and move to top when re-adding an existing address", async () => {
|
|
139
|
+
const address1 = "0x66c4371aE8FFeD2ec1c2EBbbcCfb7E494181E1E3";
|
|
140
|
+
const address2 = "0xB69B37A4Fb4A18b3258f974ff6e9f529AD2647b1";
|
|
141
|
+
const address3 = "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0";
|
|
142
|
+
|
|
143
|
+
const now = Date.now();
|
|
144
|
+
const oneYear = 365 * 24 * 60 * 60 * 1000;
|
|
145
|
+
const threeYearsAgo = now - 3 * oneYear;
|
|
146
|
+
const oneYearAgo = now - oneYear;
|
|
147
|
+
|
|
148
|
+
const dateNowSpy = jest.spyOn(Date, "now");
|
|
149
|
+
|
|
150
|
+
// Add address1 3 years ago
|
|
151
|
+
dateNowSpy.mockReturnValue(threeYearsAgo);
|
|
152
|
+
await store.addAddress("ethereum", address1);
|
|
153
|
+
|
|
154
|
+
// Add address2 1 year ago
|
|
155
|
+
dateNowSpy.mockReturnValue(oneYearAgo);
|
|
156
|
+
await store.addAddress("ethereum", address2);
|
|
157
|
+
|
|
158
|
+
// Add address3 now
|
|
159
|
+
dateNowSpy.mockReturnValue(now);
|
|
160
|
+
await store.addAddress("ethereum", address3);
|
|
161
|
+
|
|
162
|
+
let addresses = store.getAddresses("ethereum");
|
|
163
|
+
expect(addresses).toEqual([address3, address2, address1]);
|
|
164
|
+
|
|
165
|
+
// Re-add address1 (the oldest one) now
|
|
166
|
+
const reAddTime = now + 1000;
|
|
167
|
+
dateNowSpy.mockReturnValue(reAddTime);
|
|
168
|
+
await store.addAddress("ethereum", address1);
|
|
169
|
+
|
|
170
|
+
addresses = store.getAddresses("ethereum");
|
|
171
|
+
expect(addresses).toEqual([address1, address3, address2]);
|
|
172
|
+
|
|
173
|
+
expect(onAddAddressCompleteMock).toHaveBeenLastCalledWith({
|
|
174
|
+
ethereum: [
|
|
175
|
+
expect.objectContaining({ address: address1, lastUsed: reAddTime }),
|
|
176
|
+
expect.objectContaining({ address: address3, lastUsed: now }),
|
|
177
|
+
expect.objectContaining({ address: address2, lastUsed: oneYearAgo }),
|
|
178
|
+
],
|
|
102
179
|
});
|
|
103
180
|
});
|
|
181
|
+
|
|
182
|
+
it("should migrate legacy string addresses to RecentAddress objects on setup", async () => {
|
|
183
|
+
const legacyAddress1 = "0x66c4371aE8FFeD2ec1c2EBbbcCfb7E494181E1E3";
|
|
184
|
+
const legacyAddress2 = "0xB69B37A4Fb4A18b3258f974ff6e9f529AD2647b1";
|
|
185
|
+
const modernAddress = "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0";
|
|
186
|
+
const modernTimestamp = 1234567890;
|
|
187
|
+
|
|
188
|
+
const legacyCache: any = {
|
|
189
|
+
ethereum: [
|
|
190
|
+
legacyAddress1,
|
|
191
|
+
{ address: modernAddress, lastUsed: modernTimestamp },
|
|
192
|
+
legacyAddress2,
|
|
193
|
+
],
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
setupRecentAddressesStore(legacyCache, onAddAddressCompleteMock);
|
|
197
|
+
store = getRecentAddressesStore();
|
|
198
|
+
|
|
199
|
+
const addresses = store.getAddresses("ethereum");
|
|
200
|
+
|
|
201
|
+
// Order should be preserved: legacy1, modern, legacy2
|
|
202
|
+
expect(addresses).toEqual([legacyAddress1, modernAddress, legacyAddress2]);
|
|
203
|
+
});
|
|
104
204
|
});
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import type { RecentAddressesState, RecentAddress } from "@ledgerhq/types-live";
|
|
2
|
+
|
|
1
3
|
export const RECENT_ADDRESSES_COUNT_LIMIT = 12;
|
|
2
4
|
|
|
3
|
-
export type RecentAddressesCache =
|
|
5
|
+
export type RecentAddressesCache = RecentAddressesState;
|
|
4
6
|
|
|
5
7
|
export interface RecentAddressesStore {
|
|
6
8
|
addAddress(currency: string, address: string): void;
|
|
@@ -8,8 +10,6 @@ export interface RecentAddressesStore {
|
|
|
8
10
|
getAddresses(currency: string): string[];
|
|
9
11
|
}
|
|
10
12
|
|
|
11
|
-
type CallbackMode = "triggerCallback" | "skipCallback";
|
|
12
|
-
|
|
13
13
|
let recentAddressesStore: RecentAddressesStore | null = null;
|
|
14
14
|
|
|
15
15
|
export function getRecentAddressesStore(): RecentAddressesStore {
|
|
@@ -30,26 +30,43 @@ export function setupRecentAddressesStore(
|
|
|
30
30
|
|
|
31
31
|
class RecentAddressesStoreImpl implements RecentAddressesStore {
|
|
32
32
|
private addressesByCurrency: RecentAddressesCache = {};
|
|
33
|
-
private readonly onAddAddressComplete: (addressesByCurrency:
|
|
33
|
+
private readonly onAddAddressComplete: (addressesByCurrency: RecentAddressesCache) => void;
|
|
34
34
|
|
|
35
35
|
constructor(
|
|
36
36
|
addressesByCurrency: RecentAddressesCache,
|
|
37
37
|
onAddAddressComplete: (addressesByCurrency: RecentAddressesCache) => void,
|
|
38
38
|
) {
|
|
39
|
-
this.addressesByCurrency =
|
|
39
|
+
this.addressesByCurrency = this.sanitizeCache(addressesByCurrency);
|
|
40
40
|
this.onAddAddressComplete = onAddAddressComplete;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
private sanitizeCache(cache: RecentAddressesCache): RecentAddressesCache {
|
|
44
|
+
const sanitized: RecentAddressesCache = {};
|
|
45
|
+
for (const currency in cache) {
|
|
46
|
+
const entries = cache[currency] as (RecentAddress | string)[];
|
|
47
|
+
sanitized[currency] = entries.map(entry => {
|
|
48
|
+
if (typeof entry === "string") {
|
|
49
|
+
return { address: entry, lastUsed: Date.now() };
|
|
50
|
+
}
|
|
51
|
+
return entry;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
return sanitized;
|
|
55
|
+
}
|
|
56
|
+
|
|
43
57
|
addAddress(currency: string, address: string): void {
|
|
44
|
-
this.addAddressToCache(currency, address,
|
|
58
|
+
this.addAddressToCache(currency, address, Date.now(), true);
|
|
45
59
|
}
|
|
46
60
|
|
|
47
61
|
syncAddresses(cache: RecentAddressesCache): void {
|
|
48
62
|
const previousAddresses = { ...this.addressesByCurrency };
|
|
49
63
|
this.addressesByCurrency = { ...cache };
|
|
50
64
|
for (const currency in previousAddresses) {
|
|
51
|
-
|
|
52
|
-
|
|
65
|
+
const entries = previousAddresses[currency] as (RecentAddress | string)[];
|
|
66
|
+
for (const entry of entries) {
|
|
67
|
+
const address = typeof entry === "string" ? entry : entry.address;
|
|
68
|
+
const timestamp = typeof entry === "string" ? undefined : entry.lastUsed;
|
|
69
|
+
this.addAddressToCache(currency, address, timestamp ?? Date.now(), false);
|
|
53
70
|
}
|
|
54
71
|
}
|
|
55
72
|
|
|
@@ -58,26 +75,33 @@ class RecentAddressesStoreImpl implements RecentAddressesStore {
|
|
|
58
75
|
|
|
59
76
|
getAddresses(currency: string): string[] {
|
|
60
77
|
const addresses = this.addressesByCurrency[currency];
|
|
61
|
-
|
|
78
|
+
if (!addresses) return [];
|
|
79
|
+
return addresses.map(entry => entry.address);
|
|
62
80
|
}
|
|
63
81
|
|
|
64
|
-
private addAddressToCache(
|
|
82
|
+
private addAddressToCache(
|
|
83
|
+
currency: string,
|
|
84
|
+
address: string,
|
|
85
|
+
timestamp: number,
|
|
86
|
+
shouldTriggerCallback: boolean,
|
|
87
|
+
): void {
|
|
65
88
|
if (!this.addressesByCurrency[currency]) {
|
|
66
89
|
this.addressesByCurrency[currency] = [];
|
|
67
90
|
}
|
|
68
91
|
|
|
69
92
|
const addresses = this.addressesByCurrency[currency];
|
|
70
|
-
const addressIndex = addresses.
|
|
93
|
+
const addressIndex = addresses.findIndex(entry => entry.address === address);
|
|
94
|
+
|
|
71
95
|
if (addressIndex !== -1) {
|
|
72
96
|
addresses.splice(addressIndex, 1);
|
|
73
97
|
} else if (addresses.length >= RECENT_ADDRESSES_COUNT_LIMIT) {
|
|
74
98
|
addresses.pop();
|
|
75
99
|
}
|
|
76
100
|
|
|
77
|
-
addresses.unshift(address);
|
|
101
|
+
addresses.unshift({ address, lastUsed: timestamp });
|
|
78
102
|
this.addressesByCurrency[currency] = [...addresses];
|
|
79
103
|
|
|
80
|
-
if (
|
|
104
|
+
if (shouldTriggerCallback) {
|
|
81
105
|
this.onAddAddressComplete(this.addressesByCurrency);
|
|
82
106
|
}
|
|
83
107
|
}
|
|
@@ -248,12 +248,14 @@ const DEFAULT_SWAP_PROVIDERS: Record<string, ProviderConfig & Partial<Additional
|
|
|
248
248
|
export const dexProvidersContractAddress: { [key: string]: string } = {
|
|
249
249
|
"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": "Uniswap",
|
|
250
250
|
"0x111111125421ca6dc452d289314280a0f8842a65": "1inch",
|
|
251
|
+
"0x6a000f20005980200259b80c5102003040001068": "velora",
|
|
251
252
|
};
|
|
252
253
|
|
|
253
254
|
export const termsOfUse: { [key: string]: string } = {
|
|
254
255
|
paraswap: "https://paraswap.io/tos",
|
|
255
256
|
"1inch": "https://1inch.com/assets/Widget_1inch.com_Terms_of_Use.pdf",
|
|
256
257
|
Uniswap: "https://uniswap.org/terms-of-service",
|
|
258
|
+
velora: "https://www.velora.xyz/terms/terms-of-use",
|
|
257
259
|
};
|
|
258
260
|
|
|
259
261
|
export const privacyPolicy: { [key: string]: string } = {
|
|
@@ -25,7 +25,7 @@ exports[`hedera currency bridge scanAccounts hedera seed 1 1`] = `
|
|
|
25
25
|
"spendableBalance": "3437436",
|
|
26
26
|
"subAccounts": [],
|
|
27
27
|
"swapHistory": [],
|
|
28
|
-
"syncHash": "
|
|
28
|
+
"syncHash": "0x1ceb1f53",
|
|
29
29
|
"used": true,
|
|
30
30
|
},
|
|
31
31
|
{
|
|
@@ -84,7 +84,7 @@ exports[`hedera currency bridge scanAccounts hedera seed 1 1`] = `
|
|
|
84
84
|
"spendableBalance": "80396525",
|
|
85
85
|
"subAccounts": [],
|
|
86
86
|
"swapHistory": [],
|
|
87
|
-
"syncHash": "
|
|
87
|
+
"syncHash": "0x1ceb1f53",
|
|
88
88
|
"used": true,
|
|
89
89
|
},
|
|
90
90
|
{
|
|
@@ -121,7 +121,7 @@ exports[`hedera currency bridge scanAccounts hedera seed 1 1`] = `
|
|
|
121
121
|
"spendableBalance": "80189",
|
|
122
122
|
"subAccounts": [],
|
|
123
123
|
"swapHistory": [],
|
|
124
|
-
"syncHash": "
|
|
124
|
+
"syncHash": "0x1ceb1f53",
|
|
125
125
|
"used": true,
|
|
126
126
|
},
|
|
127
127
|
{
|
|
@@ -147,7 +147,7 @@ exports[`hedera currency bridge scanAccounts hedera seed 1 1`] = `
|
|
|
147
147
|
"spendableBalance": "99442073",
|
|
148
148
|
"subAccounts": [],
|
|
149
149
|
"swapHistory": [],
|
|
150
|
-
"syncHash": "
|
|
150
|
+
"syncHash": "0x1ceb1f53",
|
|
151
151
|
"used": true,
|
|
152
152
|
},
|
|
153
153
|
{
|
|
@@ -173,7 +173,7 @@ exports[`hedera currency bridge scanAccounts hedera seed 1 1`] = `
|
|
|
173
173
|
"spendableBalance": "334045080",
|
|
174
174
|
"subAccounts": [],
|
|
175
175
|
"swapHistory": [],
|
|
176
|
-
"syncHash": "
|
|
176
|
+
"syncHash": "0x1ceb1f53",
|
|
177
177
|
"used": true,
|
|
178
178
|
},
|
|
179
179
|
{
|
|
@@ -221,7 +221,7 @@ exports[`hedera currency bridge scanAccounts hedera seed 1 1`] = `
|
|
|
221
221
|
"spendableBalance": "36243023",
|
|
222
222
|
"subAccounts": [],
|
|
223
223
|
"swapHistory": [],
|
|
224
|
-
"syncHash": "
|
|
224
|
+
"syncHash": "0x1ceb1f53",
|
|
225
225
|
"used": true,
|
|
226
226
|
},
|
|
227
227
|
{
|
|
@@ -269,7 +269,7 @@ exports[`hedera currency bridge scanAccounts hedera seed 1 1`] = `
|
|
|
269
269
|
"spendableBalance": "0",
|
|
270
270
|
"subAccounts": [],
|
|
271
271
|
"swapHistory": [],
|
|
272
|
-
"syncHash": "
|
|
272
|
+
"syncHash": "0x1ceb1f53",
|
|
273
273
|
"used": false,
|
|
274
274
|
},
|
|
275
275
|
]
|