@ledgerhq/live-common 22.2.0-next.0 → 22.2.0-next.1

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":"nft.unit.test.d.ts","sourceRoot":"","sources":["../../../src/families/ethereum/nft.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,oCAAoC,CAAC"}
1
+ {"version":3,"file":"nft.unit.test.d.ts","sourceRoot":"","sources":["../../../src/families/ethereum/nft.unit.test.ts"],"names":[],"mappings":"AACA,OAAO,oCAAoC,CAAC"}
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  exports.__esModule = true;
6
+ var cryptoassets_1 = require("@ledgerhq/cryptoassets");
6
7
  require("../../__tests__/test-helpers/setup");
7
8
  var bignumber_js_1 = __importDefault(require("bignumber.js"));
8
9
  var account_1 = require("../../account");
@@ -126,4 +127,86 @@ describe("OpenSea lazy minting bs", function () {
126
127
  expect(nfts[0].amount.toNumber()).toBe(1);
127
128
  });
128
129
  });
130
+ describe("nft helpers", function () {
131
+ describe("isNftTransaction ", function () {
132
+ test("should return that it's an NFT transaction", function () {
133
+ var transaction = {
134
+ family: "ethereum",
135
+ mode: "erc721.transfer",
136
+ amount: new bignumber_js_1["default"](0),
137
+ recipient: "",
138
+ gasPrice: null,
139
+ userGasLimit: null,
140
+ estimatedGasLimit: null,
141
+ feeCustomUnit: null,
142
+ networkInfo: null
143
+ };
144
+ expect((0, nft_1.isNftTransaction)(transaction)).toEqual(true);
145
+ });
146
+ test("should return that it's not an NFT transaction", function () {
147
+ var transaction = {
148
+ family: "ethereum",
149
+ mode: "compound.supply",
150
+ amount: new bignumber_js_1["default"](0),
151
+ recipient: "",
152
+ gasPrice: null,
153
+ userGasLimit: null,
154
+ estimatedGasLimit: null,
155
+ feeCustomUnit: null,
156
+ networkInfo: null
157
+ };
158
+ expect((0, nft_1.isNftTransaction)(transaction)).toEqual(false);
159
+ });
160
+ test("should not throw with null or undefined", function () {
161
+ expect((0, nft_1.isNftTransaction)(null)).toEqual(false);
162
+ expect((0, nft_1.isNftTransaction)(undefined)).toEqual(false);
163
+ });
164
+ });
165
+ describe("isNFTActive", function () {
166
+ test("should return that's it's activated for ethereum", function () {
167
+ var currency = (0, cryptoassets_1.findCryptoCurrencyByTicker)("ETH");
168
+ expect((0, nft_1.isNFTActive)(currency)).toBe(true);
169
+ });
170
+ test("should return that's it's not activated for ripple", function () {
171
+ var currency = (0, cryptoassets_1.findCryptoCurrencyByTicker)("XRP");
172
+ expect((0, nft_1.isNFTActive)(currency)).toBe(false);
173
+ });
174
+ test("should not throw with null or undefined", function () {
175
+ expect((0, nft_1.isNFTActive)(null)).toBe(false);
176
+ expect((0, nft_1.isNFTActive)(undefined)).toBe(false);
177
+ });
178
+ });
179
+ describe("getNftCapabilities", function () {
180
+ test("should return the capabilities of an NFT ERC1155", function () {
181
+ var nft = {
182
+ id: "",
183
+ contract: "",
184
+ tokenId: "",
185
+ amount: new bignumber_js_1["default"](0),
186
+ currencyId: "ethereum",
187
+ standard: "ERC1155"
188
+ };
189
+ expect((0, nft_1.getNftCapabilities)(nft)).toEqual(expect.objectContaining({
190
+ hasQuantity: true
191
+ }));
192
+ });
193
+ test("should return the capabilities of an NFT ERC721", function () {
194
+ var nft = {
195
+ id: "",
196
+ contract: "",
197
+ tokenId: "",
198
+ amount: new bignumber_js_1["default"](0),
199
+ currencyId: "ethereum",
200
+ standard: "ERC721"
201
+ };
202
+ expect((0, nft_1.getNftCapabilities)(nft)).toEqual(expect.objectContaining({
203
+ hasQuantity: false
204
+ }));
205
+ });
206
+ test("should not throw with null or undefined", function () {
207
+ expect((0, nft_1.getNftCapabilities)(null)).toMatchObject({});
208
+ expect((0, nft_1.getNftCapabilities)(undefined)).toMatchObject({});
209
+ });
210
+ });
211
+ });
129
212
  //# sourceMappingURL=nft.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nft.unit.test.js","sourceRoot":"","sources":["../../../src/families/ethereum/nft.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nft.unit.test.js","sourceRoot":"","sources":["../../../src/families/ethereum/nft.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
- import { Transaction, CryptoCurrency, ProtoNFT } from "../types";
2
- export declare const isNftTransaction: (transaction: Transaction) => boolean;
3
- export declare function isNFTActive(currency: CryptoCurrency): boolean;
4
- export declare const getNftCapabilities: (nft: ProtoNFT) => {};
1
+ import { Transaction, CryptoCurrency, ProtoNFT, NFTStandard } from "../types";
2
+ export declare const isNftTransaction: (transaction: Transaction | undefined | null) => boolean;
3
+ export declare function isNFTActive(currency: CryptoCurrency | undefined | null): boolean;
4
+ declare const nftCapabilities: Record<string, NFTStandard[]>;
5
+ declare type NFTCapabilty = keyof typeof nftCapabilities;
6
+ export declare const getNftCapabilities: (nft: ProtoNFT | undefined | null) => Record<NFTCapabilty, boolean>;
7
+ export {};
5
8
  //# sourceMappingURL=support.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../../src/nft/support.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGjE,eAAO,MAAM,gBAAgB,gBAAiB,WAAW,KAAG,OAM3D,CAAC;AAEF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAE7D;AAMD,eAAO,MAAM,kBAAkB,QAAS,QAAQ,OAO7C,CAAC"}
1
+ {"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../../src/nft/support.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG9E,eAAO,MAAM,gBAAgB,gBACd,WAAW,GAAG,SAAS,GAAG,IAAI,KAC1C,OAMF,CAAC;AAEF,wBAAgB,WAAW,CACzB,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,GAC1C,OAAO,CAET;AAED,QAAA,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAElD,CAAC;AAEF,aAAK,YAAY,GAAG,MAAM,OAAO,eAAe,CAAC;AAEjD,eAAO,MAAM,kBAAkB,QACxB,QAAQ,GAAG,SAAS,GAAG,IAAI,KAC/B,OAAO,YAAY,EAAE,OAAO,CAO5B,CAAC"}
@@ -30,14 +30,14 @@ exports.__esModule = true;
30
30
  exports.getNftCapabilities = exports.isNFTActive = exports.isNftTransaction = void 0;
31
31
  var env_1 = require("../env");
32
32
  var isNftTransaction = function (transaction) {
33
- if (transaction.family === "ethereum") {
34
- return ["erc721.transfer", "erc1155.transfer"].includes(transaction.mode);
33
+ if ((transaction === null || transaction === void 0 ? void 0 : transaction.family) === "ethereum") {
34
+ return ["erc721.transfer", "erc1155.transfer"].includes(transaction === null || transaction === void 0 ? void 0 : transaction.mode);
35
35
  }
36
36
  return false;
37
37
  };
38
38
  exports.isNftTransaction = isNftTransaction;
39
39
  function isNFTActive(currency) {
40
- return (0, env_1.getEnv)("NFT_CURRENCIES").split(",").includes(currency.id);
40
+ return (0, env_1.getEnv)("NFT_CURRENCIES").split(",").includes(currency === null || currency === void 0 ? void 0 : currency.id);
41
41
  }
42
42
  exports.isNFTActive = isNFTActive;
43
43
  var nftCapabilities = {
@@ -47,7 +47,7 @@ var getNftCapabilities = function (nft) {
47
47
  return Object.entries(nftCapabilities).reduce(function (acc, _a) {
48
48
  var _b;
49
49
  var _c = __read(_a, 2), capability = _c[0], standards = _c[1];
50
- return (__assign(__assign({}, acc), (_b = {}, _b[capability] = standards.includes(nft.standard), _b)));
50
+ return (__assign(__assign({}, acc), (_b = {}, _b[capability] = (nft === null || nft === void 0 ? void 0 : nft.standard) ? standards.includes(nft.standard) : false, _b)));
51
51
  }, {});
52
52
  };
53
53
  exports.getNftCapabilities = getNftCapabilities;
@@ -1 +1 @@
1
- {"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/nft/support.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8BAAgC;AAEzB,IAAM,gBAAgB,GAAG,UAAC,WAAwB;IACvD,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,EAAE;QACrC,OAAO,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KAC3E;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AANW,QAAA,gBAAgB,oBAM3B;AAEF,SAAgB,WAAW,CAAC,QAAwB;IAClD,OAAO,IAAA,YAAM,EAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACnE,CAAC;AAFD,kCAEC;AAED,IAAM,eAAe,GAAG;IACtB,WAAW,EAAE,CAAC,SAAS,CAAC;CACzB,CAAC;AAEK,IAAM,kBAAkB,GAAG,UAAC,GAAa;IAC9C,OAAA,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,CACpC,UAAC,GAAG,EAAE,EAAuB;;YAAvB,KAAA,aAAuB,EAAtB,UAAU,QAAA,EAAE,SAAS,QAAA;QAAM,OAAA,uBAC7B,GAAG,gBACL,UAAU,IAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,OAC9C;IAHgC,CAGhC,EACF,EAAE,CACH;AAND,CAMC,CAAC;AAPS,QAAA,kBAAkB,sBAO3B"}
1
+ {"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/nft/support.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8BAAgC;AAEzB,IAAM,gBAAgB,GAAG,UAC9B,WAA2C;IAE3C,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,MAAK,UAAU,EAAE;QACtC,OAAO,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,CAAC;KAC5E;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AARW,QAAA,gBAAgB,oBAQ3B;AAEF,SAAgB,WAAW,CACzB,QAA2C;IAE3C,OAAO,IAAA,YAAM,EAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,CAAC,CAAC;AACpE,CAAC;AAJD,kCAIC;AAED,IAAM,eAAe,GAAkC;IACrD,WAAW,EAAE,CAAC,SAAS,CAAC;CACzB,CAAC;AAIK,IAAM,kBAAkB,GAAG,UAChC,GAAgC;IAEhC,OAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAqC,CAAC,MAAM,CACzE,UAAC,GAAG,EAAE,EAAuB;;YAAvB,KAAA,aAAuB,EAAtB,UAAU,QAAA,EAAE,SAAS,QAAA;QAAM,OAAA,uBAC7B,GAAG,gBACL,UAAU,IAAG,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,EAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,OACtE;IAHgC,CAGhC,EACF,EAAmC,CACpC;AAND,CAMC,CAAC;AATS,QAAA,kBAAkB,sBAS3B"}
@@ -1,6 +1,6 @@
1
1
  import type BigNumber from "bignumber.js";
2
2
  import { CryptoCurrencyIds } from ".";
3
- export declare type NFTStandards = "ERC721" | "ERC1155";
3
+ export declare type NFTStandard = "ERC721" | "ERC1155";
4
4
  export declare type NFTMediaSizes = "preview" | "big" | "original";
5
5
  export declare type NFTMedias = Record<NFTMediaSizes, {
6
6
  uri: string;
@@ -22,7 +22,7 @@ export declare type ProtoNFT = {
22
22
  tokenId: string;
23
23
  amount: BigNumber;
24
24
  contract: string;
25
- standard: NFTStandards;
25
+ standard: NFTStandard;
26
26
  currencyId: CryptoCurrencyIds;
27
27
  metadata?: NFTMetadata;
28
28
  };
@@ -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,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEhD,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,YAAY,CAAC;IACvB,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"}
@@ -1,5 +1,5 @@
1
1
  import type { BigNumber } from "bignumber.js";
2
- import { NFTStandards } from "./nft";
2
+ import { NFTStandard } from "./nft";
3
3
  export declare type OperationType = "IN" | "OUT" | "NONE" | "CREATE" | "REVEAL" | "DELEGATE" | "UNDELEGATE" | "REDELEGATE" | "REWARD" | "FEES" | "FREEZE" | "UNFREEZE" | "VOTE" | "REWARD_PAYOUT" | "BOND" | "UNBOND" | "WITHDRAW_UNBONDED" | "SET_CONTROLLER" | "SLASH" | "NOMINATE" | "CHILL" | "SUPPLY" | "REDEEM" | "APPROVE" | "OPT_IN" | "OPT_OUT" | "NFT_IN" | "NFT_OUT";
4
4
  export declare type Operation = {
5
5
  id: string;
@@ -13,7 +13,7 @@ export declare type Operation = {
13
13
  blockHash: string | null | undefined;
14
14
  transactionSequenceNumber?: number;
15
15
  accountId: string;
16
- standard?: NFTStandards | string;
16
+ standard?: NFTStandard | string;
17
17
  operator?: string;
18
18
  contract?: string;
19
19
  tokenId?: string;
@@ -37,7 +37,7 @@ export declare type OperationRaw = {
37
37
  transactionSequenceNumber?: number;
38
38
  accountId: string;
39
39
  hasFailed?: boolean;
40
- standard?: NFTStandards | string;
40
+ standard?: NFTStandard | string;
41
41
  operator?: string;
42
42
  contract?: string;
43
43
  tokenId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../src/types/operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC,oBAAY,aAAa,GACrB,IAAI,GACJ,KAAK,GACL,MAAM,GACN,QAAQ,GACR,QAAQ,GAER,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,QAAQ,GAER,MAAM,GACN,QAAQ,GACR,UAAU,GAEV,MAAM,GACN,eAAe,GACf,MAAM,GACN,QAAQ,GACR,mBAAmB,GACnB,gBAAgB,GAChB,OAAO,GACP,UAAU,GACV,OAAO,GAEP,QAAQ,GACR,QAAQ,GACR,SAAS,GAET,QAAQ,GACR,SAAS,GAET,QAAQ,GACR,SAAS,CAAC;AACd,oBAAY,SAAS,GAAG;IAEtB,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,EAAE,MAAM,CAAC;IAKb,IAAI,EAAE,aAAa,CAAC;IAGpB,KAAK,EAAE,SAAS,CAAC;IAEjB,GAAG,EAAE,SAAS,CAAC;IAEf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IAGrB,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEvC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAErC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC,SAAS,EAAE,MAAM,CAAC;IAGlB,QAAQ,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IAEjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,IAAI,EAAE,IAAI,CAAC;IAEX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE3B,SAAS,CAAC,EAAE,OAAO,CAAC;IAGpB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;IAG5B,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC;IAEjC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;CAC7B,CAAC;AACF,oBAAY,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,QAAQ,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE3B,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAG/B,kBAAkB,CAAC,EAAE,YAAY,EAAE,CAAC;IAEpC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;CAChC,CAAC"}
1
+ {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../src/types/operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,oBAAY,aAAa,GACrB,IAAI,GACJ,KAAK,GACL,MAAM,GACN,QAAQ,GACR,QAAQ,GAER,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,QAAQ,GAER,MAAM,GACN,QAAQ,GACR,UAAU,GAEV,MAAM,GACN,eAAe,GACf,MAAM,GACN,QAAQ,GACR,mBAAmB,GACnB,gBAAgB,GAChB,OAAO,GACP,UAAU,GACV,OAAO,GAEP,QAAQ,GACR,QAAQ,GACR,SAAS,GAET,QAAQ,GACR,SAAS,GAET,QAAQ,GACR,SAAS,CAAC;AACd,oBAAY,SAAS,GAAG;IAEtB,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,EAAE,MAAM,CAAC;IAKb,IAAI,EAAE,aAAa,CAAC;IAGpB,KAAK,EAAE,SAAS,CAAC;IAEjB,GAAG,EAAE,SAAS,CAAC;IAEf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IAGrB,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEvC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAErC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC,SAAS,EAAE,MAAM,CAAC;IAGlB,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAEhC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,IAAI,EAAE,IAAI,CAAC;IAEX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE3B,SAAS,CAAC,EAAE,OAAO,CAAC;IAGpB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;IAG5B,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC;IAEjC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;CAC7B,CAAC;AACF,oBAAY,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE3B,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAG/B,kBAAkB,CAAC,EAAE,YAAY,EAAE,CAAC;IAEpC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;CAChC,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": "22.2.0-next.0",
11
+ "version": "22.2.0-next.1",
12
12
  "main": "lib/index.js",
13
13
  "types": "lib/index.d.ts",
14
14
  "license": "Apache-2.0",
@@ -1,10 +1,18 @@
1
+ import { findCryptoCurrencyByTicker } from "@ledgerhq/cryptoassets";
1
2
  import "../../__tests__/test-helpers/setup";
2
3
  import BigNumber from "bignumber.js";
3
4
  import { encodeAccountId, toNFTRaw } from "../../account";
4
5
  import { Operation } from "../../types";
5
6
  import { ProtoNFT } from "../../types/nft";
6
7
  import { mergeNfts } from "../../bridge/jsHelpers";
7
- import { encodeNftId, nftsFromOperations } from "../../nft";
8
+ import {
9
+ encodeNftId,
10
+ getNftCapabilities,
11
+ isNFTActive,
12
+ isNftTransaction,
13
+ nftsFromOperations,
14
+ } from "../../nft";
15
+ import { Transaction } from "./types";
8
16
 
9
17
  describe("nft merging", () => {
10
18
  const makeNFT = (
@@ -147,3 +155,104 @@ describe("OpenSea lazy minting bs", () => {
147
155
  expect(nfts[0].amount.toNumber()).toBe(1);
148
156
  });
149
157
  });
158
+
159
+ describe("nft helpers", () => {
160
+ describe("isNftTransaction ", () => {
161
+ test("should return that it's an NFT transaction", () => {
162
+ const transaction: Transaction = {
163
+ family: "ethereum",
164
+ mode: "erc721.transfer",
165
+ amount: new BigNumber(0),
166
+ recipient: "",
167
+ gasPrice: null,
168
+ userGasLimit: null,
169
+ estimatedGasLimit: null,
170
+ feeCustomUnit: null,
171
+ networkInfo: null,
172
+ };
173
+
174
+ expect(isNftTransaction(transaction)).toEqual(true);
175
+ });
176
+
177
+ test("should return that it's not an NFT transaction", () => {
178
+ const transaction: Transaction = {
179
+ family: "ethereum",
180
+ mode: "compound.supply",
181
+ amount: new BigNumber(0),
182
+ recipient: "",
183
+ gasPrice: null,
184
+ userGasLimit: null,
185
+ estimatedGasLimit: null,
186
+ feeCustomUnit: null,
187
+ networkInfo: null,
188
+ };
189
+
190
+ expect(isNftTransaction(transaction)).toEqual(false);
191
+ });
192
+
193
+ test("should not throw with null or undefined", () => {
194
+ expect(isNftTransaction(null)).toEqual(false);
195
+ expect(isNftTransaction(undefined)).toEqual(false);
196
+ });
197
+ });
198
+
199
+ describe("isNFTActive", () => {
200
+ test("should return that's it's activated for ethereum", () => {
201
+ const currency = findCryptoCurrencyByTicker("ETH");
202
+
203
+ expect(isNFTActive(currency)).toBe(true);
204
+ });
205
+
206
+ test("should return that's it's not activated for ripple", () => {
207
+ const currency = findCryptoCurrencyByTicker("XRP");
208
+
209
+ expect(isNFTActive(currency)).toBe(false);
210
+ });
211
+
212
+ test("should not throw with null or undefined", () => {
213
+ expect(isNFTActive(null)).toBe(false);
214
+ expect(isNFTActive(undefined)).toBe(false);
215
+ });
216
+ });
217
+
218
+ describe("getNftCapabilities", () => {
219
+ test("should return the capabilities of an NFT ERC1155", () => {
220
+ const nft: ProtoNFT = {
221
+ id: "",
222
+ contract: "",
223
+ tokenId: "",
224
+ amount: new BigNumber(0),
225
+ currencyId: "ethereum",
226
+ standard: "ERC1155",
227
+ };
228
+
229
+ expect(getNftCapabilities(nft)).toEqual(
230
+ expect.objectContaining({
231
+ hasQuantity: true,
232
+ })
233
+ );
234
+ });
235
+
236
+ test("should return the capabilities of an NFT ERC721", () => {
237
+ const nft: ProtoNFT = {
238
+ id: "",
239
+ contract: "",
240
+ tokenId: "",
241
+ amount: new BigNumber(0),
242
+ currencyId: "ethereum",
243
+ standard: "ERC721",
244
+ };
245
+
246
+ expect(getNftCapabilities(nft)).toEqual(
247
+ expect.objectContaining({
248
+ hasQuantity: false,
249
+ })
250
+ );
251
+ });
252
+
253
+ test("should not throw with null or undefined", () => {
254
+ expect(getNftCapabilities(null)).toMatchObject({});
255
+ expect(getNftCapabilities(undefined)).toMatchObject({});
256
+ });
257
+ });
258
+ });
@@ -1,27 +1,35 @@
1
- import { Transaction, CryptoCurrency, ProtoNFT } from "../types";
1
+ import { Transaction, CryptoCurrency, ProtoNFT, NFTStandard } from "../types";
2
2
  import { getEnv } from "../env";
3
3
 
4
- export const isNftTransaction = (transaction: Transaction): boolean => {
5
- if (transaction.family === "ethereum") {
6
- return ["erc721.transfer", "erc1155.transfer"].includes(transaction.mode);
4
+ export const isNftTransaction = (
5
+ transaction: Transaction | undefined | null
6
+ ): boolean => {
7
+ if (transaction?.family === "ethereum") {
8
+ return ["erc721.transfer", "erc1155.transfer"].includes(transaction?.mode);
7
9
  }
8
10
 
9
11
  return false;
10
12
  };
11
13
 
12
- export function isNFTActive(currency: CryptoCurrency): boolean {
13
- return getEnv("NFT_CURRENCIES").split(",").includes(currency.id);
14
+ export function isNFTActive(
15
+ currency: CryptoCurrency | undefined | null
16
+ ): boolean {
17
+ return getEnv("NFT_CURRENCIES").split(",").includes(currency?.id);
14
18
  }
15
19
 
16
- const nftCapabilities = {
20
+ const nftCapabilities: Record<string, NFTStandard[]> = {
17
21
  hasQuantity: ["ERC1155"],
18
22
  };
19
23
 
20
- export const getNftCapabilities = (nft: ProtoNFT) =>
21
- Object.entries(nftCapabilities).reduce(
24
+ type NFTCapabilty = keyof typeof nftCapabilities;
25
+
26
+ export const getNftCapabilities = (
27
+ nft: ProtoNFT | undefined | null
28
+ ): Record<NFTCapabilty, boolean> =>
29
+ (Object.entries(nftCapabilities) as [NFTCapabilty, NFTStandard[]][]).reduce(
22
30
  (acc, [capability, standards]) => ({
23
31
  ...acc,
24
- [capability]: standards.includes(nft.standard),
32
+ [capability]: nft?.standard ? standards.includes(nft.standard) : false,
25
33
  }),
26
- {}
34
+ {} as Record<NFTCapabilty, boolean>
27
35
  );
package/src/types/nft.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type BigNumber from "bignumber.js";
2
2
  import { CryptoCurrencyIds } from ".";
3
3
 
4
- export type NFTStandards = "ERC721" | "ERC1155";
4
+ export type NFTStandard = "ERC721" | "ERC1155";
5
5
 
6
6
  export type NFTMediaSizes = "preview" | "big" | "original";
7
7
 
@@ -33,7 +33,7 @@ export type ProtoNFT = {
33
33
  tokenId: string;
34
34
  amount: BigNumber;
35
35
  contract: string;
36
- standard: NFTStandards;
36
+ standard: NFTStandard;
37
37
  currencyId: CryptoCurrencyIds;
38
38
  metadata?: NFTMetadata;
39
39
  };
@@ -1,5 +1,5 @@
1
1
  import type { BigNumber } from "bignumber.js";
2
- import { NFTStandards } from "./nft";
2
+ import { NFTStandard } from "./nft";
3
3
 
4
4
  export type OperationType =
5
5
  | "IN"
@@ -65,7 +65,7 @@ export type Operation = {
65
65
  accountId: string;
66
66
  // --------------------------------------------- properties related to NFTs
67
67
  // the specification used for the transaction's event
68
- standard?: NFTStandards | string;
68
+ standard?: NFTStandard | string;
69
69
  // address of an account/contract that is approved to make the transfer
70
70
  operator?: string;
71
71
  // address of the contract/collection containing an NFT (tokenId)
@@ -102,7 +102,7 @@ export type OperationRaw = {
102
102
  accountId: string;
103
103
  hasFailed?: boolean;
104
104
  // --------------------------------------------- properties related to NFTs
105
- standard?: NFTStandards | string;
105
+ standard?: NFTStandard | string;
106
106
  operator?: string;
107
107
  contract?: string;
108
108
  tokenId?: string;