@ledgerhq/coin-tezos 1.2.0 → 1.2.1-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 (53) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +17 -0
  3. package/lib/api/index.d.ts.map +1 -1
  4. package/lib/api/index.js +40 -3
  5. package/lib/api/index.js.map +1 -1
  6. package/lib/api/index.test.d.ts +2 -0
  7. package/lib/api/index.test.d.ts.map +1 -0
  8. package/lib/api/index.test.js +63 -0
  9. package/lib/api/index.test.js.map +1 -0
  10. package/lib/config.d.ts.map +1 -1
  11. package/lib/config.js.map +1 -1
  12. package/lib/logic/listOperations.d.ts +15 -1
  13. package/lib/logic/listOperations.d.ts.map +1 -1
  14. package/lib/logic/listOperations.js +24 -8
  15. package/lib/logic/listOperations.js.map +1 -1
  16. package/lib/logic/listOperations.test.js +15 -4
  17. package/lib/logic/listOperations.test.js.map +1 -1
  18. package/lib/network/types.d.ts +6 -0
  19. package/lib/network/types.d.ts.map +1 -1
  20. package/lib/network/tzkt.d.ts +2 -6
  21. package/lib/network/tzkt.d.ts.map +1 -1
  22. package/lib/network/tzkt.js +3 -5
  23. package/lib/network/tzkt.js.map +1 -1
  24. package/lib-es/api/index.d.ts.map +1 -1
  25. package/lib-es/api/index.js +40 -3
  26. package/lib-es/api/index.js.map +1 -1
  27. package/lib-es/api/index.test.d.ts +2 -0
  28. package/lib-es/api/index.test.d.ts.map +1 -0
  29. package/lib-es/api/index.test.js +61 -0
  30. package/lib-es/api/index.test.js.map +1 -0
  31. package/lib-es/config.d.ts.map +1 -1
  32. package/lib-es/config.js +2 -2
  33. package/lib-es/config.js.map +1 -1
  34. package/lib-es/logic/listOperations.d.ts +15 -1
  35. package/lib-es/logic/listOperations.d.ts.map +1 -1
  36. package/lib-es/logic/listOperations.js +24 -8
  37. package/lib-es/logic/listOperations.js.map +1 -1
  38. package/lib-es/logic/listOperations.test.js +15 -4
  39. package/lib-es/logic/listOperations.test.js.map +1 -1
  40. package/lib-es/network/types.d.ts +6 -0
  41. package/lib-es/network/types.d.ts.map +1 -1
  42. package/lib-es/network/tzkt.d.ts +2 -6
  43. package/lib-es/network/tzkt.d.ts.map +1 -1
  44. package/lib-es/network/tzkt.js +3 -5
  45. package/lib-es/network/tzkt.js.map +1 -1
  46. package/package.json +5 -5
  47. package/src/api/index.test.ts +67 -0
  48. package/src/api/index.ts +60 -3
  49. package/src/config.ts +2 -2
  50. package/src/logic/listOperations.test.ts +17 -4
  51. package/src/logic/listOperations.ts +30 -8
  52. package/src/network/types.ts +10 -0
  53. package/src/network/tzkt.ts +5 -11
@@ -1,4 +1,4 @@
1
1
 
2
- > @ledgerhq/coin-tezos@1.2.0 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-tezos
2
+ > @ledgerhq/coin-tezos@1.2.1-nightly.0 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-tezos
3
3
  > tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @ledgerhq/coin-tezos
2
2
 
3
+ ## 1.2.1-nightly.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`1461449`](https://github.com/LedgerHQ/ledger-live/commit/146144941c13e60182da8d79592f706d12a6f00e)]:
8
+ - @ledgerhq/types-cryptoassets@7.20.0-nightly.0
9
+ - @ledgerhq/cryptoassets@13.13.0-nightly.0
10
+ - @ledgerhq/coin-framework@2.1.1-nightly.0
11
+ - @ledgerhq/types-live@6.60.0
12
+ - @ledgerhq/live-network@2.0.5-nightly.0
13
+
14
+ ## 1.2.1-nightly.0
15
+
16
+ ### Patch Changes
17
+
18
+ - [#9167](https://github.com/LedgerHQ/ledger-live/pull/9167) [`e50b750`](https://github.com/LedgerHQ/ledger-live/commit/e50b750a362e978046cfa2fde321ac3c3212630e) Thanks [@sprohaszka-ledger](https://github.com/sprohaszka-ledger)! - coinconfig edit
19
+
3
20
  ## 1.2.0
4
21
 
5
22
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,GAAG,EAET,MAAM,oCAAoC,CAAC;AAC5C,OAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAazD,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,CAYlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,GAAG,EAET,MAAM,oCAAoC,CAAC;AAC5C,OAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAczD,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,CAYlD"}
package/lib/api/index.js CHANGED
@@ -8,6 +8,7 @@ const index_1 = require("@ledgerhq/coin-framework/api/index");
8
8
  const config_1 = __importDefault(require("../config"));
9
9
  const logic_1 = require("../logic");
10
10
  const tzkt_1 = __importDefault(require("../network/tzkt"));
11
+ const logs_1 = require("@ledgerhq/logs");
11
12
  function createApi(config) {
12
13
  config_1.default.setCoinConfig(() => ({ ...config, status: { type: "active" } }));
13
14
  return {
@@ -45,8 +46,44 @@ async function estimate(addr, amount) {
45
46
  });
46
47
  return estimatedFees.estimatedFees;
47
48
  }
48
- function operations(address, _pagination) {
49
- //TODO implement properly with https://github.com/LedgerHQ/ledger-live/pull/8875
50
- return (0, logic_1.listOperations)(address, {});
49
+ async function fetchNextPage(address, state) {
50
+ const [operations, newNextCursor] = await (0, logic_1.listOperations)(address, {
51
+ limit: state.pageSize,
52
+ token: state.nextCursor,
53
+ sort: "Ascending",
54
+ minHeight: state.minHeight,
55
+ });
56
+ const newCurrentIteration = state.currentIteration + 1;
57
+ let continueIteration = newNextCursor !== "";
58
+ if (newCurrentIteration >= state.maxIterations) {
59
+ (0, logs_1.log)("coin:tezos", "(api/operations): max iterations reached", state.maxIterations);
60
+ continueIteration = false;
61
+ }
62
+ const accumulated = operations.concat(state.accumulator);
63
+ return {
64
+ ...state,
65
+ continueIterations: continueIteration,
66
+ currentIteration: newCurrentIteration,
67
+ nextCursor: newNextCursor,
68
+ accumulator: accumulated,
69
+ };
70
+ }
71
+ async function operationsFromHeight(address, start) {
72
+ const firstState = {
73
+ pageSize: 200,
74
+ maxIterations: 10,
75
+ currentIteration: 0,
76
+ minHeight: start,
77
+ continueIterations: true,
78
+ accumulator: [],
79
+ };
80
+ let state = await fetchNextPage(address, firstState);
81
+ while (state.continueIterations) {
82
+ state = await fetchNextPage(address, state);
83
+ }
84
+ return [state.accumulator, state.nextCursor || ""];
85
+ }
86
+ async function operations(address, { minHeight }) {
87
+ return operationsFromHeight(address, minHeight);
51
88
  }
52
89
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;AAmBA,8BAYC;AA/BD,8DAK4C;AAC5C,uDAAyD;AACzD,oCASkB;AAClB,2DAAkC;AAElC,SAAgB,SAAS,CAAC,MAAmB;IAC3C,gBAAU,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAE5E,OAAO;QACL,SAAS,EAAT,iBAAS;QACT,OAAO,EAAP,eAAO;QACP,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,QAAQ;QACtB,UAAU,EAAV,kBAAU;QACV,SAAS,EAAT,iBAAS;QACT,cAAc,EAAE,UAAU;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AACD,KAAK,UAAU,KAAK,CAClB,OAAe,EACf,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAkB;IAEhD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,0BAAkB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,wBAAgB,EACzC,EAAE,OAAO,EAAE,EACX,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,CAC3D,CAAC;IACF,OAAO,IAAA,iBAAS,EAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,MAAc;IAClD,MAAM,WAAW,GAAG,MAAM,cAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAE5E,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAY,EAAC;QACvC,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC;YACpC,IAAI,EAAE,WAAW,CAAC,SAAS;SAC5B;QACD,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;KAC/D,CAAC,CAAC;IACH,OAAO,aAAa,CAAC,aAAa,CAAC;AACrC,CAAC;AAED,SAAS,UAAU,CAAC,OAAe,EAAE,WAAuB;IAC1D,gFAAgF;IAChF,OAAO,IAAA,sBAAc,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const index_1 = require("./index");
4
+ const logicGetTransactions = jest.fn();
5
+ jest.mock("../logic", () => ({
6
+ listOperations: async () => {
7
+ return logicGetTransactions();
8
+ },
9
+ }));
10
+ const api = (0, index_1.createApi)({
11
+ baker: {
12
+ url: "https://baker.example.com",
13
+ },
14
+ explorer: {
15
+ url: "foo",
16
+ maxTxQuery: 1,
17
+ },
18
+ node: {
19
+ url: "bar",
20
+ },
21
+ fees: {
22
+ minGasLimit: 1,
23
+ minRevealGasLimit: 1,
24
+ minStorageLimit: 1,
25
+ minFees: 1,
26
+ minEstimatedFees: 2,
27
+ },
28
+ });
29
+ describe("get operations", () => {
30
+ afterEach(() => {
31
+ logicGetTransactions.mockClear();
32
+ });
33
+ it("could return no operation", async () => {
34
+ logicGetTransactions.mockResolvedValue([[], ""]);
35
+ const [operations, token] = await api.listOperations("addr", { minHeight: 100 });
36
+ expect(operations).toEqual([]);
37
+ expect(token).toEqual("");
38
+ });
39
+ const op = {
40
+ hash: "opHash",
41
+ address: "tz1...",
42
+ type: "transaction",
43
+ value: BigInt(1000),
44
+ fee: BigInt(100),
45
+ block: {
46
+ hash: "blockHash",
47
+ height: 123456,
48
+ time: new Date(),
49
+ },
50
+ senders: ["tz1Sender"],
51
+ recipients: ["tz1Recipient"],
52
+ date: new Date(),
53
+ transactionSequenceNumber: 1,
54
+ };
55
+ it("stops iterating after 10 iterations", async () => {
56
+ logicGetTransactions.mockResolvedValue([[op], "888"]);
57
+ const [operations, token] = await api.listOperations("addr", { minHeight: 100 });
58
+ expect(logicGetTransactions).toHaveBeenCalledTimes(10);
59
+ expect(operations.length).toBe(10);
60
+ expect(token).toEqual("888");
61
+ });
62
+ });
63
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":";;AACA,mCAAoC;AAEpC,MAAM,oBAAoB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACvC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3B,cAAc,EAAE,KAAK,IAAI,EAAE;QACzB,OAAO,oBAAoB,EAAE,CAAC;IAChC,CAAC;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,GAAG,GAAG,IAAA,iBAAS,EAAC;IACpB,KAAK,EAAE;QACL,GAAG,EAAE,2BAA2B;KACjC;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,KAAK;QACV,UAAU,EAAE,CAAC;KACd;IACD,IAAI,EAAE;QACJ,GAAG,EAAE,KAAK;KACX;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;QACpB,eAAe,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;QACV,gBAAgB,EAAE,CAAC;KACpB;CACF,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,SAAS,CAAC,GAAG,EAAE;QACb,oBAAoB,CAAC,SAAS,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QACjF,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,GAAc;QACpB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;QAChB,KAAK,EAAE;YACL,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,IAAI,EAAE;SACjB;QACD,OAAO,EAAE,CAAC,WAAW,CAAC;QACtB,UAAU,EAAE,CAAC,cAAc,CAAC;QAC5B,IAAI,EAAE,IAAI,IAAI,EAAE;QAChB,yBAAyB,EAAE,CAAC;KAC7B,CAAC;IAEF,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QACjF,MAAM,CAAC,oBAAoB,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAuB,EAAE,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,QAAQ,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,WAAW,CAAC;AAE3D,QAAA,MAAM,UAAU;;;CAAoC,CAAC;AAErD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAwB,EAAE,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEvF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,QAAQ,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,WAAW,CAAC;AAE3D,QAAA,MAAM,UAAU;;;CAAqC,CAAC;AAEtD,eAAe,UAAU,CAAC"}
package/lib/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;AAAA,6EAAsF;AAwBtF,MAAM,UAAU,GAAG,IAAA,gBAAc,GAAmB,CAAC;AAErD,kBAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;AAAA,6EAAuF;AAwBvF,MAAM,UAAU,GAAG,IAAA,gBAAe,GAAmB,CAAC;AAEtD,kBAAe,UAAU,CAAC"}
@@ -14,8 +14,22 @@ export type Operation = {
14
14
  date: Date;
15
15
  transactionSequenceNumber: number;
16
16
  };
17
- export declare function listOperations(address: string, { token, limit }: {
17
+ /**
18
+ * Returns list of "Transfer", "Delegate" and "Undelegate" Operations associated to an account.
19
+ * @param address Account address
20
+ * @param limit the maximum number of operations to return. Beware that's a weak limit, as explorers might not respect it.
21
+ * @param order whether to return operations starting from the top block or from the oldest block.
22
+ * "Descending" returns newest operation first, "Ascending" returns oldest operation first.
23
+ * It doesn't control the order of the operations in the result list:
24
+ * operations are always returned sorted in descending order (newest first).
25
+ * @param minHeight retrieve operations from a specific block height until top most (inclusive).
26
+ * @param token a token to be used for pagination
27
+ * @returns a list of operations is descending (newest first) order and a token to be used for pagination
28
+ */
29
+ export declare function listOperations(address: string, { token, limit, sort, minHeight, }: {
18
30
  limit?: number;
19
31
  token?: string;
32
+ sort: "Ascending" | "Descending";
33
+ minHeight: number;
20
34
  }): Promise<[Operation[], string]>;
21
35
  //# sourceMappingURL=listOperations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"listOperations.d.ts","sourceRoot":"","sources":["../../src/logic/listOperations.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,IAAI,CAAC;KACb,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,IAAI,CAAC;IACX,yBAAyB,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC,CAchC"}
1
+ {"version":3,"file":"listOperations.d.ts","sourceRoot":"","sources":["../../src/logic/listOperations.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,IAAI,CAAC;KACb,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,IAAI,CAAC;IACX,yBAAyB,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,EACE,KAAK,EACL,KAAK,EACL,IAAI,EACJ,SAAS,GACV,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACzF,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC,CAkBhC"}
@@ -4,20 +4,36 @@ exports.listOperations = listOperations;
4
4
  const network_1 = require("../network");
5
5
  const logs_1 = require("@ledgerhq/logs");
6
6
  const types_1 = require("../network/types");
7
- async function listOperations(address, { token, limit }) {
8
- let options = { limit: limit };
7
+ /**
8
+ * Returns list of "Transfer", "Delegate" and "Undelegate" Operations associated to an account.
9
+ * @param address Account address
10
+ * @param limit the maximum number of operations to return. Beware that's a weak limit, as explorers might not respect it.
11
+ * @param order whether to return operations starting from the top block or from the oldest block.
12
+ * "Descending" returns newest operation first, "Ascending" returns oldest operation first.
13
+ * It doesn't control the order of the operations in the result list:
14
+ * operations are always returned sorted in descending order (newest first).
15
+ * @param minHeight retrieve operations from a specific block height until top most (inclusive).
16
+ * @param token a token to be used for pagination
17
+ * @returns a list of operations is descending (newest first) order and a token to be used for pagination
18
+ */
19
+ async function listOperations(address, { token, limit, sort, minHeight, }) {
20
+ let options = { limit, sort, "level.ge": minHeight };
9
21
  if (token) {
10
22
  options = { ...options, lastId: JSON.parse(token) };
11
23
  }
12
24
  const operations = await network_1.tzkt.getAccountOperations(address, options);
13
25
  const lastOperation = operations.slice(-1)[0];
26
+ // it's important to get the last id from the **unfiltered** operation list
27
+ // otherwise we might miss operations
14
28
  const nextToken = lastOperation ? JSON.stringify(lastOperation?.id) : "";
15
- return [
16
- operations
17
- .filter(op => (0, types_1.isAPITransactionType)(op) || (0, types_1.isAPIDelegationType)(op))
18
- .reduce((acc, op) => acc.concat(convertOperation(address, op)), []),
19
- nextToken,
20
- ];
29
+ const filteredOperations = operations
30
+ .filter(op => (0, types_1.isAPITransactionType)(op) || (0, types_1.isAPIDelegationType)(op))
31
+ .reduce((acc, op) => acc.concat(convertOperation(address, op)), []);
32
+ if (sort === "Ascending") {
33
+ //results are always sorted in descending order
34
+ filteredOperations.reverse();
35
+ }
36
+ return [filteredOperations, nextToken];
21
37
  }
22
38
  // note that "initiator" of APITransactionType is never used in the conversion
23
39
  function convertOperation(address, operation) {
@@ -1 +1 @@
1
- {"version":3,"file":"listOperations.js","sourceRoot":"","sources":["../../src/logic/listOperations.ts"],"names":[],"mappings":";;AA0BA,wCAiBC;AA3CD,wCAAkC;AAClC,yCAAqC;AACrC,4CAK0B;AAmBnB,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,EAAE,KAAK,EAAE,KAAK,EAAsC;IAEpD,IAAI,OAAO,GAAwC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACpE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,cAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,OAAO;QACL,UAAU;aACP,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAA,4BAAoB,EAAC,EAAE,CAAC,IAAI,IAAA,2BAAmB,EAAC,EAAE,CAAC,CAAC;aACjE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,EAAiB,CAAC;QACpF,SAAS;KACV,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAS,gBAAgB,CACvB,OAAe,EACf,SAAiD;IAEjD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAEjF,IAAI,aAAa,GAAG,SAAS,CAAC;IAC9B,IAAI,IAAA,4BAAoB,EAAC,SAAS,CAAC,EAAE,CAAC;QACpC,aAAa,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;IAC7C,CAAC;SAAM,IAAI,IAAA,2BAAmB,EAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,iFAAiF;QACjF,aAAa,GAAG,SAAS,EAAE,WAAW,EAAE,OAAO,IAAI,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC;IACtF,CAAC;IAED,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,IAAA,UAAG,EAAC,YAAY,EAAE,2DAA2D,EAAE,SAAS,CAAC,CAAC;IAC5F,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAExD,OAAO;QACL,iFAAiF;QACjF,IAAI,EAAE,IAAI,IAAI,EAAE;QAChB,OAAO;QACP,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,+CAA+C;QAC/C,GAAG,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;QAC5B,KAAK,EAAE;YACL,IAAI,EAAE,SAAS,CAAC,KAAK;YACrB,MAAM,EAAE,SAAS,CAAC,KAAK;YACvB,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;SACpC;QACD,OAAO,EAAE,OAAO;QAChB,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC;QACzB,yBAAyB,EAAE,OAAO;KACnC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"listOperations.js","sourceRoot":"","sources":["../../src/logic/listOperations.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,10 @@ jest.mock("../network", () => ({
9
9
  },
10
10
  },
11
11
  }));
12
+ const options = {
13
+ sort: "Ascending",
14
+ minHeight: 0,
15
+ };
12
16
  describe("listOperations", () => {
13
17
  afterEach(() => {
14
18
  mockNetworkGetTransactions.mockClear();
@@ -17,7 +21,7 @@ describe("listOperations", () => {
17
21
  // Given
18
22
  mockNetworkGetTransactions.mockResolvedValue([]);
19
23
  // When
20
- const [results, token] = await (0, listOperations_1.listOperations)("any address", {});
24
+ const [results, token] = await (0, listOperations_1.listOperations)("any address", options);
21
25
  // Then
22
26
  expect(results).toEqual([]);
23
27
  expect(token).toEqual("");
@@ -57,7 +61,7 @@ describe("listOperations", () => {
57
61
  // Given
58
62
  mockNetworkGetTransactions.mockResolvedValue([operation]);
59
63
  // When
60
- const [results, token] = await (0, listOperations_1.listOperations)("any address", {});
64
+ const [results, token] = await (0, listOperations_1.listOperations)("any address", options);
61
65
  // Then
62
66
  expect(results.length).toEqual(1);
63
67
  expect(results[0].recipients).toEqual([someDestinationAddress]);
@@ -70,7 +74,7 @@ describe("listOperations", () => {
70
74
  // Given
71
75
  mockNetworkGetTransactions.mockResolvedValue([operation]);
72
76
  // When
73
- const [results, token] = await (0, listOperations_1.listOperations)("any address", {});
77
+ const [results, token] = await (0, listOperations_1.listOperations)("any address", options);
74
78
  // Then
75
79
  expect(results.length).toEqual(1);
76
80
  expect(results[0].recipients).toEqual([]);
@@ -81,11 +85,18 @@ describe("listOperations", () => {
81
85
  const operation = { ...undelegate, sender: null };
82
86
  mockNetworkGetTransactions.mockResolvedValue([operation]);
83
87
  // When
84
- const [results, token] = await (0, listOperations_1.listOperations)("any address", {});
88
+ const [results, token] = await (0, listOperations_1.listOperations)("any address", options);
85
89
  // Then
86
90
  expect(results.length).toEqual(1);
87
91
  expect(results[0].senders).toEqual([]);
88
92
  expect(token).toEqual(JSON.stringify(operation.id));
89
93
  });
94
+ it("should order the results in descending order even if the sort option is set to ascending", async () => {
95
+ const op1 = { ...undelegate, level: "1" };
96
+ const op2 = { ...undelegate, level: "2" };
97
+ mockNetworkGetTransactions.mockResolvedValue([op1, op2]);
98
+ const [results, _] = await (0, listOperations_1.listOperations)("any address", options);
99
+ expect(results.map(op => op.block.height)).toEqual(["2", "1"]);
100
+ });
90
101
  });
91
102
  //# sourceMappingURL=listOperations.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"listOperations.test.js","sourceRoot":"","sources":["../../src/logic/listOperations.test.ts"],"names":[],"mappings":";;AAAA,qDAAkD;AAGlD,MAAM,0BAA0B,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAC7C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,IAAI,EAAE;QACJ,oBAAoB,EAAE,KAAK,IAAI,EAAE;YAC/B,OAAO,0BAA0B,EAAE,CAAC;QACtC,CAAC;KACF;CACF,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,SAAS,CAAC,GAAG,EAAE;QACb,0BAA0B,CAAC,SAAS,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,QAAQ;QACR,0BAA0B,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO;QACP,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,+BAAc,EAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO;QACP,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,MAAM,sBAAsB,GAAG,sCAAsC,CAAC;IACtE,MAAM,iBAAiB,GAAG,sCAAsC,CAAC;IACjE,MAAM,QAAQ,GAAsB;QAClC,IAAI,EAAE,YAAY;QAClB,EAAE,EAAE,GAAG;QACP,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,sBAAsB;QACjC,MAAM,EAAE,MAAM;QACd,MAAM,EAAE;YACN,OAAO,EAAE,iBAAiB;SAC3B;QACD,OAAO,EAAE,QAAQ;QACjB,YAAY,EAAE;YACZ,OAAO,EAAE,sBAAsB;SAChC;QACD,WAAW,EAAE,IAAI;KAClB,CAAC;IAEF,MAAM,UAAU,GAAsB;QACpC,GAAG,QAAQ;QACX,EAAE,EAAE,GAAG;QACP,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE;KACjD,CAAC;IAEF,MAAM,QAAQ,GAAuB;QACnC,GAAG,QAAQ;QACX,EAAE,EAAE,GAAG;QACP,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE;KAC5C,CAAC;IAEF,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CACvC,oDAAoD,EACpD,KAAK,EAAC,SAAS,EAAC,EAAE;QAChB,QAAQ;QACR,0BAA0B,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1D,OAAO;QACP,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,+BAAc,EAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO;QACP,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CACF,CAAC;IAEF,EAAE,CAAC,IAAI,CAAC;QACN,EAAE,GAAG,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;QACxD,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;KAC9B,CAAC,CAAC,gEAAgE,EAAE,KAAK,EAAC,SAAS,EAAC,EAAE;QACrF,QAAQ;QACR,0BAA0B,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1D,OAAO;QACP,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,+BAAc,EAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO;QACP,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,QAAQ;QACR,MAAM,SAAS,GAAG,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAClD,0BAA0B,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1D,OAAO;QACP,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,+BAAc,EAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO;QACP,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"listOperations.test.js","sourceRoot":"","sources":["../../src/logic/listOperations.test.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,12 @@ export type APIDelegationType = CommonOperationType & {
65
65
  } | undefined | null;
66
66
  };
67
67
  export declare function isAPIDelegationType(op: APIOperation): op is APIDelegationType;
68
+ export type AccountsGetOperationsOptions = {
69
+ lastId?: number;
70
+ limit?: number;
71
+ sort?: "Descending" | "Ascending";
72
+ "level.ge": number;
73
+ };
68
74
  export type APIOperation = APITransactionType | (CommonOperationType & {
69
75
  type: "reveal";
70
76
  }) | APIDelegationType | (CommonOperationType & {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/network/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/network/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { APIAccount, APIOperation } from "./types";
1
+ import { APIAccount, APIOperation, AccountsGetOperationsOptions } from "./types";
2
2
  declare const api: {
3
3
  getBlockCount(): Promise<number>;
4
4
  getLastBlock(): Promise<{
@@ -7,11 +7,7 @@ declare const api: {
7
7
  date: Date;
8
8
  }>;
9
9
  getAccountByAddress(address: string): Promise<APIAccount>;
10
- getAccountOperations(address: string, query: {
11
- lastId?: number;
12
- sort?: number;
13
- limit?: number;
14
- }): Promise<APIOperation[]>;
10
+ getAccountOperations(address: string, query: AccountsGetOperationsOptions): Promise<APIOperation[]>;
15
11
  };
16
12
  export declare const fetchAllTransactions: (address: string, lastId?: number) => Promise<APIOperation[]>;
17
13
  export default api;
@@ -1 +1 @@
1
- {"version":3,"file":"tzkt.d.ts","sourceRoot":"","sources":["../../src/network/tzkt.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAY,YAAY,EAAE,MAAM,SAAS,CAAC;AAI7D,QAAA,MAAM,GAAG;qBACgB,OAAO,CAAC,MAAM,CAAC;oBAMhB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC;iCAcvC,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;kCAQpD,MAAM,SACR;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,YAAY,EAAE,CAAC;CAa3B,CAAC;AAMF,eAAO,MAAM,oBAAoB,YACtB,MAAM,WACN,MAAM,KACd,OAAO,CAAC,YAAY,EAAE,CAmBxB,CAAC;AAEF,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"tzkt.d.ts","sourceRoot":"","sources":["../../src/network/tzkt.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAY,YAAY,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAI3F,QAAA,MAAM,GAAG;qBACgB,OAAO,CAAC,MAAM,CAAC;oBAMhB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC;iCAcvC,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;kCAQpD,MAAM,SACR,4BAA4B,GAClC,OAAO,CAAC,YAAY,EAAE,CAAC;CAa3B,CAAC;AAGF,eAAO,MAAM,oBAAoB,YACtB,MAAM,WACN,MAAM,KACd,OAAO,CAAC,YAAY,EAAE,CAoBxB,CAAC;AAEF,eAAe,GAAG,CAAC"}
@@ -48,17 +48,15 @@ const api = {
48
48
  return data;
49
49
  },
50
50
  };
51
- const sortOperation = {
52
- ascending: 0,
53
- descending: 1,
54
- };
51
+ // TODO this has same purpose as api/listOperations
55
52
  const fetchAllTransactions = async (address, lastId) => {
56
53
  let ops = [];
57
54
  let maxIteration = config_1.default.getCoinConfig().explorer.maxTxQuery;
58
55
  do {
59
56
  const newOps = await api.getAccountOperations(address, {
60
57
  lastId,
61
- sort: sortOperation.ascending,
58
+ sort: "Ascending",
59
+ "level.ge": 0,
62
60
  });
63
61
  if (newOps.length === 0)
64
62
  return ops;
@@ -1 +1 @@
1
- {"version":3,"file":"tzkt.js","sourceRoot":"","sources":["../../src/network/tzkt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tzkt.js","sourceRoot":"","sources":["../../src/network/tzkt.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,GAAG,EAET,MAAM,oCAAoC,CAAC;AAC5C,OAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAazD,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,CAYlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,GAAG,EAET,MAAM,oCAAoC,CAAC;AAC5C,OAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAczD,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,CAYlD"}
@@ -2,6 +2,7 @@ import { IncorrectTypeError, } from "@ledgerhq/coin-framework/api/index";
2
2
  import coinConfig from "../config";
3
3
  import { broadcast, combine, craftTransaction, estimateFees, getBalance, listOperations, lastBlock, rawEncode, } from "../logic";
4
4
  import api from "../network/tzkt";
5
+ import { log } from "@ledgerhq/logs";
5
6
  export function createApi(config) {
6
7
  coinConfig.setCoinConfig(() => ({ ...config, status: { type: "active" } }));
7
8
  return {
@@ -39,8 +40,44 @@ async function estimate(addr, amount) {
39
40
  });
40
41
  return estimatedFees.estimatedFees;
41
42
  }
42
- function operations(address, _pagination) {
43
- //TODO implement properly with https://github.com/LedgerHQ/ledger-live/pull/8875
44
- return listOperations(address, {});
43
+ async function fetchNextPage(address, state) {
44
+ const [operations, newNextCursor] = await listOperations(address, {
45
+ limit: state.pageSize,
46
+ token: state.nextCursor,
47
+ sort: "Ascending",
48
+ minHeight: state.minHeight,
49
+ });
50
+ const newCurrentIteration = state.currentIteration + 1;
51
+ let continueIteration = newNextCursor !== "";
52
+ if (newCurrentIteration >= state.maxIterations) {
53
+ log("coin:tezos", "(api/operations): max iterations reached", state.maxIterations);
54
+ continueIteration = false;
55
+ }
56
+ const accumulated = operations.concat(state.accumulator);
57
+ return {
58
+ ...state,
59
+ continueIterations: continueIteration,
60
+ currentIteration: newCurrentIteration,
61
+ nextCursor: newNextCursor,
62
+ accumulator: accumulated,
63
+ };
64
+ }
65
+ async function operationsFromHeight(address, start) {
66
+ const firstState = {
67
+ pageSize: 200,
68
+ maxIterations: 10,
69
+ currentIteration: 0,
70
+ minHeight: start,
71
+ continueIterations: true,
72
+ accumulator: [],
73
+ };
74
+ let state = await fetchNextPage(address, firstState);
75
+ while (state.continueIterations) {
76
+ state = await fetchNextPage(address, state);
77
+ }
78
+ return [state.accumulator, state.nextCursor || ""];
79
+ }
80
+ async function operations(address, { minHeight }) {
81
+ return operationsFromHeight(address, minHeight);
45
82
  }
46
83
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAInB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,UAAgC,MAAM,WAAW,CAAC;AACzD,OAAO,EACL,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,SAAS,EACT,SAAS,GACV,MAAM,UAAU,CAAC;AAClB,OAAO,GAAG,MAAM,iBAAiB,CAAC;AAElC,MAAM,UAAU,SAAS,CAAC,MAAmB;IAC3C,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAE5E,OAAO;QACL,SAAS;QACT,OAAO;QACP,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,QAAQ;QACtB,UAAU;QACV,SAAS;QACT,cAAc,EAAE,UAAU;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AACD,KAAK,UAAU,KAAK,CAClB,OAAe,EACf,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAkB;IAEhD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,gBAAgB,CACzC,EAAE,OAAO,EAAE,EACX,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,CAC3D,CAAC;IACF,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,MAAc;IAClD,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAE5E,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC;QACvC,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC;YACpC,IAAI,EAAE,WAAW,CAAC,SAAS;SAC5B;QACD,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;KAC/D,CAAC,CAAC;IACH,OAAO,aAAa,CAAC,aAAa,CAAC;AACrC,CAAC;AAED,SAAS,UAAU,CAAC,OAAe,EAAE,WAAuB;IAC1D,gFAAgF;IAChF,OAAO,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
1
+ import { createApi } from "./index";
2
+ const logicGetTransactions = jest.fn();
3
+ jest.mock("../logic", () => ({
4
+ listOperations: async () => {
5
+ return logicGetTransactions();
6
+ },
7
+ }));
8
+ const api = createApi({
9
+ baker: {
10
+ url: "https://baker.example.com",
11
+ },
12
+ explorer: {
13
+ url: "foo",
14
+ maxTxQuery: 1,
15
+ },
16
+ node: {
17
+ url: "bar",
18
+ },
19
+ fees: {
20
+ minGasLimit: 1,
21
+ minRevealGasLimit: 1,
22
+ minStorageLimit: 1,
23
+ minFees: 1,
24
+ minEstimatedFees: 2,
25
+ },
26
+ });
27
+ describe("get operations", () => {
28
+ afterEach(() => {
29
+ logicGetTransactions.mockClear();
30
+ });
31
+ it("could return no operation", async () => {
32
+ logicGetTransactions.mockResolvedValue([[], ""]);
33
+ const [operations, token] = await api.listOperations("addr", { minHeight: 100 });
34
+ expect(operations).toEqual([]);
35
+ expect(token).toEqual("");
36
+ });
37
+ const op = {
38
+ hash: "opHash",
39
+ address: "tz1...",
40
+ type: "transaction",
41
+ value: BigInt(1000),
42
+ fee: BigInt(100),
43
+ block: {
44
+ hash: "blockHash",
45
+ height: 123456,
46
+ time: new Date(),
47
+ },
48
+ senders: ["tz1Sender"],
49
+ recipients: ["tz1Recipient"],
50
+ date: new Date(),
51
+ transactionSequenceNumber: 1,
52
+ };
53
+ it("stops iterating after 10 iterations", async () => {
54
+ logicGetTransactions.mockResolvedValue([[op], "888"]);
55
+ const [operations, token] = await api.listOperations("addr", { minHeight: 100 });
56
+ expect(logicGetTransactions).toHaveBeenCalledTimes(10);
57
+ expect(operations.length).toBe(10);
58
+ expect(token).toEqual("888");
59
+ });
60
+ });
61
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,oBAAoB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACvC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3B,cAAc,EAAE,KAAK,IAAI,EAAE;QACzB,OAAO,oBAAoB,EAAE,CAAC;IAChC,CAAC;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,GAAG,GAAG,SAAS,CAAC;IACpB,KAAK,EAAE;QACL,GAAG,EAAE,2BAA2B;KACjC;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,KAAK;QACV,UAAU,EAAE,CAAC;KACd;IACD,IAAI,EAAE;QACJ,GAAG,EAAE,KAAK;KACX;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;QACpB,eAAe,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;QACV,gBAAgB,EAAE,CAAC;KACpB;CACF,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,SAAS,CAAC,GAAG,EAAE;QACb,oBAAoB,CAAC,SAAS,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QACjF,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,GAAc;QACpB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;QAChB,KAAK,EAAE;YACL,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,IAAI,EAAE;SACjB;QACD,OAAO,EAAE,CAAC,WAAW,CAAC;QACtB,UAAU,EAAE,CAAC,cAAc,CAAC;QAC5B,IAAI,EAAE,IAAI,IAAI,EAAE;QAChB,yBAAyB,EAAE,CAAC;KAC7B,CAAC;IAEF,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QACjF,MAAM,CAAC,oBAAoB,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAuB,EAAE,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,QAAQ,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,WAAW,CAAC;AAE3D,QAAA,MAAM,UAAU;;;CAAoC,CAAC;AAErD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAwB,EAAE,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEvF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,QAAQ,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,WAAW,CAAC;AAE3D,QAAA,MAAM,UAAU;;;CAAqC,CAAC;AAEtD,eAAe,UAAU,CAAC"}