@layerzerolabs/common-canton 1.2.70 → 1.2.71

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 (283) hide show
  1. package/dist/{A7U4VVQK.js → 3TB6JU2S.js} +3 -3
  2. package/dist/{A7U4VVQK.js.map → 3TB6JU2S.js.map} +1 -1
  3. package/dist/{O26WXLAL.js → 4TSDR3IG.js} +4 -4
  4. package/dist/{O26WXLAL.js.map → 4TSDR3IG.js.map} +1 -1
  5. package/dist/{XINHRIWA.js → 5BIIW37A.js} +3 -3
  6. package/dist/{XINHRIWA.js.map → 5BIIW37A.js.map} +1 -1
  7. package/dist/{ODJN4O2R.js → 5QCQRBF2.js} +16 -6
  8. package/dist/5QCQRBF2.js.map +1 -0
  9. package/dist/{EITKKRM7.js → 66C2UKUB.js} +3 -3
  10. package/dist/{EITKKRM7.js.map → 66C2UKUB.js.map} +1 -1
  11. package/dist/{LS6TAA3S.js → 6GU7J47E.js} +3 -3
  12. package/dist/{LS6TAA3S.js.map → 6GU7J47E.js.map} +1 -1
  13. package/dist/{MI3L7BKC.js → 6NR67X2L.js} +4 -4
  14. package/dist/{MI3L7BKC.js.map → 6NR67X2L.js.map} +1 -1
  15. package/dist/{IHOOPR5Q.js → 74GXIV45.js} +4 -4
  16. package/dist/{IHOOPR5Q.js.map → 74GXIV45.js.map} +1 -1
  17. package/dist/{TAI7WDMG.js → 7PHM6HLD.js} +3 -3
  18. package/dist/{TAI7WDMG.js.map → 7PHM6HLD.js.map} +1 -1
  19. package/dist/{HCWCELIY.js → A3YRP3CP.js} +3 -3
  20. package/dist/{HCWCELIY.js.map → A3YRP3CP.js.map} +1 -1
  21. package/dist/{LCM7LWM5.js → A7FFE5B3.js} +3 -3
  22. package/dist/{LCM7LWM5.js.map → A7FFE5B3.js.map} +1 -1
  23. package/dist/{7STDATVZ.js → A7VF3ZJF.js} +3 -3
  24. package/dist/{7STDATVZ.js.map → A7VF3ZJF.js.map} +1 -1
  25. package/dist/{HLEDC536.js → AAYMVMGA.js} +4 -4
  26. package/dist/{HLEDC536.js.map → AAYMVMGA.js.map} +1 -1
  27. package/dist/{VNAH76JJ.js → ACTUREBJ.js} +4 -4
  28. package/dist/{VNAH76JJ.js.map → ACTUREBJ.js.map} +1 -1
  29. package/dist/{ZILWPZLS.js → AE56UC5I.js} +3 -3
  30. package/dist/{ZILWPZLS.js.map → AE56UC5I.js.map} +1 -1
  31. package/dist/{SUQRZQJZ.js → AGAXQJWB.js} +4 -4
  32. package/dist/{SUQRZQJZ.js.map → AGAXQJWB.js.map} +1 -1
  33. package/dist/{PXHLNX4K.js → BQWTGHOG.js} +5 -5
  34. package/dist/BQWTGHOG.js.map +1 -0
  35. package/dist/{WLHCBBAJ.js → BSVJEBKM.js} +5 -5
  36. package/dist/BSVJEBKM.js.map +1 -0
  37. package/dist/{AXXLRBOT.js → BZPOVFBV.js} +3 -3
  38. package/dist/{AXXLRBOT.js.map → BZPOVFBV.js.map} +1 -1
  39. package/dist/{VWP2ORHR.js → C4O6KF4R.js} +4 -4
  40. package/dist/{VWP2ORHR.js.map → C4O6KF4R.js.map} +1 -1
  41. package/dist/{WRPKZZ4E.js → CC2PLAKT.js} +3 -3
  42. package/dist/{WRPKZZ4E.js.map → CC2PLAKT.js.map} +1 -1
  43. package/dist/{KCRFOKIB.js → CJNH6ICZ.js} +3 -3
  44. package/dist/{KCRFOKIB.js.map → CJNH6ICZ.js.map} +1 -1
  45. package/dist/{5N5IZWFQ.js → CMO2N5J7.js} +92 -45
  46. package/dist/CMO2N5J7.js.map +1 -0
  47. package/dist/{5RZS7DZN.js → CVQHQLYE.js} +3 -3
  48. package/dist/{5RZS7DZN.js.map → CVQHQLYE.js.map} +1 -1
  49. package/dist/{5LBZE3FZ.js → CXV5NOWI.js} +3 -3
  50. package/dist/{5LBZE3FZ.js.map → CXV5NOWI.js.map} +1 -1
  51. package/dist/{F7DI4SRR.js → DCTO6JNO.js} +8 -7
  52. package/dist/DCTO6JNO.js.map +1 -0
  53. package/dist/{42L4RKH6.js → DDDXBNRD.js} +8 -8
  54. package/dist/DDDXBNRD.js.map +1 -0
  55. package/dist/{2NZC3LBF.js → DSOC63CO.js} +3 -3
  56. package/dist/{2NZC3LBF.js.map → DSOC63CO.js.map} +1 -1
  57. package/dist/{OR2CV5NU.js → EPHLTMJZ.js} +3 -3
  58. package/dist/{OR2CV5NU.js.map → EPHLTMJZ.js.map} +1 -1
  59. package/dist/{C46IODEA.js → FA5HJRNC.js} +3 -3
  60. package/dist/{C46IODEA.js.map → FA5HJRNC.js.map} +1 -1
  61. package/dist/{HGLH54M2.js → FCOOEGLV.js} +3 -3
  62. package/dist/{HGLH54M2.js.map → FCOOEGLV.js.map} +1 -1
  63. package/dist/{T5O5EZO2.js → FYF3KCTO.js} +3 -3
  64. package/dist/{T5O5EZO2.js.map → FYF3KCTO.js.map} +1 -1
  65. package/dist/{B42Y5JOK.js → GJFARMTH.js} +39 -39
  66. package/dist/{B42Y5JOK.js.map → GJFARMTH.js.map} +1 -1
  67. package/dist/{VBS2IYYS.js → GN3EMRUZ.js} +3 -3
  68. package/dist/{VBS2IYYS.js.map → GN3EMRUZ.js.map} +1 -1
  69. package/dist/{MLPZRNZP.js → H5WF7YON.js} +3 -3
  70. package/dist/{MLPZRNZP.js.map → H5WF7YON.js.map} +1 -1
  71. package/dist/HFTJEW3A.js +3 -0
  72. package/dist/HFTJEW3A.js.map +1 -0
  73. package/dist/{FXR2Z54G.js → HPOEKKSQ.js} +3 -3
  74. package/dist/{FXR2Z54G.js.map → HPOEKKSQ.js.map} +1 -1
  75. package/dist/{4MFKSIYK.js → HU7X7G5L.js} +3 -3
  76. package/dist/{4MFKSIYK.js.map → HU7X7G5L.js.map} +1 -1
  77. package/dist/{HF5HP2EX.js → I5ERUZDD.js} +5 -6
  78. package/dist/I5ERUZDD.js.map +1 -0
  79. package/dist/{XFM6ATM3.js → IQJ5FFO2.js} +3 -3
  80. package/dist/{XFM6ATM3.js.map → IQJ5FFO2.js.map} +1 -1
  81. package/dist/{SPMIXP6R.js → JDIEWLND.js} +3 -3
  82. package/dist/{SPMIXP6R.js.map → JDIEWLND.js.map} +1 -1
  83. package/dist/{J26F3LZM.js → K3RKYYAJ.js} +3 -3
  84. package/dist/{J26F3LZM.js.map → K3RKYYAJ.js.map} +1 -1
  85. package/dist/{34I4OGQK.js → KA2OXQFA.js} +3 -3
  86. package/dist/{34I4OGQK.js.map → KA2OXQFA.js.map} +1 -1
  87. package/dist/{JRFMLEIC.js → KS4JT7HC.js} +3 -3
  88. package/dist/{JRFMLEIC.js.map → KS4JT7HC.js.map} +1 -1
  89. package/dist/{ZQ2F7HPB.js → LYW3PRU5.js} +3 -3
  90. package/dist/{ZQ2F7HPB.js.map → LYW3PRU5.js.map} +1 -1
  91. package/dist/{5GUS3R4R.js → MANSIJ5E.js} +4 -4
  92. package/dist/{5GUS3R4R.js.map → MANSIJ5E.js.map} +1 -1
  93. package/dist/{NMK4KJVK.js → MOQL7EDE.js} +3 -3
  94. package/dist/{NMK4KJVK.js.map → MOQL7EDE.js.map} +1 -1
  95. package/dist/{JKQLMXRN.js → NFLUJSFO.js} +3 -3
  96. package/dist/{JKQLMXRN.js.map → NFLUJSFO.js.map} +1 -1
  97. package/dist/{5N747JZQ.js → NKSFRE2D.js} +3 -3
  98. package/dist/{5N747JZQ.js.map → NKSFRE2D.js.map} +1 -1
  99. package/dist/{5O7CQ3B5.js → NRS4DZPT.js} +3 -3
  100. package/dist/{5O7CQ3B5.js.map → NRS4DZPT.js.map} +1 -1
  101. package/dist/{OU6ZGOI7.js → NVM727ES.js} +3 -3
  102. package/dist/{OU6ZGOI7.js.map → NVM727ES.js.map} +1 -1
  103. package/dist/{UOJYTAJA.js → NZ7JRTF5.js} +3 -3
  104. package/dist/{UOJYTAJA.js.map → NZ7JRTF5.js.map} +1 -1
  105. package/dist/{S5X72W5R.js → OC2GKSCZ.js} +3 -3
  106. package/dist/{S5X72W5R.js.map → OC2GKSCZ.js.map} +1 -1
  107. package/dist/{2PMOI5F3.js → OUSDBPTI.js} +3 -3
  108. package/dist/{2PMOI5F3.js.map → OUSDBPTI.js.map} +1 -1
  109. package/dist/{MZMRFQTR.js → PW7NJ3JL.js} +3 -3
  110. package/dist/{MZMRFQTR.js.map → PW7NJ3JL.js.map} +1 -1
  111. package/dist/{UZTJVHNP.js → PWHGLCTH.js} +3 -3
  112. package/dist/{UZTJVHNP.js.map → PWHGLCTH.js.map} +1 -1
  113. package/dist/{QSQZYJB6.js → PWKI6T6A.js} +3 -4
  114. package/dist/PWKI6T6A.js.map +1 -0
  115. package/dist/{SEKD553P.js → QEE5QCHB.js} +4 -4
  116. package/dist/QEE5QCHB.js.map +1 -0
  117. package/dist/{BA56KCNU.js → QYKMFCVF.js} +3 -3
  118. package/dist/{BA56KCNU.js.map → QYKMFCVF.js.map} +1 -1
  119. package/dist/{QZJONP6W.js → QZKEWDGH.js} +3 -3
  120. package/dist/{QZJONP6W.js.map → QZKEWDGH.js.map} +1 -1
  121. package/dist/{KYQVWBET.js → RGSLEGIT.js} +3 -3
  122. package/dist/{KYQVWBET.js.map → RGSLEGIT.js.map} +1 -1
  123. package/dist/{P6RLTY4Q.js → SFKNDB45.js} +4 -4
  124. package/dist/{P6RLTY4Q.js.map → SFKNDB45.js.map} +1 -1
  125. package/dist/{CPODYNES.js → TIKYUQ7Z.js} +3 -3
  126. package/dist/{CPODYNES.js.map → TIKYUQ7Z.js.map} +1 -1
  127. package/dist/{CM3AEJH2.js → TV3E6NFT.js} +4 -4
  128. package/dist/{CM3AEJH2.js.map → TV3E6NFT.js.map} +1 -1
  129. package/dist/{JG3CGXAA.js → U64PVM2G.js} +3 -3
  130. package/dist/{JG3CGXAA.js.map → U64PVM2G.js.map} +1 -1
  131. package/dist/{NAKXSYHE.js → U7QJUV2C.js} +3 -3
  132. package/dist/{NAKXSYHE.js.map → U7QJUV2C.js.map} +1 -1
  133. package/dist/{7QVLLG7J.js → UNTLGCGB.js} +3 -3
  134. package/dist/{7QVLLG7J.js.map → UNTLGCGB.js.map} +1 -1
  135. package/dist/{X5Q5IDTX.js → V6WKCZKX.js} +3 -3
  136. package/dist/{X5Q5IDTX.js.map → V6WKCZKX.js.map} +1 -1
  137. package/dist/{6GAFSKMN.js → VDBQAUSY.js} +3 -3
  138. package/dist/{6GAFSKMN.js.map → VDBQAUSY.js.map} +1 -1
  139. package/dist/{TKPU3I2P.js → VIVHP4ZR.js} +3 -3
  140. package/dist/{TKPU3I2P.js.map → VIVHP4ZR.js.map} +1 -1
  141. package/dist/{RELCLANB.js → VKQ3WBCW.js} +3 -3
  142. package/dist/{RELCLANB.js.map → VKQ3WBCW.js.map} +1 -1
  143. package/dist/{H2QNCZZP.js → WEOR7EMZ.js} +4 -4
  144. package/dist/{H2QNCZZP.js.map → WEOR7EMZ.js.map} +1 -1
  145. package/dist/{CYUO5SRQ.js → WH4AALW7.js} +3 -3
  146. package/dist/{CYUO5SRQ.js.map → WH4AALW7.js.map} +1 -1
  147. package/dist/{WS55YOW3.js → WLN7SJMS.js} +3 -3
  148. package/dist/{WS55YOW3.js.map → WLN7SJMS.js.map} +1 -1
  149. package/dist/XEYUU6QF.js +3 -0
  150. package/dist/XEYUU6QF.js.map +1 -0
  151. package/dist/{42XERBT4.js → XUUV67AB.js} +3 -3
  152. package/dist/{42XERBT4.js.map → XUUV67AB.js.map} +1 -1
  153. package/dist/{Z2TOQ5RW.js → YCNGW63C.js} +3 -3
  154. package/dist/{Z2TOQ5RW.js.map → YCNGW63C.js.map} +1 -1
  155. package/dist/{DAP5XJGH.js → Z6XV6V6U.js} +3 -3
  156. package/dist/{DAP5XJGH.js.map → Z6XV6V6U.js.map} +1 -1
  157. package/dist/{JEVZBCKB.js → Z74KDZ47.js} +3 -3
  158. package/dist/{JEVZBCKB.js.map → Z74KDZ47.js.map} +1 -1
  159. package/dist/{JRALW2JZ.js → ZCFOFDYY.js} +3 -3
  160. package/dist/{JRALW2JZ.js.map → ZCFOFDYY.js.map} +1 -1
  161. package/dist/{XPBJWESZ.js → ZKWD7SP2.js} +3 -3
  162. package/dist/{XPBJWESZ.js.map → ZKWD7SP2.js.map} +1 -1
  163. package/dist/{NXLM7ANC.js → ZYOH5EDV.js} +3 -3
  164. package/dist/{NXLM7ANC.js.map → ZYOH5EDV.js.map} +1 -1
  165. package/dist/address.js +2 -2
  166. package/dist/browser.js +2 -2
  167. package/dist/client/amulet.d.ts.map +1 -1
  168. package/dist/client/amulet.js +1 -1
  169. package/dist/client/canton-client.js +100 -100
  170. package/dist/client/index.js +100 -100
  171. package/dist/deferredValue.d.ts.map +1 -1
  172. package/dist/deferredValue.js +1 -1
  173. package/dist/events.js +5 -5
  174. package/dist/index.js +114 -113
  175. package/dist/open-api/apis/DefaultApi.js +98 -98
  176. package/dist/open-api/apis/index.js +98 -98
  177. package/dist/open-api/index.js +98 -98
  178. package/dist/open-api/models/Command.js +3 -3
  179. package/dist/open-api/models/Completion.js +6 -6
  180. package/dist/open-api/models/Completion1.js +5 -5
  181. package/dist/open-api/models/CompletionResponse.js +9 -9
  182. package/dist/open-api/models/CompletionResponseOneOf.js +7 -7
  183. package/dist/open-api/models/CompletionStreamResponse.js +10 -10
  184. package/dist/open-api/models/CreateUserRequest.js +6 -6
  185. package/dist/open-api/models/CumulativeFilter.js +5 -5
  186. package/dist/open-api/models/DeduplicationPeriod.js +3 -3
  187. package/dist/open-api/models/DeduplicationPeriod1.js +3 -3
  188. package/dist/open-api/models/Event.js +3 -3
  189. package/dist/open-api/models/EventFormat.js +7 -7
  190. package/dist/open-api/models/ExperimentalFeatures.js +2 -2
  191. package/dist/open-api/models/FeaturesDescriptor.js +3 -3
  192. package/dist/open-api/models/Filters.js +6 -6
  193. package/dist/open-api/models/GetActiveContractsRequest.js +9 -9
  194. package/dist/open-api/models/GetEventsByContractIdRequest.js +8 -8
  195. package/dist/open-api/models/GetLedgerApiVersionResponse.js +4 -4
  196. package/dist/open-api/models/GetTransactionByIdRequest.js +9 -9
  197. package/dist/open-api/models/GetTransactionByOffsetRequest.js +9 -9
  198. package/dist/open-api/models/GetUpdateByIdRequest.js +10 -10
  199. package/dist/open-api/models/GetUpdateByOffsetRequest.js +10 -10
  200. package/dist/open-api/models/GetUpdatesRequest.js +11 -11
  201. package/dist/open-api/models/GrantUserRightsRequest.js +6 -6
  202. package/dist/open-api/models/GrantUserRightsResponse.js +6 -6
  203. package/dist/open-api/models/IdentifierFilter.js +4 -4
  204. package/dist/open-api/models/JsCommands.js +7 -7
  205. package/dist/open-api/models/JsContractEntry.js +5 -5
  206. package/dist/open-api/models/JsExecuteSubmissionAndWaitForTransactionRequest.js +13 -13
  207. package/dist/open-api/models/JsExecuteSubmissionAndWaitForTransactionResponse.js +5 -5
  208. package/dist/open-api/models/JsExecuteSubmissionAndWaitRequest.js +5 -5
  209. package/dist/open-api/models/JsExecuteSubmissionRequest.js +5 -5
  210. package/dist/open-api/models/JsGetActiveContractsResponse.js +6 -6
  211. package/dist/open-api/models/JsGetTransactionResponse.js +5 -5
  212. package/dist/open-api/models/JsGetTransactionTreeResponse.js +4 -4
  213. package/dist/open-api/models/JsGetUpdateResponse.js +9 -9
  214. package/dist/open-api/models/JsGetUpdateTreesResponse.js +7 -7
  215. package/dist/open-api/models/JsGetUpdatesResponse.js +9 -9
  216. package/dist/open-api/models/JsPrepareSubmissionRequest.js +8 -8
  217. package/dist/open-api/models/JsSubmitAndWaitForTransactionRequest.js +16 -16
  218. package/dist/open-api/models/JsSubmitAndWaitForTransactionResponse.js +5 -5
  219. package/dist/open-api/models/JsSubmitAndWaitForTransactionTreeResponse.js +4 -4
  220. package/dist/open-api/models/JsTransaction.js +4 -4
  221. package/dist/open-api/models/JsTransactionTree.js +3 -3
  222. package/dist/open-api/models/Kind.js +4 -4
  223. package/dist/open-api/models/ListUserRightsResponse.js +6 -6
  224. package/dist/open-api/models/MinLedgerTime.js +4 -4
  225. package/dist/open-api/models/PriorTopologySerial.js +3 -3
  226. package/dist/open-api/models/RevokeUserRightsRequest.js +6 -6
  227. package/dist/open-api/models/RevokeUserRightsResponse.js +6 -6
  228. package/dist/open-api/models/Right.js +5 -5
  229. package/dist/open-api/models/Serial.js +2 -2
  230. package/dist/open-api/models/SubmitAndWaitForReassignmentRequest.js +8 -8
  231. package/dist/open-api/models/Time.js +3 -3
  232. package/dist/open-api/models/Transaction.js +5 -5
  233. package/dist/open-api/models/TransactionFilter.js +7 -7
  234. package/dist/open-api/models/TransactionFormat.js +8 -8
  235. package/dist/open-api/models/TransactionTree.js +4 -4
  236. package/dist/open-api/models/TreeEvent.js +2 -2
  237. package/dist/open-api/models/Update.js +8 -8
  238. package/dist/open-api/models/Update1.js +6 -6
  239. package/dist/open-api/models/Update1OneOf2.js +5 -5
  240. package/dist/open-api/models/UpdateFormat.js +9 -9
  241. package/dist/open-api/models/UpdateOneOf3.js +6 -6
  242. package/dist/open-api/models/UpdateVettedPackagesRequest.js +4 -4
  243. package/dist/open-api/models/index.js +97 -97
  244. package/dist/provider.js +101 -101
  245. package/dist/refresh/address-resolver.d.ts.map +1 -1
  246. package/dist/refresh/address-resolver.js +2 -2
  247. package/dist/refresh/deployment-address.d.ts.map +1 -1
  248. package/dist/refresh/deployment-address.js +2 -2
  249. package/dist/refresh/index.d.ts +1 -0
  250. package/dist/refresh/index.d.ts.map +1 -1
  251. package/dist/refresh/index.js +11 -10
  252. package/dist/refresh/onesig-execution.d.ts +18 -0
  253. package/dist/refresh/onesig-execution.d.ts.map +1 -0
  254. package/dist/refresh/onesig-execution.js +3 -0
  255. package/dist/refresh/onesig-execution.js.map +1 -0
  256. package/dist/refresh/plan.d.ts +15 -0
  257. package/dist/refresh/plan.d.ts.map +1 -1
  258. package/dist/refresh/plan.js +2 -2
  259. package/dist/refresh/resolve-plan.d.ts +2 -0
  260. package/dist/refresh/resolve-plan.d.ts.map +1 -1
  261. package/dist/refresh/resolve-plan.js +3 -3
  262. package/dist/refresh/resolve.d.ts +3 -1
  263. package/dist/refresh/resolve.d.ts.map +1 -1
  264. package/dist/refresh/resolve.js +6 -6
  265. package/dist/refresh/reverse-substitute.d.ts.map +1 -1
  266. package/dist/refresh/reverse-substitute.js +2 -2
  267. package/dist/refresh/wrapped-lz-sdk.d.ts.map +1 -1
  268. package/dist/refresh/wrapped-lz-sdk.js +3 -3
  269. package/dist/transaction.d.ts +35 -0
  270. package/dist/transaction.d.ts.map +1 -1
  271. package/dist/transaction.js +3 -3
  272. package/package.json +10 -10
  273. package/dist/42L4RKH6.js.map +0 -1
  274. package/dist/5N5IZWFQ.js.map +0 -1
  275. package/dist/6UDREB6T.js +0 -3
  276. package/dist/6UDREB6T.js.map +0 -1
  277. package/dist/F7DI4SRR.js.map +0 -1
  278. package/dist/HF5HP2EX.js.map +0 -1
  279. package/dist/ODJN4O2R.js.map +0 -1
  280. package/dist/PXHLNX4K.js.map +0 -1
  281. package/dist/QSQZYJB6.js.map +0 -1
  282. package/dist/SEKD553P.js.map +0 -1
  283. package/dist/WLHCBBAJ.js.map +0 -1
@@ -1,29 +1,26 @@
1
- import { createContractAddressResolver } from './42L4RKH6.js';
1
+ import { createContractAddressResolver } from './DDDXBNRD.js';
2
2
  import { getCreateArgumentField } from './SWY4QT4I.js';
3
- import { isCantonDeferredSender, isCantonDeferredSentinel } from './QSQZYJB6.js';
3
+ import { isCantonDeferredSender, isCantonDeferredSentinel } from './PWKI6T6A.js';
4
4
  import { __name } from './VUOMXK5T.js';
5
- import { NonRetryableError } from '@layerzerolabs/common-error-utils';
6
5
 
6
+ // src/refresh/resolve-plan.ts
7
7
  var DAML_DECIMAL_SCALE = 10n ** 10n;
8
8
  var MAX_SELECTED_CONTRACTS = 100;
9
9
  var CANTON_TIME_PATTERN = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?Z$/;
10
- var nonRetryable = /* @__PURE__ */ __name((message) => {
11
- throw new NonRetryableError(message);
12
- }, "nonRetryable");
13
10
  var resolveParty = /* @__PURE__ */ __name((partyRef, senderParty, label) => {
14
11
  if (!isCantonDeferredSender(partyRef)) return partyRef.party;
15
12
  if (!senderParty) {
16
- return nonRetryable(`${label} requires a resolved sender party`);
13
+ throw new Error(`${label} requires a resolved sender party`);
17
14
  }
18
15
  return senderParty;
19
16
  }, "resolveParty");
20
17
  var parseDamlDecimal = /* @__PURE__ */ __name((value, label) => {
21
18
  if (typeof value !== "string") {
22
- return nonRetryable(`${label} must be a DAML Decimal string`);
19
+ throw new Error(`${label} must be a DAML Decimal string`);
23
20
  }
24
21
  const match = /^([+-]?)(\d+)(?:\.(\d{0,10}))?$/.exec(value);
25
22
  if (!match) {
26
- return nonRetryable(`${label} is not a valid DAML Decimal: ${value}`);
23
+ throw new Error(`${label} is not a valid DAML Decimal: ${value}`);
27
24
  }
28
25
  const sign = match[1] === "-" ? -1n : 1n;
29
26
  const whole = BigInt(match[2]);
@@ -38,7 +35,7 @@ var getContractNumericField = /* @__PURE__ */ __name((contract, field) => {
38
35
  var selectContractsByGte = /* @__PURE__ */ __name((contracts, field, requestedValue) => {
39
36
  const requested = parseDamlDecimal(requestedValue, "Requested contract value");
40
37
  if (requested <= 0n) {
41
- return nonRetryable("Requested contract value must be positive");
38
+ throw new Error("Requested contract value must be positive");
42
39
  }
43
40
  const candidates = contracts.map((contract) => ({
44
41
  contract,
@@ -52,10 +49,10 @@ var selectContractsByGte = /* @__PURE__ */ __name((contracts, field, requestedVa
52
49
  if (total >= requested) break;
53
50
  }
54
51
  if (total < requested) {
55
- return nonRetryable(`Insufficient contract value in field ${field}: requested ${requestedValue}, found ${total.toString()} base units`);
52
+ throw new Error(`Insufficient contract value in field ${field}: requested ${requestedValue}, found ${total.toString()} base units`);
56
53
  }
57
54
  if (selected.length > MAX_SELECTED_CONTRACTS) {
58
- return nonRetryable(`Selection needs ${selected.length} contracts, exceeding the ${MAX_SELECTED_CONTRACTS} input limit`);
55
+ throw new Error(`Selection needs ${selected.length} contracts, exceeding the ${MAX_SELECTED_CONTRACTS} input limit`);
59
56
  }
60
57
  return selected;
61
58
  }, "selectContractsByGte");
@@ -69,11 +66,11 @@ var makeActiveContractRef = /* @__PURE__ */ __name((selector) => ({
69
66
  var resolveContractValue = /* @__PURE__ */ __name(async (resolver, source) => {
70
67
  const contracts = await resolver.resolveActiveContracts(makeActiveContractRef(source.selector));
71
68
  if (contracts.length !== 1) {
72
- return nonRetryable(`Active contract value matched ${contracts.length} contracts, expected exactly one`);
69
+ throw new Error(`Active contract value matched ${contracts.length} contracts, expected exactly one`);
73
70
  }
74
71
  const value = getCreateArgumentField(contracts[0].createdEvent.createArgument, source.field);
75
72
  if (parseDamlDecimal(value, `Contract value ${source.field}`) <= 0n) {
76
- return nonRetryable(`Contract value ${source.field} must be positive`);
73
+ throw new Error(`Contract value ${source.field} must be positive`);
77
74
  }
78
75
  return value;
79
76
  }, "resolveContractValue");
@@ -81,7 +78,7 @@ var selectActiveContracts = /* @__PURE__ */ __name(async (contracts, selection,
81
78
  switch (selection.kind) {
82
79
  case "exactlyOne":
83
80
  if (contracts.length !== 1) {
84
- return nonRetryable(`Active contract selection matched ${contracts.length} contracts, expected exactly one`);
81
+ throw new Error(`Active contract selection matched ${contracts.length} contracts, expected exactly one`);
85
82
  }
86
83
  return contracts;
87
84
  case "all":
@@ -119,7 +116,7 @@ var replaceAtPath = /* @__PURE__ */ __name((root, path, value) => {
119
116
  const isLast = position === path.length - 1;
120
117
  if ("field" in segment) {
121
118
  if (!isRecord(current) || !(segment.field in current)) {
122
- return nonRetryable(`Refresh target field "${segment.field}" does not exist`);
119
+ throw new Error(`Refresh target field "${segment.field}" does not exist`);
123
120
  }
124
121
  if (isLast) {
125
122
  current[segment.field] = value;
@@ -130,7 +127,7 @@ var replaceAtPath = /* @__PURE__ */ __name((root, path, value) => {
130
127
  }
131
128
  if ("index" in segment) {
132
129
  if (!Array.isArray(current) || segment.index >= current.length) {
133
- return nonRetryable(`Refresh target array index ${segment.index} does not exist`);
130
+ throw new Error(`Refresh target array index ${segment.index} does not exist`);
134
131
  }
135
132
  if (isLast) {
136
133
  current[segment.index] = value;
@@ -140,11 +137,11 @@ var replaceAtPath = /* @__PURE__ */ __name((root, path, value) => {
140
137
  continue;
141
138
  }
142
139
  if (!Array.isArray(current)) {
143
- return nonRetryable(`Refresh target DAML map "${segment.damlMapKey}" is not an array`);
140
+ throw new Error(`Refresh target DAML map "${segment.damlMapKey}" is not an array`);
144
141
  }
145
142
  const matches = current.filter((entry) => Array.isArray(entry) && entry.length === 2 && entry[0] === segment.damlMapKey);
146
143
  if (matches.length !== 1) {
147
- return nonRetryable(`Refresh target DAML map key "${segment.damlMapKey}" matched ${matches.length} entries`);
144
+ throw new Error(`Refresh target DAML map key "${segment.damlMapKey}" matched ${matches.length} entries`);
148
145
  }
149
146
  if (isLast) {
150
147
  matches[0][1] = value;
@@ -159,24 +156,24 @@ var readAtPath = /* @__PURE__ */ __name((root, path) => {
159
156
  for (const segment of path) {
160
157
  if ("field" in segment) {
161
158
  if (!isRecord(current) || !(segment.field in current)) {
162
- return nonRetryable(`Refresh target field "${segment.field}" does not exist`);
159
+ throw new Error(`Refresh target field "${segment.field}" does not exist`);
163
160
  }
164
161
  current = current[segment.field];
165
162
  continue;
166
163
  }
167
164
  if ("index" in segment) {
168
165
  if (!Array.isArray(current) || segment.index >= current.length) {
169
- return nonRetryable(`Refresh target array index ${segment.index} does not exist`);
166
+ throw new Error(`Refresh target array index ${segment.index} does not exist`);
170
167
  }
171
168
  current = current[segment.index];
172
169
  continue;
173
170
  }
174
171
  if (!Array.isArray(current)) {
175
- return nonRetryable(`Refresh target DAML map "${segment.damlMapKey}" is not an array`);
172
+ throw new Error(`Refresh target DAML map "${segment.damlMapKey}" is not an array`);
176
173
  }
177
174
  const matches = current.filter((entry) => Array.isArray(entry) && entry.length === 2 && entry[0] === segment.damlMapKey);
178
175
  if (matches.length !== 1) {
179
- return nonRetryable(`Refresh target DAML map key "${segment.damlMapKey}" matched ${matches.length} entries`);
176
+ throw new Error(`Refresh target DAML map key "${segment.damlMapKey}" matched ${matches.length} entries`);
180
177
  }
181
178
  current = matches[0][1];
182
179
  }
@@ -185,45 +182,45 @@ var readAtPath = /* @__PURE__ */ __name((root, path) => {
185
182
  var readTarget = /* @__PURE__ */ __name((commands, target, path) => {
186
183
  const command = commands[target.commandIndex];
187
184
  if (!command) {
188
- return nonRetryable(`Refresh command index ${target.commandIndex} does not exist`);
185
+ throw new Error(`Refresh command index ${target.commandIndex} does not exist`);
189
186
  }
190
187
  if (target.command === "exercise") {
191
188
  if (!("exerciseCommand" in command)) {
192
- return nonRetryable(`Refresh command index ${target.commandIndex} is not an exercise`);
189
+ throw new Error(`Refresh command index ${target.commandIndex} is not an exercise`);
193
190
  }
194
191
  if (command.exerciseCommand.choice !== target.choice) {
195
- return nonRetryable(`Refresh command index ${target.commandIndex} expected choice ${target.choice}, found ${command.exerciseCommand.choice}`);
192
+ throw new Error(`Refresh command index ${target.commandIndex} expected choice ${target.choice}, found ${command.exerciseCommand.choice}`);
196
193
  }
197
194
  return readAtPath(command.exerciseCommand.choiceArgument, path);
198
195
  }
199
196
  if (!("createCommand" in command)) {
200
- return nonRetryable(`Refresh command index ${target.commandIndex} is not a create`);
197
+ throw new Error(`Refresh command index ${target.commandIndex} is not a create`);
201
198
  }
202
199
  if (command.createCommand.templateId !== target.template) {
203
- return nonRetryable(`Refresh command index ${target.commandIndex} expected template ${target.template}, found ${command.createCommand.templateId}`);
200
+ throw new Error(`Refresh command index ${target.commandIndex} expected template ${target.template}, found ${command.createCommand.templateId}`);
204
201
  }
205
202
  return readAtPath(command.createCommand.createArguments, path);
206
203
  }, "readTarget");
207
204
  var applyPatch = /* @__PURE__ */ __name((commands, target, path, value) => {
208
205
  const command = commands[target.commandIndex];
209
206
  if (!command) {
210
- return nonRetryable(`Refresh command index ${target.commandIndex} does not exist`);
207
+ throw new Error(`Refresh command index ${target.commandIndex} does not exist`);
211
208
  }
212
209
  if (target.command === "exercise") {
213
210
  if (!("exerciseCommand" in command)) {
214
- return nonRetryable(`Refresh command index ${target.commandIndex} is not an exercise`);
211
+ throw new Error(`Refresh command index ${target.commandIndex} is not an exercise`);
215
212
  }
216
213
  if (command.exerciseCommand.choice !== target.choice) {
217
- return nonRetryable(`Refresh command index ${target.commandIndex} expected choice ${target.choice}, found ${command.exerciseCommand.choice}`);
214
+ throw new Error(`Refresh command index ${target.commandIndex} expected choice ${target.choice}, found ${command.exerciseCommand.choice}`);
218
215
  }
219
216
  command.exerciseCommand.choiceArgument = replaceAtPath(command.exerciseCommand.choiceArgument, path, value);
220
217
  return;
221
218
  }
222
219
  if (!("createCommand" in command)) {
223
- return nonRetryable(`Refresh command index ${target.commandIndex} is not a create`);
220
+ throw new Error(`Refresh command index ${target.commandIndex} is not a create`);
224
221
  }
225
222
  if (command.createCommand.templateId !== target.template) {
226
- return nonRetryable(`Refresh command index ${target.commandIndex} expected template ${target.template}, found ${command.createCommand.templateId}`);
223
+ throw new Error(`Refresh command index ${target.commandIndex} expected template ${target.template}, found ${command.createCommand.templateId}`);
227
224
  }
228
225
  command.createCommand.createArguments = replaceAtPath(command.createCommand.createArguments, path, value);
229
226
  }, "applyPatch");
@@ -231,13 +228,13 @@ var applyTarget = /* @__PURE__ */ __name((commands, target, value) => {
231
228
  if ("field" in target) {
232
229
  const command = commands[target.commandIndex];
233
230
  if (!command) {
234
- return nonRetryable(`Refresh command index ${target.commandIndex} does not exist`);
231
+ throw new Error(`Refresh command index ${target.commandIndex} does not exist`);
235
232
  }
236
233
  if (!("exerciseCommand" in command)) {
237
- return nonRetryable(`Refresh command index ${target.commandIndex} is not an exercise`);
234
+ throw new Error(`Refresh command index ${target.commandIndex} is not an exercise`);
238
235
  }
239
236
  if (typeof value !== "string") {
240
- return nonRetryable("Exercise contract ID refresh must resolve to a string");
237
+ throw new Error("Exercise contract ID refresh must resolve to a string");
241
238
  }
242
239
  command.exerciseCommand.contractId = value;
243
240
  return;
@@ -256,14 +253,27 @@ var containsDeferredSentinel = /* @__PURE__ */ __name((value, key) => {
256
253
  var disclosuresEqual = /* @__PURE__ */ __name((left, right) => left.contractId === right.contractId && left.templateId === right.templateId && left.createdEventBlob === right.createdEventBlob && left.synchronizerId === right.synchronizerId, "disclosuresEqual");
257
254
  var resolveCantonRefreshPlan = /* @__PURE__ */ __name(async (args) => {
258
255
  if (containsDeferredSentinel(args.unresolvedCommands) || containsDeferredSentinel(args.unresolvedDisclosedContracts)) {
259
- return nonRetryable("Canton refreshPlan cannot be combined with deferred sentinels");
256
+ throw new Error("Canton refreshPlan cannot be combined with deferred sentinels");
257
+ }
258
+ if (args.refreshPlan.oneSigExecution) {
259
+ const operationIndex = args.refreshPlan.oneSigExecution.commandIndex;
260
+ for (const refresh of args.refreshPlan.commands) for (const target of refresh.targets) {
261
+ if (!("commandIndex" in target) || target.commandIndex !== operationIndex) continue;
262
+ if ("field" in target || target.command !== "exercise" || target.choice !== "OneSig_ExecuteTransaction" || target.arguments.some(({ path }) => path.length !== 1 || !("field" in path[0]) || ![
263
+ "configCid",
264
+ "amuletCids",
265
+ "amuletContext"
266
+ ].includes(path[0].field))) {
267
+ throw new Error("OneSig refresh cannot modify signed fields or its pinned anchor");
268
+ }
269
+ }
260
270
  }
261
271
  const commands = structuredClone(args.unresolvedCommands);
262
272
  const baselineDisclosureCids = new Set(args.unresolvedDisclosedContracts.map(({ contractId }) => contractId));
263
273
  const originalCids = new Set(args.refreshPlan.disclosures?.originalCids ?? []);
264
274
  for (const contractId of originalCids) {
265
275
  if (!baselineDisclosureCids.has(contractId)) {
266
- return nonRetryable(`Original disclosure ${contractId} cannot be refreshed: it is not present in unresolvedDisclosedContracts`);
276
+ throw new Error(`Original disclosure ${contractId} cannot be refreshed: it is not present in unresolvedDisclosedContracts`);
267
277
  }
268
278
  }
269
279
  const disclosureMap = /* @__PURE__ */ new Map();
@@ -271,7 +281,7 @@ var resolveCantonRefreshPlan = /* @__PURE__ */ __name(async (args) => {
271
281
  for (const disclosure of disclosures) {
272
282
  const existing = disclosureMap.get(disclosure.contractId);
273
283
  if (existing && !disclosuresEqual(existing, disclosure)) {
274
- return nonRetryable(`Conflicting disclosures for contract ${disclosure.contractId}`);
284
+ throw new Error(`Conflicting disclosures for contract ${disclosure.contractId}`);
275
285
  }
276
286
  disclosureMap.set(disclosure.contractId, disclosure);
277
287
  }
@@ -309,6 +319,36 @@ var resolveCantonRefreshPlan = /* @__PURE__ */ __name(async (args) => {
309
319
  }
310
320
  }
311
321
  }
322
+ const operation = args.refreshPlan.oneSigExecution;
323
+ if (operation) {
324
+ if (!args.resolveOneSigExecution) throw new Error("OneSig context resolver is required");
325
+ const command = commands[operation.commandIndex];
326
+ if (!command || !("exerciseCommand" in command) || command.exerciseCommand.choice !== "OneSig_ExecuteTransaction") {
327
+ throw new Error("OneSig refresh requires OneSig_ExecuteTransaction");
328
+ }
329
+ const argument = command.exerciseCommand.choiceArgument;
330
+ if (!isRecord(argument) || !isRecord(argument.transaction) || !Array.isArray(argument.transaction.calls)) {
331
+ throw new Error("Malformed OneSig transaction calls");
332
+ }
333
+ const calls = argument.transaction.calls;
334
+ const resolved = await args.resolveOneSigExecution({
335
+ policy: operation,
336
+ command: structuredClone(command.exerciseCommand),
337
+ client: args.client,
338
+ senderParty: args.senderParty
339
+ });
340
+ if (resolved.contexts.length !== calls.length) {
341
+ throw new Error("OneSig refreshed context count does not match signed calls");
342
+ }
343
+ for (const [index, entry] of calls.entries()) {
344
+ const context = resolved.contexts[index];
345
+ if (!isRecord(entry) || !isRecord(entry.context) || context.tag !== entry.context.tag) {
346
+ throw new Error(`OneSig context variant changed at call ${index}`);
347
+ }
348
+ entry.context = structuredClone(context);
349
+ }
350
+ appendDisclosures(resolved.disclosedContracts);
351
+ }
312
352
  const now = /* @__PURE__ */ new Date();
313
353
  for (const refresh of args.refreshPlan.commands) {
314
354
  if (!isTimestampRefresh(refresh)) continue;
@@ -316,10 +356,17 @@ var resolveCantonRefreshPlan = /* @__PURE__ */ __name(async (args) => {
316
356
  for (const { path, offsetMs = 0 } of target.arguments) {
317
357
  const iso = new Date(now.getTime() + offsetMs).toISOString();
318
358
  const current = readTarget(commands, target, path);
319
- const value = isCantonTime(current) ? iso : isRecord(current) && current.tag === "AV_Time" && isCantonTime(current.value) ? {
320
- ...current,
321
- value: iso
322
- } : nonRetryable("Timestamp refresh target must contain a Canton Time value");
359
+ let value;
360
+ if (isCantonTime(current)) {
361
+ value = iso;
362
+ } else if (isRecord(current) && current.tag === "AV_Time" && isCantonTime(current.value)) {
363
+ value = {
364
+ ...current,
365
+ value: iso
366
+ };
367
+ } else {
368
+ throw new Error("Timestamp refresh target must contain a Canton Time value");
369
+ }
323
370
  applyPatch(commands, target, path, value);
324
371
  }
325
372
  }
@@ -333,5 +380,5 @@ var resolveCantonRefreshPlan = /* @__PURE__ */ __name(async (args) => {
333
380
  }, "resolveCantonRefreshPlan");
334
381
 
335
382
  export { resolveCantonActiveContracts, resolveCantonRefreshPlan, selectContractsByGte };
336
- //# sourceMappingURL=5N5IZWFQ.js.map
337
- //# sourceMappingURL=5N5IZWFQ.js.map
383
+ //# sourceMappingURL=CMO2N5J7.js.map
384
+ //# sourceMappingURL=CMO2N5J7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/refresh/resolve-plan.ts"],"names":["DAML_DECIMAL_SCALE","MAX_SELECTED_CONTRACTS","CANTON_TIME_PATTERN","resolveParty","partyRef","senderParty","label","isCantonDeferredSender","party","Error","parseDamlDecimal","value","match","exec","sign","whole","BigInt","fraction","padEnd","getContractNumericField","contract","field","raw","getCreateArgumentField","createdEvent","createArgument","initialAmount","contractId","selectContractsByGte","contracts","requestedValue","requested","candidates","map","amount","filter","sort","left","right","localeCompare","selected","total","candidate","push","toString","length","makeActiveContractRef","selector","type","partyToFilter","queryAs","expectedSignatories","templateId","contractStateFilter","stateFilter","resolveContractValue","resolver","source","resolveActiveContracts","selectActiveContracts","selection","kind","resolveCantonActiveContracts","args","queryParty","ref","createContractAddressResolver","client","signingParties","appendDisclosures","undefined","contractIds","isRecord","Array","isArray","isCantonTime","test","Number","isFinite","Date","parse","isActiveContractRefresh","refresh","isActiveContractValueRefresh","isAmuletContextRefresh","isTimestampRefresh","replaceAtPath","root","path","current","position","segment","entries","isLast","index","damlMapKey","matches","entry","readAtPath","readTarget","commands","target","command","commandIndex","exerciseCommand","choice","choiceArgument","createCommand","template","createArguments","applyPatch","applyTarget","argument","arguments","containsDeferredSentinel","key","isCantonDeferredSentinel","some","item","Object","childKey","child","disclosuresEqual","createdEventBlob","synchronizerId","resolveCantonRefreshPlan","unresolvedCommands","unresolvedDisclosedContracts","refreshPlan","oneSigExecution","operationIndex","targets","includes","structuredClone","baselineDisclosureCids","Set","originalCids","disclosures","has","disclosureMap","Map","disclosure","existing","get","set","discloseActiveContracts","resolved","bundle","getAmuletContextWithExternalRules","admin","dsoParty","id","disclosedContracts","amuletContext","operation","resolveOneSigExecution","transaction","calls","policy","contexts","context","tag","now","offsetMs","iso","getTime","toISOString","values"],"mappings":"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","file":"CMO2N5J7.js","sourcesContent":["import type { ICantonClient } from '../client/interface';\nimport {\n type CantonRefreshPartyFilter,\n isCantonDeferredSender,\n isCantonDeferredSentinel,\n} from '../deferredValue';\nimport type { JsActiveContract } from '../open-api/models';\nimport type {\n CantonCommands,\n CantonDisclosedContracts,\n CantonUnresolvedCommands,\n} from '../transaction';\nimport { getCreateArgumentField } from '../trusted-origin';\nimport { type ActiveContractRef, createContractAddressResolver } from './address-resolver';\nimport type { ResolveCantonOneSigExecution } from './onesig-execution';\nimport type {\n CantonActiveContractRefresh,\n CantonActiveContractSelection,\n CantonActiveContractValue,\n CantonActiveContractValueRefresh,\n CantonAmuletContextRefresh,\n CantonArgumentRefreshTarget,\n CantonContractSelector,\n CantonRefresh,\n CantonRefreshPath,\n CantonRefreshPlan,\n CantonRefreshTarget,\n CantonTimestampRefresh,\n} from './plan';\n\nconst DAML_DECIMAL_SCALE = 10n ** 10n;\nconst MAX_SELECTED_CONTRACTS = 100;\nconst CANTON_TIME_PATTERN = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,9})?Z$/;\n\nconst resolveParty = (\n partyRef: CantonRefreshPartyFilter,\n senderParty: string | undefined,\n label: string,\n): string => {\n if (!isCantonDeferredSender(partyRef)) return partyRef.party;\n if (!senderParty) {\n throw new Error(`${label} requires a resolved sender party`);\n }\n return senderParty;\n};\n\nconst parseDamlDecimal = (value: unknown, label: string): bigint => {\n if (typeof value !== 'string') {\n throw new Error(`${label} must be a DAML Decimal string`);\n }\n const match = /^([+-]?)(\\d+)(?:\\.(\\d{0,10}))?$/.exec(value);\n if (!match) {\n throw new Error(`${label} is not a valid DAML Decimal: ${value}`);\n }\n const sign = match[1] === '-' ? -1n : 1n;\n const whole = BigInt(match[2]!);\n const fraction = BigInt((match[3] ?? '').padEnd(10, '0'));\n return sign * (whole * DAML_DECIMAL_SCALE + fraction);\n};\n\nconst getContractNumericField = (contract: JsActiveContract, field: string): bigint => {\n const raw = getCreateArgumentField(contract.createdEvent.createArgument, field);\n const value =\n raw !== null && typeof raw === 'object' && 'initialAmount' in raw\n ? (raw as { initialAmount?: unknown }).initialAmount\n : raw;\n return parseDamlDecimal(\n value,\n `Contract ${contract.createdEvent.contractId} numeric field ${field}`,\n );\n};\n\nexport const selectContractsByGte = (\n contracts: JsActiveContract[],\n field: string,\n requestedValue: string,\n): JsActiveContract[] => {\n const requested = parseDamlDecimal(requestedValue, 'Requested contract value');\n if (requested <= 0n) {\n throw new Error('Requested contract value must be positive');\n }\n\n const candidates = contracts\n .map((contract) => ({\n contract,\n amount: getContractNumericField(contract, field),\n }))\n .filter(({ amount }) => amount > 0n)\n .sort((left, right) =>\n left.amount === right.amount\n ? left.contract.createdEvent.contractId.localeCompare(\n right.contract.createdEvent.contractId,\n )\n : left.amount > right.amount\n ? -1\n : 1,\n );\n\n const selected: JsActiveContract[] = [];\n let total = 0n;\n for (const candidate of candidates) {\n selected.push(candidate.contract);\n total += candidate.amount;\n if (total >= requested) break;\n }\n\n if (total < requested) {\n throw new Error(\n `Insufficient contract value in field ${field}: requested ${requestedValue}, found ${total.toString()} base units`,\n );\n }\n if (selected.length > MAX_SELECTED_CONTRACTS) {\n throw new Error(\n `Selection needs ${selected.length} contracts, exceeding the ${MAX_SELECTED_CONTRACTS} input limit`,\n );\n }\n return selected;\n};\n\nconst makeActiveContractRef = (selector: CantonContractSelector): ActiveContractRef => ({\n type: 'activeContractIds',\n partyToFilter: selector.queryAs,\n expectedSignatories: selector.expectedSignatories,\n templateId: selector.templateId,\n contractStateFilter: selector.stateFilter,\n});\n\nconst resolveContractValue = async (\n resolver: ReturnType<typeof createContractAddressResolver>,\n source: CantonActiveContractValue,\n): Promise<string> => {\n const contracts = await resolver.resolveActiveContracts(makeActiveContractRef(source.selector));\n if (contracts.length !== 1) {\n throw new Error(\n `Active contract value matched ${contracts.length} contracts, expected exactly one`,\n );\n }\n const value = getCreateArgumentField(contracts[0]!.createdEvent.createArgument, source.field);\n if (parseDamlDecimal(value, `Contract value ${source.field}`) <= 0n) {\n throw new Error(`Contract value ${source.field} must be positive`);\n }\n return value as string;\n};\n\nconst selectActiveContracts = async (\n contracts: JsActiveContract[],\n selection: CantonActiveContractSelection,\n resolver: ReturnType<typeof createContractAddressResolver>,\n): Promise<JsActiveContract[]> => {\n switch (selection.kind) {\n case 'exactlyOne':\n if (contracts.length !== 1) {\n throw new Error(\n `Active contract selection matched ${contracts.length} contracts, expected exactly one`,\n );\n }\n return contracts;\n case 'all':\n return contracts;\n case 'gte':\n return selectContractsByGte(\n contracts,\n selection.field,\n typeof selection.value === 'string'\n ? selection.value\n : await resolveContractValue(resolver, selection.value),\n );\n }\n};\n\nexport const resolveCantonActiveContracts = async (args: {\n client: ICantonClient;\n selector: CantonContractSelector;\n selection: CantonActiveContractSelection;\n senderParty?: string;\n}): Promise<{ contractIds: string[] }> => {\n const queryParty = resolveParty(\n args.selector.queryAs,\n args.senderParty,\n 'Active contract selection',\n );\n const ref = makeActiveContractRef(args.selector);\n const resolver = createContractAddressResolver({\n client: args.client,\n senderParty: args.senderParty,\n signingParties: [queryParty],\n appendDisclosures: () => undefined,\n });\n const selected = await selectActiveContracts(\n await resolver.resolveActiveContracts(ref),\n args.selection,\n resolver,\n );\n return {\n contractIds: selected.map(({ createdEvent }) => createdEvent.contractId),\n };\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n value !== null && typeof value === 'object' && !Array.isArray(value);\n\nconst isCantonTime = (value: unknown): value is string =>\n typeof value === 'string' &&\n CANTON_TIME_PATTERN.test(value) &&\n Number.isFinite(Date.parse(value));\n\nconst isActiveContractRefresh = (refresh: CantonRefresh): refresh is CantonActiveContractRefresh =>\n refresh.resolver.type === 'activeContract';\n\nconst isActiveContractValueRefresh = (\n refresh: CantonRefresh,\n): refresh is CantonActiveContractValueRefresh => refresh.resolver.type === 'activeContractValue';\n\nconst isAmuletContextRefresh = (refresh: CantonRefresh): refresh is CantonAmuletContextRefresh =>\n refresh.resolver.type === 'amuletContext';\n\nconst isTimestampRefresh = (refresh: CantonRefresh): refresh is CantonTimestampRefresh =>\n refresh.resolver.type === 'timestamp';\n\nconst replaceAtPath = (root: unknown, path: CantonRefreshPath, value: unknown): unknown => {\n if (path.length === 0) return value;\n\n let current = root;\n for (const [position, segment] of path.entries()) {\n const isLast = position === path.length - 1;\n if ('field' in segment) {\n if (!isRecord(current) || !(segment.field in current)) {\n throw new Error(`Refresh target field \"${segment.field}\" does not exist`);\n }\n if (isLast) {\n current[segment.field] = value;\n return root;\n }\n current = current[segment.field];\n continue;\n }\n if ('index' in segment) {\n if (!Array.isArray(current) || segment.index >= current.length) {\n throw new Error(`Refresh target array index ${segment.index} does not exist`);\n }\n if (isLast) {\n current[segment.index] = value;\n return root;\n }\n current = current[segment.index];\n continue;\n }\n\n if (!Array.isArray(current)) {\n throw new Error(`Refresh target DAML map \"${segment.damlMapKey}\" is not an array`);\n }\n const matches = current.filter(\n (entry): entry is [string, unknown] =>\n Array.isArray(entry) && entry.length === 2 && entry[0] === segment.damlMapKey,\n );\n if (matches.length !== 1) {\n throw new Error(\n `Refresh target DAML map key \"${segment.damlMapKey}\" matched ${matches.length} entries`,\n );\n }\n if (isLast) {\n matches[0]![1] = value;\n return root;\n }\n current = matches[0]![1];\n }\n return root;\n};\n\nconst readAtPath = (root: unknown, path: CantonRefreshPath): unknown => {\n let current = root;\n for (const segment of path) {\n if ('field' in segment) {\n if (!isRecord(current) || !(segment.field in current)) {\n throw new Error(`Refresh target field \"${segment.field}\" does not exist`);\n }\n current = current[segment.field];\n continue;\n }\n if ('index' in segment) {\n if (!Array.isArray(current) || segment.index >= current.length) {\n throw new Error(`Refresh target array index ${segment.index} does not exist`);\n }\n current = current[segment.index];\n continue;\n }\n\n if (!Array.isArray(current)) {\n throw new Error(`Refresh target DAML map \"${segment.damlMapKey}\" is not an array`);\n }\n const matches = current.filter(\n (entry): entry is [string, unknown] =>\n Array.isArray(entry) && entry.length === 2 && entry[0] === segment.damlMapKey,\n );\n if (matches.length !== 1) {\n throw new Error(\n `Refresh target DAML map key \"${segment.damlMapKey}\" matched ${matches.length} entries`,\n );\n }\n current = matches[0]![1];\n }\n return current;\n};\n\nconst readTarget = (\n commands: CantonUnresolvedCommands,\n target: CantonArgumentRefreshTarget,\n path: CantonRefreshPath,\n): unknown => {\n const command = commands[target.commandIndex];\n if (!command) {\n throw new Error(`Refresh command index ${target.commandIndex} does not exist`);\n }\n\n if (target.command === 'exercise') {\n if (!('exerciseCommand' in command)) {\n throw new Error(`Refresh command index ${target.commandIndex} is not an exercise`);\n }\n if (command.exerciseCommand.choice !== target.choice) {\n throw new Error(\n `Refresh command index ${target.commandIndex} expected choice ${target.choice}, found ${command.exerciseCommand.choice}`,\n );\n }\n return readAtPath(command.exerciseCommand.choiceArgument, path);\n }\n\n if (!('createCommand' in command)) {\n throw new Error(`Refresh command index ${target.commandIndex} is not a create`);\n }\n if (command.createCommand.templateId !== target.template) {\n throw new Error(\n `Refresh command index ${target.commandIndex} expected template ${target.template}, found ${command.createCommand.templateId}`,\n );\n }\n return readAtPath(command.createCommand.createArguments, path);\n};\n\nconst applyPatch = (\n commands: CantonUnresolvedCommands,\n target: CantonArgumentRefreshTarget,\n path: CantonRefreshPath,\n value: unknown,\n): void => {\n const command = commands[target.commandIndex];\n if (!command) {\n throw new Error(`Refresh command index ${target.commandIndex} does not exist`);\n }\n\n if (target.command === 'exercise') {\n if (!('exerciseCommand' in command)) {\n throw new Error(`Refresh command index ${target.commandIndex} is not an exercise`);\n }\n if (command.exerciseCommand.choice !== target.choice) {\n throw new Error(\n `Refresh command index ${target.commandIndex} expected choice ${target.choice}, found ${command.exerciseCommand.choice}`,\n );\n }\n command.exerciseCommand.choiceArgument = replaceAtPath(\n command.exerciseCommand.choiceArgument,\n path,\n value,\n );\n return;\n }\n\n if (!('createCommand' in command)) {\n throw new Error(`Refresh command index ${target.commandIndex} is not a create`);\n }\n if (command.createCommand.templateId !== target.template) {\n throw new Error(\n `Refresh command index ${target.commandIndex} expected template ${target.template}, found ${command.createCommand.templateId}`,\n );\n }\n command.createCommand.createArguments = replaceAtPath(\n command.createCommand.createArguments,\n path,\n value,\n );\n};\n\nconst applyTarget = (\n commands: CantonUnresolvedCommands,\n target: CantonRefreshTarget,\n value: unknown,\n): void => {\n if ('field' in target) {\n const command = commands[target.commandIndex];\n if (!command) {\n throw new Error(`Refresh command index ${target.commandIndex} does not exist`);\n }\n if (!('exerciseCommand' in command)) {\n throw new Error(`Refresh command index ${target.commandIndex} is not an exercise`);\n }\n if (typeof value !== 'string') {\n throw new Error('Exercise contract ID refresh must resolve to a string');\n }\n command.exerciseCommand.contractId = value;\n return;\n }\n\n for (const argument of target.arguments) {\n applyPatch(commands, target, argument.path, value);\n }\n};\n\nconst containsDeferredSentinel = (value: unknown, key?: string): boolean => {\n if (key === 'createdEventBlob') return false;\n if (isCantonDeferredSentinel(value)) return true;\n if (Array.isArray(value)) return value.some((item) => containsDeferredSentinel(item));\n if (!isRecord(value)) return false;\n return Object.entries(value).some(([childKey, child]) =>\n containsDeferredSentinel(child, childKey),\n );\n};\n\nconst disclosuresEqual = (\n left: CantonDisclosedContracts[number],\n right: CantonDisclosedContracts[number],\n): boolean =>\n left.contractId === right.contractId &&\n left.templateId === right.templateId &&\n left.createdEventBlob === right.createdEventBlob &&\n left.synchronizerId === right.synchronizerId;\n\nexport const resolveCantonRefreshPlan = async (args: {\n unresolvedCommands: CantonUnresolvedCommands;\n unresolvedDisclosedContracts: CantonDisclosedContracts;\n refreshPlan: CantonRefreshPlan;\n resolveOneSigExecution?: ResolveCantonOneSigExecution;\n senderParty?: string;\n signingParties: string[];\n client: ICantonClient;\n}): Promise<{ commands: CantonCommands; disclosedContracts: CantonDisclosedContracts }> => {\n if (\n containsDeferredSentinel(args.unresolvedCommands) ||\n containsDeferredSentinel(args.unresolvedDisclosedContracts)\n ) {\n throw new Error('Canton refreshPlan cannot be combined with deferred sentinels');\n }\n\n if (args.refreshPlan.oneSigExecution) {\n const operationIndex = args.refreshPlan.oneSigExecution.commandIndex;\n for (const refresh of args.refreshPlan.commands)\n for (const target of refresh.targets) {\n if (!('commandIndex' in target) || target.commandIndex !== operationIndex) continue;\n if (\n 'field' in target ||\n target.command !== 'exercise' ||\n target.choice !== 'OneSig_ExecuteTransaction' ||\n target.arguments.some(\n ({ path }) =>\n path.length !== 1 ||\n !('field' in path[0]!) ||\n !['configCid', 'amuletCids', 'amuletContext'].includes(path[0]!.field),\n )\n ) {\n throw new Error(\n 'OneSig refresh cannot modify signed fields or its pinned anchor',\n );\n }\n }\n }\n\n const commands = structuredClone(args.unresolvedCommands);\n const baselineDisclosureCids = new Set(\n args.unresolvedDisclosedContracts.map(({ contractId }) => contractId),\n );\n const originalCids = new Set(args.refreshPlan.disclosures?.originalCids ?? []);\n for (const contractId of originalCids) {\n if (!baselineDisclosureCids.has(contractId)) {\n throw new Error(\n `Original disclosure ${contractId} cannot be refreshed: it is not present in unresolvedDisclosedContracts`,\n );\n }\n }\n const disclosureMap = new Map<string, CantonDisclosedContracts[number]>();\n const appendDisclosures = (disclosures: CantonDisclosedContracts): void => {\n for (const disclosure of disclosures) {\n const existing = disclosureMap.get(disclosure.contractId);\n if (existing && !disclosuresEqual(existing, disclosure)) {\n throw new Error(`Conflicting disclosures for contract ${disclosure.contractId}`);\n }\n disclosureMap.set(disclosure.contractId, disclosure);\n }\n };\n appendDisclosures(\n args.unresolvedDisclosedContracts.filter(({ contractId }) => !originalCids.has(contractId)),\n );\n\n const resolver = createContractAddressResolver({\n client: args.client,\n senderParty: args.senderParty,\n signingParties: args.signingParties,\n appendDisclosures,\n });\n\n for (const refresh of args.refreshPlan.commands) {\n if (isActiveContractRefresh(refresh)) {\n const ref = makeActiveContractRef(refresh.resolver.selector);\n const selected = await selectActiveContracts(\n await resolver.resolveActiveContracts(ref),\n refresh.resolver.selection,\n resolver,\n );\n await resolver.discloseActiveContracts(ref, selected);\n const contractIds = selected.map(({ createdEvent }) => createdEvent.contractId);\n const resolved =\n refresh.resolver.selection.kind === 'exactlyOne' ? contractIds[0]! : contractIds;\n for (const target of refresh.targets) applyTarget(commands, target, resolved);\n continue;\n }\n\n if (isActiveContractValueRefresh(refresh)) {\n const value = await resolveContractValue(resolver, refresh.resolver);\n for (const target of refresh.targets) applyTarget(commands, target, value);\n continue;\n }\n\n if (isAmuletContextRefresh(refresh)) {\n const bundle = await args.client.getAmuletContextWithExternalRules({\n admin: refresh.resolver.dsoParty,\n id: 'Amulet',\n });\n appendDisclosures(bundle.disclosedContracts);\n for (const target of refresh.targets) {\n applyTarget(commands, target, bundle.amuletContext);\n }\n }\n }\n\n const operation = args.refreshPlan.oneSigExecution;\n if (operation) {\n if (!args.resolveOneSigExecution) throw new Error('OneSig context resolver is required');\n const command = commands[operation.commandIndex];\n if (\n !command ||\n !('exerciseCommand' in command) ||\n command.exerciseCommand.choice !== 'OneSig_ExecuteTransaction'\n ) {\n throw new Error('OneSig refresh requires OneSig_ExecuteTransaction');\n }\n const argument = command.exerciseCommand.choiceArgument;\n if (\n !isRecord(argument) ||\n !isRecord(argument.transaction) ||\n !Array.isArray(argument.transaction.calls)\n ) {\n throw new Error('Malformed OneSig transaction calls');\n }\n const calls = argument.transaction.calls;\n const resolved = await args.resolveOneSigExecution({\n policy: operation,\n command: structuredClone(command.exerciseCommand),\n client: args.client,\n senderParty: args.senderParty,\n });\n if (resolved.contexts.length !== calls.length) {\n throw new Error('OneSig refreshed context count does not match signed calls');\n }\n for (const [index, entry] of calls.entries()) {\n const context = resolved.contexts[index]!;\n if (!isRecord(entry) || !isRecord(entry.context) || context.tag !== entry.context.tag) {\n throw new Error(`OneSig context variant changed at call ${index}`);\n }\n entry.context = structuredClone(context);\n }\n appendDisclosures(resolved.disclosedContracts);\n }\n\n // Timestamp refreshes run after all external reads so their shared instant is\n // as close as possible to prepareForSigning, regardless of declaration order.\n const now = new Date();\n for (const refresh of args.refreshPlan.commands) {\n if (!isTimestampRefresh(refresh)) continue;\n\n for (const target of refresh.targets) {\n for (const { path, offsetMs = 0 } of target.arguments) {\n const iso = new Date(now.getTime() + offsetMs).toISOString();\n const current = readTarget(commands, target, path);\n let value: unknown;\n if (isCantonTime(current)) {\n value = iso;\n } else if (\n isRecord(current) &&\n current.tag === 'AV_Time' &&\n isCantonTime(current.value)\n ) {\n value = { ...current, value: iso };\n } else {\n throw new Error('Timestamp refresh target must contain a Canton Time value');\n }\n applyPatch(commands, target, path, value);\n }\n }\n }\n\n return {\n commands: commands as CantonCommands,\n disclosedContracts: [...disclosureMap.values()],\n };\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { TransactionFromJSON, TransactionToJSON } from './5N747JZQ.js';
1
+ import { TransactionFromJSON, TransactionToJSON } from './NKSFRE2D.js';
2
2
  import { __name } from './VUOMXK5T.js';
3
3
 
4
4
  // src/open-api/models/UpdateOneOf3.ts
@@ -35,5 +35,5 @@ function UpdateOneOf3ToJSONTyped(value, ignoreDiscriminator = false) {
35
35
  __name(UpdateOneOf3ToJSONTyped, "UpdateOneOf3ToJSONTyped");
36
36
 
37
37
  export { UpdateOneOf3FromJSON, UpdateOneOf3FromJSONTyped, UpdateOneOf3ToJSON, UpdateOneOf3ToJSONTyped, instanceOfUpdateOneOf3 };
38
- //# sourceMappingURL=5RZS7DZN.js.map
39
- //# sourceMappingURL=5RZS7DZN.js.map
38
+ //# sourceMappingURL=CVQHQLYE.js.map
39
+ //# sourceMappingURL=CVQHQLYE.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/open-api/models/UpdateOneOf3.ts"],"names":["instanceOfUpdateOneOf3","value","undefined","UpdateOneOf3FromJSON","json","UpdateOneOf3FromJSONTyped","ignoreDiscriminator","TransactionFromJSON","UpdateOneOf3ToJSON","UpdateOneOf3ToJSONTyped","TransactionToJSON"],"mappings":";;;;AAwCO,SAASA,uBAAuBC,KAAAA,EAAa;AAChD,EAAA,IAAI,EAAE,aAAA,IAAiBA,KAAAA,CAAAA,IAAUA,MAAM,aAAA,CAAA,KAAmBC,QAAW,OAAO,KAAA;AAC5E,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAKT,SAASG,qBAAqBC,IAAAA,EAAS;AAC1C,EAAA,OAAOC,yBAAAA,CAA0BD,IAAM,CAAA;AAC3C;AAFgBD,MAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA;AAIT,SAASE,yBAAAA,CAA0BD,MAAWE,mBAAAA,EAA4B;AAC7E,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,aAAA,EAAeG,mBAAAA,CAAoBH,IAAAA,CAAK,aAAA,CAAc;AAC1D,GAAA;AACJ;AARgBC,MAAAA,CAAAA,yBAAAA,EAAAA,2BAAAA,CAAAA;AAUT,SAASG,mBAAmBJ,IAAAA,EAAS;AACxC,EAAA,OAAOK,uBAAAA,CAAwBL,MAAM,KAAA,CAAA;AACzC;AAFgBI,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAIT,SAASC,uBAAAA,CAAwBR,KAAAA,EAA6BK,mBAAAA,GAA+B,KAAA,EAAK;AACrG,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,aAAA,EAAeS,iBAAAA,CAAkBT,KAAAA,CAAM,aAAA,CAAc;AACzD,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA","file":"5RZS7DZN.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.4.3-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 { Transaction } from './Transaction.js';\nimport {\n TransactionFromJSON,\n TransactionFromJSONTyped,\n TransactionToJSON,\n TransactionToJSONTyped,\n} from './Transaction.js';\n\n/**\n * \n * @export\n * @interface UpdateOneOf3\n */\nexport interface UpdateOneOf3 {\n /**\n * \n * @type {Transaction}\n * @memberof UpdateOneOf3\n */\n transaction: Transaction;\n}\n\n/**\n * Check if a given object implements the UpdateOneOf3 interface.\n */\nexport function instanceOfUpdateOneOf3(value: object): value is UpdateOneOf3 {\n if (!('transaction' in value) || value['transaction'] === undefined) return false;\n return true;\n}\n\nexport function UpdateOneOf3FromJSON(json: any): UpdateOneOf3 {\n return UpdateOneOf3FromJSONTyped(json, false);\n}\n\nexport function UpdateOneOf3FromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateOneOf3 {\n if (json == null) {\n return json;\n }\n return {\n \n 'transaction': TransactionFromJSON(json['Transaction']),\n };\n}\n\nexport function UpdateOneOf3ToJSON(json: any): UpdateOneOf3 {\n return UpdateOneOf3ToJSONTyped(json, false);\n}\n\nexport function UpdateOneOf3ToJSONTyped(value?: UpdateOneOf3 | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'Transaction': TransactionToJSON(value['transaction']),\n };\n}\n\n"]}
1
+ {"version":3,"sources":["../src/open-api/models/UpdateOneOf3.ts"],"names":["instanceOfUpdateOneOf3","value","undefined","UpdateOneOf3FromJSON","json","UpdateOneOf3FromJSONTyped","ignoreDiscriminator","TransactionFromJSON","UpdateOneOf3ToJSON","UpdateOneOf3ToJSONTyped","TransactionToJSON"],"mappings":";;;;AAwCO,SAASA,uBAAuBC,KAAAA,EAAa;AAChD,EAAA,IAAI,EAAE,aAAA,IAAiBA,KAAAA,CAAAA,IAAUA,MAAM,aAAA,CAAA,KAAmBC,QAAW,OAAO,KAAA;AAC5E,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAKT,SAASG,qBAAqBC,IAAAA,EAAS;AAC1C,EAAA,OAAOC,yBAAAA,CAA0BD,IAAM,CAAA;AAC3C;AAFgBD,MAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA;AAIT,SAASE,yBAAAA,CAA0BD,MAAWE,mBAAAA,EAA4B;AAC7E,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,aAAA,EAAeG,mBAAAA,CAAoBH,IAAAA,CAAK,aAAA,CAAc;AAC1D,GAAA;AACJ;AARgBC,MAAAA,CAAAA,yBAAAA,EAAAA,2BAAAA,CAAAA;AAUT,SAASG,mBAAmBJ,IAAAA,EAAS;AACxC,EAAA,OAAOK,uBAAAA,CAAwBL,MAAM,KAAA,CAAA;AACzC;AAFgBI,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAIT,SAASC,uBAAAA,CAAwBR,KAAAA,EAA6BK,mBAAAA,GAA+B,KAAA,EAAK;AACrG,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,aAAA,EAAeS,iBAAAA,CAAkBT,KAAAA,CAAM,aAAA,CAAc;AACzD,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA","file":"CVQHQLYE.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.4.3-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 { Transaction } from './Transaction.js';\nimport {\n TransactionFromJSON,\n TransactionFromJSONTyped,\n TransactionToJSON,\n TransactionToJSONTyped,\n} from './Transaction.js';\n\n/**\n * \n * @export\n * @interface UpdateOneOf3\n */\nexport interface UpdateOneOf3 {\n /**\n * \n * @type {Transaction}\n * @memberof UpdateOneOf3\n */\n transaction: Transaction;\n}\n\n/**\n * Check if a given object implements the UpdateOneOf3 interface.\n */\nexport function instanceOfUpdateOneOf3(value: object): value is UpdateOneOf3 {\n if (!('transaction' in value) || value['transaction'] === undefined) return false;\n return true;\n}\n\nexport function UpdateOneOf3FromJSON(json: any): UpdateOneOf3 {\n return UpdateOneOf3FromJSONTyped(json, false);\n}\n\nexport function UpdateOneOf3FromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateOneOf3 {\n if (json == null) {\n return json;\n }\n return {\n \n 'transaction': TransactionFromJSON(json['Transaction']),\n };\n}\n\nexport function UpdateOneOf3ToJSON(json: any): UpdateOneOf3 {\n return UpdateOneOf3ToJSONTyped(json, false);\n}\n\nexport function UpdateOneOf3ToJSONTyped(value?: UpdateOneOf3 | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'Transaction': TransactionToJSON(value['transaction']),\n };\n}\n\n"]}
@@ -1,5 +1,5 @@
1
1
  import { TraceContextFromJSON, TraceContextToJSON } from './P4OZVLZ5.js';
2
- import { DeduplicationPeriod1FromJSON, DeduplicationPeriod1ToJSON } from './JEVZBCKB.js';
2
+ import { DeduplicationPeriod1FromJSON, DeduplicationPeriod1ToJSON } from './Z74KDZ47.js';
3
3
  import { JsStatusFromJSON, JsStatusToJSON } from './TQODWV5P.js';
4
4
  import { SynchronizerTimeFromJSON, SynchronizerTimeToJSON } from './BMVKXYRP.js';
5
5
  import { __name } from './VUOMXK5T.js';
@@ -61,5 +61,5 @@ function Completion1ToJSONTyped(value, ignoreDiscriminator = false) {
61
61
  __name(Completion1ToJSONTyped, "Completion1ToJSONTyped");
62
62
 
63
63
  export { Completion1FromJSON, Completion1FromJSONTyped, Completion1ToJSON, Completion1ToJSONTyped, instanceOfCompletion1 };
64
- //# sourceMappingURL=5LBZE3FZ.js.map
65
- //# sourceMappingURL=5LBZE3FZ.js.map
64
+ //# sourceMappingURL=CXV5NOWI.js.map
65
+ //# sourceMappingURL=CXV5NOWI.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/open-api/models/Completion1.ts"],"names":["instanceOfCompletion1","value","undefined","Completion1FromJSON","json","Completion1FromJSONTyped","ignoreDiscriminator","JsStatusFromJSON","DeduplicationPeriod1FromJSON","TraceContextFromJSON","SynchronizerTimeFromJSON","Completion1ToJSON","Completion1ToJSONTyped","JsStatusToJSON","DeduplicationPeriod1ToJSON","TraceContextToJSON","SynchronizerTimeToJSON"],"mappings":"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","file":"5LBZE3FZ.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.4.3-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 { DeduplicationPeriod1 } from './DeduplicationPeriod1.js';\nimport {\n DeduplicationPeriod1FromJSON,\n DeduplicationPeriod1FromJSONTyped,\n DeduplicationPeriod1ToJSON,\n DeduplicationPeriod1ToJSONTyped,\n} from './DeduplicationPeriod1.js';\nimport type { SynchronizerTime } from './SynchronizerTime.js';\nimport {\n SynchronizerTimeFromJSON,\n SynchronizerTimeFromJSONTyped,\n SynchronizerTimeToJSON,\n SynchronizerTimeToJSONTyped,\n} from './SynchronizerTime.js';\nimport type { TraceContext } from './TraceContext.js';\nimport {\n TraceContextFromJSON,\n TraceContextFromJSONTyped,\n TraceContextToJSON,\n TraceContextToJSONTyped,\n} from './TraceContext.js';\nimport type { JsStatus } from './JsStatus.js';\nimport {\n JsStatusFromJSON,\n JsStatusFromJSONTyped,\n JsStatusToJSON,\n JsStatusToJSONTyped,\n} from './JsStatus.js';\n\n/**\n * A completion represents the status of a submitted command on the ledger: it can be successful or failed.\n * @export\n * @interface Completion1\n */\nexport interface Completion1 {\n /**\n * The ID of the succeeded or failed command.\n * Must be a valid LedgerString (as described in ``value.proto``).\n * Required\n * @type {string}\n * @memberof Completion1\n */\n commandId: string;\n /**\n * \n * @type {JsStatus}\n * @memberof Completion1\n */\n status?: JsStatus;\n /**\n * The update_id of the transaction or reassignment that resulted from the command with command_id.\n * Only set for successfully executed commands.\n * Must be a valid LedgerString (as described in ``value.proto``).\n * @type {string}\n * @memberof Completion1\n */\n updateId: string;\n /**\n * The user-id that was used for the submission, as described in ``commands.proto``.\n * Must be a valid UserIdString (as described in ``value.proto``).\n * Optional for historic completions where this data is not available.\n * @type {string}\n * @memberof Completion1\n */\n userId: string;\n /**\n * The set of parties on whose behalf the commands were executed.\n * Contains the ``act_as`` parties from ``commands.proto``\n * filtered to the requesting parties in CompletionStreamRequest.\n * The order of the parties need not be the same as in the submission.\n * Each element must be a valid PartyIdString (as described in ``value.proto``).\n * Optional for historic completions where this data is not available.\n * @type {Array<string>}\n * @memberof Completion1\n */\n actAs?: Array<string>;\n /**\n * The submission ID this completion refers to, as described in ``commands.proto``.\n * Must be a valid LedgerString (as described in ``value.proto``).\n * Optional\n * @type {string}\n * @memberof Completion1\n */\n submissionId: string;\n /**\n * \n * @type {DeduplicationPeriod1}\n * @memberof Completion1\n */\n deduplicationPeriod: DeduplicationPeriod1;\n /**\n * \n * @type {TraceContext}\n * @memberof Completion1\n */\n traceContext?: TraceContext;\n /**\n * May be used in a subsequent CompletionStreamRequest to resume the consumption of this stream at a later time.\n * Required, must be a valid absolute offset (positive integer).\n * @type {number}\n * @memberof Completion1\n */\n offset: number;\n /**\n * \n * @type {SynchronizerTime}\n * @memberof Completion1\n */\n synchronizerTime?: SynchronizerTime;\n}\n\n/**\n * Check if a given object implements the Completion1 interface.\n */\nexport function instanceOfCompletion1(value: object): value is Completion1 {\n if (!('commandId' in value) || value['commandId'] === undefined) return false;\n if (!('updateId' in value) || value['updateId'] === undefined) return false;\n if (!('userId' in value) || value['userId'] === undefined) return false;\n if (!('submissionId' in value) || value['submissionId'] === undefined) return false;\n if (!('deduplicationPeriod' in value) || value['deduplicationPeriod'] === undefined) return false;\n if (!('offset' in value) || value['offset'] === undefined) return false;\n return true;\n}\n\nexport function Completion1FromJSON(json: any): Completion1 {\n return Completion1FromJSONTyped(json, false);\n}\n\nexport function Completion1FromJSONTyped(json: any, ignoreDiscriminator: boolean): Completion1 {\n if (json == null) {\n return json;\n }\n return {\n \n 'commandId': json['commandId'],\n 'status': json['status'] == null ? undefined : JsStatusFromJSON(json['status']),\n 'updateId': json['updateId'],\n 'userId': json['userId'],\n 'actAs': json['actAs'] == null ? undefined : json['actAs'],\n 'submissionId': json['submissionId'],\n 'deduplicationPeriod': DeduplicationPeriod1FromJSON(json['deduplicationPeriod']),\n 'traceContext': json['traceContext'] == null ? undefined : TraceContextFromJSON(json['traceContext']),\n 'offset': json['offset'],\n 'synchronizerTime': json['synchronizerTime'] == null ? undefined : SynchronizerTimeFromJSON(json['synchronizerTime']),\n };\n}\n\nexport function Completion1ToJSON(json: any): Completion1 {\n return Completion1ToJSONTyped(json, false);\n}\n\nexport function Completion1ToJSONTyped(value?: Completion1 | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'commandId': value['commandId'],\n 'status': JsStatusToJSON(value['status']),\n 'updateId': value['updateId'],\n 'userId': value['userId'],\n 'actAs': value['actAs'],\n 'submissionId': value['submissionId'],\n 'deduplicationPeriod': DeduplicationPeriod1ToJSON(value['deduplicationPeriod']),\n 'traceContext': TraceContextToJSON(value['traceContext']),\n 'offset': value['offset'],\n 'synchronizerTime': SynchronizerTimeToJSON(value['synchronizerTime']),\n };\n}\n\n"]}
1
+ {"version":3,"sources":["../src/open-api/models/Completion1.ts"],"names":["instanceOfCompletion1","value","undefined","Completion1FromJSON","json","Completion1FromJSONTyped","ignoreDiscriminator","JsStatusFromJSON","DeduplicationPeriod1FromJSON","TraceContextFromJSON","SynchronizerTimeFromJSON","Completion1ToJSON","Completion1ToJSONTyped","JsStatusToJSON","DeduplicationPeriod1ToJSON","TraceContextToJSON","SynchronizerTimeToJSON"],"mappings":"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","file":"CXV5NOWI.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.4.3-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 { DeduplicationPeriod1 } from './DeduplicationPeriod1.js';\nimport {\n DeduplicationPeriod1FromJSON,\n DeduplicationPeriod1FromJSONTyped,\n DeduplicationPeriod1ToJSON,\n DeduplicationPeriod1ToJSONTyped,\n} from './DeduplicationPeriod1.js';\nimport type { SynchronizerTime } from './SynchronizerTime.js';\nimport {\n SynchronizerTimeFromJSON,\n SynchronizerTimeFromJSONTyped,\n SynchronizerTimeToJSON,\n SynchronizerTimeToJSONTyped,\n} from './SynchronizerTime.js';\nimport type { TraceContext } from './TraceContext.js';\nimport {\n TraceContextFromJSON,\n TraceContextFromJSONTyped,\n TraceContextToJSON,\n TraceContextToJSONTyped,\n} from './TraceContext.js';\nimport type { JsStatus } from './JsStatus.js';\nimport {\n JsStatusFromJSON,\n JsStatusFromJSONTyped,\n JsStatusToJSON,\n JsStatusToJSONTyped,\n} from './JsStatus.js';\n\n/**\n * A completion represents the status of a submitted command on the ledger: it can be successful or failed.\n * @export\n * @interface Completion1\n */\nexport interface Completion1 {\n /**\n * The ID of the succeeded or failed command.\n * Must be a valid LedgerString (as described in ``value.proto``).\n * Required\n * @type {string}\n * @memberof Completion1\n */\n commandId: string;\n /**\n * \n * @type {JsStatus}\n * @memberof Completion1\n */\n status?: JsStatus;\n /**\n * The update_id of the transaction or reassignment that resulted from the command with command_id.\n * Only set for successfully executed commands.\n * Must be a valid LedgerString (as described in ``value.proto``).\n * @type {string}\n * @memberof Completion1\n */\n updateId: string;\n /**\n * The user-id that was used for the submission, as described in ``commands.proto``.\n * Must be a valid UserIdString (as described in ``value.proto``).\n * Optional for historic completions where this data is not available.\n * @type {string}\n * @memberof Completion1\n */\n userId: string;\n /**\n * The set of parties on whose behalf the commands were executed.\n * Contains the ``act_as`` parties from ``commands.proto``\n * filtered to the requesting parties in CompletionStreamRequest.\n * The order of the parties need not be the same as in the submission.\n * Each element must be a valid PartyIdString (as described in ``value.proto``).\n * Optional for historic completions where this data is not available.\n * @type {Array<string>}\n * @memberof Completion1\n */\n actAs?: Array<string>;\n /**\n * The submission ID this completion refers to, as described in ``commands.proto``.\n * Must be a valid LedgerString (as described in ``value.proto``).\n * Optional\n * @type {string}\n * @memberof Completion1\n */\n submissionId: string;\n /**\n * \n * @type {DeduplicationPeriod1}\n * @memberof Completion1\n */\n deduplicationPeriod: DeduplicationPeriod1;\n /**\n * \n * @type {TraceContext}\n * @memberof Completion1\n */\n traceContext?: TraceContext;\n /**\n * May be used in a subsequent CompletionStreamRequest to resume the consumption of this stream at a later time.\n * Required, must be a valid absolute offset (positive integer).\n * @type {number}\n * @memberof Completion1\n */\n offset: number;\n /**\n * \n * @type {SynchronizerTime}\n * @memberof Completion1\n */\n synchronizerTime?: SynchronizerTime;\n}\n\n/**\n * Check if a given object implements the Completion1 interface.\n */\nexport function instanceOfCompletion1(value: object): value is Completion1 {\n if (!('commandId' in value) || value['commandId'] === undefined) return false;\n if (!('updateId' in value) || value['updateId'] === undefined) return false;\n if (!('userId' in value) || value['userId'] === undefined) return false;\n if (!('submissionId' in value) || value['submissionId'] === undefined) return false;\n if (!('deduplicationPeriod' in value) || value['deduplicationPeriod'] === undefined) return false;\n if (!('offset' in value) || value['offset'] === undefined) return false;\n return true;\n}\n\nexport function Completion1FromJSON(json: any): Completion1 {\n return Completion1FromJSONTyped(json, false);\n}\n\nexport function Completion1FromJSONTyped(json: any, ignoreDiscriminator: boolean): Completion1 {\n if (json == null) {\n return json;\n }\n return {\n \n 'commandId': json['commandId'],\n 'status': json['status'] == null ? undefined : JsStatusFromJSON(json['status']),\n 'updateId': json['updateId'],\n 'userId': json['userId'],\n 'actAs': json['actAs'] == null ? undefined : json['actAs'],\n 'submissionId': json['submissionId'],\n 'deduplicationPeriod': DeduplicationPeriod1FromJSON(json['deduplicationPeriod']),\n 'traceContext': json['traceContext'] == null ? undefined : TraceContextFromJSON(json['traceContext']),\n 'offset': json['offset'],\n 'synchronizerTime': json['synchronizerTime'] == null ? undefined : SynchronizerTimeFromJSON(json['synchronizerTime']),\n };\n}\n\nexport function Completion1ToJSON(json: any): Completion1 {\n return Completion1ToJSONTyped(json, false);\n}\n\nexport function Completion1ToJSONTyped(value?: Completion1 | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'commandId': value['commandId'],\n 'status': JsStatusToJSON(value['status']),\n 'updateId': value['updateId'],\n 'userId': value['userId'],\n 'actAs': value['actAs'],\n 'submissionId': value['submissionId'],\n 'deduplicationPeriod': DeduplicationPeriod1ToJSON(value['deduplicationPeriod']),\n 'traceContext': TraceContextToJSON(value['traceContext']),\n 'offset': value['offset'],\n 'synchronizerTime': SynchronizerTimeToJSON(value['synchronizerTime']),\n };\n}\n\n"]}
@@ -1,16 +1,17 @@
1
- import { resolveCantonRefreshPlan } from './5N5IZWFQ.js';
2
- import { createContractAddressResolver } from './42L4RKH6.js';
3
- import { substituteRefsToCids } from './WLHCBBAJ.js';
4
- import { AMULET_INSTRUMENT_ID } from './SEKD553P.js';
1
+ import { substituteRefsToCids } from './BSVJEBKM.js';
2
+ import { resolveCantonRefreshPlan } from './CMO2N5J7.js';
3
+ import { createContractAddressResolver } from './DDDXBNRD.js';
4
+ import { AMULET_INSTRUMENT_ID } from './QEE5QCHB.js';
5
5
  import { __name } from './VUOMXK5T.js';
6
6
 
7
7
  // src/refresh/resolve.ts
8
- var resolveCantonTransaction = /* @__PURE__ */ __name(async ({ unresolvedCommands, unresolvedDisclosedContracts, refreshPlan, senderParty, signingParties, client }) => {
8
+ var resolveCantonTransaction = /* @__PURE__ */ __name(async ({ unresolvedCommands, unresolvedDisclosedContracts, refreshPlan, resolveOneSigExecution, senderParty, signingParties, client }) => {
9
9
  if (refreshPlan) {
10
10
  return resolveCantonRefreshPlan({
11
11
  unresolvedCommands,
12
12
  unresolvedDisclosedContracts,
13
13
  refreshPlan,
14
+ resolveOneSigExecution,
14
15
  senderParty,
15
16
  signingParties,
16
17
  client
@@ -78,5 +79,5 @@ var resolveCantonTransaction = /* @__PURE__ */ __name(async ({ unresolvedCommand
78
79
  }, "resolveCantonTransaction");
79
80
 
80
81
  export { resolveCantonTransaction };
81
- //# sourceMappingURL=F7DI4SRR.js.map
82
- //# sourceMappingURL=F7DI4SRR.js.map
82
+ //# sourceMappingURL=DCTO6JNO.js.map
83
+ //# sourceMappingURL=DCTO6JNO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/refresh/resolve.ts"],"names":["resolveCantonTransaction","unresolvedCommands","unresolvedDisclosedContracts","refreshPlan","resolveOneSigExecution","senderParty","signingParties","client","resolveCantonRefreshPlan","nextDisclosed","disclosedContractIds","Set","map","contractId","appendDisclosures","disclosures","disclosure","has","add","push","resolveActiveContractId","resolveActiveContractIds","requireSenderParty","createContractAddressResolver","amuletBundlePromise","getAmuletBundle","dsoParty","getDsoParty","amuletContext","disclosedContracts","bundle","externalPartyAmuletRulesCid","getAmuletContextWithExternalRules","admin","id","AMULET_INSTRUMENT_ID","resolveRef","ref","type","resolvedCommands","substituteRefsToCids","resolvedDisclosedContracts","index","length","commands"],"mappings":"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","file":"DCTO6JNO.js","sourcesContent":["import { AMULET_INSTRUMENT_ID, type ChoiceContext } from '../client/amulet';\nimport type { ICantonClient } from '../client/interface';\nimport type { CantonDeferredValue } from '../deferredValue';\nimport type {\n CantonCommands,\n CantonDisclosedContracts,\n CantonUnresolvedCommands,\n} from '../transaction';\nimport { createContractAddressResolver } from './address-resolver';\nimport type { ResolveCantonOneSigExecution } from './onesig-execution';\nimport type { CantonRefreshPlan } from './plan';\nimport { resolveCantonRefreshPlan } from './resolve-plan';\nimport { substituteRefsToCids } from './reverse-substitute';\n\nexport interface ResolveCantonAddressParams {\n unresolvedCommands: CantonUnresolvedCommands;\n unresolvedDisclosedContracts: CantonDisclosedContracts;\n refreshPlan?: CantonRefreshPlan;\n resolveOneSigExecution?: ResolveCantonOneSigExecution;\n senderParty?: string;\n /** A contract is only disclosed when none of these parties is already a stakeholder on it. */\n signingParties: string[];\n client: ICantonClient;\n}\n\nexport const resolveCantonTransaction = async ({\n unresolvedCommands,\n unresolvedDisclosedContracts,\n refreshPlan,\n resolveOneSigExecution,\n senderParty,\n signingParties,\n client,\n}: ResolveCantonAddressParams): Promise<{\n commands: CantonCommands;\n disclosedContracts: CantonDisclosedContracts;\n}> => {\n if (refreshPlan) {\n return resolveCantonRefreshPlan({\n unresolvedCommands,\n unresolvedDisclosedContracts,\n refreshPlan,\n resolveOneSigExecution,\n senderParty,\n signingParties,\n client,\n });\n }\n\n const nextDisclosed = [...unresolvedDisclosedContracts];\n const disclosedContractIds = new Set(\n unresolvedDisclosedContracts.map(({ contractId }) => contractId),\n );\n const appendDisclosures = (disclosures: CantonDisclosedContracts): void => {\n for (const disclosure of disclosures) {\n if (!disclosedContractIds.has(disclosure.contractId)) {\n disclosedContractIds.add(disclosure.contractId);\n nextDisclosed.push(disclosure);\n }\n }\n };\n\n const { resolveActiveContractId, resolveActiveContractIds, requireSenderParty } =\n createContractAddressResolver({\n client,\n senderParty,\n signingParties,\n appendDisclosures,\n });\n\n let amuletBundlePromise:\n | Promise<{\n amuletContext: ChoiceContext;\n externalPartyAmuletRulesCid: string;\n }>\n | undefined;\n\n const getAmuletBundle = async () => {\n if (!amuletBundlePromise) {\n amuletBundlePromise = (async () => {\n const dsoParty = await client.getDsoParty();\n const {\n amuletContext,\n disclosedContracts: bundle,\n externalPartyAmuletRulesCid,\n } = await client.getAmuletContextWithExternalRules({\n admin: dsoParty,\n id: AMULET_INSTRUMENT_ID,\n });\n appendDisclosures(bundle);\n return { amuletContext, externalPartyAmuletRulesCid };\n })();\n }\n return amuletBundlePromise;\n };\n\n const resolveRef = async (ref: CantonDeferredValue): Promise<unknown> => {\n switch (ref.type) {\n case 'senderParty':\n return requireSenderParty(ref.type);\n case 'activeContractId':\n return resolveActiveContractId(ref);\n case 'activeContractIds':\n return resolveActiveContractIds(ref);\n case 'amuletRulesCid':\n return (await getAmuletBundle()).externalPartyAmuletRulesCid;\n case 'amuletContext':\n return (await getAmuletBundle()).amuletContext;\n }\n };\n\n const resolvedCommands = await substituteRefsToCids(unresolvedCommands, resolveRef);\n const resolvedDisclosedContracts: CantonDisclosedContracts = [];\n for (let index = 0; index < nextDisclosed.length; index++) {\n resolvedDisclosedContracts.push(\n await substituteRefsToCids(nextDisclosed[index]!, resolveRef),\n );\n }\n\n return {\n commands: resolvedCommands,\n disclosedContracts: resolvedDisclosedContracts,\n };\n};\n"]}