@ledgerhq/coin-canton 0.5.0-nightly.1 → 0.5.0-nightly.3

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 (199) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.unimportedrc.json +12 -4
  3. package/CHANGELOG.md +32 -0
  4. package/lib/api/getBalance.integ.test.js +1 -1
  5. package/lib/api/getBalance.integ.test.js.map +1 -1
  6. package/lib/api/index.d.ts.map +1 -1
  7. package/lib/api/index.js +11 -8
  8. package/lib/api/index.js.map +1 -1
  9. package/lib/bridge/broadcast.d.ts.map +1 -1
  10. package/lib/bridge/broadcast.js +2 -1
  11. package/lib/bridge/broadcast.js.map +1 -1
  12. package/lib/bridge/createTransaction.test.js +1 -1
  13. package/lib/bridge/createTransaction.test.js.map +1 -1
  14. package/lib/bridge/index.d.ts +3 -3
  15. package/lib/bridge/index.d.ts.map +1 -1
  16. package/lib/bridge/index.js +9 -1
  17. package/lib/bridge/index.js.map +1 -1
  18. package/lib/bridge/onboard.d.ts +10 -0
  19. package/lib/bridge/onboard.d.ts.map +1 -0
  20. package/lib/bridge/onboard.integ.test.d.ts +2 -0
  21. package/lib/bridge/onboard.integ.test.d.ts.map +1 -0
  22. package/lib/bridge/onboard.integ.test.js +156 -0
  23. package/lib/bridge/onboard.integ.test.js.map +1 -0
  24. package/lib/bridge/onboard.js +139 -0
  25. package/lib/bridge/onboard.js.map +1 -0
  26. package/lib/bridge/prepareTransaction.d.ts.map +1 -1
  27. package/lib/bridge/prepareTransaction.js +5 -7
  28. package/lib/bridge/prepareTransaction.js.map +1 -1
  29. package/lib/bridge/signOperation.d.ts.map +1 -1
  30. package/lib/bridge/signOperation.js +7 -9
  31. package/lib/bridge/signOperation.js.map +1 -1
  32. package/lib/bridge/sync.d.ts.map +1 -1
  33. package/lib/bridge/sync.integ.test.d.ts +2 -0
  34. package/lib/bridge/sync.integ.test.d.ts.map +1 -0
  35. package/lib/bridge/sync.integ.test.js +175 -0
  36. package/lib/bridge/sync.integ.test.js.map +1 -0
  37. package/lib/bridge/sync.js +40 -36
  38. package/lib/bridge/sync.js.map +1 -1
  39. package/lib/bridge/updateTransaction.d.ts.map +1 -1
  40. package/lib/bridge/updateTransaction.js +0 -4
  41. package/lib/bridge/updateTransaction.js.map +1 -1
  42. package/lib/common-logic/history/listOperations.d.ts.map +1 -1
  43. package/lib/common-logic/history/listOperations.js +19 -31
  44. package/lib/common-logic/history/listOperations.js.map +1 -1
  45. package/lib/common-logic/transaction/broadcast.d.ts.map +1 -1
  46. package/lib/common-logic/transaction/broadcast.js +2 -1
  47. package/lib/common-logic/transaction/broadcast.js.map +1 -1
  48. package/lib/common-logic/transaction/broadcast.test.js +3 -3
  49. package/lib/common-logic/transaction/broadcast.test.js.map +1 -1
  50. package/lib/common-logic/transaction/combine.d.ts +1 -1
  51. package/lib/common-logic/transaction/combine.d.ts.map +1 -1
  52. package/lib/common-logic/transaction/combine.js +2 -3
  53. package/lib/common-logic/transaction/combine.js.map +1 -1
  54. package/lib/common-logic/transaction/combine.test.js +3 -13
  55. package/lib/common-logic/transaction/combine.test.js.map +1 -1
  56. package/lib/common-logic/transaction/craftTransaction.d.ts +5 -3
  57. package/lib/common-logic/transaction/craftTransaction.d.ts.map +1 -1
  58. package/lib/common-logic/transaction/craftTransaction.js +11 -12
  59. package/lib/common-logic/transaction/craftTransaction.js.map +1 -1
  60. package/lib/network/gateway.d.ts +196 -5
  61. package/lib/network/gateway.d.ts.map +1 -1
  62. package/lib/network/gateway.integ.test.js +121 -11
  63. package/lib/network/gateway.integ.test.js.map +1 -1
  64. package/lib/network/gateway.js +99 -21
  65. package/lib/network/gateway.js.map +1 -1
  66. package/lib/network/node.d.ts +2 -2
  67. package/lib/network/node.d.ts.map +1 -1
  68. package/lib/network/node.js.map +1 -1
  69. package/lib/network/types.d.ts +1 -1
  70. package/lib/network/types.d.ts.map +1 -1
  71. package/lib/signer/getAddress.d.ts.map +1 -1
  72. package/lib/signer/getAddress.js +2 -2
  73. package/lib/signer/getAddress.js.map +1 -1
  74. package/lib/test/cantonTestUtils.d.ts +33 -0
  75. package/lib/test/cantonTestUtils.d.ts.map +1 -0
  76. package/lib/test/cantonTestUtils.js +159 -0
  77. package/lib/test/cantonTestUtils.js.map +1 -0
  78. package/lib/types/bridge.d.ts +7 -1
  79. package/lib/types/bridge.d.ts.map +1 -1
  80. package/lib/types/index.d.ts +1 -10
  81. package/lib/types/index.d.ts.map +1 -1
  82. package/lib/types/index.js +1 -0
  83. package/lib/types/index.js.map +1 -1
  84. package/lib/types/onboard.d.ts +55 -0
  85. package/lib/types/onboard.d.ts.map +1 -0
  86. package/lib/types/onboard.js +22 -0
  87. package/lib/types/onboard.js.map +1 -0
  88. package/lib-es/api/getBalance.integ.test.js +1 -1
  89. package/lib-es/api/getBalance.integ.test.js.map +1 -1
  90. package/lib-es/api/index.d.ts.map +1 -1
  91. package/lib-es/api/index.js +12 -9
  92. package/lib-es/api/index.js.map +1 -1
  93. package/lib-es/bridge/broadcast.d.ts.map +1 -1
  94. package/lib-es/bridge/broadcast.js +2 -1
  95. package/lib-es/bridge/broadcast.js.map +1 -1
  96. package/lib-es/bridge/createTransaction.test.js +1 -1
  97. package/lib-es/bridge/createTransaction.test.js.map +1 -1
  98. package/lib-es/bridge/index.d.ts +3 -3
  99. package/lib-es/bridge/index.d.ts.map +1 -1
  100. package/lib-es/bridge/index.js +9 -1
  101. package/lib-es/bridge/index.js.map +1 -1
  102. package/lib-es/bridge/onboard.d.ts +10 -0
  103. package/lib-es/bridge/onboard.d.ts.map +1 -0
  104. package/lib-es/bridge/onboard.integ.test.d.ts +2 -0
  105. package/lib-es/bridge/onboard.integ.test.d.ts.map +1 -0
  106. package/lib-es/bridge/onboard.integ.test.js +151 -0
  107. package/lib-es/bridge/onboard.integ.test.js.map +1 -0
  108. package/lib-es/bridge/onboard.js +133 -0
  109. package/lib-es/bridge/onboard.js.map +1 -0
  110. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -1
  111. package/lib-es/bridge/prepareTransaction.js +6 -8
  112. package/lib-es/bridge/prepareTransaction.js.map +1 -1
  113. package/lib-es/bridge/signOperation.d.ts.map +1 -1
  114. package/lib-es/bridge/signOperation.js +8 -10
  115. package/lib-es/bridge/signOperation.js.map +1 -1
  116. package/lib-es/bridge/sync.d.ts.map +1 -1
  117. package/lib-es/bridge/sync.integ.test.d.ts +2 -0
  118. package/lib-es/bridge/sync.integ.test.d.ts.map +1 -0
  119. package/lib-es/bridge/sync.integ.test.js +137 -0
  120. package/lib-es/bridge/sync.integ.test.js.map +1 -0
  121. package/lib-es/bridge/sync.js +39 -35
  122. package/lib-es/bridge/sync.js.map +1 -1
  123. package/lib-es/bridge/updateTransaction.d.ts.map +1 -1
  124. package/lib-es/bridge/updateTransaction.js +0 -4
  125. package/lib-es/bridge/updateTransaction.js.map +1 -1
  126. package/lib-es/common-logic/history/listOperations.d.ts.map +1 -1
  127. package/lib-es/common-logic/history/listOperations.js +20 -29
  128. package/lib-es/common-logic/history/listOperations.js.map +1 -1
  129. package/lib-es/common-logic/transaction/broadcast.d.ts.map +1 -1
  130. package/lib-es/common-logic/transaction/broadcast.js +2 -1
  131. package/lib-es/common-logic/transaction/broadcast.js.map +1 -1
  132. package/lib-es/common-logic/transaction/broadcast.test.js +3 -3
  133. package/lib-es/common-logic/transaction/broadcast.test.js.map +1 -1
  134. package/lib-es/common-logic/transaction/combine.d.ts +1 -1
  135. package/lib-es/common-logic/transaction/combine.d.ts.map +1 -1
  136. package/lib-es/common-logic/transaction/combine.js +2 -3
  137. package/lib-es/common-logic/transaction/combine.js.map +1 -1
  138. package/lib-es/common-logic/transaction/combine.test.js +3 -13
  139. package/lib-es/common-logic/transaction/combine.test.js.map +1 -1
  140. package/lib-es/common-logic/transaction/craftTransaction.d.ts +5 -3
  141. package/lib-es/common-logic/transaction/craftTransaction.d.ts.map +1 -1
  142. package/lib-es/common-logic/transaction/craftTransaction.js +11 -12
  143. package/lib-es/common-logic/transaction/craftTransaction.js.map +1 -1
  144. package/lib-es/network/gateway.d.ts +196 -5
  145. package/lib-es/network/gateway.d.ts.map +1 -1
  146. package/lib-es/network/gateway.integ.test.js +122 -12
  147. package/lib-es/network/gateway.integ.test.js.map +1 -1
  148. package/lib-es/network/gateway.js +93 -20
  149. package/lib-es/network/gateway.js.map +1 -1
  150. package/lib-es/network/node.d.ts +2 -2
  151. package/lib-es/network/node.d.ts.map +1 -1
  152. package/lib-es/network/node.js.map +1 -1
  153. package/lib-es/network/types.d.ts +1 -1
  154. package/lib-es/network/types.d.ts.map +1 -1
  155. package/lib-es/signer/getAddress.d.ts.map +1 -1
  156. package/lib-es/signer/getAddress.js +2 -2
  157. package/lib-es/signer/getAddress.js.map +1 -1
  158. package/lib-es/test/cantonTestUtils.d.ts +33 -0
  159. package/lib-es/test/cantonTestUtils.d.ts.map +1 -0
  160. package/lib-es/test/cantonTestUtils.js +151 -0
  161. package/lib-es/test/cantonTestUtils.js.map +1 -0
  162. package/lib-es/types/bridge.d.ts +7 -1
  163. package/lib-es/types/bridge.d.ts.map +1 -1
  164. package/lib-es/types/index.d.ts +1 -10
  165. package/lib-es/types/index.d.ts.map +1 -1
  166. package/lib-es/types/index.js +1 -0
  167. package/lib-es/types/index.js.map +1 -1
  168. package/lib-es/types/onboard.d.ts +55 -0
  169. package/lib-es/types/onboard.d.ts.map +1 -0
  170. package/lib-es/types/onboard.js +19 -0
  171. package/lib-es/types/onboard.js.map +1 -0
  172. package/package.json +7 -7
  173. package/src/api/getBalance.integ.test.ts +1 -2
  174. package/src/api/index.ts +33 -26
  175. package/src/bridge/broadcast.ts +2 -3
  176. package/src/bridge/createTransaction.test.ts +1 -1
  177. package/src/bridge/index.ts +14 -4
  178. package/src/bridge/onboard.integ.test.ts +219 -0
  179. package/src/bridge/onboard.ts +220 -0
  180. package/src/bridge/prepareTransaction.ts +6 -15
  181. package/src/bridge/signOperation.ts +9 -16
  182. package/src/bridge/sync.integ.test.ts +180 -0
  183. package/src/bridge/sync.ts +61 -49
  184. package/src/bridge/updateTransaction.ts +0 -5
  185. package/src/common-logic/history/listOperations.ts +20 -31
  186. package/src/common-logic/transaction/broadcast.test.ts +3 -3
  187. package/src/common-logic/transaction/broadcast.ts +2 -1
  188. package/src/common-logic/transaction/combine.test.ts +3 -13
  189. package/src/common-logic/transaction/combine.ts +2 -4
  190. package/src/common-logic/transaction/craftTransaction.ts +15 -17
  191. package/src/network/gateway.integ.test.ts +156 -17
  192. package/src/network/gateway.ts +337 -30
  193. package/src/network/node.ts +3 -3
  194. package/src/network/types.ts +1 -1
  195. package/src/signer/getAddress.ts +3 -5
  196. package/src/test/cantonTestUtils.ts +181 -0
  197. package/src/types/bridge.ts +20 -0
  198. package/src/types/index.ts +1 -11
  199. package/src/types/onboard.ts +65 -0
@@ -1,13 +1,52 @@
1
+ import { PrepareTransactionResponse, PreApprovalResult } from "../types/onboard";
1
2
  type OnboardingPrepareResponse = {
2
3
  party_id: string;
3
4
  party_name: string;
4
5
  public_key_fingerprint: string;
5
- topology_transactions_hash: string;
6
+ transactions: {
7
+ namespace_transaction: {
8
+ serialized: string;
9
+ json: object;
10
+ hash: string;
11
+ };
12
+ party_to_key_transaction: {
13
+ serialized: string;
14
+ json: object;
15
+ hash: string;
16
+ };
17
+ party_to_participant_transaction: {
18
+ serialized: string;
19
+ json: object;
20
+ hash: string;
21
+ };
22
+ combined_hash: string;
23
+ };
6
24
  };
7
25
  type OnboardingPrepareRequest = {
8
26
  public_key: string;
9
27
  public_key_type: string;
10
28
  };
29
+ export type PrepareTransferResponse = {
30
+ hash: string;
31
+ json: any;
32
+ serialized: string;
33
+ };
34
+ export type PrepareTransferRequest = {
35
+ type: "token-transfer-request";
36
+ amount: number;
37
+ recipient: string;
38
+ execute_before_secs: number;
39
+ instrument_id: string;
40
+ reason?: string;
41
+ };
42
+ export type PrepareTapRequest = {
43
+ type: "tap-request";
44
+ amount: number;
45
+ };
46
+ export type PreparePreapprovalRequest = {
47
+ type: "transfer-pre-approval-proposal";
48
+ receiver: string;
49
+ };
11
50
  type OnboardingSubmitResponse = {
12
51
  party: {
13
52
  party_id: string;
@@ -15,7 +54,7 @@ type OnboardingSubmitResponse = {
15
54
  };
16
55
  };
17
56
  type TransactionSubmitResponse = {
18
- updateId: string;
57
+ update_id: string;
19
58
  };
20
59
  export type InstrumentBalance = {
21
60
  instrument_id: string;
@@ -43,6 +82,11 @@ export type CreatedEvent = BaseEvent & {
43
82
  };
44
83
  signatories: string[];
45
84
  observers: string[];
85
+ details: {
86
+ createArguments: {
87
+ fields: unknown[];
88
+ };
89
+ };
46
90
  };
47
91
  type ExercisedEvent = BaseEvent & {
48
92
  template_id: {
@@ -66,21 +110,168 @@ export type TxInfo = {
66
110
  events: Record<string, Event>[];
67
111
  trace_context: string;
68
112
  };
113
+ export type OperationInfo = {
114
+ uid: string;
115
+ transaction_hash: string;
116
+ transaction_timestamp: string;
117
+ status: "Success";
118
+ type: "Initialize";
119
+ senders: string[];
120
+ recipients: string[];
121
+ transfers: [
122
+ {
123
+ address: string;
124
+ type: "Initialize";
125
+ value: string;
126
+ asset: string;
127
+ details: {
128
+ type: "pre-approval";
129
+ };
130
+ }
131
+ ];
132
+ block: {
133
+ height: number;
134
+ time: string;
135
+ hash: string;
136
+ };
137
+ fee: {
138
+ value: string;
139
+ asset: {
140
+ type: "native";
141
+ issuer: null;
142
+ };
143
+ details: {
144
+ type: string;
145
+ };
146
+ };
147
+ asset: {
148
+ type: "token";
149
+ issuer: string;
150
+ };
151
+ details: {
152
+ type: "pre-approval";
153
+ };
154
+ } | {
155
+ uid: string;
156
+ transaction_hash: string;
157
+ transaction_timestamp: string;
158
+ status: "Success";
159
+ type: "Receive";
160
+ senders: string[];
161
+ recipients: string[];
162
+ transfers: [
163
+ {
164
+ address: string;
165
+ type: "Receive";
166
+ value: string;
167
+ asset: string;
168
+ details: {
169
+ type: "tap";
170
+ };
171
+ }
172
+ ];
173
+ block: {
174
+ height: number;
175
+ time: string;
176
+ hash: string;
177
+ };
178
+ fee: {
179
+ value: string;
180
+ asset: {
181
+ type: "native";
182
+ issuer: null;
183
+ };
184
+ details: {
185
+ type: string;
186
+ };
187
+ };
188
+ asset: {
189
+ type: "native";
190
+ issuer: null;
191
+ };
192
+ details: {
193
+ type: "tap";
194
+ };
195
+ } | {
196
+ uid: string;
197
+ transaction_hash: string;
198
+ transaction_timestamp: string;
199
+ status: "Success";
200
+ type: "Send";
201
+ senders: string[];
202
+ recipients: string[];
203
+ transfers: [
204
+ {
205
+ address: string;
206
+ type: "Send";
207
+ value: string;
208
+ asset: string;
209
+ details: {
210
+ type: "transfer";
211
+ };
212
+ }
213
+ ];
214
+ block: {
215
+ height: number;
216
+ time: string;
217
+ hash: string;
218
+ };
219
+ fee: {
220
+ value: string;
221
+ asset: {
222
+ type: "native";
223
+ issuer: null;
224
+ };
225
+ details: {
226
+ type: string;
227
+ };
228
+ };
229
+ asset: {
230
+ type: "native";
231
+ issuer: null;
232
+ };
233
+ details: {
234
+ type: "transfer";
235
+ };
236
+ };
69
237
  export declare function prepareOnboarding(pubKey: string, pubKeyType: string): Promise<OnboardingPrepareResponse>;
70
238
  export declare function submitOnboarding(prepareRequest: OnboardingPrepareRequest, prepareResponse: OnboardingPrepareResponse, signature: string): Promise<OnboardingSubmitResponse>;
71
- export declare function submit(serializedTx: string, signature: string): Promise<TransactionSubmitResponse>;
239
+ export declare function submit(partyId: string, serialized: string, signature: string): Promise<TransactionSubmitResponse>;
72
240
  export declare function getBalance(partyId: string): Promise<InstrumentBalance[]>;
73
241
  export declare function getPartyById(partyId: string): Promise<PartyInfo>;
74
242
  export declare function getPartyByPubKey(pubKey: string): Promise<PartyInfo>;
75
- export declare function getTransactions(partyId: string, options?: {
243
+ export declare function getOperations(partyId: string, options?: {
76
244
  cursor?: number | undefined;
77
245
  minOffset?: number | undefined;
78
246
  maxOffset?: number | undefined;
79
247
  limit?: number | undefined;
80
248
  }): Promise<{
81
249
  next: number;
82
- transactions: TxInfo[];
250
+ operations: OperationInfo[];
83
251
  }>;
252
+ type PrepareTapRequestRequest = {
253
+ partyId: string;
254
+ amount?: number;
255
+ };
256
+ type PrepareTapRequestResponse = {
257
+ serialized: "string";
258
+ json: null;
259
+ hash: "string";
260
+ };
261
+ export declare function prepareTapRequest({ partyId, amount, }: PrepareTapRequestRequest): Promise<PrepareTapRequestResponse>;
262
+ type SubmitTapRequestRequest = {
263
+ partyId: string;
264
+ serialized: string;
265
+ signature: string;
266
+ };
267
+ type SubmitTapRequestResponse = {
268
+ submission_id: string;
269
+ update_id: string;
270
+ };
271
+ export declare function submitTapRequest({ partyId, serialized, signature, }: SubmitTapRequestRequest): Promise<SubmitTapRequestResponse>;
272
+ export declare function prepareTransferRequest(partyId: string, params: PrepareTransferRequest): Promise<PrepareTransferResponse>;
84
273
  export declare function getLedgerEnd(): Promise<number>;
274
+ export declare function preparePreApprovalTransaction(partyId: string): Promise<PrepareTransactionResponse>;
275
+ export declare function submitPreApprovalTransaction(partyId: string, { serialized }: PrepareTransactionResponse, signature: string): Promise<PreApprovalResult>;
85
276
  export {};
86
277
  //# sourceMappingURL=gateway.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import coinConfig from "../config";
2
- import { getLedgerEnd, prepareOnboarding, getBalance, getTransactions, getPartyById, getPartyByPubKey, } from "./gateway";
2
+ import { generateMockKeyPair } from "../test/cantonTestUtils";
3
+ import { getLedgerEnd, prepareOnboarding, getBalance, getOperations, getPartyById, getPartyByPubKey, submitOnboarding, prepareTapRequest, submitTapRequest, preparePreApprovalTransaction, submitPreApprovalTransaction, } from "./gateway";
3
4
  describe("gateway (devnet)", () => {
4
- beforeAll(() => {
5
+ let onboardedAccount = null;
6
+ beforeAll(async () => {
5
7
  coinConfig.setCoinConfig(() => ({
6
8
  gatewayUrl: "https://canton-gateway.api.live.ledger-test.com",
7
9
  useGateway: true,
@@ -10,14 +12,53 @@ describe("gateway (devnet)", () => {
10
12
  type: "active",
11
13
  },
12
14
  }));
13
- });
15
+ }, 60000);
16
+ const getOnboardedAccount = () => {
17
+ if (!onboardedAccount) {
18
+ throw new Error("Shared onboarded account not available. Check beforeAll setup.");
19
+ }
20
+ return onboardedAccount;
21
+ };
14
22
  describe("prepareOnboarding", () => {
15
23
  it("should prepare onboarding", async () => {
16
- const response = await prepareOnboarding("c59f7f29374d24506dd6490a5db472cf00958e195e146f3dc9c97f96d5c51097", "ed25519");
24
+ // GIVEN
25
+ const keyPair = generateMockKeyPair();
26
+ // Save onboarded account for all tests that need a valid party ID
27
+ onboardedAccount = {
28
+ keyPair,
29
+ partyId: "", // set in next test
30
+ };
31
+ // WHEN
32
+ const response = await prepareOnboarding(keyPair.publicKeyHex, "ed25519");
33
+ // THEN
17
34
  expect(response).toHaveProperty("party_id");
18
35
  expect(response).toHaveProperty("party_name");
19
36
  expect(response).toHaveProperty("public_key_fingerprint");
20
- expect(response).toHaveProperty("topology_transactions_hash");
37
+ expect(response).toHaveProperty("transactions");
38
+ expect(response.transactions).toHaveProperty("combined_hash");
39
+ expect(response.party_name).toBe(keyPair.publicKeyHex);
40
+ expect(response.public_key_fingerprint).toBe(keyPair.fingerprint);
41
+ }, 30000);
42
+ });
43
+ describe("submitOnboarding", () => {
44
+ it("should submit onboarding with proper signature", async () => {
45
+ // GIVEN
46
+ const { keyPair } = getOnboardedAccount();
47
+ const prepareRequest = { public_key: keyPair.publicKeyHex, public_key_type: "ed25519" };
48
+ const prepareResponse = await prepareOnboarding(keyPair.publicKeyHex, "ed25519");
49
+ const signature = keyPair.sign(prepareResponse.transactions.combined_hash);
50
+ // WHEN
51
+ const response = await submitOnboarding(prepareRequest, prepareResponse, signature);
52
+ // Save onboarded account for all tests that need a valid party ID
53
+ onboardedAccount = {
54
+ keyPair,
55
+ partyId: response.party.party_id,
56
+ };
57
+ // THEN
58
+ expect(response).toHaveProperty("party");
59
+ expect(response.party).toHaveProperty("party_id");
60
+ expect(response.party).toHaveProperty("public_key");
61
+ expect(response.party.public_key).toBe(keyPair.publicKeyHex);
21
62
  }, 30000);
22
63
  });
23
64
  describe("getLedgerEnd", () => {
@@ -28,10 +69,13 @@ describe("gateway (devnet)", () => {
28
69
  });
29
70
  describe("getBalance", () => {
30
71
  it("should return user balance", async () => {
31
- const balance = await getBalance("party-4f2e1485107adf5f::122027c6dbbbdbffe0fa3122ae05175f3b9328e879e9ce96b670354deb64a45683c1");
32
- expect(balance.length).toBeGreaterThanOrEqual(1);
33
- expect(balance[0].amount).toBeGreaterThanOrEqual(0);
34
- expect(balance[0].instrument_id.includes("Splice")).toBe(true);
72
+ const { partyId } = getOnboardedAccount();
73
+ const balance = await getBalance(partyId);
74
+ expect(balance.length).toBeGreaterThanOrEqual(0);
75
+ if (balance.length > 0) {
76
+ expect(balance[0].amount).toBeGreaterThanOrEqual(0);
77
+ expect(balance[0]).toHaveProperty("instrument_id");
78
+ }
35
79
  });
36
80
  });
37
81
  describe("getPartyById", () => {
@@ -46,11 +90,77 @@ describe("gateway (devnet)", () => {
46
90
  expect(party).toBeDefined();
47
91
  });
48
92
  });
49
- describe("getTransactions", () => {
93
+ describe("getOperations", () => {
50
94
  it("should return user transactions", async () => {
51
- const { transactions } = await getTransactions("party-5f29bb32e9939939::12202becd8062a1d170209956cfd977fca76fcb4d2a892d08c77a7483f35a11d6440");
52
- expect(transactions.length).toBeGreaterThanOrEqual(0);
95
+ const { operations } = await getOperations("party-5f29bb32e9939939::12202becd8062a1d170209956cfd977fca76fcb4d2a892d08c77a7483f35a11d6440");
96
+ expect(operations.length).toBeGreaterThanOrEqual(0);
53
97
  });
54
98
  });
99
+ describe("prepareTapRequest", () => {
100
+ it("should prepare tap request for onboarded party", async () => {
101
+ // GIVEN
102
+ const { partyId } = getOnboardedAccount();
103
+ const amount = 1000;
104
+ // WHEN
105
+ const response = await prepareTapRequest({ partyId, amount });
106
+ // THEN
107
+ expect(response).toHaveProperty("serialized");
108
+ expect(response).toHaveProperty("hash");
109
+ expect(typeof response.serialized).toBe("string");
110
+ expect(typeof response.hash).toBe("string");
111
+ }, 30000);
112
+ });
113
+ describe("submitTapRequest", () => {
114
+ it("should submit tap request with proper signature", async () => {
115
+ // GIVEN
116
+ const { keyPair, partyId } = getOnboardedAccount();
117
+ const tapPrepareResponse = await prepareTapRequest({
118
+ partyId,
119
+ amount: 1000,
120
+ });
121
+ const tapSignature = keyPair.sign(tapPrepareResponse.hash);
122
+ // WHEN
123
+ const response = await submitTapRequest({
124
+ partyId,
125
+ serialized: tapPrepareResponse.serialized,
126
+ signature: tapSignature,
127
+ });
128
+ // THEN
129
+ expect(response).toHaveProperty("submission_id");
130
+ expect(response).toHaveProperty("update_id");
131
+ expect(typeof response.submission_id).toBe("string");
132
+ expect(typeof response.update_id).toBe("string");
133
+ }, 30000);
134
+ });
135
+ describe("preparePreApprovalTransaction", () => {
136
+ it("should prepare pre-approval transaction for onboarded party", async () => {
137
+ // GIVEN
138
+ const { partyId } = getOnboardedAccount();
139
+ // WHEN
140
+ const response = await preparePreApprovalTransaction(partyId);
141
+ // THEN
142
+ expect(response).toHaveProperty("serialized");
143
+ expect(response).toHaveProperty("hash");
144
+ expect(typeof response.serialized).toBe("string");
145
+ expect(typeof response.hash).toBe("string");
146
+ }, 30000);
147
+ });
148
+ describe("submitPreApprovalTransaction", () => {
149
+ it("should submit pre-approval transaction with proper signature", async () => {
150
+ // GIVEN
151
+ const { keyPair, partyId } = getOnboardedAccount();
152
+ const preparedTransaction = await preparePreApprovalTransaction(partyId);
153
+ const preApprovalSignature = keyPair.sign(preparedTransaction.hash);
154
+ // WHEN
155
+ const response = await submitPreApprovalTransaction(partyId, preparedTransaction, preApprovalSignature);
156
+ // THEN
157
+ expect(response).toHaveProperty("isApproved");
158
+ expect(response).toHaveProperty("submissionId");
159
+ expect(response).toHaveProperty("updateId");
160
+ expect(response.isApproved).toBe(true);
161
+ expect(typeof response.submissionId).toBe("string");
162
+ expect(typeof response.updateId).toBe("string");
163
+ }, 30000);
164
+ });
55
165
  });
56
166
  //# sourceMappingURL=gateway.integ.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.integ.test.js","sourceRoot":"","sources":["../../src/network/gateway.integ.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.integ.test.js","sourceRoot":"","sources":["../../src/network/gateway.integ.test.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,25 @@
1
1
  import network from "@ledgerhq/live-network";
2
+ import { getEnv } from "@ledgerhq/live-env";
2
3
  import coinConfig from "../config";
3
4
  const getGatewayUrl = () => coinConfig.getCoinConfig().gatewayUrl;
4
- const getNodeId = () => coinConfig.getCoinConfig().nodeId || "ledger-live-devnet-prd";
5
+ const getNodeId = () => coinConfig.getCoinConfig().nodeId || "ledger-devnet-stg";
6
+ const gatewayNetwork = (req) => {
7
+ const API_KEY = getEnv("CANTON_API_KEY");
8
+ return network({
9
+ ...req,
10
+ headers: {
11
+ ...(req.headers || {}),
12
+ ...(API_KEY && { "X-Ledger-Canton-Api-Key": API_KEY }),
13
+ },
14
+ });
15
+ };
5
16
  export async function prepareOnboarding(pubKey, pubKeyType) {
6
- const { data } = await network({
17
+ const gatewayUrl = getGatewayUrl();
18
+ const nodeId = getNodeId();
19
+ const fullUrl = `${gatewayUrl}/v1/node/${nodeId}/onboarding/prepare`;
20
+ const { data } = await gatewayNetwork({
7
21
  method: "POST",
8
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/onboarding/prepare`,
22
+ url: fullUrl,
9
23
  data: {
10
24
  public_key: pubKey,
11
25
  public_key_type: pubKeyType,
@@ -14,7 +28,7 @@ export async function prepareOnboarding(pubKey, pubKeyType) {
14
28
  return data;
15
29
  }
16
30
  export async function submitOnboarding(prepareRequest, prepareResponse, signature) {
17
- const { data } = await network({
31
+ const { data } = await gatewayNetwork({
18
32
  method: "POST",
19
33
  url: `${getGatewayUrl()}/v1/node/${getNodeId()}/onboarding/submit`,
20
34
  data: {
@@ -25,53 +39,112 @@ export async function submitOnboarding(prepareRequest, prepareResponse, signatur
25
39
  });
26
40
  return data;
27
41
  }
28
- export async function submit(serializedTx, signature) {
29
- const { data } = await network({
42
+ export async function submit(partyId, serialized, signature) {
43
+ const { data } = await gatewayNetwork({
30
44
  method: "POST",
31
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/transaction/submit`,
45
+ url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/transaction/submit`,
32
46
  data: {
33
- serialized: serializedTx,
47
+ serialized,
34
48
  signature,
35
49
  },
36
50
  });
37
51
  return data;
38
52
  }
39
53
  export async function getBalance(partyId) {
40
- const { data } = await network({
54
+ const { data } = await gatewayNetwork({
41
55
  method: "GET",
42
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/balance`,
56
+ // TODO: we need better solution ?
57
+ url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId.replace(/_/g, ":")}/balance`,
43
58
  });
44
59
  return data;
45
60
  }
46
61
  export async function getPartyById(partyId) {
47
- return await getParty(partyId, "ID");
62
+ return await getParty(partyId, "party-id");
48
63
  }
49
64
  export async function getPartyByPubKey(pubKey) {
50
- return await getParty(pubKey, "PK");
65
+ return await getParty(pubKey, "public-key");
51
66
  }
52
67
  async function getParty(identifier, by) {
53
- const { data } = await network({
68
+ const { data } = await gatewayNetwork({
54
69
  method: "GET",
55
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${identifier}`,
70
+ url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${identifier}?by=${by}`,
71
+ });
72
+ return data;
73
+ }
74
+ export async function getOperations(partyId, options) {
75
+ const { data } = await gatewayNetwork({
76
+ method: "GET",
77
+ url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId.replace(/_/g, ":")}/operations`,
78
+ params: options,
79
+ });
80
+ return data;
81
+ }
82
+ var TransactionType;
83
+ (function (TransactionType) {
84
+ TransactionType["TAP_REQUEST"] = "tap-request";
85
+ TransactionType["TRANSFER_PRE_APPROVAL_PROPOSAL"] = "transfer-pre-approval-proposal";
86
+ })(TransactionType || (TransactionType = {}));
87
+ export async function prepareTapRequest({ partyId, amount = 1000000, }) {
88
+ const { data } = await gatewayNetwork({
89
+ method: "POST",
90
+ url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/transaction/prepare`,
56
91
  data: {
57
- by,
92
+ amount: parseInt(amount.toString(), 10), // Convert to integer to avoid scientific notation
93
+ type: TransactionType.TAP_REQUEST,
58
94
  },
59
95
  });
60
96
  return data;
61
97
  }
62
- export async function getTransactions(partyId, options) {
98
+ export async function submitTapRequest({ partyId, serialized, signature, }) {
99
+ const { data } = await gatewayNetwork({
100
+ method: "POST",
101
+ url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/transaction/submit`,
102
+ data: {
103
+ serialized,
104
+ signature,
105
+ },
106
+ });
107
+ return data;
108
+ }
109
+ export async function prepareTransferRequest(partyId, params) {
63
110
  const { data } = await network({
64
- method: "GET",
65
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/transactions`,
66
- data: options,
111
+ method: "POST",
112
+ url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/transaction/prepare`,
113
+ data: params,
67
114
  });
68
115
  return data;
69
116
  }
70
117
  export async function getLedgerEnd() {
71
- const { data } = await network({
118
+ const { data } = await gatewayNetwork({
72
119
  method: "GET",
73
120
  url: `${getGatewayUrl()}/v1/node/${getNodeId()}/ledger-end`,
74
121
  });
75
122
  return data;
76
123
  }
124
+ export async function preparePreApprovalTransaction(partyId) {
125
+ const { data } = await gatewayNetwork({
126
+ method: "POST",
127
+ url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/transaction/prepare`,
128
+ data: {
129
+ type: TransactionType.TRANSFER_PRE_APPROVAL_PROPOSAL,
130
+ receiver: partyId,
131
+ },
132
+ });
133
+ return data;
134
+ }
135
+ export async function submitPreApprovalTransaction(partyId, { serialized }, signature) {
136
+ const { data } = await gatewayNetwork({
137
+ method: "POST",
138
+ url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/transaction/submit`,
139
+ data: {
140
+ serialized,
141
+ signature,
142
+ },
143
+ });
144
+ return {
145
+ isApproved: true,
146
+ submissionId: data.submission_id,
147
+ updateId: data.update_id,
148
+ };
149
+ }
77
150
  //# sourceMappingURL=gateway.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { AccountInfoResponse, SubmitReponse } from "./types";
1
+ import { AccountInfoResponse, SubmitResponse } from "./types";
2
2
  export declare const generateJWT: () => string;
3
3
  export declare const simulate: (serializedTx: string) => Promise<number>;
4
4
  export declare const getNextSequence: (address: string) => Promise<number>;
5
5
  export declare const getLedgerEnd: () => Promise<number>;
6
- export declare const submit: (signedTx: string) => Promise<SubmitReponse>;
6
+ export declare const submit: (signedTx: string) => Promise<SubmitResponse>;
7
7
  export declare const getAccountInfo: (address: string) => Promise<AccountInfoResponse>;
8
8
  //# sourceMappingURL=node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/network/node.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAO7D,eAAO,MAAM,WAAW,cAoBvB,CAAC;AAeF,eAAO,MAAM,QAAQ,GAAU,cAAc,MAAM,KAAG,OAAO,CAAC,MAAM,CAcnE,CAAC;AAGF,eAAO,MAAM,eAAe,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,MAAM,CAYrE,CAAC;AAEF,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,MAAM,CAQnD,CAAC;AAEF,eAAO,MAAM,MAAM,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,aAAa,CAQpE,CAAC;AAEF,eAAO,MAAM,cAAc,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAiBjF,CAAC"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/network/node.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAO9D,eAAO,MAAM,WAAW,cAoBvB,CAAC;AAeF,eAAO,MAAM,QAAQ,GAAU,cAAc,MAAM,KAAG,OAAO,CAAC,MAAM,CAcnE,CAAC;AAGF,eAAO,MAAM,eAAe,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,MAAM,CAYrE,CAAC;AAEF,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,MAAM,CAQnD,CAAC;AAEF,eAAO,MAAM,MAAM,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,cAAc,CAQrE,CAAC;AAEF,eAAO,MAAM,cAAc,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAiBjF,CAAC"}