@layerzerolabs/common-canton 1.2.84 → 1.2.86

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 (274) hide show
  1. package/dist/{AYATS7Q7.js → 2LYS7MEK.js} +3 -3
  2. package/dist/{AYATS7Q7.js.map → 2LYS7MEK.js.map} +1 -1
  3. package/dist/{V4O4HXKX.js → 44EVBXCG.js} +3 -3
  4. package/dist/{V4O4HXKX.js.map → 44EVBXCG.js.map} +1 -1
  5. package/dist/{6U4QHSRF.js → 5R6WVDPV.js} +4 -4
  6. package/dist/{6U4QHSRF.js.map → 5R6WVDPV.js.map} +1 -1
  7. package/dist/{CRVXAMIK.js → 62JWAJEM.js} +3 -3
  8. package/dist/{CRVXAMIK.js.map → 62JWAJEM.js.map} +1 -1
  9. package/dist/{Q7STSQKL.js → 6FXVBMY6.js} +3 -3
  10. package/dist/{Q7STSQKL.js.map → 6FXVBMY6.js.map} +1 -1
  11. package/dist/{TJ6SKLPC.js → 6HULYVDE.js} +4 -4
  12. package/dist/{TJ6SKLPC.js.map → 6HULYVDE.js.map} +1 -1
  13. package/dist/{OMUCTDKJ.js → 6O6IFYQM.js} +3 -3
  14. package/dist/{OMUCTDKJ.js.map → 6O6IFYQM.js.map} +1 -1
  15. package/dist/{JI5SNJMZ.js → 6OFY25TY.js} +3 -3
  16. package/dist/{JI5SNJMZ.js.map → 6OFY25TY.js.map} +1 -1
  17. package/dist/{65SCKUZN.js → 7FS5WGDR.js} +3 -3
  18. package/dist/{65SCKUZN.js.map → 7FS5WGDR.js.map} +1 -1
  19. package/dist/{LIFJZMPI.js → 7IMQETOY.js} +3 -3
  20. package/dist/{LIFJZMPI.js.map → 7IMQETOY.js.map} +1 -1
  21. package/dist/{IARIG54E.js → ACJE36CV.js} +3 -3
  22. package/dist/{IARIG54E.js.map → ACJE36CV.js.map} +1 -1
  23. package/dist/{B5WQLYXA.js → B7MBM6I4.js} +3 -3
  24. package/dist/{B5WQLYXA.js.map → B7MBM6I4.js.map} +1 -1
  25. package/dist/{IF5HNKIS.js → BCHJSHJV.js} +8 -8
  26. package/dist/{IF5HNKIS.js.map → BCHJSHJV.js.map} +1 -1
  27. package/dist/{7DQZUTXG.js → BWPOOFYL.js} +3 -3
  28. package/dist/{7DQZUTXG.js.map → BWPOOFYL.js.map} +1 -1
  29. package/dist/{AKJB7QUH.js → CCLVPRJK.js} +3 -3
  30. package/dist/{AKJB7QUH.js.map → CCLVPRJK.js.map} +1 -1
  31. package/dist/{4VX7UAGI.js → DTE3J7NQ.js} +3 -3
  32. package/dist/{4VX7UAGI.js.map → DTE3J7NQ.js.map} +1 -1
  33. package/dist/{43KGTQUU.js → E6T5VFT3.js} +56 -47
  34. package/dist/E6T5VFT3.js.map +1 -0
  35. package/dist/{VQM45MNW.js → FC62Z3SD.js} +5 -5
  36. package/dist/{VQM45MNW.js.map → FC62Z3SD.js.map} +1 -1
  37. package/dist/{VINQ7WT7.js → FO4X6Q5A.js} +3 -3
  38. package/dist/{VINQ7WT7.js.map → FO4X6Q5A.js.map} +1 -1
  39. package/dist/{MV4DFHZP.js → FRIE5Q6G.js} +5 -5
  40. package/dist/{MV4DFHZP.js.map → FRIE5Q6G.js.map} +1 -1
  41. package/dist/{DXB7KQQ3.js → FSV2XOCP.js} +3 -3
  42. package/dist/{DXB7KQQ3.js.map → FSV2XOCP.js.map} +1 -1
  43. package/dist/{GNTIQ643.js → GO4QW5YL.js} +3 -3
  44. package/dist/{GNTIQ643.js.map → GO4QW5YL.js.map} +1 -1
  45. package/dist/{D46GHYLR.js → GURC7E3X.js} +4 -4
  46. package/dist/{D46GHYLR.js.map → GURC7E3X.js.map} +1 -1
  47. package/dist/{7JEW4NHI.js → GZJQMFWY.js} +25 -13
  48. package/dist/GZJQMFWY.js.map +1 -0
  49. package/dist/H3KQEQ6V.js +73 -0
  50. package/dist/H3KQEQ6V.js.map +1 -0
  51. package/dist/{W53VMEDS.js → H4LEP3ZZ.js} +3 -3
  52. package/dist/{W53VMEDS.js.map → H4LEP3ZZ.js.map} +1 -1
  53. package/dist/{MSW4M7DJ.js → HDXXUK5L.js} +3 -3
  54. package/dist/{MSW4M7DJ.js.map → HDXXUK5L.js.map} +1 -1
  55. package/dist/{ISPQTPDP.js → HH2BRNCO.js} +3 -3
  56. package/dist/{ISPQTPDP.js.map → HH2BRNCO.js.map} +1 -1
  57. package/dist/{HNPWKZ6F.js → IPSWV2QP.js} +3 -3
  58. package/dist/{HNPWKZ6F.js.map → IPSWV2QP.js.map} +1 -1
  59. package/dist/{PS62VP4X.js → IV67I5J5.js} +3 -3
  60. package/dist/{PS62VP4X.js.map → IV67I5J5.js.map} +1 -1
  61. package/dist/{WCIL5GCC.js → IWEUYC4L.js} +3 -3
  62. package/dist/{WCIL5GCC.js.map → IWEUYC4L.js.map} +1 -1
  63. package/dist/{KXKCEJPZ.js → IWLXCJYV.js} +3 -3
  64. package/dist/{KXKCEJPZ.js.map → IWLXCJYV.js.map} +1 -1
  65. package/dist/{SWLTCAND.js → LAU7FTTN.js} +3 -3
  66. package/dist/{SWLTCAND.js.map → LAU7FTTN.js.map} +1 -1
  67. package/dist/{XENB5GVW.js → LHA6QVMC.js} +60 -10
  68. package/dist/LHA6QVMC.js.map +1 -0
  69. package/dist/MPUXBCWT.js +3 -0
  70. package/dist/MPUXBCWT.js.map +1 -0
  71. package/dist/{VJU775PW.js → NE7OAYT7.js} +3 -3
  72. package/dist/{VJU775PW.js.map → NE7OAYT7.js.map} +1 -1
  73. package/dist/{ZXJZWQK5.js → NPSCFRV6.js} +3 -3
  74. package/dist/{ZXJZWQK5.js.map → NPSCFRV6.js.map} +1 -1
  75. package/dist/{N6MJWA4V.js → O6C7LDBM.js} +3 -3
  76. package/dist/{N6MJWA4V.js.map → O6C7LDBM.js.map} +1 -1
  77. package/dist/{H6FC5ZHO.js → OMH63YYM.js} +3 -3
  78. package/dist/{H6FC5ZHO.js.map → OMH63YYM.js.map} +1 -1
  79. package/dist/{B6FULRVA.js → OUNGXSOC.js} +3 -3
  80. package/dist/{B6FULRVA.js.map → OUNGXSOC.js.map} +1 -1
  81. package/dist/{BAJWS3PR.js → QRPS2ZRD.js} +3 -3
  82. package/dist/{BAJWS3PR.js.map → QRPS2ZRD.js.map} +1 -1
  83. package/dist/{PIQ3L4RJ.js → REFDOIP7.js} +3 -3
  84. package/dist/{PIQ3L4RJ.js.map → REFDOIP7.js.map} +1 -1
  85. package/dist/{W5NNHK5Y.js → RLSRF5OW.js} +3 -3
  86. package/dist/{W5NNHK5Y.js.map → RLSRF5OW.js.map} +1 -1
  87. package/dist/{B7B4NFMT.js → THOAMWP2.js} +5 -5
  88. package/dist/{B7B4NFMT.js.map → THOAMWP2.js.map} +1 -1
  89. package/dist/{C7YYEPNV.js → THWUUI4S.js} +26 -4
  90. package/dist/THWUUI4S.js.map +1 -0
  91. package/dist/{L64D74BZ.js → TLQX4ZQW.js} +22 -11
  92. package/dist/TLQX4ZQW.js.map +1 -0
  93. package/dist/{N2VZE4OM.js → TPLC22KU.js} +28 -28
  94. package/dist/{N2VZE4OM.js.map → TPLC22KU.js.map} +1 -1
  95. package/dist/{ISOF5W3C.js → WHGZWN5I.js} +3 -3
  96. package/dist/{ISOF5W3C.js.map → WHGZWN5I.js.map} +1 -1
  97. package/dist/{HQLFL4RA.js → WHH4J5G2.js} +4 -4
  98. package/dist/{HQLFL4RA.js.map → WHH4J5G2.js.map} +1 -1
  99. package/dist/{ZN6IMTCH.js → WOBST65M.js} +3 -3
  100. package/dist/{ZN6IMTCH.js.map → WOBST65M.js.map} +1 -1
  101. package/dist/{HUCQT5VJ.js → WTSICKTT.js} +3 -3
  102. package/dist/{HUCQT5VJ.js.map → WTSICKTT.js.map} +1 -1
  103. package/dist/{5LBTGOFY.js → XLO35F3H.js} +3 -3
  104. package/dist/{5LBTGOFY.js.map → XLO35F3H.js.map} +1 -1
  105. package/dist/{5W44RCVL.js → XUXLV3PL.js} +13 -2
  106. package/dist/XUXLV3PL.js.map +1 -0
  107. package/dist/{KFTXC6M6.js → XZSSPQAG.js} +8 -4
  108. package/dist/XZSSPQAG.js.map +1 -0
  109. package/dist/{UMD5REID.js → YONIYI4X.js} +3 -3
  110. package/dist/{UMD5REID.js.map → YONIYI4X.js.map} +1 -1
  111. package/dist/{Q3BYU6GJ.js → ZEK5YBPA.js} +12 -10
  112. package/dist/ZEK5YBPA.js.map +1 -0
  113. package/dist/address.d.ts +11 -0
  114. package/dist/address.d.ts.map +1 -1
  115. package/dist/address.js +1 -1
  116. package/dist/amulet.d.ts.map +1 -1
  117. package/dist/auth/client-credentials-token-provider.d.ts.map +1 -1
  118. package/dist/auth/local-token-provider.d.ts.map +1 -1
  119. package/dist/browser.js +1 -1
  120. package/dist/client/amulet.d.ts.map +1 -1
  121. package/dist/client/amulet.js +3 -2
  122. package/dist/client/canton-client.d.ts +1 -0
  123. package/dist/client/canton-client.d.ts.map +1 -1
  124. package/dist/client/canton-client.js +82 -81
  125. package/dist/client/grpc.d.ts +18 -2
  126. package/dist/client/grpc.d.ts.map +1 -1
  127. package/dist/client/grpc.js +1 -1
  128. package/dist/client/index.js +83 -82
  129. package/dist/client/interface.d.ts +6 -0
  130. package/dist/client/interface.d.ts.map +1 -1
  131. package/dist/client/topology/synchronizer-connectivity.d.ts.map +1 -1
  132. package/dist/client/topology/types.d.ts +10 -0
  133. package/dist/client/topology/types.d.ts.map +1 -1
  134. package/dist/client/topology/utils.d.ts.map +1 -1
  135. package/dist/deferredValue.d.ts +1 -1
  136. package/dist/deferredValue.d.ts.map +1 -1
  137. package/dist/errors.d.ts +2 -2
  138. package/dist/errors.d.ts.map +1 -1
  139. package/dist/events.d.ts.map +1 -1
  140. package/dist/index.js +98 -97
  141. package/dist/minFee.d.ts.map +1 -1
  142. package/dist/open-api/apis/DefaultApi.d.ts.map +1 -1
  143. package/dist/open-api/apis/DefaultApi.js +78 -78
  144. package/dist/open-api/apis/index.js +78 -78
  145. package/dist/open-api/index.js +78 -78
  146. package/dist/open-api/models/Command.js +3 -3
  147. package/dist/open-api/models/Completion.js +4 -4
  148. package/dist/open-api/models/Completion1.js +3 -3
  149. package/dist/open-api/models/CompletionResponse.js +6 -6
  150. package/dist/open-api/models/CompletionResponseOneOf.js +5 -5
  151. package/dist/open-api/models/CompletionStreamResponse.js +7 -7
  152. package/dist/open-api/models/ConnectedSynchronizer.d.ts +4 -4
  153. package/dist/open-api/models/ConnectedSynchronizer.d.ts.map +1 -1
  154. package/dist/open-api/models/CostEstimationHints.d.ts +5 -5
  155. package/dist/open-api/models/CostEstimationHints.d.ts.map +1 -1
  156. package/dist/open-api/models/CreateUserRequest.js +4 -4
  157. package/dist/open-api/models/DeduplicationPeriod.js +2 -2
  158. package/dist/open-api/models/Event.js +2 -2
  159. package/dist/open-api/models/ExperimentalFeatures.js +2 -2
  160. package/dist/open-api/models/FeaturesDescriptor.js +3 -3
  161. package/dist/open-api/models/GetCompletionByHashResponse.js +4 -4
  162. package/dist/open-api/models/GetLedgerApiVersionResponse.js +4 -4
  163. package/dist/open-api/models/GetPackageStatusResponse.d.ts +2 -2
  164. package/dist/open-api/models/GetPackageStatusResponse.d.ts.map +1 -1
  165. package/dist/open-api/models/GrantUserRightsRequest.js +4 -4
  166. package/dist/open-api/models/GrantUserRightsResponse.js +4 -4
  167. package/dist/open-api/models/JsCommands.js +6 -6
  168. package/dist/open-api/models/JsExecuteSubmissionAndWaitForTransactionRequest.d.ts +4 -4
  169. package/dist/open-api/models/JsExecuteSubmissionAndWaitForTransactionRequest.d.ts.map +1 -1
  170. package/dist/open-api/models/JsExecuteSubmissionAndWaitForTransactionResponse.js +4 -4
  171. package/dist/open-api/models/JsExecuteSubmissionAndWaitRequest.d.ts +4 -4
  172. package/dist/open-api/models/JsExecuteSubmissionAndWaitRequest.d.ts.map +1 -1
  173. package/dist/open-api/models/JsExecuteSubmissionRequest.d.ts +4 -4
  174. package/dist/open-api/models/JsExecuteSubmissionRequest.d.ts.map +1 -1
  175. package/dist/open-api/models/JsGetUpdateResponse.js +14 -14
  176. package/dist/open-api/models/JsGetUpdatesPageResponse.js +15 -15
  177. package/dist/open-api/models/JsGetUpdatesResponse.js +14 -14
  178. package/dist/open-api/models/JsPrepareSubmissionRequest.d.ts +4 -4
  179. package/dist/open-api/models/JsPrepareSubmissionRequest.d.ts.map +1 -1
  180. package/dist/open-api/models/JsPrepareSubmissionRequest.js +5 -5
  181. package/dist/open-api/models/JsPrepareSubmissionResponse.d.ts +4 -4
  182. package/dist/open-api/models/JsPrepareSubmissionResponse.d.ts.map +1 -1
  183. package/dist/open-api/models/JsSubmitAndWaitForTransactionRequest.js +7 -7
  184. package/dist/open-api/models/JsSubmitAndWaitForTransactionResponse.js +4 -4
  185. package/dist/open-api/models/JsTopologyTransaction.js +4 -4
  186. package/dist/open-api/models/JsTransaction.js +3 -3
  187. package/dist/open-api/models/Kind.js +2 -2
  188. package/dist/open-api/models/ListUserRightsResponse.js +4 -4
  189. package/dist/open-api/models/ParticipantAuthorizationAdded1.d.ts +4 -4
  190. package/dist/open-api/models/ParticipantAuthorizationAdded1.d.ts.map +1 -1
  191. package/dist/open-api/models/ParticipantAuthorizationChanged1.d.ts +4 -4
  192. package/dist/open-api/models/ParticipantAuthorizationChanged1.d.ts.map +1 -1
  193. package/dist/open-api/models/ParticipantAuthorizationOnboarding1.d.ts +4 -4
  194. package/dist/open-api/models/ParticipantAuthorizationOnboarding1.d.ts.map +1 -1
  195. package/dist/open-api/models/RevokeUserRightsRequest.js +4 -4
  196. package/dist/open-api/models/RevokeUserRightsResponse.js +4 -4
  197. package/dist/open-api/models/Right.js +3 -3
  198. package/dist/open-api/models/TopologyEvent.js +3 -3
  199. package/dist/open-api/models/TopologyEventEvent.js +2 -2
  200. package/dist/open-api/models/TopologyTransaction.js +5 -5
  201. package/dist/open-api/models/Transaction.js +4 -4
  202. package/dist/open-api/models/TransactionFormat.d.ts +3 -3
  203. package/dist/open-api/models/TransactionFormat.d.ts.map +1 -1
  204. package/dist/open-api/models/Update.js +13 -13
  205. package/dist/open-api/models/UpdateOneOf2.js +6 -6
  206. package/dist/open-api/models/UpdateOneOf3.js +5 -5
  207. package/dist/open-api/models/UpdateVettedPackagesRequest.d.ts +3 -3
  208. package/dist/open-api/models/UpdateVettedPackagesRequest.d.ts.map +1 -1
  209. package/dist/open-api/models/index.js +77 -77
  210. package/dist/open-api/runtime.d.ts.map +1 -1
  211. package/dist/provider.js +84 -83
  212. package/dist/refresh/address-resolver.d.ts +2 -2
  213. package/dist/refresh/address-resolver.d.ts.map +1 -1
  214. package/dist/refresh/callback-burn-mint.d.ts.map +1 -1
  215. package/dist/refresh/callback-burn-mint.js +9 -2
  216. package/dist/refresh/callback-contracts.d.ts.map +1 -1
  217. package/dist/refresh/callback-lock-unlock.d.ts.map +1 -1
  218. package/dist/refresh/callback-lock-unlock.js +9 -2
  219. package/dist/refresh/callback-registry.d.ts +26 -0
  220. package/dist/refresh/callback-registry.d.ts.map +1 -0
  221. package/dist/refresh/callback-registry.js +13 -0
  222. package/dist/refresh/callback-registry.js.map +1 -0
  223. package/dist/refresh/callback.d.ts +5 -5
  224. package/dist/refresh/callback.d.ts.map +1 -1
  225. package/dist/refresh/callback.js +10 -4
  226. package/dist/refresh/deployment-address.d.ts.map +1 -1
  227. package/dist/refresh/index.d.ts +1 -0
  228. package/dist/refresh/index.d.ts.map +1 -1
  229. package/dist/refresh/index.js +16 -15
  230. package/dist/refresh/onesig-config.d.ts.map +1 -1
  231. package/dist/refresh/onesig-discovery.d.ts +2 -2
  232. package/dist/refresh/onesig-discovery.d.ts.map +1 -1
  233. package/dist/refresh/onesig-request.d.ts.map +1 -1
  234. package/dist/refresh/onesig-scope.d.ts.map +1 -1
  235. package/dist/refresh/onesig-transfer-instruction.d.ts +3 -3
  236. package/dist/refresh/onesig-transfer-instruction.d.ts.map +1 -1
  237. package/dist/refresh/onesig-transfer-instruction.js +8 -5
  238. package/dist/refresh/onesig-transfer.d.ts +3 -3
  239. package/dist/refresh/onesig-transfer.d.ts.map +1 -1
  240. package/dist/refresh/onesig-transfer.js +8 -6
  241. package/dist/refresh/plan.d.ts +312 -312
  242. package/dist/refresh/prepare-amulet-transfer.d.ts.map +1 -1
  243. package/dist/refresh/prepare-amulet-transfer.js +4 -3
  244. package/dist/refresh/prepare-transfer-instruction-acceptance.d.ts.map +1 -1
  245. package/dist/refresh/registry-context.d.ts +7 -1
  246. package/dist/refresh/registry-context.d.ts.map +1 -1
  247. package/dist/refresh/registry-context.js +2 -1
  248. package/dist/refresh/resolve-plan.d.ts.map +1 -1
  249. package/dist/refresh/resolve-plan.js +12 -10
  250. package/dist/refresh/resolve.d.ts.map +1 -1
  251. package/dist/refresh/resolve.js +13 -11
  252. package/dist/refresh/select-contracts.d.ts +3 -0
  253. package/dist/refresh/select-contracts.d.ts.map +1 -1
  254. package/dist/refresh/select-contracts.js +1 -1
  255. package/dist/sdk/canton-sdk.d.ts +6 -0
  256. package/dist/sdk/canton-sdk.d.ts.map +1 -1
  257. package/dist/sdk/canton-sdk.js +1 -1
  258. package/dist/sdk/index.js +1 -1
  259. package/dist/transaction.d.ts +575 -575
  260. package/dist/transaction.d.ts.map +1 -1
  261. package/dist/trusted-origin.d.ts.map +1 -1
  262. package/dist/types.d.ts +3 -3
  263. package/dist/types.d.ts.map +1 -1
  264. package/package.json +11 -11
  265. package/dist/43KGTQUU.js.map +0 -1
  266. package/dist/5W44RCVL.js.map +0 -1
  267. package/dist/7JEW4NHI.js.map +0 -1
  268. package/dist/C7YYEPNV.js.map +0 -1
  269. package/dist/CNSI6MLV.js +0 -3
  270. package/dist/CNSI6MLV.js.map +0 -1
  271. package/dist/KFTXC6M6.js.map +0 -1
  272. package/dist/L64D74BZ.js.map +0 -1
  273. package/dist/Q3BYU6GJ.js.map +0 -1
  274. package/dist/XENB5GVW.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/client/grpc.ts"],"names":["DEFAULT_GRPC_CLIENT_OPTIONS","CantonGrpcClient","opts","tokenProvider","synchronizerId","GrpcTransport","host","channelCredentials","buildChannelCredentials","insecureTransport","clientOptions","grpcClientOptions","TopologyManagerReadServiceClient","TopologyManagerWriteServiceClient","SynchronizerConnectivityServiceClient","token","getToken","Authorization","response","listConnectedSynchronizers","meta","synchronizer","connectedSynchronizers","CantonProtocolError","mapping","serial","generateTransactions","GenerateTransactionsRequest","create","proposals","GenerateTransactionsRequest_Proposal","operation","Enums_TopologyChangeOp","ADD_REPLACE","store","synchronizerStore","generated","generatedTransactions","getNamespaceDelegation","namespaceFingerprint","listNamespaceDelegation","ListNamespaceDelegationRequest","baseQuery","headStateBaseQuery","filterNamespace","filterTargetKeyFingerprint","results","flatMap","result","item","publicKey","targetKey","namespace","targetKeyFingerprint","computePublicKeyFingerprint","isRootDelegation","context","getDecentralizedNamespaceDefinition","listDecentralizedNamespaceDefinition","ListDecentralizedNamespaceDefinitionRequest","decentralizedNamespace","threshold","owners","getPartyToKeyMapping","partyId","listPartyToKeyMapping","ListPartyToKeyMappingRequest","filterParty","party","signingKeyFingerprints","signingKeys","map","key","getPartyToParticipantMapping","listPartyToParticipant","ListPartyToParticipantRequest","filterParticipant","participants","participant","participantUid","permission","createNamespaceDelegationTx","params","buildNamespaceDelegationMapping","publicKeyDer","createDecentralizedNamespaceDefinitionTx","computeDecentralizedNamespace","buildDecentralizedNamespaceDefinitionMapping","updateDecentralizedNamespaceDefinitionTx","createPartyToKeyTx","buildPartyToKeyMapping","signingPublicKeyDers","createPartyToParticipantTx","buildPartyToParticipantMapping","participantIds","submitTopologyTransactions","transactions","length","CantonError","addTransactions","AddTransactionsRequest","close"],"mappings":"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","file":"XENB5GVW.js","sourcesContent":["import {\n AddTransactionsRequest,\n Enums_TopologyChangeOp,\n GenerateTransactionsRequest,\n GenerateTransactionsRequest_Proposal,\n ListDecentralizedNamespaceDefinitionRequest,\n ListNamespaceDelegationRequest,\n ListPartyToKeyMappingRequest,\n ListPartyToParticipantRequest,\n type SignedTopologyTransaction,\n TopologyManagerReadServiceClient,\n TopologyManagerWriteServiceClient,\n type TopologyMapping,\n} from '@canton-network/core-ledger-proto';\nimport { GrpcTransport } from '@protobuf-ts/grpc-transport';\n\nimport type { TokenProvider } from '../auth/token-provider';\nimport { CantonError, CantonProtocolError } from '../errors';\nimport {\n buildDecentralizedNamespaceDefinitionMapping,\n buildNamespaceDelegationMapping,\n buildPartyToKeyMapping,\n buildPartyToParticipantMapping,\n} from './topology/mappings';\nimport { SynchronizerConnectivityServiceClient } from './topology/synchronizer-connectivity';\nimport type {\n CantonGrpcClientOptions,\n CreateDecentralizedNamespaceDefinitionTxParams,\n CreateNamespaceDelegationTxParams,\n CreatePartyToKeyMappingTxParams,\n CreatePartyToParticipantMappingTxParams,\n DecentralizedNamespaceDefinitionState,\n GeneratedTopologyTransaction,\n NamespaceDelegationState,\n PartyToKeyMappingState,\n PartyToParticipantMappingState,\n UpdateDecentralizedNamespaceDefinitionTxParams,\n} from './topology/types';\nimport {\n buildChannelCredentials,\n computeDecentralizedNamespace,\n headStateBaseQuery,\n synchronizerStore,\n} from './topology/utils';\nimport { computePublicKeyFingerprint } from './utils';\n\n/** Default gRPC client options: 128 MiB message-size limits for large admin responses. */\nconst DEFAULT_GRPC_CLIENT_OPTIONS = {\n 'grpc.max_receive_message_length': 128 * 1024 * 1024,\n 'grpc.max_send_message_length': 128 * 1024 * 1024,\n} as const;\n\n/**\n * gRPC client for the Canton participant admin Topology Manager API.\n *\n * Exposes read queries for topology mappings and write helpers that call\n * `GenerateTransactions` to produce unsigned topology transactions and\n * `AddTransactions` to submit signed ones.\n *\n * A fresh Bearer token is attached to each RPC via {@link TokenProvider}.\n */\nexport class CantonGrpcClient {\n readonly #transport: GrpcTransport;\n readonly #topologyRead: TopologyManagerReadServiceClient;\n readonly #topologyWrite: TopologyManagerWriteServiceClient;\n readonly #connectivity: SynchronizerConnectivityServiceClient;\n readonly #tokenProvider: TokenProvider;\n #synchronizerId?: string;\n\n /**\n * @param opts - Admin API host, auth, optional synchronizer id, and transport security.\n */\n constructor(opts: CantonGrpcClientOptions) {\n this.#tokenProvider = opts.tokenProvider;\n this.#synchronizerId = opts.synchronizerId;\n this.#transport = new GrpcTransport({\n host: opts.host,\n channelCredentials: buildChannelCredentials(opts.host, opts.insecureTransport),\n clientOptions: opts.grpcClientOptions ?? DEFAULT_GRPC_CLIENT_OPTIONS,\n });\n this.#topologyRead = new TopologyManagerReadServiceClient(this.#transport);\n this.#topologyWrite = new TopologyManagerWriteServiceClient(this.#transport);\n this.#connectivity = new SynchronizerConnectivityServiceClient(this.#transport);\n }\n\n /** Returns per-RPC gRPC metadata with a fresh Bearer token. */\n async #getMeta(): Promise<Record<string, string>> {\n const token = await this.#tokenProvider.getToken();\n return { Authorization: `Bearer ${token}` };\n }\n\n /**\n * Returns the client synchronizer id, discovering it on first use when omitted at construction.\n *\n * @throws {CantonProtocolError} If the participant exposes no synchronizer store.\n */\n async #getSynchronizerId(): Promise<string> {\n if (this.#synchronizerId) {\n return this.#synchronizerId;\n }\n this.#synchronizerId = await this.#discoverSynchronizerId();\n return this.#synchronizerId;\n }\n\n /**\n * Resolves the logical id of the first synchronizer the participant is connected to.\n *\n * @throws {CantonProtocolError} If the participant is not connected to any synchronizer.\n */\n async #discoverSynchronizerId(): Promise<string> {\n const { response } = await this.#connectivity.listConnectedSynchronizers(\n {},\n { meta: await this.#getMeta() },\n );\n for (const synchronizer of response.connectedSynchronizers) {\n if (synchronizer.synchronizerId) {\n return synchronizer.synchronizerId;\n }\n }\n throw new CantonProtocolError('Participant is not connected to any synchronizer');\n }\n\n /**\n * Calls `GenerateTransactions` for a single ADD_REPLACE mapping.\n *\n * @param synchronizerId - Synchronizer store to target.\n * @param mapping - Topology mapping to encode into the transaction.\n * @param serial - Topology serial (`0` lets Canton auto-determine).\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n * @throws {CantonProtocolError} If the RPC returns no generated transaction.\n */\n async #generateTopologyTransaction(\n synchronizerId: string,\n mapping: TopologyMapping,\n serial: number,\n ): Promise<GeneratedTopologyTransaction> {\n const { response } = await this.#topologyWrite.generateTransactions(\n GenerateTransactionsRequest.create({\n proposals: [\n GenerateTransactionsRequest_Proposal.create({\n operation: Enums_TopologyChangeOp.ADD_REPLACE,\n serial,\n mapping,\n store: synchronizerStore(synchronizerId),\n }),\n ],\n }),\n { meta: await this.#getMeta() },\n );\n\n const generated = response.generatedTransactions[0];\n\n if (!generated) {\n throw new CantonProtocolError('GenerateTransactions returned no topology transaction');\n }\n\n return generated;\n }\n\n /**\n * Lists Namespace Delegation (NSD) mappings for a namespace.\n *\n * Queries topology head state on the synchronizer. Returns every result from\n * the list RPC.\n *\n * @param namespaceFingerprint - Namespace to filter on (for root NSD, the owner key fingerprint).\n * @returns All matching NSD mappings, or an empty array if none exist.\n */\n async getNamespaceDelegation(\n namespaceFingerprint: string,\n ): Promise<NamespaceDelegationState[]> {\n const synchronizerId = await this.#getSynchronizerId();\n const { response } = await this.#topologyRead.listNamespaceDelegation(\n ListNamespaceDelegationRequest.create({\n baseQuery: headStateBaseQuery(synchronizerId),\n filterNamespace: namespaceFingerprint,\n // Empty string = no target-key filter; return all delegations for this namespace.\n filterTargetKeyFingerprint: '',\n }),\n { meta: await this.#getMeta() },\n );\n\n return response.results.flatMap((result) => {\n const item = result.item;\n const publicKey = item?.targetKey?.publicKey;\n if (!item || !publicKey) {\n return [];\n }\n return [\n {\n namespace: item.namespace,\n targetKeyFingerprint: computePublicKeyFingerprint(publicKey),\n isRootDelegation: item.isRootDelegation,\n serial: result.context?.serial ?? 0,\n },\n ];\n });\n }\n\n /**\n * Lists Decentralized Namespace Definition (DND) mappings for a namespace.\n *\n * Queries topology head state on the synchronizer. For a party id `hint::1220…`,\n * pass the `1220…` suffix as `namespaceFingerprint`.\n *\n * @param namespaceFingerprint - Decentralized namespace fingerprint to filter on.\n * @returns All matching DND mappings, or an empty array if none exist.\n */\n async getDecentralizedNamespaceDefinition(\n namespaceFingerprint: string,\n ): Promise<DecentralizedNamespaceDefinitionState[]> {\n const synchronizerId = await this.#getSynchronizerId();\n const { response } = await this.#topologyRead.listDecentralizedNamespaceDefinition(\n ListDecentralizedNamespaceDefinitionRequest.create({\n baseQuery: headStateBaseQuery(synchronizerId),\n filterNamespace: namespaceFingerprint,\n }),\n { meta: await this.#getMeta() },\n );\n\n return response.results.flatMap((result) => {\n const item = result.item;\n if (!item) {\n return [];\n }\n return [\n {\n namespace: item.decentralizedNamespace,\n threshold: item.threshold,\n owners: [...item.owners],\n serial: result.context?.serial ?? 0,\n },\n ];\n });\n }\n\n /**\n * Lists Party-to-Key (PTK) mappings for a party.\n *\n * Queries topology head state on the synchronizer.\n *\n * @param partyId - Full party identifier (e.g. `hint::1220…`).\n * @returns All matching PTK mappings, or an empty array if none exist.\n */\n async getPartyToKeyMapping(partyId: string): Promise<PartyToKeyMappingState[]> {\n const synchronizerId = await this.#getSynchronizerId();\n const { response } = await this.#topologyRead.listPartyToKeyMapping(\n ListPartyToKeyMappingRequest.create({\n baseQuery: headStateBaseQuery(synchronizerId),\n filterParty: partyId,\n }),\n { meta: await this.#getMeta() },\n );\n\n return response.results.flatMap((result) => {\n const item = result.item;\n if (!item) {\n return [];\n }\n return [\n {\n party: item.party,\n threshold: item.threshold,\n signingKeyFingerprints: item.signingKeys.map((key) =>\n computePublicKeyFingerprint(key.publicKey),\n ),\n serial: result.context?.serial ?? 0,\n },\n ];\n });\n }\n\n /**\n * Lists Party-to-Participant (PTP) mappings for a party.\n *\n * Queries topology head state on the synchronizer.\n *\n * @param partyId - Full party identifier (e.g. `hint::1220…`).\n * @param proposals - If `true`, query pending proposals instead of authorized mappings.\n * @returns All matching PTP mappings, or an empty array if none exist.\n */\n async getPartyToParticipantMapping(\n partyId: string,\n proposals = false,\n ): Promise<PartyToParticipantMappingState[]> {\n const synchronizerId = await this.#getSynchronizerId();\n const { response } = await this.#topologyRead.listPartyToParticipant(\n ListPartyToParticipantRequest.create({\n baseQuery: headStateBaseQuery(synchronizerId, proposals),\n filterParty: partyId,\n // Empty string = no participant filter; return all hosting mappings for this party.\n filterParticipant: '',\n }),\n { meta: await this.#getMeta() },\n );\n\n return response.results.flatMap((result) => {\n const item = result.item;\n if (!item) {\n return [];\n }\n return [\n {\n party: item.party,\n threshold: item.threshold,\n participants: item.participants.map((participant) => ({\n participantUid: participant.participantUid,\n permission: participant.permission,\n })),\n serial: result.context?.serial ?? 0,\n },\n ];\n });\n }\n\n /**\n * Builds an unsigned Namespace Delegation (NSD) topology transaction.\n *\n * Calls `GenerateTransactions` with an ADD_REPLACE mapping. The returned\n * `transactionHash` must be signed by the namespace key.\n *\n * @param params - Owner public key and optional serial.\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n */\n async createNamespaceDelegationTx(\n params: CreateNamespaceDelegationTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const mapping = buildNamespaceDelegationMapping(params.publicKeyDer);\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n /**\n * Builds an unsigned Decentralized Namespace Definition (DND) topology transaction.\n *\n * The decentralized namespace id is derived from `params.owners`. All owners\n * must sign the transaction hash.\n *\n * @param params - Owner fingerprints, threshold, and optional serial.\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n */\n async createDecentralizedNamespaceDefinitionTx(\n params: CreateDecentralizedNamespaceDefinitionTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const decentralizedNamespace = computeDecentralizedNamespace(params.owners);\n const mapping = buildDecentralizedNamespaceDefinitionMapping(\n decentralizedNamespace,\n params.threshold,\n params.owners,\n );\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n async updateDecentralizedNamespaceDefinitionTx(\n params: UpdateDecentralizedNamespaceDefinitionTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const mapping = buildDecentralizedNamespaceDefinitionMapping(\n params.namespace,\n params.threshold,\n params.owners,\n );\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n /**\n * Builds an unsigned Party-to-Key (PTK) topology transaction.\n *\n * Decentralized namespace owners must sign the transaction hash.\n *\n * @param params - Party id, signing keys, threshold, and optional serial.\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n */\n async createPartyToKeyTx(\n params: CreatePartyToKeyMappingTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const mapping = buildPartyToKeyMapping(\n params.partyId,\n params.signingPublicKeyDers,\n params.threshold,\n );\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n /**\n * Builds an unsigned Party-to-Participant (PTP) topology transaction.\n *\n * Party owners sign the transaction hash. On submit, set `proposal: true` on the\n * signed transaction so the hosting participant can authorize via `Authorize`.\n *\n * @param params - Party id, participant ids, threshold, and optional serial.\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n */\n async createPartyToParticipantTx(\n params: CreatePartyToParticipantMappingTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const mapping = buildPartyToParticipantMapping(\n params.partyId,\n params.participantIds,\n params.threshold,\n );\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n /**\n * Submits signed topology transactions to the synchronizer store.\n *\n * Multiple transactions are submitted atomically in one `AddTransactions` call.\n * When batching, sign `computeMultiTransactionHash` over all transaction hashes\n * and attach the same `MultiTransactionSignatures` to each entry.\n *\n * Set `proposal: true` on a transaction when the hosting participant must\n * authorize that mapping afterward.\n *\n * @param transactions - One or more signed topology transactions.\n * @throws {CantonError} If `transactions` is empty.\n */\n async submitTopologyTransactions(\n transactions: readonly SignedTopologyTransaction[],\n ): Promise<void> {\n if (transactions.length === 0) {\n throw new CantonError('AddTransactions requires at least one transaction');\n }\n const synchronizerId = await this.#getSynchronizerId();\n await this.#topologyWrite.addTransactions(\n AddTransactionsRequest.create({\n transactions: [...transactions],\n store: synchronizerStore(synchronizerId),\n }),\n { meta: await this.#getMeta() },\n );\n }\n\n /** Closes the underlying gRPC transport. */\n close(): void {\n this.#transport.close();\n }\n}\n"]}