@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
@@ -4,23 +4,13 @@ const combine_1 = require("./combine");
4
4
  describe("combine", () => {
5
5
  it("responds with a Stringify version of the payload to broadcast", () => {
6
6
  // GIVEN
7
- const transaction = {
8
- transaction: {
9
- serialized: "SERIALIZED",
10
- json: "JSON",
11
- hash: "HASH",
12
- },
13
- };
7
+ const transaction = "0x000000001";
14
8
  const signature = "SIGNATURE";
15
9
  // WHEN
16
- const result = (0, combine_1.combine)(JSON.stringify(transaction), signature);
10
+ const result = (0, combine_1.combine)(transaction, signature);
17
11
  // THEN
18
12
  expect(JSON.parse(result)).toEqual({
19
- transaction: {
20
- serialized: "SERIALIZED",
21
- json: "JSON",
22
- hash: "HASH",
23
- },
13
+ serialized: "0x000000001",
24
14
  signature: "SIGNATURE",
25
15
  });
26
16
  });
@@ -1 +1 @@
1
- {"version":3,"file":"combine.test.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/combine.test.ts"],"names":[],"mappings":";;AAAA,uCAAoC;AAEpC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,QAAQ;QACR,MAAM,WAAW,GAAG;YAClB,WAAW,EAAE;gBACX,UAAU,EAAE,YAAY;gBACxB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;aACb;SACF,CAAC;QACF,MAAM,SAAS,GAAG,WAAW,CAAC;QAE9B,OAAO;QACP,MAAM,MAAM,GAAG,IAAA,iBAAO,EAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;QAE/D,OAAO;QACP,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YACjC,WAAW,EAAE;gBACX,UAAU,EAAE,YAAY;gBACxB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;aACb;YACD,SAAS,EAAE,WAAW;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"combine.test.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/combine.test.ts"],"names":[],"mappings":";;AAAA,uCAAoC;AAEpC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,QAAQ;QACR,MAAM,WAAW,GAAG,aAAa,CAAC;QAClC,MAAM,SAAS,GAAG,WAAW,CAAC;QAE9B,OAAO;QACP,MAAM,MAAM,GAAG,IAAA,iBAAO,EAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAE/C,OAAO;QACP,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YACjC,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,WAAW;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import BigNumber from "bignumber.js";
2
- import { BoilerplateNativeTransaction } from "../../types";
2
+ import { PrepareTransferResponse } from "../../network/gateway";
3
3
  export declare function craftTransaction(account: {
4
4
  address: string;
5
5
  nextSequenceNumber?: number;
@@ -7,9 +7,11 @@ export declare function craftTransaction(account: {
7
7
  }, transaction: {
8
8
  recipient?: string;
9
9
  amount: BigNumber;
10
- fee?: BigNumber;
10
+ tokenId: string;
11
+ expireInSeconds: number;
11
12
  }): Promise<{
12
- nativeTransaction: BoilerplateNativeTransaction;
13
+ nativeTransaction: PrepareTransferResponse;
13
14
  serializedTransaction: string;
15
+ hash: string;
14
16
  }>;
15
17
  //# sourceMappingURL=craftTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/craftTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAI3D,wBAAsB,gBAAgB,CACpC,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,WAAW,EAAE;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,GAAG,CAAC,EAAE,SAAS,CAAC;CACjB,GACA,OAAO,CAAC;IACT,iBAAiB,EAAE,4BAA4B,CAAC;IAChD,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC,CAgBD"}
1
+ {"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/craftTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAA0B,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAExF,wBAAsB,gBAAgB,CACpC,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,WAAW,EAAE;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAAC;IACT,iBAAiB,EAAE,uBAAuB,CAAC;IAC3C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAcD"}
@@ -1,20 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.craftTransaction = craftTransaction;
4
- const encodeNativeTx = (nativeTx) => JSON.stringify(nativeTx);
4
+ const gateway_1 = require("../../network/gateway");
5
5
  async function craftTransaction(account, transaction) {
6
- const nativeTransaction = {
7
- TransactionType: "Payment",
8
- Account: account.address,
9
- Amount: transaction.amount.toString(),
10
- Destination: transaction.recipient || "",
11
- Fee: transaction.fee?.toString() || "0",
12
- Sequence: account.nextSequenceNumber || 0,
13
- };
14
- const serializedTransaction = encodeNativeTx(nativeTransaction);
6
+ const { serialized, json, hash } = await (0, gateway_1.prepareTransferRequest)(account.address, {
7
+ recipient: transaction.recipient || "",
8
+ amount: transaction.amount.toNumber(),
9
+ type: "token-transfer-request",
10
+ execute_before_secs: transaction.expireInSeconds,
11
+ instrument_id: transaction.tokenId,
12
+ });
15
13
  return {
16
- nativeTransaction,
17
- serializedTransaction,
14
+ nativeTransaction: json,
15
+ serializedTransaction: serialized,
16
+ hash,
18
17
  };
19
18
  }
20
19
  //# sourceMappingURL=craftTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"craftTransaction.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/craftTransaction.ts"],"names":[],"mappings":";;AAKA,4CA8BC;AAhCD,MAAM,cAAc,GAAG,CAAC,QAAsC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAErF,KAAK,UAAU,gBAAgB,CACpC,OAIC,EACD,WAIC;IAKD,MAAM,iBAAiB,GAAiC;QACtD,eAAe,EAAE,SAAS;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE;QACrC,WAAW,EAAE,WAAW,CAAC,SAAS,IAAI,EAAE;QACxC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAG;QACvC,QAAQ,EAAE,OAAO,CAAC,kBAAkB,IAAI,CAAC;KAC1C,CAAC;IAEF,MAAM,qBAAqB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAEhE,OAAO;QACL,iBAAiB;QACjB,qBAAqB;KACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"craftTransaction.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/craftTransaction.ts"],"names":[],"mappings":";;AAGA,4CA8BC;AAhCD,mDAAwF;AAEjF,KAAK,UAAU,gBAAgB,CACpC,OAIC,EACD,WAKC;IAMD,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,gCAAsB,EAAC,OAAO,CAAC,OAAO,EAAE;QAC/E,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,EAAE;QACtC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE;QACrC,IAAI,EAAE,wBAAwB;QAC9B,mBAAmB,EAAE,WAAW,CAAC,eAAe;QAChD,aAAa,EAAE,WAAW,CAAC,OAAO;KACnC,CAAC,CAAC;IAEH,OAAO;QACL,iBAAiB,EAAE,IAAI;QACvB,qBAAqB,EAAE,UAAU;QACjC,IAAI;KACL,CAAC;AACJ,CAAC"}
@@ -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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"}
@@ -4,9 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const config_1 = __importDefault(require("../config"));
7
+ const cantonTestUtils_1 = require("../test/cantonTestUtils");
7
8
  const gateway_1 = require("./gateway");
8
9
  describe("gateway (devnet)", () => {
9
- beforeAll(() => {
10
+ let onboardedAccount = null;
11
+ beforeAll(async () => {
10
12
  config_1.default.setCoinConfig(() => ({
11
13
  gatewayUrl: "https://canton-gateway.api.live.ledger-test.com",
12
14
  useGateway: true,
@@ -15,14 +17,53 @@ describe("gateway (devnet)", () => {
15
17
  type: "active",
16
18
  },
17
19
  }));
18
- });
20
+ }, 60000);
21
+ const getOnboardedAccount = () => {
22
+ if (!onboardedAccount) {
23
+ throw new Error("Shared onboarded account not available. Check beforeAll setup.");
24
+ }
25
+ return onboardedAccount;
26
+ };
19
27
  describe("prepareOnboarding", () => {
20
28
  it("should prepare onboarding", async () => {
21
- const response = await (0, gateway_1.prepareOnboarding)("c59f7f29374d24506dd6490a5db472cf00958e195e146f3dc9c97f96d5c51097", "ed25519");
29
+ // GIVEN
30
+ const keyPair = (0, cantonTestUtils_1.generateMockKeyPair)();
31
+ // Save onboarded account for all tests that need a valid party ID
32
+ onboardedAccount = {
33
+ keyPair,
34
+ partyId: "", // set in next test
35
+ };
36
+ // WHEN
37
+ const response = await (0, gateway_1.prepareOnboarding)(keyPair.publicKeyHex, "ed25519");
38
+ // THEN
22
39
  expect(response).toHaveProperty("party_id");
23
40
  expect(response).toHaveProperty("party_name");
24
41
  expect(response).toHaveProperty("public_key_fingerprint");
25
- expect(response).toHaveProperty("topology_transactions_hash");
42
+ expect(response).toHaveProperty("transactions");
43
+ expect(response.transactions).toHaveProperty("combined_hash");
44
+ expect(response.party_name).toBe(keyPair.publicKeyHex);
45
+ expect(response.public_key_fingerprint).toBe(keyPair.fingerprint);
46
+ }, 30000);
47
+ });
48
+ describe("submitOnboarding", () => {
49
+ it("should submit onboarding with proper signature", async () => {
50
+ // GIVEN
51
+ const { keyPair } = getOnboardedAccount();
52
+ const prepareRequest = { public_key: keyPair.publicKeyHex, public_key_type: "ed25519" };
53
+ const prepareResponse = await (0, gateway_1.prepareOnboarding)(keyPair.publicKeyHex, "ed25519");
54
+ const signature = keyPair.sign(prepareResponse.transactions.combined_hash);
55
+ // WHEN
56
+ const response = await (0, gateway_1.submitOnboarding)(prepareRequest, prepareResponse, signature);
57
+ // Save onboarded account for all tests that need a valid party ID
58
+ onboardedAccount = {
59
+ keyPair,
60
+ partyId: response.party.party_id,
61
+ };
62
+ // THEN
63
+ expect(response).toHaveProperty("party");
64
+ expect(response.party).toHaveProperty("party_id");
65
+ expect(response.party).toHaveProperty("public_key");
66
+ expect(response.party.public_key).toBe(keyPair.publicKeyHex);
26
67
  }, 30000);
27
68
  });
28
69
  describe("getLedgerEnd", () => {
@@ -33,10 +74,13 @@ describe("gateway (devnet)", () => {
33
74
  });
34
75
  describe("getBalance", () => {
35
76
  it("should return user balance", async () => {
36
- const balance = await (0, gateway_1.getBalance)("party-4f2e1485107adf5f::122027c6dbbbdbffe0fa3122ae05175f3b9328e879e9ce96b670354deb64a45683c1");
37
- expect(balance.length).toBeGreaterThanOrEqual(1);
38
- expect(balance[0].amount).toBeGreaterThanOrEqual(0);
39
- expect(balance[0].instrument_id.includes("Splice")).toBe(true);
77
+ const { partyId } = getOnboardedAccount();
78
+ const balance = await (0, gateway_1.getBalance)(partyId);
79
+ expect(balance.length).toBeGreaterThanOrEqual(0);
80
+ if (balance.length > 0) {
81
+ expect(balance[0].amount).toBeGreaterThanOrEqual(0);
82
+ expect(balance[0]).toHaveProperty("instrument_id");
83
+ }
40
84
  });
41
85
  });
42
86
  describe("getPartyById", () => {
@@ -51,11 +95,77 @@ describe("gateway (devnet)", () => {
51
95
  expect(party).toBeDefined();
52
96
  });
53
97
  });
54
- describe("getTransactions", () => {
98
+ describe("getOperations", () => {
55
99
  it("should return user transactions", async () => {
56
- const { transactions } = await (0, gateway_1.getTransactions)("party-5f29bb32e9939939::12202becd8062a1d170209956cfd977fca76fcb4d2a892d08c77a7483f35a11d6440");
57
- expect(transactions.length).toBeGreaterThanOrEqual(0);
100
+ const { operations } = await (0, gateway_1.getOperations)("party-5f29bb32e9939939::12202becd8062a1d170209956cfd977fca76fcb4d2a892d08c77a7483f35a11d6440");
101
+ expect(operations.length).toBeGreaterThanOrEqual(0);
58
102
  });
59
103
  });
104
+ describe("prepareTapRequest", () => {
105
+ it("should prepare tap request for onboarded party", async () => {
106
+ // GIVEN
107
+ const { partyId } = getOnboardedAccount();
108
+ const amount = 1000;
109
+ // WHEN
110
+ const response = await (0, gateway_1.prepareTapRequest)({ partyId, amount });
111
+ // THEN
112
+ expect(response).toHaveProperty("serialized");
113
+ expect(response).toHaveProperty("hash");
114
+ expect(typeof response.serialized).toBe("string");
115
+ expect(typeof response.hash).toBe("string");
116
+ }, 30000);
117
+ });
118
+ describe("submitTapRequest", () => {
119
+ it("should submit tap request with proper signature", async () => {
120
+ // GIVEN
121
+ const { keyPair, partyId } = getOnboardedAccount();
122
+ const tapPrepareResponse = await (0, gateway_1.prepareTapRequest)({
123
+ partyId,
124
+ amount: 1000,
125
+ });
126
+ const tapSignature = keyPair.sign(tapPrepareResponse.hash);
127
+ // WHEN
128
+ const response = await (0, gateway_1.submitTapRequest)({
129
+ partyId,
130
+ serialized: tapPrepareResponse.serialized,
131
+ signature: tapSignature,
132
+ });
133
+ // THEN
134
+ expect(response).toHaveProperty("submission_id");
135
+ expect(response).toHaveProperty("update_id");
136
+ expect(typeof response.submission_id).toBe("string");
137
+ expect(typeof response.update_id).toBe("string");
138
+ }, 30000);
139
+ });
140
+ describe("preparePreApprovalTransaction", () => {
141
+ it("should prepare pre-approval transaction for onboarded party", async () => {
142
+ // GIVEN
143
+ const { partyId } = getOnboardedAccount();
144
+ // WHEN
145
+ const response = await (0, gateway_1.preparePreApprovalTransaction)(partyId);
146
+ // THEN
147
+ expect(response).toHaveProperty("serialized");
148
+ expect(response).toHaveProperty("hash");
149
+ expect(typeof response.serialized).toBe("string");
150
+ expect(typeof response.hash).toBe("string");
151
+ }, 30000);
152
+ });
153
+ describe("submitPreApprovalTransaction", () => {
154
+ it("should submit pre-approval transaction with proper signature", async () => {
155
+ // GIVEN
156
+ const { keyPair, partyId } = getOnboardedAccount();
157
+ const preparedTransaction = await (0, gateway_1.preparePreApprovalTransaction)(partyId);
158
+ const preApprovalSignature = keyPair.sign(preparedTransaction.hash);
159
+ // WHEN
160
+ const response = await (0, gateway_1.submitPreApprovalTransaction)(partyId, preparedTransaction, preApprovalSignature);
161
+ // THEN
162
+ expect(response).toHaveProperty("isApproved");
163
+ expect(response).toHaveProperty("submissionId");
164
+ expect(response).toHaveProperty("updateId");
165
+ expect(response.isApproved).toBe(true);
166
+ expect(typeof response.submissionId).toBe("string");
167
+ expect(typeof response.updateId).toBe("string");
168
+ }, 30000);
169
+ });
60
170
  });
61
171
  //# 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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"}