cantonjs 0.0.1

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 (374) hide show
  1. package/LICENSE +201 -0
  2. package/dist/cjs/admin/index.d.ts +5 -0
  3. package/dist/cjs/admin/index.d.ts.map +1 -0
  4. package/dist/cjs/admin/index.js +6 -0
  5. package/dist/cjs/admin/index.js.map +1 -0
  6. package/dist/cjs/chains/definitions.d.ts +20 -0
  7. package/dist/cjs/chains/definitions.d.ts.map +1 -0
  8. package/dist/cjs/chains/definitions.js +33 -0
  9. package/dist/cjs/chains/definitions.js.map +1 -0
  10. package/dist/cjs/chains/index.d.ts +2 -0
  11. package/dist/cjs/chains/index.d.ts.map +1 -0
  12. package/dist/cjs/chains/index.js +9 -0
  13. package/dist/cjs/chains/index.js.map +1 -0
  14. package/dist/cjs/clients/createAdminClient.d.ts +73 -0
  15. package/dist/cjs/clients/createAdminClient.d.ts.map +1 -0
  16. package/dist/cjs/clients/createAdminClient.js +205 -0
  17. package/dist/cjs/clients/createAdminClient.js.map +1 -0
  18. package/dist/cjs/clients/createLedgerClient.d.ts +83 -0
  19. package/dist/cjs/clients/createLedgerClient.d.ts.map +1 -0
  20. package/dist/cjs/clients/createLedgerClient.js +240 -0
  21. package/dist/cjs/clients/createLedgerClient.js.map +1 -0
  22. package/dist/cjs/clients/createTestClient.d.ts +27 -0
  23. package/dist/cjs/clients/createTestClient.d.ts.map +1 -0
  24. package/dist/cjs/clients/createTestClient.js +46 -0
  25. package/dist/cjs/clients/createTestClient.js.map +1 -0
  26. package/dist/cjs/clients/index.d.ts +4 -0
  27. package/dist/cjs/clients/index.d.ts.map +1 -0
  28. package/dist/cjs/clients/index.js +10 -0
  29. package/dist/cjs/clients/index.js.map +1 -0
  30. package/dist/cjs/codegen/index.d.ts +2 -0
  31. package/dist/cjs/codegen/index.d.ts.map +1 -0
  32. package/dist/cjs/codegen/index.js +3 -0
  33. package/dist/cjs/codegen/index.js.map +1 -0
  34. package/dist/cjs/codegen/types.d.ts +38 -0
  35. package/dist/cjs/codegen/types.d.ts.map +1 -0
  36. package/dist/cjs/codegen/types.js +9 -0
  37. package/dist/cjs/codegen/types.js.map +1 -0
  38. package/dist/cjs/errors/auth.d.ts +13 -0
  39. package/dist/cjs/errors/auth.d.ts.map +1 -0
  40. package/dist/cjs/errors/auth.js +36 -0
  41. package/dist/cjs/errors/auth.js.map +1 -0
  42. package/dist/cjs/errors/base.d.ts +35 -0
  43. package/dist/cjs/errors/base.d.ts.map +1 -0
  44. package/dist/cjs/errors/base.js +71 -0
  45. package/dist/cjs/errors/base.js.map +1 -0
  46. package/dist/cjs/errors/index.d.ts +6 -0
  47. package/dist/cjs/errors/index.d.ts.map +1 -0
  48. package/dist/cjs/errors/index.js +22 -0
  49. package/dist/cjs/errors/index.js.map +1 -0
  50. package/dist/cjs/errors/ledger.d.ts +22 -0
  51. package/dist/cjs/errors/ledger.d.ts.map +1 -0
  52. package/dist/cjs/errors/ledger.js +55 -0
  53. package/dist/cjs/errors/ledger.js.map +1 -0
  54. package/dist/cjs/errors/streaming.d.ts +20 -0
  55. package/dist/cjs/errors/streaming.d.ts.map +1 -0
  56. package/dist/cjs/errors/streaming.js +54 -0
  57. package/dist/cjs/errors/streaming.js.map +1 -0
  58. package/dist/cjs/errors/transport.d.ts +31 -0
  59. package/dist/cjs/errors/transport.d.ts.map +1 -0
  60. package/dist/cjs/errors/transport.js +63 -0
  61. package/dist/cjs/errors/transport.js.map +1 -0
  62. package/dist/cjs/index.d.ts +25 -0
  63. package/dist/cjs/index.d.ts.map +1 -0
  64. package/dist/cjs/index.js +48 -0
  65. package/dist/cjs/index.js.map +1 -0
  66. package/dist/cjs/ledger/index.d.ts +5 -0
  67. package/dist/cjs/ledger/index.d.ts.map +1 -0
  68. package/dist/cjs/ledger/index.js +6 -0
  69. package/dist/cjs/ledger/index.js.map +1 -0
  70. package/dist/cjs/package.json +1 -0
  71. package/dist/cjs/streaming/createStream.d.ts +55 -0
  72. package/dist/cjs/streaming/createStream.d.ts.map +1 -0
  73. package/dist/cjs/streaming/createStream.js +270 -0
  74. package/dist/cjs/streaming/createStream.js.map +1 -0
  75. package/dist/cjs/streaming/index.d.ts +8 -0
  76. package/dist/cjs/streaming/index.d.ts.map +1 -0
  77. package/dist/cjs/streaming/index.js +16 -0
  78. package/dist/cjs/streaming/index.js.map +1 -0
  79. package/dist/cjs/streaming/streamCompletions.d.ts +25 -0
  80. package/dist/cjs/streaming/streamCompletions.d.ts.map +1 -0
  81. package/dist/cjs/streaming/streamCompletions.js +47 -0
  82. package/dist/cjs/streaming/streamCompletions.js.map +1 -0
  83. package/dist/cjs/streaming/streamContracts.d.ts +42 -0
  84. package/dist/cjs/streaming/streamContracts.d.ts.map +1 -0
  85. package/dist/cjs/streaming/streamContracts.js +56 -0
  86. package/dist/cjs/streaming/streamContracts.js.map +1 -0
  87. package/dist/cjs/streaming/streamUpdates.d.ts +38 -0
  88. package/dist/cjs/streaming/streamUpdates.d.ts.map +1 -0
  89. package/dist/cjs/streaming/streamUpdates.js +66 -0
  90. package/dist/cjs/streaming/streamUpdates.js.map +1 -0
  91. package/dist/cjs/streaming/types.d.ts +111 -0
  92. package/dist/cjs/streaming/types.d.ts.map +1 -0
  93. package/dist/cjs/streaming/types.js +20 -0
  94. package/dist/cjs/streaming/types.js.map +1 -0
  95. package/dist/cjs/testing/index.d.ts +4 -0
  96. package/dist/cjs/testing/index.d.ts.map +1 -0
  97. package/dist/cjs/testing/index.js +11 -0
  98. package/dist/cjs/testing/index.js.map +1 -0
  99. package/dist/cjs/testing/mockTransport.d.ts +80 -0
  100. package/dist/cjs/testing/mockTransport.d.ts.map +1 -0
  101. package/dist/cjs/testing/mockTransport.js +97 -0
  102. package/dist/cjs/testing/mockTransport.js.map +1 -0
  103. package/dist/cjs/testing/setupSandbox.d.ts +62 -0
  104. package/dist/cjs/testing/setupSandbox.d.ts.map +1 -0
  105. package/dist/cjs/testing/setupSandbox.js +109 -0
  106. package/dist/cjs/testing/setupSandbox.js.map +1 -0
  107. package/dist/cjs/transport/fallback.d.ts +21 -0
  108. package/dist/cjs/transport/fallback.d.ts.map +1 -0
  109. package/dist/cjs/transport/fallback.js +48 -0
  110. package/dist/cjs/transport/fallback.js.map +1 -0
  111. package/dist/cjs/transport/grpc.d.ts +51 -0
  112. package/dist/cjs/transport/grpc.d.ts.map +1 -0
  113. package/dist/cjs/transport/grpc.js +90 -0
  114. package/dist/cjs/transport/grpc.js.map +1 -0
  115. package/dist/cjs/transport/index.d.ts +3 -0
  116. package/dist/cjs/transport/index.d.ts.map +1 -0
  117. package/dist/cjs/transport/index.js +6 -0
  118. package/dist/cjs/transport/index.js.map +1 -0
  119. package/dist/cjs/transport/json-api.d.ts +9 -0
  120. package/dist/cjs/transport/json-api.d.ts.map +1 -0
  121. package/dist/cjs/transport/json-api.js +69 -0
  122. package/dist/cjs/transport/json-api.js.map +1 -0
  123. package/dist/cjs/transport/types.d.ts +36 -0
  124. package/dist/cjs/transport/types.d.ts.map +1 -0
  125. package/dist/cjs/transport/types.js +10 -0
  126. package/dist/cjs/transport/types.js.map +1 -0
  127. package/dist/cjs/types/command.d.ts +127 -0
  128. package/dist/cjs/types/command.d.ts.map +1 -0
  129. package/dist/cjs/types/command.js +12 -0
  130. package/dist/cjs/types/command.js.map +1 -0
  131. package/dist/cjs/types/contract.d.ts +104 -0
  132. package/dist/cjs/types/contract.d.ts.map +1 -0
  133. package/dist/cjs/types/contract.js +12 -0
  134. package/dist/cjs/types/contract.js.map +1 -0
  135. package/dist/cjs/types/idp.d.ts +28 -0
  136. package/dist/cjs/types/idp.d.ts.map +1 -0
  137. package/dist/cjs/types/idp.js +9 -0
  138. package/dist/cjs/types/idp.js.map +1 -0
  139. package/dist/cjs/types/index.d.ts +10 -0
  140. package/dist/cjs/types/index.d.ts.map +1 -0
  141. package/dist/cjs/types/index.js +3 -0
  142. package/dist/cjs/types/index.js.map +1 -0
  143. package/dist/cjs/types/interactive.d.ts +47 -0
  144. package/dist/cjs/types/interactive.d.ts.map +1 -0
  145. package/dist/cjs/types/interactive.js +13 -0
  146. package/dist/cjs/types/interactive.js.map +1 -0
  147. package/dist/cjs/types/package.d.ts +15 -0
  148. package/dist/cjs/types/package.d.ts.map +1 -0
  149. package/dist/cjs/types/package.js +8 -0
  150. package/dist/cjs/types/package.js.map +1 -0
  151. package/dist/cjs/types/party.d.ts +32 -0
  152. package/dist/cjs/types/party.d.ts.map +1 -0
  153. package/dist/cjs/types/party.js +10 -0
  154. package/dist/cjs/types/party.js.map +1 -0
  155. package/dist/cjs/types/reassignment.d.ts +65 -0
  156. package/dist/cjs/types/reassignment.d.ts.map +1 -0
  157. package/dist/cjs/types/reassignment.js +10 -0
  158. package/dist/cjs/types/reassignment.js.map +1 -0
  159. package/dist/cjs/types/transaction.d.ts +59 -0
  160. package/dist/cjs/types/transaction.d.ts.map +1 -0
  161. package/dist/cjs/types/transaction.js +13 -0
  162. package/dist/cjs/types/transaction.js.map +1 -0
  163. package/dist/cjs/types/user.d.ts +64 -0
  164. package/dist/cjs/types/user.d.ts.map +1 -0
  165. package/dist/cjs/types/user.js +12 -0
  166. package/dist/cjs/types/user.js.map +1 -0
  167. package/dist/esm/admin/index.d.ts +5 -0
  168. package/dist/esm/admin/index.d.ts.map +1 -0
  169. package/dist/esm/admin/index.js +2 -0
  170. package/dist/esm/admin/index.js.map +1 -0
  171. package/dist/esm/chains/definitions.d.ts +20 -0
  172. package/dist/esm/chains/definitions.d.ts.map +1 -0
  173. package/dist/esm/chains/definitions.js +30 -0
  174. package/dist/esm/chains/definitions.js.map +1 -0
  175. package/dist/esm/chains/index.d.ts +2 -0
  176. package/dist/esm/chains/index.d.ts.map +1 -0
  177. package/dist/esm/chains/index.js +2 -0
  178. package/dist/esm/chains/index.js.map +1 -0
  179. package/dist/esm/clients/createAdminClient.d.ts +73 -0
  180. package/dist/esm/clients/createAdminClient.d.ts.map +1 -0
  181. package/dist/esm/clients/createAdminClient.js +202 -0
  182. package/dist/esm/clients/createAdminClient.js.map +1 -0
  183. package/dist/esm/clients/createLedgerClient.d.ts +83 -0
  184. package/dist/esm/clients/createLedgerClient.d.ts.map +1 -0
  185. package/dist/esm/clients/createLedgerClient.js +237 -0
  186. package/dist/esm/clients/createLedgerClient.js.map +1 -0
  187. package/dist/esm/clients/createTestClient.d.ts +27 -0
  188. package/dist/esm/clients/createTestClient.d.ts.map +1 -0
  189. package/dist/esm/clients/createTestClient.js +43 -0
  190. package/dist/esm/clients/createTestClient.js.map +1 -0
  191. package/dist/esm/clients/index.d.ts +4 -0
  192. package/dist/esm/clients/index.d.ts.map +1 -0
  193. package/dist/esm/clients/index.js +4 -0
  194. package/dist/esm/clients/index.js.map +1 -0
  195. package/dist/esm/codegen/index.d.ts +2 -0
  196. package/dist/esm/codegen/index.d.ts.map +1 -0
  197. package/dist/esm/codegen/index.js +2 -0
  198. package/dist/esm/codegen/index.js.map +1 -0
  199. package/dist/esm/codegen/types.d.ts +38 -0
  200. package/dist/esm/codegen/types.d.ts.map +1 -0
  201. package/dist/esm/codegen/types.js +8 -0
  202. package/dist/esm/codegen/types.js.map +1 -0
  203. package/dist/esm/errors/auth.d.ts +13 -0
  204. package/dist/esm/errors/auth.d.ts.map +1 -0
  205. package/dist/esm/errors/auth.js +31 -0
  206. package/dist/esm/errors/auth.js.map +1 -0
  207. package/dist/esm/errors/base.d.ts +35 -0
  208. package/dist/esm/errors/base.d.ts.map +1 -0
  209. package/dist/esm/errors/base.js +67 -0
  210. package/dist/esm/errors/base.js.map +1 -0
  211. package/dist/esm/errors/index.d.ts +6 -0
  212. package/dist/esm/errors/index.d.ts.map +1 -0
  213. package/dist/esm/errors/index.js +6 -0
  214. package/dist/esm/errors/index.js.map +1 -0
  215. package/dist/esm/errors/ledger.d.ts +22 -0
  216. package/dist/esm/errors/ledger.d.ts.map +1 -0
  217. package/dist/esm/errors/ledger.js +49 -0
  218. package/dist/esm/errors/ledger.js.map +1 -0
  219. package/dist/esm/errors/streaming.d.ts +20 -0
  220. package/dist/esm/errors/streaming.d.ts.map +1 -0
  221. package/dist/esm/errors/streaming.js +48 -0
  222. package/dist/esm/errors/streaming.js.map +1 -0
  223. package/dist/esm/errors/transport.d.ts +31 -0
  224. package/dist/esm/errors/transport.d.ts.map +1 -0
  225. package/dist/esm/errors/transport.js +56 -0
  226. package/dist/esm/errors/transport.js.map +1 -0
  227. package/dist/esm/index.d.ts +25 -0
  228. package/dist/esm/index.d.ts.map +1 -0
  229. package/dist/esm/index.js +18 -0
  230. package/dist/esm/index.js.map +1 -0
  231. package/dist/esm/ledger/index.d.ts +5 -0
  232. package/dist/esm/ledger/index.d.ts.map +1 -0
  233. package/dist/esm/ledger/index.js +2 -0
  234. package/dist/esm/ledger/index.js.map +1 -0
  235. package/dist/esm/streaming/createStream.d.ts +55 -0
  236. package/dist/esm/streaming/createStream.d.ts.map +1 -0
  237. package/dist/esm/streaming/createStream.js +265 -0
  238. package/dist/esm/streaming/createStream.js.map +1 -0
  239. package/dist/esm/streaming/index.d.ts +8 -0
  240. package/dist/esm/streaming/index.d.ts.map +1 -0
  241. package/dist/esm/streaming/index.js +6 -0
  242. package/dist/esm/streaming/index.js.map +1 -0
  243. package/dist/esm/streaming/streamCompletions.d.ts +25 -0
  244. package/dist/esm/streaming/streamCompletions.d.ts.map +1 -0
  245. package/dist/esm/streaming/streamCompletions.js +44 -0
  246. package/dist/esm/streaming/streamCompletions.js.map +1 -0
  247. package/dist/esm/streaming/streamContracts.d.ts +42 -0
  248. package/dist/esm/streaming/streamContracts.d.ts.map +1 -0
  249. package/dist/esm/streaming/streamContracts.js +53 -0
  250. package/dist/esm/streaming/streamContracts.js.map +1 -0
  251. package/dist/esm/streaming/streamUpdates.d.ts +38 -0
  252. package/dist/esm/streaming/streamUpdates.d.ts.map +1 -0
  253. package/dist/esm/streaming/streamUpdates.js +63 -0
  254. package/dist/esm/streaming/streamUpdates.js.map +1 -0
  255. package/dist/esm/streaming/types.d.ts +111 -0
  256. package/dist/esm/streaming/types.d.ts.map +1 -0
  257. package/dist/esm/streaming/types.js +17 -0
  258. package/dist/esm/streaming/types.js.map +1 -0
  259. package/dist/esm/testing/index.d.ts +4 -0
  260. package/dist/esm/testing/index.d.ts.map +1 -0
  261. package/dist/esm/testing/index.js +4 -0
  262. package/dist/esm/testing/index.js.map +1 -0
  263. package/dist/esm/testing/mockTransport.d.ts +80 -0
  264. package/dist/esm/testing/mockTransport.d.ts.map +1 -0
  265. package/dist/esm/testing/mockTransport.js +93 -0
  266. package/dist/esm/testing/mockTransport.js.map +1 -0
  267. package/dist/esm/testing/setupSandbox.d.ts +62 -0
  268. package/dist/esm/testing/setupSandbox.d.ts.map +1 -0
  269. package/dist/esm/testing/setupSandbox.js +106 -0
  270. package/dist/esm/testing/setupSandbox.js.map +1 -0
  271. package/dist/esm/transport/fallback.d.ts +21 -0
  272. package/dist/esm/transport/fallback.d.ts.map +1 -0
  273. package/dist/esm/transport/fallback.js +45 -0
  274. package/dist/esm/transport/fallback.js.map +1 -0
  275. package/dist/esm/transport/grpc.d.ts +51 -0
  276. package/dist/esm/transport/grpc.d.ts.map +1 -0
  277. package/dist/esm/transport/grpc.js +87 -0
  278. package/dist/esm/transport/grpc.js.map +1 -0
  279. package/dist/esm/transport/index.d.ts +3 -0
  280. package/dist/esm/transport/index.d.ts.map +1 -0
  281. package/dist/esm/transport/index.js +2 -0
  282. package/dist/esm/transport/index.js.map +1 -0
  283. package/dist/esm/transport/json-api.d.ts +9 -0
  284. package/dist/esm/transport/json-api.d.ts.map +1 -0
  285. package/dist/esm/transport/json-api.js +66 -0
  286. package/dist/esm/transport/json-api.js.map +1 -0
  287. package/dist/esm/transport/types.d.ts +36 -0
  288. package/dist/esm/transport/types.d.ts.map +1 -0
  289. package/dist/esm/transport/types.js +9 -0
  290. package/dist/esm/transport/types.js.map +1 -0
  291. package/dist/esm/types/command.d.ts +127 -0
  292. package/dist/esm/types/command.d.ts.map +1 -0
  293. package/dist/esm/types/command.js +11 -0
  294. package/dist/esm/types/command.js.map +1 -0
  295. package/dist/esm/types/contract.d.ts +104 -0
  296. package/dist/esm/types/contract.d.ts.map +1 -0
  297. package/dist/esm/types/contract.js +11 -0
  298. package/dist/esm/types/contract.js.map +1 -0
  299. package/dist/esm/types/idp.d.ts +28 -0
  300. package/dist/esm/types/idp.d.ts.map +1 -0
  301. package/dist/esm/types/idp.js +8 -0
  302. package/dist/esm/types/idp.js.map +1 -0
  303. package/dist/esm/types/index.d.ts +10 -0
  304. package/dist/esm/types/index.d.ts.map +1 -0
  305. package/dist/esm/types/index.js +2 -0
  306. package/dist/esm/types/index.js.map +1 -0
  307. package/dist/esm/types/interactive.d.ts +47 -0
  308. package/dist/esm/types/interactive.d.ts.map +1 -0
  309. package/dist/esm/types/interactive.js +12 -0
  310. package/dist/esm/types/interactive.js.map +1 -0
  311. package/dist/esm/types/package.d.ts +15 -0
  312. package/dist/esm/types/package.d.ts.map +1 -0
  313. package/dist/esm/types/package.js +7 -0
  314. package/dist/esm/types/package.js.map +1 -0
  315. package/dist/esm/types/party.d.ts +32 -0
  316. package/dist/esm/types/party.d.ts.map +1 -0
  317. package/dist/esm/types/party.js +9 -0
  318. package/dist/esm/types/party.js.map +1 -0
  319. package/dist/esm/types/reassignment.d.ts +65 -0
  320. package/dist/esm/types/reassignment.d.ts.map +1 -0
  321. package/dist/esm/types/reassignment.js +9 -0
  322. package/dist/esm/types/reassignment.js.map +1 -0
  323. package/dist/esm/types/transaction.d.ts +59 -0
  324. package/dist/esm/types/transaction.d.ts.map +1 -0
  325. package/dist/esm/types/transaction.js +12 -0
  326. package/dist/esm/types/transaction.js.map +1 -0
  327. package/dist/esm/types/user.d.ts +64 -0
  328. package/dist/esm/types/user.d.ts.map +1 -0
  329. package/dist/esm/types/user.js +11 -0
  330. package/dist/esm/types/user.js.map +1 -0
  331. package/dist/tsconfig.build.tsbuildinfo +1 -0
  332. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  333. package/package.json +140 -0
  334. package/src/admin/index.ts +9 -0
  335. package/src/chains/definitions.ts +43 -0
  336. package/src/chains/index.ts +1 -0
  337. package/src/clients/createAdminClient.ts +336 -0
  338. package/src/clients/createLedgerClient.ts +383 -0
  339. package/src/clients/createTestClient.ts +77 -0
  340. package/src/clients/index.ts +19 -0
  341. package/src/codegen/index.ts +6 -0
  342. package/src/codegen/types.ts +51 -0
  343. package/src/errors/auth.ts +33 -0
  344. package/src/errors/base.ts +83 -0
  345. package/src/errors/index.ts +5 -0
  346. package/src/errors/ledger.ts +53 -0
  347. package/src/errors/streaming.ts +51 -0
  348. package/src/errors/transport.ts +65 -0
  349. package/src/index.ts +122 -0
  350. package/src/ledger/index.ts +33 -0
  351. package/src/streaming/createStream.ts +321 -0
  352. package/src/streaming/index.ts +19 -0
  353. package/src/streaming/streamCompletions.ts +49 -0
  354. package/src/streaming/streamContracts.ts +64 -0
  355. package/src/streaming/streamUpdates.ts +67 -0
  356. package/src/streaming/types.ts +117 -0
  357. package/src/testing/index.ts +18 -0
  358. package/src/testing/mockTransport.ts +132 -0
  359. package/src/testing/setupSandbox.ts +163 -0
  360. package/src/transport/fallback.ts +57 -0
  361. package/src/transport/grpc.ts +130 -0
  362. package/src/transport/index.ts +2 -0
  363. package/src/transport/json-api.ts +83 -0
  364. package/src/transport/types.ts +39 -0
  365. package/src/types/command.ts +123 -0
  366. package/src/types/contract.ts +101 -0
  367. package/src/types/idp.ts +31 -0
  368. package/src/types/index.ts +66 -0
  369. package/src/types/interactive.ts +53 -0
  370. package/src/types/package.ts +16 -0
  371. package/src/types/party.ts +33 -0
  372. package/src/types/reassignment.ts +68 -0
  373. package/src/types/transaction.ts +57 -0
  374. package/src/types/user.ts +41 -0
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Factory for creating a party-scoped Ledger API client.
3
+ *
4
+ * The LedgerClient provides contract operations: create, exercise, query.
5
+ * Each client is scoped to a party via its JWT token.
6
+ *
7
+ * Request/response shapes match the Canton JSON Ledger API V2 OpenAPI spec (3.4+).
8
+ */
9
+ import type { Transport } from '../transport/types.js';
10
+ import type { Party } from '../types/party.js';
11
+ import type { CreatedEvent, ActiveContract } from '../types/contract.js';
12
+ import type { JsTransaction } from '../types/transaction.js';
13
+ import type { Reassignment, ReassignmentCommand } from '../types/reassignment.js';
14
+ import type { PrepareSubmissionResponse, PartySignatures } from '../types/interactive.js';
15
+ import type { LedgerOffset, EventFormat } from '../types/command.js';
16
+ export type LedgerClientConfig = {
17
+ /** Transport to communicate with the Canton node. */
18
+ readonly transport: Transport;
19
+ /** The party this client acts as. */
20
+ readonly actAs: Party;
21
+ /** Additional parties this client can read as. */
22
+ readonly readAs?: readonly Party[];
23
+ };
24
+ export type LedgerClient = {
25
+ /** The party this client acts as. */
26
+ readonly actAs: Party;
27
+ /** Additional parties this client can read as. */
28
+ readonly readAs: readonly Party[];
29
+ /** Create a new contract on the ledger. */
30
+ createContract: (templateId: string, createArguments: Record<string, unknown>, options?: CommandOptions) => Promise<CreatedEvent>;
31
+ /** Exercise a choice on an existing contract. */
32
+ exerciseChoice: (templateId: string, contractId: string, choice: string, choiceArgument: Record<string, unknown>, options?: CommandOptions) => Promise<JsTransaction>;
33
+ /** Query active contracts matching a template. */
34
+ queryContracts: (templateId: string, options?: QueryOptions) => Promise<readonly ActiveContract[]>;
35
+ /** Get a transaction by its update ID. */
36
+ getTransactionById: (updateId: string) => Promise<JsTransaction>;
37
+ /** Get the current ledger end offset. */
38
+ getLedgerEnd: () => Promise<LedgerOffset>;
39
+ /** Get events for a specific contract. */
40
+ getEventsByContractId: (contractId: string) => Promise<unknown>;
41
+ /** Get connected synchronizer IDs. */
42
+ getConnectedSynchronizers: () => Promise<readonly ConnectedSynchronizer[]>;
43
+ /** Get the latest pruned offsets. */
44
+ getLatestPrunedOffsets: () => Promise<PrunedOffsets>;
45
+ /** Submit a reassignment command and wait for completion. */
46
+ submitReassignment: (command: ReassignmentCommand, options?: CommandOptions) => Promise<Reassignment>;
47
+ /**
48
+ * Prepare a transaction for external signing.
49
+ * Returns the prepared transaction and hash to sign.
50
+ */
51
+ prepareSubmission: (templateId: string, createArguments: Record<string, unknown>, options?: CommandOptions) => Promise<PrepareSubmissionResponse>;
52
+ /**
53
+ * Execute a previously prepared and externally signed transaction.
54
+ */
55
+ executeSubmission: (preparedTransaction: string, partySignatures: readonly PartySignatures[], options?: {
56
+ readonly submissionId?: string;
57
+ readonly signal?: AbortSignal;
58
+ }) => Promise<JsTransaction>;
59
+ };
60
+ /** A connected synchronizer (domain). */
61
+ export type ConnectedSynchronizer = {
62
+ readonly synchronizerId: string;
63
+ readonly permission: 'SUBMISSION' | 'OBSERVATION' | 'UNSPECIFIED';
64
+ };
65
+ /** Pruned offset information. */
66
+ export type PrunedOffsets = {
67
+ readonly participantPrunedUpToInclusive?: number;
68
+ readonly allDivulgedContractsPrunedUpToInclusive?: number;
69
+ };
70
+ export type CommandOptions = {
71
+ readonly commandId?: string;
72
+ readonly workflowId?: string;
73
+ readonly signal?: AbortSignal;
74
+ };
75
+ export type QueryOptions = {
76
+ readonly signal?: AbortSignal;
77
+ /** Event format for filtering. Defaults to verbose wildcard filter for actAs party. */
78
+ readonly eventFormat?: EventFormat;
79
+ /** Offset to snapshot at. 0 = empty ledger. Defaults to 0. */
80
+ readonly activeAtOffset?: LedgerOffset;
81
+ };
82
+ export declare function createLedgerClient(config: LedgerClientConfig): LedgerClient;
83
+ //# sourceMappingURL=createLedgerClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createLedgerClient.d.ts","sourceRoot":"","sources":["../../../src/clients/createLedgerClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ /**
3
+ * Factory for creating a party-scoped Ledger API client.
4
+ *
5
+ * The LedgerClient provides contract operations: create, exercise, query.
6
+ * Each client is scoped to a party via its JWT token.
7
+ *
8
+ * Request/response shapes match the Canton JSON Ledger API V2 OpenAPI spec (3.4+).
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.createLedgerClient = createLedgerClient;
12
+ /** Generate a random UUID, compatible with Node.js 18+ and browsers. */
13
+ function generateUUID() {
14
+ if (typeof globalThis.crypto?.randomUUID === 'function') {
15
+ return globalThis.crypto.randomUUID();
16
+ }
17
+ // Fallback for Node.js 18 where globalThis.crypto.randomUUID may not exist
18
+ const bytes = new Uint8Array(16);
19
+ if (typeof globalThis.crypto?.getRandomValues === 'function') {
20
+ globalThis.crypto.getRandomValues(bytes);
21
+ }
22
+ else {
23
+ for (let i = 0; i < 16; i++)
24
+ bytes[i] = Math.floor(Math.random() * 256);
25
+ }
26
+ bytes[6] = (bytes[6] & 0x0f) | 0x40;
27
+ bytes[8] = (bytes[8] & 0x3f) | 0x80;
28
+ const hex = Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join('');
29
+ return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
30
+ }
31
+ function createLedgerClient(config) {
32
+ const { transport, actAs, readAs = [] } = config;
33
+ function defaultEventFormat() {
34
+ return {
35
+ filtersByParty: {
36
+ [actAs]: {
37
+ cumulative: [
38
+ {
39
+ identifierFilter: {
40
+ WildcardFilter: { value: { includeCreatedEventBlob: false } },
41
+ },
42
+ },
43
+ ],
44
+ },
45
+ },
46
+ verbose: true,
47
+ };
48
+ }
49
+ function templateEventFormat(templateId) {
50
+ return {
51
+ filtersByParty: {
52
+ [actAs]: {
53
+ cumulative: [
54
+ {
55
+ identifierFilter: {
56
+ TemplateFilter: {
57
+ value: { templateId, includeCreatedEventBlob: false },
58
+ },
59
+ },
60
+ },
61
+ ],
62
+ },
63
+ },
64
+ verbose: true,
65
+ };
66
+ }
67
+ function defaultTransactionFormat() {
68
+ return {
69
+ transactionShape: 'TRANSACTION_SHAPE_ACS_DELTA',
70
+ eventFormat: defaultEventFormat(),
71
+ };
72
+ }
73
+ return {
74
+ actAs,
75
+ readAs,
76
+ async createContract(templateId, createArguments, options) {
77
+ const request = {
78
+ method: 'POST',
79
+ path: '/v2/commands/submit-and-wait-for-transaction',
80
+ body: {
81
+ commands: {
82
+ commands: [{ CreateCommand: { templateId, createArguments } }],
83
+ commandId: options?.commandId ?? generateUUID(),
84
+ actAs: [actAs],
85
+ readAs: readAs.length > 0 ? readAs : undefined,
86
+ workflowId: options?.workflowId,
87
+ },
88
+ transactionFormat: defaultTransactionFormat(),
89
+ },
90
+ };
91
+ if (options?.signal)
92
+ request.signal = options.signal;
93
+ const response = await transport.request(request);
94
+ const created = extractCreatedEvent(response.transaction.events);
95
+ if (created === undefined) {
96
+ throw new Error('No created event in transaction response');
97
+ }
98
+ return created;
99
+ },
100
+ async exerciseChoice(templateId, contractId, choice, choiceArgument, options) {
101
+ const request = {
102
+ method: 'POST',
103
+ path: '/v2/commands/submit-and-wait-for-transaction',
104
+ body: {
105
+ commands: {
106
+ commands: [
107
+ { ExerciseCommand: { templateId, contractId, choice, choiceArgument } },
108
+ ],
109
+ commandId: options?.commandId ?? generateUUID(),
110
+ actAs: [actAs],
111
+ readAs: readAs.length > 0 ? readAs : undefined,
112
+ workflowId: options?.workflowId,
113
+ },
114
+ transactionFormat: defaultTransactionFormat(),
115
+ },
116
+ };
117
+ if (options?.signal)
118
+ request.signal = options.signal;
119
+ const response = await transport.request(request);
120
+ return response.transaction;
121
+ },
122
+ async queryContracts(templateId, options) {
123
+ const request = {
124
+ method: 'POST',
125
+ path: '/v2/state/active-contracts',
126
+ body: {
127
+ activeAtOffset: options?.activeAtOffset ?? 0,
128
+ eventFormat: options?.eventFormat ?? templateEventFormat(templateId),
129
+ },
130
+ };
131
+ if (options?.signal)
132
+ request.signal = options.signal;
133
+ const response = await transport.request(request);
134
+ return response
135
+ .map((entry) => {
136
+ if ('JsActiveContract' in entry.contractEntry) {
137
+ return entry.contractEntry.JsActiveContract;
138
+ }
139
+ return undefined;
140
+ })
141
+ .filter((c) => c !== undefined);
142
+ },
143
+ async getTransactionById(updateId) {
144
+ const response = await transport.request({
145
+ method: 'POST',
146
+ path: '/v2/updates/transaction-by-id',
147
+ body: {
148
+ updateId,
149
+ requestingParties: [actAs, ...readAs],
150
+ },
151
+ });
152
+ return response.transaction;
153
+ },
154
+ async getLedgerEnd() {
155
+ const response = await transport.request({
156
+ method: 'GET',
157
+ path: '/v2/state/ledger-end',
158
+ });
159
+ return response.offset;
160
+ },
161
+ async getEventsByContractId(contractId) {
162
+ return transport.request({
163
+ method: 'POST',
164
+ path: '/v2/events/events-by-contract-id',
165
+ body: { contractId, requestingParties: [actAs, ...readAs] },
166
+ });
167
+ },
168
+ async getConnectedSynchronizers() {
169
+ const response = await transport.request({
170
+ method: 'GET',
171
+ path: '/v2/state/connected-synchronizers',
172
+ });
173
+ return response.connectedSynchronizers ?? [];
174
+ },
175
+ async getLatestPrunedOffsets() {
176
+ const response = await transport.request({
177
+ method: 'GET',
178
+ path: '/v2/state/latest-pruned-offsets',
179
+ });
180
+ return response;
181
+ },
182
+ async submitReassignment(command, options) {
183
+ const request = {
184
+ method: 'POST',
185
+ path: '/v2/commands/submit-and-wait-for-reassignment',
186
+ body: {
187
+ reassignmentCommand: command,
188
+ commandId: options?.commandId ?? generateUUID(),
189
+ submitter: actAs,
190
+ workflowId: options?.workflowId,
191
+ },
192
+ };
193
+ if (options?.signal)
194
+ request.signal = options.signal;
195
+ const response = await transport.request(request);
196
+ return response.reassignment;
197
+ },
198
+ async prepareSubmission(templateId, createArguments, options) {
199
+ const request = {
200
+ method: 'POST',
201
+ path: '/v2/interactive-submission/prepare',
202
+ body: {
203
+ commands: [{ CreateCommand: { templateId, createArguments } }],
204
+ commandId: options?.commandId ?? generateUUID(),
205
+ actAs: [actAs],
206
+ readAs: readAs.length > 0 ? readAs : undefined,
207
+ workflowId: options?.workflowId,
208
+ },
209
+ };
210
+ if (options?.signal)
211
+ request.signal = options.signal;
212
+ return transport.request(request);
213
+ },
214
+ async executeSubmission(preparedTransaction, partySignatures, options) {
215
+ const request = {
216
+ method: 'POST',
217
+ path: '/v2/interactive-submission/execute',
218
+ body: {
219
+ preparedTransaction,
220
+ partySignatures,
221
+ submissionId: options?.submissionId,
222
+ },
223
+ };
224
+ if (options?.signal)
225
+ request.signal = options.signal;
226
+ const response = await transport.request(request);
227
+ return response.transaction;
228
+ },
229
+ };
230
+ }
231
+ /** Extract the first CreatedEvent from a list of tagged events. */
232
+ function extractCreatedEvent(events) {
233
+ for (const event of events) {
234
+ if ('CreatedEvent' in event) {
235
+ return event.CreatedEvent;
236
+ }
237
+ }
238
+ return undefined;
239
+ }
240
+ //# sourceMappingURL=createLedgerClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createLedgerClient.js","sourceRoot":"","sources":["../../../src/clients/createLedgerClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Factory for creating a test client for Canton sandbox.
3
+ *
4
+ * The TestClient provides sandbox lifecycle management, party allocation,
5
+ * and time manipulation for testing. Extends LedgerClient + AdminClient.
6
+ */
7
+ import type { Transport } from '../transport/types.js';
8
+ import type { Party, PartyDetails } from '../types/party.js';
9
+ import { type LedgerClient } from './createLedgerClient.js';
10
+ import { type AdminClient } from './createAdminClient.js';
11
+ export type TestClientConfig = {
12
+ readonly transport: Transport;
13
+ /** Default party for ledger operations. If not provided, one will be allocated. */
14
+ readonly party?: Party;
15
+ };
16
+ export type TestClient = LedgerClient & AdminClient & {
17
+ /** Get the current ledger time (static-time sandbox only). */
18
+ getTime: () => Promise<Date>;
19
+ /** Set the ledger time (static-time sandbox only). */
20
+ setTime: (currentTime: Date, newTime: Date) => Promise<void>;
21
+ /** Advance ledger time by a duration in seconds (static-time sandbox only). */
22
+ advanceTime: (seconds: number) => Promise<void>;
23
+ /** Allocate multiple parties at once. */
24
+ allocateParties: (hints: readonly string[]) => Promise<readonly PartyDetails[]>;
25
+ };
26
+ export declare function createTestClient(config: TestClientConfig): TestClient;
27
+ //# sourceMappingURL=createTestClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTestClient.d.ts","sourceRoot":"","sources":["../../../src/clients/createTestClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC/E,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAE5E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GACnC,WAAW,GAAG;IACZ,8DAA8D;IAC9D,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5B,sDAAsD;IACtD,OAAO,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5D,+EAA+E;IAC/E,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/C,yCAAyC;IACzC,eAAe,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAA;CAChF,CAAA;AAEH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CA2CrE"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /**
3
+ * Factory for creating a test client for Canton sandbox.
4
+ *
5
+ * The TestClient provides sandbox lifecycle management, party allocation,
6
+ * and time manipulation for testing. Extends LedgerClient + AdminClient.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.createTestClient = createTestClient;
10
+ const createLedgerClient_js_1 = require("./createLedgerClient.js");
11
+ const createAdminClient_js_1 = require("./createAdminClient.js");
12
+ function createTestClient(config) {
13
+ const { transport, party = 'test-party' } = config;
14
+ const ledger = (0, createLedgerClient_js_1.createLedgerClient)({ transport, actAs: party });
15
+ const admin = (0, createAdminClient_js_1.createAdminClient)({ transport });
16
+ return {
17
+ ...ledger,
18
+ ...admin,
19
+ async getTime() {
20
+ const response = await transport.request({
21
+ method: 'GET',
22
+ path: '/v2/time',
23
+ });
24
+ return new Date(response.currentTime);
25
+ },
26
+ async setTime(currentTime, newTime) {
27
+ await transport.request({
28
+ method: 'POST',
29
+ path: '/v2/time',
30
+ body: {
31
+ currentTime: currentTime.toISOString(),
32
+ newTime: newTime.toISOString(),
33
+ },
34
+ });
35
+ },
36
+ async advanceTime(seconds) {
37
+ const current = await this.getTime();
38
+ const newTime = new Date(current.getTime() + seconds * 1000);
39
+ await this.setTime(current, newTime);
40
+ },
41
+ async allocateParties(hints) {
42
+ return Promise.all(hints.map((hint) => admin.allocateParty({ partyIdHint: hint })));
43
+ },
44
+ };
45
+ }
46
+ //# sourceMappingURL=createTestClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTestClient.js","sourceRoot":"","sources":["../../../src/clients/createTestClient.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA4BH,4CA2CC;AAnED,mEAA+E;AAC/E,iEAA4E;AAuB5E,SAAgB,gBAAgB,CAAC,MAAwB;IACvD,MAAM,EAAE,SAAS,EAAE,KAAK,GAAG,YAAqB,EAAE,GAAG,MAAM,CAAA;IAE3D,MAAM,MAAM,GAAG,IAAA,0CAAkB,EAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9D,MAAM,KAAK,GAAG,IAAA,wCAAiB,EAAC,EAAE,SAAS,EAAE,CAAC,CAAA;IAE9C,OAAO;QACL,GAAG,MAAM;QACT,GAAG,KAAK;QAER,KAAK,CAAC,OAAO;YACX,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAA0B;gBAChE,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,UAAU;aACjB,CAAC,CAAA;YACF,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QACvC,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO;YAChC,MAAM,SAAS,CAAC,OAAO,CAAC;gBACtB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE;oBACJ,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE;oBACtC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE;iBAC/B;aACF,CAAC,CAAA;QACJ,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,OAAO;YACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAA;YAC5D,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACtC,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,KAAK;YACzB,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjB,KAAK,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAC3C,CACF,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { createLedgerClient, type LedgerClient, type LedgerClientConfig, type CommandOptions, type QueryOptions, } from './createLedgerClient.js';
2
+ export { createAdminClient, type AdminClient, type AdminClientConfig, } from './createAdminClient.js';
3
+ export { createTestClient, type TestClient, type TestClientConfig, } from './createTestClient.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/clients/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EACL,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACL,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTestClient = exports.createAdminClient = exports.createLedgerClient = void 0;
4
+ var createLedgerClient_js_1 = require("./createLedgerClient.js");
5
+ Object.defineProperty(exports, "createLedgerClient", { enumerable: true, get: function () { return createLedgerClient_js_1.createLedgerClient; } });
6
+ var createAdminClient_js_1 = require("./createAdminClient.js");
7
+ Object.defineProperty(exports, "createAdminClient", { enumerable: true, get: function () { return createAdminClient_js_1.createAdminClient; } });
8
+ var createTestClient_js_1 = require("./createTestClient.js");
9
+ Object.defineProperty(exports, "createTestClient", { enumerable: true, get: function () { return createTestClient_js_1.createTestClient; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/index.ts"],"names":[],"mappings":";;;AAAA,iEAMgC;AAL9B,2HAAA,kBAAkB,OAAA;AAOpB,+DAI+B;AAH7B,yHAAA,iBAAiB,OAAA;AAKnB,6DAI8B;AAH5B,uHAAA,gBAAgB,OAAA"}
@@ -0,0 +1,2 @@
1
+ export type { ChoiceDescriptor, TemplateDescriptor, InferPayload, InferChoiceArgs, } from './types.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,eAAe,GAChB,MAAM,YAAY,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Runtime types for cantonjs codegen output.
3
+ *
4
+ * Generated code imports these types to describe templates and choices.
5
+ * The core library uses them for type-safe contract operations.
6
+ */
7
+ /** Describes a choice on a template. */
8
+ export type ChoiceDescriptor<TArgs extends Record<string, unknown> = Record<string, unknown>, _TResult = unknown> = {
9
+ readonly name: string;
10
+ readonly _args?: TArgs;
11
+ };
12
+ /** Describes a template with its payload type and available choices. */
13
+ export type TemplateDescriptor<TPayload extends Record<string, unknown> = Record<string, unknown>, TChoices extends Record<string, ChoiceDescriptor> = Record<string, ChoiceDescriptor>> = {
14
+ readonly templateId: string;
15
+ readonly choices: TChoices;
16
+ readonly _payload?: TPayload;
17
+ };
18
+ /**
19
+ * Extract the payload type from a TemplateDescriptor.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * type AssetPayload = InferPayload<typeof Asset>
24
+ * // { readonly owner: string; readonly value: string }
25
+ * ```
26
+ */
27
+ export type InferPayload<T extends TemplateDescriptor> = T extends TemplateDescriptor<infer P, Record<string, ChoiceDescriptor>> ? P : never;
28
+ /**
29
+ * Extract the choice argument type for a specific choice.
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * type TransferArgs = InferChoiceArgs<typeof Asset, 'Transfer'>
34
+ * // { readonly newOwner: string }
35
+ * ```
36
+ */
37
+ export type InferChoiceArgs<T extends TemplateDescriptor, C extends keyof T['choices']> = T['choices'][C] extends ChoiceDescriptor<infer A> ? A : never;
38
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/codegen/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wCAAwC;AACxC,MAAM,MAAM,gBAAgB,CAC1B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,QAAQ,GAAG,OAAO,IAChB;IACF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CACvB,CAAA;AAED,wEAAwE;AACxE,MAAM,MAAM,kBAAkB,CAC5B,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAClF;IACF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAC7B,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,kBAAkB,IACnD,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAErF;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,CACzB,CAAC,SAAS,kBAAkB,EAC5B,CAAC,SAAS,MAAM,CAAC,CAAC,SAAS,CAAC,IAC1B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * Runtime types for cantonjs codegen output.
4
+ *
5
+ * Generated code imports these types to describe templates and choices.
6
+ * The core library uses them for type-safe contract operations.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/codegen/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -0,0 +1,13 @@
1
+ import { CantonjsError } from './base.js';
2
+ /** JWT token has expired. */
3
+ export declare class TokenExpiredError extends CantonjsError {
4
+ readonly expiredAt: Date;
5
+ constructor(expiredAt: Date);
6
+ }
7
+ /** JWT token is invalid or malformed. */
8
+ export declare class InvalidTokenError extends CantonjsError {
9
+ constructor(reason: string, options?: {
10
+ cause?: Error;
11
+ });
12
+ }
13
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/errors/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,WAAW,CAAA;AAEzD,6BAA6B;AAC7B,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;gBAEZ,SAAS,EAAE,IAAI;CAW5B;AAED,yCAAyC;AACzC,qBAAa,iBAAkB,SAAQ,aAAa;gBACtC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAWxD"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvalidTokenError = exports.TokenExpiredError = void 0;
4
+ const base_js_1 = require("./base.js");
5
+ /** JWT token has expired. */
6
+ class TokenExpiredError extends base_js_1.CantonjsError {
7
+ expiredAt;
8
+ constructor(expiredAt) {
9
+ super('JWT token has expired', {
10
+ code: 'CJ2001',
11
+ metaMessages: [
12
+ `Token expired at: ${expiredAt.toISOString()}`,
13
+ 'Generate a new token using cantonctl auth or your identity provider.',
14
+ ],
15
+ });
16
+ this.name = 'TokenExpiredError';
17
+ this.expiredAt = expiredAt;
18
+ }
19
+ }
20
+ exports.TokenExpiredError = TokenExpiredError;
21
+ /** JWT token is invalid or malformed. */
22
+ class InvalidTokenError extends base_js_1.CantonjsError {
23
+ constructor(reason, options) {
24
+ super(`Invalid JWT token: ${reason}`, {
25
+ code: 'CJ2002',
26
+ cause: options?.cause,
27
+ metaMessages: [
28
+ 'Ensure the token is a valid JWT with the required Canton claims.',
29
+ 'Required scope: daml_ledger_api',
30
+ ],
31
+ });
32
+ this.name = 'InvalidTokenError';
33
+ }
34
+ }
35
+ exports.InvalidTokenError = InvalidTokenError;
36
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/errors/auth.ts"],"names":[],"mappings":";;;AAAA,uCAAyD;AAEzD,6BAA6B;AAC7B,MAAa,iBAAkB,SAAQ,uBAAa;IACzC,SAAS,CAAM;IAExB,YAAY,SAAe;QACzB,KAAK,CAAC,uBAAuB,EAAE;YAC7B,IAAI,EAAE,QAAqB;YAC3B,YAAY,EAAE;gBACZ,qBAAqB,SAAS,CAAC,WAAW,EAAE,EAAE;gBAC9C,sEAAsE;aACvE;SACF,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;CACF;AAdD,8CAcC;AAED,yCAAyC;AACzC,MAAa,iBAAkB,SAAQ,uBAAa;IAClD,YAAY,MAAc,EAAE,OAA2B;QACrD,KAAK,CAAC,sBAAsB,MAAM,EAAE,EAAE;YACpC,IAAI,EAAE,QAAqB;YAC3B,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,YAAY,EAAE;gBACZ,kEAAkE;gBAClE,iCAAiC;aAClC;SACF,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAZD,8CAYC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Structured error hierarchy for cantonjs.
3
+ *
4
+ * Follows viem's BaseError pattern with walk(), docsPath, and metaMessages.
5
+ * Error code ranges are complementary to cantonctl's E1xxx-E8xxx system.
6
+ *
7
+ * cantonjs error ranges:
8
+ * CJ1xxx — Transport errors (connection, HTTP, gRPC)
9
+ * CJ2xxx — Authentication errors (JWT, token lifecycle)
10
+ * CJ3xxx — Ledger errors (command rejection, contract not found)
11
+ * CJ4xxx — Admin errors (party, user, package management)
12
+ * CJ5xxx — Streaming errors (subscription, reconnection)
13
+ * CJ6xxx — Codegen errors (type mismatch, generation failures)
14
+ */
15
+ export type ErrorCode = `CJ${number}`;
16
+ export declare class CantonjsError extends Error {
17
+ readonly code: ErrorCode;
18
+ readonly shortMessage: string;
19
+ readonly docsPath?: string;
20
+ readonly metaMessages?: readonly string[];
21
+ readonly cause?: Error;
22
+ constructor(shortMessage: string, options: CantonjsErrorOptions);
23
+ /**
24
+ * Walk the error cause chain, returning the first error matching the predicate.
25
+ * Useful for finding specific error types in nested cause chains.
26
+ */
27
+ walk(fn?: (error: Error) => boolean): Error | undefined;
28
+ }
29
+ export type CantonjsErrorOptions = {
30
+ readonly code: ErrorCode;
31
+ readonly cause?: Error;
32
+ readonly docsPath?: string;
33
+ readonly metaMessages?: readonly string[];
34
+ };
35
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/errors/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,SAAS,GAAG,KAAK,MAAM,EAAE,CAAA;AAErC,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,SAAkB,KAAK,CAAC,EAAE,KAAK,CAAA;gBAEnB,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB;IAW/D;;;OAGG;IACH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,GAAG,KAAK,GAAG,SAAS;CAexD;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1C,CAAA"}