@ledgerhq/coin-tron 3.0.1-nightly.0 → 3.1.0-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 (43) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +6 -0
  3. package/lib/api/index.d.ts.map +1 -1
  4. package/lib/api/index.js +6 -1
  5. package/lib/api/index.js.map +1 -1
  6. package/lib/api/index.test.js +7 -2
  7. package/lib/api/index.test.js.map +1 -1
  8. package/lib/logic/listOperations.d.ts +7 -1
  9. package/lib/logic/listOperations.d.ts.map +1 -1
  10. package/lib/logic/listOperations.integ.test.js +56 -4
  11. package/lib/logic/listOperations.integ.test.js.map +1 -1
  12. package/lib/logic/listOperations.js +20 -7
  13. package/lib/logic/listOperations.js.map +1 -1
  14. package/lib/logic/listOperations.unit.test.js +5 -3
  15. package/lib/logic/listOperations.unit.test.js.map +1 -1
  16. package/lib/network/index.d.ts +5 -1
  17. package/lib/network/index.d.ts.map +1 -1
  18. package/lib/network/index.js +8 -5
  19. package/lib/network/index.js.map +1 -1
  20. package/lib-es/api/index.d.ts.map +1 -1
  21. package/lib-es/api/index.js +6 -1
  22. package/lib-es/api/index.js.map +1 -1
  23. package/lib-es/api/index.test.js +7 -2
  24. package/lib-es/api/index.test.js.map +1 -1
  25. package/lib-es/logic/listOperations.d.ts +7 -1
  26. package/lib-es/logic/listOperations.d.ts.map +1 -1
  27. package/lib-es/logic/listOperations.integ.test.js +57 -5
  28. package/lib-es/logic/listOperations.integ.test.js.map +1 -1
  29. package/lib-es/logic/listOperations.js +19 -7
  30. package/lib-es/logic/listOperations.js.map +1 -1
  31. package/lib-es/logic/listOperations.unit.test.js +6 -4
  32. package/lib-es/logic/listOperations.unit.test.js.map +1 -1
  33. package/lib-es/network/index.d.ts +5 -1
  34. package/lib-es/network/index.d.ts.map +1 -1
  35. package/lib-es/network/index.js +8 -5
  36. package/lib-es/network/index.js.map +1 -1
  37. package/package.json +1 -1
  38. package/src/api/index.test.ts +7 -2
  39. package/src/api/index.ts +7 -1
  40. package/src/logic/listOperations.integ.test.ts +74 -5
  41. package/src/logic/listOperations.ts +31 -7
  42. package/src/logic/listOperations.unit.test.ts +8 -4
  43. package/src/network/index.ts +13 -6
@@ -1,4 +1,4 @@
1
- import { listOperations } from "./listOperations";
1
+ import { defaultOptions, listOperations } from "./listOperations";
2
2
  import coinConfig from "../config";
3
3
  describe("listOperations", () => {
4
4
  beforeAll(() => {
@@ -16,21 +16,73 @@ describe("listOperations", () => {
16
16
  let operations;
17
17
  const testingAccount = "TRqkRnAj6ceJFYAn2p1eE7aWrgBBwtdhS9";
18
18
  // there are 2 operations with height >= 40832955
19
- const minHeight = 40832955;
19
+ const options = { ...defaultOptions, minHeight: 40832955 };
20
20
  const historySize = 2;
21
21
  const txHashAtMinHeight = "242591f43c74e45bf4c5c423be2f600c9a53237bde4c793faff5f3120f8745d7";
22
22
  beforeAll(async () => {
23
- [operations] = await listOperations(testingAccount, minHeight);
23
+ [operations] = await listOperations(testingAccount, options);
24
24
  });
25
25
  describe("List", () => {
26
26
  it("should fetch operations successfully", async () => {
27
27
  expect(Array.isArray(operations)).toBeDefined();
28
28
  expect(operations.length).toBeGreaterThanOrEqual(historySize);
29
- expect(operations.filter(op => op.tx.block.height < minHeight).length).toEqual(0);
29
+ expect(operations.filter(op => op.tx.block.height < options.minHeight).length).toEqual(0);
30
30
  expect(operations.find(op => op.tx.hash === txHashAtMinHeight)).toBeDefined();
31
31
  });
32
32
  });
33
33
  });
34
+ describe("Account TRRYfGVrzuUvJYRe9UaA8KqxjgVSwU9m6L withe more than 15k+ txs, with minHeight 0 / order asc / softLimit 2", () => {
35
+ // https://tronscan.org/#/address/TRRYfGVrzuUvJYRe9UaA8KqxjgVSwU9m6L
36
+ let operations;
37
+ const testingAccount = "TRRYfGVrzuUvJYRe9UaA8KqxjgVSwU9m6L";
38
+ const options = { minHeight: 0, order: "asc", softLimit: 2 };
39
+ const oldestNativeTxHash = "ebd45e2bd6a83949971554ff84fd6253bc7c77f7ef38cc9ca98c070feeac30d0";
40
+ const oldestTrc20TxHash = "d9e56dbac3b7bcab20ae72beaaae9634155bbc0855d230fb8fdb9139b3696796";
41
+ beforeAll(async () => {
42
+ [operations] = await listOperations(testingAccount, options);
43
+ });
44
+ describe("List", () => {
45
+ it("should fetch operations successfully", async () => {
46
+ expect(Array.isArray(operations)).toBeDefined();
47
+ expect(operations.length).toBeLessThanOrEqual(options.softLimit * 2);
48
+ expect(operations.filter(op => op.tx.block.height < options.minHeight).length).toEqual(0);
49
+ expect(operations.find(op => op.tx.hash === oldestNativeTxHash)).toBeDefined();
50
+ expect(operations.find(op => op.tx.hash === oldestTrc20TxHash)).toBeDefined();
51
+ for (let i = 0; i < operations.length - 2; i++) {
52
+ // transactions are sorted by descencing order (newest first)
53
+ // even if we query oldest tx ("asc" order)
54
+ expect(operations[i].tx.block.height).toBeGreaterThanOrEqual(operations[i + 1].tx.block.height);
55
+ }
56
+ });
57
+ });
58
+ });
59
+ describe("Account TRRYfGVrzuUvJYRe9UaA8KqxjgVSwU9m6L withe more than 15k+ txs, with minHeight / order asc / softLimit 2", () => {
60
+ // https://tronscan.org/#/address/TRRYfGVrzuUvJYRe9UaA8KqxjgVSwU9m6L
61
+ let operations;
62
+ const testingAccount = "TRRYfGVrzuUvJYRe9UaA8KqxjgVSwU9m6L";
63
+ const options = { minHeight: 52848767, order: "asc", softLimit: 2 };
64
+ // at height 52848767 there is a trc20 tx with hash:
65
+ const oldestTrc20TxHash = "ab4dba763e4f320f4631268c413926e680c58a3d5228b504d79e9d974dcf9c4b";
66
+ // the counterpart native tx height is at 53204348 with tx hash:
67
+ const oldestNativeTxHash = "9d51fb7877a7193af05917dee3aaa5e1e22fcbce36ad0d4593eaca4b8d5d1002";
68
+ beforeAll(async () => {
69
+ [operations] = await listOperations(testingAccount, options);
70
+ });
71
+ describe("List", () => {
72
+ it("should fetch operations successfully", async () => {
73
+ expect(Array.isArray(operations)).toBeDefined();
74
+ expect(operations.length).toBeLessThanOrEqual(options.softLimit * 2);
75
+ expect(operations.filter(op => op.tx.block.height < options.minHeight).length).toEqual(0);
76
+ expect(operations.find(op => op.tx.hash === oldestNativeTxHash)).toBeDefined();
77
+ expect(operations.find(op => op.tx.hash === oldestTrc20TxHash)).toBeDefined();
78
+ for (let i = 0; i < operations.length - 2; i++) {
79
+ // transactions are sorted by descencing order (newest first)
80
+ // even if we query oldest tx ("asc" order)
81
+ expect(operations[i].tx.block.height).toBeGreaterThanOrEqual(operations[i + 1].tx.block.height);
82
+ }
83
+ });
84
+ });
85
+ });
34
86
  // We could create a loop on array of account addresses and use standard test cases, but this way it's more readable / flexible
35
87
  describe("Account TRqkRnAj6ceJFYAn2p1eE7aWrgBBwtdhS9", () => {
36
88
  // https://tronscan.org/#/address/TRqkRnAj6ceJFYAn2p1eE7aWrgBBwtdhS9
@@ -40,7 +92,7 @@ describe("listOperations", () => {
40
92
  const testingAccount = "TRqkRnAj6ceJFYAn2p1eE7aWrgBBwtdhS9";
41
93
  const magnitudeMultiplier = 1000000;
42
94
  beforeAll(async () => {
43
- [operations] = await listOperations(testingAccount, 0);
95
+ [operations] = await listOperations(testingAccount, defaultOptions);
44
96
  });
45
97
  describe("List", () => {
46
98
  it("should fetch operations successfully", async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"listOperations.integ.test.js","sourceRoot":"","sources":["../../src/logic/listOperations.integ.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listOperations.integ.test.js","sourceRoot":"","sources":["../../src/logic/listOperations.integ.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAW,MAAM,kBAAkB,CAAC;AAC3E,OAAO,UAAU,MAAM,WAAW,CAAC;AAInC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9B,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;aACf;YACD,QAAQ,EAAE;gBACR,GAAG,EAAE,8BAA8B;aACpC;SACF,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACzE,oEAAoE;QAEpE,IAAI,UAAkC,CAAC;QAEvC,MAAM,cAAc,GAAG,oCAAoC,CAAC;QAE5D,iDAAiD;QACjD,MAAM,OAAO,GAAG,EAAE,GAAG,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QAC3D,MAAM,WAAW,GAAG,CAAC,CAAC;QACtB,MAAM,iBAAiB,GAAG,kEAAkE,CAAC;QAE7F,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,CAAC,UAAU,CAAC,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;YACpB,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;gBACpD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAChD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;gBAC9D,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1F,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAChF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iHAAiH,EAAE,GAAG,EAAE;QAC/H,oEAAoE;QAEpE,IAAI,UAAkC,CAAC;QAEvC,MAAM,cAAc,GAAG,oCAAoC,CAAC;QAE5D,MAAM,OAAO,GAAY,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACtE,MAAM,kBAAkB,GAAG,kEAAkE,CAAC;QAC9F,MAAM,iBAAiB,GAAG,kEAAkE,CAAC;QAE7F,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,CAAC,UAAU,CAAC,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;YACpB,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;gBACpD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAChD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBACrE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1F,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC/E,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/C,6DAA6D;oBAC7D,2CAA2C;oBAC3C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAC1D,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAClC,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+GAA+G,EAAE,GAAG,EAAE;QAC7H,oEAAoE;QAEpE,IAAI,UAAkC,CAAC;QAEvC,MAAM,cAAc,GAAG,oCAAoC,CAAC;QAE5D,MAAM,OAAO,GAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAE7E,oDAAoD;QACpD,MAAM,iBAAiB,GAAG,kEAAkE,CAAC;QAC7F,gEAAgE;QAChE,MAAM,kBAAkB,GAAG,kEAAkE,CAAC;QAE9F,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,CAAC,UAAU,CAAC,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;YACpB,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;gBACpD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAChD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBACrE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1F,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC/E,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/C,6DAA6D;oBAC7D,2CAA2C;oBAC3C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAC1D,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAClC,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,+HAA+H;IAC/H,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAC1D,oEAAoE;QAEpE,uBAAuB;QACvB,MAAM,WAAW,GAAG,GAAG,CAAC;QAExB,IAAI,UAAkC,CAAC;QAEvC,MAAM,cAAc,GAAG,oCAAoC,CAAC;QAE5D,MAAM,mBAAmB,GAAG,OAAO,CAAC;QAEpC,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,CAAC,UAAU,CAAC,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;YACpB,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;gBACpD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;gBAC3C,2CAA2C;gBAC3C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;gBACpF,MAAM,YAAY,GAAG,kEAAkE,CAAC;gBACxF,MAAM,YAAY,GAAG,kEAAkE,CAAC;gBACxF,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAClF,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;gBAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAC1D,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAClC,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;YACpB,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;gBAChE,sGAAsG;gBACtG,kCAAkC;gBAClC,MAAM,MAAM,GAAG,kEAAkE,CAAC;gBAClF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;gBAChC,MAAM,CAAC,SAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;gBACtC,sGAAsG;gBACtG,+BAA+B;gBAC/B,MAAM,MAAM,GAAG,kEAAkE,CAAC;gBAClF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;gBAChC,MAAM,CAAC,SAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;YACjC,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;gBAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBACxD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;gBAC1D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBACjD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;gBAC9B,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;oBACnD,sGAAsG;oBACtG,wDAAwD;oBACxD,MAAM,MAAM,GAAG,kEAAkE,CAAC;oBAClF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;wBAC9B,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC;wBAC1C,UAAU,EAAE,CAAC,cAAc,CAAC;wBAC5B,OAAO,EAAE,CAAC,oCAAoC,CAAC;wBAC/C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;oBACpD,sGAAsG;oBACtG,qDAAqD;oBACrD,MAAM,MAAM,GAAG,kEAAkE,CAAC;oBAClF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;wBAC9B,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,MAAM,CAAC,GAAG,GAAG,mBAAmB,CAAC;wBACxC,OAAO,EAAE,CAAC,cAAc,CAAC;wBACzB,UAAU,EAAE,CAAC,oCAAoC,CAAC;wBAClD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAChC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;oBACrD,sGAAsG;oBACtG,oGAAoG;oBACpG,MAAM,MAAM,GAAG,kEAAkE,CAAC;oBAClF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;wBAC9B,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,MAAM,CAAC,QAAQ,GAAG,mBAAmB,CAAC;wBAC7C,UAAU,EAAE,CAAC,cAAc,CAAC;wBAC5B,OAAO,EAAE,CAAC,oCAAoC,CAAC;wBAC/C,KAAK,EAAE;4BACL,IAAI,EAAE,OAAO;4BACb,QAAQ,EAAE,OAAO;4BACjB,OAAO,EAAE,SAAS;yBACnB;qBACF,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;oBACtD,sGAAsG;oBACtG,MAAM,MAAM,GAAG,kEAAkE,CAAC;oBAClF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;wBAC9B,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,mBAAmB,CAAC;wBACtC,OAAO,EAAE,CAAC,cAAc,CAAC;wBACzB,UAAU,EAAE,CAAC,oCAAoC,CAAC;wBAClD,KAAK,EAAE;4BACL,IAAI,EAAE,OAAO;4BACb,QAAQ,EAAE,OAAO;4BACjB,OAAO,EAAE,SAAS;yBACnB;qBACF,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAChC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;oBACrD,sGAAsG;oBACtG,gEAAgE;oBAChE,MAAM,MAAM,GAAG,kEAAkE,CAAC;oBAClF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;wBAC9B,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,MAAM,CAAC,QAAQ,GAAG,mBAAmB,CAAC;wBAC7C,OAAO,EAAE,CAAC,oCAAoC,CAAC;wBAC/C,UAAU,EAAE,CAAC,cAAc,CAAC;wBAC5B,KAAK,EAAE;4BACL,IAAI,EAAE,OAAO;4BACb,QAAQ,EAAE,OAAO;4BACjB,eAAe,EAAE,oCAAoC;yBACtD;qBACF,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;oBACtD,sGAAsG;oBACtG,0DAA0D;oBAC1D,MAAM,MAAM,GAAG,kEAAkE,CAAC;oBAClF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;wBAC9B,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,MAAM,CAAC,GAAG,GAAG,mBAAmB,CAAC;wBACxC,OAAO,EAAE,CAAC,cAAc,CAAC;wBACzB,UAAU,EAAE,CAAC,oCAAoC,CAAC;wBAClD,KAAK,EAAE;4BACL,IAAI,EAAE,OAAO;4BACb,QAAQ,EAAE,OAAO;4BACjB,eAAe,EAAE,oCAAoC;yBACtD;qBACF,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;gBAClC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;oBAClD,sGAAsG;oBACtG,uBAAuB;oBACvB,MAAM,MAAM,GAAG,kEAAkE,CAAC;oBAClF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;oBAChC,MAAM,CAAC,SAAU,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACtC,MAAM,CAAC,SAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBAC3C,MAAM,CAAC,SAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,mBAAmB,CAAC,CAAC,CAAC;oBACzE,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACrD,kDAAkD;oBAClD,wEAAwE;oBACxE,MAAM,CAAC,SAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAClE,MAAM,CAAC,SAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;oBAC1C,sGAAsG;oBACtG,gCAAgC;oBAChC,MAAM,MAAM,GAAG,kEAAkE,CAAC;oBAClF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;oBAChC,MAAM,CAAC,SAAU,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACtC,MAAM,CAAC,SAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,13 +1,25 @@
1
1
  import { defaultFetchParams, fetchTronAccountTxs, getBlock, } from "../network";
2
2
  import { fromTrongridTxInfoToOperation } from "../network/trongrid/trongrid-adapters";
3
- const neverStop = () => true;
4
- export async function listOperations(address, minHeight) {
3
+ export const defaultOptions = {
4
+ softLimit: 1000,
5
+ minHeight: 0,
6
+ order: "desc",
7
+ };
8
+ export async function listOperations(address, options) {
5
9
  // there is a possible optimisation here: when height is 0, set the minTimestamp to 0
6
- const block = await getBlock(minHeight);
7
- const fetchParams = block.time
8
- ? { ...defaultFetchParams, minTimestamp: block.time?.getTime() }
9
- : defaultFetchParams;
10
- const txs = await fetchTronAccountTxs(address, neverStop, {}, fetchParams);
10
+ const block = await getBlock(options.minHeight);
11
+ const minTimestamp = block.time?.getTime() ?? defaultFetchParams.minTimestamp;
12
+ const fetchParams = {
13
+ ...defaultFetchParams,
14
+ minTimestamp: minTimestamp,
15
+ order: options.order,
16
+ hintGlobalLimit: options.softLimit,
17
+ };
18
+ // under the hood, the network fetches native transactions and trc20 transactions separately
19
+ // that same predicate is used to stop fetching both calls
20
+ // that's why we have a "soft" limit, with the guarantee of total number of transactions to be less than 2 * softLimit
21
+ const untilLimitReached = ops => ops.length < options.softLimit;
22
+ const txs = await fetchTronAccountTxs(address, untilLimitReached, {}, fetchParams);
11
23
  return [
12
24
  txs
13
25
  // TODO: adapt directly in network calls
@@ -1 +1 @@
1
- {"version":3,"file":"listOperations.js","sourceRoot":"","sources":["../../src/logic/listOperations.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EAEnB,QAAQ,GACT,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAGtF,MAAM,SAAS,GAA8B,GAAG,EAAE,CAAC,IAAI,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,SAAiB;IAEjB,qFAAqF;IACrF,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI;QAC5B,CAAC,CAAC,EAAE,GAAG,kBAAkB,EAAE,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QAChE,CAAC,CAAC,kBAAkB,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;IAC3E,OAAO;QACL,GAAG;YACD,wCAAwC;aACvC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,6BAA6B,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACxD,EAAE;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"listOperations.js","sourceRoot":"","sources":["../../src/logic/listOperations.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EAEnB,QAAQ,GACT,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAatF,MAAM,CAAC,MAAM,cAAc,GAAY;IACrC,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,CAAC;IACZ,KAAK,EAAE,MAAM;CACL,CAAC;AAEX,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,OAAgB;IAEhB,qFAAqF;IACrF,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,kBAAkB,CAAC,YAAY,CAAC;IAC9E,MAAM,WAAW,GAAG;QAClB,GAAG,kBAAkB;QACrB,YAAY,EAAE,YAAY;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,eAAe,EAAE,OAAO,CAAC,SAAS;KACnC,CAAC;IAEF,4FAA4F;IAC5F,0DAA0D;IAC1D,sHAAsH;IACtH,MAAM,iBAAiB,GAA8B,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAE3F,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;IACnF,OAAO;QACL,GAAG;YACD,wCAAwC;aACvC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,6BAA6B,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACxD,EAAE;KACH,CAAC;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import BigNumber from "bignumber.js";
2
2
  import { defaultFetchParams, fetchTronAccountTxs, getBlock } from "../network";
3
3
  import { fromTrongridTxInfoToOperation } from "../network/trongrid/trongrid-adapters";
4
- import { listOperations } from "./listOperations";
4
+ import { defaultOptions, listOperations } from "./listOperations";
5
5
  // Mock the fetchTronAccountTxs and fromTrongridTxInfoToOperation functions
6
6
  jest.mock("../network", () => ({
7
7
  fetchTronAccountTxs: jest.fn(),
@@ -23,6 +23,8 @@ describe("listOperations", () => {
23
23
  const expectedFetchParams = {
24
24
  ...defaultFetchParams,
25
25
  minTimestamp: mockBlockTimestamp,
26
+ hintGlobalLimit: 1000,
27
+ order: "desc",
26
28
  };
27
29
  it("should fetch transactions and return operations", async () => {
28
30
  const mockTxs = [
@@ -40,7 +42,7 @@ describe("listOperations", () => {
40
42
  value: BigInt(tx.value.toString()),
41
43
  };
42
44
  });
43
- const [operations, token] = await listOperations(mockAddress, 0);
45
+ const [operations, token] = await listOperations(mockAddress, defaultOptions);
44
46
  expect(fetchTronAccountTxs).toHaveBeenCalledWith(mockAddress, expect.any(Function), {}, expectedFetchParams);
45
47
  expect(fromTrongridTxInfoToOperation).toHaveBeenCalledTimes(mockTxs.length);
46
48
  expect(operations).toEqual(expectedOperations);
@@ -51,7 +53,7 @@ describe("listOperations", () => {
51
53
  const expectedOperations = [];
52
54
  fetchTronAccountTxs.mockResolvedValue(mockTxs);
53
55
  fromTrongridTxInfoToOperation.mockImplementation(() => null);
54
- const [operations, token] = await listOperations(mockAddress, 0);
56
+ const [operations, token] = await listOperations(mockAddress, defaultOptions);
55
57
  expect(fetchTronAccountTxs).toHaveBeenCalledWith(mockAddress, expect.any(Function), {}, expectedFetchParams);
56
58
  expect(operations).toEqual(expectedOperations);
57
59
  expect(token).toBe("");
@@ -59,7 +61,7 @@ describe("listOperations", () => {
59
61
  it("should handle errors from fetchTronAccountTxs", async () => {
60
62
  const exampleError = new Error("Network error!");
61
63
  fetchTronAccountTxs.mockRejectedValue(exampleError);
62
- await expect(listOperations(mockAddress, 0)).rejects.toThrow(new Error(exampleError.message));
64
+ await expect(listOperations(mockAddress, defaultOptions)).rejects.toThrow(new Error(exampleError.message));
63
65
  });
64
66
  });
65
67
  //# sourceMappingURL=listOperations.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"listOperations.unit.test.js","sourceRoot":"","sources":["../../src/logic/listOperations.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listOperations.unit.test.js","sourceRoot":"","sources":["../../src/logic/listOperations.unit.test.ts"],"names":[],"mappings":"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"}
@@ -33,8 +33,12 @@ export declare function getBlock(blockNumber: number): Promise<Block>;
33
33
  export declare function fetchTronTxDetail(txId: string): Promise<TronTransactionInfo>;
34
34
  export type FetchTxsStopPredicate = (txs: Array<TransactionTronAPI | Trc20API | MalformedTransactionTronAPI>) => boolean;
35
35
  export type FetchParams = {
36
- limit: number;
36
+ /** The maximum number of transactions to fetch per call. */
37
+ limitPerCall: number;
38
+ /** Hint about the number of transactions to be fetched in total (hint to optimize `limitPerCall`) */
39
+ hintGlobalLimit?: number;
37
40
  minTimestamp: number;
41
+ order: "asc" | "desc";
38
42
  };
39
43
  export declare const defaultFetchParams: FetchParams;
40
44
  export declare function fetchTronAccountTxs(addr: string, shouldFetchMoreTxs: FetchTxsStopPredicate, cacheTransactionInfoById: Record<string, TronTransactionInfo>, params: FetchParams): Promise<TrongridTxInfo[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"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"}
@@ -275,12 +275,16 @@ const getTrc20 = async (url) => {
275
275
  };
276
276
  };
277
277
  export const defaultFetchParams = {
278
- limit: 100,
278
+ limitPerCall: 100,
279
279
  minTimestamp: 0,
280
+ order: "desc",
280
281
  };
281
282
  export async function fetchTronAccountTxs(addr, shouldFetchMoreTxs, cacheTransactionInfoById, params) {
282
- const queryParamsNativeTxs = `limit=${params.limit}&min_timestamp=${params.minTimestamp}`;
283
- const nativeTxs = (await getAllTransactions(`${getBaseApiUrl()}/v1/accounts/${addr}/transactions?${queryParamsNativeTxs}`, shouldFetchMoreTxs, getTransactions(cacheTransactionInfoById)))
283
+ const adjustedLimitPerCall = params.hintGlobalLimit
284
+ ? Math.min(params.limitPerCall, params.hintGlobalLimit)
285
+ : params.limitPerCall;
286
+ const queryParams = `limit=${adjustedLimitPerCall}&min_timestamp=${params.minTimestamp}&order_by=block_timestamp,${params.order}`;
287
+ const nativeTxs = (await getAllTransactions(`${getBaseApiUrl()}/v1/accounts/${addr}/transactions?${queryParams}`, shouldFetchMoreTxs, getTransactions(cacheTransactionInfoById)))
284
288
  .filter(isTransactionTronAPI)
285
289
  .filter(tx => {
286
290
  // custom smart contract tx has internal txs
@@ -297,8 +301,7 @@ export async function fetchTronAccountTxs(addr, shouldFetchMoreTxs, cacheTransac
297
301
  .map(tx => formatTrongridTxResponse(tx));
298
302
  // we need to fetch and filter trc20 transactions from another endpoint
299
303
  // doc https://developers.tron.network/reference/get-trc20-transaction-info-by-account-address
300
- const queryParamsTrc20Txs = `limit=${params.limit}&min_timestamp=${params.minTimestamp}`;
301
- const trc20Txs = (await getAllTransactions(`${getBaseApiUrl()}/v1/accounts/${addr}/transactions/trc20?${queryParamsTrc20Txs}&get_detail=true`, shouldFetchMoreTxs, getTrc20)).map(tx => formatTrongridTrc20TxResponse(tx));
304
+ const trc20Txs = (await getAllTransactions(`${getBaseApiUrl()}/v1/accounts/${addr}/transactions/trc20?${queryParams}&get_detail=true`, shouldFetchMoreTxs, getTrc20)).map(tx => formatTrongridTrc20TxResponse(tx));
302
305
  const txInfos = compact(nativeTxs.concat(trc20Txs)).sort((a, b) => b.date.getTime() - a.date.getTime());
303
306
  return txInfos;
304
307
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-tron",
3
- "version": "3.0.1-nightly.0",
3
+ "version": "3.1.0-nightly.1",
4
4
  "description": "Ledger Tron Coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -68,7 +68,8 @@ describe("createApi", () => {
68
68
  await api.estimateFees(intent);
69
69
  await api.getBalance("address");
70
70
  await api.lastBlock();
71
- await api.listOperations("address", { minHeight: 14 } as Pagination);
71
+ const minHeight = 14;
72
+ await api.listOperations("address", { minHeight: minHeight } as Pagination);
72
73
 
73
74
  // Test that each of the methods was called with correct arguments
74
75
  expect(broadcast).toHaveBeenCalledWith("transaction");
@@ -77,6 +78,10 @@ describe("createApi", () => {
77
78
  expect(craftTransaction).toHaveBeenCalledWith(intent);
78
79
  expect(getBalance).toHaveBeenCalledWith("address");
79
80
  expect(lastBlock).toHaveBeenCalled();
80
- expect(listOperations).toHaveBeenCalledWith("address", 14);
81
+ expect(listOperations).toHaveBeenCalledWith("address", {
82
+ minHeight: minHeight,
83
+ order: "asc",
84
+ softLimit: 200,
85
+ });
81
86
  });
82
87
  });
package/src/api/index.ts CHANGED
@@ -14,6 +14,7 @@ import {
14
14
  getBalance,
15
15
  listOperations as logicListOperations,
16
16
  lastBlock,
17
+ Options,
17
18
  } from "../logic";
18
19
  import type { TronAsset } from "../types";
19
20
 
@@ -41,5 +42,10 @@ async function listOperations(
41
42
  pagination: Pagination,
42
43
  ): Promise<[Operation<TronAsset>[], string]> {
43
44
  const { minHeight } = pagination;
44
- return logicListOperations(address, minHeight);
45
+ const options: Options = {
46
+ softLimit: 200,
47
+ minHeight: minHeight,
48
+ order: "asc",
49
+ } as const;
50
+ return logicListOperations(address, options);
45
51
  }
@@ -1,4 +1,4 @@
1
- import { listOperations } from "./listOperations";
1
+ import { defaultOptions, listOperations, Options } from "./listOperations";
2
2
  import coinConfig from "../config";
3
3
  import { Operation } from "@ledgerhq/coin-framework/api/types";
4
4
  import { TronAsset } from "../types";
@@ -23,24 +23,93 @@ describe("listOperations", () => {
23
23
  const testingAccount = "TRqkRnAj6ceJFYAn2p1eE7aWrgBBwtdhS9";
24
24
 
25
25
  // there are 2 operations with height >= 40832955
26
- const minHeight = 40832955;
26
+ const options = { ...defaultOptions, minHeight: 40832955 };
27
27
  const historySize = 2;
28
28
  const txHashAtMinHeight = "242591f43c74e45bf4c5c423be2f600c9a53237bde4c793faff5f3120f8745d7";
29
29
 
30
30
  beforeAll(async () => {
31
- [operations] = await listOperations(testingAccount, minHeight);
31
+ [operations] = await listOperations(testingAccount, options);
32
32
  });
33
33
 
34
34
  describe("List", () => {
35
35
  it("should fetch operations successfully", async () => {
36
36
  expect(Array.isArray(operations)).toBeDefined();
37
37
  expect(operations.length).toBeGreaterThanOrEqual(historySize);
38
- expect(operations.filter(op => op.tx.block.height < minHeight).length).toEqual(0);
38
+ expect(operations.filter(op => op.tx.block.height < options.minHeight).length).toEqual(0);
39
39
  expect(operations.find(op => op.tx.hash === txHashAtMinHeight)).toBeDefined();
40
40
  });
41
41
  });
42
42
  });
43
43
 
44
+ describe("Account TRRYfGVrzuUvJYRe9UaA8KqxjgVSwU9m6L withe more than 15k+ txs, with minHeight 0 / order asc / softLimit 2", () => {
45
+ // https://tronscan.org/#/address/TRRYfGVrzuUvJYRe9UaA8KqxjgVSwU9m6L
46
+
47
+ let operations: Operation<TronAsset>[];
48
+
49
+ const testingAccount = "TRRYfGVrzuUvJYRe9UaA8KqxjgVSwU9m6L";
50
+
51
+ const options: Options = { minHeight: 0, order: "asc", softLimit: 2 };
52
+ const oldestNativeTxHash = "ebd45e2bd6a83949971554ff84fd6253bc7c77f7ef38cc9ca98c070feeac30d0";
53
+ const oldestTrc20TxHash = "d9e56dbac3b7bcab20ae72beaaae9634155bbc0855d230fb8fdb9139b3696796";
54
+
55
+ beforeAll(async () => {
56
+ [operations] = await listOperations(testingAccount, options);
57
+ });
58
+
59
+ describe("List", () => {
60
+ it("should fetch operations successfully", async () => {
61
+ expect(Array.isArray(operations)).toBeDefined();
62
+ expect(operations.length).toBeLessThanOrEqual(options.softLimit * 2);
63
+ expect(operations.filter(op => op.tx.block.height < options.minHeight).length).toEqual(0);
64
+ expect(operations.find(op => op.tx.hash === oldestNativeTxHash)).toBeDefined();
65
+ expect(operations.find(op => op.tx.hash === oldestTrc20TxHash)).toBeDefined();
66
+ for (let i = 0; i < operations.length - 2; i++) {
67
+ // transactions are sorted by descencing order (newest first)
68
+ // even if we query oldest tx ("asc" order)
69
+ expect(operations[i].tx.block.height).toBeGreaterThanOrEqual(
70
+ operations[i + 1].tx.block.height,
71
+ );
72
+ }
73
+ });
74
+ });
75
+ });
76
+
77
+ describe("Account TRRYfGVrzuUvJYRe9UaA8KqxjgVSwU9m6L withe more than 15k+ txs, with minHeight / order asc / softLimit 2", () => {
78
+ // https://tronscan.org/#/address/TRRYfGVrzuUvJYRe9UaA8KqxjgVSwU9m6L
79
+
80
+ let operations: Operation<TronAsset>[];
81
+
82
+ const testingAccount = "TRRYfGVrzuUvJYRe9UaA8KqxjgVSwU9m6L";
83
+
84
+ const options: Options = { minHeight: 52848767, order: "asc", softLimit: 2 };
85
+
86
+ // at height 52848767 there is a trc20 tx with hash:
87
+ const oldestTrc20TxHash = "ab4dba763e4f320f4631268c413926e680c58a3d5228b504d79e9d974dcf9c4b";
88
+ // the counterpart native tx height is at 53204348 with tx hash:
89
+ const oldestNativeTxHash = "9d51fb7877a7193af05917dee3aaa5e1e22fcbce36ad0d4593eaca4b8d5d1002";
90
+
91
+ beforeAll(async () => {
92
+ [operations] = await listOperations(testingAccount, options);
93
+ });
94
+
95
+ describe("List", () => {
96
+ it("should fetch operations successfully", async () => {
97
+ expect(Array.isArray(operations)).toBeDefined();
98
+ expect(operations.length).toBeLessThanOrEqual(options.softLimit * 2);
99
+ expect(operations.filter(op => op.tx.block.height < options.minHeight).length).toEqual(0);
100
+ expect(operations.find(op => op.tx.hash === oldestNativeTxHash)).toBeDefined();
101
+ expect(operations.find(op => op.tx.hash === oldestTrc20TxHash)).toBeDefined();
102
+ for (let i = 0; i < operations.length - 2; i++) {
103
+ // transactions are sorted by descencing order (newest first)
104
+ // even if we query oldest tx ("asc" order)
105
+ expect(operations[i].tx.block.height).toBeGreaterThanOrEqual(
106
+ operations[i + 1].tx.block.height,
107
+ );
108
+ }
109
+ });
110
+ });
111
+ });
112
+
44
113
  // We could create a loop on array of account addresses and use standard test cases, but this way it's more readable / flexible
45
114
  describe("Account TRqkRnAj6ceJFYAn2p1eE7aWrgBBwtdhS9", () => {
46
115
  // https://tronscan.org/#/address/TRqkRnAj6ceJFYAn2p1eE7aWrgBBwtdhS9
@@ -55,7 +124,7 @@ describe("listOperations", () => {
55
124
  const magnitudeMultiplier = 1000000;
56
125
 
57
126
  beforeAll(async () => {
58
- [operations] = await listOperations(testingAccount, 0);
127
+ [operations] = await listOperations(testingAccount, defaultOptions);
59
128
  });
60
129
 
61
130
  describe("List", () => {
@@ -8,18 +8,42 @@ import {
8
8
  import { fromTrongridTxInfoToOperation } from "../network/trongrid/trongrid-adapters";
9
9
  import { TronAsset } from "../types";
10
10
 
11
- const neverStop: FetchTxsContinuePredicate = () => true;
11
+ export type Options = {
12
+ // the soft limit is an indicative number of transactions to fetch
13
+ // it is "soft" because it is not guaranteed that the number of transactions
14
+ // returned will be less than this number, but it is guaranteed to be:
15
+ // <= 2 * softLimit (2 times that number)
16
+ softLimit: number;
17
+ minHeight: number;
18
+ order: "asc" | "desc";
19
+ };
20
+
21
+ export const defaultOptions: Options = {
22
+ softLimit: 1000,
23
+ minHeight: 0,
24
+ order: "desc",
25
+ } as const;
12
26
 
13
27
  export async function listOperations(
14
28
  address: string,
15
- minHeight: number,
29
+ options: Options,
16
30
  ): Promise<[Operation<TronAsset>[], string]> {
17
31
  // there is a possible optimisation here: when height is 0, set the minTimestamp to 0
18
- const block = await getBlock(minHeight);
19
- const fetchParams = block.time
20
- ? { ...defaultFetchParams, minTimestamp: block.time?.getTime() }
21
- : defaultFetchParams;
22
- const txs = await fetchTronAccountTxs(address, neverStop, {}, fetchParams);
32
+ const block = await getBlock(options.minHeight);
33
+ const minTimestamp = block.time?.getTime() ?? defaultFetchParams.minTimestamp;
34
+ const fetchParams = {
35
+ ...defaultFetchParams,
36
+ minTimestamp: minTimestamp,
37
+ order: options.order,
38
+ hintGlobalLimit: options.softLimit,
39
+ };
40
+
41
+ // under the hood, the network fetches native transactions and trc20 transactions separately
42
+ // that same predicate is used to stop fetching both calls
43
+ // that's why we have a "soft" limit, with the guarantee of total number of transactions to be less than 2 * softLimit
44
+ const untilLimitReached: FetchTxsContinuePredicate = ops => ops.length < options.softLimit;
45
+
46
+ const txs = await fetchTronAccountTxs(address, untilLimitReached, {}, fetchParams);
23
47
  return [
24
48
  txs
25
49
  // TODO: adapt directly in network calls