@ledgerhq/hw-app-eth 7.0.0-nightly.2 → 7.0.0-nightly.20251120135143
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/.turbo/turbo-build.log +2 -2
- package/.unimportedrc.json +3 -28
- package/CHANGELOG.md +994 -17
- package/README.md +100 -0
- package/jest.config.ts +18 -0
- package/lib/Eth.d.ts +3 -18
- package/lib/Eth.d.ts.map +1 -1
- package/lib/Eth.js +160 -198
- package/lib/Eth.js.map +1 -1
- package/lib/errors.d.ts +3 -0
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +2 -1
- package/lib/errors.js.map +1 -1
- package/lib/modules/Domains/index.js +6 -15
- package/lib/modules/Domains/index.js.map +1 -1
- package/lib/modules/EIP712/index.d.ts.map +1 -1
- package/lib/modules/EIP712/index.js +112 -125
- package/lib/modules/EIP712/index.js.map +1 -1
- package/lib/modules/EIP712/types.d.ts +1 -0
- package/lib/modules/EIP712/types.d.ts.map +1 -1
- package/lib/modules/EIP712/utils.d.ts +1 -0
- package/lib/modules/EIP712/utils.d.ts.map +1 -1
- package/lib/modules/EIP712/utils.js +14 -24
- package/lib/modules/EIP712/utils.js.map +1 -1
- package/lib/modules/Uniswap/constants.d.ts.map +1 -1
- package/lib/modules/Uniswap/constants.js +1 -0
- package/lib/modules/Uniswap/constants.js.map +1 -1
- package/lib/modules/Uniswap/decoders.d.ts.map +1 -1
- package/lib/modules/Uniswap/decoders.js +8 -3
- package/lib/modules/Uniswap/decoders.js.map +1 -1
- package/lib/modules/Uniswap/index.d.ts +2 -1
- package/lib/modules/Uniswap/index.d.ts.map +1 -1
- package/lib/modules/Uniswap/index.js +11 -20
- package/lib/modules/Uniswap/index.js.map +1 -1
- package/lib/modules/Uniswap/types.d.ts +1 -1
- package/lib/modules/Uniswap/types.d.ts.map +1 -1
- package/lib/services/ledger/contracts.js +4 -13
- package/lib/services/ledger/contracts.js.map +1 -1
- package/lib/services/ledger/erc20.d.ts +2 -1
- package/lib/services/ledger/erc20.d.ts.map +1 -1
- package/lib/services/ledger/erc20.js +16 -32
- package/lib/services/ledger/erc20.js.map +1 -1
- package/lib/services/ledger/index.d.ts.map +1 -1
- package/lib/services/ledger/index.js +34 -32
- package/lib/services/ledger/index.js.map +1 -1
- package/lib/services/ledger/loadConfig.d.ts.map +1 -1
- package/lib/services/ledger/loadConfig.js +7 -1
- package/lib/services/ledger/loadConfig.js.map +1 -1
- package/lib/services/ledger/nfts.js +9 -19
- package/lib/services/ledger/nfts.js.map +1 -1
- package/lib/services/types.d.ts +3 -0
- package/lib/services/types.d.ts.map +1 -1
- package/lib/utils.d.ts +56 -9
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +175 -81
- package/lib/utils.js.map +1 -1
- package/lib-es/Eth.d.ts +3 -18
- package/lib-es/Eth.d.ts.map +1 -1
- package/lib-es/Eth.js +160 -198
- package/lib-es/Eth.js.map +1 -1
- package/lib-es/errors.d.ts +3 -0
- package/lib-es/errors.d.ts.map +1 -1
- package/lib-es/errors.js +1 -0
- package/lib-es/errors.js.map +1 -1
- package/lib-es/modules/Domains/index.js +6 -15
- package/lib-es/modules/Domains/index.js.map +1 -1
- package/lib-es/modules/EIP712/index.d.ts.map +1 -1
- package/lib-es/modules/EIP712/index.js +112 -125
- package/lib-es/modules/EIP712/index.js.map +1 -1
- package/lib-es/modules/EIP712/types.d.ts +1 -0
- package/lib-es/modules/EIP712/types.d.ts.map +1 -1
- package/lib-es/modules/EIP712/utils.d.ts +1 -0
- package/lib-es/modules/EIP712/utils.d.ts.map +1 -1
- package/lib-es/modules/EIP712/utils.js +14 -24
- package/lib-es/modules/EIP712/utils.js.map +1 -1
- package/lib-es/modules/Uniswap/constants.d.ts.map +1 -1
- package/lib-es/modules/Uniswap/constants.js +1 -0
- package/lib-es/modules/Uniswap/constants.js.map +1 -1
- package/lib-es/modules/Uniswap/decoders.d.ts.map +1 -1
- package/lib-es/modules/Uniswap/decoders.js +8 -3
- package/lib-es/modules/Uniswap/decoders.js.map +1 -1
- package/lib-es/modules/Uniswap/index.d.ts +2 -1
- package/lib-es/modules/Uniswap/index.d.ts.map +1 -1
- package/lib-es/modules/Uniswap/index.js +11 -20
- package/lib-es/modules/Uniswap/index.js.map +1 -1
- package/lib-es/modules/Uniswap/types.d.ts +1 -1
- package/lib-es/modules/Uniswap/types.d.ts.map +1 -1
- package/lib-es/services/ledger/contracts.js +4 -13
- package/lib-es/services/ledger/contracts.js.map +1 -1
- package/lib-es/services/ledger/erc20.d.ts +2 -1
- package/lib-es/services/ledger/erc20.d.ts.map +1 -1
- package/lib-es/services/ledger/erc20.js +16 -32
- package/lib-es/services/ledger/erc20.js.map +1 -1
- package/lib-es/services/ledger/index.d.ts.map +1 -1
- package/lib-es/services/ledger/index.js +34 -32
- package/lib-es/services/ledger/index.js.map +1 -1
- package/lib-es/services/ledger/loadConfig.d.ts.map +1 -1
- package/lib-es/services/ledger/loadConfig.js +7 -1
- package/lib-es/services/ledger/loadConfig.js.map +1 -1
- package/lib-es/services/ledger/nfts.js +9 -19
- package/lib-es/services/ledger/nfts.js.map +1 -1
- package/lib-es/services/types.d.ts +3 -0
- package/lib-es/services/types.d.ts.map +1 -1
- package/lib-es/utils.d.ts +56 -9
- package/lib-es/utils.d.ts.map +1 -1
- package/lib-es/utils.js +148 -81
- package/lib-es/utils.js.map +1 -1
- package/package.json +19 -15
- package/src/Eth.ts +51 -82
- package/src/errors.ts +3 -0
- package/src/modules/EIP712/index.ts +17 -4
- package/src/modules/Uniswap/constants.ts +1 -0
- package/src/modules/Uniswap/decoders.ts +10 -3
- package/src/modules/Uniswap/index.ts +9 -8
- package/src/modules/Uniswap/types.ts +2 -1
- package/src/services/ledger/erc20.ts +16 -19
- package/src/services/ledger/index.ts +50 -22
- package/src/services/ledger/loadConfig.ts +4 -1
- package/src/services/ledger/nfts.ts +1 -1
- package/src/services/types.ts +12 -0
- package/src/utils.ts +170 -85
- package/tests/EIP712/filtered-signMessage.unit.test.ts +28 -116
- package/tests/EIP712/noFilter-signMessage.unit.test.ts +0 -2
- package/tests/ERC20/ERC20-CAL-KO.unit.test.ts +14 -25
- package/tests/ERC20/ERC20-CAL-OK.unit.test.ts +15 -10
- package/tests/Eth.unit.test.ts +242 -314
- package/tests/Uniswap/decoders.unit.test.ts +10 -0
- package/tests/Uniswap/index.unit.test.ts +17 -26
- package/tests/fixtures/messages/15-permit.json +3 -3
- package/tests/fixtures/messages/16-permit2.json +3 -3
- package/tests/fixtures/messages/17-uniswapx.json +5 -5
- package/tests/fixtures/utils.ts +17 -18
- package/tests/ledgerService.unit.test.ts +5 -7
- package/tests/utils.unit.test.ts +341 -0
|
@@ -1,12 +1,3 @@
|
|
|
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
1
|
import BigNumber from "bignumber.js";
|
|
11
2
|
import { getValueFromPath } from "@ledgerhq/evm-tools/message/index";
|
|
12
3
|
import { hexBuffer, intAsHexBytes } from "../../utils";
|
|
@@ -64,8 +55,8 @@ export const EIP712_TYPE_PROPERTIES = {
|
|
|
64
55
|
*/
|
|
65
56
|
export const EIP712_TYPE_ENCODERS = {
|
|
66
57
|
INT(value, size = 256) {
|
|
67
|
-
const failSafeValue = value
|
|
68
|
-
if (typeof failSafeValue === "string" &&
|
|
58
|
+
const failSafeValue = value ?? "0";
|
|
59
|
+
if (typeof failSafeValue === "string" && failSafeValue?.startsWith("0x")) {
|
|
69
60
|
return hexBuffer(failSafeValue);
|
|
70
61
|
}
|
|
71
62
|
let valueAsBN = new BigNumber(failSafeValue);
|
|
@@ -90,15 +81,15 @@ export const EIP712_TYPE_ENCODERS = {
|
|
|
90
81
|
},
|
|
91
82
|
ADDRESS(value) {
|
|
92
83
|
// Only sending the first 10 bytes (why ?)
|
|
93
|
-
return hexBuffer(value
|
|
84
|
+
return hexBuffer(value ?? "").slice(0, 20);
|
|
94
85
|
},
|
|
95
86
|
STRING(value) {
|
|
96
|
-
return Buffer.from(value
|
|
87
|
+
return Buffer.from(value ?? "", "utf-8");
|
|
97
88
|
},
|
|
98
89
|
BYTES(value, size) {
|
|
99
|
-
const failSafeValue = value
|
|
90
|
+
const failSafeValue = value ?? "";
|
|
100
91
|
// Why slice again ?
|
|
101
|
-
return hexBuffer(failSafeValue).slice(0, size
|
|
92
|
+
return hexBuffer(failSafeValue).slice(0, size ?? (failSafeValue?.length - 2) / 2);
|
|
102
93
|
},
|
|
103
94
|
};
|
|
104
95
|
/**
|
|
@@ -165,18 +156,17 @@ export const constructTypeDescByteString = (isArray, typeSize, typeValue) => {
|
|
|
165
156
|
* @returns {Buffer}
|
|
166
157
|
*/
|
|
167
158
|
export const makeTypeEntryStructBuffer = ({ name, type }) => {
|
|
168
|
-
var _a, _b, _c, _d;
|
|
169
159
|
const [typeDescription, arrSizes] = destructTypeFromString(type);
|
|
170
160
|
const isTypeAnArray = Boolean(arrSizes.length);
|
|
171
|
-
const typeProperties = EIP712_TYPE_PROPERTIES[
|
|
161
|
+
const typeProperties = EIP712_TYPE_PROPERTIES[typeDescription?.name?.toUpperCase() || ""] ||
|
|
172
162
|
EIP712_TYPE_PROPERTIES.CUSTOM;
|
|
173
|
-
const typeKey = typeProperties.key(typeDescription
|
|
174
|
-
const typeSize = typeProperties.size(typeDescription
|
|
163
|
+
const typeKey = typeProperties.key(typeDescription?.size);
|
|
164
|
+
const typeSize = typeProperties.size(typeDescription?.size);
|
|
175
165
|
const typeDescData = constructTypeDescByteString(isTypeAnArray, typeSize, typeKey);
|
|
176
166
|
const bufferArray = [Buffer.from(typeDescData, "hex")];
|
|
177
167
|
if (typeProperties === EIP712_TYPE_PROPERTIES.CUSTOM) {
|
|
178
|
-
bufferArray.push(Buffer.from(intAsHexBytes(
|
|
179
|
-
bufferArray.push(Buffer.from(
|
|
168
|
+
bufferArray.push(Buffer.from(intAsHexBytes(typeDescription?.name?.length ?? 0, 1), "hex"));
|
|
169
|
+
bufferArray.push(Buffer.from(typeDescription?.name ?? "", "utf-8"));
|
|
180
170
|
}
|
|
181
171
|
if (typeof typeSize === "number") {
|
|
182
172
|
bufferArray.push(Buffer.from(intAsHexBytes(typeSize, 1), "hex"));
|
|
@@ -241,8 +231,8 @@ export const getCoinRefTokensMap = (filters, shouldUseV1Filters, message) => {
|
|
|
241
231
|
* @param {Transport} transport
|
|
242
232
|
* @returns {Promise<{name: string, version: string}>}
|
|
243
233
|
*/
|
|
244
|
-
export const getAppAndVersion = (transport) =>
|
|
245
|
-
const appAndVersionHex =
|
|
234
|
+
export const getAppAndVersion = async (transport) => {
|
|
235
|
+
const appAndVersionHex = await transport.send(0xb0, 0x01, 0x00, 0x00);
|
|
246
236
|
let offset = 1;
|
|
247
237
|
const nameLength = appAndVersionHex[offset];
|
|
248
238
|
offset += 1;
|
|
@@ -255,7 +245,7 @@ export const getAppAndVersion = (transport) => __awaiter(void 0, void 0, void 0,
|
|
|
255
245
|
name,
|
|
256
246
|
version,
|
|
257
247
|
};
|
|
258
|
-
}
|
|
248
|
+
};
|
|
259
249
|
/**
|
|
260
250
|
* @ignore for the README
|
|
261
251
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/modules/EIP712/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/modules/EIP712/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/modules/Uniswap/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD,eAAO,MAAM,gCAAgC,+CAA+C,CAAC;AAC7F,eAAO,MAAM,wBAAwB,eAAe,CAAC;AAErD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAiC7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,KAAK,MAAM,EAAE,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/modules/Uniswap/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD,eAAO,MAAM,gCAAgC,+CAA+C,CAAC;AAC7F,eAAO,MAAM,wBAAwB,eAAe,CAAC;AAErD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAiC7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,KAAK,MAAM,EAAE,EAAE,uBAAuB,CAa3E,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,uBAAuB,CAAC,EAKlD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/modules/Uniswap/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gCAAgC,GAAG,4CAA4C,CAAC;AAC7F,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC;AAErD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,mBAAmB;IACnB,CAAC,EAAE,4CAA4C;IAC/C,kBAAkB;IAClB,CAAC,EAAE,4CAA4C;IAC/C,mBAAmB;IACnB,QAAQ,EAAE,4CAA4C;IACtD,eAAe;IACf,KAAK,EAAE,4CAA4C;IACnD,kBAAkB;IAClB,MAAM,EAAE,4CAA4C;IACpD,oBAAoB;IACpB,KAAK,EAAE,4CAA4C;IACnD,MAAM;IACN,EAAE,EAAE,4CAA4C;IAChD,OAAO;IACP,IAAI,EAAE,4CAA4C;IAClD,cAAc;IACd,KAAK,EAAE,4CAA4C;IACnD,QAAQ;IACR,KAAK,EAAE,4CAA4C;IACnD,OAAO;IACP,KAAK,EAAE,IAAI,KAAK,CAAC,oCAAoC,CAAC;IACtD,iBAAiB;IACjB,KAAK,EAAE,IAAI,KAAK,CAAC,8CAA8C,CAAC;IAChE,WAAW;IACX,EAAE,EAAE,4CAA4C;IAChD,kBAAkB;IAClB,GAAG,EAAE,4CAA4C;IACjD,UAAU;IACV,GAAG,EAAE,4CAA4C;IACjD,iBAAiB;IACjB,KAAK,EAAE,4CAA4C;CACpD,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAmD;IAC9E,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,uBAAuB;IAC/B,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,6BAA6B;IACrC,MAAM,EAAE,aAAa;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/modules/Uniswap/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gCAAgC,GAAG,4CAA4C,CAAC;AAC7F,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC;AAErD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,mBAAmB;IACnB,CAAC,EAAE,4CAA4C;IAC/C,kBAAkB;IAClB,CAAC,EAAE,4CAA4C;IAC/C,mBAAmB;IACnB,QAAQ,EAAE,4CAA4C;IACtD,eAAe;IACf,KAAK,EAAE,4CAA4C;IACnD,kBAAkB;IAClB,MAAM,EAAE,4CAA4C;IACpD,oBAAoB;IACpB,KAAK,EAAE,4CAA4C;IACnD,MAAM;IACN,EAAE,EAAE,4CAA4C;IAChD,OAAO;IACP,IAAI,EAAE,4CAA4C;IAClD,cAAc;IACd,KAAK,EAAE,4CAA4C;IACnD,QAAQ;IACR,KAAK,EAAE,4CAA4C;IACnD,OAAO;IACP,KAAK,EAAE,IAAI,KAAK,CAAC,oCAAoC,CAAC;IACtD,iBAAiB;IACjB,KAAK,EAAE,IAAI,KAAK,CAAC,8CAA8C,CAAC;IAChE,WAAW;IACX,EAAE,EAAE,4CAA4C;IAChD,kBAAkB;IAClB,GAAG,EAAE,4CAA4C;IACjD,UAAU;IACV,GAAG,EAAE,4CAA4C;IACjD,iBAAiB;IACjB,KAAK,EAAE,4CAA4C;CACpD,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAmD;IAC9E,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,uBAAuB;IAC/B,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,6BAA6B;IACrC,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,OAAO;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAuC;IAC/D,kBAAkB;IAClB,mBAAmB;IACnB,kBAAkB;IAClB,mBAAmB;CACX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoders.d.ts","sourceRoot":"","sources":["../../../src/modules/Uniswap/decoders.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"decoders.d.ts","sourceRoot":"","sources":["../../../src/modules/Uniswap/decoders.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAkDlD,eAAO,MAAM,eAAe,EAAE,MAAM,CAClC,uBAAuB,EACvB,CAAC,KAAK,EAAE,KAAK,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,KAAK,KAAK,MAAM,EAAE,EAAE,CAcpE,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { defaultAbiCoder } from "@ethersproject/abi";
|
|
2
2
|
import { WETH_PER_CHAIN_ID } from "./constants";
|
|
3
3
|
const swapV2Decoder = (input) => {
|
|
4
|
-
const [, , , addresses] =
|
|
4
|
+
const [, , , addresses] = defaultAbiCoder.decode(["address", "uint256", "uint256", "address[]", "bool"], input);
|
|
5
5
|
return addresses.map(address => address.toLowerCase());
|
|
6
6
|
};
|
|
7
7
|
const swapV3Decoder = (input) => {
|
|
8
|
-
const [, , , path] =
|
|
8
|
+
const [, , , path] = defaultAbiCoder.decode(["address", "uint256", "uint256", "bytes", "bool"], input);
|
|
9
9
|
// Path is at least 43 bytes long for 2 times 20B addresses + 3B fee in between
|
|
10
10
|
// Example for the pattern pattern: 20B address + 3B fee + 20B address
|
|
11
11
|
// more addresses can be included after another 3B space
|
|
@@ -26,6 +26,10 @@ const wrapEthDecoder = (input, chainId) => {
|
|
|
26
26
|
const contract = WETH_PER_CHAIN_ID[chainId];
|
|
27
27
|
return contract instanceof Error ? [] : [contract.toLowerCase()];
|
|
28
28
|
};
|
|
29
|
+
const sweepDecoder = (input) => {
|
|
30
|
+
const [token] = defaultAbiCoder.decode(["address", "address", "uint256"], input);
|
|
31
|
+
return [token.toLowerCase()];
|
|
32
|
+
};
|
|
29
33
|
const noDecoder = () => [];
|
|
30
34
|
export const UniswapDecoders = {
|
|
31
35
|
V2_SWAP_EXACT_IN: swapV2Decoder,
|
|
@@ -39,5 +43,6 @@ export const UniswapDecoders = {
|
|
|
39
43
|
PERMIT2_PERMIT_BATCH: noDecoder,
|
|
40
44
|
PERMIT2_TRANSFER_FROM_BATCH: noDecoder,
|
|
41
45
|
PAY_PORTION: noDecoder,
|
|
46
|
+
SWEEP: sweepDecoder,
|
|
42
47
|
};
|
|
43
48
|
//# sourceMappingURL=decoders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoders.js","sourceRoot":"","sources":["../../../src/modules/Uniswap/decoders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"decoders.js","sourceRoot":"","sources":["../../../src/modules/Uniswap/decoders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAmB,EAAE;IAC9D,MAAM,CAAC,EAAE,AAAD,EAAG,AAAD,EAAG,SAAS,CAAC,GAAG,eAAe,CAAC,MAAM,CAC9C,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,EACtD,KAAK,CACN,CAAC;IAEF,OAAO,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAmB,EAAE;IAC9D,MAAM,CAAC,EAAE,AAAD,EAAG,AAAD,EAAG,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,CACzC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,EAClD,KAAK,CACN,CAAC;IACF,+EAA+E;IAC/E,sEAAsE;IACtE,wDAAwD;IACxD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAErD,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CACT,KAAK,UAAU;aACZ,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;aACnB,QAAQ,CAAC,KAAK,CAAC;aACf,WAAW,EAAE,EAAE,CACnB,CAAC;QACF,4BAA4B;QAC5B,CAAC,IAAI,EAAE,CAAC;IACV,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,KAAoB,EAAE,OAAwB,EAAmB,EAAE;IACzF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAoB,EAAmB,EAAE;IAC7D,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IAEjF,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;AAE3B,MAAM,CAAC,MAAM,eAAe,GAGxB;IACF,gBAAgB,EAAE,aAAa;IAC/B,iBAAiB,EAAE,aAAa;IAChC,gBAAgB,EAAE,aAAa;IAC/B,iBAAiB,EAAE,aAAa;IAChC,QAAQ,EAAE,cAAc;IACxB,UAAU,EAAE,cAAc;IAC1B,cAAc,EAAE,SAAS;IACzB,qBAAqB,EAAE,SAAS;IAChC,oBAAoB,EAAE,SAAS;IAC/B,2BAA2B,EAAE,SAAS;IACtC,WAAW,EAAE,SAAS;IACtB,KAAK,EAAE,YAAY;CACpB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import type { Transaction } from "@ethersproject/transactions";
|
|
3
4
|
import { LoadConfig } from "../../services/types";
|
|
4
5
|
import { CommandsAndTokens } from "./types";
|
|
5
6
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/Uniswap/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/Uniswap/index.ts"],"names":[],"mappings":";;AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAQ5C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,aACZ,KAAK,MAAM,EAAE,MACnB,MAAM,GAAG,SAAS,WACb,MAAM,2CAEd,OAoCF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,uCAAuC,aACxC,KAAK,MAAM,EAAE,WACd,MAAM,sBAmBhB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,gBACjB,WAAW,WACf,MAAM,eACF,UAAU;;;EAoDxB,CAAC"}
|
|
@@ -1,14 +1,5 @@
|
|
|
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
1
|
import { log } from "@ledgerhq/logs";
|
|
11
|
-
import {
|
|
2
|
+
import { Interface } from "@ethersproject/abi";
|
|
12
3
|
import { byContractAddressAndChainId, findERC20SignaturesInfo } from "../../services/ledger/erc20";
|
|
13
4
|
import { UniswapDecoders } from "./decoders";
|
|
14
5
|
import { SWAP_COMMANDS, UNISWAP_EXECUTE_SELECTOR, UNISWAP_UNIVERSAL_ROUTER_ADDRESS, UNISWAP_COMMANDS, } from "./constants";
|
|
@@ -27,7 +18,7 @@ import { SWAP_COMMANDS, UNISWAP_EXECUTE_SELECTOR, UNISWAP_UNIVERSAL_ROUTER_ADDRE
|
|
|
27
18
|
*/
|
|
28
19
|
export const isSupported = (calldata, to, chainId, commandsAndTokens) => {
|
|
29
20
|
const selector = calldata.slice(0, 10);
|
|
30
|
-
const contractAddress = to
|
|
21
|
+
const contractAddress = to?.toLowerCase();
|
|
31
22
|
if (selector !== UNISWAP_EXECUTE_SELECTOR ||
|
|
32
23
|
contractAddress !== UNISWAP_UNIVERSAL_ROUTER_ADDRESS ||
|
|
33
24
|
!commandsAndTokens.length) {
|
|
@@ -68,7 +59,7 @@ export const isSupported = (calldata, to, chainId, commandsAndTokens) => {
|
|
|
68
59
|
*/
|
|
69
60
|
export const getCommandsAndTokensFromUniswapCalldata = (calldata, chainId) => {
|
|
70
61
|
try {
|
|
71
|
-
const [commands, inputs] = new
|
|
62
|
+
const [commands, inputs] = new Interface([
|
|
72
63
|
"function execute(bytes calldata commands, bytes[] calldata inputs, uint256 deadline) external payable",
|
|
73
64
|
]).decodeFunctionData("execute", calldata);
|
|
74
65
|
const commandsBuffer = Buffer.from(commands.slice(2), "hex");
|
|
@@ -96,18 +87,18 @@ export const getCommandsAndTokensFromUniswapCalldata = (calldata, chainId) => {
|
|
|
96
87
|
* @param {LoadConfig} userConfig
|
|
97
88
|
* @returns {Promise<{ pluginData?: Buffer; tokenDescriptors?: Buffer[] }>}
|
|
98
89
|
*/
|
|
99
|
-
export const loadInfosForUniswap = (transaction, chainId, userConfig) =>
|
|
90
|
+
export const loadInfosForUniswap = async (transaction, chainId, userConfig) => {
|
|
100
91
|
const selector = transaction.data.slice(0, 10);
|
|
101
92
|
const commandsAndTokens = getCommandsAndTokensFromUniswapCalldata(transaction.data, chainId);
|
|
102
93
|
if (!isSupported(selector, transaction.to, chainId, commandsAndTokens)) {
|
|
103
94
|
return {};
|
|
104
95
|
}
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
const erc20SignaturesBlob =
|
|
108
|
-
return
|
|
109
|
-
}))
|
|
110
|
-
const tokenDescriptors =
|
|
96
|
+
const uniqueTokens = Array.from(new Set(commandsAndTokens.flatMap(([, tokens]) => tokens)));
|
|
97
|
+
const tokenDescriptorsPromises = Promise.all(uniqueTokens.map(async (token) => {
|
|
98
|
+
const erc20SignaturesBlob = await findERC20SignaturesInfo(userConfig || {}, chainId);
|
|
99
|
+
return byContractAddressAndChainId(token, chainId, erc20SignaturesBlob, userConfig)?.data;
|
|
100
|
+
}));
|
|
101
|
+
const tokenDescriptors = await tokenDescriptorsPromises.then(descriptors => descriptors.filter((descriptor) => !!descriptor));
|
|
111
102
|
const pluginName = "Uniswap";
|
|
112
103
|
// 1 byte for the length of the plugin name
|
|
113
104
|
const lengthBuff = Buffer.alloc(1);
|
|
@@ -133,5 +124,5 @@ export const loadInfosForUniswap = (transaction, chainId, userConfig) => __await
|
|
|
133
124
|
pluginData,
|
|
134
125
|
tokenDescriptors,
|
|
135
126
|
};
|
|
136
|
-
}
|
|
127
|
+
};
|
|
137
128
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/Uniswap/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/Uniswap/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export type UniswapSupportedCommand = "V2_SWAP_EXACT_IN" | "V2_SWAP_EXACT_OUT" | "V3_SWAP_EXACT_IN" | "V3_SWAP_EXACT_OUT" | "WRAP_ETH" | "UNWRAP_ETH" | "PERMIT2_PERMIT" | "PERMIT2_TRANSFER_FROM" | "PERMIT2_PERMIT_BATCH" | "PERMIT2_TRANSFER_FROM_BATCH" | "PAY_PORTION";
|
|
1
|
+
export type UniswapSupportedCommand = "V2_SWAP_EXACT_IN" | "V2_SWAP_EXACT_OUT" | "V3_SWAP_EXACT_IN" | "V3_SWAP_EXACT_OUT" | "WRAP_ETH" | "UNWRAP_ETH" | "PERMIT2_PERMIT" | "PERMIT2_TRANSFER_FROM" | "PERMIT2_PERMIT_BATCH" | "PERMIT2_TRANSFER_FROM_BATCH" | "PAY_PORTION" | "SWEEP";
|
|
2
2
|
export type CommandsAndTokens = [UniswapSupportedCommand | undefined, `0x${string}`[]][];
|
|
3
3
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/modules/Uniswap/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAC/B,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,mBAAmB,GACnB,UAAU,GACV,YAAY,GACZ,gBAAgB,GAChB,uBAAuB,GACvB,sBAAsB,GACtB,6BAA6B,GAC7B,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/modules/Uniswap/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAC/B,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,mBAAmB,GACnB,UAAU,GACV,YAAY,GACZ,gBAAgB,GAChB,uBAAuB,GACvB,sBAAsB,GACtB,6BAA6B,GAC7B,aAAa,GACb,OAAO,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,uBAAuB,GAAG,SAAS,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC"}
|
|
@@ -1,24 +1,15 @@
|
|
|
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
1
|
import axios from "axios";
|
|
11
2
|
import { getLoadConfig } from "./loadConfig";
|
|
12
3
|
import { log } from "@ledgerhq/logs";
|
|
13
4
|
/**
|
|
14
5
|
* Retrieve the metadatas a given contract address and a method selector
|
|
15
6
|
*/
|
|
16
|
-
export const loadInfosForContractMethod = (contractAddress, selector, chainId, userLoadConfig) =>
|
|
7
|
+
export const loadInfosForContractMethod = async (contractAddress, selector, chainId, userLoadConfig) => {
|
|
17
8
|
const { pluginBaseURL, extraPlugins } = getLoadConfig(userLoadConfig);
|
|
18
9
|
let data = {};
|
|
19
10
|
if (pluginBaseURL) {
|
|
20
11
|
const url = `${pluginBaseURL}/plugins/ethereum.json`;
|
|
21
|
-
data =
|
|
12
|
+
data = await axios
|
|
22
13
|
.get(`${pluginBaseURL}/plugins/ethereum.json`)
|
|
23
14
|
.then(r => r.data)
|
|
24
15
|
.catch(e => {
|
|
@@ -27,7 +18,7 @@ export const loadInfosForContractMethod = (contractAddress, selector, chainId, u
|
|
|
27
18
|
});
|
|
28
19
|
}
|
|
29
20
|
if (extraPlugins) {
|
|
30
|
-
data =
|
|
21
|
+
data = { ...data, ...extraPlugins };
|
|
31
22
|
}
|
|
32
23
|
if (!data)
|
|
33
24
|
return;
|
|
@@ -45,5 +36,5 @@ export const loadInfosForContractMethod = (contractAddress, selector, chainId, u
|
|
|
45
36
|
};
|
|
46
37
|
}
|
|
47
38
|
}
|
|
48
|
-
}
|
|
39
|
+
};
|
|
49
40
|
//# sourceMappingURL=contracts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/services/ledger/contracts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/services/ledger/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,MAAM,0BAA0B,GAAG,KAAK,EAC7C,eAAuB,EACvB,QAAgB,EAChB,OAAe,EACf,cAA0B,EACW,EAAE;IACvC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IAEtE,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,GAAG,aAAa,wBAAwB,CAAC;QACrD,IAAI,GAAG,MAAM,KAAK;aACf,GAAG,CAAC,GAAG,aAAa,wBAAwB,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAW,CAAC;aACxB,KAAK,CAAC,CAAC,CAAC,EAAE;YACT,GAAG,CAAC,OAAO,EAAE,uBAAuB,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC1C,MAAM,iBAAiB,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IAExD,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;QAC9B,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAElD,IAAI,UAAU,IAAI,iBAAiB,EAAE,CAAC;YACpC,OAAO;gBACL,OAAO,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAAC;gBACzD,SAAS,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC;gBACrD,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;gBAC/C,eAAe,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAAC;gBACjE,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC;aAC9B,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
2
3
|
import { LoadConfig } from "../types";
|
|
3
4
|
export declare const findERC20SignaturesInfo: (userLoadConfig: LoadConfig, chainId: number) => Promise<string | null>;
|
|
4
5
|
/**
|
|
5
6
|
* Retrieve the token information by a given contract address if any
|
|
6
7
|
*/
|
|
7
|
-
export declare const byContractAddressAndChainId: (contract: string, chainId: number, erc20SignaturesBlob?: string | null) => ReturnType<API["byContractAndChainId"]>;
|
|
8
|
+
export declare const byContractAddressAndChainId: (contract: string, chainId: number, erc20SignaturesBlob?: string | null, userLoadConfig?: LoadConfig) => ReturnType<API["byContractAndChainId"]>;
|
|
8
9
|
export type TokenInfo = {
|
|
9
10
|
contractAddress: string;
|
|
10
11
|
ticker: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erc20.d.ts","sourceRoot":"","sources":["../../../src/services/ledger/erc20.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"erc20.d.ts","sourceRoot":"","sources":["../../../src/services/ledger/erc20.ts"],"names":[],"mappings":";;AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAOtC,eAAO,MAAM,uBAAuB,mBAClB,UAAU,WACjB,MAAM,KACd,QAAQ,MAAM,GAAG,IAAI,CAmBvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,aAC5B,MAAM,WACP,MAAM,wBACO,MAAM,GAAG,IAAI,mBAClB,UAAU,KAC1B,WAAW,GAAG,CAAC,sBAAsB,CAAC,CAwBxC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,GAAG,GAAG;IAChB,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IACjF,IAAI,EAAE,MAAM,SAAS,EAAE,CAAC;CACzB,CAAC"}
|
|
@@ -1,26 +1,16 @@
|
|
|
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
1
|
import axios from "axios";
|
|
11
2
|
import { log } from "@ledgerhq/logs";
|
|
12
|
-
import { signatures as signaturesByChainId } from "@ledgerhq/cryptoassets-evm-signatures/data/evm/index";
|
|
13
3
|
import { getLoadConfig } from "./loadConfig";
|
|
14
4
|
const asContractAddress = (addr) => {
|
|
15
5
|
const a = addr.toLowerCase();
|
|
16
6
|
return a.startsWith("0x") ? a : "0x" + a;
|
|
17
7
|
};
|
|
18
|
-
export const findERC20SignaturesInfo = (userLoadConfig, chainId) =>
|
|
8
|
+
export const findERC20SignaturesInfo = async (userLoadConfig, chainId) => {
|
|
19
9
|
const { cryptoassetsBaseURL } = getLoadConfig(userLoadConfig);
|
|
20
10
|
if (!cryptoassetsBaseURL)
|
|
21
11
|
return null;
|
|
22
12
|
const url = `${cryptoassetsBaseURL}/evm/${chainId}/erc20-signatures.json`;
|
|
23
|
-
const blob =
|
|
13
|
+
const blob = await axios
|
|
24
14
|
.get(url)
|
|
25
15
|
.then(({ data }) => {
|
|
26
16
|
if (!data || typeof data !== "string") {
|
|
@@ -33,23 +23,31 @@ export const findERC20SignaturesInfo = (userLoadConfig, chainId) => __awaiter(vo
|
|
|
33
23
|
return null;
|
|
34
24
|
});
|
|
35
25
|
return blob;
|
|
36
|
-
}
|
|
26
|
+
};
|
|
37
27
|
/**
|
|
38
28
|
* Retrieve the token information by a given contract address if any
|
|
39
29
|
*/
|
|
40
|
-
export const byContractAddressAndChainId = (contract, chainId, erc20SignaturesBlob) => {
|
|
41
|
-
var _a, _b;
|
|
30
|
+
export const byContractAddressAndChainId = (contract, chainId, erc20SignaturesBlob, userLoadConfig) => {
|
|
42
31
|
// If we are able to fetch data from s3 bucket that contains dynamic CAL
|
|
43
32
|
if (erc20SignaturesBlob) {
|
|
44
33
|
try {
|
|
45
34
|
return parse(erc20SignaturesBlob).byContractAndChainId(asContractAddress(contract), chainId);
|
|
46
35
|
}
|
|
47
36
|
catch (e) {
|
|
48
|
-
|
|
37
|
+
// Fall through to static fallback if dynamic CAL parsing fails
|
|
49
38
|
}
|
|
50
39
|
}
|
|
51
|
-
//
|
|
52
|
-
|
|
40
|
+
// Static fallback from injected signatures (for external library users)
|
|
41
|
+
const loadConfig = userLoadConfig ? getLoadConfig(userLoadConfig) : null;
|
|
42
|
+
if (loadConfig?.staticERC20Signatures?.[chainId]) {
|
|
43
|
+
try {
|
|
44
|
+
return parse(loadConfig.staticERC20Signatures[chainId]).byContractAndChainId(asContractAddress(contract), chainId);
|
|
45
|
+
}
|
|
46
|
+
catch (e) {
|
|
47
|
+
log("error", `Failed to parse static ERC20 signatures for chainId ${chainId}: ${String(e)}`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
53
51
|
};
|
|
54
52
|
const parse = (erc20SignaturesBlob) => {
|
|
55
53
|
const buf = Buffer.from(erc20SignaturesBlob, "base64");
|
|
@@ -89,18 +87,4 @@ const parse = (erc20SignaturesBlob) => {
|
|
|
89
87
|
byContractAndChainId: (contractAddress, chainId) => map[String(chainId) + ":" + contractAddress],
|
|
90
88
|
};
|
|
91
89
|
};
|
|
92
|
-
// this internal get() will lazy load and cache the data from the erc20 data blob
|
|
93
|
-
const get = (() => {
|
|
94
|
-
const cache = {};
|
|
95
|
-
return chainId => {
|
|
96
|
-
if (cache[chainId])
|
|
97
|
-
return cache[chainId];
|
|
98
|
-
const signatureBlob = signaturesByChainId[chainId];
|
|
99
|
-
if (!signatureBlob)
|
|
100
|
-
return null;
|
|
101
|
-
const api = parse(signatureBlob);
|
|
102
|
-
cache[chainId] = api;
|
|
103
|
-
return api;
|
|
104
|
-
};
|
|
105
|
-
})();
|
|
106
90
|
//# sourceMappingURL=erc20.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../../src/services/ledger/erc20.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../../src/services/ledger/erc20.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/ledger/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/ledger/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAkC,2BAA2B,EAAc,MAAM,UAAU,CAAC;;AAqQnG,wBAIiC"}
|