@ledgerhq/coin-evm 2.8.1 → 2.8.2-nightly.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +18 -0
  3. package/lib/__tests__/coin-tester/indexer.js +1 -1
  4. package/lib/__tests__/coin-tester/indexer.js.map +1 -1
  5. package/lib/__tests__/unit/synchronization.unit.test.js +98 -5
  6. package/lib/__tests__/unit/synchronization.unit.test.js.map +1 -1
  7. package/lib/api/explorer/etherscan.d.ts.map +1 -1
  8. package/lib/api/explorer/etherscan.js +4 -0
  9. package/lib/api/explorer/etherscan.js.map +1 -1
  10. package/lib/api/explorer/index.d.ts.map +1 -1
  11. package/lib/api/explorer/index.js +3 -0
  12. package/lib/api/explorer/index.js.map +1 -1
  13. package/lib/api/explorer/none.d.ts +8 -0
  14. package/lib/api/explorer/none.d.ts.map +1 -0
  15. package/lib/api/explorer/none.js +29 -0
  16. package/lib/api/explorer/none.js.map +1 -0
  17. package/lib/config.d.ts +4 -0
  18. package/lib/config.d.ts.map +1 -1
  19. package/lib/config.js.map +1 -1
  20. package/lib/specs.d.ts.map +1 -1
  21. package/lib/specs.js +4 -1
  22. package/lib/specs.js.map +1 -1
  23. package/lib/speculos-deviceActions.d.ts.map +1 -1
  24. package/lib/speculos-deviceActions.js +8 -0
  25. package/lib/speculos-deviceActions.js.map +1 -1
  26. package/lib-es/__tests__/coin-tester/indexer.js +1 -1
  27. package/lib-es/__tests__/coin-tester/indexer.js.map +1 -1
  28. package/lib-es/__tests__/unit/synchronization.unit.test.js +98 -5
  29. package/lib-es/__tests__/unit/synchronization.unit.test.js.map +1 -1
  30. package/lib-es/api/explorer/etherscan.d.ts.map +1 -1
  31. package/lib-es/api/explorer/etherscan.js +4 -0
  32. package/lib-es/api/explorer/etherscan.js.map +1 -1
  33. package/lib-es/api/explorer/index.d.ts.map +1 -1
  34. package/lib-es/api/explorer/index.js +3 -0
  35. package/lib-es/api/explorer/index.js.map +1 -1
  36. package/lib-es/api/explorer/none.d.ts +8 -0
  37. package/lib-es/api/explorer/none.d.ts.map +1 -0
  38. package/lib-es/api/explorer/none.js +25 -0
  39. package/lib-es/api/explorer/none.js.map +1 -0
  40. package/lib-es/config.d.ts +4 -0
  41. package/lib-es/config.d.ts.map +1 -1
  42. package/lib-es/config.js.map +1 -1
  43. package/lib-es/specs.d.ts.map +1 -1
  44. package/lib-es/specs.js +4 -1
  45. package/lib-es/specs.js.map +1 -1
  46. package/lib-es/speculos-deviceActions.d.ts.map +1 -1
  47. package/lib-es/speculos-deviceActions.js +8 -0
  48. package/lib-es/speculos-deviceActions.js.map +1 -1
  49. package/package.json +5 -5
  50. package/src/__tests__/coin-tester/indexer.ts +1 -1
  51. package/src/__tests__/unit/synchronization.unit.test.ts +134 -7
  52. package/src/api/explorer/etherscan.ts +5 -0
  53. package/src/api/explorer/index.ts +3 -0
  54. package/src/api/explorer/none.ts +19 -0
  55. package/src/config.ts +5 -0
  56. package/src/specs.ts +4 -1
  57. package/src/speculos-deviceActions.ts +8 -0
@@ -0,0 +1,8 @@
1
+ import { ExplorerApi } from "./types";
2
+ /**
3
+ * Returns all operation types from an address
4
+ */
5
+ export declare const getLastOperations: ExplorerApi["getLastOperations"];
6
+ declare const noExplorerAPI: ExplorerApi;
7
+ export default noExplorerAPI;
8
+ //# sourceMappingURL=none.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"none.d.ts","sourceRoot":"","sources":["../../../src/api/explorer/none.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,mBAAmB,CAO9D,CAAC;AAEF,QAAA,MAAM,aAAa,EAAE,WAEpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,25 @@
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
+ /**
11
+ * Returns all operation types from an address
12
+ */
13
+ export const getLastOperations = () => __awaiter(void 0, void 0, void 0, function* () {
14
+ return {
15
+ lastCoinOperations: [],
16
+ lastTokenOperations: [],
17
+ lastNftOperations: [],
18
+ lastInternalOperations: [],
19
+ };
20
+ });
21
+ const noExplorerAPI = {
22
+ getLastOperations,
23
+ };
24
+ export default noExplorerAPI;
25
+ //# sourceMappingURL=none.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"none.js","sourceRoot":"","sources":["../../../src/api/explorer/none.ts"],"names":[],"mappings":";;;;;;;;;AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAqC,GAAS,EAAE;IAC5E,OAAO;QACL,kBAAkB,EAAE,EAAE;QACtB,mBAAmB,EAAE,EAAE;QACvB,iBAAiB,EAAE,EAAE;QACrB,sBAAsB,EAAE,EAAE;KAC3B,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,aAAa,GAAgB;IACjC,iBAAiB;CAClB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -14,6 +14,10 @@ type EvmConfig = {
14
14
  } | {
15
15
  type: "ledger";
16
16
  explorerId: LedgerExplorerId;
17
+ } | {
18
+ type: "none";
19
+ uri?: never;
20
+ explorerId?: never;
17
21
  };
18
22
  gasTracker?: {
19
23
  type: "ledger";
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,KAAK,SAAS,GAAG;IACf,IAAI,EACA;QACE,IAAI,EAAE,UAAU,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;KACb,GACD;QACE,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,gBAAgB,CAAC;KAC9B,CAAC;IACN,QAAQ,EACJ;QACE,IAAI,EAAE,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,cAAc,CAAC;QAC/D,GAAG,EAAE,MAAM,CAAC;KACb,GACD;QACE,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,gBAAgB,CAAC;KAC9B,CAAC;IACN,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,gBAAgB,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,SAAS,CAAC;AAEvD,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,cAAc,KAAK,aAAa,CAAC;AAIrE,eAAO,MAAM,aAAa,WAAY,UAAU,KAAG,IAElD,CAAC;AAEF,eAAO,MAAM,aAAa,aAAc,cAAc,KAAG,aAMxD,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,KAAK,SAAS,GAAG;IACf,IAAI,EACA;QACE,IAAI,EAAE,UAAU,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;KACb,GACD;QACE,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,gBAAgB,CAAC;KAC9B,CAAC;IACN,QAAQ,EACJ;QACE,IAAI,EAAE,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,cAAc,CAAC;QAC/D,GAAG,EAAE,MAAM,CAAC;KACb,GACD;QACE,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,gBAAgB,CAAC;KAC9B,GACD;QACE,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,UAAU,CAAC,EAAE,KAAK,CAAC;KACpB,CAAC;IACN,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,gBAAgB,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,SAAS,CAAC;AAEvD,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,cAAc,KAAK,aAAa,CAAC;AAIrE,eAAO,MAAM,aAAa,WAAY,UAAU,KAAG,IAElD,CAAC;AAEF,eAAO,MAAM,aAAa,aAAc,cAAc,KAAG,aAMxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAoCA,IAAI,UAAkC,CAAC;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAkB,EAAQ,EAAE;IACxD,UAAU,GAAG,MAAM,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAwB,EAAiB,EAAE;IACvE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAyCA,IAAI,UAAkC,CAAC;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAkB,EAAQ,EAAE;IACxD,UAAU,GAAG,MAAM,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAwB,EAAiB,EAAE;IACvE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../src/specs.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,OAAO,EAIR,MAAM,oCAAoC,CAAC;AAS5C,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,SAAS,CAAC;;AA+YxD,wBAeS"}
1
+ {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../src/specs.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,OAAO,EAIR,MAAM,oCAAoC,CAAC;AAS5C,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,SAAS,CAAC;;AAkZxD,wBAeS"}
package/lib-es/specs.js CHANGED
@@ -159,7 +159,8 @@ const transactionCheck = (currencyId) => ({ maxSpendable }) => {
159
159
  const evmBasicMutations = ({ maxAccount }) => [
160
160
  {
161
161
  name: "move 50%",
162
- maxRun: 2,
162
+ feature: "send",
163
+ maxRun: 1,
163
164
  testDestination: testCoinDestination,
164
165
  transaction: ({ account, siblings, bridge, maxSpendable }) => {
165
166
  const sibling = pickSiblings(siblings, maxAccount);
@@ -190,6 +191,7 @@ const evmBasicMutations = ({ maxAccount }) => [
190
191
  },
191
192
  {
192
193
  name: "send max",
194
+ feature: "sendMax",
193
195
  maxRun: 1,
194
196
  testDestination: testCoinDestination,
195
197
  transaction: ({ account, siblings, bridge }) => {
@@ -223,6 +225,7 @@ const evmBasicMutations = ({ maxAccount }) => [
223
225
  ];
224
226
  const moveErc20Mutation = {
225
227
  name: "move some ERC20 like (ERC20, BEP20, etc...)",
228
+ feature: "tokens",
226
229
  maxRun: 1,
227
230
  testDestination: testTokenDestination,
228
231
  transaction: ({ account, siblings, bridge }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"specs.js","sourceRoot":"","sources":["../src/specs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specs.js","sourceRoot":"","sources":["../src/specs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"speculos-deviceActions.d.ts","sourceRoot":"","sources":["../src/speculos-deviceActions.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAE9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAU3C,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAwD1E,CAAC;AAEH,eAAO,MAAM,6BAA6B,EAAE,YAAY,CACtD,WAAW,EACX,KAAK,CAAC,WAAW,CAAC,CA6ClB,CAAC"}
1
+ {"version":3,"file":"speculos-deviceActions.d.ts","sourceRoot":"","sources":["../src/speculos-deviceActions.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAE9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAU3C,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAgE1E,CAAC;AAEH,eAAO,MAAM,6BAA6B,EAAE,YAAY,CACtD,WAAW,EACX,KAAK,CAAC,WAAW,CAAC,CA6ClB,CAAC"}
@@ -47,6 +47,14 @@ export const acceptTransaction = deviceActionFlow({
47
47
  button: SpeculosButton.RIGHT,
48
48
  expectedValue: ({ transaction }) => transaction.recipient,
49
49
  },
50
+ {
51
+ title: "From",
52
+ button: SpeculosButton.RIGHT,
53
+ },
54
+ {
55
+ title: "To",
56
+ button: SpeculosButton.RIGHT,
57
+ },
50
58
  {
51
59
  title: "Accept",
52
60
  button: SpeculosButton.BOTH,
@@ -1 +1 @@
1
- {"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../src/speculos-deviceActions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../src/speculos-deviceActions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-evm",
3
- "version": "2.8.1",
3
+ "version": "2.8.2-nightly.1",
4
4
  "description": "Ledger EVM Coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -55,10 +55,10 @@
55
55
  "lodash": "^4.17.21",
56
56
  "react-native-get-random-values": "^1.8.0",
57
57
  "rxjs": "^7.8.1",
58
- "@ledgerhq/coin-framework": "^0.22.0",
58
+ "@ledgerhq/coin-framework": "^0.22.1-nightly.1",
59
59
  "@ledgerhq/cryptoassets": "^13.9.0",
60
60
  "@ledgerhq/devices": "8.4.4",
61
- "@ledgerhq/domain-service": "^1.2.16",
61
+ "@ledgerhq/domain-service": "^1.2.17-nightly.1",
62
62
  "@ledgerhq/errors": "^6.19.1",
63
63
  "@ledgerhq/evm-tools": "^1.3.1",
64
64
  "@ledgerhq/live-env": "^2.5.0",
@@ -84,9 +84,9 @@
84
84
  "prando": "^6.0.1",
85
85
  "ts-jest": "^29.1.1",
86
86
  "@ledgerhq/coin-tester": "^0.3.0",
87
- "@ledgerhq/hw-app-eth": "^6.42.3",
87
+ "@ledgerhq/hw-app-eth": "^6.42.4-nightly.1",
88
88
  "@ledgerhq/types-cryptoassets": "^7.19.0",
89
- "@ledgerhq/types-live": "^6.57.0"
89
+ "@ledgerhq/types-live": "^6.58.0-nightly.1"
90
90
  },
91
91
  "scripts": {
92
92
  "clean": "rimraf lib lib-es",
@@ -727,7 +727,7 @@ export const initMswHandlers = (currencyConfig: EvmConfigInfo) => {
727
727
  return HttpResponse.json(response);
728
728
  }),
729
729
  );
730
- } else {
730
+ } else if (currencyConfig.explorer.type !== "none") {
731
731
  handlers.push(
732
732
  http.get(currencyConfig.explorer.uri, async ({ request }) => {
733
733
  const uri = new URL(request.url).searchParams;
@@ -1,14 +1,17 @@
1
1
  import { AssertionError, fail } from "assert";
2
2
  import BigNumber from "bignumber.js";
3
3
  import { getEnv } from "@ledgerhq/live-env";
4
+ import { TokenAccount } from "@ledgerhq/types-live";
5
+ import { TokenCurrency } from "@ledgerhq/types-cryptoassets";
4
6
  import { decodeAccountId } from "@ledgerhq/coin-framework/account/accountId";
5
7
  import { AccountShapeInfo } from "@ledgerhq/coin-framework/bridge/jsHelpers";
6
- import { TokenCurrency } from "@ledgerhq/types-cryptoassets";
7
- import { TokenAccount } from "@ledgerhq/types-live";
8
8
  import { makeTokenAccount } from "../fixtures/common.fixtures";
9
9
  import * as etherscanAPI from "../../api/explorer/etherscan";
10
+ import { UnknownExplorer, UnknownNode } from "../../errors";
10
11
  import * as synchronization from "../../synchronization";
12
+ import * as noneExplorer from "../../api/explorer/none";
11
13
  import * as nodeApi from "../../api/node/rpc.common";
14
+ import { createSwapHistoryMap } from "../../logic";
12
15
  import {
13
16
  account,
14
17
  coinOperations,
@@ -23,10 +26,8 @@ import {
23
26
  internalOperations,
24
27
  swapHistory,
25
28
  } from "../fixtures/synchronization.fixtures";
26
- import { UnknownNode } from "../../errors";
27
- import * as logic from "../../logic";
28
29
  import { getCoinConfig } from "../../config";
29
- import { createSwapHistoryMap } from "../../logic";
30
+ import * as logic from "../../logic";
30
31
 
31
32
  jest.mock("../../api/node/rpc.common");
32
33
  jest.useFakeTimers().setSystemTime(new Date("2014-04-21"));
@@ -102,9 +103,13 @@ describe("EVM Family", () => {
102
103
  });
103
104
 
104
105
  it("should throw for currency with unsupported explorer", async () => {
105
- mockGetConfig.mockImplementationOnce((): any => {
106
+ mockGetConfig.mockImplementation((): any => {
106
107
  return {
107
108
  info: {
109
+ node: {
110
+ type: "external",
111
+ uri: "https://my-rpc.com",
112
+ },
108
113
  explorer: {
109
114
  uri: "http://nope.com",
110
115
  type: "unsupported" as any,
@@ -131,12 +136,54 @@ describe("EVM Family", () => {
131
136
  if (e instanceof AssertionError) {
132
137
  throw e;
133
138
  }
134
- expect(e).toBeInstanceOf(UnknownNode);
139
+ expect(e).toBeInstanceOf(UnknownExplorer);
135
140
  }
136
141
  });
137
142
 
143
+ it("shouldn't throw for none explorer config", async () => {
144
+ mockGetConfig.mockImplementation((): any => {
145
+ return {
146
+ info: {
147
+ node: {
148
+ type: "external",
149
+ uri: "https://my-rpc.com",
150
+ },
151
+ explorer: {
152
+ type: "none",
153
+ },
154
+ },
155
+ };
156
+ });
157
+ const spy = jest.spyOn(noneExplorer?.default, "getLastOperations");
158
+
159
+ await synchronization.getAccountShape(
160
+ {
161
+ ...getAccountShapeParameters,
162
+ currency: {
163
+ ...currency,
164
+ ethereumLikeInfo: {
165
+ chainId: 1,
166
+ } as any,
167
+ },
168
+ },
169
+ {} as any,
170
+ );
171
+
172
+ expect(spy).toHaveBeenCalledTimes(1);
173
+ expect(spy).toHaveReturnedWith(
174
+ Promise.resolve({
175
+ lastCoinOperations: [],
176
+ lastTokenOperations: [],
177
+ lastNftOperations: [],
178
+ lastInternalOperations: [],
179
+ }),
180
+ );
181
+ });
182
+
138
183
  describe("With no transactions fetched", () => {
139
184
  beforeAll(() => {
185
+ // @ts-expect-error reseting cache
186
+ etherscanAPI?.default.getLastOperations.reset();
140
187
  jest.spyOn(etherscanAPI, "getLastOperations").mockImplementation(() =>
141
188
  Promise.resolve({
142
189
  lastCoinOperations: [],
@@ -265,6 +312,8 @@ describe("EVM Family", () => {
265
312
 
266
313
  describe("With transactions fetched", () => {
267
314
  beforeAll(() => {
315
+ // @ts-expect-error reseting cache
316
+ etherscanAPI?.default.getLastOperations.reset();
268
317
  jest
269
318
  .spyOn(etherscanAPI, "getLastCoinOperations")
270
319
  .mockImplementation(() =>
@@ -524,6 +573,84 @@ describe("EVM Family", () => {
524
573
  expect(accountShape.operations).toEqual([coinOperations[0]]);
525
574
  });
526
575
  });
576
+
577
+ describe("With Blockscout", () => {
578
+ beforeAll(() => {
579
+ // @ts-expect-error reseting cache
580
+ etherscanAPI?.default.getLastOperations.reset();
581
+ jest
582
+ .spyOn(etherscanAPI, "getLastCoinOperations")
583
+ .mockImplementation(() =>
584
+ Promise.resolve([{ ...coinOperations[0] }, { ...coinOperations[1] }]),
585
+ );
586
+ jest
587
+ .spyOn(etherscanAPI, "getLastTokenOperations")
588
+ .mockImplementation(() =>
589
+ Promise.resolve([{ ...tokenOperations[0] }, { ...tokenOperations[1] }]),
590
+ );
591
+
592
+ jest
593
+ .spyOn(etherscanAPI, "getLastERC721Operations")
594
+ .mockImplementation(() =>
595
+ Promise.resolve([
596
+ { ...erc721Operations[0] },
597
+ { ...erc721Operations[1] },
598
+ { ...erc721Operations[2] },
599
+ ]),
600
+ );
601
+ jest
602
+ .spyOn(etherscanAPI, "getLastInternalOperations")
603
+ .mockImplementation(() =>
604
+ Promise.resolve([
605
+ { ...internalOperations[0] },
606
+ { ...internalOperations[1] },
607
+ { ...internalOperations[2] },
608
+ ]),
609
+ );
610
+ jest
611
+ .spyOn(nodeApi, "getTokenBalance")
612
+ .mockImplementation(async (a, b, contractAddress) => {
613
+ if (contractAddress === tokenCurrencies[0].contractAddress) {
614
+ return new BigNumber(10000);
615
+ }
616
+ throw new Error("Shouldn't be trying to fetch this token balance");
617
+ });
618
+ });
619
+
620
+ afterAll(() => {
621
+ jest.restoreAllMocks();
622
+ });
623
+
624
+ it("should never call ERC1155 endpoint", async () => {
625
+ mockGetConfig.mockImplementation((): any => {
626
+ return {
627
+ info: {
628
+ node: {
629
+ type: "external",
630
+ uri: "https://my-rpc.com",
631
+ },
632
+ explorer: {
633
+ type: "blockscout",
634
+ uri: "https://api.com",
635
+ },
636
+ },
637
+ };
638
+ });
639
+ console.log(etherscanAPI?.default.getLastOperations);
640
+ const spy = jest.spyOn(etherscanAPI, "getLastERC1155Operations");
641
+
642
+ await synchronization.getAccountShape(
643
+ {
644
+ ...getAccountShapeParameters,
645
+ initialAccount: account,
646
+ },
647
+ {} as any,
648
+ );
649
+
650
+ expect(spy).toHaveBeenCalledTimes(1);
651
+ expect(spy).toHaveReturnedWith(Promise.resolve([]));
652
+ });
653
+ });
527
654
  });
528
655
 
529
656
  describe("getSubAccounts", () => {
@@ -211,6 +211,11 @@ export const getLastERC1155Operations = async (
211
211
  throw new EtherscanLikeExplorerUsedIncorrectly();
212
212
  }
213
213
 
214
+ // Blockscout has no ERC1155 support yet
215
+ if (explorer.type === "blockscout") {
216
+ return [];
217
+ }
218
+
214
219
  const ops = await fetchWithRetries<EtherscanERC1155Event[]>({
215
220
  method: "GET",
216
221
  url: `${explorer.uri}?module=account&action=token1155tx&address=${address}`,
@@ -4,6 +4,7 @@ import { getCoinConfig } from "../../config";
4
4
  import etherscanLikeApi from "./etherscan";
5
5
  import ledgerExplorerApi from "./ledger";
6
6
  import { ExplorerApi } from "./types";
7
+ import noExplorerAPI from "./none";
7
8
 
8
9
  /**
9
10
  * Switch to select one of the compatible explorer
@@ -20,6 +21,8 @@ export const getExplorerApi = (currency: CryptoCurrency): ExplorerApi => {
20
21
  return etherscanLikeApi;
21
22
  case "ledger":
22
23
  return ledgerExplorerApi;
24
+ case "none":
25
+ return noExplorerAPI;
23
26
 
24
27
  default:
25
28
  throw new UnknownExplorer(`Unknown explorer for currency: ${currency.id}`);
@@ -0,0 +1,19 @@
1
+ import { ExplorerApi } from "./types";
2
+
3
+ /**
4
+ * Returns all operation types from an address
5
+ */
6
+ export const getLastOperations: ExplorerApi["getLastOperations"] = async () => {
7
+ return {
8
+ lastCoinOperations: [],
9
+ lastTokenOperations: [],
10
+ lastNftOperations: [],
11
+ lastInternalOperations: [],
12
+ };
13
+ };
14
+
15
+ const noExplorerAPI: ExplorerApi = {
16
+ getLastOperations,
17
+ };
18
+
19
+ export default noExplorerAPI;
package/src/config.ts CHANGED
@@ -19,6 +19,11 @@ type EvmConfig = {
19
19
  | {
20
20
  type: "ledger";
21
21
  explorerId: LedgerExplorerId;
22
+ }
23
+ | {
24
+ type: "none";
25
+ uri?: never;
26
+ explorerId?: never;
22
27
  };
23
28
  gasTracker?: {
24
29
  type: "ledger";
package/src/specs.ts CHANGED
@@ -225,7 +225,8 @@ const evmBasicMutations: ({
225
225
  }) => MutationSpec<EvmTransaction>[] = ({ maxAccount }) => [
226
226
  {
227
227
  name: "move 50%",
228
- maxRun: 2,
228
+ feature: "send",
229
+ maxRun: 1,
229
230
  testDestination: testCoinDestination,
230
231
  transaction: ({ account, siblings, bridge, maxSpendable }): TransactionRes<EvmTransaction> => {
231
232
  const sibling = pickSiblings(siblings, maxAccount);
@@ -266,6 +267,7 @@ const evmBasicMutations: ({
266
267
  },
267
268
  {
268
269
  name: "send max",
270
+ feature: "sendMax",
269
271
  maxRun: 1,
270
272
  testDestination: testCoinDestination,
271
273
  transaction: ({ account, siblings, bridge }): TransactionRes<EvmTransaction> => {
@@ -311,6 +313,7 @@ const evmBasicMutations: ({
311
313
 
312
314
  const moveErc20Mutation: MutationSpec<EvmTransaction> = {
313
315
  name: "move some ERC20 like (ERC20, BEP20, etc...)",
316
+ feature: "tokens",
314
317
  maxRun: 1,
315
318
  testDestination: testTokenDestination,
316
319
  transaction: ({ account, siblings, bridge }): TransactionRes<EvmTransaction> => {
@@ -65,6 +65,14 @@ export const acceptTransaction: DeviceAction<Transaction, State<Transaction>> =
65
65
  button: SpeculosButton.RIGHT,
66
66
  expectedValue: ({ transaction }) => transaction.recipient,
67
67
  },
68
+ {
69
+ title: "From",
70
+ button: SpeculosButton.RIGHT,
71
+ },
72
+ {
73
+ title: "To",
74
+ button: SpeculosButton.RIGHT,
75
+ },
68
76
  {
69
77
  title: "Accept",
70
78
  button: SpeculosButton.BOTH,