@ledgerhq/hw-app-eth 6.41.1 → 6.42.0-next.0

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,4 +1,4 @@
1
1
 
2
- > @ledgerhq/hw-app-eth@6.41.1 build /home/runner/work/ledger-live/ledger-live/libs/ledgerjs/packages/hw-app-eth
2
+ > @ledgerhq/hw-app-eth@6.41.0 build /home/runner/work/ledger-live/ledger-live/libs/ledgerjs/packages/hw-app-eth
3
3
  > tsc && tsc -m ES6 --outDir lib-es
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,20 +1,15 @@
1
1
  # @ledgerhq/hw-app-eth
2
2
 
3
- ## 6.41.1
3
+ ## 6.42.0-next.0
4
4
 
5
- ### Patch Changes
6
-
7
- - Updated dependencies [[`5ce33a4`](https://github.com/LedgerHQ/ledger-live/commit/5ce33a417ecc87face54c1864aa49476c5f394b9), [`a52f6ae`](https://github.com/LedgerHQ/ledger-live/commit/a52f6ae3d49ea8daea42d9cdc24e9dd0d6d0f371), [`748cf14`](https://github.com/LedgerHQ/ledger-live/commit/748cf146b3e903172831e7e5ddbc29a3565c8932), [`61f8b03`](https://github.com/LedgerHQ/ledger-live/commit/61f8b033f710369171e277f5c0faede636207160)]:
8
- - @ledgerhq/types-live@6.53.1
9
- - @ledgerhq/domain-service@1.2.12
10
- - @ledgerhq/evm-tools@1.3.0
5
+ ### Minor Changes
11
6
 
12
- ## 6.41.1-next.0
7
+ - [#8430](https://github.com/LedgerHQ/ledger-live/pull/8430) [`abb25e1`](https://github.com/LedgerHQ/ledger-live/commit/abb25e1c0238b918824a9350ac29a425c2b19643) Thanks [@lambertkevin](https://github.com/lambertkevin)! - Add support for `SWEEP` command in Uniswap plugin
13
8
 
14
9
  ### Patch Changes
15
10
 
16
- - Updated dependencies [[`5ce33a4`](https://github.com/LedgerHQ/ledger-live/commit/5ce33a417ecc87face54c1864aa49476c5f394b9), [`a52f6ae`](https://github.com/LedgerHQ/ledger-live/commit/a52f6ae3d49ea8daea42d9cdc24e9dd0d6d0f371), [`748cf14`](https://github.com/LedgerHQ/ledger-live/commit/748cf146b3e903172831e7e5ddbc29a3565c8932), [`61f8b03`](https://github.com/LedgerHQ/ledger-live/commit/61f8b033f710369171e277f5c0faede636207160)]:
17
- - @ledgerhq/types-live@6.53.1-next.0
11
+ - Updated dependencies [[`724fa8b`](https://github.com/LedgerHQ/ledger-live/commit/724fa8b29cbda74a729c5756f91c5c9b745fdbdb), [`5ce33a4`](https://github.com/LedgerHQ/ledger-live/commit/5ce33a417ecc87face54c1864aa49476c5f394b9), [`a52f6ae`](https://github.com/LedgerHQ/ledger-live/commit/a52f6ae3d49ea8daea42d9cdc24e9dd0d6d0f371), [`748cf14`](https://github.com/LedgerHQ/ledger-live/commit/748cf146b3e903172831e7e5ddbc29a3565c8932), [`61f8b03`](https://github.com/LedgerHQ/ledger-live/commit/61f8b033f710369171e277f5c0faede636207160)]:
12
+ - @ledgerhq/types-live@6.54.0-next.0
18
13
  - @ledgerhq/domain-service@1.2.12-next.0
19
14
  - @ledgerhq/evm-tools@1.3.0
20
15
 
@@ -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,CAY3E,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,uBAAuB,CAAC,EAKlD,CAAC"}
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"}
@@ -49,6 +49,7 @@ exports.UNISWAP_COMMANDS = {
49
49
  "0x02": "PERMIT2_PERMIT_BATCH",
50
50
  "0x03": "PERMIT2_TRANSFER_FROM_BATCH",
51
51
  "0x06": "PAY_PORTION",
52
+ "0x04": "SWEEP",
52
53
  };
53
54
  exports.SWAP_COMMANDS = [
54
55
  "V2_SWAP_EXACT_IN",
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/modules/Uniswap/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,gCAAgC,GAAG,4CAA4C,CAAC;AAChF,QAAA,wBAAwB,GAAG,YAAY,CAAC;AAExC,QAAA,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;AAEW,QAAA,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;CACtB,CAAC;AAEW,QAAA,aAAa,GAAuC;IAC/D,kBAAkB;IAClB,mBAAmB;IACnB,kBAAkB;IAClB,mBAAmB;CACX,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/modules/Uniswap/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,gCAAgC,GAAG,4CAA4C,CAAC;AAChF,QAAA,wBAAwB,GAAG,YAAY,CAAC;AAExC,QAAA,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;AAEW,QAAA,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;AAEW,QAAA,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;AA4ClD,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,CAapE,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"}
@@ -29,6 +29,10 @@ const wrapEthDecoder = (input, chainId) => {
29
29
  const contract = constants_1.WETH_PER_CHAIN_ID[chainId];
30
30
  return contract instanceof Error ? [] : [contract.toLowerCase()];
31
31
  };
32
+ const sweepDecoder = (input) => {
33
+ const [token] = abi_1.defaultAbiCoder.decode(["address", "address", "uint256"], input);
34
+ return [token.toLowerCase()];
35
+ };
32
36
  const noDecoder = () => [];
33
37
  exports.UniswapDecoders = {
34
38
  V2_SWAP_EXACT_IN: swapV2Decoder,
@@ -42,5 +46,6 @@ exports.UniswapDecoders = {
42
46
  PERMIT2_PERMIT_BATCH: noDecoder,
43
47
  PERMIT2_TRANSFER_FROM_BATCH: noDecoder,
44
48
  PAY_PORTION: noDecoder,
49
+ SWEEP: sweepDecoder,
45
50
  };
46
51
  //# sourceMappingURL=decoders.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decoders.js","sourceRoot":"","sources":["../../../src/modules/Uniswap/decoders.ts"],"names":[],"mappings":";;;AAAA,4CAAqD;AACrD,2CAAgD;AAGhD,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAmB,EAAE;IAC9D,MAAM,CAAC,EAAE,AAAD,EAAG,AAAD,EAAG,SAAS,CAAC,GAAG,qBAAe,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,qBAAe,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,6BAAiB,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,SAAS,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;AAEd,QAAA,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;CACvB,CAAC"}
1
+ {"version":3,"file":"decoders.js","sourceRoot":"","sources":["../../../src/modules/Uniswap/decoders.ts"],"names":[],"mappings":";;;AAAA,4CAAqD;AACrD,2CAAgD;AAGhD,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAmB,EAAE;IAC9D,MAAM,CAAC,EAAE,AAAD,EAAG,AAAD,EAAG,SAAS,CAAC,GAAG,qBAAe,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,qBAAe,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,6BAAiB,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,qBAAe,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;AAEd,QAAA,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"}
@@ -107,11 +107,12 @@ const loadInfosForUniswap = (transaction, chainId, userConfig) => __awaiter(void
107
107
  if (!(0, exports.isSupported)(selector, transaction.to, chainId, commandsAndTokens)) {
108
108
  return {};
109
109
  }
110
- const tokenDescriptorsPromises = Promise.all(commandsAndTokens.flatMap(([, tokens]) => tokens.map((token) => __awaiter(void 0, void 0, void 0, function* () {
110
+ const uniqueTokens = Array.from(new Set(commandsAndTokens.flatMap(([, tokens]) => tokens)));
111
+ const tokenDescriptorsPromises = Promise.all(uniqueTokens.map((token) => __awaiter(void 0, void 0, void 0, function* () {
111
112
  var _a;
112
113
  const erc20SignaturesBlob = yield (0, erc20_1.findERC20SignaturesInfo)(userConfig || {}, chainId);
113
114
  return (_a = (0, erc20_1.byContractAddressAndChainId)(token, chainId, erc20SignaturesBlob)) === null || _a === void 0 ? void 0 : _a.data;
114
- }))));
115
+ })));
115
116
  const tokenDescriptors = yield tokenDescriptorsPromises.then(descriptors => descriptors.filter((descriptor) => !!descriptor));
116
117
  const pluginName = "Uniswap";
117
118
  // 1 byte for the length of the plugin name
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/Uniswap/index.ts"],"names":[],"mappings":"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"}
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;AAElB,MAAM,MAAM,iBAAiB,GAAG,CAAC,uBAAuB,GAAG,SAAS,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC,EAAE,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 +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,CAY3E,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,uBAAuB,CAAC,EAKlD,CAAC"}
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"}
@@ -46,6 +46,7 @@ export const UNISWAP_COMMANDS = {
46
46
  "0x02": "PERMIT2_PERMIT_BATCH",
47
47
  "0x03": "PERMIT2_TRANSFER_FROM_BATCH",
48
48
  "0x06": "PAY_PORTION",
49
+ "0x04": "SWEEP",
49
50
  };
50
51
  export const SWAP_COMMANDS = [
51
52
  "V2_SWAP_EXACT_IN",
@@ -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;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAuC;IAC/D,kBAAkB;IAClB,mBAAmB;IACnB,kBAAkB;IAClB,mBAAmB;CACX,CAAC"}
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;AA4ClD,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,CAapE,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"}
@@ -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,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,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;CACvB,CAAC"}
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"}
@@ -102,11 +102,12 @@ export const loadInfosForUniswap = (transaction, chainId, userConfig) => __await
102
102
  if (!isSupported(selector, transaction.to, chainId, commandsAndTokens)) {
103
103
  return {};
104
104
  }
105
- const tokenDescriptorsPromises = Promise.all(commandsAndTokens.flatMap(([, tokens]) => tokens.map((token) => __awaiter(void 0, void 0, void 0, function* () {
105
+ const uniqueTokens = Array.from(new Set(commandsAndTokens.flatMap(([, tokens]) => tokens)));
106
+ const tokenDescriptorsPromises = Promise.all(uniqueTokens.map((token) => __awaiter(void 0, void 0, void 0, function* () {
106
107
  var _a;
107
108
  const erc20SignaturesBlob = yield findERC20SignaturesInfo(userConfig || {}, chainId);
108
109
  return (_a = byContractAddressAndChainId(token, chainId, erc20SignaturesBlob)) === null || _a === void 0 ? void 0 : _a.data;
109
- }))));
110
+ })));
110
111
  const tokenDescriptors = yield tokenDescriptorsPromises.then(descriptors => descriptors.filter((descriptor) => !!descriptor));
111
112
  const pluginName = "Uniswap";
112
113
  // 1 byte for the length of the plugin name
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/Uniswap/index.ts"],"names":[],"mappings":"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"}
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;AAElB,MAAM,MAAM,iBAAiB,GAAG,CAAC,uBAAuB,GAAG,SAAS,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC,EAAE,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/hw-app-eth",
3
- "version": "6.41.1",
3
+ "version": "6.42.0-next.0",
4
4
  "description": "Ledger Hardware Wallet Ethereum Application API",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -33,13 +33,13 @@
33
33
  "bignumber.js": "^9.1.2",
34
34
  "semver": "^7.3.5",
35
35
  "@ledgerhq/cryptoassets-evm-signatures": "^13.5.2",
36
- "@ledgerhq/domain-service": "^1.2.12",
36
+ "@ledgerhq/domain-service": "^1.2.12-next.0",
37
37
  "@ledgerhq/errors": "^6.19.1",
38
38
  "@ledgerhq/evm-tools": "^1.3.0",
39
39
  "@ledgerhq/hw-transport": "^6.31.4",
40
40
  "@ledgerhq/hw-transport-mocker": "^6.29.4",
41
41
  "@ledgerhq/logs": "^6.12.0",
42
- "@ledgerhq/types-live": "^6.53.1"
42
+ "@ledgerhq/types-live": "^6.54.0-next.0"
43
43
  },
44
44
  "gitHead": "dd0dea64b58e5a9125c8a422dcffd29e5ef6abec",
45
45
  "devDependencies": {
@@ -50,6 +50,7 @@ export const UNISWAP_COMMANDS: Record<`0x${string}`, UniswapSupportedCommand> =
50
50
  "0x02": "PERMIT2_PERMIT_BATCH",
51
51
  "0x03": "PERMIT2_TRANSFER_FROM_BATCH",
52
52
  "0x06": "PAY_PORTION",
53
+ "0x04": "SWEEP",
53
54
  };
54
55
 
55
56
  export const SWAP_COMMANDS: Partial<UniswapSupportedCommand>[] = [
@@ -42,6 +42,12 @@ const wrapEthDecoder = (input: `0x${string}`, chainId: number | string): `0x${st
42
42
  return contract instanceof Error ? [] : [contract.toLowerCase()];
43
43
  };
44
44
 
45
+ const sweepDecoder = (input: `0x${string}`): `0x${string}`[] => {
46
+ const [token] = defaultAbiCoder.decode(["address", "address", "uint256"], input);
47
+
48
+ return [token.toLowerCase()];
49
+ };
50
+
45
51
  const noDecoder = () => [];
46
52
 
47
53
  export const UniswapDecoders: Record<
@@ -59,4 +65,5 @@ export const UniswapDecoders: Record<
59
65
  PERMIT2_PERMIT_BATCH: noDecoder,
60
66
  PERMIT2_TRANSFER_FROM_BATCH: noDecoder,
61
67
  PAY_PORTION: noDecoder,
68
+ SWEEP: sweepDecoder,
62
69
  };
@@ -125,14 +125,14 @@ export const loadInfosForUniswap = async (
125
125
  return {};
126
126
  }
127
127
 
128
+ const uniqueTokens = Array.from(new Set(commandsAndTokens.flatMap(([, tokens]) => tokens)));
128
129
  const tokenDescriptorsPromises = Promise.all(
129
- commandsAndTokens.flatMap(([, tokens]) =>
130
- tokens.map(async token => {
131
- const erc20SignaturesBlob = await findERC20SignaturesInfo(userConfig || {}, chainId);
132
- return byContractAddressAndChainId(token, chainId, erc20SignaturesBlob)?.data;
133
- }),
134
- ),
130
+ uniqueTokens.map(async token => {
131
+ const erc20SignaturesBlob = await findERC20SignaturesInfo(userConfig || {}, chainId);
132
+ return byContractAddressAndChainId(token, chainId, erc20SignaturesBlob)?.data;
133
+ }),
135
134
  );
135
+
136
136
  const tokenDescriptors = await tokenDescriptorsPromises.then(descriptors =>
137
137
  descriptors.filter((descriptor): descriptor is Buffer => !!descriptor),
138
138
  );
@@ -9,6 +9,7 @@ export type UniswapSupportedCommand =
9
9
  | "PERMIT2_TRANSFER_FROM"
10
10
  | "PERMIT2_PERMIT_BATCH"
11
11
  | "PERMIT2_TRANSFER_FROM_BATCH"
12
- | "PAY_PORTION";
12
+ | "PAY_PORTION"
13
+ | "SWEEP";
13
14
 
14
15
  export type CommandsAndTokens = [UniswapSupportedCommand | undefined, `0x${string}`[]][];
@@ -333,8 +333,6 @@ describe("Eth app biding", () => {
333
333
  <= 9000
334
334
  => e00a0000680457455448c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000012000000013045022100b47ee8551c15a2cf681c649651e987d7e527c481d27c38da1f971a8242792bd3022069c3f688ac5493a23dab5798e3c9b07484765069e1d4be14321aae4d92cb8cbe
335
335
  <= 009000
336
- => e00a0000680457455448c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000012000000013045022100b47ee8551c15a2cf681c649651e987d7e527c481d27c38da1f971a8242792bd3022069c3f688ac5493a23dab5798e3c9b07484765069e1d4be14321aae4d92cb8cbe
337
- <= 019000
338
336
  => e0040000ff058000002c8000003c80000000000000000000000002f9044f018084448b9b8085143fc44a5883048f8b943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b904243593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000669ba25a00000000000000000000000000000000000000000000000000000000000000030a010c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
339
337
  <= 9000
340
338
  => e0048000ff0000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000016000000000000000000000000055747be9f9f5beb232ad59fe7af013b81d95fd5e000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066c32ea60000000000000000000000000000000000000000000000
@@ -73,6 +73,15 @@ describe("Uniswap", () => {
73
73
  }
74
74
  });
75
75
 
76
+ it("should decode a SWEEP command input", () => {
77
+ // see tx 0xcc3a651b4f962576ed8f2142326271d090dcb701b754429f99e9b77d38cedc30
78
+ const input =
79
+ "0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000001125ffbea29018485cc228e39aade004a359fe990000000000000000000000000000000000000000000000000000000000000000";
80
+ expect(UniswapDecoders["SWEEP"](input, 1)).toEqual([
81
+ "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", // USDC
82
+ ]);
83
+ });
84
+
76
85
  it("should return an empty array for other supported commands", () => {
77
86
  const input =
78
87
  "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000204fce5e3e2502611000000000000000000000000000000000000000000000000000000001f942ac9a54ae2700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000003ffeea07a27fab7ad1df5297fa75e77a43cb5790000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000ccae1bc46fb018dd396ed4c45565d4cb9d41098";
@@ -86,6 +95,7 @@ describe("Uniswap", () => {
86
95
  "V3_SWAP_EXACT_OUT",
87
96
  "WRAP_ETH",
88
97
  "UNWRAP_ETH",
98
+ "SWEEP",
89
99
  ].includes(command)
90
100
  ) {
91
101
  return decoder;
@@ -164,10 +164,6 @@ describe("Uniswap", () => {
164
164
  "0457455448c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000012000000013045022100b47ee8551c15a2cf681c649651e987d7e527c481d27c38da1f971a8242792bd3022069c3f688ac5493a23dab5798e3c9b07484765069e1d4be14321aae4d92cb8cbe",
165
165
  "hex",
166
166
  ),
167
- Buffer.from(
168
- "0457455448c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000012000000013045022100b47ee8551c15a2cf681c649651e987d7e527c481d27c38da1f971a8242792bd3022069c3f688ac5493a23dab5798e3c9b07484765069e1d4be14321aae4d92cb8cbe",
169
- "hex",
170
- ),
171
167
  ],
172
168
  });
173
169
  });
@@ -676,7 +676,6 @@ describe("Ledger Service", () => {
676
676
  domains: [],
677
677
  erc20Tokens: [
678
678
  "0457455448c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000012000000013045022100b47ee8551c15a2cf681c649651e987d7e527c481d27c38da1f971a8242792bd3022069c3f688ac5493a23dab5798e3c9b07484765069e1d4be14321aae4d92cb8cbe",
679
- "0457455448c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000012000000013045022100b47ee8551c15a2cf681c649651e987d7e527c481d27c38da1f971a8242792bd3022069c3f688ac5493a23dab5798e3c9b07484765069e1d4be14321aae4d92cb8cbe",
680
679
  ],
681
680
  nfts: [],
682
681
  externalPlugin: [
@@ -689,8 +688,8 @@ describe("Ledger Service", () => {
689
688
  plugin: [],
690
689
  });
691
690
  expect(contractServices.loadInfosForContractMethod).toHaveBeenCalledTimes(0);
692
- expect(erc20Services.findERC20SignaturesInfo).toHaveBeenCalledTimes(3);
693
- expect(erc20Services.byContractAddressAndChainId).toHaveBeenCalledTimes(3);
691
+ expect(erc20Services.findERC20SignaturesInfo).toHaveBeenCalledTimes(2);
692
+ expect(erc20Services.byContractAddressAndChainId).toHaveBeenCalledTimes(2);
694
693
  expect(uniswapModule.loadInfosForUniswap).toHaveBeenCalledTimes(1);
695
694
  expect(uniswapModule.getCommandsAndTokensFromUniswapCalldata).toHaveBeenCalledTimes(1);
696
695
  expect(nftServices.getNFTInfo).not.toHaveBeenCalled();
@@ -719,7 +718,6 @@ describe("Ledger Service", () => {
719
718
  domains: [],
720
719
  erc20Tokens: [
721
720
  "0457455448c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000012000000013045022100b47ee8551c15a2cf681c649651e987d7e527c481d27c38da1f971a8242792bd3022069c3f688ac5493a23dab5798e3c9b07484765069e1d4be14321aae4d92cb8cbe",
722
- "0457455448c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000012000000013045022100b47ee8551c15a2cf681c649651e987d7e527c481d27c38da1f971a8242792bd3022069c3f688ac5493a23dab5798e3c9b07484765069e1d4be14321aae4d92cb8cbe",
723
721
  ],
724
722
  nfts: [],
725
723
  externalPlugin: [
@@ -732,8 +730,8 @@ describe("Ledger Service", () => {
732
730
  plugin: [],
733
731
  });
734
732
  expect(contractServices.loadInfosForContractMethod).toHaveBeenCalledTimes(0);
735
- expect(erc20Services.findERC20SignaturesInfo).toHaveBeenCalledTimes(3);
736
- expect(erc20Services.byContractAddressAndChainId).toHaveBeenCalledTimes(3);
733
+ expect(erc20Services.findERC20SignaturesInfo).toHaveBeenCalledTimes(2);
734
+ expect(erc20Services.byContractAddressAndChainId).toHaveBeenCalledTimes(2);
737
735
  expect(uniswapModule.loadInfosForUniswap).toHaveBeenCalledTimes(1);
738
736
  expect(uniswapModule.getCommandsAndTokensFromUniswapCalldata).toHaveBeenCalledTimes(1);
739
737
  expect(nftServices.getNFTInfo).not.toHaveBeenCalled();