@ledgerhq/live-common 24.0.0-next.2 → 24.0.0-next.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"defaultFeatures.d.ts","sourceRoot":"","sources":["../../src/featureFlags/defaultFeatures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,eAAO,MAAM,eAAe,EAAE,eA6D7B,CAAC"}
1
+ {"version":3,"file":"defaultFeatures.d.ts","sourceRoot":"","sources":["../../src/featureFlags/defaultFeatures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,eAAO,MAAM,eAAe,EAAE,eAgE7B,CAAC"}
@@ -60,6 +60,9 @@ exports.defaultFeatures = {
60
60
  typeform_url: "https://form.typeform.com/to/Jo7gqcB4?typeform-medium=embed-sdk&typeform-medium-version=next&typeform-embed=popup-blank",
61
61
  support_email: "support@ledger.com"
62
62
  }
63
+ },
64
+ counterValue: {
65
+ enabled: false
63
66
  }
64
67
  };
65
68
  //# sourceMappingURL=defaultFeatures.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaultFeatures.js","sourceRoot":"","sources":["../../src/featureFlags/defaultFeatures.ts"],"names":[],"mappings":";;;AAEa,QAAA,eAAe,GAAoB;IAC9C,KAAK,EAAE;QACL,OAAO,EAAE,KAAK;KACf;IACD,iBAAiB,EAAE;QACjB,OAAO,EAAE,KAAK;KACf;IACD,iBAAiB,EAAE;QACjB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE;YACN,GAAG,EAAE,IAAI;YACT,KAAK,EAAE,KAAK;SACb;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;QACd,MAAM,EAAE;YACN,aAAa,EAAE;gBACb;oBACE,UAAU,EAAE,qBAAqB;oBACjC,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,UAAU;iBACjB;gBACD;oBACE,UAAU,EAAE,+BAA+B;oBAC3C,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,UAAU;iBACjB;gBACD;oBACE,UAAU,EAAE,uBAAuB;oBACnC,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,UAAU;iBACjB;gBACD;oBACE,UAAU,EAAE,cAAc;oBAC1B,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,UAAU,EAAE;gBACV,aAAa,EAAE;oBACb,IAAI,EAAE,EAAE;iBACT;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,EAAE;iBACT;gBACD,4BAA4B,EAAE;oBAC5B,IAAI,EAAE,CAAC;iBACR;gBACD,uBAAuB,EAAE,CAAC;gBAC1B,yBAAyB,EAAE,CAAC;gBAC5B,sCAAsC,EAAE;oBACtC,IAAI,EAAE,CAAC;iBACR;gBACD,6CAA6C,EAAE,CAAC;aACjD;YACD,YAAY,EACV,yHAAyH;YAC3H,aAAa,EAAE,oBAAoB;SACpC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"defaultFeatures.js","sourceRoot":"","sources":["../../src/featureFlags/defaultFeatures.ts"],"names":[],"mappings":";;;AAEa,QAAA,eAAe,GAAoB;IAC9C,KAAK,EAAE;QACL,OAAO,EAAE,KAAK;KACf;IACD,iBAAiB,EAAE;QACjB,OAAO,EAAE,KAAK;KACf;IACD,iBAAiB,EAAE;QACjB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE;YACN,GAAG,EAAE,IAAI;YACT,KAAK,EAAE,KAAK;SACb;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;QACd,MAAM,EAAE;YACN,aAAa,EAAE;gBACb;oBACE,UAAU,EAAE,qBAAqB;oBACjC,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,UAAU;iBACjB;gBACD;oBACE,UAAU,EAAE,+BAA+B;oBAC3C,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,UAAU;iBACjB;gBACD;oBACE,UAAU,EAAE,uBAAuB;oBACnC,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,UAAU;iBACjB;gBACD;oBACE,UAAU,EAAE,cAAc;oBAC1B,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,UAAU,EAAE;gBACV,aAAa,EAAE;oBACb,IAAI,EAAE,EAAE;iBACT;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,EAAE;iBACT;gBACD,4BAA4B,EAAE;oBAC5B,IAAI,EAAE,CAAC;iBACR;gBACD,uBAAuB,EAAE,CAAC;gBAC1B,yBAAyB,EAAE,CAAC;gBAC5B,sCAAsC,EAAE;oBACtC,IAAI,EAAE,CAAC;iBACR;gBACD,6CAA6C,EAAE,CAAC;aACjD;YACD,YAAY,EACV,yHAAyH;YAC3H,aAAa,EAAE,oBAAoB;SACpC;KACF;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;KACf;CACF,CAAC"}
@@ -1,4 +1,4 @@
1
- export declare type FeatureId = "learn" | "pushNotifications" | "llmUsbFirmwareUpdate" | "ratings" | "buyDeviceFromLive" | string;
1
+ export declare type FeatureId = "learn" | "pushNotifications" | "llmUsbFirmwareUpdate" | "ratings" | "counterValue" | "buyDeviceFromLive" | string;
2
2
  export declare type Feature = {
3
3
  enabled: boolean;
4
4
  params?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/featureFlags/types.ts"],"names":[],"mappings":"AACA,oBAAY,SAAS,GACjB,OAAO,GACP,mBAAmB,GACnB,sBAAsB,GACtB,SAAS,GACT,mBAAmB,GACnB,MAAM,CAAC;AAIX,oBAAY,OAAO,GAAG;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,oBAAY,eAAe,GAAG;KAAG,GAAG,IAAI,SAAS,GAAG,OAAO;CAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/featureFlags/types.ts"],"names":[],"mappings":"AACA,oBAAY,SAAS,GACjB,OAAO,GACP,mBAAmB,GACnB,sBAAsB,GACtB,SAAS,GACT,cAAc,GACd,mBAAmB,GACnB,MAAM,CAAC;AAIX,oBAAY,OAAO,GAAG;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,oBAAY,eAAe,GAAG;KAAG,GAAG,IAAI,SAAS,GAAG,OAAO;CAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ProtoNFT, CryptoCurrency, FloorPrice } from "../types";
2
+ export declare const getFloorPrice: (nft: ProtoNFT, currency: CryptoCurrency) => Promise<FloorPrice | null>;
3
+ //# sourceMappingURL=hook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/nft/hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAMrE,eAAO,MAAM,aAAa,QACnB,QAAQ,YACH,cAAc,KACvB,QAAQ,UAAU,GAAG,IAAI,CAmB3B,CAAC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ exports.__esModule = true;
42
+ exports.getFloorPrice = void 0;
43
+ var env_1 = require("../env");
44
+ var network_1 = __importDefault(require("../network"));
45
+ var FLOOR_PRICE_CURRENCIES = new Set(["ethereum"]);
46
+ var getFloorPrice = function (nft, currency) { return __awaiter(void 0, void 0, void 0, function () {
47
+ var data, err_1;
48
+ var _a;
49
+ return __generator(this, function (_b) {
50
+ switch (_b.label) {
51
+ case 0:
52
+ if (!FLOOR_PRICE_CURRENCIES.has(nft.currencyId)) {
53
+ return [2 /*return*/, null];
54
+ }
55
+ _b.label = 1;
56
+ case 1:
57
+ _b.trys.push([1, 3, , 4]);
58
+ return [4 /*yield*/, (0, network_1["default"])({
59
+ method: "GET",
60
+ url: "".concat((0, env_1.getEnv)("NFT_ETH_METADATA_SERVICE"), "/v1/marketdata/").concat(nft.currencyId, "/").concat((_a = currency === null || currency === void 0 ? void 0 : currency.ethereumLikeInfo) === null || _a === void 0 ? void 0 : _a.chainId, "/contract/").concat(nft.contract, "/floor-price")
61
+ })];
62
+ case 2:
63
+ data = (_b.sent()).data;
64
+ return [2 /*return*/, data];
65
+ case 3:
66
+ err_1 = _b.sent();
67
+ return [2 /*return*/, null];
68
+ case 4: return [2 /*return*/];
69
+ }
70
+ });
71
+ }); };
72
+ exports.getFloorPrice = getFloorPrice;
73
+ //# sourceMappingURL=hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/nft/hook.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8BAAgC;AAChC,uDAAiC;AAEjC,IAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAE9C,IAAM,aAAa,GAAG,UAC3B,GAAa,EACb,QAAwB;;;;;;gBAExB,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;oBAC/C,sBAAO,IAAI,EAAC;iBACb;;;;gBAGkB,qBAAM,IAAA,oBAAO,EAAC;wBAC7B,MAAM,EAAE,KAAK;wBACb,GAAG,EAAE,UAAG,IAAA,YAAM,EAAC,0BAA0B,CAAC,4BACxC,GAAG,CAAC,UAAU,cACZ,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,gBAAgB,0CAAE,OAAO,uBACrC,GAAG,CAAC,QAAQ,iBACA;qBACf,CAAC,EAAA;;gBAPM,IAAI,GAAK,CAAA,SAOf,CAAA,KAPU;gBASZ,sBAAO,IAAI,EAAC;;;gBAEZ,sBAAO,IAAI,EAAC;;;;KAEf,CAAC;AAtBW,QAAA,aAAa,iBAsBxB"}
@@ -1,5 +1,6 @@
1
1
  export * from "./nftId";
2
2
  export * from "./helpers";
3
3
  export * from "./support";
4
+ export * from "./hook";
4
5
  export * from "./NftMetadataProvider";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nft/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nft/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC"}
package/lib/nft/index.js CHANGED
@@ -17,5 +17,6 @@ exports.__esModule = true;
17
17
  __exportStar(require("./nftId"), exports);
18
18
  __exportStar(require("./helpers"), exports);
19
19
  __exportStar(require("./support"), exports);
20
+ __exportStar(require("./hook"), exports);
20
21
  __exportStar(require("./NftMetadataProvider"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nft/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,4CAA0B;AAC1B,4CAA0B;AAC1B,wDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nft/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,4CAA0B;AAC1B,4CAA0B;AAC1B,yCAAuB;AACvB,wDAAsC"}
@@ -53,4 +53,8 @@ export declare type NFTCollectionMetadataResponse = {
53
53
  tokenName: string | null;
54
54
  } | null;
55
55
  };
56
+ export declare type FloorPrice = {
57
+ ticker: string;
58
+ value: number;
59
+ };
56
60
  //# sourceMappingURL=nft.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nft.d.ts","sourceRoot":"","sources":["../../src/types/nft.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAEtC,oBAAY,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/C,oBAAY,aAAa,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,CAAC;AAE3D,oBAAY,SAAS,GAAG,MAAM,CAC5B,aAAa,EACb;IACE,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB,CACF,CAAC;AAEF,oBAAY,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;CAClD,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,oBAAY,QAAQ,GAAG;IAErB,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB,CAAC;AAEF,oBAAY,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG;IAC7C,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,oBAAY,yBAAyB,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAE3E,oBAAY,mBAAmB,GAAG;IAChC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACxB,MAAM,CAAC,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,MAAM,EAAE,SAAS,CAAC;QAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACnD,KAAK,EAAE,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;KAClD,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,oBAAY,6BAA6B,GAAG;IAC1C,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACxB,MAAM,CAAC,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,GAAG,IAAI,CAAC;CACV,CAAC"}
1
+ {"version":3,"file":"nft.d.ts","sourceRoot":"","sources":["../../src/types/nft.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAEtC,oBAAY,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/C,oBAAY,aAAa,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,CAAC;AAE3D,oBAAY,SAAS,GAAG,MAAM,CAC5B,aAAa,EACb;IACE,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB,CACF,CAAC;AAEF,oBAAY,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;CAClD,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,oBAAY,QAAQ,GAAG;IAErB,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB,CAAC;AAEF,oBAAY,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG;IAC7C,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,oBAAY,yBAAyB,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAE3E,oBAAY,mBAAmB,GAAG;IAChC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACxB,MAAM,CAAC,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,MAAM,EAAE,SAAS,CAAC;QAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACnD,KAAK,EAAE,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;KAClD,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,oBAAY,6BAA6B,GAAG;IAC1C,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACxB,MAAM,CAAC,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,oBAAY,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "type": "git",
9
9
  "url": "https://github.com/LedgerHQ/ledger-live-common"
10
10
  },
11
- "version": "24.0.0-next.2",
11
+ "version": "24.0.0-next.3",
12
12
  "main": "lib/index.js",
13
13
  "types": "lib/index.d.ts",
14
14
  "license": "Apache-2.0",
@@ -61,4 +61,7 @@ export const defaultFeatures: DefaultFeatures = {
61
61
  support_email: "support@ledger.com",
62
62
  },
63
63
  },
64
+ counterValue: {
65
+ enabled: false,
66
+ },
64
67
  };
@@ -4,6 +4,7 @@ export type FeatureId =
4
4
  | "pushNotifications"
5
5
  | "llmUsbFirmwareUpdate"
6
6
  | "ratings"
7
+ | "counterValue"
7
8
  | "buyDeviceFromLive"
8
9
  | string;
9
10
 
@@ -0,0 +1,29 @@
1
+ import type { ProtoNFT, CryptoCurrency, FloorPrice } from "../types";
2
+ import { getEnv } from "../env";
3
+ import network from "../network";
4
+
5
+ const FLOOR_PRICE_CURRENCIES = new Set(["ethereum"]);
6
+
7
+ export const getFloorPrice = async (
8
+ nft: ProtoNFT,
9
+ currency: CryptoCurrency
10
+ ): Promise<FloorPrice | null> => {
11
+ if (!FLOOR_PRICE_CURRENCIES.has(nft.currencyId)) {
12
+ return null;
13
+ }
14
+
15
+ try {
16
+ const { data } = await network({
17
+ method: "GET",
18
+ url: `${getEnv("NFT_ETH_METADATA_SERVICE")}/v1/marketdata/${
19
+ nft.currencyId
20
+ }/${currency?.ethereumLikeInfo?.chainId}/contract/${
21
+ nft.contract
22
+ }/floor-price`,
23
+ });
24
+
25
+ return data;
26
+ } catch (err: any) {
27
+ return null;
28
+ }
29
+ };
package/src/nft/index.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./nftId";
2
2
  export * from "./helpers";
3
3
  export * from "./support";
4
+ export * from "./hook";
4
5
  export * from "./NftMetadataProvider";
package/src/types/nft.ts CHANGED
@@ -69,3 +69,8 @@ export type NFTCollectionMetadataResponse = {
69
69
  tokenName: string | null;
70
70
  } | null;
71
71
  };
72
+
73
+ export type FloorPrice = {
74
+ ticker: string;
75
+ value: number;
76
+ };