@ledgerhq/live-common 34.47.0-nightly.4 → 34.47.0-nightly.6
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/bridge/crypto-assets/cal-store.d.ts.map +1 -1
- package/lib/bridge/crypto-assets/cal-store.js +21 -5
- package/lib/bridge/crypto-assets/cal-store.js.map +1 -1
- package/lib/bridge/generic-alpaca/alpaca/index.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/alpaca/index.js +6 -1
- package/lib/bridge/generic-alpaca/alpaca/index.js.map +1 -1
- package/lib/bridge/generic-alpaca/alpaca/index.unit.test.d.ts +2 -0
- package/lib/bridge/generic-alpaca/alpaca/index.unit.test.d.ts.map +1 -0
- package/lib/bridge/generic-alpaca/alpaca/index.unit.test.js +89 -0
- package/lib/bridge/generic-alpaca/alpaca/index.unit.test.js.map +1 -0
- package/lib/modularDrawer/data/entities/interestRateSelectors.d.ts +16 -0
- package/lib/modularDrawer/data/entities/interestRateSelectors.d.ts.map +1 -0
- package/lib/modularDrawer/data/entities/interestRateSelectors.js +21 -0
- package/lib/modularDrawer/data/entities/interestRateSelectors.js.map +1 -0
- package/lib/modularDrawer/data/state-manager/api.d.ts +1 -16
- package/lib/modularDrawer/data/state-manager/api.d.ts.map +1 -1
- package/lib/modularDrawer/data/state-manager/api.js +11 -8
- package/lib/modularDrawer/data/state-manager/api.js.map +1 -1
- package/lib/modularDrawer/data/state-manager/types.d.ts +24 -0
- package/lib/modularDrawer/data/state-manager/types.d.ts.map +1 -0
- package/lib/modularDrawer/data/state-manager/types.js +13 -0
- package/lib/modularDrawer/data/state-manager/types.js.map +1 -0
- package/lib/modularDrawer/hooks/__test__/useAssetsData.test.js +6 -6
- package/lib/modularDrawer/hooks/__test__/useAssetsData.test.js.map +1 -1
- package/lib/modularDrawer/hooks/modules/useLeftApyModule.d.ts +2 -2
- package/lib/modularDrawer/hooks/modules/useLeftApyModule.d.ts.map +1 -1
- package/lib/modularDrawer/hooks/modules/useLeftApyModule.js +59 -10
- package/lib/modularDrawer/hooks/modules/useLeftApyModule.js.map +1 -1
- package/lib/modularDrawer/hooks/useAssetsData.d.ts +8 -3
- package/lib/modularDrawer/hooks/useAssetsData.d.ts.map +1 -1
- package/lib/modularDrawer/hooks/useAssetsData.js +7 -3
- package/lib/modularDrawer/hooks/useAssetsData.js.map +1 -1
- package/lib/wallet-api/Exchange/server.js +2 -2
- package/lib/wallet-api/Exchange/server.js.map +1 -1
- package/lib/wallet-api/react.d.ts +2 -0
- package/lib/wallet-api/react.d.ts.map +1 -1
- package/lib/wallet-api/react.js +3 -1
- package/lib/wallet-api/react.js.map +1 -1
- package/lib-es/bridge/crypto-assets/cal-store.d.ts.map +1 -1
- package/lib-es/bridge/crypto-assets/cal-store.js +21 -5
- package/lib-es/bridge/crypto-assets/cal-store.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/alpaca/index.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/alpaca/index.js +6 -1
- package/lib-es/bridge/generic-alpaca/alpaca/index.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/alpaca/index.unit.test.d.ts +2 -0
- package/lib-es/bridge/generic-alpaca/alpaca/index.unit.test.d.ts.map +1 -0
- package/lib-es/bridge/generic-alpaca/alpaca/index.unit.test.js +64 -0
- package/lib-es/bridge/generic-alpaca/alpaca/index.unit.test.js.map +1 -0
- package/lib-es/modularDrawer/data/entities/interestRateSelectors.d.ts +16 -0
- package/lib-es/modularDrawer/data/entities/interestRateSelectors.d.ts.map +1 -0
- package/lib-es/modularDrawer/data/entities/interestRateSelectors.js +18 -0
- package/lib-es/modularDrawer/data/entities/interestRateSelectors.js.map +1 -0
- package/lib-es/modularDrawer/data/state-manager/api.d.ts +1 -16
- package/lib-es/modularDrawer/data/state-manager/api.d.ts.map +1 -1
- package/lib-es/modularDrawer/data/state-manager/api.js +8 -5
- package/lib-es/modularDrawer/data/state-manager/api.js.map +1 -1
- package/lib-es/modularDrawer/data/state-manager/types.d.ts +24 -0
- package/lib-es/modularDrawer/data/state-manager/types.d.ts.map +1 -0
- package/lib-es/modularDrawer/data/state-manager/types.js +10 -0
- package/lib-es/modularDrawer/data/state-manager/types.js.map +1 -0
- package/lib-es/modularDrawer/hooks/__test__/useAssetsData.test.js +6 -6
- package/lib-es/modularDrawer/hooks/__test__/useAssetsData.test.js.map +1 -1
- package/lib-es/modularDrawer/hooks/modules/useLeftApyModule.d.ts +2 -2
- package/lib-es/modularDrawer/hooks/modules/useLeftApyModule.d.ts.map +1 -1
- package/lib-es/modularDrawer/hooks/modules/useLeftApyModule.js +37 -8
- package/lib-es/modularDrawer/hooks/modules/useLeftApyModule.js.map +1 -1
- package/lib-es/modularDrawer/hooks/useAssetsData.d.ts +8 -3
- package/lib-es/modularDrawer/hooks/useAssetsData.d.ts.map +1 -1
- package/lib-es/modularDrawer/hooks/useAssetsData.js +7 -3
- package/lib-es/modularDrawer/hooks/useAssetsData.js.map +1 -1
- package/lib-es/wallet-api/Exchange/server.js +2 -2
- package/lib-es/wallet-api/Exchange/server.js.map +1 -1
- package/lib-es/wallet-api/react.d.ts +2 -0
- package/lib-es/wallet-api/react.d.ts.map +1 -1
- package/lib-es/wallet-api/react.js +3 -1
- package/lib-es/wallet-api/react.js.map +1 -1
- package/package.json +19 -19
- package/src/bridge/crypto-assets/cal-store.ts +22 -5
- package/src/bridge/generic-alpaca/alpaca/index.ts +14 -1
- package/src/bridge/generic-alpaca/alpaca/index.unit.test.ts +78 -0
- package/src/modularDrawer/data/entities/interestRateSelectors.ts +39 -0
- package/src/modularDrawer/data/state-manager/api.ts +15 -21
- package/src/modularDrawer/data/state-manager/types.ts +28 -0
- package/src/modularDrawer/hooks/__test__/useAssetsData.test.ts +6 -6
- package/src/modularDrawer/hooks/modules/useLeftApyModule.tsx +41 -8
- package/src/modularDrawer/hooks/useAssetsData.ts +19 -5
- package/src/wallet-api/Exchange/server.ts +2 -2
- package/src/wallet-api/react.ts +5 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cal-store.d.ts","sourceRoot":"","sources":["../../../src/bridge/crypto-assets/cal-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;
|
1
|
+
{"version":3,"file":"cal-store.d.ts","sourceRoot":"","sources":["../../../src/bridge/crypto-assets/cal-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAK7D,qBAAa,QAAS,YAAW,iBAAiB;IAChD,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,WAAW,CAAoC;IAEvD,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE;IAcjC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAQ9D,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa;IAQvC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIpD,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAc5F,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;CAG7D"}
|
@@ -1,6 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.CALStore = void 0;
|
4
|
+
// Coins with case-sensitive addresses (b58, ...)
|
5
|
+
const CASE_SENSITIVE_COINS = ["solana"];
|
4
6
|
class CALStore {
|
5
7
|
tokenCache = new Map();
|
6
8
|
addressCache = new Map();
|
@@ -9,13 +11,21 @@ class CALStore {
|
|
9
11
|
tokens.forEach(token => {
|
10
12
|
this.tokenCache.set(token.id, token);
|
11
13
|
if (token.contractAddress) {
|
12
|
-
|
14
|
+
const isCaseSensitive = CASE_SENSITIVE_COINS.includes(token.parentCurrency.id);
|
15
|
+
const normalizedAddress = isCaseSensitive
|
16
|
+
? token.contractAddress
|
17
|
+
: token.contractAddress.toLowerCase();
|
18
|
+
this.addressCache.set(normalizedAddress, token);
|
13
19
|
}
|
14
20
|
this.tickerCache.set(token.ticker, token);
|
15
21
|
});
|
16
22
|
}
|
17
23
|
findTokenByAddress(address) {
|
18
|
-
|
24
|
+
const exactMatch = this.addressCache.get(address);
|
25
|
+
if (exactMatch)
|
26
|
+
return exactMatch;
|
27
|
+
const lowercaseMatch = this.addressCache.get(address.toLowerCase());
|
28
|
+
return lowercaseMatch;
|
19
29
|
}
|
20
30
|
getTokenById(id) {
|
21
31
|
const token = this.tokenCache.get(id);
|
@@ -28,10 +38,16 @@ class CALStore {
|
|
28
38
|
return this.tokenCache.get(id);
|
29
39
|
}
|
30
40
|
findTokenByAddressInCurrency(address, currencyId) {
|
31
|
-
const
|
32
|
-
if (
|
33
|
-
|
41
|
+
const isCaseSensitive = CASE_SENSITIVE_COINS.includes(currencyId);
|
42
|
+
if (isCaseSensitive) {
|
43
|
+
const token = this.addressCache.get(address);
|
44
|
+
if (token && token.parentCurrency.id === currencyId)
|
45
|
+
return token;
|
46
|
+
return undefined;
|
34
47
|
}
|
48
|
+
const token = this.addressCache.get(address.toLowerCase());
|
49
|
+
if (token && token.parentCurrency.id === currencyId)
|
50
|
+
return token;
|
35
51
|
return undefined;
|
36
52
|
}
|
37
53
|
findTokenByTicker(ticker) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cal-store.js","sourceRoot":"","sources":["../../../src/bridge/crypto-assets/cal-store.ts"],"names":[],"mappings":";;;AAGA,MAAa,QAAQ;IACX,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC9C,YAAY,GAAG,IAAI,GAAG,EAAyB,CAAC;IAChD,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEvD,SAAS,CAAC,MAAuB;QAC/B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,eAAe,EAAE;gBACzB,
|
1
|
+
{"version":3,"file":"cal-store.js","sourceRoot":"","sources":["../../../src/bridge/crypto-assets/cal-store.ts"],"names":[],"mappings":";;;AAGA,iDAAiD;AACjD,MAAM,oBAAoB,GAAG,CAAC,QAAQ,CAAC,CAAC;AAExC,MAAa,QAAQ;IACX,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC9C,YAAY,GAAG,IAAI,GAAG,EAAyB,CAAC;IAChD,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEvD,SAAS,CAAC,MAAuB;QAC/B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,eAAe,EAAE;gBACzB,MAAM,eAAe,GAAG,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBAC/E,MAAM,iBAAiB,GAAG,eAAe;oBACvC,CAAC,CAAC,KAAK,CAAC,eAAe;oBACvB,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;gBACxC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;aACjD;YACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;QAElC,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACpE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,YAAY,CAAC,EAAU;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;SAC3C;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,aAAa,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,4BAA4B,CAAC,OAAe,EAAE,UAAkB;QAC9D,MAAM,eAAe,GAAG,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAElE,IAAI,eAAe,EAAE;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,KAAK,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,KAAK,UAAU;gBAAE,OAAO,KAAK,CAAC;YAClE,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3D,IAAI,KAAK,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC;QAClE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iBAAiB,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACF;AAxDD,4BAwDC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bridge/generic-alpaca/alpaca/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bridge/generic-alpaca/alpaca/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,GAAG,EAAE,MAAM,oCAAoC,CAAC;AAMzD,wBAAgB,YAAY,CAAC,OAAO,KAAA,EAAE,IAAI,KAAA,GAAG,GAAG,CAAC,GAAG,CAAC,CAwBpD"}
|
@@ -3,17 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getAlpacaApi = void 0;
|
4
4
|
const index_1 = require("@ledgerhq/coin-xrp/api/index");
|
5
5
|
const index_2 = require("@ledgerhq/coin-stellar/api/index");
|
6
|
+
const index_3 = require("@ledgerhq/coin-canton/api/index");
|
7
|
+
const index_4 = require("@ledgerhq/coin-tron/api/index");
|
6
8
|
const config_1 = require("../../../config");
|
7
9
|
const currencies_1 = require("@ledgerhq/cryptoassets/currencies");
|
8
10
|
const network_alpaca_1 = require("./network/network-alpaca");
|
9
11
|
function getAlpacaApi(network, kind) {
|
10
12
|
if (kind === "local") {
|
11
13
|
switch (network) {
|
12
|
-
case "ripple":
|
13
14
|
case "xrp":
|
14
15
|
return (0, index_1.createApi)((0, config_1.getCurrencyConfiguration)((0, currencies_1.getCryptoCurrencyById)("ripple"))); // FIXME: createXrpApi returns a strongly typed Api<XrpSender>, fix Api<any> to allow it
|
15
16
|
case "stellar":
|
16
17
|
return (0, index_2.createApi)((0, config_1.getCurrencyConfiguration)((0, currencies_1.getCryptoCurrencyById)("stellar")));
|
18
|
+
case "canton":
|
19
|
+
return (0, index_3.createApi)((0, config_1.getCurrencyConfiguration)((0, currencies_1.getCryptoCurrencyById)("canton_network_devnet")));
|
20
|
+
case "tron":
|
21
|
+
return (0, index_4.createApi)((0, config_1.getCurrencyConfiguration)((0, currencies_1.getCryptoCurrencyById)("tron")));
|
17
22
|
}
|
18
23
|
}
|
19
24
|
return (0, network_alpaca_1.getNetworkAlpacaApi)(network);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/bridge/generic-alpaca/alpaca/index.ts"],"names":[],"mappings":";;;AAAA,wDAAyE;AACzE,4DAAiF;AACjF,4CAA2D;AAC3D,kEAA0E;AAC1E,6DAA+D;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/bridge/generic-alpaca/alpaca/index.ts"],"names":[],"mappings":";;;AAAA,wDAAyE;AACzE,4DAAiF;AACjF,2DAA+E;AAC/E,yDAA2E;AAC3E,4CAA2D;AAC3D,kEAA0E;AAC1E,6DAA+D;AAO/D,SAAgB,YAAY,CAAC,OAAO,EAAE,IAAI;IACxC,IAAI,IAAI,KAAK,OAAO,EAAE;QACpB,QAAQ,OAAO,EAAE;YACf,KAAK,KAAK;gBACR,OAAO,IAAA,iBAAY,EACjB,IAAA,iCAAwB,EAAgB,IAAA,kCAAqB,EAAC,QAAQ,CAAC,CAAC,CAC7D,CAAC,CAAC,wFAAwF;YACzG,KAAK,SAAS;gBACZ,OAAO,IAAA,iBAAgB,EACrB,IAAA,iCAAwB,EAAoB,IAAA,kCAAqB,EAAC,SAAS,CAAC,CAAC,CAClE,CAAC;YAChB,KAAK,QAAQ;gBACX,OAAO,IAAA,iBAAe,EACpB,IAAA,iCAAwB,EACtB,IAAA,kCAAqB,EAAC,uBAAuB,CAAC,CAC/C,CACU,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,IAAA,iBAAa,EAClB,IAAA,iCAAwB,EAAiB,IAAA,kCAAqB,EAAC,MAAM,CAAC,CAAC,CAC5D,CAAC;SACjB;KACF;IACD,OAAO,IAAA,oCAAmB,EAAC,OAAO,CAAyC,CAAC;AAC9E,CAAC;AAxBD,oCAwBC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.unit.test.d.ts","sourceRoot":"","sources":["../../../../src/bridge/generic-alpaca/alpaca/index.unit.test.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
+
const index_1 = require("./index");
|
27
|
+
const xrpModule = __importStar(require("@ledgerhq/coin-xrp/api/index"));
|
28
|
+
const stellarModule = __importStar(require("@ledgerhq/coin-stellar/api/index"));
|
29
|
+
const cantonModule = __importStar(require("@ledgerhq/coin-canton/api/index"));
|
30
|
+
const tronModule = __importStar(require("@ledgerhq/coin-tron/api/index"));
|
31
|
+
const config = __importStar(require("../../../config"));
|
32
|
+
const networkApi = __importStar(require("./network/network-alpaca"));
|
33
|
+
const cryptoAssets = __importStar(require("@ledgerhq/cryptoassets/currencies"));
|
34
|
+
const mockApiInstance = { mock: "api" };
|
35
|
+
jest.mock("@ledgerhq/cryptoassets/currencies", () => ({
|
36
|
+
getCryptoCurrencyById: jest.fn(),
|
37
|
+
}));
|
38
|
+
jest.mock("../../../config", () => ({
|
39
|
+
getCurrencyConfiguration: jest.fn(),
|
40
|
+
}));
|
41
|
+
jest.mock("@ledgerhq/coin-xrp/api/index", () => ({
|
42
|
+
createApi: jest.fn(),
|
43
|
+
}));
|
44
|
+
jest.mock("@ledgerhq/coin-stellar/api/index", () => ({
|
45
|
+
createApi: jest.fn(),
|
46
|
+
}));
|
47
|
+
jest.mock("@ledgerhq/coin-canton/api/index", () => ({
|
48
|
+
createApi: jest.fn(),
|
49
|
+
}));
|
50
|
+
jest.mock("@ledgerhq/coin-tron/api/index", () => ({
|
51
|
+
createApi: jest.fn(),
|
52
|
+
}));
|
53
|
+
jest.mock("./network/network-alpaca", () => ({
|
54
|
+
getNetworkAlpacaApi: jest.fn(),
|
55
|
+
}));
|
56
|
+
describe("getAlpacaApi", () => {
|
57
|
+
const mockCurrency = { id: "mock-currency" };
|
58
|
+
beforeEach(() => {
|
59
|
+
jest.clearAllMocks();
|
60
|
+
// Common mocks
|
61
|
+
cryptoAssets.getCryptoCurrencyById.mockReturnValue(mockCurrency);
|
62
|
+
config.getCurrencyConfiguration.mockReturnValue({ config: true });
|
63
|
+
// API mocks
|
64
|
+
jest.spyOn(xrpModule, "createApi").mockReturnValue(mockApiInstance);
|
65
|
+
jest.spyOn(stellarModule, "createApi").mockReturnValue(mockApiInstance);
|
66
|
+
jest.spyOn(cantonModule, "createApi").mockReturnValue(mockApiInstance);
|
67
|
+
jest.spyOn(tronModule, "createApi").mockReturnValue(mockApiInstance);
|
68
|
+
jest.spyOn(networkApi, "getNetworkAlpacaApi").mockReturnValue(mockApiInstance);
|
69
|
+
});
|
70
|
+
const testCases = [
|
71
|
+
{ network: "xrp", module: xrpModule, label: "XRP" },
|
72
|
+
{ network: "stellar", module: stellarModule, label: "Stellar" },
|
73
|
+
{ network: "tron", module: tronModule, label: "Tron" },
|
74
|
+
{ network: "canton", module: cantonModule, label: "Canton" },
|
75
|
+
];
|
76
|
+
testCases.forEach(({ network, module, label }) => {
|
77
|
+
it(`should return ${label} API for network "${network}" and kind "local"`, () => {
|
78
|
+
const result = (0, index_1.getAlpacaApi)(network, "local");
|
79
|
+
expect(result).toEqual(mockApiInstance);
|
80
|
+
expect(module.createApi).toHaveBeenCalledWith({ config: true });
|
81
|
+
});
|
82
|
+
});
|
83
|
+
it("should return network API for kind !== 'local'", () => {
|
84
|
+
const result = (0, index_1.getAlpacaApi)("xrp", "remote");
|
85
|
+
expect(networkApi.getNetworkAlpacaApi).toHaveBeenCalledWith("xrp");
|
86
|
+
expect(result).toEqual(mockApiInstance);
|
87
|
+
});
|
88
|
+
});
|
89
|
+
//# sourceMappingURL=index.unit.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.unit.test.js","sourceRoot":"","sources":["../../../../src/bridge/generic-alpaca/alpaca/index.unit.test.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { InterestRate } from "../entities";
|
2
|
+
interface ApiState {
|
3
|
+
assetsDataApi?: {
|
4
|
+
queries?: Record<string, QueryCacheEntry>;
|
5
|
+
};
|
6
|
+
}
|
7
|
+
interface QueryCacheEntry {
|
8
|
+
data?: {
|
9
|
+
pages?: Array<{
|
10
|
+
interestRates?: Record<string, InterestRate>;
|
11
|
+
}>;
|
12
|
+
};
|
13
|
+
}
|
14
|
+
export declare const selectInterestRateByCurrency: (state: ApiState, currencyId: string) => InterestRate | undefined;
|
15
|
+
export {};
|
16
|
+
//# sourceMappingURL=interestRateSelectors.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"interestRateSelectors.d.ts","sourceRoot":"","sources":["../../../../src/modularDrawer/data/entities/interestRateSelectors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,UAAU,QAAQ;IAChB,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;KAC3C,CAAC;CACH;AAED,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,KAAK,CAAC;YACZ,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;SAC9C,CAAC,CAAC;KACJ,CAAC;CACH;AAED,eAAO,MAAM,4BAA4B,EAAE,CACzC,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,MAAM,KACf,YAAY,GAAG,SAkBnB,CAAC"}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.selectInterestRateByCurrency = void 0;
|
4
|
+
const toolkit_1 = require("@reduxjs/toolkit");
|
5
|
+
exports.selectInterestRateByCurrency = (0, toolkit_1.createSelector)([
|
6
|
+
(state) => state.assetsDataApi?.queries ?? {},
|
7
|
+
(_state, currencyId) => currencyId,
|
8
|
+
], (queries, currencyId) => {
|
9
|
+
for (const query of Object.values(queries)) {
|
10
|
+
const pages = query.data?.pages;
|
11
|
+
if (!pages)
|
12
|
+
continue;
|
13
|
+
for (const page of pages) {
|
14
|
+
const rate = page.interestRates?.[currencyId];
|
15
|
+
if (rate)
|
16
|
+
return rate;
|
17
|
+
}
|
18
|
+
}
|
19
|
+
return undefined;
|
20
|
+
});
|
21
|
+
//# sourceMappingURL=interestRateSelectors.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"interestRateSelectors.js","sourceRoot":"","sources":["../../../../src/modularDrawer/data/entities/interestRateSelectors.ts"],"names":[],"mappings":";;;AAAA,8CAAkD;AAiBrC,QAAA,4BAA4B,GAGT,IAAA,wBAAc,EAC5C;IACE,CAAC,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE;IACvD,CAAC,MAAgB,EAAE,UAAkB,EAAE,EAAE,CAAC,UAAU;CACrD,EACD,CAAC,OAAO,EAAE,UAAU,EAA4B,EAAE;IAChD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;SACvB;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CACF,CAAC"}
|
@@ -1,20 +1,5 @@
|
|
1
1
|
import { FetchBaseQueryMeta } from "@reduxjs/toolkit/query/react";
|
2
|
-
import {
|
3
|
-
export declare enum AssetsDataTags {
|
4
|
-
Assets = "Assets"
|
5
|
-
}
|
6
|
-
export interface GetAssetsDataParams {
|
7
|
-
search?: string;
|
8
|
-
currencyIds?: string[];
|
9
|
-
}
|
10
|
-
export interface PageParam {
|
11
|
-
cursor?: string;
|
12
|
-
}
|
13
|
-
export interface AssetsDataWithPagination extends AssetsData {
|
14
|
-
pagination: {
|
15
|
-
nextCursor?: string;
|
16
|
-
};
|
17
|
-
}
|
2
|
+
import { AssetsDataTags, AssetsDataWithPagination, GetAssetsDataParams, PageParam } from "./types";
|
18
3
|
export declare const assetsDataApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, FetchBaseQueryMeta>, {
|
19
4
|
getAssetsData: import("@reduxjs/toolkit/query").InfiniteQueryDefinition<GetAssetsDataParams, PageParam, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, FetchBaseQueryMeta>, AssetsDataTags, AssetsDataWithPagination, "assetsDataApi", unknown>;
|
20
5
|
}, "assetsDataApi", AssetsDataTags, typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/modularDrawer/data/state-manager/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/modularDrawer/data/state-manager/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAI7F,OAAO,EAEL,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,SAAS,EACV,MAAM,SAAS,CAAC;AAmBjB,eAAO,MAAM,aAAa;;gKA6CxB,CAAC;AAEH,eAAO,MAAQ,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAAkB,CAAC"}
|
@@ -1,13 +1,10 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.useGetAssetsDataInfiniteQuery = exports.assetsDataApi =
|
3
|
+
exports.useGetAssetsDataInfiniteQuery = exports.assetsDataApi = void 0;
|
4
4
|
const react_1 = require("@reduxjs/toolkit/query/react");
|
5
5
|
const cryptoassets_1 = require("@ledgerhq/cryptoassets");
|
6
6
|
const live_env_1 = require("@ledgerhq/live-env");
|
7
|
-
|
8
|
-
(function (AssetsDataTags) {
|
9
|
-
AssetsDataTags["Assets"] = "Assets";
|
10
|
-
})(AssetsDataTags || (exports.AssetsDataTags = AssetsDataTags = {}));
|
7
|
+
const types_1 = require("./types");
|
11
8
|
function transformAssetsResponse(response, meta) {
|
12
9
|
const enrichedCryptoOrTokenCurrencies = (0, cryptoassets_1.convertApiAssets)(response.cryptoOrTokenCurrencies);
|
13
10
|
const nextCursor = meta?.response?.headers.get("x-ledger-next") || undefined;
|
@@ -24,22 +21,28 @@ exports.assetsDataApi = (0, react_1.createApi)({
|
|
24
21
|
baseQuery: (0, react_1.fetchBaseQuery)({
|
25
22
|
baseUrl: __DEV__ ? (0, live_env_1.getEnv)("DADA_API_STAGING") : (0, live_env_1.getEnv)("DADA_API_PROD"),
|
26
23
|
}),
|
27
|
-
tagTypes: [AssetsDataTags.Assets],
|
24
|
+
tagTypes: [types_1.AssetsDataTags.Assets],
|
28
25
|
endpoints: build => ({
|
29
26
|
getAssetsData: build.infiniteQuery({
|
30
27
|
query: ({ pageParam, queryArg }) => {
|
31
28
|
const params = {
|
32
29
|
pageSize: 100,
|
33
30
|
...(pageParam?.cursor && { cursor: pageParam.cursor }),
|
34
|
-
|
31
|
+
...(queryArg?.useCase && { transaction: queryArg.useCase }),
|
32
|
+
...(queryArg?.currencyIds &&
|
33
|
+
queryArg?.currencyIds.length > 0 &&
|
34
|
+
!queryArg?.useCase && { currencyIds: queryArg.currencyIds }),
|
35
35
|
...(queryArg?.search && { search: queryArg.search }),
|
36
|
+
product: queryArg.product,
|
37
|
+
minVersion: queryArg.version,
|
38
|
+
additionalData: [types_1.AssetsAdditionalData.Apy, types_1.AssetsAdditionalData.MarketTrend],
|
36
39
|
};
|
37
40
|
return {
|
38
41
|
url: "assets",
|
39
42
|
params,
|
40
43
|
};
|
41
44
|
},
|
42
|
-
providesTags: [AssetsDataTags.Assets],
|
45
|
+
providesTags: [types_1.AssetsDataTags.Assets],
|
43
46
|
transformResponse: transformAssetsResponse,
|
44
47
|
infiniteQueryOptions: {
|
45
48
|
initialPageParam: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/modularDrawer/data/state-manager/api.ts"],"names":[],"mappings":";;;AAAA,wDAA6F;AAC7F,yDAA0D;AAE1D,iDAA4C;
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/modularDrawer/data/state-manager/api.ts"],"names":[],"mappings":";;;AAAA,wDAA6F;AAC7F,yDAA0D;AAE1D,iDAA4C;AAC5C,mCAMiB;AAEjB,SAAS,uBAAuB,CAC9B,QAAwB,EACxB,IAAyB;IAEzB,MAAM,+BAA+B,GAAG,IAAA,+BAAgB,EAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IAE3F,MAAM,UAAU,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC;IAE7E,OAAO;QACL,GAAG,QAAQ;QACX,uBAAuB,EAAE,+BAA+B;QACxD,UAAU,EAAE;YACV,UAAU;SACX;KACF,CAAC;AACJ,CAAC;AAEY,QAAA,aAAa,GAAG,IAAA,iBAAS,EAAC;IACrC,WAAW,EAAE,eAAe;IAC5B,SAAS,EAAE,IAAA,sBAAc,EAAC;QACxB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAA,iBAAM,EAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAM,EAAC,eAAe,CAAC;KACxE,CAAC;IACF,QAAQ,EAAE,CAAC,sBAAc,CAAC,MAAM,CAAC;IACjC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACnB,aAAa,EAAE,KAAK,CAAC,aAAa,CAA2D;YAC3F,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACjC,MAAM,MAAM,GAAG;oBACb,QAAQ,EAAE,GAAG;oBACb,GAAG,CAAC,SAAS,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;oBACtD,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAC3D,GAAG,CAAC,QAAQ,EAAE,WAAW;wBACvB,QAAQ,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC;wBAChC,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC;oBAC9D,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpD,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,UAAU,EAAE,QAAQ,CAAC,OAAO;oBAC5B,cAAc,EAAE,CAAC,4BAAoB,CAAC,GAAG,EAAE,4BAAoB,CAAC,WAAW,CAAC;iBAC7E,CAAC;gBAEF,OAAO;oBACL,GAAG,EAAE,QAAQ;oBACb,MAAM;iBACP,CAAC;YACJ,CAAC;YACD,YAAY,EAAE,CAAC,sBAAc,CAAC,MAAM,CAAC;YACrC,iBAAiB,EAAE,uBAAuB;YAC1C,oBAAoB,EAAE;gBACpB,gBAAgB,EAAE;oBAChB,MAAM,EAAE,EAAE;iBACX;gBACD,gBAAgB,EAAE,QAAQ,CAAC,EAAE;oBAC3B,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE;wBAClC,OAAO;4BACL,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU;yBACvC,CAAC;qBACH;yBAAM;wBACL,OAAO,SAAS,CAAC;qBAClB;gBACH,CAAC;aACF;SACF,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AAEY,qCAA6B,GAAK,qBAAa,+BAAC"}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { AssetsData } from "../entities";
|
2
|
+
export declare enum AssetsDataTags {
|
3
|
+
Assets = "Assets"
|
4
|
+
}
|
5
|
+
export declare enum AssetsAdditionalData {
|
6
|
+
Apy = "apy",
|
7
|
+
MarketTrend = "marketTrend"
|
8
|
+
}
|
9
|
+
export interface GetAssetsDataParams {
|
10
|
+
search?: string;
|
11
|
+
currencyIds?: string[];
|
12
|
+
useCase?: string;
|
13
|
+
product: "llm" | "lld";
|
14
|
+
version: string;
|
15
|
+
}
|
16
|
+
export interface PageParam {
|
17
|
+
cursor?: string;
|
18
|
+
}
|
19
|
+
export interface AssetsDataWithPagination extends AssetsData {
|
20
|
+
pagination: {
|
21
|
+
nextCursor?: string;
|
22
|
+
};
|
23
|
+
}
|
24
|
+
//# sourceMappingURL=types.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/modularDrawer/data/state-manager/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,oBAAY,cAAc;IACxB,MAAM,WAAW;CAClB;AAED,oBAAY,oBAAoB;IAC9B,GAAG,QAAQ;IACX,WAAW,gBAAgB;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,KAAK,GAAG,KAAK,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAyB,SAAQ,UAAU;IAC1D,UAAU,EAAE;QACV,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.AssetsAdditionalData = exports.AssetsDataTags = void 0;
|
4
|
+
var AssetsDataTags;
|
5
|
+
(function (AssetsDataTags) {
|
6
|
+
AssetsDataTags["Assets"] = "Assets";
|
7
|
+
})(AssetsDataTags || (exports.AssetsDataTags = AssetsDataTags = {}));
|
8
|
+
var AssetsAdditionalData;
|
9
|
+
(function (AssetsAdditionalData) {
|
10
|
+
AssetsAdditionalData["Apy"] = "apy";
|
11
|
+
AssetsAdditionalData["MarketTrend"] = "marketTrend";
|
12
|
+
})(AssetsAdditionalData || (exports.AssetsAdditionalData = AssetsAdditionalData = {}));
|
13
|
+
//# sourceMappingURL=types.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/modularDrawer/data/state-manager/types.ts"],"names":[],"mappings":";;;AAEA,IAAY,cAEX;AAFD,WAAY,cAAc;IACxB,mCAAiB,CAAA;AACnB,CAAC,EAFW,cAAc,8BAAd,cAAc,QAEzB;AAED,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,mCAAW,CAAA;IACX,mDAA2B,CAAA;AAC7B,CAAC,EAHW,oBAAoB,oCAApB,oBAAoB,QAG/B"}
|
@@ -33,7 +33,7 @@ describe("useAssetsData", () => {
|
|
33
33
|
isLoading: true,
|
34
34
|
status: "pending",
|
35
35
|
});
|
36
|
-
const { result } = (0, react_1.renderHook)(() => (0, useAssetsData_1.useAssetsData)({}));
|
36
|
+
const { result } = (0, react_1.renderHook)(() => (0, useAssetsData_1.useAssetsData)({ product: "lld", version: "1.0.0" }));
|
37
37
|
expect(result.current.isLoading).toBe(true);
|
38
38
|
expect(result.current.data).toBe(undefined);
|
39
39
|
});
|
@@ -72,7 +72,7 @@ describe("useAssetsData", () => {
|
|
72
72
|
...defaultMockValues,
|
73
73
|
data: { pages: mockPages, pageParams: [{ cursor: "" }, { cursor: "cursor-2" }] },
|
74
74
|
});
|
75
|
-
const { result } = (0, react_1.renderHook)(() => (0, useAssetsData_1.useAssetsData)({}));
|
75
|
+
const { result } = (0, react_1.renderHook)(() => (0, useAssetsData_1.useAssetsData)({ product: "lld", version: "1.0.0" }));
|
76
76
|
expect(result.current.data).toEqual({
|
77
77
|
cryptoAssets: {
|
78
78
|
bitcoin: { id: "bitcoin", name: "Bitcoin" },
|
@@ -108,7 +108,7 @@ describe("useAssetsData", () => {
|
|
108
108
|
isError: true,
|
109
109
|
status: "error",
|
110
110
|
});
|
111
|
-
const { result } = (0, react_1.renderHook)(() => (0, useAssetsData_1.useAssetsData)({}));
|
111
|
+
const { result } = (0, react_1.renderHook)(() => (0, useAssetsData_1.useAssetsData)({ product: "lld", version: "1.0.0" }));
|
112
112
|
expect(result.current.error).toBe(mockError);
|
113
113
|
expect(result.current.isLoading).toBe(false);
|
114
114
|
});
|
@@ -135,7 +135,7 @@ describe("useAssetsData", () => {
|
|
135
135
|
data: { pages: mockPages, pageParams: [{ cursor: "" }] },
|
136
136
|
fetchNextPage: mockFetchNextPage,
|
137
137
|
});
|
138
|
-
const { result } = (0, react_1.renderHook)(() => (0, useAssetsData_1.useAssetsData)({}));
|
138
|
+
const { result } = (0, react_1.renderHook)(() => (0, useAssetsData_1.useAssetsData)({ product: "lld", version: "1.0.0" }));
|
139
139
|
expect(result.current.loadNext).toBeDefined();
|
140
140
|
result.current.loadNext?.();
|
141
141
|
expect(mockFetchNextPage).toHaveBeenCalled();
|
@@ -161,14 +161,14 @@ describe("useAssetsData", () => {
|
|
161
161
|
...defaultMockValues,
|
162
162
|
data: { pages: mockPages, pageParams: [{ cursor: "" }] },
|
163
163
|
});
|
164
|
-
const { result } = (0, react_1.renderHook)(() => (0, useAssetsData_1.useAssetsData)({}));
|
164
|
+
const { result } = (0, react_1.renderHook)(() => (0, useAssetsData_1.useAssetsData)({ product: "lld", version: "1.0.0" }));
|
165
165
|
expect(result.current.loadNext).toBeUndefined();
|
166
166
|
});
|
167
167
|
it("should return undefined data when no pages exist", () => {
|
168
168
|
mockuseGetAssetsDataInfiniteQuery.mockReturnValue({
|
169
169
|
...defaultMockValues,
|
170
170
|
});
|
171
|
-
const { result } = (0, react_1.renderHook)(() => (0, useAssetsData_1.useAssetsData)({}));
|
171
|
+
const { result } = (0, react_1.renderHook)(() => (0, useAssetsData_1.useAssetsData)({ product: "lld", version: "1.0.0" }));
|
172
172
|
expect(result.current.data).toBeUndefined();
|
173
173
|
expect(result.current.loadNext).toBeUndefined();
|
174
174
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useAssetsData.test.js","sourceRoot":"","sources":["../../../../src/modularDrawer/hooks/__test__/useAssetsData.test.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAEH,kDAAoD;AACpD,oDAAiD;AACjD,sDAA6E;AAE7E,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/C,6BAA6B,EAAE,IAAI,CAAC,EAAE,EAAE;CACzC,CAAC,CAAC,CAAC;AAEJ,MAAM,iCAAiC,GAAG,IAAI,CAAC,MAAM,CAAC,mCAA6B,CAAC,CAAC;AAErF,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE,SAAS;IAChB,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;IACxB,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,KAAK;IACd,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE;IAC5B,sBAAsB,EAAE,KAAK;IAC7B,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;IAClB,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,iCAAiC,CAAC,eAAe,CAAC;YAChD,GAAG,iBAAiB;YACpB,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QAEH,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,kBAAU,EAAC,GAAG,EAAE,CAAC,IAAA,6BAAa,EAAC,EAAE,CAAC,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"useAssetsData.test.js","sourceRoot":"","sources":["../../../../src/modularDrawer/hooks/__test__/useAssetsData.test.ts"],"names":[],"mappings":"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"}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import { CryptoOrTokenCurrency } from "@ledgerhq/types-cryptoassets";
|
3
3
|
import { ApyType } from "../../types";
|
4
|
-
export declare const useLeftApyModule: (
|
4
|
+
export declare const useLeftApyModule: (currencies: CryptoOrTokenCurrency[], ApyIndicator: React.ComponentType<{
|
5
5
|
value: number;
|
6
6
|
type: ApyType;
|
7
|
-
}>) => ({
|
7
|
+
}>) => (import("@ledgerhq/types-cryptoassets").CryptoCurrency | import("@ledgerhq/types-cryptoassets").TokenCurrency | {
|
8
8
|
leftElement: React.JSX.Element;
|
9
9
|
name: string;
|
10
10
|
ticker: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useLeftApyModule.d.ts","sourceRoot":"","sources":["../../../../src/modularDrawer/hooks/modules/useLeftApyModule.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"useLeftApyModule.d.ts","sourceRoot":"","sources":["../../../../src/modularDrawer/hooks/modules/useLeftApyModule.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAgBtC,eAAO,MAAM,gBAAgB,eACf,qBAAqB,EAAE,gBACrB,MAAM,aAAa,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqCpE,CAAC"}
|
@@ -1,18 +1,67 @@
|
|
1
1
|
"use strict";
|
2
|
-
var
|
3
|
-
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
4
24
|
};
|
5
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
26
|
exports.useLeftApyModule = void 0;
|
7
|
-
const react_1 =
|
27
|
+
const react_1 = __importStar(require("react"));
|
28
|
+
const react_redux_1 = require("react-redux");
|
29
|
+
const interestRateSelectors_1 = require("../../data/entities/interestRateSelectors");
|
30
|
+
const isValidApyType = (type) => type === "NRR" || type === "APY" || type === "APR";
|
8
31
|
const createApyItem = ({ value, type, ApyIndicator, }) => react_1.default.createElement(ApyIndicator, { value: value, type: type });
|
9
|
-
const useLeftApyModule = (
|
10
|
-
const
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
32
|
+
const useLeftApyModule = (currencies, ApyIndicator) => {
|
33
|
+
const interestRates = (0, react_redux_1.useSelector)(state => {
|
34
|
+
const rates = {};
|
35
|
+
currencies.forEach(currency => {
|
36
|
+
const apiRate = (0, interestRateSelectors_1.selectInterestRateByCurrency)(state, currency.id);
|
37
|
+
if (apiRate && isValidApyType(apiRate.type)) {
|
38
|
+
rates[currency.id] = {
|
39
|
+
value: apiRate.rate,
|
40
|
+
type: apiRate.type,
|
41
|
+
};
|
42
|
+
}
|
43
|
+
});
|
44
|
+
return rates;
|
45
|
+
});
|
46
|
+
return (0, react_1.useMemo)(() => {
|
47
|
+
return currencies.map(currency => {
|
48
|
+
const interestRate = interestRates[currency.id];
|
49
|
+
const interestRatePercentageRounded = interestRate
|
50
|
+
? Math.round(interestRate.value * 100 * 100) / 100
|
51
|
+
: 0;
|
52
|
+
if (!interestRate || interestRatePercentageRounded <= 0) {
|
53
|
+
return currency;
|
54
|
+
}
|
55
|
+
return {
|
56
|
+
...currency,
|
57
|
+
leftElement: createApyItem({
|
58
|
+
value: interestRatePercentageRounded,
|
59
|
+
type: interestRate.type,
|
60
|
+
ApyIndicator,
|
61
|
+
}),
|
62
|
+
};
|
63
|
+
});
|
64
|
+
}, [currencies, interestRates, ApyIndicator]);
|
16
65
|
};
|
17
66
|
exports.useLeftApyModule = useLeftApyModule;
|
18
67
|
//# sourceMappingURL=useLeftApyModule.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useLeftApyModule.js","sourceRoot":"","sources":["../../../../src/modularDrawer/hooks/modules/useLeftApyModule.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"useLeftApyModule.js","sourceRoot":"","sources":["../../../../src/modularDrawer/hooks/modules/useLeftApyModule.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAuC;AACvC,6CAA0C;AAG1C,qFAAyF;AAEzF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAmB,EAAE,CACvD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,CAAC;AAErD,MAAM,aAAa,GAAG,CAAC,EACrB,KAAK,EACL,IAAI,EACJ,YAAY,GAKb,EAAE,EAAE,CAAC,8BAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;AAE1C,MAAM,gBAAgB,GAAG,CAC9B,UAAmC,EACnC,YAAmE,EACnE,EAAE;IACF,MAAM,aAAa,GAAG,IAAA,yBAAW,EAAC,KAAK,CAAC,EAAE;QACxC,MAAM,KAAK,GAAiE,EAAE,CAAC;QAC/E,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC5B,MAAM,OAAO,GAAG,IAAA,oDAA4B,EAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjE,IAAI,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC3C,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG;oBACnB,KAAK,EAAE,OAAO,CAAC,IAAI;oBACnB,IAAI,EAAE,OAAO,CAAC,IAAI;iBACnB,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAClB,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC/B,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChD,MAAM,6BAA6B,GAAG,YAAY;gBAChD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG;gBAClD,CAAC,CAAC,CAAC,CAAC;YAEN,IAAI,CAAC,YAAY,IAAI,6BAA6B,IAAI,CAAC,EAAE;gBACvD,OAAO,QAAQ,CAAC;aACjB;YAED,OAAO;gBACL,GAAG,QAAQ;gBACX,WAAW,EAAE,aAAa,CAAC;oBACzB,KAAK,EAAE,6BAA6B;oBACpC,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,YAAY;iBACb,CAAC;aACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC;AAvCW,QAAA,gBAAgB,oBAuC3B"}
|