@ledgerhq/hw-app-eth 6.22.3 → 6.22.4

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.
Files changed (57) hide show
  1. package/.turbo/turbo-build.log +2 -0
  2. package/lib/services/ledger/index.js +49 -37
  3. package/lib/services/ledger/index.js.map +1 -1
  4. package/lib/services/ledger/nfts.d.ts.map +1 -1
  5. package/lib/services/ledger/nfts.js +11 -7
  6. package/lib/services/ledger/nfts.js.map +1 -1
  7. package/lib-es/Eth.d.ts +0 -0
  8. package/lib-es/Eth.d.ts.map +0 -0
  9. package/lib-es/Eth.js +0 -0
  10. package/lib-es/Eth.js.map +0 -0
  11. package/lib-es/contracts.d.ts +5 -2
  12. package/lib-es/contracts.d.ts.map +1 -1
  13. package/lib-es/contracts.js +26 -19
  14. package/lib-es/contracts.js.map +1 -1
  15. package/lib-es/erc20.d.ts +0 -0
  16. package/lib-es/erc20.d.ts.map +0 -0
  17. package/lib-es/erc20.js +0 -0
  18. package/lib-es/erc20.js.map +0 -0
  19. package/lib-es/services/ledger/contracts.d.ts +0 -0
  20. package/lib-es/services/ledger/contracts.d.ts.map +0 -0
  21. package/lib-es/services/ledger/contracts.js +0 -0
  22. package/lib-es/services/ledger/contracts.js.map +0 -0
  23. package/lib-es/services/ledger/erc20.d.ts +0 -0
  24. package/lib-es/services/ledger/erc20.d.ts.map +0 -0
  25. package/lib-es/services/ledger/erc20.js +0 -0
  26. package/lib-es/services/ledger/erc20.js.map +0 -0
  27. package/lib-es/services/ledger/index.d.ts +0 -0
  28. package/lib-es/services/ledger/index.d.ts.map +0 -0
  29. package/lib-es/services/ledger/index.js +49 -37
  30. package/lib-es/services/ledger/index.js.map +1 -1
  31. package/lib-es/services/ledger/loadConfig.d.ts +0 -0
  32. package/lib-es/services/ledger/loadConfig.d.ts.map +0 -0
  33. package/lib-es/services/ledger/loadConfig.js +0 -0
  34. package/lib-es/services/ledger/loadConfig.js.map +0 -0
  35. package/lib-es/services/ledger/nfts.d.ts +0 -0
  36. package/lib-es/services/ledger/nfts.d.ts.map +1 -1
  37. package/lib-es/services/ledger/nfts.js +11 -7
  38. package/lib-es/services/ledger/nfts.js.map +1 -1
  39. package/lib-es/services/types.d.ts +0 -0
  40. package/lib-es/services/types.d.ts.map +0 -0
  41. package/lib-es/services/types.js +0 -0
  42. package/lib-es/services/types.js.map +0 -0
  43. package/lib-es/utils.d.ts +0 -0
  44. package/lib-es/utils.d.ts.map +0 -0
  45. package/lib-es/utils.js +0 -0
  46. package/lib-es/utils.js.map +0 -0
  47. package/package.json +3 -3
  48. package/src/services/ledger/index.ts +2 -2
  49. package/src/services/ledger/nfts.ts +12 -3
  50. package/lib-es/loadConfig.d.ts +0 -7
  51. package/lib-es/loadConfig.d.ts.map +0 -1
  52. package/lib-es/loadConfig.js +0 -20
  53. package/lib-es/loadConfig.js.map +0 -1
  54. package/lib-es/nfts.d.ts +0 -11
  55. package/lib-es/nfts.d.ts.map +0 -1
  56. package/lib-es/nfts.js +0 -94
  57. package/lib-es/nfts.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ @ledgerhq/hw-app-eth:build: cache hit, replaying output 715ee6b450935ba7
2
+ @ledgerhq/hw-app-eth:build: $ NODE_ENV=production tsc && tsc -m ES6 --outDir lib-es
@@ -68,7 +68,7 @@ var ledgerService = {
68
68
  function setPlugin(dataHex) {
69
69
  resolution.plugin.push(dataHex);
70
70
  }
71
- var resolution, rawTx, _a, decodedTx, chainIdTruncated, provideForContract, selector, nftPluginPayload, _b, infos, _c, plugin, payload, signature, erc20OfInterest, abi, contract, args, erc20OfInterest_1, erc20OfInterest_1_1, path, address;
71
+ var resolution, rawTx, _a, decodedTx, chainIdTruncated, provideForContract, selector, nftPluginPayload, _b, infos, _c, plugin, payload, signature, erc20OfInterest, abi, contract, args, erc20OfInterest_1, erc20OfInterest_1_1, path, address, e_1_1;
72
72
  var e_1, _d;
73
73
  return __generator(this, function (_e) {
74
74
  switch (_e.label) {
@@ -119,7 +119,7 @@ var ledgerService = {
119
119
  }
120
120
  });
121
121
  }); };
122
- if (!(decodedTx.data.length >= 10)) return [3 /*break*/, 9];
122
+ if (!(decodedTx.data.length >= 10)) return [3 /*break*/, 19];
123
123
  selector = decodedTx.data.substring(0, 10);
124
124
  if (!resolutionConfig.nft) return [3 /*break*/, 2];
125
125
  return [4 /*yield*/, (0, nfts_1.loadNftPlugin)(decodedTx.to, selector, chainIdTruncated, loadConfig)];
@@ -133,7 +133,7 @@ var ledgerService = {
133
133
  nftPluginPayload = _b;
134
134
  if (!nftPluginPayload) return [3 /*break*/, 4];
135
135
  setPlugin(nftPluginPayload);
136
- return [3 /*break*/, 8];
136
+ return [3 /*break*/, 17];
137
137
  case 4:
138
138
  if (!resolutionConfig.externalPlugins) return [3 /*break*/, 6];
139
139
  return [4 /*yield*/, (0, contracts_1.loadInfosForContractMethod)(decodedTx.to, selector, chainIdTruncated, loadConfig)];
@@ -145,44 +145,56 @@ var ledgerService = {
145
145
  _e.label = 7;
146
146
  case 7:
147
147
  infos = _c;
148
- if (infos) {
149
- plugin = infos.plugin, payload = infos.payload, signature = infos.signature, erc20OfInterest = infos.erc20OfInterest, abi = infos.abi;
150
- if (plugin) {
151
- (0, logs_1.log)("ethereum", "found plugin for " + selector);
152
- setExternalPlugin(payload, signature);
153
- }
154
- if (erc20OfInterest && erc20OfInterest.length && abi) {
155
- contract = new ethers_1.ethers.utils.Interface(abi);
156
- args = contract.parseTransaction(decodedTx).args;
157
- try {
158
- for (erc20OfInterest_1 = __values(erc20OfInterest), erc20OfInterest_1_1 = erc20OfInterest_1.next(); !erc20OfInterest_1_1.done; erc20OfInterest_1_1 = erc20OfInterest_1.next()) {
159
- path = erc20OfInterest_1_1.value;
160
- address = path.split(".").reduce(function (value, seg) {
161
- if (seg === "-1" && Array.isArray(value)) {
162
- return value[value.length - 1];
163
- }
164
- return value[seg];
165
- }, args);
166
- provideForContract(address);
167
- }
168
- }
169
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
170
- finally {
171
- try {
172
- if (erc20OfInterest_1_1 && !erc20OfInterest_1_1.done && (_d = erc20OfInterest_1["return"])) _d.call(erc20OfInterest_1);
173
- }
174
- finally { if (e_1) throw e_1.error; }
175
- }
176
- }
177
- }
178
- else {
179
- (0, logs_1.log)("ethereum", "no infos for selector " + selector);
148
+ if (!infos) return [3 /*break*/, 16];
149
+ plugin = infos.plugin, payload = infos.payload, signature = infos.signature, erc20OfInterest = infos.erc20OfInterest, abi = infos.abi;
150
+ if (plugin) {
151
+ (0, logs_1.log)("ethereum", "found plugin for " + selector);
152
+ setExternalPlugin(payload, signature);
180
153
  }
154
+ if (!(erc20OfInterest && erc20OfInterest.length && abi)) return [3 /*break*/, 15];
155
+ contract = new ethers_1.ethers.utils.Interface(abi);
156
+ args = contract.parseTransaction(decodedTx).args;
181
157
  _e.label = 8;
182
158
  case 8:
183
- provideForContract(decodedTx.to);
159
+ _e.trys.push([8, 13, 14, 15]);
160
+ erc20OfInterest_1 = __values(erc20OfInterest), erc20OfInterest_1_1 = erc20OfInterest_1.next();
184
161
  _e.label = 9;
185
- case 9: return [2 /*return*/, resolution];
162
+ case 9:
163
+ if (!!erc20OfInterest_1_1.done) return [3 /*break*/, 12];
164
+ path = erc20OfInterest_1_1.value;
165
+ address = path.split(".").reduce(function (value, seg) {
166
+ if (seg === "-1" && Array.isArray(value)) {
167
+ return value[value.length - 1];
168
+ }
169
+ return value[seg];
170
+ }, args);
171
+ return [4 /*yield*/, provideForContract(address)];
172
+ case 10:
173
+ _e.sent();
174
+ _e.label = 11;
175
+ case 11:
176
+ erc20OfInterest_1_1 = erc20OfInterest_1.next();
177
+ return [3 /*break*/, 9];
178
+ case 12: return [3 /*break*/, 15];
179
+ case 13:
180
+ e_1_1 = _e.sent();
181
+ e_1 = { error: e_1_1 };
182
+ return [3 /*break*/, 15];
183
+ case 14:
184
+ try {
185
+ if (erc20OfInterest_1_1 && !erc20OfInterest_1_1.done && (_d = erc20OfInterest_1["return"])) _d.call(erc20OfInterest_1);
186
+ }
187
+ finally { if (e_1) throw e_1.error; }
188
+ return [7 /*endfinally*/];
189
+ case 15: return [3 /*break*/, 17];
190
+ case 16:
191
+ (0, logs_1.log)("ethereum", "no infos for selector " + selector);
192
+ _e.label = 17;
193
+ case 17: return [4 /*yield*/, provideForContract(decodedTx.to)];
194
+ case 18:
195
+ _e.sent();
196
+ _e.label = 19;
197
+ case 19: return [2 /*return*/, resolution];
186
198
  }
187
199
  });
188
200
  }); }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/ledger/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/ledger/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nfts.d.ts","sourceRoot":"","sources":["../../../src/services/ledger/nfts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,aAAK,OAAO,GAAG;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAYF,eAAO,MAAM,UAAU,oBACJ,MAAM,WACd,MAAM,kBACC,UAAU,KACzB,QAAQ,OAAO,GAAG,SAAS,CAkB7B,CAAC;AAEF,eAAO,MAAM,aAAa,oBACP,MAAM,YACb,MAAM,WACP,MAAM,kBACC,UAAU,KACzB,QAAQ,MAAM,GAAG,SAAS,CAa5B,CAAC"}
1
+ {"version":3,"file":"nfts.d.ts","sourceRoot":"","sources":["../../../src/services/ledger/nfts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,aAAK,OAAO,GAAG;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAYF,eAAO,MAAM,UAAU,oBACJ,MAAM,WACd,MAAM,kBACC,UAAU,KACzB,QAAQ,OAAO,GAAG,SAAS,CA2B7B,CAAC;AAEF,eAAO,MAAM,aAAa,oBACP,MAAM,YACb,MAAM,WACP,MAAM,kBACC,UAAU,KACzB,QAAQ,MAAM,GAAG,SAAS,CAa5B,CAAC"}
@@ -50,9 +50,10 @@ function axiosErrorHandling(e) {
50
50
  throw e;
51
51
  }
52
52
  var getNFTInfo = function (contractAddress, chainId, userLoadConfig) { return __awaiter(void 0, void 0, void 0, function () {
53
- var nftExplorerBaseURL, url, response, payload, collectionNameLength, collectionName;
54
- return __generator(this, function (_a) {
55
- switch (_a.label) {
53
+ var nftExplorerBaseURL, url, response, payload, collectionNameLength, collectionNameHex, collectionName;
54
+ var _a;
55
+ return __generator(this, function (_b) {
56
+ switch (_b.label) {
56
57
  case 0:
57
58
  nftExplorerBaseURL = (0, loadConfig_1.getLoadConfig)(userLoadConfig).nftExplorerBaseURL;
58
59
  if (!nftExplorerBaseURL)
@@ -62,15 +63,18 @@ var getNFTInfo = function (contractAddress, chainId, userLoadConfig) { return __
62
63
  .get(url)
63
64
  .then(function (r) { return r.data; })["catch"](axiosErrorHandling)];
64
65
  case 1:
65
- response = _a.sent();
66
+ response = _b.sent();
66
67
  if (!response)
67
68
  return [2 /*return*/];
68
69
  payload = response["payload"];
69
- collectionNameLength = Number(payload.slice(2, 3));
70
- collectionName = payload.slice(3, 3 + collectionNameLength).toString();
70
+ collectionNameLength = parseInt(payload.slice(4, 6), 16);
71
+ collectionNameHex = payload.substr(6, collectionNameLength * 2);
72
+ collectionName = (_a = collectionNameHex
73
+ .match(/.{2}/g) // split every 2 characters
74
+ ) === null || _a === void 0 ? void 0 : _a.reduce(function (acc, curr) { return (acc += String.fromCharCode(parseInt(curr, 16))); }, "");
71
75
  return [2 /*return*/, {
72
76
  contractAddress: contractAddress,
73
- collectionName: collectionName,
77
+ collectionName: collectionName || "",
74
78
  data: payload
75
79
  }];
76
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nfts.js","sourceRoot":"","sources":["../../../src/services/ledger/nfts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,2CAA6C;AAa7C,SAAS,kBAAkB,CAAC,CAAC;IAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,CAAC,CAAC;AACV,CAAC;AAEM,IAAM,UAAU,GAAG,UACxB,eAAuB,EACvB,OAAe,EACf,cAA0B;;;;;gBAElB,kBAAkB,GAAK,IAAA,0BAAa,EAAC,cAAc,CAAC,mBAAlC,CAAmC;gBAC7D,IAAI,CAAC,kBAAkB;oBAAE,sBAAO;gBAC1B,GAAG,GAAG,UAAG,kBAAkB,cAAI,OAAO,wBAAc,eAAe,CAAE,CAAC;gBAC3D,qBAAM,kBAAK;yBACzB,GAAG,CAAkB,GAAG,CAAC;yBACzB,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CACnB,OAAK,CAAA,CAAC,kBAAkB,CAAC,EAAA;;gBAHtB,QAAQ,GAAG,SAGW;gBAC5B,IAAI,CAAC,QAAQ;oBAAE,sBAAO;gBAEhB,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC9B,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnD,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC7E,sBAAO;wBACL,eAAe,EAAE,eAAe;wBAChC,cAAc,EAAE,cAAc;wBAC9B,IAAI,EAAE,OAAO;qBACd,EAAC;;;KACH,CAAC;AAtBW,QAAA,UAAU,cAsBrB;AAEK,IAAM,aAAa,GAAG,UAC3B,eAAuB,EACvB,QAAgB,EAChB,OAAe,EACf,cAA0B;;;;;gBAElB,kBAAkB,GAAK,IAAA,0BAAa,EAAC,cAAc,CAAC,mBAAlC,CAAmC;gBAC7D,IAAI,CAAC,kBAAkB;oBAAE,sBAAO;gBAC1B,GAAG,GAAG,UAAG,kBAAkB,cAAI,OAAO,wBAAc,eAAe,8BAAoB,QAAQ,CAAE,CAAC;gBAEvF,qBAAM,kBAAK;yBACzB,GAAG,CAAkB,GAAG,CAAC;yBACzB,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CACnB,OAAK,CAAA,CAAC,kBAAkB,CAAC,EAAA;;gBAHtB,QAAQ,GAAG,SAGW;gBAC5B,IAAI,CAAC,QAAQ;oBAAE,sBAAO;gBAEhB,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpC,sBAAO,OAAO,EAAC;;;KAChB,CAAC;AAlBW,QAAA,aAAa,iBAkBxB"}
1
+ {"version":3,"file":"nfts.js","sourceRoot":"","sources":["../../../src/services/ledger/nfts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,2CAA6C;AAa7C,SAAS,kBAAkB,CAAC,CAAC;IAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,CAAC,CAAC;AACV,CAAC;AAEM,IAAM,UAAU,GAAG,UACxB,eAAuB,EACvB,OAAe,EACf,cAA0B;;;;;;gBAElB,kBAAkB,GAAK,IAAA,0BAAa,EAAC,cAAc,CAAC,mBAAlC,CAAmC;gBAC7D,IAAI,CAAC,kBAAkB;oBAAE,sBAAO;gBAC1B,GAAG,GAAG,UAAG,kBAAkB,cAAI,OAAO,wBAAc,eAAe,CAAE,CAAC;gBAC3D,qBAAM,kBAAK;yBACzB,GAAG,CAAkB,GAAG,CAAC;yBACzB,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CACnB,OAAK,CAAA,CAAC,kBAAkB,CAAC,EAAA;;gBAHtB,QAAQ,GAAG,SAGW;gBAC5B,IAAI,CAAC,QAAQ;oBAAE,sBAAO;gBAGhB,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAE9B,oBAAoB,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzD,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,oBAAoB,GAAG,CAAC,CAAC,CAAC;gBAChE,cAAc,GAAG,MAAA,iBAAiB;qBACrC,KAAK,CAAC,OAAO,CAAC,CAAC,2BAA2B;0DACzC,MAAM,CACN,UAAC,GAAG,EAAE,IAAI,IAAK,OAAA,CAAC,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAhD,CAAgD,EAC/D,EAAE,CACH,CAAC;gBAEJ,sBAAO;wBACL,eAAe,EAAE,eAAe;wBAChC,cAAc,EAAE,cAAc,IAAI,EAAE;wBACpC,IAAI,EAAE,OAAO;qBACd,EAAC;;;KACH,CAAC;AA/BW,QAAA,UAAU,cA+BrB;AAEK,IAAM,aAAa,GAAG,UAC3B,eAAuB,EACvB,QAAgB,EAChB,OAAe,EACf,cAA0B;;;;;gBAElB,kBAAkB,GAAK,IAAA,0BAAa,EAAC,cAAc,CAAC,mBAAlC,CAAmC;gBAC7D,IAAI,CAAC,kBAAkB;oBAAE,sBAAO;gBAC1B,GAAG,GAAG,UAAG,kBAAkB,cAAI,OAAO,wBAAc,eAAe,8BAAoB,QAAQ,CAAE,CAAC;gBAEvF,qBAAM,kBAAK;yBACzB,GAAG,CAAkB,GAAG,CAAC;yBACzB,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CACnB,OAAK,CAAA,CAAC,kBAAkB,CAAC,EAAA;;gBAHtB,QAAQ,GAAG,SAGW;gBAC5B,IAAI,CAAC,QAAQ;oBAAE,sBAAO;gBAEhB,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpC,sBAAO,OAAO,EAAC;;;KAChB,CAAC;AAlBW,QAAA,aAAa,iBAkBxB"}
package/lib-es/Eth.d.ts CHANGED
File without changes
File without changes
package/lib-es/Eth.js CHANGED
File without changes
package/lib-es/Eth.js.map CHANGED
File without changes
@@ -1,4 +1,3 @@
1
- import type { LoadConfig } from "./loadConfig";
2
1
  declare type ContractMethod = {
3
2
  payload: string;
4
3
  signature: string;
@@ -6,9 +5,13 @@ declare type ContractMethod = {
6
5
  erc20OfInterest: string[];
7
6
  abi: any;
8
7
  };
8
+ export declare type PluginsLoadConfig = {
9
+ baseURL?: string | null;
10
+ extraPlugins?: any | null;
11
+ };
9
12
  /**
10
13
  * Retrieve the metadatas a given contract address and a method selector
11
14
  */
12
- export declare const loadInfosForContractMethod: (contractAddress: string, selector: string, chainId: number, userLoadConfig: LoadConfig) => Promise<ContractMethod | undefined>;
15
+ export declare const loadInfosForContractMethod: (contractAddress: string, selector: string, chainId: number, userPluginsLoadConfig: PluginsLoadConfig) => Promise<ContractMethod | undefined>;
13
16
  export {};
14
17
  //# sourceMappingURL=contracts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,aAAK,cAAc,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,GAAG,EAAE,GAAG,CAAC;CACV,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,oBACpB,MAAM,YACb,MAAM,WACP,MAAM,kBACC,UAAU,KACzB,QAAQ,cAAc,GAAG,SAAS,CAsCpC,CAAC"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAEA,aAAK,cAAc,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,GAAG,EAAE,GAAG,CAAC;CACV,CAAC;AAGF,oBAAY,iBAAiB,GAAG;IAG9B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGxB,YAAY,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;CAC3B,CAAC;AAOF;;GAEG;AACH,eAAO,MAAM,0BAA0B,oBACpB,MAAM,YACb,MAAM,WACP,MAAM,yBACQ,iBAAiB,KACvC,QAAQ,cAAc,GAAG,SAAS,CA2CpC,CAAC"}
@@ -46,30 +46,37 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  }
47
47
  };
48
48
  import axios from "axios";
49
- import { getLoadConfig } from "./loadConfig";
50
- import { log } from "@ledgerhq/logs";
49
+ var defaultPluginsLoadConfig = {
50
+ baseURL: "https://cdn.live.ledger.com",
51
+ extraPlugins: null
52
+ };
51
53
  /**
52
54
  * Retrieve the metadatas a given contract address and a method selector
53
55
  */
54
- export var loadInfosForContractMethod = function (contractAddress, selector, chainId, userLoadConfig) { return __awaiter(void 0, void 0, void 0, function () {
55
- var _a, pluginBaseURL, extraPlugins, data, url_1, lcSelector, lcContractAddress, contractSelectors;
56
- return __generator(this, function (_b) {
57
- switch (_b.label) {
56
+ export var loadInfosForContractMethod = function (contractAddress, selector, chainId, userPluginsLoadConfig) { return __awaiter(void 0, void 0, void 0, function () {
57
+ var _a, baseURL, extraPlugins, data, _b, lcSelector, lcContractAddress, contractSelectors;
58
+ return __generator(this, function (_c) {
59
+ switch (_c.label) {
58
60
  case 0:
59
- _a = getLoadConfig(userLoadConfig), pluginBaseURL = _a.pluginBaseURL, extraPlugins = _a.extraPlugins;
60
- data = {};
61
- if (!pluginBaseURL) return [3 /*break*/, 2];
62
- url_1 = "".concat(pluginBaseURL, "/plugins/ethereum.json");
63
- return [4 /*yield*/, axios
64
- .get("".concat(pluginBaseURL, "/plugins/ethereum.json"))
65
- .then(function (r) { return r.data; })["catch"](function (e) {
66
- log("error", "could not fetch from " + url_1 + ": " + String(e));
67
- return null;
68
- })];
69
- case 1:
70
- data = _b.sent();
71
- _b.label = 2;
61
+ _a = __assign(__assign({}, defaultPluginsLoadConfig), userPluginsLoadConfig), baseURL = _a.baseURL, extraPlugins = _a.extraPlugins;
62
+ if (!!baseURL) return [3 /*break*/, 1];
63
+ _b = {};
64
+ return [3 /*break*/, 3];
65
+ case 1: return [4 /*yield*/, axios
66
+ .get(baseURL + "/plugins/ethereum.json")
67
+ .then(function (r) { return r.data; })["catch"](function (e) {
68
+ if (e.response &&
69
+ 400 <= e.response.status &&
70
+ e.response.status < 500) {
71
+ return null; // not found cases can be ignored to allow future changes in endpoint without failing a signature to be done.
72
+ }
73
+ throw e;
74
+ })];
72
75
  case 2:
76
+ _b = _c.sent();
77
+ _c.label = 3;
78
+ case 3:
79
+ data = _b;
73
80
  if (extraPlugins) {
74
81
  data = __assign(__assign({}, data), extraPlugins);
75
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAUrC;;GAEG;AACH,MAAM,CAAC,IAAM,0BAA0B,GAAG,UACxC,eAAuB,EACvB,QAAgB,EAChB,OAAe,EACf,cAA0B;;;;;gBAEpB,KAAkC,aAAa,CAAC,cAAc,CAAC,EAA7D,aAAa,mBAAA,EAAE,YAAY,kBAAA,CAAmC;gBAElE,IAAI,GAAG,EAAE,CAAC;qBAEV,aAAa,EAAb,wBAAa;gBACT,QAAM,UAAG,aAAa,2BAAwB,CAAC;gBAC9C,qBAAM,KAAK;yBACf,GAAG,CAAC,UAAG,aAAa,2BAAwB,CAAC;yBAC7C,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAW,EAAb,CAAa,CAAC,CAC1B,OAAK,CAAA,CAAC,UAAC,CAAC;wBACP,GAAG,CAAC,OAAO,EAAE,uBAAuB,GAAG,KAAG,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/D,OAAO,IAAI,CAAC;oBACd,CAAC,CAAC,EAAA;;gBANJ,IAAI,GAAG,SAMH,CAAC;;;gBAGP,IAAI,YAAY,EAAE;oBAChB,IAAI,yBAAQ,IAAI,GAAK,YAAY,CAAE,CAAC;iBACrC;gBAED,IAAI,CAAC,IAAI;oBAAE,sBAAO;gBAEZ,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACpC,iBAAiB,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;gBAExD,IAAI,iBAAiB,IAAI,IAAI,EAAE;oBACvB,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBAElD,IAAI,UAAU,IAAI,iBAAiB,EAAE;wBACnC,sBAAO;gCACL,OAAO,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAAC;gCACzD,SAAS,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC;gCACrD,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;gCAC/C,eAAe,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAAC;gCACjE,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC;6BAC9B,EAAC;qBACH;iBACF;;;;KACF,CAAC"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAoB1B,IAAM,wBAAwB,GAAG;IAC/B,OAAO,EAAE,6BAA6B;IACtC,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,IAAM,0BAA0B,GAAG,UACxC,eAAuB,EACvB,QAAgB,EAChB,OAAe,EACf,qBAAwC;;;;;gBAElC,2BACD,wBAAwB,GACxB,qBAAqB,CACzB,EAHO,OAAO,aAAA,EAAE,YAAY,kBAAA,CAG3B;qBACS,CAAC,OAAO,EAAR,wBAAQ;gBACf,KAAA,EAAE,CAAA;;oBACF,qBAAM,KAAK;qBACR,GAAG,CAAI,OAAO,2BAAwB,CAAC;qBACvC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CACnB,OAAK,CAAA,CAAC,UAAC,CAAC;oBACP,IACE,CAAC,CAAC,QAAQ;wBACV,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM;wBACxB,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,EACvB;wBACA,OAAO,IAAI,CAAC,CAAC,6GAA6G;qBAC3H;oBACD,MAAM,CAAC,CAAC;gBACV,CAAC,CAAC,EAAA;;gBAZJ,KAAA,SAYI,CAAA;;;gBAdJ,IAAI,KAcA;gBAER,IAAI,YAAY,EAAE;oBAChB,IAAI,yBAAQ,IAAI,GAAK,YAAY,CAAE,CAAC;iBACrC;gBAED,IAAI,CAAC,IAAI;oBAAE,sBAAO;gBAEZ,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACpC,iBAAiB,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;gBAExD,IAAI,iBAAiB,IAAI,IAAI,EAAE;oBACvB,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBAElD,IAAI,UAAU,IAAI,iBAAiB,EAAE;wBACnC,sBAAO;gCACL,OAAO,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAAC;gCACzD,SAAS,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC;gCACrD,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;gCAC/C,eAAe,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAAC;gCACjE,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC;6BAC9B,EAAC;qBACH;iBACF;;;;KACF,CAAC"}
package/lib-es/erc20.d.ts CHANGED
File without changes
File without changes
package/lib-es/erc20.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -66,7 +66,7 @@ var ledgerService = {
66
66
  function setPlugin(dataHex) {
67
67
  resolution.plugin.push(dataHex);
68
68
  }
69
- var resolution, rawTx, _a, decodedTx, chainIdTruncated, provideForContract, selector, nftPluginPayload, _b, infos, _c, plugin, payload, signature, erc20OfInterest, abi, contract, args, erc20OfInterest_1, erc20OfInterest_1_1, path, address;
69
+ var resolution, rawTx, _a, decodedTx, chainIdTruncated, provideForContract, selector, nftPluginPayload, _b, infos, _c, plugin, payload, signature, erc20OfInterest, abi, contract, args, erc20OfInterest_1, erc20OfInterest_1_1, path, address, e_1_1;
70
70
  var e_1, _d;
71
71
  return __generator(this, function (_e) {
72
72
  switch (_e.label) {
@@ -117,7 +117,7 @@ var ledgerService = {
117
117
  }
118
118
  });
119
119
  }); };
120
- if (!(decodedTx.data.length >= 10)) return [3 /*break*/, 9];
120
+ if (!(decodedTx.data.length >= 10)) return [3 /*break*/, 19];
121
121
  selector = decodedTx.data.substring(0, 10);
122
122
  if (!resolutionConfig.nft) return [3 /*break*/, 2];
123
123
  return [4 /*yield*/, loadNftPlugin(decodedTx.to, selector, chainIdTruncated, loadConfig)];
@@ -131,7 +131,7 @@ var ledgerService = {
131
131
  nftPluginPayload = _b;
132
132
  if (!nftPluginPayload) return [3 /*break*/, 4];
133
133
  setPlugin(nftPluginPayload);
134
- return [3 /*break*/, 8];
134
+ return [3 /*break*/, 17];
135
135
  case 4:
136
136
  if (!resolutionConfig.externalPlugins) return [3 /*break*/, 6];
137
137
  return [4 /*yield*/, loadInfosForContractMethod(decodedTx.to, selector, chainIdTruncated, loadConfig)];
@@ -143,44 +143,56 @@ var ledgerService = {
143
143
  _e.label = 7;
144
144
  case 7:
145
145
  infos = _c;
146
- if (infos) {
147
- plugin = infos.plugin, payload = infos.payload, signature = infos.signature, erc20OfInterest = infos.erc20OfInterest, abi = infos.abi;
148
- if (plugin) {
149
- log("ethereum", "found plugin for " + selector);
150
- setExternalPlugin(payload, signature);
151
- }
152
- if (erc20OfInterest && erc20OfInterest.length && abi) {
153
- contract = new ethers.utils.Interface(abi);
154
- args = contract.parseTransaction(decodedTx).args;
155
- try {
156
- for (erc20OfInterest_1 = __values(erc20OfInterest), erc20OfInterest_1_1 = erc20OfInterest_1.next(); !erc20OfInterest_1_1.done; erc20OfInterest_1_1 = erc20OfInterest_1.next()) {
157
- path = erc20OfInterest_1_1.value;
158
- address = path.split(".").reduce(function (value, seg) {
159
- if (seg === "-1" && Array.isArray(value)) {
160
- return value[value.length - 1];
161
- }
162
- return value[seg];
163
- }, args);
164
- provideForContract(address);
165
- }
166
- }
167
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
168
- finally {
169
- try {
170
- if (erc20OfInterest_1_1 && !erc20OfInterest_1_1.done && (_d = erc20OfInterest_1["return"])) _d.call(erc20OfInterest_1);
171
- }
172
- finally { if (e_1) throw e_1.error; }
173
- }
174
- }
175
- }
176
- else {
177
- log("ethereum", "no infos for selector " + selector);
146
+ if (!infos) return [3 /*break*/, 16];
147
+ plugin = infos.plugin, payload = infos.payload, signature = infos.signature, erc20OfInterest = infos.erc20OfInterest, abi = infos.abi;
148
+ if (plugin) {
149
+ log("ethereum", "found plugin for " + selector);
150
+ setExternalPlugin(payload, signature);
178
151
  }
152
+ if (!(erc20OfInterest && erc20OfInterest.length && abi)) return [3 /*break*/, 15];
153
+ contract = new ethers.utils.Interface(abi);
154
+ args = contract.parseTransaction(decodedTx).args;
179
155
  _e.label = 8;
180
156
  case 8:
181
- provideForContract(decodedTx.to);
157
+ _e.trys.push([8, 13, 14, 15]);
158
+ erc20OfInterest_1 = __values(erc20OfInterest), erc20OfInterest_1_1 = erc20OfInterest_1.next();
182
159
  _e.label = 9;
183
- case 9: return [2 /*return*/, resolution];
160
+ case 9:
161
+ if (!!erc20OfInterest_1_1.done) return [3 /*break*/, 12];
162
+ path = erc20OfInterest_1_1.value;
163
+ address = path.split(".").reduce(function (value, seg) {
164
+ if (seg === "-1" && Array.isArray(value)) {
165
+ return value[value.length - 1];
166
+ }
167
+ return value[seg];
168
+ }, args);
169
+ return [4 /*yield*/, provideForContract(address)];
170
+ case 10:
171
+ _e.sent();
172
+ _e.label = 11;
173
+ case 11:
174
+ erc20OfInterest_1_1 = erc20OfInterest_1.next();
175
+ return [3 /*break*/, 9];
176
+ case 12: return [3 /*break*/, 15];
177
+ case 13:
178
+ e_1_1 = _e.sent();
179
+ e_1 = { error: e_1_1 };
180
+ return [3 /*break*/, 15];
181
+ case 14:
182
+ try {
183
+ if (erc20OfInterest_1_1 && !erc20OfInterest_1_1.done && (_d = erc20OfInterest_1["return"])) _d.call(erc20OfInterest_1);
184
+ }
185
+ finally { if (e_1) throw e_1.error; }
186
+ return [7 /*endfinally*/];
187
+ case 15: return [3 /*break*/, 17];
188
+ case 16:
189
+ log("ethereum", "no infos for selector " + selector);
190
+ _e.label = 17;
191
+ case 17: return [4 /*yield*/, provideForContract(decodedTx.to)];
192
+ case 18:
193
+ _e.sent();
194
+ _e.label = 19;
195
+ case 19: return [2 /*return*/, resolution];
184
196
  }
185
197
  });
186
198
  }); }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/ledger/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/ledger/index.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"nfts.d.ts","sourceRoot":"","sources":["../../../src/services/ledger/nfts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,aAAK,OAAO,GAAG;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAYF,eAAO,MAAM,UAAU,oBACJ,MAAM,WACd,MAAM,kBACC,UAAU,KACzB,QAAQ,OAAO,GAAG,SAAS,CAkB7B,CAAC;AAEF,eAAO,MAAM,aAAa,oBACP,MAAM,YACb,MAAM,WACP,MAAM,kBACC,UAAU,KACzB,QAAQ,MAAM,GAAG,SAAS,CAa5B,CAAC"}
1
+ {"version":3,"file":"nfts.d.ts","sourceRoot":"","sources":["../../../src/services/ledger/nfts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,aAAK,OAAO,GAAG;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAYF,eAAO,MAAM,UAAU,oBACJ,MAAM,WACd,MAAM,kBACC,UAAU,KACzB,QAAQ,OAAO,GAAG,SAAS,CA2B7B,CAAC;AAEF,eAAO,MAAM,aAAa,oBACP,MAAM,YACb,MAAM,WACP,MAAM,kBACC,UAAU,KACzB,QAAQ,MAAM,GAAG,SAAS,CAa5B,CAAC"}
@@ -44,9 +44,10 @@ function axiosErrorHandling(e) {
44
44
  throw e;
45
45
  }
46
46
  export var getNFTInfo = function (contractAddress, chainId, userLoadConfig) { return __awaiter(void 0, void 0, void 0, function () {
47
- var nftExplorerBaseURL, url, response, payload, collectionNameLength, collectionName;
48
- return __generator(this, function (_a) {
49
- switch (_a.label) {
47
+ var nftExplorerBaseURL, url, response, payload, collectionNameLength, collectionNameHex, collectionName;
48
+ var _a;
49
+ return __generator(this, function (_b) {
50
+ switch (_b.label) {
50
51
  case 0:
51
52
  nftExplorerBaseURL = getLoadConfig(userLoadConfig).nftExplorerBaseURL;
52
53
  if (!nftExplorerBaseURL)
@@ -56,15 +57,18 @@ export var getNFTInfo = function (contractAddress, chainId, userLoadConfig) { re
56
57
  .get(url)
57
58
  .then(function (r) { return r.data; })["catch"](axiosErrorHandling)];
58
59
  case 1:
59
- response = _a.sent();
60
+ response = _b.sent();
60
61
  if (!response)
61
62
  return [2 /*return*/];
62
63
  payload = response["payload"];
63
- collectionNameLength = Number(payload.slice(2, 3));
64
- collectionName = payload.slice(3, 3 + collectionNameLength).toString();
64
+ collectionNameLength = parseInt(payload.slice(4, 6), 16);
65
+ collectionNameHex = payload.substr(6, collectionNameLength * 2);
66
+ collectionName = (_a = collectionNameHex
67
+ .match(/.{2}/g) // split every 2 characters
68
+ ) === null || _a === void 0 ? void 0 : _a.reduce(function (acc, curr) { return (acc += String.fromCharCode(parseInt(curr, 16))); }, "");
65
69
  return [2 /*return*/, {
66
70
  contractAddress: contractAddress,
67
- collectionName: collectionName,
71
+ collectionName: collectionName || "",
68
72
  data: payload
69
73
  }];
70
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nfts.js","sourceRoot":"","sources":["../../../src/services/ledger/nfts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAa7C,SAAS,kBAAkB,CAAC,CAAC;IAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,CAAC,CAAC;AACV,CAAC;AAED,MAAM,CAAC,IAAM,UAAU,GAAG,UACxB,eAAuB,EACvB,OAAe,EACf,cAA0B;;;;;gBAElB,kBAAkB,GAAK,aAAa,CAAC,cAAc,CAAC,mBAAlC,CAAmC;gBAC7D,IAAI,CAAC,kBAAkB;oBAAE,sBAAO;gBAC1B,GAAG,GAAG,UAAG,kBAAkB,cAAI,OAAO,wBAAc,eAAe,CAAE,CAAC;gBAC3D,qBAAM,KAAK;yBACzB,GAAG,CAAkB,GAAG,CAAC;yBACzB,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CACnB,OAAK,CAAA,CAAC,kBAAkB,CAAC,EAAA;;gBAHtB,QAAQ,GAAG,SAGW;gBAC5B,IAAI,CAAC,QAAQ;oBAAE,sBAAO;gBAEhB,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC9B,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnD,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC7E,sBAAO;wBACL,eAAe,EAAE,eAAe;wBAChC,cAAc,EAAE,cAAc;wBAC9B,IAAI,EAAE,OAAO;qBACd,EAAC;;;KACH,CAAC;AAEF,MAAM,CAAC,IAAM,aAAa,GAAG,UAC3B,eAAuB,EACvB,QAAgB,EAChB,OAAe,EACf,cAA0B;;;;;gBAElB,kBAAkB,GAAK,aAAa,CAAC,cAAc,CAAC,mBAAlC,CAAmC;gBAC7D,IAAI,CAAC,kBAAkB;oBAAE,sBAAO;gBAC1B,GAAG,GAAG,UAAG,kBAAkB,cAAI,OAAO,wBAAc,eAAe,8BAAoB,QAAQ,CAAE,CAAC;gBAEvF,qBAAM,KAAK;yBACzB,GAAG,CAAkB,GAAG,CAAC;yBACzB,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CACnB,OAAK,CAAA,CAAC,kBAAkB,CAAC,EAAA;;gBAHtB,QAAQ,GAAG,SAGW;gBAC5B,IAAI,CAAC,QAAQ;oBAAE,sBAAO;gBAEhB,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpC,sBAAO,OAAO,EAAC;;;KAChB,CAAC"}
1
+ {"version":3,"file":"nfts.js","sourceRoot":"","sources":["../../../src/services/ledger/nfts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAa7C,SAAS,kBAAkB,CAAC,CAAC;IAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,CAAC,CAAC;AACV,CAAC;AAED,MAAM,CAAC,IAAM,UAAU,GAAG,UACxB,eAAuB,EACvB,OAAe,EACf,cAA0B;;;;;;gBAElB,kBAAkB,GAAK,aAAa,CAAC,cAAc,CAAC,mBAAlC,CAAmC;gBAC7D,IAAI,CAAC,kBAAkB;oBAAE,sBAAO;gBAC1B,GAAG,GAAG,UAAG,kBAAkB,cAAI,OAAO,wBAAc,eAAe,CAAE,CAAC;gBAC3D,qBAAM,KAAK;yBACzB,GAAG,CAAkB,GAAG,CAAC;yBACzB,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CACnB,OAAK,CAAA,CAAC,kBAAkB,CAAC,EAAA;;gBAHtB,QAAQ,GAAG,SAGW;gBAC5B,IAAI,CAAC,QAAQ;oBAAE,sBAAO;gBAGhB,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAE9B,oBAAoB,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzD,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,oBAAoB,GAAG,CAAC,CAAC,CAAC;gBAChE,cAAc,GAAG,MAAA,iBAAiB;qBACrC,KAAK,CAAC,OAAO,CAAC,CAAC,2BAA2B;0DACzC,MAAM,CACN,UAAC,GAAG,EAAE,IAAI,IAAK,OAAA,CAAC,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAhD,CAAgD,EAC/D,EAAE,CACH,CAAC;gBAEJ,sBAAO;wBACL,eAAe,EAAE,eAAe;wBAChC,cAAc,EAAE,cAAc,IAAI,EAAE;wBACpC,IAAI,EAAE,OAAO;qBACd,EAAC;;;KACH,CAAC;AAEF,MAAM,CAAC,IAAM,aAAa,GAAG,UAC3B,eAAuB,EACvB,QAAgB,EAChB,OAAe,EACf,cAA0B;;;;;gBAElB,kBAAkB,GAAK,aAAa,CAAC,cAAc,CAAC,mBAAlC,CAAmC;gBAC7D,IAAI,CAAC,kBAAkB;oBAAE,sBAAO;gBAC1B,GAAG,GAAG,UAAG,kBAAkB,cAAI,OAAO,wBAAc,eAAe,8BAAoB,QAAQ,CAAE,CAAC;gBAEvF,qBAAM,KAAK;yBACzB,GAAG,CAAkB,GAAG,CAAC;yBACzB,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CACnB,OAAK,CAAA,CAAC,kBAAkB,CAAC,EAAA;;gBAHtB,QAAQ,GAAG,SAGW;gBAC5B,IAAI,CAAC,QAAQ;oBAAE,sBAAO;gBAEhB,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpC,sBAAO,OAAO,EAAC;;;KAChB,CAAC"}
File without changes
File without changes
File without changes
File without changes
package/lib-es/utils.d.ts CHANGED
File without changes
File without changes
package/lib-es/utils.js CHANGED
File without changes
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/hw-app-eth",
3
- "version": "6.22.3",
3
+ "version": "6.22.4",
4
4
  "description": "Ledger Hardware Wallet Ethereum Application API",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -27,7 +27,7 @@
27
27
  "types": "lib/Eth.d.ts",
28
28
  "license": "Apache-2.0",
29
29
  "dependencies": {
30
- "@ledgerhq/cryptoassets": "^6.22.3",
30
+ "@ledgerhq/cryptoassets": "^6.22.4",
31
31
  "@ledgerhq/errors": "^6.10.0",
32
32
  "@ledgerhq/hw-transport": "^6.20.0",
33
33
  "@ledgerhq/logs": "^6.10.0",
@@ -41,5 +41,5 @@
41
41
  "watch": "bash ../../script/watch.sh",
42
42
  "doc": "bash ../../script/doc.sh"
43
43
  },
44
- "gitHead": "753cf3fc67b9d68c0d60ced6d86dc71481f6e46d"
44
+ "gitHead": "6b78677ef262faef3833a49e8c122a42c76b682e"
45
45
  }
@@ -108,14 +108,14 @@ const ledgerService: LedgerEthTransactionService = {
108
108
  }
109
109
  return value[seg];
110
110
  }, args);
111
- provideForContract(address);
111
+ await provideForContract(address);
112
112
  }
113
113
  }
114
114
  } else {
115
115
  log("ethereum", "no infos for selector " + selector);
116
116
  }
117
117
  }
118
- provideForContract(decodedTx.to);
118
+ await provideForContract(decodedTx.to);
119
119
  }
120
120
 
121
121
  return resolution;
@@ -32,12 +32,21 @@ export const getNFTInfo = async (
32
32
  .catch(axiosErrorHandling);
33
33
  if (!response) return;
34
34
 
35
+ // APDU response specification: https://ledgerhq.atlassian.net/wiki/spaces/WALLETCO/pages/3269984297/NFT-1+NFT+Backend+design#NFT-Metadata-BLOB
35
36
  const payload = response["payload"];
36
- const collectionNameLength = Number(payload.slice(2, 3));
37
- const collectionName = payload.slice(3, 3 + collectionNameLength).toString();
37
+ // Collection name length position: 3rd byte -> caracter 4 to 6
38
+ const collectionNameLength = parseInt(payload.slice(4, 6), 16);
39
+ const collectionNameHex = payload.substr(6, collectionNameLength * 2);
40
+ const collectionName = collectionNameHex
41
+ .match(/.{2}/g) // split every 2 characters
42
+ ?.reduce(
43
+ (acc, curr) => (acc += String.fromCharCode(parseInt(curr, 16))),
44
+ ""
45
+ ); // convert hex to string
46
+
38
47
  return {
39
48
  contractAddress: contractAddress,
40
- collectionName: collectionName,
49
+ collectionName: collectionName || "",
41
50
  data: payload,
42
51
  };
43
52
  };
@@ -1,7 +0,0 @@
1
- export declare type LoadConfig = {
2
- nftExplorerBaseURL?: string | null;
3
- pluginBaseURL?: string | null;
4
- extraPlugins?: any | null;
5
- };
6
- export declare function getLoadConfig(userLoadConfig?: LoadConfig): LoadConfig;
7
- //# sourceMappingURL=loadConfig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadConfig.d.ts","sourceRoot":"","sources":["../src/loadConfig.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU,GAAG;IACvB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAInC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG9B,YAAY,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;CAC3B,CAAC;AAQF,wBAAgB,aAAa,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,CAKrE"}
@@ -1,20 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var defaultLoadConfig = {
13
- nftExplorerBaseURL: null,
14
- pluginBaseURL: "https://cdn.live.ledger.com",
15
- extraPlugins: null
16
- };
17
- export function getLoadConfig(userLoadConfig) {
18
- return __assign(__assign({}, defaultLoadConfig), userLoadConfig);
19
- }
20
- //# sourceMappingURL=loadConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadConfig.js","sourceRoot":"","sources":["../src/loadConfig.ts"],"names":[],"mappings":";;;;;;;;;;;AAWA,IAAM,iBAAiB,GAAG;IACxB,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,6BAA6B;IAC5C,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,cAA2B;IACvD,6BACK,iBAAiB,GACjB,cAAc,EACjB;AACJ,CAAC"}
package/lib-es/nfts.d.ts DELETED
@@ -1,11 +0,0 @@
1
- /// <reference types="node" />
2
- import type { LoadConfig } from "./loadConfig";
3
- declare type NftInfo = {
4
- contractAddress: string;
5
- collectionName: string;
6
- data: Buffer;
7
- };
8
- export declare const getNFTInfo: (contractAddress: string, chainId: number, userLoadConfig: LoadConfig) => Promise<NftInfo | undefined>;
9
- export declare const loadNftPlugin: (contractAddress: string, selector: string, chainId: number, userLoadConfig: LoadConfig) => Promise<string | undefined>;
10
- export {};
11
- //# sourceMappingURL=nfts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nfts.d.ts","sourceRoot":"","sources":["../src/nfts.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,aAAK,OAAO,GAAG;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAMF,eAAO,MAAM,UAAU,oBACJ,MAAM,WACd,MAAM,kBACC,UAAU,KACzB,QAAQ,OAAO,GAAG,SAAS,CAqB7B,CAAC;AAEF,eAAO,MAAM,aAAa,oBACP,MAAM,YACb,MAAM,WACP,MAAM,kBACC,UAAU,KACzB,QAAQ,MAAM,GAAG,SAAS,CAgB5B,CAAC"}
package/lib-es/nfts.js DELETED
@@ -1,94 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (_) try {
17
- 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;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- import axios from "axios";
38
- import { getLoadConfig } from "./loadConfig";
39
- import { log } from "@ledgerhq/logs";
40
- export var getNFTInfo = function (contractAddress, chainId, userLoadConfig) { return __awaiter(void 0, void 0, void 0, function () {
41
- var nftExplorerBaseURL, url, response, payload, collectionNameLength, collectionName;
42
- return __generator(this, function (_a) {
43
- switch (_a.label) {
44
- case 0:
45
- nftExplorerBaseURL = getLoadConfig(userLoadConfig).nftExplorerBaseURL;
46
- if (!nftExplorerBaseURL)
47
- return [2 /*return*/];
48
- url = "".concat(nftExplorerBaseURL, "/").concat(chainId, "/contracts/").concat(contractAddress);
49
- return [4 /*yield*/, axios
50
- .get(url)
51
- .then(function (r) { return r.data; })["catch"](function (e) {
52
- log("error", "could not fetch from " + url + ": " + String(e));
53
- return null;
54
- })];
55
- case 1:
56
- response = _a.sent();
57
- if (!response)
58
- return [2 /*return*/];
59
- payload = response["payload"];
60
- collectionNameLength = Number(payload.slice(2, 3));
61
- collectionName = payload.slice(3, 3 + collectionNameLength).toString();
62
- return [2 /*return*/, {
63
- contractAddress: contractAddress,
64
- collectionName: collectionName,
65
- data: Buffer.from(payload, "hex")
66
- }];
67
- }
68
- });
69
- }); };
70
- export var loadNftPlugin = function (contractAddress, selector, chainId, userLoadConfig) { return __awaiter(void 0, void 0, void 0, function () {
71
- var nftExplorerBaseURL, url, response, payload;
72
- return __generator(this, function (_a) {
73
- switch (_a.label) {
74
- case 0:
75
- nftExplorerBaseURL = getLoadConfig(userLoadConfig).nftExplorerBaseURL;
76
- if (!nftExplorerBaseURL)
77
- return [2 /*return*/];
78
- url = "".concat(nftExplorerBaseURL, "/").concat(chainId, "/contracts/").concat(contractAddress, "/plugin-selector/").concat(selector);
79
- return [4 /*yield*/, axios
80
- .get(url)
81
- .then(function (r) { return r.data; })["catch"](function (e) {
82
- log("error", "could not fetch from " + url + ": " + String(e));
83
- return null;
84
- })];
85
- case 1:
86
- response = _a.sent();
87
- if (!response)
88
- return [2 /*return*/];
89
- payload = response["payload"];
90
- return [2 /*return*/, payload];
91
- }
92
- });
93
- }); };
94
- //# sourceMappingURL=nfts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nfts.js","sourceRoot":"","sources":["../src/nfts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAYrC,MAAM,CAAC,IAAM,UAAU,GAAG,UACxB,eAAuB,EACvB,OAAe,EACf,cAA0B;;;;;gBAElB,kBAAkB,GAAK,aAAa,CAAC,cAAc,CAAC,mBAAlC,CAAmC;gBAC7D,IAAI,CAAC,kBAAkB;oBAAE,sBAAO;gBAC1B,GAAG,GAAG,UAAG,kBAAkB,cAAI,OAAO,wBAAc,eAAe,CAAE,CAAC;gBAC3D,qBAAM,KAAK;yBACzB,GAAG,CAAkB,GAAG,CAAC;yBACzB,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CACnB,OAAK,CAAA,CAAC,UAAC,CAAC;wBACP,GAAG,CAAC,OAAO,EAAE,uBAAuB,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/D,OAAO,IAAI,CAAC;oBACd,CAAC,CAAC,EAAA;;gBANE,QAAQ,GAAG,SAMb;gBACJ,IAAI,CAAC,QAAQ;oBAAE,sBAAO;gBAEhB,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC9B,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnD,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC7E,sBAAO;wBACL,eAAe,EAAE,eAAe;wBAChC,cAAc,EAAE,cAAc;wBAC9B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;qBAClC,EAAC;;;KACH,CAAC;AAEF,MAAM,CAAC,IAAM,aAAa,GAAG,UAC3B,eAAuB,EACvB,QAAgB,EAChB,OAAe,EACf,cAA0B;;;;;gBAElB,kBAAkB,GAAK,aAAa,CAAC,cAAc,CAAC,mBAAlC,CAAmC;gBAC7D,IAAI,CAAC,kBAAkB;oBAAE,sBAAO;gBAC1B,GAAG,GAAG,UAAG,kBAAkB,cAAI,OAAO,wBAAc,eAAe,8BAAoB,QAAQ,CAAE,CAAC;gBAEvF,qBAAM,KAAK;yBACzB,GAAG,CAAkB,GAAG,CAAC;yBACzB,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CACnB,OAAK,CAAA,CAAC,UAAC,CAAC;wBACP,GAAG,CAAC,OAAO,EAAE,uBAAuB,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/D,OAAO,IAAI,CAAC;oBACd,CAAC,CAAC,EAAA;;gBANE,QAAQ,GAAG,SAMb;gBACJ,IAAI,CAAC,QAAQ;oBAAE,sBAAO;gBAEhB,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpC,sBAAO,OAAO,EAAC;;;KAChB,CAAC"}