@layerzerolabs/common-canton 1.2.83 → 1.2.85

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 (270) 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 → 4S3STHD2.js} +4 -4
  6. package/dist/{6U4QHSRF.js.map → 4S3STHD2.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/{P4EU3CCU.js → BCHJSHJV.js} +8 -8
  26. package/dist/{P4EU3CCU.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/{XENB5GVW.js → K6KCXLMQ.js} +40 -3
  66. package/dist/K6KCXLMQ.js.map +1 -0
  67. package/dist/{SWLTCAND.js → LAU7FTTN.js} +3 -3
  68. package/dist/{SWLTCAND.js.map → LAU7FTTN.js.map} +1 -1
  69. package/dist/MPUXBCWT.js +3 -0
  70. package/dist/MPUXBCWT.js.map +1 -0
  71. package/dist/{UOUWLGR4.js → NE7OAYT7.js} +3 -3
  72. package/dist/{UOUWLGR4.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/{XCOORR26.js → P4PU4NFW.js} +3 -3
  82. package/dist/P4PU4NFW.js.map +1 -0
  83. package/dist/{BAJWS3PR.js → QRPS2ZRD.js} +3 -3
  84. package/dist/{BAJWS3PR.js.map → QRPS2ZRD.js.map} +1 -1
  85. package/dist/{PIQ3L4RJ.js → REFDOIP7.js} +3 -3
  86. package/dist/{PIQ3L4RJ.js.map → REFDOIP7.js.map} +1 -1
  87. package/dist/{W5NNHK5Y.js → RLSRF5OW.js} +3 -3
  88. package/dist/{W5NNHK5Y.js.map → RLSRF5OW.js.map} +1 -1
  89. package/dist/{B7B4NFMT.js → THOAMWP2.js} +5 -5
  90. package/dist/{B7B4NFMT.js.map → THOAMWP2.js.map} +1 -1
  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.map +1 -1
  114. package/dist/amulet.d.ts.map +1 -1
  115. package/dist/auth/client-credentials-token-provider.d.ts.map +1 -1
  116. package/dist/auth/local-token-provider.d.ts.map +1 -1
  117. package/dist/client/amulet.d.ts.map +1 -1
  118. package/dist/client/amulet.js +3 -2
  119. package/dist/client/canton-client.d.ts +1 -0
  120. package/dist/client/canton-client.d.ts.map +1 -1
  121. package/dist/client/canton-client.js +82 -81
  122. package/dist/client/grpc.d.ts +14 -0
  123. package/dist/client/grpc.d.ts.map +1 -1
  124. package/dist/client/grpc.js +1 -1
  125. package/dist/client/index.js +83 -82
  126. package/dist/client/interface.d.ts +6 -0
  127. package/dist/client/interface.d.ts.map +1 -1
  128. package/dist/client/topology/synchronizer-connectivity.d.ts.map +1 -1
  129. package/dist/client/topology/utils.d.ts.map +1 -1
  130. package/dist/deferredValue.d.ts +1 -1
  131. package/dist/deferredValue.d.ts.map +1 -1
  132. package/dist/errors.d.ts +2 -2
  133. package/dist/errors.d.ts.map +1 -1
  134. package/dist/events.d.ts.map +1 -1
  135. package/dist/index.js +96 -95
  136. package/dist/minFee.d.ts.map +1 -1
  137. package/dist/open-api/apis/DefaultApi.d.ts.map +1 -1
  138. package/dist/open-api/apis/DefaultApi.js +78 -78
  139. package/dist/open-api/apis/index.js +78 -78
  140. package/dist/open-api/index.js +78 -78
  141. package/dist/open-api/models/Command.js +3 -3
  142. package/dist/open-api/models/Completion.js +4 -4
  143. package/dist/open-api/models/Completion1.js +3 -3
  144. package/dist/open-api/models/CompletionResponse.js +6 -6
  145. package/dist/open-api/models/CompletionResponseOneOf.js +5 -5
  146. package/dist/open-api/models/CompletionStreamResponse.js +7 -7
  147. package/dist/open-api/models/ConnectedSynchronizer.d.ts +4 -4
  148. package/dist/open-api/models/ConnectedSynchronizer.d.ts.map +1 -1
  149. package/dist/open-api/models/CostEstimationHints.d.ts +5 -5
  150. package/dist/open-api/models/CostEstimationHints.d.ts.map +1 -1
  151. package/dist/open-api/models/CreateUserRequest.js +4 -4
  152. package/dist/open-api/models/DeduplicationPeriod.js +2 -2
  153. package/dist/open-api/models/Event.js +2 -2
  154. package/dist/open-api/models/ExperimentalFeatures.js +2 -2
  155. package/dist/open-api/models/FeaturesDescriptor.js +3 -3
  156. package/dist/open-api/models/GetCompletionByHashResponse.js +4 -4
  157. package/dist/open-api/models/GetLedgerApiVersionResponse.js +4 -4
  158. package/dist/open-api/models/GetPackageStatusResponse.d.ts +2 -2
  159. package/dist/open-api/models/GetPackageStatusResponse.d.ts.map +1 -1
  160. package/dist/open-api/models/GrantUserRightsRequest.js +4 -4
  161. package/dist/open-api/models/GrantUserRightsResponse.js +4 -4
  162. package/dist/open-api/models/JsCommands.js +6 -6
  163. package/dist/open-api/models/JsExecuteSubmissionAndWaitForTransactionRequest.d.ts +4 -4
  164. package/dist/open-api/models/JsExecuteSubmissionAndWaitForTransactionRequest.d.ts.map +1 -1
  165. package/dist/open-api/models/JsExecuteSubmissionAndWaitForTransactionResponse.js +4 -4
  166. package/dist/open-api/models/JsExecuteSubmissionAndWaitRequest.d.ts +4 -4
  167. package/dist/open-api/models/JsExecuteSubmissionAndWaitRequest.d.ts.map +1 -1
  168. package/dist/open-api/models/JsExecuteSubmissionRequest.d.ts +4 -4
  169. package/dist/open-api/models/JsExecuteSubmissionRequest.d.ts.map +1 -1
  170. package/dist/open-api/models/JsGetUpdateResponse.js +14 -14
  171. package/dist/open-api/models/JsGetUpdatesPageResponse.js +15 -15
  172. package/dist/open-api/models/JsGetUpdatesResponse.js +14 -14
  173. package/dist/open-api/models/JsPrepareSubmissionRequest.d.ts +4 -4
  174. package/dist/open-api/models/JsPrepareSubmissionRequest.d.ts.map +1 -1
  175. package/dist/open-api/models/JsPrepareSubmissionRequest.js +5 -5
  176. package/dist/open-api/models/JsPrepareSubmissionResponse.d.ts +4 -4
  177. package/dist/open-api/models/JsPrepareSubmissionResponse.d.ts.map +1 -1
  178. package/dist/open-api/models/JsSubmitAndWaitForTransactionRequest.js +7 -7
  179. package/dist/open-api/models/JsSubmitAndWaitForTransactionResponse.js +4 -4
  180. package/dist/open-api/models/JsTopologyTransaction.js +4 -4
  181. package/dist/open-api/models/JsTransaction.js +3 -3
  182. package/dist/open-api/models/Kind.js +2 -2
  183. package/dist/open-api/models/ListUserRightsResponse.js +4 -4
  184. package/dist/open-api/models/ParticipantAuthorizationAdded1.d.ts +4 -4
  185. package/dist/open-api/models/ParticipantAuthorizationAdded1.d.ts.map +1 -1
  186. package/dist/open-api/models/ParticipantAuthorizationChanged1.d.ts +4 -4
  187. package/dist/open-api/models/ParticipantAuthorizationChanged1.d.ts.map +1 -1
  188. package/dist/open-api/models/ParticipantAuthorizationOnboarding1.d.ts +4 -4
  189. package/dist/open-api/models/ParticipantAuthorizationOnboarding1.d.ts.map +1 -1
  190. package/dist/open-api/models/RevokeUserRightsRequest.js +4 -4
  191. package/dist/open-api/models/RevokeUserRightsResponse.js +4 -4
  192. package/dist/open-api/models/Right.js +3 -3
  193. package/dist/open-api/models/TopologyEvent.js +3 -3
  194. package/dist/open-api/models/TopologyEventEvent.js +2 -2
  195. package/dist/open-api/models/TopologyTransaction.js +5 -5
  196. package/dist/open-api/models/Transaction.js +4 -4
  197. package/dist/open-api/models/TransactionFormat.d.ts +3 -3
  198. package/dist/open-api/models/TransactionFormat.d.ts.map +1 -1
  199. package/dist/open-api/models/Update.js +13 -13
  200. package/dist/open-api/models/UpdateOneOf2.js +6 -6
  201. package/dist/open-api/models/UpdateOneOf3.js +5 -5
  202. package/dist/open-api/models/UpdateVettedPackagesRequest.d.ts +3 -3
  203. package/dist/open-api/models/UpdateVettedPackagesRequest.d.ts.map +1 -1
  204. package/dist/open-api/models/index.js +77 -77
  205. package/dist/open-api/runtime.d.ts.map +1 -1
  206. package/dist/provider.js +84 -83
  207. package/dist/refresh/address-resolver.d.ts +2 -2
  208. package/dist/refresh/address-resolver.d.ts.map +1 -1
  209. package/dist/refresh/callback-burn-mint.d.ts.map +1 -1
  210. package/dist/refresh/callback-burn-mint.js +9 -2
  211. package/dist/refresh/callback-contracts.d.ts.map +1 -1
  212. package/dist/refresh/callback-lock-unlock.d.ts.map +1 -1
  213. package/dist/refresh/callback-lock-unlock.js +9 -2
  214. package/dist/refresh/callback-registry.d.ts +26 -0
  215. package/dist/refresh/callback-registry.d.ts.map +1 -0
  216. package/dist/refresh/callback-registry.js +13 -0
  217. package/dist/refresh/callback-registry.js.map +1 -0
  218. package/dist/refresh/callback.d.ts +5 -5
  219. package/dist/refresh/callback.d.ts.map +1 -1
  220. package/dist/refresh/callback.js +10 -4
  221. package/dist/refresh/deployment-address.d.ts.map +1 -1
  222. package/dist/refresh/index.d.ts +1 -0
  223. package/dist/refresh/index.d.ts.map +1 -1
  224. package/dist/refresh/index.js +15 -14
  225. package/dist/refresh/onesig-config.d.ts.map +1 -1
  226. package/dist/refresh/onesig-discovery.d.ts +2 -2
  227. package/dist/refresh/onesig-discovery.d.ts.map +1 -1
  228. package/dist/refresh/onesig-request.d.ts.map +1 -1
  229. package/dist/refresh/onesig-request.js +1 -1
  230. package/dist/refresh/onesig-scope.d.ts.map +1 -1
  231. package/dist/refresh/onesig-transfer-instruction.d.ts +3 -3
  232. package/dist/refresh/onesig-transfer-instruction.d.ts.map +1 -1
  233. package/dist/refresh/onesig-transfer-instruction.js +8 -5
  234. package/dist/refresh/onesig-transfer.d.ts +3 -3
  235. package/dist/refresh/onesig-transfer.d.ts.map +1 -1
  236. package/dist/refresh/onesig-transfer.js +8 -6
  237. package/dist/refresh/plan.d.ts +312 -312
  238. package/dist/refresh/prepare-amulet-transfer.d.ts.map +1 -1
  239. package/dist/refresh/prepare-amulet-transfer.js +4 -3
  240. package/dist/refresh/prepare-transfer-instruction-acceptance.d.ts.map +1 -1
  241. package/dist/refresh/registry-context.d.ts +7 -1
  242. package/dist/refresh/registry-context.d.ts.map +1 -1
  243. package/dist/refresh/registry-context.js +2 -1
  244. package/dist/refresh/resolve-plan.d.ts.map +1 -1
  245. package/dist/refresh/resolve-plan.js +12 -10
  246. package/dist/refresh/resolve.d.ts.map +1 -1
  247. package/dist/refresh/resolve.js +13 -11
  248. package/dist/refresh/select-contracts.d.ts +3 -0
  249. package/dist/refresh/select-contracts.d.ts.map +1 -1
  250. package/dist/refresh/select-contracts.js +1 -1
  251. package/dist/sdk/canton-sdk.d.ts +6 -0
  252. package/dist/sdk/canton-sdk.d.ts.map +1 -1
  253. package/dist/sdk/canton-sdk.js +1 -1
  254. package/dist/sdk/index.js +1 -1
  255. package/dist/transaction.d.ts +575 -575
  256. package/dist/transaction.d.ts.map +1 -1
  257. package/dist/trusted-origin.d.ts.map +1 -1
  258. package/dist/types.d.ts +3 -3
  259. package/dist/types.d.ts.map +1 -1
  260. package/package.json +13 -14
  261. package/dist/43KGTQUU.js.map +0 -1
  262. package/dist/5W44RCVL.js.map +0 -1
  263. package/dist/7JEW4NHI.js.map +0 -1
  264. package/dist/CNSI6MLV.js +0 -3
  265. package/dist/CNSI6MLV.js.map +0 -1
  266. package/dist/KFTXC6M6.js.map +0 -1
  267. package/dist/L64D74BZ.js.map +0 -1
  268. package/dist/Q3BYU6GJ.js.map +0 -1
  269. package/dist/XCOORR26.js.map +0 -1
  270. package/dist/XENB5GVW.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/refresh/callback-burn-mint.ts"],"names":["DELEGATE_TEMPLATE","HOLDING_INTERFACE","MINT_FACTORY_PATH","applyDelegate","sdk","informee","offset","factory","instrumentId","oappAdmin","contracts","queryActiveContracts","templateIds","includeCreatedEventBlob","matches","filter","createdEvent","payload","createArgument","admin","id","delegate","isTrustedOrigin","length","Error","match","burnMintFactoryCid","factoryId","contractId","choiceContext","disclosedContracts","callbackDisclosure","resolveBurnMintCallbackContext","appUid","mintEscrow","receivers","environment","holdings","selectLargestContracts","fetchCallbackHoldings","callbackHoldingAmount","inputHoldingCids","map","holding","firstAmount","callbackInterfaceView","amount","find","withCantonCallbackRegistry","registry","kind","parsed","assertSafeRegistryUrl","url","label","registryMintFactory","postFactoryContext","URL","origin","toString","outputs","owner","probeName","mintFactory","issuerCredentials","discloseUtilityCredentials","values","transferFactory","fetchMergedTransferFactoryContext","sender","senderCredentials","burnMintExtraArgs","burnMintOutputContext","transferFactoryCid","assetTransferContext"],"mappings":";;;;;;;;AAiBA,IAAMA,iBAAAA,GAAoB,gEAAA;AAC1B,IAAMC,iBAAAA,GAAoB,iEAAA;AAC1B,IAAMC,iBAAAA,GAAoB,sEAAA;AAG1B,IAAMC,gCAAgB,MAAA,CAAA,OAClBC,GAAAA,EACAC,UACAC,MAAAA,EACAC,OAAAA,EACAC,cACAC,SAAAA,KAAAA;AAEA,EAAA,MAAMC,SAAAA,GAAY,MAAMN,GAAAA,CAAIO,oBAAAA,CAAqBN,UAAUC,MAAAA,EAAQ;IAC/DM,WAAAA,EAAa;AAACZ,MAAAA;;IACda,uBAAAA,EAAyB;GAC7B,CAAA;AACA,EAAA,MAAMC,UAAUJ,SAAAA,CAAUK,MAAAA,CAAO,CAAC,EAAEC,cAAY,KAAE;AAC9C,IAAA,MAAMC,WAAUD,YAAAA,CAAaE,cAAAA;AAC7B,IAAA,OACID,SAAQT,YAAAA,EAAcW,KAAAA,KAAUX,YAAAA,CAAaW,KAAAA,IAC7CF,SAAQT,YAAAA,CAAaY,EAAAA,KAAOZ,YAAAA,CAAaY,EAAAA,IACzCH,SAAQI,QAAAA,KAAaZ,SAAAA,IACrBa,gBAAgBN,YAAAA,EAAcR,YAAAA,CAAaW,OAAO,oBAAA,CAAA;EAE1D,CAAA,CAAA;AACA,EAAA,IAAIL,OAAAA,CAAQS,SAAS,CAAA,EAAG;AACpB,IAAA,MAAM,IAAIC,KAAAA,CACN,CAAA,mDAAA,EAAsDhB,YAAAA,CAAaW,KAAK,CAAA,CAAA,EAAIX,YAAAA,CAAaY,EAAE,CAAA,UAAA,EAAaX,SAAAA,CAAAA,EAAAA,EAAcK,OAAAA,CAAQS,MAAM,CAAA,CAAA,CAAG,CAAA;AAE/I,EAAA;AACA,EAAA,MAAME,KAAAA,GAAQX,QAAQ,CAAA,CAAA;AACtB,EAAA,IAAI,CAACW,KAAAA,EAAO;AACR,IAAA,IAAIhB,SAAAA,KAAcD,aAAaW,KAAAA,EAAO;AAClC,MAAA,MAAM,IAAIK,KAAAA,CACN,CAAA,mCAAA,EAAsChB,YAAAA,CAAaW,KAAK,IAAIX,YAAAA,CAAaY,EAAE,CAAA,UAAA,EAAaX,SAAAA,CAAAA,+CAAAA,CAA0D,CAAA;AAE1J,IAAA;AACA,IAAA,OAAOF,OAAAA;AACX,EAAA;AACA,EAAA,MAAMU,OAAAA,GAAUQ,MAAMT,YAAAA,CAAaE,cAAAA;AACnC,EAAA,IAAID,OAAAA,CAAQS,kBAAAA,KAAuBnB,OAAAA,CAAQoB,SAAAA,EAAW;AAClD,IAAA,MAAM,IAAIH,KAAAA,CACN,CAAA,iBAAA,EAAoBC,KAAAA,CAAMT,YAAAA,CAAaY,UAAU,CAAA,6BAAA,EAAgCX,OAAAA,CAAQS,kBAAkB,CAAA,4BAAA,EAA+BnB,OAAAA,CAAQoB,SAAS,CAAA,CAAE,CAAA;AAErK,EAAA;AACA,EAAA,OAAO;AACHA,IAAAA,SAAAA,EAAWF,MAAMT,YAAAA,CAAaY,UAAAA;AAC9BC,IAAAA,aAAAA,EAAetB,OAAAA,CAAQsB,aAAAA;IACvBC,kBAAAA,EAAoB;AAACC,MAAAA,kBAAAA,CAAmBN,KAAAA,CAAAA;SAAWlB,OAAAA,CAAQuB;;AAC/D,GAAA;AACJ,CAAA,EA9CsB,eAAA,CAAA;AAgDf,IAAME,8BAAAA,mBAAiC,MAAA,CAAA,OAAO,EACjD5B,GAAAA,EACAC,QAAAA,EACA4B,MAAAA,EACAxB,SAAAA,EACAyB,UAAAA,EACA1B,YAAAA,EACAF,MAAAA,EACA6B,SAAAA,EACAC,WAAAA,EAAW,KAWd;AAQG,EAAA,IAAID,SAAAA,CAAUZ,MAAAA,KAAW,CAAA,EAAG,OAAO;AAAEO,IAAAA,kBAAAA,EAAoB;AAAG,GAAA;AAC5D,EAAA,MAAMO,QAAAA,GAAWC,uBACb,MAAMC,qBAAAA,CAAsBnC,KAAK8B,UAAAA,EAAY5B,MAAAA,EAAQE,YAAAA,CAAAA,EACrDgC,qBAAAA,CAAAA;AAEJ,EAAA,MAAMC,mBAAmBJ,QAAAA,CAASK,GAAAA,CAAI,CAACC,OAAAA,KAAYA,OAAAA,CAAQ3B,aAAaY,UAAU,CAAA;AAClF,EAAA,MAAMgB,cAAcP,QAAAA,CACfK,GAAAA,CAAI,CAACC,OAAAA,KAAYE,sBAAsBF,OAAAA,EAAS1C,iBAAAA,CAAAA,EAAoB6C,MAAAA,EACpEC,IAAAA,CAAK,CAACD,WAA6BA,MAAAA,IAAU,IAAA,IAAQA,WAAW,GAAA,CAAA;AACrE,EAAA,OAAOE,0BAAAA,CACH;AAAE5C,IAAAA,GAAAA;AAAKC,IAAAA,QAAAA;AAAUC,IAAAA,MAAAA;AAAQ2B,IAAAA,MAAAA;AAAQzB,IAAAA,YAAAA;AAAc4B,IAAAA;AAAY,GAAA,EAC3D,OAAOa,QAAAA,KAAAA;AACH,IAAA,IAAIA,QAAAA,CAASC,SAAS,QAAA,EAAU;AAC5B,MAAA,MAAM,IAAI1B,MAAM,qDAAA,CAAA;AACpB,IAAA;AACA,IAAA,MAAM2B,MAAAA,GAASC,qBAAAA,CAAsBH,QAAAA,CAASI,GAAAA,EAAK;AAC/CjB,MAAAA,WAAAA;MACAkB,KAAAA,EAAO;KACX,CAAA;AACA,IAAA,MAAMC,mBAAAA,GAAsB,MAAMC,kBAAAA,CAC9B,IAAIC,GAAAA,CAAIvD,iBAAAA,EAAmB,CAAA,EAAGiD,MAAAA,CAAOO,MAAM,CAAA,CAAA,CAAG,CAAA,CAAEC,QAAAA,EAAQ,EACxD;AACInD,MAAAA,YAAAA;AACAiC,MAAAA,gBAAAA,EAAkB,EAAA;MAClBmB,OAAAA,EAAS;AAAC,QAAA;UAAEC,KAAAA,EAAO3B,UAAAA;UAAYY,MAAAA,EAAQ;AAAI;;KAC/C,EACA;MAAEgB,SAAAA,EAAW;KAAoB,CAAA;AAErC,IAAA,MAAMC,WAAAA,GAAc,MAAM5D,aAAAA,CACtBC,GAAAA,EACAC,UACAC,MAAAA,EACAiD,mBAAAA,EACA/C,cACAC,SAAAA,CAAAA;AAEJ,IAAA,MAAMuD,iBAAAA,GAAoB,MAAMC,0BAAAA,CAC5B7D,GAAAA,EACA2D,WAAAA,CAAYlC,cAAcqC,MAAAA,CAAO,6CAAA,CAAA,EACjChC,UAAAA,EACA,QAAA,CAAA;AAEJ,IAAA,MAAMiC,eAAAA,GAAkB,MAAMC,iCAAAA,CAC1BnB,QAAAA,CAASI,KACT7C,YAAAA,EACA;AACI4B,MAAAA,WAAAA;AACAK,MAAAA,gBAAAA;MACA4B,MAAAA,EAAQnC,UAAAA;AACRY,MAAAA,MAAAA,EAAQF,WAAAA,IAAe,GAAA;AACvBT,MAAAA;KACJ,CAAA;AAEJ,IAAA,MAAMmC,iBAAAA,GAAoB,MAAML,0BAAAA,CAC5B7D,GAAAA,EACA+D,eAAAA,CAAgBtC,cAAcqC,MAAAA,CAAO,6CAAA,CAAA,EACrChC,UAAAA,EACA,QAAA,CAAA;AAEJ,IAAA,OAAO;MACHJ,kBAAAA,EAAoB;WACbiC,WAAAA,CAAYjC,kBAAAA;AACZkC,QAAAA,GAAAA,iBAAAA;WACAG,eAAAA,CAAgBrC,kBAAAA;AAChBwC,QAAAA,GAAAA;;AAEP5C,MAAAA,kBAAAA,EAAoBqC,WAAAA,CAAYpC,SAAAA;AAChC4C,MAAAA,iBAAAA,EAAmBR,YAAYlC,aAAAA,CAAcqC,MAAAA;AAC7CM,MAAAA,qBAAAA,EAAuB,EAAC;AACxBC,MAAAA,kBAAAA,EAAoBN,eAAAA,CAAgBxC,SAAAA;AACpC+C,MAAAA,oBAAAA,EAAsBP,gBAAgBtC,aAAAA,CAAcqC;AACxD,KAAA;EACJ,CAAA,CAAA;AAER,CAAA,EAtG8C,gCAAA","file":"E6T5VFT3.js","sourcesContent":["import type { InstrumentId } from '../client/amulet';\nimport type { CantonSdk } from '../sdk';\nimport type { CantonDisclosedContract } from '../transaction';\nimport { isTrustedOrigin } from '../trusted-origin';\nimport { callbackDisclosure, callbackInterfaceView } from './callback-contracts';\nimport { withCantonCallbackRegistry } from './callback-registry';\nimport {\n assertSafeRegistryUrl,\n callbackHoldingAmount,\n discloseUtilityCredentials,\n fetchCallbackHoldings,\n fetchMergedTransferFactoryContext,\n postFactoryContext,\n type TransferFactoryContext,\n} from './registry-context';\nimport { selectLargestContracts } from './select-contracts';\n\nconst DELEGATE_TEMPLATE = '#layerzero-burn-mint-adapter:BurnMintDelegate:BurnMintDelegate';\nconst HOLDING_INTERFACE = '#splice-api-token-holding-v1:Splice.Api.Token.HoldingV1:Holding';\nconst MINT_FACTORY_PATH = 'api/utilities/v0/registry/burn-mint-instruction/v0/burn-mint-factory';\ntype DelegatePayload = { instrumentId: InstrumentId; delegate: string; burnMintFactoryCid: string };\n\nconst applyDelegate = async (\n sdk: CantonSdk,\n informee: string,\n offset: number,\n factory: TransferFactoryContext,\n instrumentId: InstrumentId,\n oappAdmin: string,\n): Promise<TransferFactoryContext> => {\n const contracts = await sdk.queryActiveContracts(informee, offset, {\n templateIds: [DELEGATE_TEMPLATE],\n includeCreatedEventBlob: true,\n });\n const matches = contracts.filter(({ createdEvent }) => {\n const payload = createdEvent.createArgument as DelegatePayload;\n return (\n payload.instrumentId?.admin === instrumentId.admin &&\n payload.instrumentId.id === instrumentId.id &&\n payload.delegate === oappAdmin &&\n isTrustedOrigin(createdEvent, instrumentId.admin, 'instrumentId.admin')\n );\n });\n if (matches.length > 1) {\n throw new Error(\n `Multiple BurnMintDelegate contracts for instrument ${instrumentId.admin}/${instrumentId.id} delegate=${oappAdmin} (${matches.length})`,\n );\n }\n const match = matches[0];\n if (!match) {\n if (oappAdmin !== instrumentId.admin) {\n throw new Error(\n `No BurnMintDelegate for instrument ${instrumentId.admin}/${instrumentId.id} delegate=${oappAdmin}; the adapter admin is not the instrument admin`,\n );\n }\n return factory;\n }\n const payload = match.createdEvent.createArgument as DelegatePayload;\n if (payload.burnMintFactoryCid !== factory.factoryId) {\n throw new Error(\n `BurnMintDelegate ${match.createdEvent.contractId} points at burn-mint factory ${payload.burnMintFactoryCid}, but the registry returned ${factory.factoryId}`,\n );\n }\n return {\n factoryId: match.createdEvent.contractId,\n choiceContext: factory.choiceContext,\n disclosedContracts: [callbackDisclosure(match), ...factory.disclosedContracts],\n };\n};\n\nexport const resolveBurnMintCallbackContext = async ({\n sdk,\n informee,\n appUid,\n oappAdmin,\n mintEscrow,\n instrumentId,\n offset,\n receivers,\n environment,\n}: {\n sdk: CantonSdk;\n informee: string;\n appUid: string;\n oappAdmin: string;\n mintEscrow: string;\n instrumentId: InstrumentId;\n offset: number;\n receivers: string[];\n environment?: string;\n}): Promise<{\n disclosedContracts: CantonDisclosedContract[];\n transferFactoryCid?: string;\n assetTransferContext?: Record<string, unknown>;\n burnMintFactoryCid?: string;\n burnMintExtraArgs?: Record<string, unknown>;\n burnMintOutputContext?: Record<string, unknown>;\n}> => {\n if (receivers.length === 0) return { disclosedContracts: [] };\n const holdings = selectLargestContracts(\n await fetchCallbackHoldings(sdk, mintEscrow, offset, instrumentId),\n callbackHoldingAmount,\n );\n const inputHoldingCids = holdings.map((holding) => holding.createdEvent.contractId);\n const firstAmount = holdings\n .map((holding) => callbackInterfaceView(holding, HOLDING_INTERFACE)?.amount)\n .find((amount): amount is string => amount != null && amount !== '0');\n return withCantonCallbackRegistry(\n { sdk, informee, offset, appUid, instrumentId, environment },\n async (registry) => {\n if (registry.kind === 'amulet') {\n throw new Error('Amulet cannot be minted through a burn-mint adapter');\n }\n const parsed = assertSafeRegistryUrl(registry.url, {\n environment,\n label: 'burn-mint-factory utilities URL',\n });\n const registryMintFactory = await postFactoryContext(\n new URL(MINT_FACTORY_PATH, `${parsed.origin}/`).toString(),\n {\n instrumentId,\n inputHoldingCids: [],\n outputs: [{ owner: mintEscrow, amount: '1' }],\n },\n { probeName: 'burn-mint-factory' },\n );\n const mintFactory = await applyDelegate(\n sdk,\n informee,\n offset,\n registryMintFactory,\n instrumentId,\n oappAdmin,\n );\n const issuerCredentials = await discloseUtilityCredentials(\n sdk,\n mintFactory.choiceContext.values['utility.digitalasset.com/issuer-credentials'],\n mintEscrow,\n 'issuer',\n );\n const transferFactory = await fetchMergedTransferFactoryContext(\n registry.url,\n instrumentId,\n {\n environment,\n inputHoldingCids,\n sender: mintEscrow,\n amount: firstAmount ?? '0',\n receivers,\n },\n );\n const senderCredentials = await discloseUtilityCredentials(\n sdk,\n transferFactory.choiceContext.values['utility.digitalasset.com/sender-credentials'],\n mintEscrow,\n 'sender',\n );\n return {\n disclosedContracts: [\n ...mintFactory.disclosedContracts,\n ...issuerCredentials,\n ...transferFactory.disclosedContracts,\n ...senderCredentials,\n ],\n burnMintFactoryCid: mintFactory.factoryId,\n burnMintExtraArgs: mintFactory.choiceContext.values,\n burnMintOutputContext: {},\n transferFactoryCid: transferFactory.factoryId,\n assetTransferContext: transferFactory.choiceContext.values,\n };\n },\n );\n};\n"]}
@@ -1,6 +1,6 @@
1
- import { parseDamlDecimal, selectContractAmounts } from './Q3BYU6GJ.js';
2
- import { cantonCallbackAppUid } from './MV4DFHZP.js';
3
- import { fetchCallbackHoldings, discoveryUrlsForAppUid, fetchTransferFactoryContext, discloseUtilityCredentials, mergeDisclosedContracts } from './L64D74BZ.js';
1
+ import { cantonCallbackAppUid } from './FRIE5Q6G.js';
2
+ import { fetchCallbackHoldings, discoveryUrlsForAppUid, fetchTransferFactoryContext, discloseUtilityCredentials, mergeDisclosedContracts } from './TLQX4ZQW.js';
3
+ import { parseDamlDecimal, selectContractAmounts } from './ZEK5YBPA.js';
4
4
  import { callbackInterfaceView, callbackDisclosure } from './YMXOSAU4.js';
5
5
  import { smallestUnitsToDamlDecimal } from './4WZTQJXP.js';
6
6
  import { cantonDisclosedContractSchema } from './UG2M23HF.js';
@@ -101,5 +101,5 @@ var resolveCantonOneSigTransferBatch = /* @__PURE__ */ __name(async (sdk, input,
101
101
  }, "resolveCantonOneSigTransferBatch");
102
102
 
103
103
  export { resolveCantonOneSigTransferBatch };
104
- //# sourceMappingURL=VQM45MNW.js.map
105
- //# sourceMappingURL=VQM45MNW.js.map
104
+ //# sourceMappingURL=FC62Z3SD.js.map
105
+ //# sourceMappingURL=FC62Z3SD.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/refresh/onesig-transfer.ts"],"names":["HOLDING","providerDisclosuresSchema","z","array","cantonDisclosedContractSchema","extend","contractId","string","min","createdEventBlob","synchronizerId","transferCallSchema","object","tag","literal","value","receiver","amount","regex","instrumentId","admin","id","instructionExpiry","microseconds","resolveCantonOneSigTransferBatch","sdk","input","signedCalls","client","calls","parse","groups","Map","instrumentKey","instrument","JSON","stringify","key","parseDamlDecimal","Error","group","get","set","inputHoldingCids","offset","getLedgerEndOffset","disclosedContracts","values","holdings","fetchCallbackHoldings","selected","selectContractAmounts","smallestUnitsToDamlDecimal","toString","contract","callbackInterfaceView","createdEvent","map","push","callbackDisclosure","contexts","canonical","getDsoParty","url","urls","discoveryUrlsForAppUid","informee","cantonCallbackAppUid","length","registryUrls","millis","Date","now","requestedAt","toISOString","deadline","BigInt","fraction","executeBefore","Number","replace","padStart","args","sender","bundle","getAmuletTransferFactoryContext","fetchTransferFactoryContext","environment","discloseUtilityCredentials","choiceContext","transferFactoryCid","factoryId","timestamp","extraArgsContext","mergeDisclosedContracts"],"mappings":"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","file":"VQM45MNW.js","sourcesContent":["import { z } from 'zod';\n\nimport type { ICantonClient } from '../client/interface';\nimport type { CantonSdk } from '../sdk/canton-sdk';\nimport { type CantonDisclosedContract, cantonDisclosedContractSchema } from '../transaction';\nimport { smallestUnitsToDamlDecimal } from '../types';\nimport { cantonCallbackAppUid } from './callback';\nimport { callbackDisclosure, callbackInterfaceView } from './callback-contracts';\nimport type { CantonOneSigTransferBatchRefresh } from './plan';\nimport {\n discloseUtilityCredentials,\n discoveryUrlsForAppUid,\n fetchCallbackHoldings,\n fetchTransferFactoryContext,\n mergeDisclosedContracts,\n} from './registry-context';\nimport { parseDamlDecimal, selectContractAmounts } from './select-contracts';\n\nconst HOLDING = '#splice-api-token-holding-v1:Splice.Api.Token.HoldingV1:Holding';\nconst providerDisclosuresSchema = z.array(\n cantonDisclosedContractSchema.extend({\n contractId: z.string().min(1),\n createdEventBlob: z.string().min(1),\n synchronizerId: z.string().min(1),\n }),\n);\nconst transferCallSchema = z.object({\n tag: z.literal('OpTransfer'),\n value: z.object({\n receiver: z.string().min(1),\n amount: z.string().regex(/^\\d+(?:\\.\\d{1,10})?$/),\n instrumentId: z.object({ admin: z.string().min(1), id: z.string() }),\n instructionExpiry: z.object({ microseconds: z.string().regex(/^-?\\d+$/) }),\n }),\n});\n\nexport const resolveCantonOneSigTransferBatch = async (\n sdk: CantonSdk,\n input: CantonOneSigTransferBatchRefresh['resolver'],\n signedCalls: unknown[],\n client: Pick<ICantonClient, 'getDsoParty' | 'getAmuletTransferFactoryContext'>,\n) => {\n const calls = z.array(transferCallSchema).min(1).parse(signedCalls);\n const groups = new Map<\n string,\n { instrumentId: { admin: string; id: string }; amount: bigint; inputHoldingCids: string[] }\n >();\n const instrumentKey = (instrument: { admin: string; id: string }) =>\n JSON.stringify([instrument.admin, instrument.id]);\n for (const { value } of calls) {\n const key = instrumentKey(value.instrumentId);\n const amount = parseDamlDecimal(value.amount, 'Transfer amount');\n if (amount <= 0n) throw new Error('Transfer amount must be positive');\n const group = groups.get(key);\n if (group) group.amount += amount;\n else groups.set(key, { instrumentId: value.instrumentId, amount, inputHoldingCids: [] });\n }\n const offset = await sdk.getLedgerEndOffset();\n const disclosedContracts: CantonDisclosedContract[] = [];\n for (const group of groups.values()) {\n const holdings = await fetchCallbackHoldings(sdk, input.admin, offset, group.instrumentId);\n const selected = selectContractAmounts(\n holdings,\n 'amount',\n smallestUnitsToDamlDecimal(group.amount.toString()),\n (contract) =>\n parseDamlDecimal(\n callbackInterfaceView(contract, HOLDING)?.amount,\n `Holding ${contract.createdEvent.contractId} amount`,\n ),\n );\n group.inputHoldingCids = selected.map(({ createdEvent }) => createdEvent.contractId);\n disclosedContracts.push(...selected.map(callbackDisclosure));\n }\n const contexts = [];\n for (const { value } of calls) {\n const group = groups.get(instrumentKey(value.instrumentId))!;\n const canonical =\n value.instrumentId.id === 'Amulet' &&\n value.instrumentId.admin === (await client.getDsoParty());\n let url: string | undefined;\n if (!canonical) {\n const urls = await discoveryUrlsForAppUid(\n sdk,\n input.informee,\n offset,\n cantonCallbackAppUid(value.instrumentId.admin, value.instrumentId.id),\n );\n if (urls.length > 1) throw new Error('Ambiguous transfer registry');\n url = urls[0] ?? input.registryUrls?.[value.instrumentId.admin];\n if (!url) throw new Error('No registry for transfer instrument');\n }\n const millis = Date.now();\n const requestedAt = new Date(millis).toISOString();\n const deadline = BigInt(millis) * 1000n + BigInt(value.instructionExpiry.microseconds);\n const fraction = ((deadline % 1_000_000n) + 1_000_000n) % 1_000_000n;\n const executeBefore = new Date(Number((deadline - fraction) / 1000n))\n .toISOString()\n .replace('.000Z', `.${fraction.toString().padStart(6, '0')}Z`);\n const args = {\n instrumentId: value.instrumentId,\n sender: input.admin,\n receiver: value.receiver,\n amount: value.amount,\n inputHoldingCids: group.inputHoldingCids,\n requestedAt,\n executeBefore,\n };\n const bundle = canonical\n ? await client.getAmuletTransferFactoryContext(args)\n : await fetchTransferFactoryContext(url!, value.instrumentId, {\n ...args,\n environment: input.environment,\n });\n disclosedContracts.push(\n ...providerDisclosuresSchema.parse(bundle.disclosedContracts),\n ...(await discloseUtilityCredentials(\n sdk,\n bundle.choiceContext.values['utility.digitalasset.com/sender-credentials'],\n input.admin,\n 'sender',\n )),\n );\n contexts.push({\n tag: 'TransferFactoryContext' as const,\n value: {\n transferFactoryCid: bundle.factoryId,\n inputHoldingCids: group.inputHoldingCids,\n timestamp: requestedAt,\n extraArgsContext: bundle.choiceContext,\n },\n });\n }\n return { contexts, disclosedContracts: mergeDisclosedContracts(disclosedContracts) };\n};\n"]}
1
+ {"version":3,"sources":["../src/refresh/onesig-transfer.ts"],"names":["HOLDING","providerDisclosuresSchema","z","array","cantonDisclosedContractSchema","extend","contractId","string","min","createdEventBlob","synchronizerId","transferCallSchema","object","tag","literal","value","receiver","amount","regex","instrumentId","admin","id","instructionExpiry","microseconds","resolveCantonOneSigTransferBatch","sdk","input","signedCalls","client","calls","parse","groups","Map","instrumentKey","instrument","JSON","stringify","key","parseDamlDecimal","Error","group","get","set","inputHoldingCids","offset","getLedgerEndOffset","disclosedContracts","values","holdings","fetchCallbackHoldings","selected","selectContractAmounts","smallestUnitsToDamlDecimal","toString","contract","callbackInterfaceView","createdEvent","map","push","callbackDisclosure","contexts","canonical","getDsoParty","url","urls","discoveryUrlsForAppUid","informee","cantonCallbackAppUid","length","registryUrls","millis","Date","now","requestedAt","toISOString","deadline","BigInt","fraction","executeBefore","Number","replace","padStart","args","sender","bundle","getAmuletTransferFactoryContext","fetchTransferFactoryContext","environment","discloseUtilityCredentials","choiceContext","transferFactoryCid","factoryId","timestamp","extraArgsContext","mergeDisclosedContracts"],"mappings":"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","file":"FC62Z3SD.js","sourcesContent":["import { z } from 'zod';\n\nimport type { ICantonClient } from '../client/interface';\nimport type { CantonSdk } from '../sdk/canton-sdk';\nimport { type CantonDisclosedContract, cantonDisclosedContractSchema } from '../transaction';\nimport { smallestUnitsToDamlDecimal } from '../types';\nimport { cantonCallbackAppUid } from './callback';\nimport { callbackDisclosure, callbackInterfaceView } from './callback-contracts';\nimport type { CantonOneSigTransferBatchRefresh } from './plan';\nimport {\n discloseUtilityCredentials,\n discoveryUrlsForAppUid,\n fetchCallbackHoldings,\n fetchTransferFactoryContext,\n mergeDisclosedContracts,\n} from './registry-context';\nimport { parseDamlDecimal, selectContractAmounts } from './select-contracts';\n\nconst HOLDING = '#splice-api-token-holding-v1:Splice.Api.Token.HoldingV1:Holding';\nconst providerDisclosuresSchema = z.array(\n cantonDisclosedContractSchema.extend({\n contractId: z.string().min(1),\n createdEventBlob: z.string().min(1),\n synchronizerId: z.string().min(1),\n }),\n);\nconst transferCallSchema = z.object({\n tag: z.literal('OpTransfer'),\n value: z.object({\n receiver: z.string().min(1),\n amount: z.string().regex(/^\\d+(?:\\.\\d{1,10})?$/),\n instrumentId: z.object({ admin: z.string().min(1), id: z.string() }),\n instructionExpiry: z.object({ microseconds: z.string().regex(/^-?\\d+$/) }),\n }),\n});\n\nexport const resolveCantonOneSigTransferBatch = async (\n sdk: CantonSdk,\n input: CantonOneSigTransferBatchRefresh['resolver'],\n signedCalls: unknown[],\n client: Pick<ICantonClient, 'getDsoParty' | 'getAmuletTransferFactoryContext'>,\n) => {\n const calls = z.array(transferCallSchema).min(1).parse(signedCalls);\n const groups = new Map<\n string,\n { instrumentId: { admin: string; id: string }; amount: bigint; inputHoldingCids: string[] }\n >();\n const instrumentKey = (instrument: { admin: string; id: string }) =>\n JSON.stringify([instrument.admin, instrument.id]);\n for (const { value } of calls) {\n const key = instrumentKey(value.instrumentId);\n const amount = parseDamlDecimal(value.amount, 'Transfer amount');\n if (amount <= 0n) throw new Error('Transfer amount must be positive');\n const group = groups.get(key);\n if (group) group.amount += amount;\n else groups.set(key, { instrumentId: value.instrumentId, amount, inputHoldingCids: [] });\n }\n const offset = await sdk.getLedgerEndOffset();\n const disclosedContracts: CantonDisclosedContract[] = [];\n for (const group of groups.values()) {\n const holdings = await fetchCallbackHoldings(sdk, input.admin, offset, group.instrumentId);\n const selected = selectContractAmounts(\n holdings,\n 'amount',\n smallestUnitsToDamlDecimal(group.amount.toString()),\n (contract) =>\n parseDamlDecimal(\n callbackInterfaceView(contract, HOLDING)?.amount,\n `Holding ${contract.createdEvent.contractId} amount`,\n ),\n );\n group.inputHoldingCids = selected.map(({ createdEvent }) => createdEvent.contractId);\n disclosedContracts.push(...selected.map(callbackDisclosure));\n }\n const contexts = [];\n for (const { value } of calls) {\n const group = groups.get(instrumentKey(value.instrumentId))!;\n const canonical =\n value.instrumentId.id === 'Amulet' &&\n value.instrumentId.admin === (await client.getDsoParty());\n let url: string | undefined;\n if (!canonical) {\n const urls = await discoveryUrlsForAppUid(\n sdk,\n input.informee,\n offset,\n cantonCallbackAppUid(value.instrumentId.admin, value.instrumentId.id),\n );\n if (urls.length > 1) throw new Error('Ambiguous transfer registry');\n url = urls[0] ?? input.registryUrls?.[value.instrumentId.admin];\n if (!url) throw new Error('No registry for transfer instrument');\n }\n const millis = Date.now();\n const requestedAt = new Date(millis).toISOString();\n const deadline = BigInt(millis) * 1000n + BigInt(value.instructionExpiry.microseconds);\n const fraction = ((deadline % 1_000_000n) + 1_000_000n) % 1_000_000n;\n const executeBefore = new Date(Number((deadline - fraction) / 1000n))\n .toISOString()\n .replace('.000Z', `.${fraction.toString().padStart(6, '0')}Z`);\n const args = {\n instrumentId: value.instrumentId,\n sender: input.admin,\n receiver: value.receiver,\n amount: value.amount,\n inputHoldingCids: group.inputHoldingCids,\n requestedAt,\n executeBefore,\n };\n const bundle = canonical\n ? await client.getAmuletTransferFactoryContext(args)\n : await fetchTransferFactoryContext(url!, value.instrumentId, {\n ...args,\n environment: input.environment,\n });\n disclosedContracts.push(\n ...providerDisclosuresSchema.parse(bundle.disclosedContracts),\n ...(await discloseUtilityCredentials(\n sdk,\n bundle.choiceContext.values['utility.digitalasset.com/sender-credentials'],\n input.admin,\n 'sender',\n )),\n );\n contexts.push({\n tag: 'TransferFactoryContext' as const,\n value: {\n transferFactoryCid: bundle.factoryId,\n inputHoldingCids: group.inputHoldingCids,\n timestamp: requestedAt,\n extraArgsContext: bundle.choiceContext,\n },\n });\n }\n return { contexts, disclosedContracts: mergeDisclosedContracts(disclosedContracts) };\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { Completion1FromJSON, Completion1ToJSON } from './HNPWKZ6F.js';
1
+ import { Completion1FromJSON, Completion1ToJSON } from './IPSWV2QP.js';
2
2
  import { __name } from './VUOMXK5T.js';
3
3
 
4
4
  // src/open-api/models/GetCompletionByHashResponse.ts
@@ -36,5 +36,5 @@ function GetCompletionByHashResponseToJSONTyped(value, ignoreDiscriminator = fal
36
36
  __name(GetCompletionByHashResponseToJSONTyped, "GetCompletionByHashResponseToJSONTyped");
37
37
 
38
38
  export { GetCompletionByHashResponseFromJSON, GetCompletionByHashResponseFromJSONTyped, GetCompletionByHashResponseToJSON, GetCompletionByHashResponseToJSONTyped, instanceOfGetCompletionByHashResponse };
39
- //# sourceMappingURL=VINQ7WT7.js.map
40
- //# sourceMappingURL=VINQ7WT7.js.map
39
+ //# sourceMappingURL=FO4X6Q5A.js.map
40
+ //# sourceMappingURL=FO4X6Q5A.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/open-api/models/GetCompletionByHashResponse.ts"],"names":["instanceOfGetCompletionByHashResponse","value","GetCompletionByHashResponseFromJSON","json","GetCompletionByHashResponseFromJSONTyped","ignoreDiscriminator","undefined","Completion1FromJSON","map","GetCompletionByHashResponseToJSON","GetCompletionByHashResponseToJSONTyped","Completion1ToJSON"],"mappings":";;;;AA+CO,SAASA,sCAAsCC,KAAAA,EAAa;AAC/D,EAAA,OAAO,IAAA;AACX;AAFgBD,MAAAA,CAAAA,qCAAAA,EAAAA,uCAAAA,CAAAA;AAIT,SAASE,oCAAoCC,IAAAA,EAAS;AACzD,EAAA,OAAOC,wCAAAA,CAAyCD,IAAM,CAAA;AAC1D;AAFgBD,MAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA;AAIT,SAASE,wCAAAA,CAAyCD,MAAWE,mBAAAA,EAA4B;AAC5F,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,oBAAA,EAAsBA,IAAAA,CAAK,oBAAA,CAAA,IAAyB,IAAA,GAAOG,SAAYC,mBAAAA,CAAoBJ,IAAAA,CAAK,oBAAA,CAAqB,CAAA;IACrH,yBAAA,EAA2BA,IAAAA,CAAK,yBAAA,CAAA,IAA8B,IAAA,GAAOG,SAAcH,IAAAA,CAAK,yBAAA,CAAA,CAA0CK,GAAAA,CAAID,mBAAAA;AAC1I,GAAA;AACJ;AATgBH,MAAAA,CAAAA,wCAAAA,EAAAA,0CAAAA,CAAAA;AAWT,SAASK,kCAAkCN,IAAAA,EAAS;AACvD,EAAA,OAAOO,sCAAAA,CAAuCP,MAAM,KAAA,CAAA;AACxD;AAFgBM,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAIT,SAASC,sCAAAA,CAAuCT,KAAAA,EAA4CI,mBAAAA,GAA+B,KAAA,EAAK;AACnI,EAAA,IAAIJ,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,oBAAA,EAAsBU,iBAAAA,CAAkBV,KAAAA,CAAM,oBAAA,CAAqB,CAAA;IACnE,yBAAA,EAA2BA,KAAAA,CAAM,yBAAA,CAAA,IAA8B,IAAA,GAAOK,SAAcL,KAAAA,CAAM,yBAAA,CAAA,CAA0CO,GAAAA,CAAIG,iBAAAA;AAC5I,GAAA;AACJ;AAVgBD,MAAAA,CAAAA,sCAAAA,EAAAA,wCAAAA,CAAAA","file":"VINQ7WT7.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.7.0-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime.js';\nimport type { Completion1 } from './Completion1.js';\nimport {\n Completion1FromJSON,\n Completion1FromJSONTyped,\n Completion1ToJSON,\n Completion1ToJSONTyped,\n} from './Completion1.js';\n\n/**\n * \n * @export\n * @interface GetCompletionByHashResponse\n */\nexport interface GetCompletionByHashResponse {\n /**\n * \n */\n acceptedCompletion?: Completion1;\n /**\n * Recent rejected completions for the given transaction hash, in descending offset order.\n * The server may truncate this list if there are too many entries.\n * Use ``submission_id`` to correlate with a specific command submission.\n * Only completions beyond the current pruning offset are visible.\n * \n * Optional: can be empty\n */\n lastRejectedCompletions?: Array<Completion1>;\n}\n\n/**\n * Check if a given object implements the GetCompletionByHashResponse interface.\n */\nexport function instanceOfGetCompletionByHashResponse(value: object): value is GetCompletionByHashResponse {\n return true;\n}\n\nexport function GetCompletionByHashResponseFromJSON(json: any): GetCompletionByHashResponse {\n return GetCompletionByHashResponseFromJSONTyped(json, false);\n}\n\nexport function GetCompletionByHashResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCompletionByHashResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'acceptedCompletion': json['acceptedCompletion'] == null ? undefined : Completion1FromJSON(json['acceptedCompletion']),\n 'lastRejectedCompletions': json['lastRejectedCompletions'] == null ? undefined : ((json['lastRejectedCompletions'] as Array<any>).map(Completion1FromJSON)),\n };\n}\n\nexport function GetCompletionByHashResponseToJSON(json: any): GetCompletionByHashResponse {\n return GetCompletionByHashResponseToJSONTyped(json, false);\n}\n\nexport function GetCompletionByHashResponseToJSONTyped(value?: GetCompletionByHashResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'acceptedCompletion': Completion1ToJSON(value['acceptedCompletion']),\n 'lastRejectedCompletions': value['lastRejectedCompletions'] == null ? undefined : ((value['lastRejectedCompletions'] as Array<any>).map(Completion1ToJSON)),\n };\n}\n\n"]}
1
+ {"version":3,"sources":["../src/open-api/models/GetCompletionByHashResponse.ts"],"names":["instanceOfGetCompletionByHashResponse","value","GetCompletionByHashResponseFromJSON","json","GetCompletionByHashResponseFromJSONTyped","ignoreDiscriminator","undefined","Completion1FromJSON","map","GetCompletionByHashResponseToJSON","GetCompletionByHashResponseToJSONTyped","Completion1ToJSON"],"mappings":";;;;AA+CO,SAASA,sCAAsCC,KAAAA,EAAa;AAC/D,EAAA,OAAO,IAAA;AACX;AAFgBD,MAAAA,CAAAA,qCAAAA,EAAAA,uCAAAA,CAAAA;AAIT,SAASE,oCAAoCC,IAAAA,EAAS;AACzD,EAAA,OAAOC,wCAAAA,CAAyCD,IAAM,CAAA;AAC1D;AAFgBD,MAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA;AAIT,SAASE,wCAAAA,CAAyCD,MAAWE,mBAAAA,EAA4B;AAC5F,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,oBAAA,EAAsBA,IAAAA,CAAK,oBAAA,CAAA,IAAyB,IAAA,GAAOG,SAAYC,mBAAAA,CAAoBJ,IAAAA,CAAK,oBAAA,CAAqB,CAAA;IACrH,yBAAA,EAA2BA,IAAAA,CAAK,yBAAA,CAAA,IAA8B,IAAA,GAAOG,SAAcH,IAAAA,CAAK,yBAAA,CAAA,CAA0CK,GAAAA,CAAID,mBAAAA;AAC1I,GAAA;AACJ;AATgBH,MAAAA,CAAAA,wCAAAA,EAAAA,0CAAAA,CAAAA;AAWT,SAASK,kCAAkCN,IAAAA,EAAS;AACvD,EAAA,OAAOO,sCAAAA,CAAuCP,MAAM,KAAA,CAAA;AACxD;AAFgBM,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAIT,SAASC,sCAAAA,CAAuCT,KAAAA,EAA4CI,mBAAAA,GAA+B,KAAA,EAAK;AACnI,EAAA,IAAIJ,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,oBAAA,EAAsBU,iBAAAA,CAAkBV,KAAAA,CAAM,oBAAA,CAAqB,CAAA;IACnE,yBAAA,EAA2BA,KAAAA,CAAM,yBAAA,CAAA,IAA8B,IAAA,GAAOK,SAAcL,KAAAA,CAAM,yBAAA,CAAA,CAA0CO,GAAAA,CAAIG,iBAAAA;AAC5I,GAAA;AACJ;AAVgBD,MAAAA,CAAAA,sCAAAA,EAAAA,wCAAAA,CAAAA","file":"FO4X6Q5A.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.7.0-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime.js';\nimport type { Completion1 } from './Completion1.js';\nimport {\n Completion1FromJSON,\n Completion1FromJSONTyped,\n Completion1ToJSON,\n Completion1ToJSONTyped,\n} from './Completion1.js';\n\n/**\n * \n * @export\n * @interface GetCompletionByHashResponse\n */\nexport interface GetCompletionByHashResponse {\n /**\n * \n */\n acceptedCompletion?: Completion1;\n /**\n * Recent rejected completions for the given transaction hash, in descending offset order.\n * The server may truncate this list if there are too many entries.\n * Use ``submission_id`` to correlate with a specific command submission.\n * Only completions beyond the current pruning offset are visible.\n * \n * Optional: can be empty\n */\n lastRejectedCompletions?: Array<Completion1>;\n}\n\n/**\n * Check if a given object implements the GetCompletionByHashResponse interface.\n */\nexport function instanceOfGetCompletionByHashResponse(value: object): value is GetCompletionByHashResponse {\n return true;\n}\n\nexport function GetCompletionByHashResponseFromJSON(json: any): GetCompletionByHashResponse {\n return GetCompletionByHashResponseFromJSONTyped(json, false);\n}\n\nexport function GetCompletionByHashResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCompletionByHashResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'acceptedCompletion': json['acceptedCompletion'] == null ? undefined : Completion1FromJSON(json['acceptedCompletion']),\n 'lastRejectedCompletions': json['lastRejectedCompletions'] == null ? undefined : ((json['lastRejectedCompletions'] as Array<any>).map(Completion1FromJSON)),\n };\n}\n\nexport function GetCompletionByHashResponseToJSON(json: any): GetCompletionByHashResponse {\n return GetCompletionByHashResponseToJSONTyped(json, false);\n}\n\nexport function GetCompletionByHashResponseToJSONTyped(value?: GetCompletionByHashResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'acceptedCompletion': Completion1ToJSON(value['acceptedCompletion']),\n 'lastRejectedCompletions': value['lastRejectedCompletions'] == null ? undefined : ((value['lastRejectedCompletions'] as Array<any>).map(Completion1ToJSON)),\n };\n}\n\n"]}
@@ -1,6 +1,6 @@
1
- import { resolveBurnMintCallbackContext } from './43KGTQUU.js';
2
- import { resolveLockUnlockCallbackContext } from './7JEW4NHI.js';
3
- import { partyIdFromRegistryFingerprint } from './L64D74BZ.js';
1
+ import { resolveBurnMintCallbackContext } from './E6T5VFT3.js';
2
+ import { resolveLockUnlockCallbackContext } from './GZJQMFWY.js';
3
+ import { partyIdFromRegistryFingerprint } from './TLQX4ZQW.js';
4
4
  import { callbackDisclosure } from './YMXOSAU4.js';
5
5
  import { IOAppResolutionError } from './NYEJEKEY.js';
6
6
  import { isTrustedOrigin, areExpectedSignatories } from './SWY4QT4I.js';
@@ -420,5 +420,5 @@ var cantonBurnMintCallbackEntries = /* @__PURE__ */ __name((args) => {
420
420
  }, "cantonBurnMintCallbackEntries");
421
421
 
422
422
  export { cantonAdapterCallbackReceivers, cantonBurnMintCallbackEntries, cantonCallbackAppUid, cantonFinalizeCallbackBaseEntries, cantonLockUnlockCallbackEntries, getCantonCallbackFnArgs, hasPositiveCantonCallbackOutflow, resolveCantonFinalizeCallback, shouldIncludeCantonCallbackRateLimiter };
423
- //# sourceMappingURL=MV4DFHZP.js.map
424
- //# sourceMappingURL=MV4DFHZP.js.map
423
+ //# sourceMappingURL=FRIE5Q6G.js.map
424
+ //# sourceMappingURL=FRIE5Q6G.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/refresh/callback.ts"],"names":["IOAPP","CONFIG","REGISTRY","LIMITER","PENDING","OFT_SELF","OFT_CONFIG","LOCK_UNLOCK","LOCK_UNLOCK_CONFIG","BURN_MINT","BURN_MINT_CONFIG","cantonCallbackAppUid","admin","id","bytesToHex","keccak_256","TextEncoder","encode","getCantonCallbackFnArgs","context","appUid","fnName","current","key","Array","isArray","undefined","find","candidate","value","hasPositiveCantonCallbackOutflow","callbackContext","outbound","frozen","amount","Number","NaN","isFinite","shouldIncludeCantonCallbackRateLimiter","args","isGloballyDisabled","isAccept","cantonFinalizeCallbackBaseEntries","entries","cid","push","tag","matchesId","matchesTemplate","event","template","templateId","packageName","slice","indexOf","endsWith","exactlyOne","contracts","label","length","Error","requireDisclosure","sdk","informee","created","archived","fetchEventsByContractId","createDisclosure","decimalSetting","test","resolveCantonFinalizeCallback","input","pendingCallbackCid","contractId","isTrustedOrigin","pending","createArgument","oappId","offset","getLedgerEndOffset","query","interfaceId","gateway","moduleName","entityName","split","packageId","getPackageId","resolvedInterfaceId","queryActiveContractsByInterface","includeCreatedEventBlob","filter","contract","views","createdEvent","interfaceViews","view","viewValue","viewStatus","code","areExpectedSignatories","oappGateway","callbacks","configs","Promise","all","callback","config","error","IOAppResolutionError","wrap","kind","payload","instrumentId","assetInstrumentId","decimals","localDecimals","sharedDecimals","rateLimiterScaleDecimals","rateLimiterConfig","scaleDecimals","treasury","mintEscrow","identity","pendingDisclosure","disclosedContracts","callbackDisclosure","registryCid","lzReceiveParty","receiveArgs","message","fingerprint","registries","registry","hints","fingerprintToHint","some","partyIdFromRegistryFingerprint","rateLimiterStateCid","limiter","adapterContext","burnMintContext","sendArgs","name","resolveLockUnlockCallbackContext","environment","receivers","cantonAdapterCallbackReceivers","pendingCallback","resolveBurnMintCallbackContext","oappAdmin","address","configCid","cantonLockUnlockCallbackEntries","cantonBurnMintCallbackEntries","executeContext","callbackCid","lzSendArgs","parties","Set","parseIndexedPayoutParties","sender","lzReceiveArgs","count","index","party","treasuryAssetCids","map","transferFactoryCid","assetTransferContext","burnMintFactoryCid"],"mappings":"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","file":"MV4DFHZP.js","sourcesContent":["import type { ContractId } from '@daml/types';\nimport { keccak_256 } from '@noble/hashes/sha3';\n\nimport { bytesToHex } from '@layerzerolabs/common-encoding-utils';\n\nimport { IOAppResolutionError } from '../errors';\nimport type { CreatedEvent, JsActiveContract } from '../open-api/models';\nimport type { CantonSdk } from '../sdk/canton-sdk';\nimport type { CantonDisclosedContract } from '../transaction';\nimport { areExpectedSignatories, isTrustedOrigin } from '../trusted-origin';\nimport { resolveBurnMintCallbackContext } from './callback-burn-mint';\nimport { callbackDisclosure } from './callback-contracts';\nimport { resolveLockUnlockCallbackContext } from './callback-lock-unlock';\nimport type { CantonFinalizeCallbackRefresh } from './plan';\nimport { partyIdFromRegistryFingerprint } from './registry-context';\nexport { callbackDisclosure, callbackInterfaceView } from './callback-contracts';\n\nconst IOAPP = '#layerzero-ioapp:IOApp:IOApp';\nconst CONFIG = '#layerzero-ioapp-config:IOAppConfig:IOAppConfig';\nconst REGISTRY = '#layerzero-iregistry:IRegistry:IRegistry';\nconst LIMITER = '#layerzero-irate-limiter:IRateLimitState:IRateLimitState';\nconst PENDING = '#layerzero-request:PendingCallback:PendingCallback';\nconst OFT_SELF = '#layerzero-oft:OftSelf:OftSelf';\nconst OFT_CONFIG = '#layerzero-oft:OftSelfConfig:OftSelfConfig';\nconst LOCK_UNLOCK = '#layerzero-lock-unlock-adapter:LockUnlockAdapter:LockUnlockAdapter';\nconst LOCK_UNLOCK_CONFIG = '#layerzero-lock-unlock-adapter:AdapterConfig:AdapterConfig';\n\nconst BURN_MINT = '#layerzero-burn-mint-adapter:BurnMintAdapter:BurnMintAdapter';\nconst BURN_MINT_CONFIG = '#layerzero-burn-mint-adapter:AdapterConfig:AdapterConfig';\n\nexport type CantonCallbackOAppId = { admin: string; id: string };\ntype CallbackArgs = Array<[string, { tag: string; value: unknown }]>;\ntype CallbackInput = CantonFinalizeCallbackRefresh['resolver'];\ntype CallbackContext = Array<\n [\n string,\n Array<\n [\n { tag: 'Addr_Text'; value: string },\n Array<\n [\n string,\n Array<[{ tag: 'Addr_Text'; value: string }, Array<[string, CallbackArgs]>]>,\n ]\n >,\n ]\n >,\n ]\n>;\ntype CallbackIdentity = CallbackInput['identity'];\ntype PendingCallback = {\n handler: string;\n sender: string;\n oappId: CantonCallbackOAppId;\n callbackContext: unknown;\n isAccept: boolean;\n};\n\nexport const cantonCallbackAppUid = (admin: string, id: string): string =>\n bytesToHex(keccak_256(new TextEncoder().encode(`${admin}|${id}`)));\n\nexport const getCantonCallbackFnArgs = (\n context: unknown,\n appUid: string,\n fnName: string,\n): CallbackArgs | undefined => {\n let current = context;\n for (const key of ['OApp', appUid, 'OApp', appUid, fnName]) {\n if (!Array.isArray(current)) return undefined;\n current = current.find(\n ([candidate]: [unknown]) =>\n candidate === key ||\n (candidate !== null &&\n typeof candidate === 'object' &&\n 'value' in candidate &&\n candidate.value === key),\n )?.[1];\n }\n return current as CallbackArgs | undefined;\n};\n\nexport const hasPositiveCantonCallbackOutflow = (\n callbackContext: unknown,\n appUid: string,\n): boolean => {\n const outbound = getCantonCallbackFnArgs(callbackContext, appUid, 'LzSend_callback');\n const frozen = outbound?.find(([key]) => key === 'rlScaledAmount')?.[1].value;\n const amount =\n typeof frozen === 'number' || typeof frozen === 'string' || typeof frozen === 'bigint'\n ? Number(frozen)\n : NaN;\n return Number.isFinite(amount) && amount > 0;\n};\n\nexport const shouldIncludeCantonCallbackRateLimiter = (args: {\n callbackContext: unknown;\n appUid: string;\n isGloballyDisabled: boolean;\n isAccept: boolean;\n}): boolean => {\n if (hasPositiveCantonCallbackOutflow(args.callbackContext, args.appUid)) return true;\n return (\n !args.isGloballyDisabled &&\n args.isAccept &&\n getCantonCallbackFnArgs(args.callbackContext, args.appUid, 'LzReceive_callback') !==\n undefined\n );\n};\n\nexport const cantonFinalizeCallbackBaseEntries = (args: {\n configCid: string;\n registryCid?: string;\n rateLimiterStateCid?: string;\n}): Array<[string, Array<[string, { tag: 'AV_ContractId'; value: string }]>]> => {\n const entries: Array<[string, Array<[string, { tag: 'AV_ContractId'; value: string }]>]> = [];\n for (const key of ['configCid', 'registryCid', 'rateLimiterStateCid'] as const) {\n const cid = args[key];\n if (cid) entries.push([key, [[key, { tag: 'AV_ContractId', value: cid }]]]);\n }\n return entries;\n};\n\nconst matchesId = (candidate: unknown, id: CantonCallbackOAppId): boolean => {\n const value = candidate as CantonCallbackOAppId | undefined;\n return value?.admin === id.admin && value.id === id.id;\n};\nconst matchesTemplate = (event: CreatedEvent, template: string): boolean =>\n event.templateId === template ||\n (event.packageName === template.slice(1, template.indexOf(':')) &&\n event.templateId.endsWith(template.slice(template.indexOf(':'))));\nconst exactlyOne = (contracts: JsActiveContract[], label: string): JsActiveContract => {\n if (contracts.length !== 1)\n throw new Error(`Expected exactly one ${label}, found ${contracts.length}`);\n return contracts[0]!;\n};\nconst requireDisclosure = async (\n sdk: CantonSdk,\n informee: string,\n cid: string,\n): Promise<CantonDisclosedContract> => {\n const { created, archived } = await sdk.fetchEventsByContractId(cid, [informee]);\n if (!created || archived) throw new Error(`Callback dependency ${cid} is missing or archived`);\n const value = await sdk.createDisclosure(cid as ContractId<object>, [informee]);\n if (!value) throw new Error(`Missing disclosure for ${cid}`);\n return value;\n};\nconst decimalSetting = (value: unknown): string => {\n if (typeof value !== 'string' || !/^\\d+$/.test(value)) {\n throw new Error('Callback decimal settings must be Daml Int strings');\n }\n return value;\n};\n\nexport const resolveCantonFinalizeCallback = async (\n sdk: CantonSdk,\n input: Omit<CallbackInput, 'type' | 'oappId' | 'identity'> & {\n oappId?: CantonCallbackOAppId;\n identity?: CallbackIdentity;\n },\n) => {\n const { created, archived } = await sdk.fetchEventsByContractId(input.pendingCallbackCid, [\n input.informee,\n ]);\n if (\n !created ||\n archived ||\n created.contractId !== input.pendingCallbackCid ||\n !matchesTemplate(created, PENDING) ||\n !isTrustedOrigin(created, input.informee, 'handler')\n ) {\n throw new Error(\n 'PendingCallback is missing, archived, or not from the expected handler/template',\n );\n }\n const pending = created.createArgument as PendingCallback;\n if (\n !pending.oappId?.admin ||\n !pending.oappId.id ||\n (input.oappId && !matchesId(pending.oappId, input.oappId))\n ) {\n throw new Error('PendingCallback OApp identity mismatch');\n }\n const oappId = pending.oappId;\n const offset = await sdk.getLedgerEndOffset();\n const query = async (interfaceId: string, gateway?: string) => {\n const [packageName, moduleName, entityName] = interfaceId.slice(1).split(':');\n const packageId = await sdk.getPackageId(packageName!, [input.informee]);\n const resolvedInterfaceId = `${packageId}:${moduleName}:${entityName}`;\n return (\n await sdk.queryActiveContractsByInterface([input.informee], offset, [interfaceId], {\n includeCreatedEventBlob: true,\n })\n ).filter((contract) => {\n const views =\n contract.createdEvent.interfaceViews?.filter(\n (view) => view.interfaceId === resolvedInterfaceId,\n ) ?? [];\n const view = views[0]?.viewValue as Record<string, unknown> | undefined;\n return (\n views.length === 1 &&\n views[0]?.viewStatus?.code === 0 &&\n view != null &&\n areExpectedSignatories(contract.createdEvent, [oappId.admin]) &&\n matchesId(view.oappId, oappId) &&\n (gateway === undefined || view.oappGateway === gateway)\n );\n });\n };\n const [callbacks, configs] = await Promise.all([query(IOAPP, input.informee), query(CONFIG)]);\n let callback: JsActiveContract;\n let config: JsActiveContract;\n try {\n callback = exactlyOne(callbacks, 'callback for OApp/gateway');\n config = exactlyOne(configs, 'callback config for OApp');\n } catch (error) {\n throw IOAppResolutionError.wrap(error, 'Could not resolve callback contracts');\n }\n const kind =\n matchesTemplate(callback.createdEvent, OFT_SELF) &&\n matchesTemplate(config.createdEvent, OFT_CONFIG)\n ? 'oft-self'\n : matchesTemplate(callback.createdEvent, LOCK_UNLOCK) &&\n matchesTemplate(config.createdEvent, LOCK_UNLOCK_CONFIG)\n ? 'lock-unlock-adapter'\n : matchesTemplate(callback.createdEvent, BURN_MINT) &&\n matchesTemplate(config.createdEvent, BURN_MINT_CONFIG)\n ? 'burn-mint-adapter'\n : undefined;\n if (!kind)\n throw new Error('Callback kind changed or is unsupported; repopulate the transaction');\n const payload = config.createdEvent.createArgument as {\n instrumentId?: CantonCallbackOAppId;\n assetInstrumentId?: CantonCallbackOAppId;\n localDecimals: string;\n sharedDecimals: string;\n rateLimiterConfig: { scaleDecimals: string; isGloballyDisabled: boolean };\n };\n const instrumentId = kind === 'oft-self' ? payload.instrumentId : payload.assetInstrumentId;\n if (\n !instrumentId?.admin ||\n !instrumentId.id ||\n (kind === 'oft-self' && !matchesId(instrumentId, oappId))\n ) {\n throw new Error('Callback instrument changed; repopulate the transaction');\n }\n const decimals = {\n instrumentId: { ...instrumentId },\n localDecimals: decimalSetting(payload.localDecimals),\n sharedDecimals: decimalSetting(payload.sharedDecimals),\n rateLimiterScaleDecimals: decimalSetting(payload.rateLimiterConfig.scaleDecimals),\n };\n const treasury = (callback.createdEvent.createArgument as { treasury?: unknown }).treasury;\n if (kind === 'lock-unlock-adapter' && (typeof treasury !== 'string' || !treasury)) {\n throw new Error('Lock/unlock callback treasury is required');\n }\n const mintEscrow = (callback.createdEvent.createArgument as { mintEscrow?: unknown })\n .mintEscrow;\n if (kind === 'burn-mint-adapter' && (typeof mintEscrow !== 'string' || !mintEscrow)) {\n throw new Error('Burn/mint callback mintEscrow is required');\n }\n const identity: CallbackIdentity =\n kind === 'oft-self'\n ? { kind, ...decimals }\n : kind === 'lock-unlock-adapter'\n ? { kind, ...decimals, treasury: treasury as string }\n : { kind, ...decimals, mintEscrow: mintEscrow as string };\n if (\n input.identity &&\n (input.identity.kind !== identity.kind ||\n !matchesId(input.identity.instrumentId, identity.instrumentId) ||\n input.identity.localDecimals !== identity.localDecimals ||\n input.identity.sharedDecimals !== identity.sharedDecimals ||\n input.identity.rateLimiterScaleDecimals !== identity.rateLimiterScaleDecimals ||\n (input.identity.kind === 'lock-unlock-adapter' &&\n identity.kind === 'lock-unlock-adapter' &&\n input.identity.treasury !== identity.treasury) ||\n (input.identity.kind === 'burn-mint-adapter' &&\n identity.kind === 'burn-mint-adapter' &&\n input.identity.mintEscrow !== identity.mintEscrow))\n ) {\n throw new Error('Callback economic identity changed; repopulate the transaction');\n }\n const pendingDisclosure = await sdk.createDisclosure(\n input.pendingCallbackCid as ContractId<object>,\n [input.informee],\n );\n if (!pendingDisclosure) throw new Error(`Missing disclosure for ${input.pendingCallbackCid}`);\n const disclosedContracts = [\n pendingDisclosure,\n callbackDisclosure(callback),\n callbackDisclosure(config),\n ];\n const appUid = cantonCallbackAppUid(oappId.admin, oappId.id);\n let registryCid: string | undefined;\n let lzReceiveParty: string | undefined;\n const receiveArgs = getCantonCallbackFnArgs(\n pending.callbackContext,\n appUid,\n 'LzReceive_callback',\n );\n if (pending.isAccept && receiveArgs) {\n const message = receiveArgs.find(([key]) => key === 'lzMessage')?.[1].value;\n if (typeof message !== 'string') throw new Error('lzMessage not found in callbackContext');\n const fingerprint = message.slice(0, 64);\n const registries = (await query(REGISTRY)).filter((registry) => {\n const hints = (registry.createdEvent.createArgument as { fingerprintToHint: unknown })\n .fingerprintToHint;\n return Array.isArray(hints)\n ? hints.some(([key]) => key === fingerprint)\n : hints !== null && typeof hints === 'object' && fingerprint in hints;\n });\n const registry = exactlyOne(registries, `Registry for fingerprint ${fingerprint}`);\n registryCid = registry.createdEvent.contractId;\n if (identity.kind !== 'oft-self') {\n lzReceiveParty = partyIdFromRegistryFingerprint(\n registry.createdEvent.createArgument as { fingerprintToHint: unknown },\n fingerprint,\n );\n }\n disclosedContracts.push(callbackDisclosure(registry));\n }\n let rateLimiterStateCid: string | undefined;\n if (\n shouldIncludeCantonCallbackRateLimiter({\n callbackContext: pending.callbackContext,\n appUid,\n isGloballyDisabled: payload.rateLimiterConfig.isGloballyDisabled,\n isAccept: pending.isAccept,\n })\n ) {\n const limiter = exactlyOne(await query(LIMITER), 'callback rate limiter');\n rateLimiterStateCid = limiter.createdEvent.contractId;\n disclosedContracts.push(callbackDisclosure(limiter));\n }\n let adapterContext: Awaited<ReturnType<typeof resolveLockUnlockCallbackContext>> | undefined;\n let burnMintContext: Awaited<ReturnType<typeof resolveBurnMintCallbackContext>> | undefined;\n if (identity.kind === 'oft-self') {\n const sendArgs = getCantonCallbackFnArgs(\n pending.callbackContext,\n appUid,\n 'LzSend_callback',\n );\n for (const key of ['oftHoldingCid', 'payoutHoldingCid']) {\n const cid = sendArgs?.find(([name]) => name === key)?.[1].value;\n if (typeof cid === 'string' && cid)\n disclosedContracts.push(await requireDisclosure(sdk, input.informee, cid));\n }\n } else if (identity.kind === 'lock-unlock-adapter') {\n adapterContext = await resolveLockUnlockCallbackContext({\n sdk,\n informee: input.informee,\n appUid,\n treasury: identity.treasury,\n instrumentId: identity.instrumentId,\n offset,\n environment: input.environment,\n receivers: cantonAdapterCallbackReceivers({\n pendingCallback: pending,\n appUid,\n lzReceiveParty,\n treasury: identity.treasury,\n }),\n });\n disclosedContracts.push(...adapterContext.disclosedContracts);\n } else {\n burnMintContext = await resolveBurnMintCallbackContext({\n sdk,\n informee: input.informee,\n appUid,\n oappAdmin: oappId.admin,\n mintEscrow: identity.mintEscrow,\n instrumentId: identity.instrumentId,\n offset,\n environment: input.environment,\n receivers: cantonAdapterCallbackReceivers({\n pendingCallback: pending,\n appUid,\n lzReceiveParty,\n }),\n });\n disclosedContracts.push(...burnMintContext.disclosedContracts);\n }\n const address = { tag: 'Addr_Text' as const, value: appUid };\n const entries: Array<[string, CallbackArgs]> = cantonFinalizeCallbackBaseEntries({\n configCid: config.createdEvent.contractId,\n registryCid,\n rateLimiterStateCid,\n });\n if (adapterContext) entries.push(...cantonLockUnlockCallbackEntries(adapterContext));\n if (burnMintContext)\n entries.push(\n ...cantonLockUnlockCallbackEntries(burnMintContext),\n ...cantonBurnMintCallbackEntries(burnMintContext),\n );\n const executeContext: CallbackContext = [\n ['OApp', [[address, [['OApp', [[address, entries]]]]]]],\n ];\n return {\n callbackCid: callback.createdEvent.contractId,\n executeContext,\n disclosedContracts,\n oappId,\n identity,\n };\n};\n\nexport type CantonAdapterReceiversInput = {\n pendingCallback: {\n isAccept: boolean;\n sender: string;\n callbackContext: unknown;\n };\n appUid: string;\n lzReceiveParty?: string;\n treasury?: string;\n};\n\nexport const cantonAdapterCallbackReceivers = ({\n pendingCallback,\n appUid,\n lzReceiveParty,\n treasury,\n}: CantonAdapterReceiversInput): string[] => {\n const lzSendArgs = getCantonCallbackFnArgs(\n pendingCallback.callbackContext,\n appUid,\n 'LzSend_callback',\n );\n if (lzSendArgs) {\n if (pendingCallback.isAccept) {\n const parties = [...new Set(parseIndexedPayoutParties(lzSendArgs))];\n return parties.length > 0 ? parties : treasury ? [treasury] : [];\n }\n return [pendingCallback.sender];\n }\n\n const lzReceiveArgs = getCantonCallbackFnArgs(\n pendingCallback.callbackContext,\n appUid,\n 'LzReceive_callback',\n );\n if (lzReceiveArgs) {\n if (!pendingCallback.isAccept) {\n return [];\n }\n if (!lzReceiveParty) {\n throw new Error('lzReceiveParty is required for LzReceive accept');\n }\n return [lzReceiveParty];\n }\n\n throw new Error('callbackContext is neither LzSend nor LzReceive');\n};\n\nconst parseIndexedPayoutParties = (\n args: NonNullable<ReturnType<typeof getCantonCallbackFnArgs>>,\n): string[] => {\n const count = Number(args.find(([key]) => key === 'receiverCount')?.[1].value ?? 0);\n\n const parties: string[] = [];\n for (let index = 0; index < count; index += 1) {\n const party = args.find(([key]) => key === `receiver_${index}`)?.[1].value;\n if (typeof party !== 'string' || party === '') {\n throw new Error(`LzSend callback missing receiver_${index}`);\n }\n parties.push(party);\n }\n return parties;\n};\n\nexport const cantonLockUnlockCallbackEntries = (args: {\n treasuryAssetCids?: string[];\n transferFactoryCid?: string;\n assetTransferContext?: Record<string, unknown>;\n}): Array<[string, CallbackArgs]> => {\n const entries: Array<[string, CallbackArgs]> = [];\n if (args.treasuryAssetCids)\n entries.push([\n 'treasuryAssetCids',\n [\n [\n 'treasuryAssetCids',\n {\n tag: 'AV_List',\n value: args.treasuryAssetCids.map((value) => ({\n tag: 'AV_ContractId',\n value,\n })),\n },\n ],\n ],\n ]);\n if (args.transferFactoryCid)\n entries.push([\n 'transferFactoryCid',\n [\n [\n 'transferFactoryCid',\n {\n tag: 'AV_ContractId',\n value: args.transferFactoryCid,\n },\n ],\n ],\n ]);\n if (args.assetTransferContext)\n entries.push([\n 'assetTransferContext',\n [\n [\n 'assetTransferContext',\n {\n tag: 'AV_Map',\n value: args.assetTransferContext,\n },\n ],\n ],\n ]);\n return entries;\n};\n\nexport const cantonBurnMintCallbackEntries = (args: {\n burnMintFactoryCid?: string;\n burnMintExtraArgs?: Record<string, unknown>;\n burnMintOutputContext?: Record<string, unknown>;\n}): Array<[string, CallbackArgs]> => {\n const entries: Array<[string, CallbackArgs]> = [];\n if (args.burnMintFactoryCid)\n entries.push([\n 'burnMintFactoryCid',\n [['burnMintFactoryCid', { tag: 'AV_ContractId', value: args.burnMintFactoryCid }]],\n ]);\n for (const key of ['burnMintExtraArgs', 'burnMintOutputContext'] as const) {\n if (args[key]) entries.push([key, [[key, { tag: 'AV_Map', value: args[key] }]]]);\n }\n return entries;\n};\n"]}
1
+ {"version":3,"sources":["../src/refresh/callback.ts"],"names":["IOAPP","CONFIG","REGISTRY","LIMITER","PENDING","OFT_SELF","OFT_CONFIG","LOCK_UNLOCK","LOCK_UNLOCK_CONFIG","BURN_MINT","BURN_MINT_CONFIG","cantonCallbackAppUid","admin","id","bytesToHex","keccak_256","TextEncoder","encode","getCantonCallbackFnArgs","context","appUid","fnName","current","key","Array","isArray","undefined","find","candidate","value","hasPositiveCantonCallbackOutflow","callbackContext","outbound","frozen","amount","Number","NaN","isFinite","shouldIncludeCantonCallbackRateLimiter","args","isGloballyDisabled","isAccept","cantonFinalizeCallbackBaseEntries","entries","cid","push","tag","matchesId","matchesTemplate","event","template","templateId","packageName","slice","indexOf","endsWith","exactlyOne","contracts","label","length","Error","requireDisclosure","sdk","informee","created","archived","fetchEventsByContractId","createDisclosure","decimalSetting","test","resolveCantonFinalizeCallback","input","pendingCallbackCid","contractId","isTrustedOrigin","pending","createArgument","oappId","offset","getLedgerEndOffset","query","interfaceId","gateway","moduleName","entityName","split","packageId","getPackageId","resolvedInterfaceId","queryActiveContractsByInterface","includeCreatedEventBlob","filter","contract","views","createdEvent","interfaceViews","view","viewValue","viewStatus","code","areExpectedSignatories","oappGateway","callbacks","configs","Promise","all","callback","config","error","IOAppResolutionError","wrap","kind","payload","instrumentId","assetInstrumentId","decimals","localDecimals","sharedDecimals","rateLimiterScaleDecimals","rateLimiterConfig","scaleDecimals","treasury","mintEscrow","identity","pendingDisclosure","disclosedContracts","callbackDisclosure","registryCid","lzReceiveParty","receiveArgs","message","fingerprint","registries","registry","hints","fingerprintToHint","some","partyIdFromRegistryFingerprint","rateLimiterStateCid","limiter","adapterContext","burnMintContext","sendArgs","name","resolveLockUnlockCallbackContext","environment","receivers","cantonAdapterCallbackReceivers","pendingCallback","resolveBurnMintCallbackContext","oappAdmin","address","configCid","cantonLockUnlockCallbackEntries","cantonBurnMintCallbackEntries","executeContext","callbackCid","lzSendArgs","parties","Set","parseIndexedPayoutParties","sender","lzReceiveArgs","count","index","party","treasuryAssetCids","map","transferFactoryCid","assetTransferContext","burnMintFactoryCid"],"mappings":"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","file":"FRIE5Q6G.js","sourcesContent":["import type { ContractId } from '@daml/types';\nimport { keccak_256 } from '@noble/hashes/sha3';\n\nimport { bytesToHex } from '@layerzerolabs/common-encoding-utils';\n\nimport { IOAppResolutionError } from '../errors';\nimport type { CreatedEvent, JsActiveContract } from '../open-api/models';\nimport type { CantonSdk } from '../sdk/canton-sdk';\nimport type { CantonDisclosedContract } from '../transaction';\nimport { areExpectedSignatories, isTrustedOrigin } from '../trusted-origin';\nimport { resolveBurnMintCallbackContext } from './callback-burn-mint';\nimport { callbackDisclosure } from './callback-contracts';\nimport { resolveLockUnlockCallbackContext } from './callback-lock-unlock';\nimport type { CantonFinalizeCallbackRefresh } from './plan';\nimport { partyIdFromRegistryFingerprint } from './registry-context';\nexport { callbackDisclosure, callbackInterfaceView } from './callback-contracts';\n\nconst IOAPP = '#layerzero-ioapp:IOApp:IOApp';\nconst CONFIG = '#layerzero-ioapp-config:IOAppConfig:IOAppConfig';\nconst REGISTRY = '#layerzero-iregistry:IRegistry:IRegistry';\nconst LIMITER = '#layerzero-irate-limiter:IRateLimitState:IRateLimitState';\nconst PENDING = '#layerzero-request:PendingCallback:PendingCallback';\nconst OFT_SELF = '#layerzero-oft:OftSelf:OftSelf';\nconst OFT_CONFIG = '#layerzero-oft:OftSelfConfig:OftSelfConfig';\nconst LOCK_UNLOCK = '#layerzero-lock-unlock-adapter:LockUnlockAdapter:LockUnlockAdapter';\nconst LOCK_UNLOCK_CONFIG = '#layerzero-lock-unlock-adapter:AdapterConfig:AdapterConfig';\n\nconst BURN_MINT = '#layerzero-burn-mint-adapter:BurnMintAdapter:BurnMintAdapter';\nconst BURN_MINT_CONFIG = '#layerzero-burn-mint-adapter:AdapterConfig:AdapterConfig';\n\nexport type CantonCallbackOAppId = { admin: string; id: string };\ntype CallbackArgs = Array<[string, { tag: string; value: unknown }]>;\ntype CallbackInput = CantonFinalizeCallbackRefresh['resolver'];\ntype CallbackContext = Array<\n [\n string,\n Array<\n [\n { tag: 'Addr_Text'; value: string },\n Array<\n [\n string,\n Array<[{ tag: 'Addr_Text'; value: string }, Array<[string, CallbackArgs]>]>,\n ]\n >,\n ]\n >,\n ]\n>;\ntype CallbackIdentity = CallbackInput['identity'];\ntype PendingCallback = {\n handler: string;\n sender: string;\n oappId: CantonCallbackOAppId;\n callbackContext: unknown;\n isAccept: boolean;\n};\n\nexport const cantonCallbackAppUid = (admin: string, id: string): string =>\n bytesToHex(keccak_256(new TextEncoder().encode(`${admin}|${id}`)));\n\nexport const getCantonCallbackFnArgs = (\n context: unknown,\n appUid: string,\n fnName: string,\n): CallbackArgs | undefined => {\n let current = context;\n for (const key of ['OApp', appUid, 'OApp', appUid, fnName]) {\n if (!Array.isArray(current)) return undefined;\n current = current.find(\n ([candidate]: [unknown]) =>\n candidate === key ||\n (candidate !== null &&\n typeof candidate === 'object' &&\n 'value' in candidate &&\n candidate.value === key),\n )?.[1];\n }\n return current as CallbackArgs | undefined;\n};\n\nexport const hasPositiveCantonCallbackOutflow = (\n callbackContext: unknown,\n appUid: string,\n): boolean => {\n const outbound = getCantonCallbackFnArgs(callbackContext, appUid, 'LzSend_callback');\n const frozen = outbound?.find(([key]) => key === 'rlScaledAmount')?.[1].value;\n const amount =\n typeof frozen === 'number' || typeof frozen === 'string' || typeof frozen === 'bigint'\n ? Number(frozen)\n : NaN;\n return Number.isFinite(amount) && amount > 0;\n};\n\nexport const shouldIncludeCantonCallbackRateLimiter = (args: {\n callbackContext: unknown;\n appUid: string;\n isGloballyDisabled: boolean;\n isAccept: boolean;\n}): boolean => {\n if (hasPositiveCantonCallbackOutflow(args.callbackContext, args.appUid)) return true;\n return (\n !args.isGloballyDisabled &&\n args.isAccept &&\n getCantonCallbackFnArgs(args.callbackContext, args.appUid, 'LzReceive_callback') !==\n undefined\n );\n};\n\nexport const cantonFinalizeCallbackBaseEntries = (args: {\n configCid: string;\n registryCid?: string;\n rateLimiterStateCid?: string;\n}): Array<[string, Array<[string, { tag: 'AV_ContractId'; value: string }]>]> => {\n const entries: Array<[string, Array<[string, { tag: 'AV_ContractId'; value: string }]>]> = [];\n for (const key of ['configCid', 'registryCid', 'rateLimiterStateCid'] as const) {\n const cid = args[key];\n if (cid) entries.push([key, [[key, { tag: 'AV_ContractId', value: cid }]]]);\n }\n return entries;\n};\n\nconst matchesId = (candidate: unknown, id: CantonCallbackOAppId): boolean => {\n const value = candidate as CantonCallbackOAppId | undefined;\n return value?.admin === id.admin && value.id === id.id;\n};\nconst matchesTemplate = (event: CreatedEvent, template: string): boolean =>\n event.templateId === template ||\n (event.packageName === template.slice(1, template.indexOf(':')) &&\n event.templateId.endsWith(template.slice(template.indexOf(':'))));\nconst exactlyOne = (contracts: JsActiveContract[], label: string): JsActiveContract => {\n if (contracts.length !== 1)\n throw new Error(`Expected exactly one ${label}, found ${contracts.length}`);\n return contracts[0]!;\n};\nconst requireDisclosure = async (\n sdk: CantonSdk,\n informee: string,\n cid: string,\n): Promise<CantonDisclosedContract> => {\n const { created, archived } = await sdk.fetchEventsByContractId(cid, [informee]);\n if (!created || archived) throw new Error(`Callback dependency ${cid} is missing or archived`);\n const value = await sdk.createDisclosure(cid as ContractId<object>, [informee]);\n if (!value) throw new Error(`Missing disclosure for ${cid}`);\n return value;\n};\nconst decimalSetting = (value: unknown): string => {\n if (typeof value !== 'string' || !/^\\d+$/.test(value)) {\n throw new Error('Callback decimal settings must be Daml Int strings');\n }\n return value;\n};\n\nexport const resolveCantonFinalizeCallback = async (\n sdk: CantonSdk,\n input: Omit<CallbackInput, 'type' | 'oappId' | 'identity'> & {\n oappId?: CantonCallbackOAppId;\n identity?: CallbackIdentity;\n },\n) => {\n const { created, archived } = await sdk.fetchEventsByContractId(input.pendingCallbackCid, [\n input.informee,\n ]);\n if (\n !created ||\n archived ||\n created.contractId !== input.pendingCallbackCid ||\n !matchesTemplate(created, PENDING) ||\n !isTrustedOrigin(created, input.informee, 'handler')\n ) {\n throw new Error(\n 'PendingCallback is missing, archived, or not from the expected handler/template',\n );\n }\n const pending = created.createArgument as PendingCallback;\n if (\n !pending.oappId?.admin ||\n !pending.oappId.id ||\n (input.oappId && !matchesId(pending.oappId, input.oappId))\n ) {\n throw new Error('PendingCallback OApp identity mismatch');\n }\n const oappId = pending.oappId;\n const offset = await sdk.getLedgerEndOffset();\n const query = async (interfaceId: string, gateway?: string) => {\n const [packageName, moduleName, entityName] = interfaceId.slice(1).split(':');\n const packageId = await sdk.getPackageId(packageName!, [input.informee]);\n const resolvedInterfaceId = `${packageId}:${moduleName}:${entityName}`;\n return (\n await sdk.queryActiveContractsByInterface([input.informee], offset, [interfaceId], {\n includeCreatedEventBlob: true,\n })\n ).filter((contract) => {\n const views =\n contract.createdEvent.interfaceViews?.filter(\n (view) => view.interfaceId === resolvedInterfaceId,\n ) ?? [];\n const view = views[0]?.viewValue as Record<string, unknown> | undefined;\n return (\n views.length === 1 &&\n views[0]?.viewStatus?.code === 0 &&\n view != null &&\n areExpectedSignatories(contract.createdEvent, [oappId.admin]) &&\n matchesId(view.oappId, oappId) &&\n (gateway === undefined || view.oappGateway === gateway)\n );\n });\n };\n const [callbacks, configs] = await Promise.all([query(IOAPP, input.informee), query(CONFIG)]);\n let callback: JsActiveContract;\n let config: JsActiveContract;\n try {\n callback = exactlyOne(callbacks, 'callback for OApp/gateway');\n config = exactlyOne(configs, 'callback config for OApp');\n } catch (error) {\n throw IOAppResolutionError.wrap(error, 'Could not resolve callback contracts');\n }\n const kind =\n matchesTemplate(callback.createdEvent, OFT_SELF) &&\n matchesTemplate(config.createdEvent, OFT_CONFIG)\n ? 'oft-self'\n : matchesTemplate(callback.createdEvent, LOCK_UNLOCK) &&\n matchesTemplate(config.createdEvent, LOCK_UNLOCK_CONFIG)\n ? 'lock-unlock-adapter'\n : matchesTemplate(callback.createdEvent, BURN_MINT) &&\n matchesTemplate(config.createdEvent, BURN_MINT_CONFIG)\n ? 'burn-mint-adapter'\n : undefined;\n if (!kind)\n throw new Error('Callback kind changed or is unsupported; repopulate the transaction');\n const payload = config.createdEvent.createArgument as {\n instrumentId?: CantonCallbackOAppId;\n assetInstrumentId?: CantonCallbackOAppId;\n localDecimals: string;\n sharedDecimals: string;\n rateLimiterConfig: { scaleDecimals: string; isGloballyDisabled: boolean };\n };\n const instrumentId = kind === 'oft-self' ? payload.instrumentId : payload.assetInstrumentId;\n if (\n !instrumentId?.admin ||\n !instrumentId.id ||\n (kind === 'oft-self' && !matchesId(instrumentId, oappId))\n ) {\n throw new Error('Callback instrument changed; repopulate the transaction');\n }\n const decimals = {\n instrumentId: { ...instrumentId },\n localDecimals: decimalSetting(payload.localDecimals),\n sharedDecimals: decimalSetting(payload.sharedDecimals),\n rateLimiterScaleDecimals: decimalSetting(payload.rateLimiterConfig.scaleDecimals),\n };\n const treasury = (callback.createdEvent.createArgument as { treasury?: unknown }).treasury;\n if (kind === 'lock-unlock-adapter' && (typeof treasury !== 'string' || !treasury)) {\n throw new Error('Lock/unlock callback treasury is required');\n }\n const mintEscrow = (callback.createdEvent.createArgument as { mintEscrow?: unknown })\n .mintEscrow;\n if (kind === 'burn-mint-adapter' && (typeof mintEscrow !== 'string' || !mintEscrow)) {\n throw new Error('Burn/mint callback mintEscrow is required');\n }\n const identity: CallbackIdentity =\n kind === 'oft-self'\n ? { kind, ...decimals }\n : kind === 'lock-unlock-adapter'\n ? { kind, ...decimals, treasury: treasury as string }\n : { kind, ...decimals, mintEscrow: mintEscrow as string };\n if (\n input.identity &&\n (input.identity.kind !== identity.kind ||\n !matchesId(input.identity.instrumentId, identity.instrumentId) ||\n input.identity.localDecimals !== identity.localDecimals ||\n input.identity.sharedDecimals !== identity.sharedDecimals ||\n input.identity.rateLimiterScaleDecimals !== identity.rateLimiterScaleDecimals ||\n (input.identity.kind === 'lock-unlock-adapter' &&\n identity.kind === 'lock-unlock-adapter' &&\n input.identity.treasury !== identity.treasury) ||\n (input.identity.kind === 'burn-mint-adapter' &&\n identity.kind === 'burn-mint-adapter' &&\n input.identity.mintEscrow !== identity.mintEscrow))\n ) {\n throw new Error('Callback economic identity changed; repopulate the transaction');\n }\n const pendingDisclosure = await sdk.createDisclosure(\n input.pendingCallbackCid as ContractId<object>,\n [input.informee],\n );\n if (!pendingDisclosure) throw new Error(`Missing disclosure for ${input.pendingCallbackCid}`);\n const disclosedContracts = [\n pendingDisclosure,\n callbackDisclosure(callback),\n callbackDisclosure(config),\n ];\n const appUid = cantonCallbackAppUid(oappId.admin, oappId.id);\n let registryCid: string | undefined;\n let lzReceiveParty: string | undefined;\n const receiveArgs = getCantonCallbackFnArgs(\n pending.callbackContext,\n appUid,\n 'LzReceive_callback',\n );\n if (pending.isAccept && receiveArgs) {\n const message = receiveArgs.find(([key]) => key === 'lzMessage')?.[1].value;\n if (typeof message !== 'string') throw new Error('lzMessage not found in callbackContext');\n const fingerprint = message.slice(0, 64);\n const registries = (await query(REGISTRY)).filter((registry) => {\n const hints = (registry.createdEvent.createArgument as { fingerprintToHint: unknown })\n .fingerprintToHint;\n return Array.isArray(hints)\n ? hints.some(([key]) => key === fingerprint)\n : hints !== null && typeof hints === 'object' && fingerprint in hints;\n });\n const registry = exactlyOne(registries, `Registry for fingerprint ${fingerprint}`);\n registryCid = registry.createdEvent.contractId;\n if (identity.kind !== 'oft-self') {\n lzReceiveParty = partyIdFromRegistryFingerprint(\n registry.createdEvent.createArgument as { fingerprintToHint: unknown },\n fingerprint,\n );\n }\n disclosedContracts.push(callbackDisclosure(registry));\n }\n let rateLimiterStateCid: string | undefined;\n if (\n shouldIncludeCantonCallbackRateLimiter({\n callbackContext: pending.callbackContext,\n appUid,\n isGloballyDisabled: payload.rateLimiterConfig.isGloballyDisabled,\n isAccept: pending.isAccept,\n })\n ) {\n const limiter = exactlyOne(await query(LIMITER), 'callback rate limiter');\n rateLimiterStateCid = limiter.createdEvent.contractId;\n disclosedContracts.push(callbackDisclosure(limiter));\n }\n let adapterContext: Awaited<ReturnType<typeof resolveLockUnlockCallbackContext>> | undefined;\n let burnMintContext: Awaited<ReturnType<typeof resolveBurnMintCallbackContext>> | undefined;\n if (identity.kind === 'oft-self') {\n const sendArgs = getCantonCallbackFnArgs(\n pending.callbackContext,\n appUid,\n 'LzSend_callback',\n );\n for (const key of ['oftHoldingCid', 'payoutHoldingCid']) {\n const cid = sendArgs?.find(([name]) => name === key)?.[1].value;\n if (typeof cid === 'string' && cid)\n disclosedContracts.push(await requireDisclosure(sdk, input.informee, cid));\n }\n } else if (identity.kind === 'lock-unlock-adapter') {\n adapterContext = await resolveLockUnlockCallbackContext({\n sdk,\n informee: input.informee,\n appUid,\n treasury: identity.treasury,\n instrumentId: identity.instrumentId,\n offset,\n environment: input.environment,\n receivers: cantonAdapterCallbackReceivers({\n pendingCallback: pending,\n appUid,\n lzReceiveParty,\n treasury: identity.treasury,\n }),\n });\n disclosedContracts.push(...adapterContext.disclosedContracts);\n } else {\n burnMintContext = await resolveBurnMintCallbackContext({\n sdk,\n informee: input.informee,\n appUid,\n oappAdmin: oappId.admin,\n mintEscrow: identity.mintEscrow,\n instrumentId: identity.instrumentId,\n offset,\n environment: input.environment,\n receivers: cantonAdapterCallbackReceivers({\n pendingCallback: pending,\n appUid,\n lzReceiveParty,\n }),\n });\n disclosedContracts.push(...burnMintContext.disclosedContracts);\n }\n const address = { tag: 'Addr_Text' as const, value: appUid };\n const entries: Array<[string, CallbackArgs]> = cantonFinalizeCallbackBaseEntries({\n configCid: config.createdEvent.contractId,\n registryCid,\n rateLimiterStateCid,\n });\n if (adapterContext) entries.push(...cantonLockUnlockCallbackEntries(adapterContext));\n if (burnMintContext)\n entries.push(\n ...cantonLockUnlockCallbackEntries(burnMintContext),\n ...cantonBurnMintCallbackEntries(burnMintContext),\n );\n const executeContext: CallbackContext = [\n ['OApp', [[address, [['OApp', [[address, entries]]]]]]],\n ];\n return {\n callbackCid: callback.createdEvent.contractId,\n executeContext,\n disclosedContracts,\n oappId,\n identity,\n };\n};\n\nexport type CantonAdapterReceiversInput = {\n pendingCallback: {\n isAccept: boolean;\n sender: string;\n callbackContext: unknown;\n };\n appUid: string;\n lzReceiveParty?: string;\n treasury?: string;\n};\n\nexport const cantonAdapterCallbackReceivers = ({\n pendingCallback,\n appUid,\n lzReceiveParty,\n treasury,\n}: CantonAdapterReceiversInput): string[] => {\n const lzSendArgs = getCantonCallbackFnArgs(\n pendingCallback.callbackContext,\n appUid,\n 'LzSend_callback',\n );\n if (lzSendArgs) {\n if (pendingCallback.isAccept) {\n const parties = [...new Set(parseIndexedPayoutParties(lzSendArgs))];\n return parties.length > 0 ? parties : treasury ? [treasury] : [];\n }\n return [pendingCallback.sender];\n }\n\n const lzReceiveArgs = getCantonCallbackFnArgs(\n pendingCallback.callbackContext,\n appUid,\n 'LzReceive_callback',\n );\n if (lzReceiveArgs) {\n if (!pendingCallback.isAccept) {\n return [];\n }\n if (!lzReceiveParty) {\n throw new Error('lzReceiveParty is required for LzReceive accept');\n }\n return [lzReceiveParty];\n }\n\n throw new Error('callbackContext is neither LzSend nor LzReceive');\n};\n\nconst parseIndexedPayoutParties = (\n args: NonNullable<ReturnType<typeof getCantonCallbackFnArgs>>,\n): string[] => {\n const count = Number(args.find(([key]) => key === 'receiverCount')?.[1].value ?? 0);\n\n const parties: string[] = [];\n for (let index = 0; index < count; index += 1) {\n const party = args.find(([key]) => key === `receiver_${index}`)?.[1].value;\n if (typeof party !== 'string' || party === '') {\n throw new Error(`LzSend callback missing receiver_${index}`);\n }\n parties.push(party);\n }\n return parties;\n};\n\nexport const cantonLockUnlockCallbackEntries = (args: {\n treasuryAssetCids?: string[];\n transferFactoryCid?: string;\n assetTransferContext?: Record<string, unknown>;\n}): Array<[string, CallbackArgs]> => {\n const entries: Array<[string, CallbackArgs]> = [];\n if (args.treasuryAssetCids)\n entries.push([\n 'treasuryAssetCids',\n [\n [\n 'treasuryAssetCids',\n {\n tag: 'AV_List',\n value: args.treasuryAssetCids.map((value) => ({\n tag: 'AV_ContractId',\n value,\n })),\n },\n ],\n ],\n ]);\n if (args.transferFactoryCid)\n entries.push([\n 'transferFactoryCid',\n [\n [\n 'transferFactoryCid',\n {\n tag: 'AV_ContractId',\n value: args.transferFactoryCid,\n },\n ],\n ],\n ]);\n if (args.assetTransferContext)\n entries.push([\n 'assetTransferContext',\n [\n [\n 'assetTransferContext',\n {\n tag: 'AV_Map',\n value: args.assetTransferContext,\n },\n ],\n ],\n ]);\n return entries;\n};\n\nexport const cantonBurnMintCallbackEntries = (args: {\n burnMintFactoryCid?: string;\n burnMintExtraArgs?: Record<string, unknown>;\n burnMintOutputContext?: Record<string, unknown>;\n}): Array<[string, CallbackArgs]> => {\n const entries: Array<[string, CallbackArgs]> = [];\n if (args.burnMintFactoryCid)\n entries.push([\n 'burnMintFactoryCid',\n [['burnMintFactoryCid', { tag: 'AV_ContractId', value: args.burnMintFactoryCid }]],\n ]);\n for (const key of ['burnMintExtraArgs', 'burnMintOutputContext'] as const) {\n if (args[key]) entries.push([key, [[key, { tag: 'AV_Map', value: args[key] }]]]);\n }\n return entries;\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { JsTopologyTransactionFromJSON, JsTopologyTransactionToJSON } from './ZXJZWQK5.js';
1
+ import { JsTopologyTransactionFromJSON, JsTopologyTransactionToJSON } from './NPSCFRV6.js';
2
2
  import { __name } from './VUOMXK5T.js';
3
3
 
4
4
  // src/open-api/models/TopologyTransaction.ts
@@ -35,5 +35,5 @@ function TopologyTransactionToJSONTyped(value, ignoreDiscriminator = false) {
35
35
  __name(TopologyTransactionToJSONTyped, "TopologyTransactionToJSONTyped");
36
36
 
37
37
  export { TopologyTransactionFromJSON, TopologyTransactionFromJSONTyped, TopologyTransactionToJSON, TopologyTransactionToJSONTyped, instanceOfTopologyTransaction };
38
- //# sourceMappingURL=DXB7KQQ3.js.map
39
- //# sourceMappingURL=DXB7KQQ3.js.map
38
+ //# sourceMappingURL=FSV2XOCP.js.map
39
+ //# sourceMappingURL=FSV2XOCP.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/open-api/models/TopologyTransaction.ts"],"names":["instanceOfTopologyTransaction","value","undefined","TopologyTransactionFromJSON","json","TopologyTransactionFromJSONTyped","ignoreDiscriminator","JsTopologyTransactionFromJSON","TopologyTransactionToJSON","TopologyTransactionToJSONTyped","JsTopologyTransactionToJSON"],"mappings":";;;;AAsCO,SAASA,8BAA8BC,KAAAA,EAAa;AACvD,EAAA,IAAI,EAAE,OAAA,IAAWA,KAAAA,CAAAA,IAAUA,MAAM,OAAA,CAAA,KAAaC,QAAW,OAAO,KAAA;AAChE,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA;AAKT,SAASG,4BAA4BC,IAAAA,EAAS;AACjD,EAAA,OAAOC,gCAAAA,CAAiCD,IAAM,CAAA;AAClD;AAFgBD,MAAAA,CAAAA,2BAAAA,EAAAA,6BAAAA,CAAAA;AAIT,SAASE,gCAAAA,CAAiCD,MAAWE,mBAAAA,EAA4B;AACpF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,OAAA,EAASG,6BAAAA,CAA8BH,IAAAA,CAAK,OAAA,CAAQ;AACxD,GAAA;AACJ;AARgBC,MAAAA,CAAAA,gCAAAA,EAAAA,kCAAAA,CAAAA;AAUT,SAASG,0BAA0BJ,IAAAA,EAAS;AAC/C,EAAA,OAAOK,8BAAAA,CAA+BL,MAAM,KAAA,CAAA;AAChD;AAFgBI,MAAAA,CAAAA,yBAAAA,EAAAA,2BAAAA,CAAAA;AAIT,SAASC,8BAAAA,CAA+BR,KAAAA,EAAoCK,mBAAAA,GAA+B,KAAA,EAAK;AACnH,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,OAAA,EAASS,2BAAAA,CAA4BT,KAAAA,CAAM,OAAA,CAAQ;AACvD,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA","file":"DXB7KQQ3.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.7.0-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime.js';\nimport type { JsTopologyTransaction } from './JsTopologyTransaction.js';\nimport {\n JsTopologyTransactionFromJSON,\n JsTopologyTransactionFromJSONTyped,\n JsTopologyTransactionToJSON,\n JsTopologyTransactionToJSONTyped,\n} from './JsTopologyTransaction.js';\n\n/**\n * \n * @export\n * @interface TopologyTransaction\n */\nexport interface TopologyTransaction {\n /**\n * \n */\n value: JsTopologyTransaction;\n}\n\n/**\n * Check if a given object implements the TopologyTransaction interface.\n */\nexport function instanceOfTopologyTransaction(value: object): value is TopologyTransaction {\n if (!('value' in value) || value['value'] === undefined) return false;\n return true;\n}\n\nexport function TopologyTransactionFromJSON(json: any): TopologyTransaction {\n return TopologyTransactionFromJSONTyped(json, false);\n}\n\nexport function TopologyTransactionFromJSONTyped(json: any, ignoreDiscriminator: boolean): TopologyTransaction {\n if (json == null) {\n return json;\n }\n return {\n \n 'value': JsTopologyTransactionFromJSON(json['value']),\n };\n}\n\nexport function TopologyTransactionToJSON(json: any): TopologyTransaction {\n return TopologyTransactionToJSONTyped(json, false);\n}\n\nexport function TopologyTransactionToJSONTyped(value?: TopologyTransaction | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'value': JsTopologyTransactionToJSON(value['value']),\n };\n}\n\n"]}
1
+ {"version":3,"sources":["../src/open-api/models/TopologyTransaction.ts"],"names":["instanceOfTopologyTransaction","value","undefined","TopologyTransactionFromJSON","json","TopologyTransactionFromJSONTyped","ignoreDiscriminator","JsTopologyTransactionFromJSON","TopologyTransactionToJSON","TopologyTransactionToJSONTyped","JsTopologyTransactionToJSON"],"mappings":";;;;AAsCO,SAASA,8BAA8BC,KAAAA,EAAa;AACvD,EAAA,IAAI,EAAE,OAAA,IAAWA,KAAAA,CAAAA,IAAUA,MAAM,OAAA,CAAA,KAAaC,QAAW,OAAO,KAAA;AAChE,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA;AAKT,SAASG,4BAA4BC,IAAAA,EAAS;AACjD,EAAA,OAAOC,gCAAAA,CAAiCD,IAAM,CAAA;AAClD;AAFgBD,MAAAA,CAAAA,2BAAAA,EAAAA,6BAAAA,CAAAA;AAIT,SAASE,gCAAAA,CAAiCD,MAAWE,mBAAAA,EAA4B;AACpF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,OAAA,EAASG,6BAAAA,CAA8BH,IAAAA,CAAK,OAAA,CAAQ;AACxD,GAAA;AACJ;AARgBC,MAAAA,CAAAA,gCAAAA,EAAAA,kCAAAA,CAAAA;AAUT,SAASG,0BAA0BJ,IAAAA,EAAS;AAC/C,EAAA,OAAOK,8BAAAA,CAA+BL,MAAM,KAAA,CAAA;AAChD;AAFgBI,MAAAA,CAAAA,yBAAAA,EAAAA,2BAAAA,CAAAA;AAIT,SAASC,8BAAAA,CAA+BR,KAAAA,EAAoCK,mBAAAA,GAA+B,KAAA,EAAK;AACnH,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,OAAA,EAASS,2BAAAA,CAA4BT,KAAAA,CAAM,OAAA,CAAQ;AACvD,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA","file":"FSV2XOCP.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.7.0-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime.js';\nimport type { JsTopologyTransaction } from './JsTopologyTransaction.js';\nimport {\n JsTopologyTransactionFromJSON,\n JsTopologyTransactionFromJSONTyped,\n JsTopologyTransactionToJSON,\n JsTopologyTransactionToJSONTyped,\n} from './JsTopologyTransaction.js';\n\n/**\n * \n * @export\n * @interface TopologyTransaction\n */\nexport interface TopologyTransaction {\n /**\n * \n */\n value: JsTopologyTransaction;\n}\n\n/**\n * Check if a given object implements the TopologyTransaction interface.\n */\nexport function instanceOfTopologyTransaction(value: object): value is TopologyTransaction {\n if (!('value' in value) || value['value'] === undefined) return false;\n return true;\n}\n\nexport function TopologyTransactionFromJSON(json: any): TopologyTransaction {\n return TopologyTransactionFromJSONTyped(json, false);\n}\n\nexport function TopologyTransactionFromJSONTyped(json: any, ignoreDiscriminator: boolean): TopologyTransaction {\n if (json == null) {\n return json;\n }\n return {\n \n 'value': JsTopologyTransactionFromJSON(json['value']),\n };\n}\n\nexport function TopologyTransactionToJSON(json: any): TopologyTransaction {\n return TopologyTransactionToJSONTyped(json, false);\n}\n\nexport function TopologyTransactionToJSONTyped(value?: TopologyTransaction | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'value': JsTopologyTransactionToJSON(value['value']),\n };\n}\n\n"]}
@@ -1,6 +1,6 @@
1
+ import { instanceOfEventOneOf1, EventOneOf1FromJSONTyped, EventOneOf1ToJSON } from './HFYA5VJM.js';
1
2
  import { instanceOfEventOneOf2, EventOneOf2FromJSONTyped, EventOneOf2ToJSON } from './XRO4AHYH.js';
2
3
  import { instanceOfEventOneOf, EventOneOfFromJSONTyped, EventOneOfToJSON } from './SMBGFEF5.js';
3
- import { instanceOfEventOneOf1, EventOneOf1FromJSONTyped, EventOneOf1ToJSON } from './HFYA5VJM.js';
4
4
  import { __name } from './VUOMXK5T.js';
5
5
 
6
6
  // src/open-api/models/Event.ts
@@ -52,5 +52,5 @@ function EventToJSONTyped(value, ignoreDiscriminator = false) {
52
52
  __name(EventToJSONTyped, "EventToJSONTyped");
53
53
 
54
54
  export { EventFromJSON, EventFromJSONTyped, EventToJSON, EventToJSONTyped };
55
- //# sourceMappingURL=GNTIQ643.js.map
56
- //# sourceMappingURL=GNTIQ643.js.map
55
+ //# sourceMappingURL=GO4QW5YL.js.map
56
+ //# sourceMappingURL=GO4QW5YL.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/open-api/models/Event.ts"],"names":["EventFromJSON","json","EventFromJSONTyped","ignoreDiscriminator","instanceOfEventOneOf","EventOneOfFromJSONTyped","instanceOfEventOneOf1","EventOneOf1FromJSONTyped","instanceOfEventOneOf2","EventOneOf2FromJSONTyped","EventToJSON","EventToJSONTyped","value","EventOneOfToJSON","EventOneOf1ToJSON","EventOneOf2ToJSON"],"mappings":";;;;;;AAqDO,SAASA,cAAcC,IAAAA,EAAS;AACnC,EAAA,OAAOC,kBAAAA,CAAmBD,IAAM,CAAA;AACpC;AAFgBD,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAIT,SAASE,kBAAAA,CAAmBD,MAAWE,mBAAAA,EAA4B;AACtE,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,IAAI,OAAOA,SAAS,QAAA,EAAU;AAC1B,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,IAAIG,oBAAAA,CAAqBH,IAAAA,CAAAA,EAAO;AAC5B,IAAA,OAAOI,uBAAAA,CAAwBJ,MAAM,IAAA,CAAA;AACzC,EAAA;AACA,EAAA,IAAIK,qBAAAA,CAAsBL,IAAAA,CAAAA,EAAO;AAC7B,IAAA,OAAOM,wBAAAA,CAAyBN,MAAM,IAAA,CAAA;AAC1C,EAAA;AACA,EAAA,IAAIO,qBAAAA,CAAsBP,IAAAA,CAAAA,EAAO;AAC7B,IAAA,OAAOQ,wBAAAA,CAAyBR,MAAM,IAAA,CAAA;AAC1C,EAAA;AACA,EAAA,OAAO,EAAC;AACZ;AAjBgBC,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAmBT,SAASQ,YAAYT,IAAAA,EAAS;AACjC,EAAA,OAAOU,gBAAAA,CAAiBV,MAAM,KAAA,CAAA;AAClC;AAFgBS,MAAAA,CAAAA,WAAAA,EAAAA,aAAAA,CAAAA;AAIT,SAASC,gBAAAA,CAAiBC,KAAAA,EAAsBT,mBAAAA,GAA+B,KAAA,EAAK;AACvF,EAAA,IAAIS,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AACA,EAAA,IAAI,OAAOA,UAAU,QAAA,EAAU;AAC3B,IAAA,OAAOA,KAAAA;AACX,EAAA;AACA,EAAA,IAAIR,oBAAAA,CAAqBQ,KAAAA,CAAAA,EAAQ;AAC7B,IAAA,OAAOC,iBAAiBD,KAAAA,CAAAA;AAC5B,EAAA;AACA,EAAA,IAAIN,qBAAAA,CAAsBM,KAAAA,CAAAA,EAAQ;AAC9B,IAAA,OAAOE,kBAAkBF,KAAAA,CAAAA;AAC7B,EAAA;AACA,EAAA,IAAIJ,qBAAAA,CAAsBI,KAAAA,CAAAA,EAAQ;AAC9B,IAAA,OAAOG,kBAAkBH,KAAAA,CAAAA;AAC7B,EAAA;AACA,EAAA,OAAO,EAAC;AACZ;AAjBgBD,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA","file":"GNTIQ643.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.7.0-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { parseDate, parseDateTime, serializeDate, serializeDateTime } from '../runtime.js';\nimport type { EventOneOf } from './EventOneOf.js';\nimport {\n instanceOfEventOneOf,\n EventOneOfFromJSON,\n EventOneOfFromJSONTyped,\n EventOneOfToJSON,\n} from './EventOneOf.js';\nimport type { EventOneOf1 } from './EventOneOf1.js';\nimport {\n instanceOfEventOneOf1,\n EventOneOf1FromJSON,\n EventOneOf1FromJSONTyped,\n EventOneOf1ToJSON,\n} from './EventOneOf1.js';\nimport type { EventOneOf2 } from './EventOneOf2.js';\nimport {\n instanceOfEventOneOf2,\n EventOneOf2FromJSON,\n EventOneOf2FromJSONTyped,\n EventOneOf2ToJSON,\n} from './EventOneOf2.js';\n\n/**\n * @type Event\n * Events in transactions can have two primary shapes:\n * \n * - ACS delta: events can be CreatedEvent or ArchivedEvent\n * - ledger effects: events can be CreatedEvent or ExercisedEvent\n * \n * In the update service the events are restricted to the events\n * visible for the parties specified in the transaction filter. Each\n * event message type below contains a ``witness_parties`` field which\n * indicates the subset of the requested parties that can see the event\n * in question.\n * @export\n */\nexport type Event = EventOneOf | EventOneOf1 | EventOneOf2;\n\nexport function EventFromJSON(json: any): Event {\n return EventFromJSONTyped(json, false);\n}\n\nexport function EventFromJSONTyped(json: any, ignoreDiscriminator: boolean): Event {\n if (json == null) {\n return json;\n }\n if (typeof json !== 'object') {\n return json;\n }\n if (instanceOfEventOneOf(json)) {\n return EventOneOfFromJSONTyped(json, true);\n }\n if (instanceOfEventOneOf1(json)) {\n return EventOneOf1FromJSONTyped(json, true);\n }\n if (instanceOfEventOneOf2(json)) {\n return EventOneOf2FromJSONTyped(json, true);\n }\n return {} as any;\n}\n\nexport function EventToJSON(json: any): any {\n return EventToJSONTyped(json, false);\n}\n\nexport function EventToJSONTyped(value?: Event | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n if (typeof value !== 'object') {\n return value;\n }\n if (instanceOfEventOneOf(value)) {\n return EventOneOfToJSON(value as EventOneOf);\n }\n if (instanceOfEventOneOf1(value)) {\n return EventOneOf1ToJSON(value as EventOneOf1);\n }\n if (instanceOfEventOneOf2(value)) {\n return EventOneOf2ToJSON(value as EventOneOf2);\n }\n return {};\n}\n\n"]}
1
+ {"version":3,"sources":["../src/open-api/models/Event.ts"],"names":["EventFromJSON","json","EventFromJSONTyped","ignoreDiscriminator","instanceOfEventOneOf","EventOneOfFromJSONTyped","instanceOfEventOneOf1","EventOneOf1FromJSONTyped","instanceOfEventOneOf2","EventOneOf2FromJSONTyped","EventToJSON","EventToJSONTyped","value","EventOneOfToJSON","EventOneOf1ToJSON","EventOneOf2ToJSON"],"mappings":";;;;;;AAqDO,SAASA,cAAcC,IAAAA,EAAS;AACnC,EAAA,OAAOC,kBAAAA,CAAmBD,IAAM,CAAA;AACpC;AAFgBD,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAIT,SAASE,kBAAAA,CAAmBD,MAAWE,mBAAAA,EAA4B;AACtE,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,IAAI,OAAOA,SAAS,QAAA,EAAU;AAC1B,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,IAAIG,oBAAAA,CAAqBH,IAAAA,CAAAA,EAAO;AAC5B,IAAA,OAAOI,uBAAAA,CAAwBJ,MAAM,IAAA,CAAA;AACzC,EAAA;AACA,EAAA,IAAIK,qBAAAA,CAAsBL,IAAAA,CAAAA,EAAO;AAC7B,IAAA,OAAOM,wBAAAA,CAAyBN,MAAM,IAAA,CAAA;AAC1C,EAAA;AACA,EAAA,IAAIO,qBAAAA,CAAsBP,IAAAA,CAAAA,EAAO;AAC7B,IAAA,OAAOQ,wBAAAA,CAAyBR,MAAM,IAAA,CAAA;AAC1C,EAAA;AACA,EAAA,OAAO,EAAC;AACZ;AAjBgBC,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAmBT,SAASQ,YAAYT,IAAAA,EAAS;AACjC,EAAA,OAAOU,gBAAAA,CAAiBV,MAAM,KAAA,CAAA;AAClC;AAFgBS,MAAAA,CAAAA,WAAAA,EAAAA,aAAAA,CAAAA;AAIT,SAASC,gBAAAA,CAAiBC,KAAAA,EAAsBT,mBAAAA,GAA+B,KAAA,EAAK;AACvF,EAAA,IAAIS,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AACA,EAAA,IAAI,OAAOA,UAAU,QAAA,EAAU;AAC3B,IAAA,OAAOA,KAAAA;AACX,EAAA;AACA,EAAA,IAAIR,oBAAAA,CAAqBQ,KAAAA,CAAAA,EAAQ;AAC7B,IAAA,OAAOC,iBAAiBD,KAAAA,CAAAA;AAC5B,EAAA;AACA,EAAA,IAAIN,qBAAAA,CAAsBM,KAAAA,CAAAA,EAAQ;AAC9B,IAAA,OAAOE,kBAAkBF,KAAAA,CAAAA;AAC7B,EAAA;AACA,EAAA,IAAIJ,qBAAAA,CAAsBI,KAAAA,CAAAA,EAAQ;AAC9B,IAAA,OAAOG,kBAAkBH,KAAAA,CAAAA;AAC7B,EAAA;AACA,EAAA,OAAO,EAAC;AACZ;AAjBgBD,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA","file":"GO4QW5YL.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.7.0-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { parseDate, parseDateTime, serializeDate, serializeDateTime } from '../runtime.js';\nimport type { EventOneOf } from './EventOneOf.js';\nimport {\n instanceOfEventOneOf,\n EventOneOfFromJSON,\n EventOneOfFromJSONTyped,\n EventOneOfToJSON,\n} from './EventOneOf.js';\nimport type { EventOneOf1 } from './EventOneOf1.js';\nimport {\n instanceOfEventOneOf1,\n EventOneOf1FromJSON,\n EventOneOf1FromJSONTyped,\n EventOneOf1ToJSON,\n} from './EventOneOf1.js';\nimport type { EventOneOf2 } from './EventOneOf2.js';\nimport {\n instanceOfEventOneOf2,\n EventOneOf2FromJSON,\n EventOneOf2FromJSONTyped,\n EventOneOf2ToJSON,\n} from './EventOneOf2.js';\n\n/**\n * @type Event\n * Events in transactions can have two primary shapes:\n * \n * - ACS delta: events can be CreatedEvent or ArchivedEvent\n * - ledger effects: events can be CreatedEvent or ExercisedEvent\n * \n * In the update service the events are restricted to the events\n * visible for the parties specified in the transaction filter. Each\n * event message type below contains a ``witness_parties`` field which\n * indicates the subset of the requested parties that can see the event\n * in question.\n * @export\n */\nexport type Event = EventOneOf | EventOneOf1 | EventOneOf2;\n\nexport function EventFromJSON(json: any): Event {\n return EventFromJSONTyped(json, false);\n}\n\nexport function EventFromJSONTyped(json: any, ignoreDiscriminator: boolean): Event {\n if (json == null) {\n return json;\n }\n if (typeof json !== 'object') {\n return json;\n }\n if (instanceOfEventOneOf(json)) {\n return EventOneOfFromJSONTyped(json, true);\n }\n if (instanceOfEventOneOf1(json)) {\n return EventOneOf1FromJSONTyped(json, true);\n }\n if (instanceOfEventOneOf2(json)) {\n return EventOneOf2FromJSONTyped(json, true);\n }\n return {} as any;\n}\n\nexport function EventToJSON(json: any): any {\n return EventToJSONTyped(json, false);\n}\n\nexport function EventToJSONTyped(value?: Event | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n if (typeof value !== 'object') {\n return value;\n }\n if (instanceOfEventOneOf(value)) {\n return EventOneOfToJSON(value as EventOneOf);\n }\n if (instanceOfEventOneOf1(value)) {\n return EventOneOf1ToJSON(value as EventOneOf1);\n }\n if (instanceOfEventOneOf2(value)) {\n return EventOneOf2ToJSON(value as EventOneOf2);\n }\n return {};\n}\n\n"]}
@@ -1,8 +1,8 @@
1
1
  import { PrefetchContractKeyFromJSON, PrefetchContractKeyToJSON } from './ZRR7WPCM.js';
2
2
  import { DisclosedContractFromJSON, DisclosedContractToJSON } from './DBB3AL3V.js';
3
- import { DeduplicationPeriodFromJSON, DeduplicationPeriodToJSON } from './UMD5REID.js';
3
+ import { DeduplicationPeriodFromJSON, DeduplicationPeriodToJSON } from './YONIYI4X.js';
4
4
  import { DurationFromJSON, DurationToJSON } from './RTOPSVZC.js';
5
- import { CommandFromJSON, CommandToJSON } from './CRVXAMIK.js';
5
+ import { CommandFromJSON, CommandToJSON } from './62JWAJEM.js';
6
6
  import { __name } from './VUOMXK5T.js';
7
7
 
8
8
  // src/open-api/models/JsCommands.ts
@@ -69,5 +69,5 @@ function JsCommandsToJSONTyped(value, ignoreDiscriminator = false) {
69
69
  __name(JsCommandsToJSONTyped, "JsCommandsToJSONTyped");
70
70
 
71
71
  export { JsCommandsFromJSON, JsCommandsFromJSONTyped, JsCommandsToJSON, JsCommandsToJSONTyped, instanceOfJsCommands };
72
- //# sourceMappingURL=D46GHYLR.js.map
73
- //# sourceMappingURL=D46GHYLR.js.map
72
+ //# sourceMappingURL=GURC7E3X.js.map
73
+ //# sourceMappingURL=GURC7E3X.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/open-api/models/JsCommands.ts"],"names":["instanceOfJsCommands","value","undefined","JsCommandsFromJSON","json","JsCommandsFromJSONTyped","ignoreDiscriminator","map","CommandFromJSON","DeduplicationPeriodFromJSON","DurationFromJSON","DisclosedContractFromJSON","PrefetchContractKeyFromJSON","JsCommandsToJSON","JsCommandsToJSONTyped","CommandToJSON","DeduplicationPeriodToJSON","DurationToJSON","DisclosedContractToJSON","PrefetchContractKeyToJSON"],"mappings":"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","file":"D46GHYLR.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.7.0-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime.js';\nimport type { DeduplicationPeriod } from './DeduplicationPeriod.js';\nimport {\n DeduplicationPeriodFromJSON,\n DeduplicationPeriodFromJSONTyped,\n DeduplicationPeriodToJSON,\n DeduplicationPeriodToJSONTyped,\n} from './DeduplicationPeriod.js';\nimport type { PrefetchContractKey } from './PrefetchContractKey.js';\nimport {\n PrefetchContractKeyFromJSON,\n PrefetchContractKeyFromJSONTyped,\n PrefetchContractKeyToJSON,\n PrefetchContractKeyToJSONTyped,\n} from './PrefetchContractKey.js';\nimport type { Command } from './Command.js';\nimport {\n CommandFromJSON,\n CommandFromJSONTyped,\n CommandToJSON,\n CommandToJSONTyped,\n} from './Command.js';\nimport type { DisclosedContract } from './DisclosedContract.js';\nimport {\n DisclosedContractFromJSON,\n DisclosedContractFromJSONTyped,\n DisclosedContractToJSON,\n DisclosedContractToJSONTyped,\n} from './DisclosedContract.js';\nimport type { Duration } from './Duration.js';\nimport {\n DurationFromJSON,\n DurationFromJSONTyped,\n DurationToJSON,\n DurationToJSONTyped,\n} from './Duration.js';\n\n/**\n * A composite command that groups multiple commands together.\n * @export\n * @interface JsCommands\n */\nexport interface JsCommands {\n /**\n * Individual elements of this atomic command. Must be non-empty.\n * \n * Required: must be non-empty\n */\n commands: Array<Command>;\n /**\n * Uniquely identifies the command.\n * The triple (user_id, act_as, command_id) constitutes the change ID for the intended ledger change,\n * where act_as is interpreted as a set of party names.\n * The change ID can be used for matching the intended ledger changes with all their completions.\n * Must be a valid LedgerString (as described in ``value.proto``).\n * \n * Required\n */\n commandId: string;\n /**\n * Set of parties on whose behalf the command should be executed.\n * If ledger API authorization is enabled, then the authorization metadata must authorize the sender of the request\n * to act on behalf of each of the given parties.\n * Each element must be a valid PartyIdString (as described in ``value.proto``).\n * \n * Required: must be non-empty\n */\n actAs: Array<string>;\n /**\n * Uniquely identifies the participant user that issued the command.\n * Must be a valid UserIdString (as described in ``value.proto``).\n * Required unless authentication is used with a user token.\n * In that case, the token's user-id will be used for the request's user_id.\n * \n * Optional\n */\n userId?: string;\n /**\n * Set of parties on whose behalf (in addition to all parties listed in ``act_as``) contracts can be retrieved.\n * This affects Daml operations such as ``fetch``, ``fetchByKey``, ``lookupByKey``, ``exercise``, and ``exerciseByKey``.\n * Note: A participant node of a Daml network can host multiple parties. Each contract present on the participant\n * node is only visible to a subset of these parties. A command can only use contracts that are visible to at least\n * one of the parties in ``act_as`` or ``read_as``. This visibility check is independent from the Daml authorization\n * rules for fetch operations.\n * If ledger API authorization is enabled, then the authorization metadata must authorize the sender of the request\n * to read contract data on behalf of each of the given parties.\n * \n * Optional: can be empty\n */\n readAs?: Array<string>;\n /**\n * Identifier of the on-ledger workflow that this command is a part of.\n * Must be a valid LedgerString (as described in ``value.proto``).\n * \n * Optional\n */\n workflowId?: string;\n /**\n * \n */\n deduplicationPeriod?: DeduplicationPeriod;\n /**\n * Lower bound for the ledger time assigned to the resulting transaction.\n * Note: The ledger time of a transaction is assigned as part of command interpretation.\n * Use this property if you expect that command interpretation will take a considerate amount of time, such that by\n * the time the resulting transaction is sequenced, its assigned ledger time is not valid anymore.\n * Must not be set at the same time as min_ledger_time_rel.\n * \n * Optional\n */\n minLedgerTimeAbs?: string;\n /**\n * \n */\n minLedgerTimeRel?: Duration;\n /**\n * A unique identifier to distinguish completions for different submissions with the same change ID.\n * Typically a random UUID. Applications are expected to use a different UUID for each retry of a submission\n * with the same change ID.\n * Must be a valid LedgerString (as described in ``value.proto``).\n * \n * If omitted, the participant or the committer may set a value of their choice.\n * \n * Optional\n */\n submissionId?: string;\n /**\n * Additional contracts used to resolve contract & contract key lookups.\n * \n * Optional: can be empty\n */\n disclosedContracts?: Array<DisclosedContract>;\n /**\n * Must be a valid synchronizer id\n * \n * Optional\n */\n synchronizerId?: string;\n /**\n * The package-id selection preference of the client for resolving\n * package names and interface instances in command submission and interpretation\n * \n * Optional: can be empty\n */\n packageIdSelectionPreference?: Array<string>;\n /**\n * Fetches the contract keys into the caches to speed up the command processing.\n * Each entry specifies a key and a limit on how many contracts to prefetch for that key.\n * The limit does not count disclosed contracts, and should reflect the number of\n * additional contracts expected to be resolved during interpretation of the commands.\n * If a key appears multiple times, the last entry's limit wins.\n * \n * Optional: can be empty\n */\n prefetchContractKeys?: Array<PrefetchContractKey>;\n /**\n * The maximum number of passes for the Topology-Aware Package Selection (TAPS).\n * Higher values can increase the chance of successful package selection for routing of interpreted transactions.\n * If unset, this defaults to the value defined in the participant configuration.\n * The provided value must not exceed the limit specified in the participant configuration.\n * \n * Optional\n */\n tapsMaxPasses?: number;\n}\n\n/**\n * Check if a given object implements the JsCommands interface.\n */\nexport function instanceOfJsCommands(value: object): value is JsCommands {\n if (!('commands' in value) || value['commands'] === undefined) return false;\n if (!('commandId' in value) || value['commandId'] === undefined) return false;\n if (!('actAs' in value) || value['actAs'] === undefined) return false;\n return true;\n}\n\nexport function JsCommandsFromJSON(json: any): JsCommands {\n return JsCommandsFromJSONTyped(json, false);\n}\n\nexport function JsCommandsFromJSONTyped(json: any, ignoreDiscriminator: boolean): JsCommands {\n if (json == null) {\n return json;\n }\n return {\n \n 'commands': ((json['commands'] as Array<any>).map(CommandFromJSON)),\n 'commandId': json['commandId'],\n 'actAs': json['actAs'],\n 'userId': json['userId'] == null ? undefined : json['userId'],\n 'readAs': json['readAs'] == null ? undefined : json['readAs'],\n 'workflowId': json['workflowId'] == null ? undefined : json['workflowId'],\n 'deduplicationPeriod': json['deduplicationPeriod'] == null ? undefined : DeduplicationPeriodFromJSON(json['deduplicationPeriod']),\n 'minLedgerTimeAbs': json['minLedgerTimeAbs'] == null ? undefined : json['minLedgerTimeAbs'],\n 'minLedgerTimeRel': json['minLedgerTimeRel'] == null ? undefined : DurationFromJSON(json['minLedgerTimeRel']),\n 'submissionId': json['submissionId'] == null ? undefined : json['submissionId'],\n 'disclosedContracts': json['disclosedContracts'] == null ? undefined : ((json['disclosedContracts'] as Array<any>).map(DisclosedContractFromJSON)),\n 'synchronizerId': json['synchronizerId'] == null ? undefined : json['synchronizerId'],\n 'packageIdSelectionPreference': json['packageIdSelectionPreference'] == null ? undefined : json['packageIdSelectionPreference'],\n 'prefetchContractKeys': json['prefetchContractKeys'] == null ? undefined : ((json['prefetchContractKeys'] as Array<any>).map(PrefetchContractKeyFromJSON)),\n 'tapsMaxPasses': json['tapsMaxPasses'] == null ? undefined : json['tapsMaxPasses'],\n };\n}\n\nexport function JsCommandsToJSON(json: any): JsCommands {\n return JsCommandsToJSONTyped(json, false);\n}\n\nexport function JsCommandsToJSONTyped(value?: JsCommands | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'commands': ((value['commands'] as Array<any>).map(CommandToJSON)),\n 'commandId': value['commandId'],\n 'actAs': value['actAs'],\n 'userId': value['userId'],\n 'readAs': value['readAs'],\n 'workflowId': value['workflowId'],\n 'deduplicationPeriod': DeduplicationPeriodToJSON(value['deduplicationPeriod']),\n 'minLedgerTimeAbs': value['minLedgerTimeAbs'],\n 'minLedgerTimeRel': DurationToJSON(value['minLedgerTimeRel']),\n 'submissionId': value['submissionId'],\n 'disclosedContracts': value['disclosedContracts'] == null ? undefined : ((value['disclosedContracts'] as Array<any>).map(DisclosedContractToJSON)),\n 'synchronizerId': value['synchronizerId'],\n 'packageIdSelectionPreference': value['packageIdSelectionPreference'],\n 'prefetchContractKeys': value['prefetchContractKeys'] == null ? undefined : ((value['prefetchContractKeys'] as Array<any>).map(PrefetchContractKeyToJSON)),\n 'tapsMaxPasses': value['tapsMaxPasses'],\n };\n}\n\n"]}
1
+ {"version":3,"sources":["../src/open-api/models/JsCommands.ts"],"names":["instanceOfJsCommands","value","undefined","JsCommandsFromJSON","json","JsCommandsFromJSONTyped","ignoreDiscriminator","map","CommandFromJSON","DeduplicationPeriodFromJSON","DurationFromJSON","DisclosedContractFromJSON","PrefetchContractKeyFromJSON","JsCommandsToJSON","JsCommandsToJSONTyped","CommandToJSON","DeduplicationPeriodToJSON","DurationToJSON","DisclosedContractToJSON","PrefetchContractKeyToJSON"],"mappings":"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","file":"GURC7E3X.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.7.0-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime.js';\nimport type { DeduplicationPeriod } from './DeduplicationPeriod.js';\nimport {\n DeduplicationPeriodFromJSON,\n DeduplicationPeriodFromJSONTyped,\n DeduplicationPeriodToJSON,\n DeduplicationPeriodToJSONTyped,\n} from './DeduplicationPeriod.js';\nimport type { PrefetchContractKey } from './PrefetchContractKey.js';\nimport {\n PrefetchContractKeyFromJSON,\n PrefetchContractKeyFromJSONTyped,\n PrefetchContractKeyToJSON,\n PrefetchContractKeyToJSONTyped,\n} from './PrefetchContractKey.js';\nimport type { Command } from './Command.js';\nimport {\n CommandFromJSON,\n CommandFromJSONTyped,\n CommandToJSON,\n CommandToJSONTyped,\n} from './Command.js';\nimport type { DisclosedContract } from './DisclosedContract.js';\nimport {\n DisclosedContractFromJSON,\n DisclosedContractFromJSONTyped,\n DisclosedContractToJSON,\n DisclosedContractToJSONTyped,\n} from './DisclosedContract.js';\nimport type { Duration } from './Duration.js';\nimport {\n DurationFromJSON,\n DurationFromJSONTyped,\n DurationToJSON,\n DurationToJSONTyped,\n} from './Duration.js';\n\n/**\n * A composite command that groups multiple commands together.\n * @export\n * @interface JsCommands\n */\nexport interface JsCommands {\n /**\n * Individual elements of this atomic command. Must be non-empty.\n * \n * Required: must be non-empty\n */\n commands: Array<Command>;\n /**\n * Uniquely identifies the command.\n * The triple (user_id, act_as, command_id) constitutes the change ID for the intended ledger change,\n * where act_as is interpreted as a set of party names.\n * The change ID can be used for matching the intended ledger changes with all their completions.\n * Must be a valid LedgerString (as described in ``value.proto``).\n * \n * Required\n */\n commandId: string;\n /**\n * Set of parties on whose behalf the command should be executed.\n * If ledger API authorization is enabled, then the authorization metadata must authorize the sender of the request\n * to act on behalf of each of the given parties.\n * Each element must be a valid PartyIdString (as described in ``value.proto``).\n * \n * Required: must be non-empty\n */\n actAs: Array<string>;\n /**\n * Uniquely identifies the participant user that issued the command.\n * Must be a valid UserIdString (as described in ``value.proto``).\n * Required unless authentication is used with a user token.\n * In that case, the token's user-id will be used for the request's user_id.\n * \n * Optional\n */\n userId?: string;\n /**\n * Set of parties on whose behalf (in addition to all parties listed in ``act_as``) contracts can be retrieved.\n * This affects Daml operations such as ``fetch``, ``fetchByKey``, ``lookupByKey``, ``exercise``, and ``exerciseByKey``.\n * Note: A participant node of a Daml network can host multiple parties. Each contract present on the participant\n * node is only visible to a subset of these parties. A command can only use contracts that are visible to at least\n * one of the parties in ``act_as`` or ``read_as``. This visibility check is independent from the Daml authorization\n * rules for fetch operations.\n * If ledger API authorization is enabled, then the authorization metadata must authorize the sender of the request\n * to read contract data on behalf of each of the given parties.\n * \n * Optional: can be empty\n */\n readAs?: Array<string>;\n /**\n * Identifier of the on-ledger workflow that this command is a part of.\n * Must be a valid LedgerString (as described in ``value.proto``).\n * \n * Optional\n */\n workflowId?: string;\n /**\n * \n */\n deduplicationPeriod?: DeduplicationPeriod;\n /**\n * Lower bound for the ledger time assigned to the resulting transaction.\n * Note: The ledger time of a transaction is assigned as part of command interpretation.\n * Use this property if you expect that command interpretation will take a considerate amount of time, such that by\n * the time the resulting transaction is sequenced, its assigned ledger time is not valid anymore.\n * Must not be set at the same time as min_ledger_time_rel.\n * \n * Optional\n */\n minLedgerTimeAbs?: string;\n /**\n * \n */\n minLedgerTimeRel?: Duration;\n /**\n * A unique identifier to distinguish completions for different submissions with the same change ID.\n * Typically a random UUID. Applications are expected to use a different UUID for each retry of a submission\n * with the same change ID.\n * Must be a valid LedgerString (as described in ``value.proto``).\n * \n * If omitted, the participant or the committer may set a value of their choice.\n * \n * Optional\n */\n submissionId?: string;\n /**\n * Additional contracts used to resolve contract & contract key lookups.\n * \n * Optional: can be empty\n */\n disclosedContracts?: Array<DisclosedContract>;\n /**\n * Must be a valid synchronizer id\n * \n * Optional\n */\n synchronizerId?: string;\n /**\n * The package-id selection preference of the client for resolving\n * package names and interface instances in command submission and interpretation\n * \n * Optional: can be empty\n */\n packageIdSelectionPreference?: Array<string>;\n /**\n * Fetches the contract keys into the caches to speed up the command processing.\n * Each entry specifies a key and a limit on how many contracts to prefetch for that key.\n * The limit does not count disclosed contracts, and should reflect the number of\n * additional contracts expected to be resolved during interpretation of the commands.\n * If a key appears multiple times, the last entry's limit wins.\n * \n * Optional: can be empty\n */\n prefetchContractKeys?: Array<PrefetchContractKey>;\n /**\n * The maximum number of passes for the Topology-Aware Package Selection (TAPS).\n * Higher values can increase the chance of successful package selection for routing of interpreted transactions.\n * If unset, this defaults to the value defined in the participant configuration.\n * The provided value must not exceed the limit specified in the participant configuration.\n * \n * Optional\n */\n tapsMaxPasses?: number;\n}\n\n/**\n * Check if a given object implements the JsCommands interface.\n */\nexport function instanceOfJsCommands(value: object): value is JsCommands {\n if (!('commands' in value) || value['commands'] === undefined) return false;\n if (!('commandId' in value) || value['commandId'] === undefined) return false;\n if (!('actAs' in value) || value['actAs'] === undefined) return false;\n return true;\n}\n\nexport function JsCommandsFromJSON(json: any): JsCommands {\n return JsCommandsFromJSONTyped(json, false);\n}\n\nexport function JsCommandsFromJSONTyped(json: any, ignoreDiscriminator: boolean): JsCommands {\n if (json == null) {\n return json;\n }\n return {\n \n 'commands': ((json['commands'] as Array<any>).map(CommandFromJSON)),\n 'commandId': json['commandId'],\n 'actAs': json['actAs'],\n 'userId': json['userId'] == null ? undefined : json['userId'],\n 'readAs': json['readAs'] == null ? undefined : json['readAs'],\n 'workflowId': json['workflowId'] == null ? undefined : json['workflowId'],\n 'deduplicationPeriod': json['deduplicationPeriod'] == null ? undefined : DeduplicationPeriodFromJSON(json['deduplicationPeriod']),\n 'minLedgerTimeAbs': json['minLedgerTimeAbs'] == null ? undefined : json['minLedgerTimeAbs'],\n 'minLedgerTimeRel': json['minLedgerTimeRel'] == null ? undefined : DurationFromJSON(json['minLedgerTimeRel']),\n 'submissionId': json['submissionId'] == null ? undefined : json['submissionId'],\n 'disclosedContracts': json['disclosedContracts'] == null ? undefined : ((json['disclosedContracts'] as Array<any>).map(DisclosedContractFromJSON)),\n 'synchronizerId': json['synchronizerId'] == null ? undefined : json['synchronizerId'],\n 'packageIdSelectionPreference': json['packageIdSelectionPreference'] == null ? undefined : json['packageIdSelectionPreference'],\n 'prefetchContractKeys': json['prefetchContractKeys'] == null ? undefined : ((json['prefetchContractKeys'] as Array<any>).map(PrefetchContractKeyFromJSON)),\n 'tapsMaxPasses': json['tapsMaxPasses'] == null ? undefined : json['tapsMaxPasses'],\n };\n}\n\nexport function JsCommandsToJSON(json: any): JsCommands {\n return JsCommandsToJSONTyped(json, false);\n}\n\nexport function JsCommandsToJSONTyped(value?: JsCommands | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'commands': ((value['commands'] as Array<any>).map(CommandToJSON)),\n 'commandId': value['commandId'],\n 'actAs': value['actAs'],\n 'userId': value['userId'],\n 'readAs': value['readAs'],\n 'workflowId': value['workflowId'],\n 'deduplicationPeriod': DeduplicationPeriodToJSON(value['deduplicationPeriod']),\n 'minLedgerTimeAbs': value['minLedgerTimeAbs'],\n 'minLedgerTimeRel': DurationToJSON(value['minLedgerTimeRel']),\n 'submissionId': value['submissionId'],\n 'disclosedContracts': value['disclosedContracts'] == null ? undefined : ((value['disclosedContracts'] as Array<any>).map(DisclosedContractToJSON)),\n 'synchronizerId': value['synchronizerId'],\n 'packageIdSelectionPreference': value['packageIdSelectionPreference'],\n 'prefetchContractKeys': value['prefetchContractKeys'] == null ? undefined : ((value['prefetchContractKeys'] as Array<any>).map(PrefetchContractKeyToJSON)),\n 'tapsMaxPasses': value['tapsMaxPasses'],\n };\n}\n\n"]}