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

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 (217) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +24 -0
  3. package/lib/api/getBalance.integ.test.js +8 -4
  4. package/lib/api/getBalance.integ.test.js.map +1 -1
  5. package/lib/api/index.d.ts.map +1 -1
  6. package/lib/api/index.js +20 -28
  7. package/lib/api/index.js.map +1 -1
  8. package/lib/api/lastBlock.integ.test.js +1 -1
  9. package/lib/api/lastBlock.integ.test.js.map +1 -1
  10. package/lib/api/listOperations.integ.test.js +1 -1
  11. package/lib/api/listOperations.integ.test.js.map +1 -1
  12. package/lib/bridge/broadcast.d.ts.map +1 -1
  13. package/lib/bridge/broadcast.js +2 -2
  14. package/lib/bridge/broadcast.js.map +1 -1
  15. package/lib/bridge/broadcast.test.js +9 -0
  16. package/lib/bridge/broadcast.test.js.map +1 -1
  17. package/lib/bridge/createTransaction.js +1 -1
  18. package/lib/bridge/createTransaction.js.map +1 -1
  19. package/lib/bridge/getTransactionStatus.js +1 -1
  20. package/lib/bridge/getTransactionStatus.js.map +1 -1
  21. package/lib/bridge/index.d.ts.map +1 -1
  22. package/lib/bridge/index.js +3 -0
  23. package/lib/bridge/index.js.map +1 -1
  24. package/lib/bridge/onboard.d.ts +7 -5
  25. package/lib/bridge/onboard.d.ts.map +1 -1
  26. package/lib/bridge/onboard.integ.test.js +13 -10
  27. package/lib/bridge/onboard.integ.test.js.map +1 -1
  28. package/lib/bridge/onboard.js +110 -42
  29. package/lib/bridge/onboard.js.map +1 -1
  30. package/lib/bridge/prepareTransaction.js +1 -1
  31. package/lib/bridge/prepareTransaction.js.map +1 -1
  32. package/lib/bridge/serialization.d.ts +4 -0
  33. package/lib/bridge/serialization.d.ts.map +1 -0
  34. package/lib/bridge/serialization.js +31 -0
  35. package/lib/bridge/serialization.js.map +1 -0
  36. package/lib/bridge/signOperation.d.ts.map +1 -1
  37. package/lib/bridge/signOperation.js +10 -5
  38. package/lib/bridge/signOperation.js.map +1 -1
  39. package/lib/bridge/sync.d.ts +2 -1
  40. package/lib/bridge/sync.d.ts.map +1 -1
  41. package/lib/bridge/sync.integ.test.js +2 -2
  42. package/lib/bridge/sync.integ.test.js.map +1 -1
  43. package/lib/bridge/sync.js +33 -20
  44. package/lib/bridge/sync.js.map +1 -1
  45. package/lib/common-logic/account/getBalance.d.ts +2 -1
  46. package/lib/common-logic/account/getBalance.d.ts.map +1 -1
  47. package/lib/common-logic/account/getBalance.js +7 -7
  48. package/lib/common-logic/account/getBalance.js.map +1 -1
  49. package/lib/common-logic/account/getBalance.unit.test.js +6 -3
  50. package/lib/common-logic/account/getBalance.unit.test.js.map +1 -1
  51. package/lib/common-logic/history/lastBlock.d.ts +2 -1
  52. package/lib/common-logic/history/lastBlock.d.ts.map +1 -1
  53. package/lib/common-logic/history/lastBlock.js +3 -3
  54. package/lib/common-logic/history/lastBlock.js.map +1 -1
  55. package/lib/common-logic/history/lastBlock.test.js +5 -2
  56. package/lib/common-logic/history/lastBlock.test.js.map +1 -1
  57. package/lib/common-logic/history/listOperations.d.ts +2 -1
  58. package/lib/common-logic/history/listOperations.d.ts.map +1 -1
  59. package/lib/common-logic/history/listOperations.js +2 -2
  60. package/lib/common-logic/history/listOperations.js.map +1 -1
  61. package/lib/common-logic/transaction/broadcast.d.ts +2 -1
  62. package/lib/common-logic/transaction/broadcast.d.ts.map +1 -1
  63. package/lib/common-logic/transaction/broadcast.js +4 -4
  64. package/lib/common-logic/transaction/broadcast.js.map +1 -1
  65. package/lib/common-logic/transaction/broadcast.test.js +6 -3
  66. package/lib/common-logic/transaction/broadcast.test.js.map +1 -1
  67. package/lib/common-logic/transaction/craftTransaction.d.ts +3 -1
  68. package/lib/common-logic/transaction/craftTransaction.d.ts.map +1 -1
  69. package/lib/common-logic/transaction/craftTransaction.js +8 -4
  70. package/lib/common-logic/transaction/craftTransaction.js.map +1 -1
  71. package/lib/common-logic/transaction/estimateFees.d.ts +2 -1
  72. package/lib/common-logic/transaction/estimateFees.d.ts.map +1 -1
  73. package/lib/common-logic/transaction/estimateFees.js +7 -3
  74. package/lib/common-logic/transaction/estimateFees.js.map +1 -1
  75. package/lib/config.d.ts +1 -0
  76. package/lib/config.d.ts.map +1 -1
  77. package/lib/config.js.map +1 -1
  78. package/lib/network/gateway.d.ts +28 -26
  79. package/lib/network/gateway.d.ts.map +1 -1
  80. package/lib/network/gateway.integ.test.js +19 -15
  81. package/lib/network/gateway.integ.test.js.map +1 -1
  82. package/lib/network/gateway.js +40 -33
  83. package/lib/network/gateway.js.map +1 -1
  84. package/lib/signer/getAddress.d.ts.map +1 -1
  85. package/lib/signer/getAddress.js +2 -2
  86. package/lib/signer/getAddress.js.map +1 -1
  87. package/lib/types/bridge.d.ts +18 -3
  88. package/lib/types/bridge.d.ts.map +1 -1
  89. package/lib/types/onboard.d.ts +2 -0
  90. package/lib/types/onboard.d.ts.map +1 -1
  91. package/lib/types/onboard.js.map +1 -1
  92. package/lib/types/signer.d.ts +2 -1
  93. package/lib/types/signer.d.ts.map +1 -1
  94. package/lib-es/api/getBalance.integ.test.js +8 -4
  95. package/lib-es/api/getBalance.integ.test.js.map +1 -1
  96. package/lib-es/api/index.d.ts.map +1 -1
  97. package/lib-es/api/index.js +19 -27
  98. package/lib-es/api/index.js.map +1 -1
  99. package/lib-es/api/lastBlock.integ.test.js +1 -1
  100. package/lib-es/api/lastBlock.integ.test.js.map +1 -1
  101. package/lib-es/api/listOperations.integ.test.js +1 -1
  102. package/lib-es/api/listOperations.integ.test.js.map +1 -1
  103. package/lib-es/bridge/broadcast.d.ts.map +1 -1
  104. package/lib-es/bridge/broadcast.js +2 -2
  105. package/lib-es/bridge/broadcast.js.map +1 -1
  106. package/lib-es/bridge/broadcast.test.js +9 -0
  107. package/lib-es/bridge/broadcast.test.js.map +1 -1
  108. package/lib-es/bridge/createTransaction.js +1 -1
  109. package/lib-es/bridge/createTransaction.js.map +1 -1
  110. package/lib-es/bridge/getTransactionStatus.js +1 -1
  111. package/lib-es/bridge/getTransactionStatus.js.map +1 -1
  112. package/lib-es/bridge/index.d.ts.map +1 -1
  113. package/lib-es/bridge/index.js +3 -0
  114. package/lib-es/bridge/index.js.map +1 -1
  115. package/lib-es/bridge/onboard.d.ts +7 -5
  116. package/lib-es/bridge/onboard.d.ts.map +1 -1
  117. package/lib-es/bridge/onboard.integ.test.js +13 -10
  118. package/lib-es/bridge/onboard.integ.test.js.map +1 -1
  119. package/lib-es/bridge/onboard.js +107 -42
  120. package/lib-es/bridge/onboard.js.map +1 -1
  121. package/lib-es/bridge/prepareTransaction.js +1 -1
  122. package/lib-es/bridge/prepareTransaction.js.map +1 -1
  123. package/lib-es/bridge/serialization.d.ts +4 -0
  124. package/lib-es/bridge/serialization.d.ts.map +1 -0
  125. package/lib-es/bridge/serialization.js +27 -0
  126. package/lib-es/bridge/serialization.js.map +1 -0
  127. package/lib-es/bridge/signOperation.d.ts.map +1 -1
  128. package/lib-es/bridge/signOperation.js +10 -5
  129. package/lib-es/bridge/signOperation.js.map +1 -1
  130. package/lib-es/bridge/sync.d.ts +2 -1
  131. package/lib-es/bridge/sync.d.ts.map +1 -1
  132. package/lib-es/bridge/sync.integ.test.js +2 -2
  133. package/lib-es/bridge/sync.integ.test.js.map +1 -1
  134. package/lib-es/bridge/sync.js +34 -21
  135. package/lib-es/bridge/sync.js.map +1 -1
  136. package/lib-es/common-logic/account/getBalance.d.ts +2 -1
  137. package/lib-es/common-logic/account/getBalance.d.ts.map +1 -1
  138. package/lib-es/common-logic/account/getBalance.js +7 -7
  139. package/lib-es/common-logic/account/getBalance.js.map +1 -1
  140. package/lib-es/common-logic/account/getBalance.unit.test.js +6 -3
  141. package/lib-es/common-logic/account/getBalance.unit.test.js.map +1 -1
  142. package/lib-es/common-logic/history/lastBlock.d.ts +2 -1
  143. package/lib-es/common-logic/history/lastBlock.d.ts.map +1 -1
  144. package/lib-es/common-logic/history/lastBlock.js +3 -3
  145. package/lib-es/common-logic/history/lastBlock.js.map +1 -1
  146. package/lib-es/common-logic/history/lastBlock.test.js +5 -2
  147. package/lib-es/common-logic/history/lastBlock.test.js.map +1 -1
  148. package/lib-es/common-logic/history/listOperations.d.ts +2 -1
  149. package/lib-es/common-logic/history/listOperations.d.ts.map +1 -1
  150. package/lib-es/common-logic/history/listOperations.js +2 -2
  151. package/lib-es/common-logic/history/listOperations.js.map +1 -1
  152. package/lib-es/common-logic/transaction/broadcast.d.ts +2 -1
  153. package/lib-es/common-logic/transaction/broadcast.d.ts.map +1 -1
  154. package/lib-es/common-logic/transaction/broadcast.js +4 -4
  155. package/lib-es/common-logic/transaction/broadcast.js.map +1 -1
  156. package/lib-es/common-logic/transaction/broadcast.test.js +6 -3
  157. package/lib-es/common-logic/transaction/broadcast.test.js.map +1 -1
  158. package/lib-es/common-logic/transaction/craftTransaction.d.ts +3 -1
  159. package/lib-es/common-logic/transaction/craftTransaction.d.ts.map +1 -1
  160. package/lib-es/common-logic/transaction/craftTransaction.js +9 -5
  161. package/lib-es/common-logic/transaction/craftTransaction.js.map +1 -1
  162. package/lib-es/common-logic/transaction/estimateFees.d.ts +2 -1
  163. package/lib-es/common-logic/transaction/estimateFees.d.ts.map +1 -1
  164. package/lib-es/common-logic/transaction/estimateFees.js +4 -3
  165. package/lib-es/common-logic/transaction/estimateFees.js.map +1 -1
  166. package/lib-es/config.d.ts +1 -0
  167. package/lib-es/config.d.ts.map +1 -1
  168. package/lib-es/config.js.map +1 -1
  169. package/lib-es/network/gateway.d.ts +28 -26
  170. package/lib-es/network/gateway.d.ts.map +1 -1
  171. package/lib-es/network/gateway.integ.test.js +19 -15
  172. package/lib-es/network/gateway.integ.test.js.map +1 -1
  173. package/lib-es/network/gateway.js +40 -33
  174. package/lib-es/network/gateway.js.map +1 -1
  175. package/lib-es/signer/getAddress.d.ts.map +1 -1
  176. package/lib-es/signer/getAddress.js +2 -2
  177. package/lib-es/signer/getAddress.js.map +1 -1
  178. package/lib-es/types/bridge.d.ts +18 -3
  179. package/lib-es/types/bridge.d.ts.map +1 -1
  180. package/lib-es/types/onboard.d.ts +2 -0
  181. package/lib-es/types/onboard.d.ts.map +1 -1
  182. package/lib-es/types/onboard.js.map +1 -1
  183. package/lib-es/types/signer.d.ts +2 -1
  184. package/lib-es/types/signer.d.ts.map +1 -1
  185. package/package.json +4 -4
  186. package/src/api/getBalance.integ.test.ts +8 -4
  187. package/src/api/index.ts +22 -51
  188. package/src/api/lastBlock.integ.test.ts +1 -1
  189. package/src/api/listOperations.integ.test.ts +1 -1
  190. package/src/bridge/broadcast.test.ts +11 -0
  191. package/src/bridge/broadcast.ts +5 -2
  192. package/src/bridge/createTransaction.ts +1 -1
  193. package/src/bridge/getTransactionStatus.ts +1 -1
  194. package/src/bridge/index.ts +3 -0
  195. package/src/bridge/onboard.integ.test.ts +24 -12
  196. package/src/bridge/onboard.ts +143 -51
  197. package/src/bridge/prepareTransaction.ts +1 -1
  198. package/src/bridge/serialization.ts +36 -0
  199. package/src/bridge/signOperation.ts +20 -7
  200. package/src/bridge/sync.integ.test.ts +2 -2
  201. package/src/bridge/sync.ts +40 -29
  202. package/src/common-logic/account/getBalance.ts +12 -7
  203. package/src/common-logic/account/getBalance.unit.test.ts +8 -3
  204. package/src/common-logic/history/lastBlock.test.ts +7 -2
  205. package/src/common-logic/history/lastBlock.ts +5 -3
  206. package/src/common-logic/history/listOperations.ts +3 -2
  207. package/src/common-logic/transaction/broadcast.test.ts +8 -3
  208. package/src/common-logic/transaction/broadcast.ts +6 -3
  209. package/src/common-logic/transaction/craftTransaction.ts +22 -5
  210. package/src/common-logic/transaction/estimateFees.ts +7 -3
  211. package/src/config.ts +1 -0
  212. package/src/network/gateway.integ.test.ts +31 -12
  213. package/src/network/gateway.ts +78 -53
  214. package/src/signer/getAddress.ts +6 -4
  215. package/src/types/bridge.ts +21 -0
  216. package/src/types/onboard.ts +3 -0
  217. package/src/types/signer.ts +2 -1
@@ -1 +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"}
1
+ {"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../src/types/onboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,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;IAChB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3B,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"}
@@ -1 +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"}
1
+ {"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../src/types/onboard.ts"],"names":[],"mappings":"AAEA,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"}
@@ -1,10 +1,11 @@
1
1
  export type CantonAddress = {
2
2
  publicKey: string;
3
3
  address: string;
4
+ path: string;
4
5
  };
5
6
  export type CantonSignature = string;
6
7
  export interface CantonSigner {
7
- getAddress(path: string): Promise<CantonAddress>;
8
+ getAddress(path: string, display?: boolean): Promise<CantonAddress>;
8
9
  signTransaction(path: string, rawTx: string): Promise<CantonSignature>;
9
10
  }
10
11
  //# sourceMappingURL=signer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/types/signer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACxE"}
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/types/signer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACpE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACxE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-canton",
3
- "version": "0.5.0-nightly.3",
3
+ "version": "0.5.0-nightly.5",
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.3",
105
- "@ledgerhq/cryptoassets": "^13.28.0-nightly.2",
104
+ "@ledgerhq/coin-framework": "^6.4.0-nightly.5",
105
+ "@ledgerhq/cryptoassets": "^13.28.0-nightly.3",
106
106
  "@ledgerhq/devices": "8.5.1",
107
107
  "@ledgerhq/errors": "^6.25.0",
108
108
  "@ledgerhq/live-env": "^2.16.0-nightly.1",
109
109
  "@ledgerhq/live-network": "^2.0.17-nightly.1",
110
- "@ledgerhq/types-live": "^6.83.1-nightly.0"
110
+ "@ledgerhq/types-live": "^6.84.0-nightly.1"
111
111
  },
112
112
  "devDependencies": {
113
113
  "@types/invariant": "^2.2.37",
@@ -3,7 +3,7 @@ import { createApi } from ".";
3
3
 
4
4
  let api: AlpacaApi;
5
5
 
6
- describe("devnet", () => {
6
+ describe.skip("devnet", () => {
7
7
  beforeAll(() => {
8
8
  api = createApi({
9
9
  nodeUrl: "https://wallet-validator-devnet-canton.ledger-test.com/v2",
@@ -19,9 +19,13 @@ describe("devnet", () => {
19
19
  const balance = await api.getBalance(
20
20
  "party-4f2e1485107adf5f::122027c6dbbbdbffe0fa3122ae05175f3b9328e879e9ce96b670354deb64a45683c1",
21
21
  );
22
- expect(balance.length).toBeGreaterThanOrEqual(1);
23
- const nativeBalance = balance.find(b => b.asset.type === "native");
24
- expect(nativeBalance?.value).toBeGreaterThanOrEqual(0);
22
+ expect(balance.length).toBeGreaterThanOrEqual(0);
23
+ if (balance.length > 0) {
24
+ const nativeBalance = balance.find(b => b.asset.type === "native");
25
+ if (nativeBalance) {
26
+ expect(nativeBalance.value).toBeGreaterThanOrEqual(BigInt(0));
27
+ }
28
+ }
25
29
  });
26
30
  });
27
31
  });
package/src/api/index.ts CHANGED
@@ -8,31 +8,36 @@ import {
8
8
  Reward,
9
9
  Stake,
10
10
  TransactionIntent,
11
- CraftedTransaction,
11
+ Operation,
12
+ Balance,
13
+ Pagination,
12
14
  } from "@ledgerhq/coin-framework/api/index";
13
15
  import coinConfig, { type CantonConfig } from "../config";
14
- import {
15
- broadcast,
16
- combine,
17
- craftTransaction,
18
- estimateFees,
19
- getBalance,
20
- lastBlock,
21
- listOperations,
22
- } from "../common-logic";
23
- import BigNumber from "bignumber.js";
16
+ import { combine } from "../common-logic/transaction/combine";
24
17
 
25
18
  export function createApi(config: CantonConfig): AlpacaApi {
26
19
  coinConfig.setCoinConfig(() => ({ ...config, status: { type: "active" } }));
27
20
 
28
21
  return {
29
- broadcast,
22
+ broadcast: (_tx: string): Promise<string> => {
23
+ throw new Error("broadcast is not supported");
24
+ },
30
25
  combine,
31
- craftTransaction: craft(config.nativeInstrumentId ?? ""),
32
- estimateFees: estimate(config.nativeInstrumentId ?? ""),
33
- getBalance,
34
- lastBlock,
35
- listOperations,
26
+ craftTransaction(_transactionIntent: TransactionIntent, _customFees?: FeeEstimation) {
27
+ throw new Error("craftTransaction is not supported");
28
+ },
29
+ estimateFees(_transactionIntent: TransactionIntent): Promise<FeeEstimation> {
30
+ throw new Error("estimateFees is not supported");
31
+ },
32
+ getBalance(_address: string): Promise<Balance[]> {
33
+ throw new Error("getBalance is not supported");
34
+ },
35
+ lastBlock(): Promise<BlockInfo> {
36
+ throw new Error("listOperations is not supported");
37
+ },
38
+ listOperations(_address: string, _pagination: Pagination): Promise<[Operation[], string]> {
39
+ throw new Error("listOperations is not supported");
40
+ },
36
41
  getBlock(_height): Promise<Block> {
37
42
  throw new Error("getBlock is not supported");
38
43
  },
@@ -47,37 +52,3 @@ export function createApi(config: CantonConfig): AlpacaApi {
47
52
  },
48
53
  };
49
54
  }
50
-
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
-
64
- return { transaction: tx.serializedTransaction };
65
- };
66
-
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
- );
79
-
80
- const value = await estimateFees(serializedTransaction);
81
-
82
- return { value };
83
- };
@@ -20,7 +20,7 @@ describe.skip("localnet", () => {
20
20
  });
21
21
  });
22
22
 
23
- describe("devnet", () => {
23
+ describe.skip("devnet", () => {
24
24
  beforeAll(() => {
25
25
  api = createApi({
26
26
  nodeUrl: "https://wallet-validator-devnet-canton.ledger-test.com/v2",
@@ -3,7 +3,7 @@ import { createApi } from ".";
3
3
 
4
4
  let api: AlpacaApi;
5
5
 
6
- describe("devnet", () => {
6
+ describe.skip("devnet", () => {
7
7
  beforeAll(() => {
8
8
  api = createApi({
9
9
  nodeUrl: "https://wallet-validator-devnet-canton.ledger-test.com/v2",
@@ -4,6 +4,11 @@ jest.mock("@ledgerhq/coin-framework/operation");
4
4
  jest.mock("../common-logic");
5
5
  import { patchOperationWithHash } from "@ledgerhq/coin-framework/operation";
6
6
  import { broadcast as broadcastLogic } from "../common-logic";
7
+ import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
8
+
9
+ const mockCurrency = {
10
+ id: "canton_network",
11
+ } as unknown as CryptoCurrency;
7
12
 
8
13
  describe("broadcast", () => {
9
14
  let patchOperationSpy: jest.SpyInstance;
@@ -16,6 +21,9 @@ describe("broadcast", () => {
16
21
 
17
22
  it("should broadcast", () => {
18
23
  broadcast({
24
+ account: {
25
+ currency: mockCurrency,
26
+ },
19
27
  signedOperation: {
20
28
  signature: undefined,
21
29
  operation: undefined,
@@ -26,6 +34,9 @@ describe("broadcast", () => {
26
34
 
27
35
  it("should patch operation with hash", () => {
28
36
  broadcast({
37
+ account: {
38
+ currency: mockCurrency,
39
+ },
29
40
  signedOperation: {
30
41
  signature: undefined,
31
42
  operation: undefined,
@@ -3,8 +3,11 @@ 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 ({ signedOperation }) => {
6
+ export const broadcast: AccountBridge<Transaction>["broadcast"] = async ({
7
+ account,
8
+ signedOperation,
9
+ }) => {
7
10
  const { operation, signature } = signedOperation;
8
- const hash = await broadcastLogic(signature);
11
+ const hash = await broadcastLogic(account.currency, signature);
9
12
  return patchOperationWithHash(operation, hash);
10
13
  };
@@ -8,7 +8,7 @@ export const createTransaction: AccountBridge<Transaction>["createTransaction"]
8
8
  amount: new BigNumber(0),
9
9
  recipient: "",
10
10
  fee: null,
11
- memo: undefined,
11
+ memo: "",
12
12
  networkInfo: null,
13
13
  feeCustomUnit: null,
14
14
  });
@@ -25,7 +25,7 @@ export const getTransactionStatus: AccountBridge<
25
25
  const warnings: Record<string, Error> = {};
26
26
 
27
27
  // reserveAmount is the minimum amount of currency that an account must hold in order to stay activated
28
- const reserveAmount = new BigNumber(coinConfig.getCoinConfig().minReserve || 0);
28
+ const reserveAmount = new BigNumber(coinConfig.getCoinConfig(account.currency).minReserve || 0);
29
29
  const estimatedFees = new BigNumber(transaction.fee || 0);
30
30
  const totalSpent = new BigNumber(transaction.amount).plus(estimatedFees);
31
31
  const amount = new BigNumber(transaction.amount);
@@ -21,6 +21,7 @@ import { buildSignOperation } from "./signOperation";
21
21
  import { getAccountShape } from "./sync";
22
22
  import { updateTransaction } from "./updateTransaction";
23
23
  import { buildOnboardAccount, buildAuthorizePreapproval } from "./onboard";
24
+ import { assignFromAccountRaw, assignToAccountRaw } from "./serialization";
24
25
 
25
26
  export function createBridges(
26
27
  signerContext: SignerContext<CantonSigner>,
@@ -62,6 +63,8 @@ export function createBridges(
62
63
  sync,
63
64
  receive,
64
65
  signOperation,
66
+ assignToAccountRaw,
67
+ assignFromAccountRaw,
65
68
  getSerializedAddressParameters,
66
69
  };
67
70
 
@@ -10,10 +10,14 @@ import {
10
10
  CantonPreApprovalResult,
11
11
  } from "../types/onboard";
12
12
  import coinConfig from "../config";
13
+ import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
13
14
 
14
15
  describe("onboard (devnet)", () => {
15
16
  const mockDeviceId = "test-device-id";
16
17
  const mockDerivationPath = "44'/6767'/0'/0'/0'";
18
+ const mockCurrency = {
19
+ id: "canton_network",
20
+ } as unknown as CryptoCurrency;
17
21
 
18
22
  let onboardedAccount: {
19
23
  keyPair: ReturnType<typeof generateMockKeyPair>;
@@ -53,7 +57,7 @@ describe("onboard (devnet)", () => {
53
57
 
54
58
  const onboardObservable = buildOnboardAccount(mockSignerContext);
55
59
  const onboardValues = await firstValueFrom(
56
- onboardObservable(mockDeviceId, mockDerivationPath).pipe(toArray()),
60
+ onboardObservable(mockCurrency, mockDeviceId, mockDerivationPath).pipe(toArray()),
57
61
  );
58
62
  const onboardResult = onboardValues.find(
59
63
  (value): value is CantonOnboardResult => "partyId" in value,
@@ -72,7 +76,7 @@ describe("onboard (devnet)", () => {
72
76
  };
73
77
 
74
78
  // WHEN
75
- const result = await isAccountOnboarded(keyPair.publicKeyHex);
79
+ const result = await isAccountOnboarded(mockCurrency, keyPair.publicKeyHex);
76
80
 
77
81
  // THEN
78
82
  expect(result).not.toBe(false);
@@ -87,10 +91,10 @@ describe("onboard (devnet)", () => {
87
91
  const keyPair = generateMockKeyPair();
88
92
 
89
93
  // WHEN
90
- const result = await isAccountOnboarded(keyPair.publicKeyHex);
94
+ const result = await isAccountOnboarded(mockCurrency, keyPair.publicKeyHex);
91
95
 
92
96
  // THEN
93
- expect(result).toBe(false);
97
+ expect(result).toEqual({ isOnboarded: false });
94
98
  }, 15000);
95
99
 
96
100
  it("should handle errors gracefully when checking non-existent party", async () => {
@@ -98,10 +102,10 @@ describe("onboard (devnet)", () => {
98
102
  const keyPair = generateMockKeyPair();
99
103
 
100
104
  // WHEN
101
- const result = await isAccountOnboarded(keyPair.publicKeyHex);
105
+ const result = await isAccountOnboarded(mockCurrency, keyPair.publicKeyHex);
102
106
 
103
107
  // THEN
104
- expect(result).toBe(false);
108
+ expect(result).toEqual({ isOnboarded: false });
105
109
  }, 15000);
106
110
  });
107
111
 
@@ -117,7 +121,7 @@ describe("onboard (devnet)", () => {
117
121
 
118
122
  // WHEN
119
123
  const allValues = await firstValueFrom(
120
- onboardObservable(mockDeviceId, mockDerivationPath).pipe(toArray()),
124
+ onboardObservable(mockCurrency, mockDeviceId, mockDerivationPath).pipe(toArray()),
121
125
  );
122
126
  const progressValues = allValues.filter(
123
127
  (value): value is CantonOnboardProgress => "status" in value && !("partyId" in value),
@@ -149,7 +153,7 @@ describe("onboard (devnet)", () => {
149
153
 
150
154
  // WHEN
151
155
  const secondOnboardValues = await firstValueFrom(
152
- secondOnboardObservable(mockDeviceId, mockDerivationPath).pipe(toArray()),
156
+ secondOnboardObservable(mockCurrency, mockDeviceId, mockDerivationPath).pipe(toArray()),
153
157
  );
154
158
  const secondResult = secondOnboardValues.find(
155
159
  (value): value is CantonOnboardResult => "partyId" in value,
@@ -170,9 +174,12 @@ describe("onboard (devnet)", () => {
170
174
 
171
175
  // WHEN
172
176
  const preapprovalValues = await firstValueFrom(
173
- preapprovalObservable(mockDeviceId, mockDerivationPath, onboardResult.partyId).pipe(
174
- toArray(),
175
- ),
177
+ preapprovalObservable(
178
+ mockCurrency,
179
+ mockDeviceId,
180
+ mockDerivationPath,
181
+ onboardResult.partyId,
182
+ ).pipe(toArray()),
176
183
  );
177
184
 
178
185
  const progressValues = preapprovalValues.filter(
@@ -208,7 +215,12 @@ describe("onboard (devnet)", () => {
208
215
  // WHEN & THEN
209
216
  try {
210
217
  await firstValueFrom(
211
- preapprovalObservable(mockDeviceId, mockDerivationPath, "invalid-party-id-123"),
218
+ preapprovalObservable(
219
+ mockCurrency,
220
+ mockDeviceId,
221
+ mockDerivationPath,
222
+ "invalid-party-id-123",
223
+ ),
212
224
  );
213
225
  expect(true).toBe(true);
214
226
  } catch (error) {