@ledgerhq/coin-canton 0.8.0-nightly.6 → 0.8.0-nightly.7

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 (195) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +11 -0
  3. package/package.json +6 -6
  4. package/lib/api/getBalance.integ.test.d.ts +0 -2
  5. package/lib/api/getBalance.integ.test.d.ts.map +0 -1
  6. package/lib/api/getBalance.integ.test.js +0 -28
  7. package/lib/api/getBalance.integ.test.js.map +0 -1
  8. package/lib/api/index.test.d.ts +0 -2
  9. package/lib/api/index.test.d.ts.map +0 -1
  10. package/lib/api/index.test.js +0 -16
  11. package/lib/api/index.test.js.map +0 -1
  12. package/lib/api/lastBlock.integ.test.d.ts +0 -2
  13. package/lib/api/lastBlock.integ.test.d.ts.map +0 -1
  14. package/lib/api/lastBlock.integ.test.js +0 -22
  15. package/lib/api/lastBlock.integ.test.js.map +0 -1
  16. package/lib/api/listOperations.integ.test.d.ts +0 -2
  17. package/lib/api/listOperations.integ.test.d.ts.map +0 -1
  18. package/lib/api/listOperations.integ.test.js +0 -24
  19. package/lib/api/listOperations.integ.test.js.map +0 -1
  20. package/lib/bridge/broadcast.test.d.ts +0 -2
  21. package/lib/bridge/broadcast.test.d.ts.map +0 -1
  22. package/lib/bridge/broadcast.test.js +0 -44
  23. package/lib/bridge/broadcast.test.js.map +0 -1
  24. package/lib/bridge/createTransaction.test.d.ts +0 -2
  25. package/lib/bridge/createTransaction.test.d.ts.map +0 -1
  26. package/lib/bridge/createTransaction.test.js +0 -12
  27. package/lib/bridge/createTransaction.test.js.map +0 -1
  28. package/lib/bridge/deviceTransactionConfig.test.d.ts +0 -2
  29. package/lib/bridge/deviceTransactionConfig.test.d.ts.map +0 -1
  30. package/lib/bridge/deviceTransactionConfig.test.js +0 -22
  31. package/lib/bridge/deviceTransactionConfig.test.js.map +0 -1
  32. package/lib/bridge/getTransactionStatus.test.d.ts +0 -2
  33. package/lib/bridge/getTransactionStatus.test.d.ts.map +0 -1
  34. package/lib/bridge/getTransactionStatus.test.js +0 -365
  35. package/lib/bridge/getTransactionStatus.test.js.map +0 -1
  36. package/lib/bridge/index.test.d.ts +0 -2
  37. package/lib/bridge/index.test.d.ts.map +0 -1
  38. package/lib/bridge/index.test.js +0 -31
  39. package/lib/bridge/index.test.js.map +0 -1
  40. package/lib/bridge/onboard.integ.test.d.ts +0 -2
  41. package/lib/bridge/onboard.integ.test.d.ts.map +0 -1
  42. package/lib/bridge/onboard.integ.test.js +0 -182
  43. package/lib/bridge/onboard.integ.test.js.map +0 -1
  44. package/lib/bridge/onboard.test.d.ts +0 -2
  45. package/lib/bridge/onboard.test.d.ts.map +0 -1
  46. package/lib/bridge/onboard.test.js +0 -84
  47. package/lib/bridge/onboard.test.js.map +0 -1
  48. package/lib/bridge/prepareTransaction.test.d.ts +0 -2
  49. package/lib/bridge/prepareTransaction.test.d.ts.map +0 -1
  50. package/lib/bridge/prepareTransaction.test.js +0 -42
  51. package/lib/bridge/prepareTransaction.test.js.map +0 -1
  52. package/lib/bridge/sync.integ.test.d.ts +0 -2
  53. package/lib/bridge/sync.integ.test.d.ts.map +0 -1
  54. package/lib/bridge/sync.integ.test.js +0 -198
  55. package/lib/bridge/sync.integ.test.js.map +0 -1
  56. package/lib/bridge/sync.test.d.ts +0 -2
  57. package/lib/bridge/sync.test.d.ts.map +0 -1
  58. package/lib/bridge/sync.test.js +0 -201
  59. package/lib/bridge/sync.test.js.map +0 -1
  60. package/lib/common-logic/account/getBalance.unit.test.d.ts +0 -2
  61. package/lib/common-logic/account/getBalance.unit.test.d.ts.map +0 -1
  62. package/lib/common-logic/account/getBalance.unit.test.js +0 -91
  63. package/lib/common-logic/account/getBalance.unit.test.js.map +0 -1
  64. package/lib/common-logic/history/lastBlock.test.d.ts +0 -2
  65. package/lib/common-logic/history/lastBlock.test.d.ts.map +0 -1
  66. package/lib/common-logic/history/lastBlock.test.js +0 -46
  67. package/lib/common-logic/history/lastBlock.test.js.map +0 -1
  68. package/lib/common-logic/transaction/broadcast.test.d.ts +0 -2
  69. package/lib/common-logic/transaction/broadcast.test.d.ts.map +0 -1
  70. package/lib/common-logic/transaction/broadcast.test.js +0 -71
  71. package/lib/common-logic/transaction/broadcast.test.js.map +0 -1
  72. package/lib/common-logic/transaction/combine.test.d.ts +0 -2
  73. package/lib/common-logic/transaction/combine.test.d.ts.map +0 -1
  74. package/lib/common-logic/transaction/combine.test.js +0 -18
  75. package/lib/common-logic/transaction/combine.test.js.map +0 -1
  76. package/lib/common-logic/transaction/estimateFees.test.d.ts +0 -2
  77. package/lib/common-logic/transaction/estimateFees.test.d.ts.map +0 -1
  78. package/lib/common-logic/transaction/estimateFees.test.js +0 -72
  79. package/lib/common-logic/transaction/estimateFees.test.js.map +0 -1
  80. package/lib/common-logic/utils.test.d.ts +0 -2
  81. package/lib/common-logic/utils.test.d.ts.map +0 -1
  82. package/lib/common-logic/utils.test.js +0 -104
  83. package/lib/common-logic/utils.test.js.map +0 -1
  84. package/lib/network/gateway.integ.test.d.ts +0 -2
  85. package/lib/network/gateway.integ.test.d.ts.map +0 -1
  86. package/lib/network/gateway.integ.test.js +0 -190
  87. package/lib/network/gateway.integ.test.js.map +0 -1
  88. package/lib/network/gateway.test.d.ts +0 -2
  89. package/lib/network/gateway.test.d.ts.map +0 -1
  90. package/lib/network/gateway.test.js +0 -59
  91. package/lib/network/gateway.test.js.map +0 -1
  92. package/lib/network/node.integ.test.d.ts +0 -2
  93. package/lib/network/node.integ.test.d.ts.map +0 -1
  94. package/lib/network/node.integ.test.js +0 -44
  95. package/lib/network/node.integ.test.js.map +0 -1
  96. package/lib/network/node.unit.test.d.ts +0 -2
  97. package/lib/network/node.unit.test.d.ts.map +0 -1
  98. package/lib/network/node.unit.test.js +0 -32
  99. package/lib/network/node.unit.test.js.map +0 -1
  100. package/lib-es/api/getBalance.integ.test.d.ts +0 -2
  101. package/lib-es/api/getBalance.integ.test.d.ts.map +0 -1
  102. package/lib-es/api/getBalance.integ.test.js +0 -26
  103. package/lib-es/api/getBalance.integ.test.js.map +0 -1
  104. package/lib-es/api/index.test.d.ts +0 -2
  105. package/lib-es/api/index.test.d.ts.map +0 -1
  106. package/lib-es/api/index.test.js +0 -14
  107. package/lib-es/api/index.test.js.map +0 -1
  108. package/lib-es/api/lastBlock.integ.test.d.ts +0 -2
  109. package/lib-es/api/lastBlock.integ.test.d.ts.map +0 -1
  110. package/lib-es/api/lastBlock.integ.test.js +0 -20
  111. package/lib-es/api/lastBlock.integ.test.js.map +0 -1
  112. package/lib-es/api/listOperations.integ.test.d.ts +0 -2
  113. package/lib-es/api/listOperations.integ.test.d.ts.map +0 -1
  114. package/lib-es/api/listOperations.integ.test.js +0 -22
  115. package/lib-es/api/listOperations.integ.test.js.map +0 -1
  116. package/lib-es/bridge/broadcast.test.d.ts +0 -2
  117. package/lib-es/bridge/broadcast.test.d.ts.map +0 -1
  118. package/lib-es/bridge/broadcast.test.js +0 -42
  119. package/lib-es/bridge/broadcast.test.js.map +0 -1
  120. package/lib-es/bridge/createTransaction.test.d.ts +0 -2
  121. package/lib-es/bridge/createTransaction.test.d.ts.map +0 -1
  122. package/lib-es/bridge/createTransaction.test.js +0 -10
  123. package/lib-es/bridge/createTransaction.test.js.map +0 -1
  124. package/lib-es/bridge/deviceTransactionConfig.test.d.ts +0 -2
  125. package/lib-es/bridge/deviceTransactionConfig.test.d.ts.map +0 -1
  126. package/lib-es/bridge/deviceTransactionConfig.test.js +0 -17
  127. package/lib-es/bridge/deviceTransactionConfig.test.js.map +0 -1
  128. package/lib-es/bridge/getTransactionStatus.test.d.ts +0 -2
  129. package/lib-es/bridge/getTransactionStatus.test.d.ts.map +0 -1
  130. package/lib-es/bridge/getTransactionStatus.test.js +0 -360
  131. package/lib-es/bridge/getTransactionStatus.test.js.map +0 -1
  132. package/lib-es/bridge/index.test.d.ts +0 -2
  133. package/lib-es/bridge/index.test.d.ts.map +0 -1
  134. package/lib-es/bridge/index.test.js +0 -29
  135. package/lib-es/bridge/index.test.js.map +0 -1
  136. package/lib-es/bridge/onboard.integ.test.d.ts +0 -2
  137. package/lib-es/bridge/onboard.integ.test.d.ts.map +0 -1
  138. package/lib-es/bridge/onboard.integ.test.js +0 -177
  139. package/lib-es/bridge/onboard.integ.test.js.map +0 -1
  140. package/lib-es/bridge/onboard.test.d.ts +0 -2
  141. package/lib-es/bridge/onboard.test.d.ts.map +0 -1
  142. package/lib-es/bridge/onboard.test.js +0 -49
  143. package/lib-es/bridge/onboard.test.js.map +0 -1
  144. package/lib-es/bridge/prepareTransaction.test.d.ts +0 -2
  145. package/lib-es/bridge/prepareTransaction.test.d.ts.map +0 -1
  146. package/lib-es/bridge/prepareTransaction.test.js +0 -37
  147. package/lib-es/bridge/prepareTransaction.test.js.map +0 -1
  148. package/lib-es/bridge/sync.integ.test.d.ts +0 -2
  149. package/lib-es/bridge/sync.integ.test.d.ts.map +0 -1
  150. package/lib-es/bridge/sync.integ.test.js +0 -160
  151. package/lib-es/bridge/sync.integ.test.js.map +0 -1
  152. package/lib-es/bridge/sync.test.d.ts +0 -2
  153. package/lib-es/bridge/sync.test.d.ts.map +0 -1
  154. package/lib-es/bridge/sync.test.js +0 -163
  155. package/lib-es/bridge/sync.test.js.map +0 -1
  156. package/lib-es/common-logic/account/getBalance.unit.test.d.ts +0 -2
  157. package/lib-es/common-logic/account/getBalance.unit.test.d.ts.map +0 -1
  158. package/lib-es/common-logic/account/getBalance.unit.test.js +0 -56
  159. package/lib-es/common-logic/account/getBalance.unit.test.js.map +0 -1
  160. package/lib-es/common-logic/history/lastBlock.test.d.ts +0 -2
  161. package/lib-es/common-logic/history/lastBlock.test.d.ts.map +0 -1
  162. package/lib-es/common-logic/history/lastBlock.test.js +0 -41
  163. package/lib-es/common-logic/history/lastBlock.test.js.map +0 -1
  164. package/lib-es/common-logic/transaction/broadcast.test.d.ts +0 -2
  165. package/lib-es/common-logic/transaction/broadcast.test.d.ts.map +0 -1
  166. package/lib-es/common-logic/transaction/broadcast.test.js +0 -36
  167. package/lib-es/common-logic/transaction/broadcast.test.js.map +0 -1
  168. package/lib-es/common-logic/transaction/combine.test.d.ts +0 -2
  169. package/lib-es/common-logic/transaction/combine.test.d.ts.map +0 -1
  170. package/lib-es/common-logic/transaction/combine.test.js +0 -16
  171. package/lib-es/common-logic/transaction/combine.test.js.map +0 -1
  172. package/lib-es/common-logic/transaction/estimateFees.test.d.ts +0 -2
  173. package/lib-es/common-logic/transaction/estimateFees.test.d.ts.map +0 -1
  174. package/lib-es/common-logic/transaction/estimateFees.test.js +0 -37
  175. package/lib-es/common-logic/transaction/estimateFees.test.js.map +0 -1
  176. package/lib-es/common-logic/utils.test.d.ts +0 -2
  177. package/lib-es/common-logic/utils.test.d.ts.map +0 -1
  178. package/lib-es/common-logic/utils.test.js +0 -99
  179. package/lib-es/common-logic/utils.test.js.map +0 -1
  180. package/lib-es/network/gateway.integ.test.d.ts +0 -2
  181. package/lib-es/network/gateway.integ.test.d.ts.map +0 -1
  182. package/lib-es/network/gateway.integ.test.js +0 -185
  183. package/lib-es/network/gateway.integ.test.js.map +0 -1
  184. package/lib-es/network/gateway.test.d.ts +0 -2
  185. package/lib-es/network/gateway.test.d.ts.map +0 -1
  186. package/lib-es/network/gateway.test.js +0 -54
  187. package/lib-es/network/gateway.test.js.map +0 -1
  188. package/lib-es/network/node.integ.test.d.ts +0 -2
  189. package/lib-es/network/node.integ.test.d.ts.map +0 -1
  190. package/lib-es/network/node.integ.test.js +0 -39
  191. package/lib-es/network/node.integ.test.js.map +0 -1
  192. package/lib-es/network/node.unit.test.d.ts +0 -2
  193. package/lib-es/network/node.unit.test.d.ts.map +0 -1
  194. package/lib-es/network/node.unit.test.js +0 -27
  195. package/lib-es/network/node.unit.test.js.map +0 -1
@@ -1,49 +0,0 @@
1
- import { isCantonCoinPreapproved } from "./onboard";
2
- import * as gateway from "../network/gateway";
3
- jest.mock("../network/gateway");
4
- const mockedGateway = gateway;
5
- describe("onboard", () => {
6
- const mockPartyId = "test-party-id";
7
- const mockCurrency = {
8
- id: "canton_network",
9
- };
10
- describe("isCantonCoinPreapproved", () => {
11
- it("should return true when contract exists and is not expired", async () => {
12
- // GIVEN
13
- const futureDate = new Date();
14
- futureDate.setHours(futureDate.getHours() + 1);
15
- mockedGateway.getTransferPreApproval.mockResolvedValue({
16
- contract_id: "test-contract-id",
17
- receiver: mockPartyId,
18
- provider: "test-provider",
19
- valid_from: "2024-01-01T00:00:00Z",
20
- last_renewed_at: "2024-01-01T00:00:00Z",
21
- expires_at: futureDate.toISOString(),
22
- });
23
- // WHEN
24
- const result = await isCantonCoinPreapproved(mockCurrency, mockPartyId);
25
- // THEN
26
- expect(result).toBe(true);
27
- expect(mockedGateway.getTransferPreApproval).toHaveBeenCalledWith(mockCurrency, mockPartyId);
28
- });
29
- it("should return false when contract exists but is expired", async () => {
30
- // GIVEN
31
- const pastDate = new Date();
32
- pastDate.setHours(pastDate.getHours() - 1);
33
- mockedGateway.getTransferPreApproval.mockResolvedValue({
34
- contract_id: "test-contract-id",
35
- receiver: mockPartyId,
36
- provider: "test-provider",
37
- valid_from: "2024-01-01T00:00:00Z",
38
- last_renewed_at: "2024-01-01T00:00:00Z",
39
- expires_at: pastDate.toISOString(),
40
- });
41
- // WHEN
42
- const result = await isCantonCoinPreapproved(mockCurrency, mockPartyId);
43
- // THEN
44
- expect(result).toBe(false);
45
- expect(mockedGateway.getTransferPreApproval).toHaveBeenCalledWith(mockCurrency, mockPartyId);
46
- });
47
- });
48
- });
49
- //# sourceMappingURL=onboard.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"onboard.test.js","sourceRoot":"","sources":["../../src/bridge/onboard.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAE9C,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAChC,MAAM,aAAa,GAAG,OAAsC,CAAC;AAE7D,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,MAAM,WAAW,GAAG,eAAe,CAAC;IACpC,MAAM,YAAY,GAAG;QACnB,EAAE,EAAE,gBAAgB;KACQ,CAAC;IAE/B,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,QAAQ;YACR,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;YAC9B,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YAE/C,aAAa,CAAC,sBAAsB,CAAC,iBAAiB,CAAC;gBACrD,WAAW,EAAE,kBAAkB;gBAC/B,QAAQ,EAAE,WAAW;gBACrB,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,sBAAsB;gBAClC,eAAe,EAAE,sBAAsB;gBACvC,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE;aACrC,CAAC,CAAC;YAEH,OAAO;YACP,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAExE,OAAO;YACP,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,QAAQ;YACR,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;YAC5B,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YAE3C,aAAa,CAAC,sBAAsB,CAAC,iBAAiB,CAAC;gBACrD,WAAW,EAAE,kBAAkB;gBAC/B,QAAQ,EAAE,WAAW;gBACrB,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,sBAAsB;gBAClC,eAAe,EAAE,sBAAsB;gBACvC,UAAU,EAAE,QAAQ,CAAC,WAAW,EAAE;aACnC,CAAC,CAAC;YAEH,OAAO;YACP,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAExE,OAAO;YACP,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=prepareTransaction.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepareTransaction.test.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.test.ts"],"names":[],"mappings":""}
@@ -1,37 +0,0 @@
1
- import BigNumber from "bignumber.js";
2
- import { craftTransaction, estimateFees } from "../common-logic";
3
- import { getNextSequence } from "../network/node";
4
- import { prepareTransaction } from "./prepareTransaction";
5
- import coinConfig from "../config";
6
- jest.mock("../network/node");
7
- jest.mock("../common-logic");
8
- describe("prepareTransaction", () => {
9
- let estimateFeesSpy;
10
- let getNextSequenceSpy;
11
- let craftTransactionSpy;
12
- beforeAll(async () => {
13
- coinConfig.setCoinConfig(() => ({
14
- gatewayUrl: "https://canton-gateway.api.live.ledger-test.com",
15
- useGateway: true,
16
- networkType: "devnet",
17
- nativeInstrumentId: "Amulet",
18
- status: {
19
- type: "active",
20
- },
21
- }));
22
- });
23
- beforeEach(() => {
24
- getNextSequenceSpy = jest.spyOn({ getNextSequence }, "getNextSequence");
25
- estimateFeesSpy = jest.spyOn({ estimateFees }, "estimateFees");
26
- craftTransactionSpy = jest.spyOn({ craftTransaction }, "craftTransaction");
27
- craftTransactionSpy.mockReturnValue({ serializedTransaction: "serialized" });
28
- });
29
- it("should update fee field if it's different", async () => {
30
- getNextSequenceSpy.mockResolvedValue(42);
31
- const oldTx = { fee: new BigNumber(0) };
32
- estimateFeesSpy.mockResolvedValue(BigInt(1));
33
- const newTx = await prepareTransaction({}, oldTx);
34
- expect(newTx.fee).toEqual(new BigNumber(1));
35
- });
36
- });
37
- //# sourceMappingURL=prepareTransaction.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepareTransaction.test.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.test.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,UAAU,MAAM,WAAW,CAAC;AAEnC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAE7B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,eAAiC,CAAC;IACtC,IAAI,kBAAoC,CAAC;IACzC,IAAI,mBAAqC,CAAC;IAE1C,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9B,UAAU,EAAE,iDAAiD;YAC7D,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,QAAQ;YACrB,kBAAkB,EAAE,QAAQ;YAC5B,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;aACf;SACF,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IACH,UAAU,CAAC,GAAG,EAAE;QACd,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,EAAE,iBAAiB,CAAC,CAAC;QACxE,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE,cAAc,CAAC,CAAC;QAC/D,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAC3E,mBAAmB,CAAC,eAAe,CAAC,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,EAAa,EAAE,KAAoB,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sync.integ.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.integ.test.d.ts","sourceRoot":"","sources":["../../src/bridge/sync.integ.test.ts"],"names":[],"mappings":""}
@@ -1,160 +0,0 @@
1
- import BigNumber from "bignumber.js";
2
- import { getDerivationModesForCurrency, getDerivationScheme, runDerivationScheme, } from "@ledgerhq/coin-framework/derivation";
3
- import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
4
- import coinConfig from "../config";
5
- import * as gateway from "../network/gateway";
6
- import { generateMockKeyPair, createMockSigner } from "../test/cantonTestUtils";
7
- import { makeGetAccountShape } from "./sync";
8
- const TEST_ADDRESS = "b6400f93ea1c74aea86be39b0ccc846fc5de01f12b2ad0d7c31848d6fb6eb6d9::1220c81315e2bf2524a9141bcc6cbf19b61c151e0dcaa95343c0ccf53aed7415c4ec";
9
- const currency = getCryptoCurrencyById("canton_network");
10
- const derivationMode = getDerivationModesForCurrency(currency)[0];
11
- const derivationPath = runDerivationScheme(getDerivationScheme({ derivationMode, currency }), currency, {
12
- account: 0,
13
- });
14
- const xpub = TEST_ADDRESS;
15
- const ACCOUNT_SHAPE_INFO = {
16
- address: TEST_ADDRESS,
17
- currency,
18
- derivationMode,
19
- derivationPath,
20
- index: 0,
21
- initialAccount: {
22
- xpub,
23
- },
24
- };
25
- // Mock signer context for testing
26
- const keyPair = generateMockKeyPair();
27
- const mockSigner = createMockSigner(keyPair);
28
- const mockSignerContext = jest.fn().mockImplementation((deviceId, callback) => {
29
- return callback(mockSigner);
30
- });
31
- describe("sync (devnet)", () => {
32
- beforeAll(async () => {
33
- coinConfig.setCoinConfig(() => ({
34
- gatewayUrl: "https://canton-gateway.api.live.ledger-test.com",
35
- useGateway: true,
36
- networkType: "devnet",
37
- nativeInstrumentId: "Amulet",
38
- status: {
39
- type: "active",
40
- },
41
- }));
42
- });
43
- describe("makeGetAccountShape", () => {
44
- it("should fetch account shape for a valid address", async () => {
45
- const getAccountShape = makeGetAccountShape(mockSignerContext);
46
- const result = await getAccountShape(ACCOUNT_SHAPE_INFO, { paginationConfig: {} });
47
- expect(result).toBeDefined();
48
- expect(result.id).toBeDefined();
49
- expect(result.xpub).toBe(TEST_ADDRESS);
50
- expect(result.blockHeight).toBeGreaterThan(0);
51
- expect(result.balance).toBeDefined();
52
- expect(result.spendableBalance).toBeDefined();
53
- expect(result.operations).toBeDefined();
54
- expect(result.operationsCount).toBeGreaterThanOrEqual(0);
55
- expect(result.balance).toBeInstanceOf(Object);
56
- expect(result.balance?.toNumber).toBeDefined();
57
- expect(result.spendableBalance).toBeInstanceOf(Object);
58
- expect(result.spendableBalance?.toNumber).toBeDefined();
59
- expect(result.spendableBalance?.toNumber()).toBeLessThanOrEqual(result.balance?.toNumber() || 0);
60
- });
61
- it("should handle address with colons correctly", async () => {
62
- const getAccountShape = makeGetAccountShape(mockSignerContext);
63
- const result = await getAccountShape(ACCOUNT_SHAPE_INFO, { paginationConfig: {} });
64
- expect(result.xpub).toContain("::");
65
- });
66
- it("should merge operations correctly with initial account", async () => {
67
- const getAccountShape = makeGetAccountShape(mockSignerContext);
68
- const operations = [
69
- {
70
- id: "test-op-1",
71
- hash: "test-hash-1",
72
- accountId: "test-account",
73
- type: "OUT",
74
- value: new BigNumber(1000000),
75
- fee: new BigNumber(100000),
76
- blockHash: "block-hash-1",
77
- blockHeight: 100,
78
- senders: [TEST_ADDRESS],
79
- recipients: ["recipient-1"],
80
- date: new Date("2023-01-01"),
81
- transactionSequenceNumber: 100,
82
- extra: { uid: "uid-1" },
83
- },
84
- ];
85
- const result = await getAccountShape({
86
- ...ACCOUNT_SHAPE_INFO,
87
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
88
- initialAccount: { xpub, operations },
89
- }, { paginationConfig: {} });
90
- expect(result.operations).toBeDefined();
91
- expect(result.operationsCount).toBeGreaterThanOrEqual(1);
92
- const initialOp = result.operations?.find(op => op.id === "test-op-1");
93
- expect(initialOp).toBeDefined();
94
- });
95
- it("should take locked balance into account when calculating spendable balance", async () => {
96
- const mockGetBalance = jest.spyOn(gateway, "getBalance");
97
- mockGetBalance.mockResolvedValue([
98
- {
99
- instrument_id: "Amulet",
100
- amount: "500",
101
- locked: false,
102
- },
103
- {
104
- instrument_id: "LockedAmulet",
105
- amount: "1000000",
106
- locked: true,
107
- },
108
- ]);
109
- const getAccountShape = makeGetAccountShape(mockSignerContext);
110
- const result = await getAccountShape(ACCOUNT_SHAPE_INFO, { paginationConfig: {} });
111
- expect(result.balance?.toNumber()).toBe(1000500);
112
- expect(result.spendableBalance?.toNumber()).toBe(500);
113
- mockGetBalance.mockRestore();
114
- });
115
- it("should call getOperations with correct cursor based on initial account", async () => {
116
- const mockGetOperations = jest.spyOn(gateway, "getOperations");
117
- const operation = {
118
- id: "test-op-1",
119
- hash: "test-hash-1",
120
- accountId: "test-account",
121
- type: "OUT",
122
- value: new BigNumber(1000000),
123
- fee: new BigNumber(100000),
124
- blockHash: "block-hash-1",
125
- blockHeight: 100,
126
- senders: [TEST_ADDRESS],
127
- recipients: ["recipient-1"],
128
- date: new Date("2023-01-01"),
129
- transactionSequenceNumber: 100,
130
- extra: { uid: "uid-1" },
131
- };
132
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
133
- const initialAccount = { xpub, operations: [operation] };
134
- const getAccountShape = makeGetAccountShape(mockSignerContext);
135
- const result = await getAccountShape({
136
- ...ACCOUNT_SHAPE_INFO,
137
- initialAccount,
138
- }, { paginationConfig: {} });
139
- expect(mockGetOperations).toHaveBeenCalledWith(currency, TEST_ADDRESS, {
140
- cursor: (operation.blockHeight || 0) + 1,
141
- limit: 100,
142
- });
143
- expect(result.operations).toBeDefined();
144
- expect(result.operationsCount).toBeGreaterThan(1);
145
- });
146
- it("should call getOperations with cursor 0 when no initial account", async () => {
147
- const mockGetOperations = jest.spyOn(gateway, "getOperations");
148
- const getAccountShape = makeGetAccountShape(mockSignerContext);
149
- const result = await getAccountShape(ACCOUNT_SHAPE_INFO, { paginationConfig: {} });
150
- expect(result.operations).toBeDefined();
151
- expect(result.operationsCount).toBeGreaterThanOrEqual(1);
152
- expect(mockGetOperations).toHaveBeenCalledWith(currency, TEST_ADDRESS, {
153
- cursor: 0,
154
- limit: 100,
155
- });
156
- mockGetOperations.mockRestore();
157
- });
158
- });
159
- });
160
- //# sourceMappingURL=sync.integ.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.integ.test.js","sourceRoot":"","sources":["../../src/bridge/sync.integ.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sync.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.test.d.ts","sourceRoot":"","sources":["../../src/bridge/sync.test.ts"],"names":[],"mappings":""}
@@ -1,163 +0,0 @@
1
- import { makeGetAccountShape } from "./sync";
2
- import * as gateway from "../network/gateway";
3
- import * as onboard from "./onboard";
4
- import * as config from "../config";
5
- import resolver from "../signer";
6
- import BigNumber from "bignumber.js";
7
- jest.mock("../network/gateway");
8
- jest.mock("../signer");
9
- jest.mock("../config");
10
- jest.mock("./onboard");
11
- const mockedGetBalance = gateway.getBalance;
12
- const mockedGetLedgerEnd = gateway.getLedgerEnd;
13
- const mockedGetOperations = gateway.getOperations;
14
- const mockedResolver = resolver;
15
- const mockedIsOnboarded = onboard.isAccountOnboarded;
16
- const mockedIsAuthorized = onboard.isCantonCoinPreapproved;
17
- const mockedCoinConfig = config.default.getCoinConfig;
18
- const sampleCurrency = {
19
- id: "testcoin",
20
- };
21
- describe("makeGetAccountShape", () => {
22
- const fakeSignerContext = {};
23
- const defaultInfo = {
24
- address: "addr1",
25
- currency: sampleCurrency,
26
- derivationMode: "",
27
- derivationPath: "44'/0'/0'/0/0",
28
- deviceId: "fakeDevice",
29
- initialAccount: undefined,
30
- };
31
- beforeEach(() => {
32
- jest.clearAllMocks();
33
- mockedResolver.mockReturnValue(async () => ({
34
- publicKey: "FAKE_PUBLIC_KEY",
35
- }));
36
- mockedIsOnboarded.mockResolvedValue({
37
- isOnboarded: true,
38
- partyId: "party123",
39
- });
40
- mockedCoinConfig.mockReturnValue({
41
- nativeInstrumentId: "Native",
42
- minReserve: "0",
43
- });
44
- mockedIsAuthorized.mockResolvedValue(true);
45
- mockedGetLedgerEnd.mockResolvedValue(12345);
46
- });
47
- it("should return a valid account shape with correct balances and operations", async () => {
48
- mockedGetBalance.mockResolvedValue([
49
- {
50
- instrument_id: "Native",
51
- amount: "1000",
52
- locked: false,
53
- },
54
- ]);
55
- mockedGetOperations.mockResolvedValue({
56
- operations: [
57
- {
58
- transaction_hash: "tx1",
59
- uid: "uid1",
60
- type: "Send",
61
- fee: { value: "5" },
62
- transfers: [
63
- {
64
- value: "100",
65
- details: {
66
- metadata: {
67
- reason: "test transfer",
68
- },
69
- },
70
- },
71
- ],
72
- transaction_timestamp: new Date().toISOString(),
73
- senders: ["party123"],
74
- recipients: ["party456"],
75
- block: {
76
- height: 1,
77
- hash: "blockhash1",
78
- },
79
- },
80
- ],
81
- });
82
- const getAccountShape = makeGetAccountShape(fakeSignerContext);
83
- const shape = await getAccountShape(defaultInfo, {
84
- paginationConfig: {},
85
- });
86
- expect(shape).toHaveProperty("id");
87
- expect(shape.balance).toEqual(BigNumber(1000));
88
- expect(shape.operations?.length).toBe(1);
89
- expect(shape.operations[0].type).toBe("OUT");
90
- expect(shape.operations[0].value).toEqual(BigNumber(105)); // 100 + 5 fee
91
- expect(shape.spendableBalance).toEqual(BigNumber(1000));
92
- expect(shape.used).toBe(true);
93
- });
94
- it("should handle locked balances correctly", async () => {
95
- mockedGetBalance.mockResolvedValue([
96
- {
97
- instrument_id: "LockedNative",
98
- amount: "1000",
99
- locked: true,
100
- },
101
- {
102
- instrument_id: "Native",
103
- amount: "10",
104
- locked: false,
105
- },
106
- ]);
107
- const getAccountShape = makeGetAccountShape(fakeSignerContext);
108
- const shape = await getAccountShape(defaultInfo, {
109
- paginationConfig: {},
110
- });
111
- expect(shape).toBeDefined();
112
- expect(shape.balance).toEqual(BigNumber(1010));
113
- expect(shape.spendableBalance).toEqual(BigNumber(10));
114
- });
115
- it("should handle empty balances correctly", async () => {
116
- mockedGetBalance.mockResolvedValue([]);
117
- const getAccountShape = makeGetAccountShape(fakeSignerContext);
118
- const shape = await getAccountShape(defaultInfo, {
119
- paginationConfig: {},
120
- });
121
- expect(shape).toBeDefined();
122
- expect(shape.balance).toEqual(BigNumber(0));
123
- expect(shape.spendableBalance).toEqual(BigNumber(0));
124
- });
125
- it("should default to FEES operation type when transferValue is 0", async () => {
126
- mockedGetOperations.mockResolvedValue({
127
- operations: [
128
- {
129
- transaction_hash: "tx2",
130
- uid: "uid2",
131
- type: "Send",
132
- fee: { value: "3" },
133
- transfers: [
134
- {
135
- value: "0",
136
- details: {
137
- metadata: {
138
- reason: "fee only",
139
- },
140
- },
141
- },
142
- ],
143
- transaction_timestamp: new Date().toISOString(),
144
- senders: ["party123"],
145
- recipients: ["party456"],
146
- block: {
147
- height: 2,
148
- hash: "blockhash2",
149
- },
150
- },
151
- ],
152
- });
153
- const getAccountShape = makeGetAccountShape(fakeSignerContext);
154
- const shape = await getAccountShape(defaultInfo, {
155
- paginationConfig: {},
156
- });
157
- expect(shape).toBeDefined();
158
- expect(shape.operations[0].type).toBe("FEES");
159
- // In this case, value should equal the fee
160
- expect(shape.operations[0].value).toEqual(BigNumber(3));
161
- });
162
- });
163
- //# sourceMappingURL=sync.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.test.js","sourceRoot":"","sources":["../../src/bridge/sync.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=getBalance.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getBalance.unit.test.d.ts","sourceRoot":"","sources":["../../../src/common-logic/account/getBalance.unit.test.ts"],"names":[],"mappings":""}
@@ -1,56 +0,0 @@
1
- import { getBalance as getBalanceFromNetwork } from "../../network/gateway";
2
- import * as coinConfigModule from "../../config";
3
- import { getBalance } from "./getBalance";
4
- const mockCurrency = {
5
- id: "canton_network",
6
- };
7
- jest.mock("../../network/gateway", () => ({
8
- getBalance: jest.fn(),
9
- }));
10
- describe("getBalance", () => {
11
- const mockGetCoinConfig = jest.spyOn(coinConfigModule.default, "getCoinConfig");
12
- afterEach(() => {
13
- jest.clearAllMocks();
14
- });
15
- it("should return adapted balances when useGateway is true", async () => {
16
- mockGetCoinConfig.mockReturnValue({
17
- useGateway: true,
18
- nativeInstrumentId: "native-id",
19
- });
20
- const mockInstruments = [
21
- {
22
- instrument_id: "native-id",
23
- amount: "1000",
24
- locked: false,
25
- },
26
- {
27
- instrument_id: "token-123",
28
- amount: "5000",
29
- locked: true,
30
- },
31
- ];
32
- getBalanceFromNetwork.mockResolvedValue(mockInstruments);
33
- const result = await getBalance(mockCurrency, "party-id");
34
- expect(getBalanceFromNetwork).toHaveBeenCalledWith(mockCurrency, "party-id");
35
- expect(result).toEqual([
36
- {
37
- value: BigInt(1000),
38
- locked: BigInt(0),
39
- asset: { type: "native" },
40
- },
41
- {
42
- value: BigInt(5000),
43
- locked: BigInt(5000),
44
- asset: { type: "token", assetReference: "token-123" },
45
- },
46
- ]);
47
- });
48
- it("should throw an error when useGateway is false (not implemented with node)", async () => {
49
- mockGetCoinConfig.mockReturnValue({
50
- useGateway: false,
51
- });
52
- await expect(getBalance(mockCurrency, "party-id")).rejects.toThrow("Not implemented");
53
- expect(getBalanceFromNetwork).not.toHaveBeenCalled();
54
- });
55
- });
56
- //# sourceMappingURL=getBalance.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getBalance.unit.test.js","sourceRoot":"","sources":["../../../src/common-logic/account/getBalance.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,gBAAgB,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,MAAM,YAAY,GAAG;IACnB,EAAE,EAAE,gBAAgB;CACQ,CAAC;AAE/B,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;CACtB,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAEhF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,iBAAiB,CAAC,eAAe,CAAC;YAChC,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,WAAW;SACzB,CAAC,CAAC;QAEV,MAAM,eAAe,GAAG;YACtB;gBACE,aAAa,EAAE,WAAW;gBAC1B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,KAAK;aACd;YACD;gBACE,aAAa,EAAE,WAAW;gBAC1B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,IAAI;aACb;SACF,CAAC;QAED,qBAAmC,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAExE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAE1D,MAAM,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC7E,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAY;YAChC;gBACE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;gBACjB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;YACD;gBACE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;gBACpB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE;aACtD;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,iBAAiB,CAAC,eAAe,CAAC;YAChC,UAAU,EAAE,KAAK;SACX,CAAC,CAAC;QAEV,MAAM,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACtF,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=lastBlock.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lastBlock.test.d.ts","sourceRoot":"","sources":["../../../src/common-logic/history/lastBlock.test.ts"],"names":[],"mappings":""}
@@ -1,41 +0,0 @@
1
- import { lastBlock } from "./lastBlock";
2
- import { getLedgerEnd as gatewayGetLedgerEnd } from "../../network/gateway";
3
- import { getLedgerEnd as nodeGetLedgerEnd } from "../../network/node";
4
- jest.mock("../../network/gateway", () => ({
5
- getLedgerEnd: jest.fn(),
6
- }));
7
- jest.mock("../../network/node", () => ({
8
- getLedgerEnd: jest.fn(),
9
- }));
10
- jest.mock("../../config", () => ({
11
- __esModule: true,
12
- default: {
13
- getCoinConfig: jest.fn(),
14
- },
15
- }));
16
- import coinConfig from "../../config";
17
- const mockCurrency = {
18
- id: "canton_network",
19
- };
20
- describe("lastBlock", () => {
21
- beforeEach(() => {
22
- jest.clearAllMocks();
23
- });
24
- it("should use gateway.getLedgerEnd when useGateway is true", async () => {
25
- coinConfig.getCoinConfig.mockReturnValue({ useGateway: true });
26
- gatewayGetLedgerEnd.mockResolvedValue(100);
27
- const result = await lastBlock(mockCurrency);
28
- expect(result).toEqual({ height: 100 });
29
- expect(gatewayGetLedgerEnd).toHaveBeenCalledTimes(1);
30
- expect(nodeGetLedgerEnd).not.toHaveBeenCalled();
31
- });
32
- it("should use node.getLedgerEnd when useGateway is false", async () => {
33
- coinConfig.getCoinConfig.mockReturnValue({ useGateway: false });
34
- nodeGetLedgerEnd.mockResolvedValue(200);
35
- const result = await lastBlock(mockCurrency);
36
- expect(result).toEqual({ height: 200 });
37
- expect(nodeGetLedgerEnd).toHaveBeenCalledTimes(1);
38
- expect(gatewayGetLedgerEnd).not.toHaveBeenCalled();
39
- });
40
- });
41
- //# sourceMappingURL=lastBlock.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lastBlock.test.js","sourceRoot":"","sources":["../../../src/common-logic/history/lastBlock.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtE,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;CACxB,CAAC,CAAC,CAAC;AACJ,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;IACrC,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;CACxB,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/B,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE;QACP,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;KACzB;CACF,CAAC,CAAC,CAAC;AAEJ,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,YAAY,GAAG;IACnB,EAAE,EAAE,gBAAgB;CACQ,CAAC;AAE/B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACtE,UAAU,CAAC,aAA2B,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,mBAAiC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC;QAE7C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACxC,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACpE,UAAU,CAAC,aAA2B,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9E,gBAA8B,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC;QAE7C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACxC,MAAM,CAAC,gBAAgB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=broadcast.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"broadcast.test.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/broadcast.test.ts"],"names":[],"mappings":""}
@@ -1,36 +0,0 @@
1
- import { submit } from "../../network/gateway";
2
- import * as coinConfigModule from "../../config";
3
- import { broadcast } from "./broadcast";
4
- jest.mock("../../network/gateway", () => ({
5
- submit: jest.fn(),
6
- }));
7
- const mockSerialized = JSON.stringify({
8
- serialized: "serialized-tx",
9
- signature: "signature__PARTY__alice:123",
10
- });
11
- const mockCurrency = {
12
- id: "canton_network",
13
- };
14
- describe("broadcast", () => {
15
- const mockGetCoinConfig = jest.spyOn(coinConfigModule.default, "getCoinConfig");
16
- afterEach(() => {
17
- jest.clearAllMocks();
18
- });
19
- it("should broadcast", async () => {
20
- mockGetCoinConfig.mockReturnValue({
21
- useGateway: true,
22
- });
23
- submit.mockResolvedValue({ update_id: "my-update-id" });
24
- const result = await broadcast(mockCurrency, mockSerialized);
25
- expect(submit).toHaveBeenCalledWith(mockCurrency, "alice:123", "serialized-tx", "signature");
26
- expect(result).toEqual("my-update-id");
27
- });
28
- it("should throw an error when useGateway is false (not implemented with node)", async () => {
29
- mockGetCoinConfig.mockReturnValue({
30
- useGateway: false,
31
- });
32
- await expect(broadcast(mockCurrency, mockSerialized)).rejects.toThrow("Not implemented");
33
- expect(submit).not.toHaveBeenCalled();
34
- });
35
- });
36
- //# sourceMappingURL=broadcast.test.js.map