@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 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/network/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/network/node.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ export type AccountInfoResponse = {
36
36
  ledger_index: number;
37
37
  validated: boolean;
38
38
  } & ResponseStatus;
39
- export type SubmitReponse = {
39
+ export type SubmitResponse = {
40
40
  accepted: boolean;
41
41
  tx_hash: string;
42
42
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/network/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE;QACJ,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,EAAE,EAAE;QACF,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GACjC;IACE,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AACN,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,cAAc,CAEnE;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC;AACtC,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,cAAc,CAAC;AAEnB,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,oBAAoB,EAAE,CAAC;CACtC,GAAG,cAAc,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/network/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE;QACJ,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,EAAE,EAAE;QACF,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GACjC;IACE,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AACN,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,cAAc,CAEnE;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC;AACtC,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,cAAc,CAAC;AAEnB,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,oBAAoB,EAAE,CAAC;CACtC,GAAG,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getAddress.d.ts","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAiB,YAAY,EAAE,MAAM,UAAU,CAAC;AAEvD,QAAA,MAAM,UAAU,GAAI,eAAe,aAAa,CAAC,YAAY,CAAC,KAAG,YAYhE,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"getAddress.d.ts","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,QAAA,MAAM,UAAU,GAAI,eAAe,aAAa,CAAC,YAAY,CAAC,KAAG,YAUhE,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,6 +1,6 @@
1
1
  const getAddress = (signerContext) => {
2
- return async (deviceId, { path, verify }) => {
3
- const { address, publicKey } = (await signerContext(deviceId, signer => signer.getAddress(path)));
2
+ return async (deviceId, { path }) => {
3
+ const { address, publicKey } = await signerContext(deviceId, signer => signer.getAddress(path));
4
4
  return {
5
5
  path,
6
6
  address,
@@ -1 +1 @@
1
- {"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,GAAG,CAAC,aAA0C,EAAgB,EAAE;IAC9E,OAAO,KAAK,EAAE,QAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAqB,EAAE,EAAE;QACrE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACrE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CACxB,CAAkB,CAAC;QAEpB,OAAO;YACL,IAAI;YACJ,OAAO;YACP,SAAS;SACV,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,GAAG,CAAC,aAA0C,EAAgB,EAAE;IAC9E,OAAO,KAAK,EAAE,QAAgB,EAAE,EAAE,IAAI,EAAqB,EAAE,EAAE;QAC7D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhG,OAAO;YACL,IAAI;YACJ,OAAO;YACP,SAAS;SACV,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Canton Testing Utilities for Ed25519 Key Generation
3
+ *
4
+ * Provides utilities to generate proper Ed25519 keypairs for testing Canton
5
+ * onboarding without requiring physical Ledger devices.
6
+ */
7
+ export interface CantonTestKeyPair {
8
+ publicKeyHex: string;
9
+ privateKeyHex: string;
10
+ privateKeyPem: string;
11
+ fingerprint: string;
12
+ sign: (hashHex: string) => string;
13
+ }
14
+ /**
15
+ * Generate fresh Ed25519 keypair
16
+ */
17
+ export declare function generateMockKeyPair(): CantonTestKeyPair;
18
+ /**
19
+ * Verify Ed25519 signature against public key and message hash
20
+ */
21
+ export declare function verifySignature(publicKeyHex: string, signatureHex: string, messageHashHex: string): {
22
+ isValid: boolean;
23
+ error?: string;
24
+ details: any;
25
+ };
26
+ export declare function createMockSigner(keyPair: CantonTestKeyPair): {
27
+ getAddress: (derivationPath: string) => Promise<{
28
+ address: string;
29
+ publicKey: string;
30
+ }>;
31
+ signTransaction: (derivationPath: string, hashToSign: string) => Promise<string>;
32
+ };
33
+ //# sourceMappingURL=cantonTestUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cantonTestUtils.d.ts","sourceRoot":"","sources":["../../src/test/cantonTestUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,iBAAiB,CAiDvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,CAwFpD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB;iCAEpB,MAAM;;;;sCAKD,MAAM,cAAc,MAAM;EAKrE"}
@@ -0,0 +1,151 @@
1
+ /**
2
+ * Canton Testing Utilities for Ed25519 Key Generation
3
+ *
4
+ * Provides utilities to generate proper Ed25519 keypairs for testing Canton
5
+ * onboarding without requiring physical Ledger devices.
6
+ */
7
+ import crypto from "crypto";
8
+ /**
9
+ * Generate fresh Ed25519 keypair
10
+ */
11
+ export function generateMockKeyPair() {
12
+ const { publicKey, privateKey } = crypto.generateKeyPairSync("ed25519");
13
+ const publicKeyBuffer = publicKey.export({ type: "spki", format: "der" });
14
+ const rawPublicKey = publicKeyBuffer.slice(-32);
15
+ const publicKeyHex = rawPublicKey.toString("hex");
16
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
17
+ const privateKeyPem = privateKey.export({ type: "pkcs8", format: "pem" });
18
+ const privateKeyDer = privateKey.export({ type: "pkcs8", format: "der" });
19
+ const privateKeyHex = privateKeyDer.toString("hex");
20
+ // Generate fingerprint: Canton computes SHA256(purpose_bytes + public_key_bytes)
21
+ // where purpose_bytes is 4-byte big-endian representation of PURPOSE_PUBLIC_KEY_FINGERPRINT (12)
22
+ const PURPOSE_PUBLIC_KEY_FINGERPRINT = 12;
23
+ const purposeBytes = Buffer.allocUnsafe(4);
24
+ purposeBytes.writeInt32BE(PURPOSE_PUBLIC_KEY_FINGERPRINT, 0);
25
+ const hash = crypto.createHash("sha256");
26
+ hash.update(purposeBytes);
27
+ hash.update(rawPublicKey);
28
+ const hashedContent = hash.digest();
29
+ // Multihash encoding: 0x12 (SHA256) + 0x20 (32 bytes) + hash
30
+ const multihashPrefix = Buffer.from([0x12, 0x20]);
31
+ const fingerprintBuffer = Buffer.concat([multihashPrefix, hashedContent]);
32
+ const fingerprint = fingerprintBuffer.toString("hex");
33
+ return {
34
+ publicKeyHex, // 64-char hex string (no 0x prefix)
35
+ privateKeyHex, // ASN.1 DER encoded private key in hex format
36
+ privateKeyPem, // PEM format string
37
+ fingerprint, // Canton format: multihash prefix + SHA256(public key)
38
+ /**
39
+ * Sign a transaction hash using proper Ed25519 signature
40
+ */
41
+ sign: (hashHex) => {
42
+ const hashBuffer = Buffer.from(hashHex, "hex");
43
+ const privateKeyObj = crypto.createPrivateKey({
44
+ key: privateKeyPem,
45
+ format: "pem",
46
+ type: "pkcs8",
47
+ });
48
+ const signature = crypto.sign(null, hashBuffer, privateKeyObj);
49
+ return signature.toString("hex");
50
+ },
51
+ };
52
+ }
53
+ /**
54
+ * Verify Ed25519 signature against public key and message hash
55
+ */
56
+ export function verifySignature(publicKeyHex, signatureHex, messageHashHex) {
57
+ try {
58
+ // Clean inputs - remove 0x prefixes if present
59
+ const cleanPublicKey = publicKeyHex.startsWith("0x") ? publicKeyHex.slice(2) : publicKeyHex;
60
+ const cleanSignature = signatureHex.startsWith("0x") ? signatureHex.slice(2) : signatureHex;
61
+ const cleanMessageHash = messageHashHex.startsWith("0x")
62
+ ? messageHashHex.slice(2)
63
+ : messageHashHex;
64
+ const details = {
65
+ publicKeyLength: cleanPublicKey.length,
66
+ signatureLength: cleanSignature.length,
67
+ messageHashLength: cleanMessageHash.length,
68
+ publicKeyBytes: cleanPublicKey.length / 2,
69
+ signatureBytes: cleanSignature.length / 2,
70
+ messageHashBytes: cleanMessageHash.length / 2,
71
+ };
72
+ // Validate input lengths
73
+ if (cleanPublicKey.length !== 64) {
74
+ return {
75
+ isValid: false,
76
+ error: `Invalid public key length: expected 64 hex chars (32 bytes), got ${cleanPublicKey.length}`,
77
+ details,
78
+ };
79
+ }
80
+ // Ed25519 signatures should be 64 bytes, but we might receive 65 bytes with recovery ID
81
+ let processedSignature = cleanSignature;
82
+ if (cleanSignature.length === 130) {
83
+ processedSignature = cleanSignature.slice(2, -2);
84
+ details.originalSignatureLength = cleanSignature.length;
85
+ details.processedSignatureLength = processedSignature.length;
86
+ }
87
+ else if (cleanSignature.length !== 128) {
88
+ return {
89
+ isValid: false,
90
+ error: `Invalid signature length: expected 128 hex chars (64 bytes) or 130 hex chars (65 bytes), got ${cleanSignature.length}`,
91
+ details,
92
+ };
93
+ }
94
+ // Convert hex to buffers
95
+ const publicKeyBuffer = Buffer.from(cleanPublicKey, "hex");
96
+ const signatureBuffer = Buffer.from(processedSignature, "hex");
97
+ const messageBuffer = Buffer.from(cleanMessageHash, "hex");
98
+ // Create public key object for verification
99
+ // Ed25519 public keys need to be wrapped in SPKI format for Node.js crypto
100
+ const spkiHeader = Buffer.from([
101
+ 0x30,
102
+ 0x2a, // SEQUENCE, length 42
103
+ 0x30,
104
+ 0x05, // SEQUENCE, length 5
105
+ 0x06,
106
+ 0x03,
107
+ 0x2b,
108
+ 0x65,
109
+ 0x70, // OID for Ed25519
110
+ 0x03,
111
+ 0x21,
112
+ 0x00, // BIT STRING, length 33, no unused bits
113
+ ]);
114
+ const spkiPublicKey = Buffer.concat([spkiHeader, publicKeyBuffer]);
115
+ const publicKeyObj = crypto.createPublicKey({
116
+ key: spkiPublicKey,
117
+ format: "der",
118
+ type: "spki",
119
+ });
120
+ // Verify signature
121
+ const isValid = crypto.verify(null, messageBuffer, publicKeyObj, signatureBuffer);
122
+ return {
123
+ isValid,
124
+ details: {
125
+ ...details,
126
+ processedSignatureLength: processedSignature.length,
127
+ verificationMethod: "Node.js crypto.verify with Ed25519",
128
+ },
129
+ };
130
+ }
131
+ catch (error) {
132
+ return {
133
+ isValid: false,
134
+ error: `Verification failed: ${error instanceof Error ? error.message : String(error)}`,
135
+ details: { error: String(error) },
136
+ };
137
+ }
138
+ }
139
+ export function createMockSigner(keyPair) {
140
+ return {
141
+ getAddress: async (derivationPath) => ({
142
+ address: `canton_test_${keyPair.fingerprint.slice(-8)}`,
143
+ publicKey: keyPair.publicKeyHex,
144
+ }),
145
+ signTransaction: async (derivationPath, hashToSign) => {
146
+ const cleanHash = hashToSign.startsWith("0x") ? hashToSign.slice(2) : hashToSign;
147
+ return keyPair.sign(cleanHash);
148
+ },
149
+ };
150
+ }
151
+ //# sourceMappingURL=cantonTestUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cantonTestUtils.js","sourceRoot":"","sources":["../../src/test/cantonTestUtils.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,11 @@
1
1
  import type { BigNumber } from "bignumber.js";
2
- import type { TransactionCommon, TransactionCommonRaw, TransactionStatusCommon, TransactionStatusCommonRaw } from "@ledgerhq/types-live";
2
+ import type { Observable } from "rxjs";
3
+ import type { CurrencyBridge, TransactionCommon, TransactionCommonRaw, TransactionStatusCommon, TransactionStatusCommonRaw } from "@ledgerhq/types-live";
4
+ import type { CantonOnboardProgress, CantonOnboardResult, CantonPreApprovalProgress, CantonPreApprovalResult } from "./onboard";
5
+ export interface CantonCurrencyBridge extends CurrencyBridge {
6
+ onboardAccount: (deviceId: string, derivationPath: string) => Observable<CantonOnboardProgress | CantonOnboardResult>;
7
+ authorizePreapproval: (deviceId: string, derivationPath: string, partyId: string) => Observable<CantonPreApprovalProgress | CantonPreApprovalResult>;
8
+ }
3
9
  export type NetworkInfo = {
4
10
  family: "canton";
5
11
  serverFee: BigNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/types/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,SAAS,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC5C,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG;IAClD,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AACxD,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,CAAC"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/types/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,cAAc,EAAE,CACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,KACnB,UAAU,CAAC,qBAAqB,GAAG,mBAAmB,CAAC,CAAC;IAC7D,oBAAoB,EAAE,CACpB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,KACZ,UAAU,CAAC,yBAAyB,GAAG,uBAAuB,CAAC,CAAC;CACtE;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,SAAS,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC5C,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG;IAClD,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AACxD,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,CAAC"}
@@ -1,13 +1,4 @@
1
1
  export * from "./bridge";
2
+ export * from "./onboard";
2
3
  export * from "./signer";
3
- export type BoilerplateNativeTransaction = {
4
- TransactionType: "Payment";
5
- Account: string;
6
- Amount: string;
7
- Destination: string;
8
- Fee: string;
9
- Sequence: number;
10
- SigningPubKey?: string;
11
- TxnSignature?: string;
12
- };
13
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AAEzB,MAAM,MAAM,4BAA4B,GAAG;IACzC,eAAe,EAAE,SAAS,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from "./bridge";
2
+ export * from "./onboard";
2
3
  export * from "./signer";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,55 @@
1
+ export declare enum OnboardStatus {
2
+ INIT = 0,
3
+ PREPARE = 1,
4
+ SIGN = 2,
5
+ SUBMIT = 3,
6
+ SUCCESS = 4,
7
+ ERROR = 5
8
+ }
9
+ export declare enum PreApprovalStatus {
10
+ INIT = 0,
11
+ PREPARE = 1,
12
+ SIGN = 2,
13
+ SUBMIT = 3,
14
+ SUCCESS = 4,
15
+ ERROR = 5
16
+ }
17
+ export type CantonOnboardProgress = {
18
+ status: OnboardStatus;
19
+ };
20
+ export type CantonOnboardResult = {
21
+ partyId: string;
22
+ };
23
+ export type CantonPreApprovalProgress = {
24
+ status: PreApprovalStatus;
25
+ };
26
+ export type CantonPreApprovalResult = {
27
+ isApproved: boolean;
28
+ };
29
+ /**
30
+ * Types for Canton Gateway Transaction API
31
+ * Based on the API endpoints in canton-gateway
32
+ */
33
+ export interface PrepareTransactionRequest {
34
+ type: "transfer-pre-approval-proposal";
35
+ receiver: string;
36
+ }
37
+ export interface PrepareTransactionResponse {
38
+ serialized: string;
39
+ json: any;
40
+ hash: string;
41
+ }
42
+ export interface SubmitTransactionRequest {
43
+ serialized: string;
44
+ signature: string;
45
+ }
46
+ export interface SubmitTransactionResponse {
47
+ submission_id: string;
48
+ update_id: string;
49
+ }
50
+ export interface PreApprovalResult {
51
+ isApproved: boolean;
52
+ submissionId: string;
53
+ updateId: string;
54
+ }
55
+ //# sourceMappingURL=onboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../src/types/onboard.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,IAAI,IAAA;IACJ,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,OAAO,IAAA;IACP,KAAK,IAAA;CACN;AAED,oBAAY,iBAAiB;IAC3B,IAAI,IAAA;IACJ,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,OAAO,IAAA;IACP,KAAK,IAAA;CACN;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;GAGG;AAEH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,gCAAgC,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,19 @@
1
+ export var OnboardStatus;
2
+ (function (OnboardStatus) {
3
+ OnboardStatus[OnboardStatus["INIT"] = 0] = "INIT";
4
+ OnboardStatus[OnboardStatus["PREPARE"] = 1] = "PREPARE";
5
+ OnboardStatus[OnboardStatus["SIGN"] = 2] = "SIGN";
6
+ OnboardStatus[OnboardStatus["SUBMIT"] = 3] = "SUBMIT";
7
+ OnboardStatus[OnboardStatus["SUCCESS"] = 4] = "SUCCESS";
8
+ OnboardStatus[OnboardStatus["ERROR"] = 5] = "ERROR";
9
+ })(OnboardStatus || (OnboardStatus = {}));
10
+ export var PreApprovalStatus;
11
+ (function (PreApprovalStatus) {
12
+ PreApprovalStatus[PreApprovalStatus["INIT"] = 0] = "INIT";
13
+ PreApprovalStatus[PreApprovalStatus["PREPARE"] = 1] = "PREPARE";
14
+ PreApprovalStatus[PreApprovalStatus["SIGN"] = 2] = "SIGN";
15
+ PreApprovalStatus[PreApprovalStatus["SUBMIT"] = 3] = "SUBMIT";
16
+ PreApprovalStatus[PreApprovalStatus["SUCCESS"] = 4] = "SUCCESS";
17
+ PreApprovalStatus[PreApprovalStatus["ERROR"] = 5] = "ERROR";
18
+ })(PreApprovalStatus || (PreApprovalStatus = {}));
19
+ //# sourceMappingURL=onboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../src/types/onboard.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,iDAAI,CAAA;IACJ,uDAAO,CAAA;IACP,iDAAI,CAAA;IACJ,qDAAM,CAAA;IACN,uDAAO,CAAA;IACP,mDAAK,CAAA;AACP,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED,MAAM,CAAN,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,yDAAI,CAAA;IACJ,+DAAO,CAAA;IACP,yDAAI,CAAA;IACJ,6DAAM,CAAA;IACN,+DAAO,CAAA;IACP,2DAAK,CAAA;AACP,CAAC,EAPW,iBAAiB,KAAjB,iBAAiB,QAO5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-canton",
3
- "version": "0.5.0-nightly.1",
3
+ "version": "0.5.0-nightly.3",
4
4
  "description": "Canton coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -101,13 +101,13 @@
101
101
  "bignumber.js": "^9.1.2",
102
102
  "invariant": "^2.2.4",
103
103
  "rxjs": "^7.8.1",
104
- "@ledgerhq/coin-framework": "^6.4.0-nightly.1",
105
- "@ledgerhq/cryptoassets": "^13.28.0-nightly.0",
104
+ "@ledgerhq/coin-framework": "^6.4.0-nightly.3",
105
+ "@ledgerhq/cryptoassets": "^13.28.0-nightly.2",
106
106
  "@ledgerhq/devices": "8.5.1",
107
107
  "@ledgerhq/errors": "^6.25.0",
108
- "@ledgerhq/live-env": "^2.16.0-nightly.0",
109
- "@ledgerhq/live-network": "^2.0.17-nightly.0",
110
- "@ledgerhq/types-live": "^6.83.0"
108
+ "@ledgerhq/live-env": "^2.16.0-nightly.1",
109
+ "@ledgerhq/live-network": "^2.0.17-nightly.1",
110
+ "@ledgerhq/types-live": "^6.83.1-nightly.0"
111
111
  },
112
112
  "devDependencies": {
113
113
  "@types/invariant": "^2.2.37",
@@ -117,7 +117,7 @@
117
117
  "jest": "^29.7.0",
118
118
  "ts-jest": "^29.1.1",
119
119
  "typescript": "^5.4.5",
120
- "@ledgerhq/types-cryptoassets": "^7.26.0",
120
+ "@ledgerhq/types-cryptoassets": "^7.27.0-nightly.0",
121
121
  "@ledgerhq/disable-network-setup": "^0.0.0"
122
122
  },
123
123
  "scripts": {
@@ -10,8 +10,7 @@ describe("devnet", () => {
10
10
  networkType: "devnet",
11
11
  gatewayUrl: "https://canton-gateway.api.live.ledger-test.com",
12
12
  useGateway: true,
13
- nativeInstrumentId:
14
- "6e9fc50fb94e56751b49f09ba2dc84da53a9d7cff08115ebb4f6b7a12d0c990c:Splice.Amulet:Amulet",
13
+ nativeInstrumentId: "Amulet",
15
14
  });
16
15
  });
17
16
 
package/src/api/index.ts CHANGED
@@ -2,13 +2,13 @@ import {
2
2
  AlpacaApi,
3
3
  Block,
4
4
  BlockInfo,
5
- CraftedTransaction,
6
5
  Cursor,
7
6
  FeeEstimation,
8
7
  Page,
9
8
  Reward,
10
9
  Stake,
11
10
  TransactionIntent,
11
+ CraftedTransaction,
12
12
  } from "@ledgerhq/coin-framework/api/index";
13
13
  import coinConfig, { type CantonConfig } from "../config";
14
14
  import {
@@ -17,7 +17,6 @@ import {
17
17
  craftTransaction,
18
18
  estimateFees,
19
19
  getBalance,
20
- getNextValidSequence,
21
20
  lastBlock,
22
21
  listOperations,
23
22
  } from "../common-logic";
@@ -29,8 +28,8 @@ export function createApi(config: CantonConfig): AlpacaApi {
29
28
  return {
30
29
  broadcast,
31
30
  combine,
32
- craftTransaction: craft,
33
- estimateFees: estimate,
31
+ craftTransaction: craft(config.nativeInstrumentId ?? ""),
32
+ estimateFees: estimate(config.nativeInstrumentId ?? ""),
34
33
  getBalance,
35
34
  lastBlock,
36
35
  listOperations,
@@ -49,28 +48,36 @@ export function createApi(config: CantonConfig): AlpacaApi {
49
48
  };
50
49
  }
51
50
 
52
- async function craft(transactionIntent: TransactionIntent): Promise<CraftedTransaction> {
53
- const nextSequenceNumber = await getNextValidSequence(transactionIntent.sender);
54
- const tx = await craftTransaction(
55
- { address: transactionIntent.sender, nextSequenceNumber },
56
- {
57
- recipient: transactionIntent.recipient,
58
- amount: new BigNumber(transactionIntent.amount.toString()),
59
- },
60
- );
61
- return { transaction: tx.serializedTransaction };
62
- }
51
+ const craft =
52
+ (tokenId: string) =>
53
+ async (transactionIntent: TransactionIntent): Promise<CraftedTransaction> => {
54
+ const tx = await craftTransaction(
55
+ { address: transactionIntent.sender },
56
+ {
57
+ recipient: transactionIntent.recipient,
58
+ amount: new BigNumber(transactionIntent.amount.toString()),
59
+ tokenId,
60
+ expireInSeconds: 24 * 60 * 60,
61
+ },
62
+ );
63
63
 
64
- async function estimate(transactionIntent: TransactionIntent): Promise<FeeEstimation> {
65
- const { serializedTransaction } = await craftTransaction(
66
- { address: transactionIntent.sender },
67
- {
68
- recipient: transactionIntent.recipient,
69
- amount: new BigNumber(transactionIntent.amount.toString()),
70
- },
71
- );
64
+ return { transaction: tx.serializedTransaction };
65
+ };
72
66
 
73
- const value = await estimateFees(serializedTransaction);
67
+ const estimate =
68
+ (tokenId: string) =>
69
+ async (transactionIntent: TransactionIntent): Promise<FeeEstimation> => {
70
+ const { serializedTransaction } = await craftTransaction(
71
+ { address: transactionIntent.sender },
72
+ {
73
+ recipient: transactionIntent.recipient,
74
+ amount: new BigNumber(transactionIntent.amount.toString()),
75
+ tokenId,
76
+ expireInSeconds: 24 * 60 * 60,
77
+ },
78
+ );
74
79
 
75
- return { value };
76
- }
80
+ const value = await estimateFees(serializedTransaction);
81
+
82
+ return { value };
83
+ };
@@ -3,9 +3,8 @@ import { patchOperationWithHash } from "@ledgerhq/coin-framework/operation";
3
3
  import { broadcast as broadcastLogic } from "../common-logic";
4
4
  import { Transaction } from "../types";
5
5
 
6
- export const broadcast: AccountBridge<Transaction>["broadcast"] = async ({
7
- signedOperation: { signature, operation },
8
- }) => {
6
+ export const broadcast: AccountBridge<Transaction>["broadcast"] = async ({ signedOperation }) => {
7
+ const { operation, signature } = signedOperation;
9
8
  const hash = await broadcastLogic(signature);
10
9
  return patchOperationWithHash(operation, hash);
11
10
  };
@@ -6,7 +6,7 @@ describe("createTransaction", () => {
6
6
  expect(createTransaction({} as AccountLike<Account>).amount.toNumber()).toEqual(0);
7
7
  });
8
8
 
9
- it("should create a transaction with boilerplate family", () => {
9
+ it("should create a transaction with canton family", () => {
10
10
  expect(createTransaction({} as AccountLike<Account>).family).toEqual("canton");
11
11
  });
12
12
  });
@@ -7,10 +7,10 @@ import {
7
7
  } from "@ledgerhq/coin-framework/bridge/jsHelpers";
8
8
  import { CoinConfig } from "@ledgerhq/coin-framework/config";
9
9
  import { SignerContext } from "@ledgerhq/coin-framework/signer";
10
- import type { AccountBridge, CurrencyBridge } from "@ledgerhq/types-live";
10
+ import type { AccountBridge } from "@ledgerhq/types-live";
11
11
  import cantonCoinConfig, { type CantonCoinConfig } from "../config";
12
12
  import resolver from "../signer";
13
- import { CantonSigner } from "../types";
13
+ import { CantonCurrencyBridge, CantonSigner } from "../types";
14
14
  import type { Transaction } from "../types";
15
15
  import { broadcast } from "./broadcast";
16
16
  import { createTransaction } from "./createTransaction";
@@ -20,6 +20,7 @@ import { prepareTransaction } from "./prepareTransaction";
20
20
  import { buildSignOperation } from "./signOperation";
21
21
  import { getAccountShape } from "./sync";
22
22
  import { updateTransaction } from "./updateTransaction";
23
+ import { buildOnboardAccount, buildAuthorizePreapproval } from "./onboard";
23
24
 
24
25
  export function createBridges(
25
26
  signerContext: SignerContext<CantonSigner>,
@@ -30,11 +31,20 @@ export function createBridges(
30
31
  const getAddress = resolver(signerContext);
31
32
  const receive = makeAccountBridgeReceive(getAddressWrapper(getAddress));
32
33
 
33
- const scanAccounts = makeScanAccounts({ getAccountShape, getAddressFn: getAddress });
34
- const currencyBridge: CurrencyBridge = {
34
+ const scanAccounts = makeScanAccounts({
35
+ getAccountShape: getAccountShape,
36
+ getAddressFn: getAddress,
37
+ });
38
+
39
+ const onboardAccount = buildOnboardAccount(signerContext);
40
+ const authorizePreapproval = buildAuthorizePreapproval(signerContext);
41
+
42
+ const currencyBridge: CantonCurrencyBridge = {
35
43
  preload: () => Promise.resolve({}),
36
44
  hydrate: () => {},
37
45
  scanAccounts,
46
+ onboardAccount,
47
+ authorizePreapproval,
38
48
  };
39
49
 
40
50
  const signOperation = buildSignOperation(signerContext);