@layerzerolabs/common-canton 1.2.80 → 1.2.81
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.
- package/dist/{3NNZDKUQ.js → 25ZZZGNN.js} +3 -3
- package/dist/{3NNZDKUQ.js.map → 25ZZZGNN.js.map} +1 -1
- package/dist/{6AK25YSE.js → 3HAVU6NI.js} +4 -4
- package/dist/{6AK25YSE.js.map → 3HAVU6NI.js.map} +1 -1
- package/dist/{4O355BG7.js → 3I23YKYV.js} +3 -3
- package/dist/{4O355BG7.js.map → 3I23YKYV.js.map} +1 -1
- package/dist/{IDBCBX2F.js → 3TPQEBCC.js} +4 -4
- package/dist/{IDBCBX2F.js.map → 3TPQEBCC.js.map} +1 -1
- package/dist/43KGTQUU.js +99 -0
- package/dist/43KGTQUU.js.map +1 -0
- package/dist/{7RS76HLN.js → 44EVBXCG.js} +4 -4
- package/dist/{7RS76HLN.js.map → 44EVBXCG.js.map} +1 -1
- package/dist/{GSQGAMYI.js → 4P5QC3JV.js} +4 -4
- package/dist/{GSQGAMYI.js.map → 4P5QC3JV.js.map} +1 -1
- package/dist/5CADV7BB.js +67 -0
- package/dist/5CADV7BB.js.map +1 -0
- package/dist/{7KCG6XNJ.js → 5KN65GJK.js} +3 -3
- package/dist/{7KCG6XNJ.js.map → 5KN65GJK.js.map} +1 -1
- package/dist/{ZBLS2HTS.js → 5W44RCVL.js} +3 -3
- package/dist/{ZBLS2HTS.js.map → 5W44RCVL.js.map} +1 -1
- package/dist/{ULT5A5TC.js → 6SVME57P.js} +3 -3
- package/dist/{ULT5A5TC.js.map → 6SVME57P.js.map} +1 -1
- package/dist/{TM3DTBXT.js → 6TNI5YY3.js} +3 -3
- package/dist/{TM3DTBXT.js.map → 6TNI5YY3.js.map} +1 -1
- package/dist/{3JL644IZ.js → 75BEFQTY.js} +3 -3
- package/dist/{3JL644IZ.js.map → 75BEFQTY.js.map} +1 -1
- package/dist/{M6FSENHW.js → 75TAXYGR.js} +3 -3
- package/dist/{M6FSENHW.js.map → 75TAXYGR.js.map} +1 -1
- package/dist/{37KTIK6O.js → 75VVMQKH.js} +4 -4
- package/dist/{37KTIK6O.js.map → 75VVMQKH.js.map} +1 -1
- package/dist/{O4AMCIVA.js → 7IMQETOY.js} +3 -3
- package/dist/{O4AMCIVA.js.map → 7IMQETOY.js.map} +1 -1
- package/dist/7JEW4NHI.js +40 -0
- package/dist/7JEW4NHI.js.map +1 -0
- package/dist/{N6YQSSHF.js → 7MEBFPGZ.js} +4 -4
- package/dist/{N6YQSSHF.js.map → 7MEBFPGZ.js.map} +1 -1
- package/dist/ABHGT5DF.js +557 -0
- package/dist/ABHGT5DF.js.map +1 -0
- package/dist/{NNB44CLI.js → B3E3Z2XP.js} +4 -4
- package/dist/{NNB44CLI.js.map → B3E3Z2XP.js.map} +1 -1
- package/dist/{B5WQLYXA.js → B7MBM6I4.js} +3 -3
- package/dist/{B5WQLYXA.js.map → B7MBM6I4.js.map} +1 -1
- package/dist/{7MCSZFDW.js → BH24MB7Z.js} +3 -3
- package/dist/{7MCSZFDW.js.map → BH24MB7Z.js.map} +1 -1
- package/dist/{W5JSNM4P.js → BQ2SFPGS.js} +5 -5
- package/dist/{W5JSNM4P.js.map → BQ2SFPGS.js.map} +1 -1
- package/dist/{CQBWBXEP.js → BWPOOFYL.js} +3 -3
- package/dist/{CQBWBXEP.js.map → BWPOOFYL.js.map} +1 -1
- package/dist/BZXMNRDO.js +105 -0
- package/dist/BZXMNRDO.js.map +1 -0
- package/dist/{7AX6ETEC.js → CLHFF2NZ.js} +3 -3
- package/dist/{7AX6ETEC.js.map → CLHFF2NZ.js.map} +1 -1
- package/dist/{CRVXAMIK.js → DFCC26G3.js} +4 -4
- package/dist/{CRVXAMIK.js.map → DFCC26G3.js.map} +1 -1
- package/dist/{YIP3DFVS.js → FGQEPZNL.js} +3 -3
- package/dist/{YIP3DFVS.js.map → FGQEPZNL.js.map} +1 -1
- package/dist/G4IAVHVV.js +69 -0
- package/dist/G4IAVHVV.js.map +1 -0
- package/dist/{FVMFTILS.js → HB636AF5.js} +3 -3
- package/dist/{FVMFTILS.js.map → HB636AF5.js.map} +1 -1
- package/dist/{CMN4A3XH.js → HCNXHOIJ.js} +3 -3
- package/dist/{CMN4A3XH.js.map → HCNXHOIJ.js.map} +1 -1
- package/dist/{X5KMH3AN.js → ISTGNQEF.js} +3 -3
- package/dist/{X5KMH3AN.js.map → ISTGNQEF.js.map} +1 -1
- package/dist/IUQEDBC6.js +102 -0
- package/dist/IUQEDBC6.js.map +1 -0
- package/dist/{BIHZXZGJ.js → JAONRVNE.js} +3 -3
- package/dist/{BIHZXZGJ.js.map → JAONRVNE.js.map} +1 -1
- package/dist/{Q7L2ADEU.js → JBO4ZQNH.js} +3 -3
- package/dist/{Q7L2ADEU.js.map → JBO4ZQNH.js.map} +1 -1
- package/dist/{PL4H5XEA.js → K7FRAGGM.js} +3 -3
- package/dist/{PL4H5XEA.js.map → K7FRAGGM.js.map} +1 -1
- package/dist/L64D74BZ.js +332 -0
- package/dist/L64D74BZ.js.map +1 -0
- package/dist/{DYK7UQLE.js → LMKFC7LV.js} +43 -43
- package/dist/{DYK7UQLE.js.map → LMKFC7LV.js.map} +1 -1
- package/dist/{ICIMAW3A.js → LSKYLA4P.js} +4 -4
- package/dist/{ICIMAW3A.js.map → LSKYLA4P.js.map} +1 -1
- package/dist/MO6W6SKU.js +412 -0
- package/dist/MO6W6SKU.js.map +1 -0
- package/dist/MV4DFHZP.js +424 -0
- package/dist/MV4DFHZP.js.map +1 -0
- package/dist/{XCOCX2NQ.js → MW2R4OL5.js} +3 -3
- package/dist/{XCOCX2NQ.js.map → MW2R4OL5.js.map} +1 -1
- package/dist/{TP2SKXF6.js → N3QRG2AK.js} +25 -5
- package/dist/N3QRG2AK.js.map +1 -0
- package/dist/NGED2YCU.js +75 -0
- package/dist/NGED2YCU.js.map +1 -0
- package/dist/NQWAH7C4.js +3 -0
- package/dist/NQWAH7C4.js.map +1 -0
- package/dist/{3K5JL2TP.js → NYEJEKEY.js} +12 -3
- package/dist/NYEJEKEY.js.map +1 -0
- package/dist/{DX46ASEP.js → OU543BQK.js} +4 -4
- package/dist/{DX46ASEP.js.map → OU543BQK.js.map} +1 -1
- package/dist/{YCF6SVF6.js → P7PG4R5T.js} +62 -9
- package/dist/P7PG4R5T.js.map +1 -0
- package/dist/{RIREEIYO.js → PLCXYLPU.js} +3 -3
- package/dist/{RIREEIYO.js.map → PLCXYLPU.js.map} +1 -1
- package/dist/{Q4D2T7BS.js → PTJBIMSS.js} +3 -3
- package/dist/{Q4D2T7BS.js.map → PTJBIMSS.js.map} +1 -1
- package/dist/Q3BYU6GJ.js +46 -0
- package/dist/Q3BYU6GJ.js.map +1 -0
- package/dist/{DR3COIEJ.js → QIYRAOGU.js} +3 -3
- package/dist/{DR3COIEJ.js.map → QIYRAOGU.js.map} +1 -1
- package/dist/{O25T2HOW.js → QRPS2ZRD.js} +3 -3
- package/dist/{O25T2HOW.js.map → QRPS2ZRD.js.map} +1 -1
- package/dist/{3EY5Z4BX.js → RDG3GOWQ.js} +3 -3
- package/dist/{3EY5Z4BX.js.map → RDG3GOWQ.js.map} +1 -1
- package/dist/{AFZOQGRN.js → RH6PBMPO.js} +3 -3
- package/dist/{AFZOQGRN.js.map → RH6PBMPO.js.map} +1 -1
- package/dist/{U3XCZGRR.js → RLUQWVZ6.js} +5 -5
- package/dist/{U3XCZGRR.js.map → RLUQWVZ6.js.map} +1 -1
- package/dist/SA63DYLV.js +121 -0
- package/dist/SA63DYLV.js.map +1 -0
- package/dist/{BWU4MCVK.js → TB5OSYHO.js} +4 -4
- package/dist/{BWU4MCVK.js.map → TB5OSYHO.js.map} +1 -1
- package/dist/{65JBI4D3.js → TDVOFX7N.js} +3 -3
- package/dist/{65JBI4D3.js.map → TDVOFX7N.js.map} +1 -1
- package/dist/{ZBM7PUST.js → TQMPIJZW.js} +3 -3
- package/dist/{ZBM7PUST.js.map → TQMPIJZW.js.map} +1 -1
- package/dist/{222UT7H4.js → TYI7PTYG.js} +4 -4
- package/dist/{222UT7H4.js.map → TYI7PTYG.js.map} +1 -1
- package/dist/{F7CLAJVB.js → U2DNZHEJ.js} +3 -3
- package/dist/{F7CLAJVB.js.map → U2DNZHEJ.js.map} +1 -1
- package/dist/{QLSD7CDL.js → UINDAVKP.js} +3 -3
- package/dist/{QLSD7CDL.js.map → UINDAVKP.js.map} +1 -1
- package/dist/{FHI4L73X.js → ULL44NXA.js} +4 -4
- package/dist/{FHI4L73X.js.map → ULL44NXA.js.map} +1 -1
- package/dist/{L26PC3MC.js → UNT3QBTP.js} +3 -3
- package/dist/{L26PC3MC.js.map → UNT3QBTP.js.map} +1 -1
- package/dist/{6HJEM4C3.js → V2TREL3L.js} +3 -3
- package/dist/{6HJEM4C3.js.map → V2TREL3L.js.map} +1 -1
- package/dist/VJKB367I.js +159 -0
- package/dist/VJKB367I.js.map +1 -0
- package/dist/{DRLN6NI7.js → VPGKHXFY.js} +3 -3
- package/dist/{DRLN6NI7.js.map → VPGKHXFY.js.map} +1 -1
- package/dist/{55MRWPLR.js → W7DMST44.js} +3 -3
- package/dist/{55MRWPLR.js.map → W7DMST44.js.map} +1 -1
- package/dist/{Q5QMWEOQ.js → WZ4QCFOE.js} +3 -3
- package/dist/{Q5QMWEOQ.js.map → WZ4QCFOE.js.map} +1 -1
- package/dist/XCOORR26.js +125 -0
- package/dist/XCOORR26.js.map +1 -0
- package/dist/{3NMWQBVE.js → YHT3X6LW.js} +3 -3
- package/dist/{3NMWQBVE.js.map → YHT3X6LW.js.map} +1 -1
- package/dist/YMXOSAU4.js +18 -0
- package/dist/YMXOSAU4.js.map +1 -0
- package/dist/{35HFP3P5.js → ZSOWBGX3.js} +3 -3
- package/dist/{35HFP3P5.js.map → ZSOWBGX3.js.map} +1 -1
- package/dist/client/amulet.d.ts +24 -6
- package/dist/client/amulet.d.ts.map +1 -1
- package/dist/client/amulet.js +8 -2
- package/dist/client/canton-client.d.ts +9 -1
- package/dist/client/canton-client.d.ts.map +1 -1
- package/dist/client/canton-client.js +113 -107
- package/dist/client/grpc.js +3 -3
- package/dist/client/index.js +115 -109
- package/dist/client/interface.d.ts +10 -1
- package/dist/client/interface.d.ts.map +1 -1
- package/dist/client/topology/utils.js +2 -2
- package/dist/errors.d.ts +5 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +1 -1
- package/dist/events.js +3 -3
- package/dist/index.js +133 -119
- package/dist/open-api/apis/DefaultApi.js +104 -104
- package/dist/open-api/apis/index.js +104 -104
- package/dist/open-api/index.js +104 -104
- package/dist/open-api/models/Command.js +5 -5
- package/dist/open-api/models/Completion.js +3 -3
- package/dist/open-api/models/Completion1.js +3 -3
- package/dist/open-api/models/CompletionResponse.js +8 -8
- package/dist/open-api/models/CompletionResponseOneOf.js +3 -3
- package/dist/open-api/models/CompletionStreamResponse.js +9 -9
- package/dist/open-api/models/CreateUserRequest.js +7 -7
- package/dist/open-api/models/CumulativeFilter.js +7 -7
- package/dist/open-api/models/DeduplicationPeriod.js +1 -1
- package/dist/open-api/models/DeduplicationPeriod1.js +1 -1
- package/dist/open-api/models/DeduplicationPeriod2.js +3 -3
- package/dist/open-api/models/EventFormat.js +9 -9
- package/dist/open-api/models/ExperimentalFeatures.js +2 -2
- package/dist/open-api/models/FeaturesDescriptor.js +4 -4
- package/dist/open-api/models/Filters.js +8 -8
- package/dist/open-api/models/GetActiveContractsPageRequest.js +10 -10
- package/dist/open-api/models/GetActiveContractsRequest.js +10 -10
- package/dist/open-api/models/GetCompletionByHashResponse.js +3 -3
- package/dist/open-api/models/GetEventsByContractIdRequest.js +10 -10
- package/dist/open-api/models/GetLedgerApiVersionResponse.js +5 -5
- package/dist/open-api/models/GetUpdateByHashRequest.js +12 -12
- package/dist/open-api/models/GetUpdateByIdRequest.js +12 -12
- package/dist/open-api/models/GetUpdateByOffsetRequest.js +12 -12
- package/dist/open-api/models/GetUpdatesPageRequest.js +12 -12
- package/dist/open-api/models/GetUpdatesRequest.js +12 -12
- package/dist/open-api/models/GrantUserRightsRequest.js +7 -7
- package/dist/open-api/models/GrantUserRightsResponse.js +7 -7
- package/dist/open-api/models/IdentifierFilter.js +6 -6
- package/dist/open-api/models/JsCommands.js +7 -7
- package/dist/open-api/models/JsContractEntry.js +4 -4
- package/dist/open-api/models/JsExecuteSubmissionAndWaitForTransactionRequest.js +18 -18
- package/dist/open-api/models/JsExecuteSubmissionAndWaitRequest.js +8 -8
- package/dist/open-api/models/JsExecuteSubmissionRequest.js +8 -8
- package/dist/open-api/models/JsGetActiveContractsPageResponse.js +6 -6
- package/dist/open-api/models/JsGetActiveContractsResponse.js +5 -5
- package/dist/open-api/models/JsGetUpdateResponse.js +4 -4
- package/dist/open-api/models/JsGetUpdatesPageResponse.js +4 -4
- package/dist/open-api/models/JsGetUpdatesResponse.js +4 -4
- package/dist/open-api/models/JsPrepareSubmissionRequest.js +10 -10
- package/dist/open-api/models/JsSubmitAndWaitForTransactionRequest.js +18 -18
- package/dist/open-api/models/JsTopologyTransaction.js +2 -2
- package/dist/open-api/models/Kind.js +5 -5
- package/dist/open-api/models/ListUserRightsResponse.js +7 -7
- package/dist/open-api/models/MinLedgerTime.js +4 -4
- package/dist/open-api/models/Operation.js +4 -4
- package/dist/open-api/models/PriorTopologySerial.js +3 -3
- package/dist/open-api/models/RevokeUserRightsRequest.js +7 -7
- package/dist/open-api/models/RevokeUserRightsResponse.js +7 -7
- package/dist/open-api/models/Right.js +6 -6
- package/dist/open-api/models/Serial.js +2 -2
- package/dist/open-api/models/SubmitAndWaitForReassignmentRequest.js +10 -10
- package/dist/open-api/models/Time.js +3 -3
- package/dist/open-api/models/TopologyEvent.js +2 -2
- package/dist/open-api/models/TopologyEventEvent.js +2 -2
- package/dist/open-api/models/TopologyTransaction.js +2 -2
- package/dist/open-api/models/TransactionFormat.js +10 -10
- package/dist/open-api/models/Update.js +4 -4
- package/dist/open-api/models/UpdateFormat.js +11 -11
- package/dist/open-api/models/UpdateOneOf2.js +2 -2
- package/dist/open-api/models/UpdateVettedPackagesRequest.js +9 -9
- package/dist/open-api/models/VettedPackagesChange.js +5 -5
- package/dist/open-api/models/index.js +103 -103
- package/dist/provider.js +116 -110
- package/dist/refresh/callback-burn-mint.d.ts +22 -0
- package/dist/refresh/callback-burn-mint.d.ts.map +1 -0
- package/dist/refresh/callback-burn-mint.js +7 -0
- package/dist/refresh/callback-burn-mint.js.map +1 -0
- package/dist/refresh/callback-contracts.d.ts +5 -0
- package/dist/refresh/callback-contracts.d.ts.map +1 -0
- package/dist/refresh/callback-contracts.js +4 -0
- package/dist/refresh/callback-contracts.js.map +1 -0
- package/dist/refresh/callback-lock-unlock.d.ts +19 -0
- package/dist/refresh/callback-lock-unlock.d.ts.map +1 -0
- package/dist/refresh/callback-lock-unlock.js +7 -0
- package/dist/refresh/callback-lock-unlock.js.map +1 -0
- package/dist/refresh/callback.d.ts +112 -0
- package/dist/refresh/callback.d.ts.map +1 -0
- package/dist/refresh/callback.js +10 -0
- package/dist/refresh/callback.js.map +1 -0
- package/dist/refresh/index.d.ts +12 -0
- package/dist/refresh/index.d.ts.map +1 -1
- package/dist/refresh/index.js +25 -7
- package/dist/refresh/onesig-config.d.ts +20 -0
- package/dist/refresh/onesig-config.d.ts.map +1 -0
- package/dist/refresh/onesig-config.js +6 -0
- package/dist/refresh/onesig-config.js.map +1 -0
- package/dist/refresh/onesig-discovery.d.ts +15 -0
- package/dist/refresh/onesig-discovery.d.ts.map +1 -0
- package/dist/refresh/onesig-discovery.js +7 -0
- package/dist/refresh/onesig-discovery.js.map +1 -0
- package/dist/refresh/onesig-request.d.ts +26 -0
- package/dist/refresh/onesig-request.d.ts.map +1 -0
- package/dist/refresh/onesig-request.js +6 -0
- package/dist/refresh/onesig-request.js.map +1 -0
- package/dist/refresh/onesig-scope.d.ts +13 -0
- package/dist/refresh/onesig-scope.d.ts.map +1 -0
- package/dist/refresh/onesig-scope.js +6 -0
- package/dist/refresh/onesig-scope.js.map +1 -0
- package/dist/refresh/onesig-transfer-instruction.d.ts +19 -0
- package/dist/refresh/onesig-transfer-instruction.d.ts.map +1 -0
- package/dist/refresh/onesig-transfer-instruction.js +15 -0
- package/dist/refresh/onesig-transfer-instruction.js.map +1 -0
- package/dist/refresh/onesig-transfer.d.ts +21 -0
- package/dist/refresh/onesig-transfer.d.ts.map +1 -0
- package/dist/refresh/onesig-transfer.js +16 -0
- package/dist/refresh/onesig-transfer.js.map +1 -0
- package/dist/refresh/plan.d.ts +937 -5
- package/dist/refresh/plan.d.ts.map +1 -1
- package/dist/refresh/plan.js +1 -1
- package/dist/refresh/prepare-amulet-transfer.d.ts +9 -0
- package/dist/refresh/prepare-amulet-transfer.d.ts.map +1 -0
- package/dist/refresh/prepare-amulet-transfer.js +12 -0
- package/dist/refresh/prepare-amulet-transfer.js.map +1 -0
- package/dist/refresh/prepare-transfer-instruction-acceptance.d.ts +9 -0
- package/dist/refresh/prepare-transfer-instruction-acceptance.d.ts.map +1 -0
- package/dist/refresh/prepare-transfer-instruction-acceptance.js +4 -0
- package/dist/refresh/prepare-transfer-instruction-acceptance.js.map +1 -0
- package/dist/refresh/registry-context.d.ts +49 -0
- package/dist/refresh/registry-context.d.ts.map +1 -0
- package/dist/refresh/registry-context.js +6 -0
- package/dist/refresh/registry-context.js.map +1 -0
- package/dist/refresh/resolve-plan.d.ts +1 -1
- package/dist/refresh/resolve-plan.d.ts.map +1 -1
- package/dist/refresh/resolve-plan.js +19 -1
- package/dist/refresh/resolve.js +22 -5
- package/dist/refresh/select-contracts.d.ts +4 -0
- package/dist/refresh/select-contracts.d.ts.map +1 -0
- package/dist/refresh/select-contracts.js +4 -0
- package/dist/refresh/select-contracts.js.map +1 -0
- package/dist/sdk/canton-sdk.js +2 -2
- package/dist/sdk/index.js +2 -2
- package/dist/transaction.d.ts +1635 -20
- package/dist/transaction.d.ts.map +1 -1
- package/dist/transaction.js +2 -2
- package/package.json +12 -11
- package/dist/3K5JL2TP.js.map +0 -1
- package/dist/6UDREB6T.js +0 -3
- package/dist/6UDREB6T.js.map +0 -1
- package/dist/TP2SKXF6.js.map +0 -1
- package/dist/UGGRFD54.js +0 -168
- package/dist/UGGRFD54.js.map +0 -1
- package/dist/V3KXSTGZ.js +0 -350
- package/dist/V3KXSTGZ.js.map +0 -1
- package/dist/YCF6SVF6.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/UpdateVettedPackagesRequest.ts"],"names":["UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum","UpdateVettedPackagesForceFlagUnspecified","UpdateVettedPackagesForceFlagAllowVetIncompatibleUpgrades","UpdateVettedPackagesForceFlagAllowUnvettedDependencies","instanceOfUpdateVettedPackagesRequest","value","undefined","UpdateVettedPackagesRequestFromJSON","json","UpdateVettedPackagesRequestFromJSONTyped","ignoreDiscriminator","map","VettedPackagesChangeFromJSON","PriorTopologySerialFromJSON","UpdateVettedPackagesRequestToJSON","UpdateVettedPackagesRequestToJSONTyped","VettedPackagesChangeToJSON","PriorTopologySerialToJSON"],"mappings":";;;;;AAkFO,IAAMA,6DAAAA,GAAgE;EACzEC,wCAAAA,EAA0C,+CAAA;EAC1CC,yDAAAA,EAA2D,mEAAA;EAC3DC,sDAAAA,EAAwD;AAC5D;AAOO,SAASC,sCAAsCC,KAAAA,EAAa;AAC/D,EAAA,IAAI,EAAE,SAAA,IAAaA,KAAAA,CAAAA,IAAUA,MAAM,SAAA,CAAA,KAAeC,QAAW,OAAO,KAAA;AACpE,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,qCAAAA,EAAAA,uCAAAA,CAAAA;AAKT,SAASG,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;AAEH,IAAA,SAAA,EAAaA,IAAAA,CAAK,SAAA,CAAA,CAA0BG,GAAAA,CAAIC,4BAAAA,CAAAA;AAChD,IAAA,QAAA,EAAUJ,KAAK,QAAA,CAAA,IAAa,IAAA,GAAOF,MAAAA,GAAYE,KAAK,QAAA,CAAA;AACpD,IAAA,gBAAA,EAAkBA,KAAK,gBAAA,CAAA,IAAqB,IAAA,GAAOF,MAAAA,GAAYE,KAAK,gBAAA,CAAA;IACpE,wBAAA,EAA0BA,IAAAA,CAAK,wBAAA,CAAA,IAA6B,IAAA,GAAOF,SAAYO,2BAAAA,CAA4BL,IAAAA,CAAK,wBAAA,CAAyB,CAAA;AACzI,IAAA,gCAAA,EAAkCA,KAAK,gCAAA,CAAA,IAAqC,IAAA,GAAOF,MAAAA,GAAYE,KAAK,gCAAA;AACxG,GAAA;AACJ;AAZgBC,MAAAA,CAAAA,wCAAAA,EAAAA,0CAAAA,CAAAA;AAcT,SAASK,kCAAkCN,IAAAA,EAAS;AACvD,EAAA,OAAOO,sCAAAA,CAAuCP,MAAM,KAAA,CAAA;AACxD;AAFgBM,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAIT,SAASC,sCAAAA,CAAuCV,KAAAA,EAA4CK,mBAAAA,GAA+B,KAAA,EAAK;AACnI,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;AAEH,IAAA,SAAA,EAAaA,KAAAA,CAAM,SAAA,CAAA,CAA0BM,GAAAA,CAAIK,0BAAAA,CAAAA;AACjD,IAAA,QAAA,EAAUX,MAAM,QAAA,CAAA;AAChB,IAAA,gBAAA,EAAkBA,MAAM,gBAAA,CAAA;IACxB,wBAAA,EAA0BY,yBAAAA,CAA0BZ,KAAAA,CAAM,wBAAA,CAAyB,CAAA;AACnF,IAAA,gCAAA,EAAkCA,MAAM,gCAAA;AAC5C,GAAA;AACJ;AAbgBU,MAAAA,CAAAA,sCAAAA,EAAAA,wCAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/UpdateVettedPackagesRequest.ts"],"names":["UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum","UpdateVettedPackagesForceFlagUnspecified","UpdateVettedPackagesForceFlagAllowVetIncompatibleUpgrades","UpdateVettedPackagesForceFlagAllowUnvettedDependencies","instanceOfUpdateVettedPackagesRequest","value","undefined","UpdateVettedPackagesRequestFromJSON","json","UpdateVettedPackagesRequestFromJSONTyped","ignoreDiscriminator","map","VettedPackagesChangeFromJSON","PriorTopologySerialFromJSON","UpdateVettedPackagesRequestToJSON","UpdateVettedPackagesRequestToJSONTyped","VettedPackagesChangeToJSON","PriorTopologySerialToJSON"],"mappings":";;;;;AAkFO,IAAMA,6DAAAA,GAAgE;EACzEC,wCAAAA,EAA0C,+CAAA;EAC1CC,yDAAAA,EAA2D,mEAAA;EAC3DC,sDAAAA,EAAwD;AAC5D;AAOO,SAASC,sCAAsCC,KAAAA,EAAa;AAC/D,EAAA,IAAI,EAAE,SAAA,IAAaA,KAAAA,CAAAA,IAAUA,MAAM,SAAA,CAAA,KAAeC,QAAW,OAAO,KAAA;AACpE,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,qCAAAA,EAAAA,uCAAAA,CAAAA;AAKT,SAASG,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;AAEH,IAAA,SAAA,EAAaA,IAAAA,CAAK,SAAA,CAAA,CAA0BG,GAAAA,CAAIC,4BAAAA,CAAAA;AAChD,IAAA,QAAA,EAAUJ,KAAK,QAAA,CAAA,IAAa,IAAA,GAAOF,MAAAA,GAAYE,KAAK,QAAA,CAAA;AACpD,IAAA,gBAAA,EAAkBA,KAAK,gBAAA,CAAA,IAAqB,IAAA,GAAOF,MAAAA,GAAYE,KAAK,gBAAA,CAAA;IACpE,wBAAA,EAA0BA,IAAAA,CAAK,wBAAA,CAAA,IAA6B,IAAA,GAAOF,SAAYO,2BAAAA,CAA4BL,IAAAA,CAAK,wBAAA,CAAyB,CAAA;AACzI,IAAA,gCAAA,EAAkCA,KAAK,gCAAA,CAAA,IAAqC,IAAA,GAAOF,MAAAA,GAAYE,KAAK,gCAAA;AACxG,GAAA;AACJ;AAZgBC,MAAAA,CAAAA,wCAAAA,EAAAA,0CAAAA,CAAAA;AAcT,SAASK,kCAAkCN,IAAAA,EAAS;AACvD,EAAA,OAAOO,sCAAAA,CAAuCP,MAAM,KAAA,CAAA;AACxD;AAFgBM,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAIT,SAASC,sCAAAA,CAAuCV,KAAAA,EAA4CK,mBAAAA,GAA+B,KAAA,EAAK;AACnI,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;AAEH,IAAA,SAAA,EAAaA,KAAAA,CAAM,SAAA,CAAA,CAA0BM,GAAAA,CAAIK,0BAAAA,CAAAA;AACjD,IAAA,QAAA,EAAUX,MAAM,QAAA,CAAA;AAChB,IAAA,gBAAA,EAAkBA,MAAM,gBAAA,CAAA;IACxB,wBAAA,EAA0BY,yBAAAA,CAA0BZ,KAAAA,CAAM,wBAAA,CAAyB,CAAA;AACnF,IAAA,gCAAA,EAAkCA,MAAM,gCAAA;AAC5C,GAAA;AACJ;AAbgBU,MAAAA,CAAAA,sCAAAA,EAAAA,wCAAAA,CAAAA","file":"7MEBFPGZ.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 { PriorTopologySerial } from './PriorTopologySerial.js';\nimport {\n PriorTopologySerialFromJSON,\n PriorTopologySerialFromJSONTyped,\n PriorTopologySerialToJSON,\n PriorTopologySerialToJSONTyped,\n} from './PriorTopologySerial.js';\nimport type { VettedPackagesChange } from './VettedPackagesChange.js';\nimport {\n VettedPackagesChangeFromJSON,\n VettedPackagesChangeFromJSONTyped,\n VettedPackagesChangeToJSON,\n VettedPackagesChangeToJSONTyped,\n} from './VettedPackagesChange.js';\n\n/**\n * \n * @export\n * @interface UpdateVettedPackagesRequest\n */\nexport interface UpdateVettedPackagesRequest {\n /**\n * Changes to apply to the current vetting state of the participant on the\n * specified synchronizer. The changes are applied in order.\n * Any package not changed will keep their previous vetting state.\n * \n * Required: must be non-empty\n */\n changes: Array<VettedPackagesChange>;\n /**\n * If dry_run is true, then the changes are only prepared, but not applied. If\n * a request would trigger an error when run (e.g. TOPOLOGY_DEPENDENCIES_NOT_VETTED),\n * it will also trigger an error when dry_run.\n * \n * Use this flag to preview a change before applying it.\n * Defaults to false.\n * \n * Optional\n */\n dryRun?: boolean;\n /**\n * If set, the requested changes will take place on the specified\n * synchronizer. If synchronizer_id is unset and the participant is only\n * connected to a single synchronizer, that synchronizer will be used by\n * default. If synchronizer_id is unset and the participant is connected to\n * multiple synchronizers, the request will error out with\n * PACKAGE_SERVICE_CANNOT_AUTODETECT_SYNCHRONIZER.\n * \n * Optional\n */\n synchronizerId?: string;\n /**\n * \n */\n expectedTopologySerial?: PriorTopologySerial;\n /**\n * Controls whether potentially unsafe vetting updates are allowed.\n * \n * Optional: can be empty\n */\n updateVettedPackagesForceFlags?: Array<UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum>;\n}\n\n\n/**\n * @export\n */\nexport const UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum = {\n UpdateVettedPackagesForceFlagUnspecified: 'UPDATE_VETTED_PACKAGES_FORCE_FLAG_UNSPECIFIED',\n UpdateVettedPackagesForceFlagAllowVetIncompatibleUpgrades: 'UPDATE_VETTED_PACKAGES_FORCE_FLAG_ALLOW_VET_INCOMPATIBLE_UPGRADES',\n UpdateVettedPackagesForceFlagAllowUnvettedDependencies: 'UPDATE_VETTED_PACKAGES_FORCE_FLAG_ALLOW_UNVETTED_DEPENDENCIES',\n} as const;\nexport type UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum = typeof UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum[keyof typeof UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum];\n\n\n/**\n * Check if a given object implements the UpdateVettedPackagesRequest interface.\n */\nexport function instanceOfUpdateVettedPackagesRequest(value: object): value is UpdateVettedPackagesRequest {\n if (!('changes' in value) || value['changes'] === undefined) return false;\n return true;\n}\n\nexport function UpdateVettedPackagesRequestFromJSON(json: any): UpdateVettedPackagesRequest {\n return UpdateVettedPackagesRequestFromJSONTyped(json, false);\n}\n\nexport function UpdateVettedPackagesRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateVettedPackagesRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'changes': ((json['changes'] as Array<any>).map(VettedPackagesChangeFromJSON)),\n 'dryRun': json['dryRun'] == null ? undefined : json['dryRun'],\n 'synchronizerId': json['synchronizerId'] == null ? undefined : json['synchronizerId'],\n 'expectedTopologySerial': json['expectedTopologySerial'] == null ? undefined : PriorTopologySerialFromJSON(json['expectedTopologySerial']),\n 'updateVettedPackagesForceFlags': json['updateVettedPackagesForceFlags'] == null ? undefined : json['updateVettedPackagesForceFlags'],\n };\n}\n\nexport function UpdateVettedPackagesRequestToJSON(json: any): UpdateVettedPackagesRequest {\n return UpdateVettedPackagesRequestToJSONTyped(json, false);\n}\n\nexport function UpdateVettedPackagesRequestToJSONTyped(value?: UpdateVettedPackagesRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'changes': ((value['changes'] as Array<any>).map(VettedPackagesChangeToJSON)),\n 'dryRun': value['dryRun'],\n 'synchronizerId': value['synchronizerId'],\n 'expectedTopologySerial': PriorTopologySerialToJSON(value['expectedTopologySerial']),\n 'updateVettedPackagesForceFlags': value['updateVettedPackagesForceFlags'],\n };\n}\n\n"]}
|
package/dist/ABHGT5DF.js
ADDED
|
@@ -0,0 +1,557 @@
|
|
|
1
|
+
import { resolveCantonOneSigTransferBatch } from './BZXMNRDO.js';
|
|
2
|
+
import { selectContractAmounts, parseDamlDecimal } from './Q3BYU6GJ.js';
|
|
3
|
+
import { resolveCantonOneSigConfigContext } from './IUQEDBC6.js';
|
|
4
|
+
import { resolveCantonOneSigDiscoveryContext } from './5CADV7BB.js';
|
|
5
|
+
import { resolveCantonOneSigRequestContext } from './XCOORR26.js';
|
|
6
|
+
import { resolveCantonOneSigScopeContext } from './NGED2YCU.js';
|
|
7
|
+
import { resolveCantonOneSigTransferInstructionContext } from './SA63DYLV.js';
|
|
8
|
+
import { resolveCantonFinalizeCallback } from './MV4DFHZP.js';
|
|
9
|
+
import { CantonSdk } from './5W44RCVL.js';
|
|
10
|
+
import { createContractAddressResolver } from './RVJRKYSC.js';
|
|
11
|
+
import { cantonRefreshPlanSchema, cantonFinalizeCallbackRefreshSchema, cantonOneSigTransferBatchRefreshSchema, cantonOneSigTransferInstructionContextRefreshSchema, cantonOneSigConfigContextRefreshSchema, cantonOneSigScopeContextRefreshSchema, cantonOneSigDiscoveryContextRefreshSchema, cantonOneSigRequestContextRefreshSchema, cantonTransferInstructionAcceptContextRefreshSchema } from './MO6W6SKU.js';
|
|
12
|
+
import { getCreateArgumentField } from './SWY4QT4I.js';
|
|
13
|
+
import { isCantonDeferredSentinel, cantonSenderPartyRef, isCantonDeferredSender } from './PWKI6T6A.js';
|
|
14
|
+
import { __name } from './VUOMXK5T.js';
|
|
15
|
+
|
|
16
|
+
// src/refresh/resolve-plan.ts
|
|
17
|
+
var CANTON_TIME_PATTERN = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?Z$/;
|
|
18
|
+
var resolveParty = /* @__PURE__ */ __name((partyRef, senderParty, label) => {
|
|
19
|
+
if (!isCantonDeferredSender(partyRef)) return partyRef.party;
|
|
20
|
+
if (!senderParty) {
|
|
21
|
+
throw new Error(`${label} requires a resolved sender party`);
|
|
22
|
+
}
|
|
23
|
+
return senderParty;
|
|
24
|
+
}, "resolveParty");
|
|
25
|
+
var getContractNumericField = /* @__PURE__ */ __name((contract, field) => {
|
|
26
|
+
const raw = getCreateArgumentField(contract.createdEvent.createArgument, field);
|
|
27
|
+
const value = raw !== null && typeof raw === "object" && "initialAmount" in raw ? raw.initialAmount : raw;
|
|
28
|
+
return parseDamlDecimal(value, `Contract ${contract.createdEvent.contractId} numeric field ${field}`);
|
|
29
|
+
}, "getContractNumericField");
|
|
30
|
+
var selectContractsByGte = /* @__PURE__ */ __name((contracts, field, requestedValue) => selectContractAmounts(contracts, field, requestedValue, (contract) => getContractNumericField(contract, field)), "selectContractsByGte");
|
|
31
|
+
var makeActiveContractRef = /* @__PURE__ */ __name((selector) => ({
|
|
32
|
+
type: "activeContractIds",
|
|
33
|
+
partyToFilter: selector.queryAs,
|
|
34
|
+
expectedSignatories: selector.expectedSignatories,
|
|
35
|
+
templateId: selector.templateId ?? selector.interfaceId,
|
|
36
|
+
interfaceId: selector.interfaceId,
|
|
37
|
+
contractStateFilter: selector.stateFilter
|
|
38
|
+
}), "makeActiveContractRef");
|
|
39
|
+
var resolveSelectorContracts = /* @__PURE__ */ __name(async (resolver, selector) => {
|
|
40
|
+
const contracts = await resolver.resolveActiveContracts(makeActiveContractRef(selector));
|
|
41
|
+
if (!selector.contractId) return contracts;
|
|
42
|
+
const source = await resolver.resolveActiveContracts(makeActiveContractRef(selector.contractId.selector));
|
|
43
|
+
if (source.length !== 1) throw new Error(`Contract ID source matched ${source.length} contracts, expected exactly one`);
|
|
44
|
+
const contractId = getCreateArgumentField(source[0].createdEvent.createArgument, selector.contractId.field);
|
|
45
|
+
if (typeof contractId !== "string" || !contractId) throw new Error("Contract ID source must contain a nonempty contract ID");
|
|
46
|
+
return contracts.filter((contract) => contract.createdEvent.contractId === contractId);
|
|
47
|
+
}, "resolveSelectorContracts");
|
|
48
|
+
var resolveContractValue = /* @__PURE__ */ __name(async (resolver, source) => {
|
|
49
|
+
const contracts = await resolveSelectorContracts(resolver, source.selector);
|
|
50
|
+
if (contracts.length !== 1) {
|
|
51
|
+
throw new Error(`Active contract value matched ${contracts.length} contracts, expected exactly one`);
|
|
52
|
+
}
|
|
53
|
+
const value = getCreateArgumentField(contracts[0].createdEvent.createArgument, source.field);
|
|
54
|
+
if (parseDamlDecimal(value, `Contract value ${source.field}`) <= 0n) {
|
|
55
|
+
throw new Error(`Contract value ${source.field} must be positive`);
|
|
56
|
+
}
|
|
57
|
+
return value;
|
|
58
|
+
}, "resolveContractValue");
|
|
59
|
+
var selectActiveContracts = /* @__PURE__ */ __name(async (contracts, selection, resolver) => {
|
|
60
|
+
switch (selection.kind) {
|
|
61
|
+
case "exactlyOne":
|
|
62
|
+
if (contracts.length !== 1) {
|
|
63
|
+
throw new Error(`Active contract selection matched ${contracts.length} contracts, expected exactly one`);
|
|
64
|
+
}
|
|
65
|
+
return contracts;
|
|
66
|
+
case "all":
|
|
67
|
+
return contracts;
|
|
68
|
+
case "gte":
|
|
69
|
+
return selectContractsByGte(contracts, selection.field, typeof selection.value === "string" ? selection.value : await resolveContractValue(resolver, selection.value));
|
|
70
|
+
}
|
|
71
|
+
}, "selectActiveContracts");
|
|
72
|
+
var resolveCantonActiveContracts = /* @__PURE__ */ __name(async (args) => {
|
|
73
|
+
const queryParty = resolveParty(args.selector.queryAs, args.senderParty, "Active contract selection");
|
|
74
|
+
const resolver = createContractAddressResolver({
|
|
75
|
+
client: args.client,
|
|
76
|
+
senderParty: args.senderParty,
|
|
77
|
+
signingParties: [
|
|
78
|
+
queryParty
|
|
79
|
+
],
|
|
80
|
+
appendDisclosures: /* @__PURE__ */ __name(() => void 0, "appendDisclosures")
|
|
81
|
+
});
|
|
82
|
+
const selected = await selectActiveContracts(await resolveSelectorContracts(resolver, args.selector), args.selection, resolver);
|
|
83
|
+
return {
|
|
84
|
+
contractIds: selected.map(({ createdEvent }) => createdEvent.contractId)
|
|
85
|
+
};
|
|
86
|
+
}, "resolveCantonActiveContracts");
|
|
87
|
+
var isRecord = /* @__PURE__ */ __name((value) => value !== null && typeof value === "object" && !Array.isArray(value), "isRecord");
|
|
88
|
+
var isCantonTime = /* @__PURE__ */ __name((value) => typeof value === "string" && CANTON_TIME_PATTERN.test(value) && Number.isFinite(Date.parse(value)), "isCantonTime");
|
|
89
|
+
var isActiveContractRefresh = /* @__PURE__ */ __name((refresh) => refresh.resolver.type === "activeContract", "isActiveContractRefresh");
|
|
90
|
+
var isActiveContractValueRefresh = /* @__PURE__ */ __name((refresh) => refresh.resolver.type === "activeContractValue", "isActiveContractValueRefresh");
|
|
91
|
+
var isAmuletContextRefresh = /* @__PURE__ */ __name((refresh) => refresh.resolver.type === "amuletContext", "isAmuletContextRefresh");
|
|
92
|
+
var isTimestampRefresh = /* @__PURE__ */ __name((refresh) => refresh.resolver.type === "timestamp", "isTimestampRefresh");
|
|
93
|
+
var replaceAtPath = /* @__PURE__ */ __name((root, path, value) => {
|
|
94
|
+
if (path.length === 0) return value;
|
|
95
|
+
let current = root;
|
|
96
|
+
for (const [position, segment] of path.entries()) {
|
|
97
|
+
const isLast = position === path.length - 1;
|
|
98
|
+
if ("field" in segment) {
|
|
99
|
+
if (!isRecord(current) || !(segment.field in current)) {
|
|
100
|
+
throw new Error(`Refresh target field "${segment.field}" does not exist`);
|
|
101
|
+
}
|
|
102
|
+
if (isLast) {
|
|
103
|
+
current[segment.field] = value;
|
|
104
|
+
return root;
|
|
105
|
+
}
|
|
106
|
+
current = current[segment.field];
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
if ("index" in segment) {
|
|
110
|
+
if (!Array.isArray(current) || segment.index >= current.length) {
|
|
111
|
+
throw new Error(`Refresh target array index ${segment.index} does not exist`);
|
|
112
|
+
}
|
|
113
|
+
if (isLast) {
|
|
114
|
+
current[segment.index] = value;
|
|
115
|
+
return root;
|
|
116
|
+
}
|
|
117
|
+
current = current[segment.index];
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
if (!Array.isArray(current)) {
|
|
121
|
+
throw new Error(`Refresh target DAML map "${segment.damlMapKey}" is not an array`);
|
|
122
|
+
}
|
|
123
|
+
const matches = current.filter((entry) => Array.isArray(entry) && entry.length === 2 && entry[0] === segment.damlMapKey);
|
|
124
|
+
if (matches.length !== 1) {
|
|
125
|
+
throw new Error(`Refresh target DAML map key "${segment.damlMapKey}" matched ${matches.length} entries`);
|
|
126
|
+
}
|
|
127
|
+
if (isLast) {
|
|
128
|
+
matches[0][1] = value;
|
|
129
|
+
return root;
|
|
130
|
+
}
|
|
131
|
+
current = matches[0][1];
|
|
132
|
+
}
|
|
133
|
+
return root;
|
|
134
|
+
}, "replaceAtPath");
|
|
135
|
+
var readAtPath = /* @__PURE__ */ __name((root, path) => {
|
|
136
|
+
let current = root;
|
|
137
|
+
for (const segment of path) {
|
|
138
|
+
if ("field" in segment) {
|
|
139
|
+
if (!isRecord(current) || !(segment.field in current)) {
|
|
140
|
+
throw new Error(`Refresh target field "${segment.field}" does not exist`);
|
|
141
|
+
}
|
|
142
|
+
current = current[segment.field];
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
if ("index" in segment) {
|
|
146
|
+
if (!Array.isArray(current) || segment.index >= current.length) {
|
|
147
|
+
throw new Error(`Refresh target array index ${segment.index} does not exist`);
|
|
148
|
+
}
|
|
149
|
+
current = current[segment.index];
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
if (!Array.isArray(current)) {
|
|
153
|
+
throw new Error(`Refresh target DAML map "${segment.damlMapKey}" is not an array`);
|
|
154
|
+
}
|
|
155
|
+
const matches = current.filter((entry) => Array.isArray(entry) && entry.length === 2 && entry[0] === segment.damlMapKey);
|
|
156
|
+
if (matches.length !== 1) {
|
|
157
|
+
throw new Error(`Refresh target DAML map key "${segment.damlMapKey}" matched ${matches.length} entries`);
|
|
158
|
+
}
|
|
159
|
+
current = matches[0][1];
|
|
160
|
+
}
|
|
161
|
+
return current;
|
|
162
|
+
}, "readAtPath");
|
|
163
|
+
var readTarget = /* @__PURE__ */ __name((commands, target, path) => {
|
|
164
|
+
const command = commands[target.commandIndex];
|
|
165
|
+
if (!command) {
|
|
166
|
+
throw new Error(`Refresh command index ${target.commandIndex} does not exist`);
|
|
167
|
+
}
|
|
168
|
+
if (target.command === "exercise") {
|
|
169
|
+
if (!("exerciseCommand" in command)) {
|
|
170
|
+
throw new Error(`Refresh command index ${target.commandIndex} is not an exercise`);
|
|
171
|
+
}
|
|
172
|
+
if (command.exerciseCommand.choice !== target.choice) {
|
|
173
|
+
throw new Error(`Refresh command index ${target.commandIndex} expected choice ${target.choice}, found ${command.exerciseCommand.choice}`);
|
|
174
|
+
}
|
|
175
|
+
return readAtPath(command.exerciseCommand.choiceArgument, path);
|
|
176
|
+
}
|
|
177
|
+
if (!("createCommand" in command)) {
|
|
178
|
+
throw new Error(`Refresh command index ${target.commandIndex} is not a create`);
|
|
179
|
+
}
|
|
180
|
+
if (command.createCommand.templateId !== target.template) {
|
|
181
|
+
throw new Error(`Refresh command index ${target.commandIndex} expected template ${target.template}, found ${command.createCommand.templateId}`);
|
|
182
|
+
}
|
|
183
|
+
return readAtPath(command.createCommand.createArguments, path);
|
|
184
|
+
}, "readTarget");
|
|
185
|
+
var applyPatch = /* @__PURE__ */ __name((commands, target, path, value) => {
|
|
186
|
+
const command = commands[target.commandIndex];
|
|
187
|
+
if (!command) {
|
|
188
|
+
throw new Error(`Refresh command index ${target.commandIndex} does not exist`);
|
|
189
|
+
}
|
|
190
|
+
if (target.command === "exercise") {
|
|
191
|
+
if (!("exerciseCommand" in command)) {
|
|
192
|
+
throw new Error(`Refresh command index ${target.commandIndex} is not an exercise`);
|
|
193
|
+
}
|
|
194
|
+
if (command.exerciseCommand.choice !== target.choice) {
|
|
195
|
+
throw new Error(`Refresh command index ${target.commandIndex} expected choice ${target.choice}, found ${command.exerciseCommand.choice}`);
|
|
196
|
+
}
|
|
197
|
+
command.exerciseCommand.choiceArgument = replaceAtPath(command.exerciseCommand.choiceArgument, path, value);
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
if (!("createCommand" in command)) {
|
|
201
|
+
throw new Error(`Refresh command index ${target.commandIndex} is not a create`);
|
|
202
|
+
}
|
|
203
|
+
if (command.createCommand.templateId !== target.template) {
|
|
204
|
+
throw new Error(`Refresh command index ${target.commandIndex} expected template ${target.template}, found ${command.createCommand.templateId}`);
|
|
205
|
+
}
|
|
206
|
+
command.createCommand.createArguments = replaceAtPath(command.createCommand.createArguments, path, value);
|
|
207
|
+
}, "applyPatch");
|
|
208
|
+
var applyTarget = /* @__PURE__ */ __name((commands, target, value) => {
|
|
209
|
+
if ("field" in target) {
|
|
210
|
+
const command = commands[target.commandIndex];
|
|
211
|
+
if (!command) {
|
|
212
|
+
throw new Error(`Refresh command index ${target.commandIndex} does not exist`);
|
|
213
|
+
}
|
|
214
|
+
if (!("exerciseCommand" in command)) {
|
|
215
|
+
throw new Error(`Refresh command index ${target.commandIndex} is not an exercise`);
|
|
216
|
+
}
|
|
217
|
+
if (target.choice !== void 0 && command.exerciseCommand.choice !== target.choice) {
|
|
218
|
+
throw new Error(`Refresh command index ${target.commandIndex} expected choice ${target.choice}, found ${command.exerciseCommand.choice}`);
|
|
219
|
+
}
|
|
220
|
+
if (typeof value !== "string") {
|
|
221
|
+
throw new Error("Exercise contract ID refresh must resolve to a string");
|
|
222
|
+
}
|
|
223
|
+
command.exerciseCommand.contractId = value;
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
for (const argument of target.arguments) {
|
|
227
|
+
applyPatch(commands, target, argument.path, value);
|
|
228
|
+
}
|
|
229
|
+
}, "applyTarget");
|
|
230
|
+
var containsDeferredSentinel = /* @__PURE__ */ __name((value) => {
|
|
231
|
+
if (isCantonDeferredSentinel(value)) return true;
|
|
232
|
+
if (Array.isArray(value)) return value.some((item) => containsDeferredSentinel(item));
|
|
233
|
+
if (!isRecord(value)) return false;
|
|
234
|
+
return Object.values(value).some((child) => containsDeferredSentinel(child));
|
|
235
|
+
}, "containsDeferredSentinel");
|
|
236
|
+
var hasDisclosureSentinel = /* @__PURE__ */ __name((disclosures) => disclosures.some(({ createdEventBlob: _blob, ...fields }) => containsDeferredSentinel(fields)), "hasDisclosureSentinel");
|
|
237
|
+
var disclosuresEqual = /* @__PURE__ */ __name((left, right) => left.contractId === right.contractId && left.templateId === right.templateId && left.createdEventBlob === right.createdEventBlob && left.synchronizerId === right.synchronizerId, "disclosuresEqual");
|
|
238
|
+
var resolveCantonRefreshPlan = /* @__PURE__ */ __name(async (args) => {
|
|
239
|
+
const replacements = cantonRefreshPlanSchema.shape.replaceSentinels.parse(args.refreshPlan.replaceSentinels);
|
|
240
|
+
const commands = structuredClone(args.unresolvedCommands);
|
|
241
|
+
if (replacements) {
|
|
242
|
+
if (typeof args.senderParty !== "string" || !args.senderParty.trim() || isCantonDeferredSentinel(args.senderParty)) {
|
|
243
|
+
throw new Error("Sender binding requires a resolved sender party");
|
|
244
|
+
}
|
|
245
|
+
for (const replacement of replacements) {
|
|
246
|
+
for (const target of replacement.targets) {
|
|
247
|
+
for (const { path } of target.arguments) {
|
|
248
|
+
if (readTarget(commands, target, path) !== cantonSenderPartyRef()) {
|
|
249
|
+
throw new Error("Sender binding target must contain cantonSenderPartyRef()");
|
|
250
|
+
}
|
|
251
|
+
applyPatch(commands, target, path, args.senderParty);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
if (containsDeferredSentinel(commands) || hasDisclosureSentinel(args.unresolvedDisclosedContracts)) {
|
|
257
|
+
throw new Error("Canton refreshPlan cannot be combined with deferred sentinels");
|
|
258
|
+
}
|
|
259
|
+
for (const entry of args.refreshPlan.commands) {
|
|
260
|
+
if (entry.resolver.type !== "finalizeCallback") continue;
|
|
261
|
+
const callback = cantonFinalizeCallbackRefreshSchema.parse(entry);
|
|
262
|
+
const contextIndices = callback.targets.map((target) => target.commandIndex).sort();
|
|
263
|
+
const cidIndices = callback.callbackCidTargets.map((target) => target.commandIndex).sort();
|
|
264
|
+
if (JSON.stringify(contextIndices) !== JSON.stringify(cidIndices)) {
|
|
265
|
+
throw new Error("Callback context and contract ID targets must address the same commands");
|
|
266
|
+
}
|
|
267
|
+
for (const target of [
|
|
268
|
+
...callback.targets,
|
|
269
|
+
...callback.callbackCidTargets
|
|
270
|
+
]) {
|
|
271
|
+
readTarget(commands, target, target.arguments[0].path);
|
|
272
|
+
const command = commands[target.commandIndex];
|
|
273
|
+
if (!("exerciseCommand" in command) || !isRecord(command.exerciseCommand.choiceArgument) || command.exerciseCommand.choiceArgument.pendingCallbackCid !== callback.resolver.pendingCallbackCid) {
|
|
274
|
+
throw new Error("Callback target must match the pinned PendingCallback");
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
const disclosureMap = /* @__PURE__ */ new Map();
|
|
279
|
+
const appendDisclosures = /* @__PURE__ */ __name((disclosures) => {
|
|
280
|
+
for (const disclosure of disclosures) {
|
|
281
|
+
const existing = disclosureMap.get(disclosure.contractId);
|
|
282
|
+
if (existing && !disclosuresEqual(existing, disclosure)) {
|
|
283
|
+
throw new Error(`Conflicting disclosures for contract ${disclosure.contractId}`);
|
|
284
|
+
}
|
|
285
|
+
disclosureMap.set(disclosure.contractId, disclosure);
|
|
286
|
+
}
|
|
287
|
+
}, "appendDisclosures");
|
|
288
|
+
appendDisclosures(args.unresolvedDisclosedContracts);
|
|
289
|
+
const resolver = createContractAddressResolver({
|
|
290
|
+
client: args.client,
|
|
291
|
+
senderParty: args.senderParty,
|
|
292
|
+
signingParties: args.signingParties,
|
|
293
|
+
appendDisclosures
|
|
294
|
+
});
|
|
295
|
+
for (const refresh of args.refreshPlan.commands) {
|
|
296
|
+
if (isActiveContractRefresh(refresh)) {
|
|
297
|
+
const ref = makeActiveContractRef(refresh.resolver.selector);
|
|
298
|
+
const selected = await selectActiveContracts(await resolveSelectorContracts(resolver, refresh.resolver.selector), refresh.resolver.selection, resolver);
|
|
299
|
+
await resolver.discloseActiveContracts(ref, selected);
|
|
300
|
+
const contractIds = selected.map(({ createdEvent }) => createdEvent.contractId);
|
|
301
|
+
const resolved = refresh.resolver.selection.kind === "exactlyOne" ? contractIds[0] : contractIds;
|
|
302
|
+
for (const target of refresh.targets) applyTarget(commands, target, resolved);
|
|
303
|
+
continue;
|
|
304
|
+
}
|
|
305
|
+
if (isActiveContractValueRefresh(refresh)) {
|
|
306
|
+
const value = await resolveContractValue(resolver, refresh.resolver);
|
|
307
|
+
for (const target of refresh.targets) applyTarget(commands, target, value);
|
|
308
|
+
continue;
|
|
309
|
+
}
|
|
310
|
+
if (refresh.resolver.type === "oneSigTransferBatch") {
|
|
311
|
+
const transfer = cantonOneSigTransferBatchRefreshSchema.parse(refresh);
|
|
312
|
+
const firstTarget = transfer.targets[0];
|
|
313
|
+
const commandIndex = firstTarget.commandIndex;
|
|
314
|
+
const calls = readTarget(commands, firstTarget, [
|
|
315
|
+
{
|
|
316
|
+
field: "transaction"
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
field: "calls"
|
|
320
|
+
}
|
|
321
|
+
]);
|
|
322
|
+
if (!Array.isArray(calls)) throw new Error("OneSig transfer target requires calls");
|
|
323
|
+
const transferIndices = calls.flatMap((entry, index) => isRecord(entry) && isRecord(entry.call) && entry.call.tag === "OpTransfer" ? [
|
|
324
|
+
index
|
|
325
|
+
] : []);
|
|
326
|
+
const indices = transfer.targets.map((target) => target.arguments[0].path[2].index);
|
|
327
|
+
if (transfer.targets.some((target) => target.commandIndex !== commandIndex) || indices.length !== transferIndices.length || new Set(indices).size !== indices.length || transferIndices.some((index) => !indices.includes(index)) || args.refreshPlan.commands.filter((entry) => entry.resolver.type === "oneSigTransferBatch" && entry.targets.some((target) => target.commandIndex === commandIndex)).length !== 1) {
|
|
328
|
+
throw new Error("OneSig transfer targets must cover every Transfer context exactly once");
|
|
329
|
+
}
|
|
330
|
+
for (const target of transfer.targets) {
|
|
331
|
+
const current = readTarget(commands, target, target.arguments[0].path);
|
|
332
|
+
if (!isRecord(current) || current.tag !== "TransferFactoryContext" || !isRecord(current.value)) throw new Error("OneSig transfer target context mismatch");
|
|
333
|
+
}
|
|
334
|
+
const bundle = await resolveCantonOneSigTransferBatch(new CantonSdk(args.client), transfer.resolver, indices.map((index) => calls[index].call), args.client);
|
|
335
|
+
appendDisclosures(bundle.disclosedContracts);
|
|
336
|
+
transfer.targets.forEach((target, index) => applyTarget(commands, target, bundle.contexts[index]));
|
|
337
|
+
continue;
|
|
338
|
+
}
|
|
339
|
+
if (refresh.resolver.type === "oneSigTransferInstructionContext") {
|
|
340
|
+
const instruction = cantonOneSigTransferInstructionContextRefreshSchema.parse(refresh);
|
|
341
|
+
const target = instruction.targets[0];
|
|
342
|
+
const path = target.arguments[0].path;
|
|
343
|
+
const current = readTarget(commands, target, path);
|
|
344
|
+
const call = readTarget(commands, target, [
|
|
345
|
+
...path.slice(0, -1),
|
|
346
|
+
{
|
|
347
|
+
field: "call"
|
|
348
|
+
}
|
|
349
|
+
]);
|
|
350
|
+
if (!isRecord(current) || current.tag !== "TransferInstructionContext" || !isRecord(current.value) || current.value.transferInstructionCid !== instruction.resolver.transferInstructionCid) {
|
|
351
|
+
throw new Error("OneSig instruction target must match the pinned transfer instruction");
|
|
352
|
+
}
|
|
353
|
+
const bundle = await resolveCantonOneSigTransferInstructionContext(new CantonSdk(args.client), instruction.resolver, call, args.client);
|
|
354
|
+
appendDisclosures(bundle.disclosedContracts);
|
|
355
|
+
applyTarget(commands, target, bundle.context);
|
|
356
|
+
continue;
|
|
357
|
+
}
|
|
358
|
+
if (refresh.resolver.type === "oneSigConfigContext") {
|
|
359
|
+
const config = cantonOneSigConfigContextRefreshSchema.parse(refresh);
|
|
360
|
+
for (const target of config.targets) {
|
|
361
|
+
const path = target.arguments[0].path;
|
|
362
|
+
const current = readTarget(commands, target, path);
|
|
363
|
+
const call = readTarget(commands, target, [
|
|
364
|
+
...path.slice(0, -1),
|
|
365
|
+
{
|
|
366
|
+
field: "call"
|
|
367
|
+
}
|
|
368
|
+
]);
|
|
369
|
+
const expected = config.resolver;
|
|
370
|
+
if (!isRecord(call) || !isRecord(call.value) || call.tag !== expected.operation || !isRecord(call.value.oappId) || call.value.oappId.admin !== expected.oappId.admin || call.value.oappId.id !== expected.oappId.id || !isRecord(current) || current.tag !== "ConfigContext" || !isRecord(current.value) || expected.operation === "OpSetRequestFactory" && call.value.expectedHandler !== expected.expectedHandler) {
|
|
371
|
+
throw new Error("OneSig config target does not match signed call identity");
|
|
372
|
+
}
|
|
373
|
+
const bundle = await resolveCantonOneSigConfigContext(new CantonSdk(args.client), expected);
|
|
374
|
+
appendDisclosures(bundle.disclosedContracts);
|
|
375
|
+
applyTarget(commands, target, bundle.context);
|
|
376
|
+
}
|
|
377
|
+
continue;
|
|
378
|
+
}
|
|
379
|
+
if (refresh.resolver.type === "oneSigScopeContext") {
|
|
380
|
+
const scope = cantonOneSigScopeContextRefreshSchema.parse(refresh);
|
|
381
|
+
for (const target of scope.targets) {
|
|
382
|
+
const path = target.arguments[0].path;
|
|
383
|
+
const current = readTarget(commands, target, path);
|
|
384
|
+
const call = readTarget(commands, target, [
|
|
385
|
+
...path.slice(0, -1),
|
|
386
|
+
{
|
|
387
|
+
field: "call"
|
|
388
|
+
}
|
|
389
|
+
]);
|
|
390
|
+
const expected = scope.resolver;
|
|
391
|
+
const contextTag = expected.operation === "OpSetMinFee" ? "MinFeeContext" : expected.operation === "OpSetMinPayoutValue" ? "MinPayoutValueContext" : expected.operation === "OpSetProtocolLedgerTimeValidityPeriod" ? "LedgerTimeValidityContext" : "AccessControlContext";
|
|
392
|
+
if (!isRecord(call) || !isRecord(call.value) || call.tag !== expected.operation || !isRecord(call.value.scope) || call.value.scope.category !== expected.scope.category || call.value.scope.admin !== expected.scope.admin || call.value.scope.id !== expected.scope.id || expected.operation === "OpAcceptDefaultAdmin" && expected.scope.category === "oapp" || !isRecord(current) || current.tag !== contextTag || !isRecord(current.value)) {
|
|
393
|
+
throw new Error("OneSig scope target does not match signed call identity");
|
|
394
|
+
}
|
|
395
|
+
const bundle = await resolveCantonOneSigScopeContext(new CantonSdk(args.client), expected);
|
|
396
|
+
appendDisclosures(bundle.disclosedContracts);
|
|
397
|
+
applyTarget(commands, target, bundle.context);
|
|
398
|
+
}
|
|
399
|
+
continue;
|
|
400
|
+
}
|
|
401
|
+
if (refresh.resolver.type === "oneSigDiscoveryContext") {
|
|
402
|
+
const discovery = cantonOneSigDiscoveryContextRefreshSchema.parse(refresh);
|
|
403
|
+
for (const target of discovery.targets) {
|
|
404
|
+
const path = target.arguments[0].path;
|
|
405
|
+
const current = readTarget(commands, target, path);
|
|
406
|
+
const call = readTarget(commands, target, [
|
|
407
|
+
...path.slice(0, -1),
|
|
408
|
+
{
|
|
409
|
+
field: "call"
|
|
410
|
+
}
|
|
411
|
+
]);
|
|
412
|
+
const expected = discovery.resolver;
|
|
413
|
+
if (!isRecord(call) || call.tag !== "OpSetDiscoveryUrl" || !isRecord(call.value) || !isRecord(call.value.oappId) || call.value.oappId.admin !== expected.oappId.admin || call.value.oappId.id !== expected.oappId.id || !isRecord(current) || current.tag !== "OAppDiscoveryContext" || !isRecord(current.value) || !isCantonTime(current.value.timestamp) || (parseDamlDecimal(call.value.feeAmount, "Discovery fee") > 0n ? expected.feeDsoParty !== call.value.dso : expected.feeDsoParty !== void 0)) {
|
|
414
|
+
throw new Error("OneSig discovery target does not match signed call identity");
|
|
415
|
+
}
|
|
416
|
+
const bundle = await resolveCantonOneSigDiscoveryContext(new CantonSdk(args.client), expected, current.value.timestamp);
|
|
417
|
+
appendDisclosures(bundle.disclosedContracts);
|
|
418
|
+
applyTarget(commands, target, bundle.context);
|
|
419
|
+
}
|
|
420
|
+
continue;
|
|
421
|
+
}
|
|
422
|
+
if (refresh.resolver.type === "oneSigRequestContext") {
|
|
423
|
+
const request = cantonOneSigRequestContextRefreshSchema.parse(refresh);
|
|
424
|
+
for (const target of request.targets) {
|
|
425
|
+
const path = target.arguments[0].path;
|
|
426
|
+
const current = readTarget(commands, target, path);
|
|
427
|
+
const call = readTarget(commands, target, [
|
|
428
|
+
...path.slice(0, -1),
|
|
429
|
+
{
|
|
430
|
+
field: "call"
|
|
431
|
+
}
|
|
432
|
+
]);
|
|
433
|
+
const expected = request.resolver.request;
|
|
434
|
+
const requestTags = [
|
|
435
|
+
"OpCreateOAppRequest",
|
|
436
|
+
"OpSkip",
|
|
437
|
+
"OpBurn",
|
|
438
|
+
"OpClear",
|
|
439
|
+
"OpNilify"
|
|
440
|
+
];
|
|
441
|
+
if (!isRecord(call) || !isRecord(call.value) || call.value.dso !== request.resolver.dsoParty || !isRecord(current) || !isRecord(current.value) || !isCantonTime(current.value.timestamp) || (expected.kind === "request" ? call.tag !== "OpCreateRequest" || current.tag !== "RequestContext" : expected.kind === "oappAccept" ? call.tag !== "OpAcceptDefaultAdmin" || current.tag !== "OAppRequestContext" || !isRecord(call.value.scope) || call.value.scope.category !== "oapp" || call.value.scope.admin !== expected.oappId.admin || call.value.scope.id !== expected.oappId.id || parseDamlDecimal(call.value.feeAmount, "OApp Accept fee") <= 0n : !requestTags.includes(String(call.tag)) || current.tag !== "OAppRequestContext" || !isRecord(call.value.oappId) || call.value.oappId.admin !== expected.oappId.admin || call.value.oappId.id !== expected.oappId.id)) {
|
|
442
|
+
throw new Error("OneSig request target does not match signed call identity");
|
|
443
|
+
}
|
|
444
|
+
const bundle = await resolveCantonOneSigRequestContext(new CantonSdk(args.client), request.resolver, current.value.timestamp);
|
|
445
|
+
appendDisclosures(bundle.disclosedContracts);
|
|
446
|
+
applyTarget(commands, target, bundle.context);
|
|
447
|
+
}
|
|
448
|
+
continue;
|
|
449
|
+
}
|
|
450
|
+
if (refresh.resolver.type === "finalizeCallback") {
|
|
451
|
+
const callback = cantonFinalizeCallbackRefreshSchema.parse(refresh);
|
|
452
|
+
const bundle = await resolveCantonFinalizeCallback(new CantonSdk(args.client), callback.resolver);
|
|
453
|
+
appendDisclosures(bundle.disclosedContracts);
|
|
454
|
+
for (const target of callback.targets) applyTarget(commands, target, bundle.executeContext);
|
|
455
|
+
for (const target of callback.callbackCidTargets) applyTarget(commands, target, bundle.callbackCid);
|
|
456
|
+
continue;
|
|
457
|
+
}
|
|
458
|
+
if (refresh.resolver.type === "transferInstructionAcceptContext") {
|
|
459
|
+
const acceptance = cantonTransferInstructionAcceptContextRefreshSchema.parse(refresh);
|
|
460
|
+
for (const target of acceptance.targets) {
|
|
461
|
+
readTarget(commands, target, target.arguments[0].path);
|
|
462
|
+
const command = commands[target.commandIndex];
|
|
463
|
+
if (!("exerciseCommand" in command) || command.exerciseCommand.contractId !== acceptance.resolver.contractId) {
|
|
464
|
+
throw new Error("Accept context target must match the pinned transfer instruction");
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
const bundle = await args.client.getTransferInstructionAcceptContext({
|
|
468
|
+
contractId: acceptance.resolver.contractId
|
|
469
|
+
});
|
|
470
|
+
appendDisclosures(bundle.disclosedContracts);
|
|
471
|
+
for (const target of acceptance.targets) {
|
|
472
|
+
applyTarget(commands, target, bundle.choiceContext);
|
|
473
|
+
}
|
|
474
|
+
continue;
|
|
475
|
+
}
|
|
476
|
+
if (isAmuletContextRefresh(refresh)) {
|
|
477
|
+
const bundle = await args.client.getAmuletContextWithExternalRules({
|
|
478
|
+
admin: refresh.resolver.dsoParty,
|
|
479
|
+
id: "Amulet"
|
|
480
|
+
});
|
|
481
|
+
appendDisclosures(bundle.disclosedContracts);
|
|
482
|
+
for (const target of refresh.targets) {
|
|
483
|
+
applyTarget(commands, target, bundle.amuletContext);
|
|
484
|
+
}
|
|
485
|
+
for (const target of refresh.contractIdTargets ?? []) {
|
|
486
|
+
applyTarget(commands, target, bundle.externalPartyAmuletRulesCid);
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
const now = /* @__PURE__ */ new Date();
|
|
491
|
+
for (const refresh of args.refreshPlan.commands) {
|
|
492
|
+
if (!isTimestampRefresh(refresh)) continue;
|
|
493
|
+
for (const target of refresh.targets) {
|
|
494
|
+
for (const { path, offsetMs = 0 } of target.arguments) {
|
|
495
|
+
const iso = new Date(now.getTime() + offsetMs).toISOString();
|
|
496
|
+
const current = readTarget(commands, target, path);
|
|
497
|
+
let value;
|
|
498
|
+
if (isCantonTime(current)) {
|
|
499
|
+
value = iso;
|
|
500
|
+
} else if (isRecord(current) && current.tag === "AV_Time" && isCantonTime(current.value)) {
|
|
501
|
+
value = {
|
|
502
|
+
...current,
|
|
503
|
+
value: iso
|
|
504
|
+
};
|
|
505
|
+
} else {
|
|
506
|
+
throw new Error("Timestamp refresh target must contain a Canton Time value");
|
|
507
|
+
}
|
|
508
|
+
applyPatch(commands, target, path, value);
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
for (const refresh of args.refreshPlan.commands) {
|
|
513
|
+
if (refresh.resolver.type !== "transferInstructionAcceptContext") continue;
|
|
514
|
+
for (const target of refresh.targets) {
|
|
515
|
+
const command = commands[target.commandIndex];
|
|
516
|
+
if (!("exerciseCommand" in command) || command.exerciseCommand.contractId !== refresh.resolver.contractId) {
|
|
517
|
+
throw new Error("Accept context target must match the pinned transfer instruction");
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
for (const refresh of args.refreshPlan.commands) {
|
|
522
|
+
if (refresh.resolver.type !== "finalizeCallback") continue;
|
|
523
|
+
const callback = cantonFinalizeCallbackRefreshSchema.parse(refresh);
|
|
524
|
+
for (const target of [
|
|
525
|
+
...callback.targets,
|
|
526
|
+
...callback.callbackCidTargets
|
|
527
|
+
]) {
|
|
528
|
+
const command = commands[target.commandIndex];
|
|
529
|
+
if (!("exerciseCommand" in command) || !isRecord(command.exerciseCommand.choiceArgument) || command.exerciseCommand.choiceArgument.pendingCallbackCid !== callback.resolver.pendingCallbackCid) {
|
|
530
|
+
throw new Error("Callback target must match the pinned PendingCallback");
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
for (const replacement of replacements ?? []) {
|
|
535
|
+
for (const target of replacement.targets) {
|
|
536
|
+
for (const { path } of target.arguments) {
|
|
537
|
+
if (readTarget(commands, target, path) !== args.senderParty) {
|
|
538
|
+
throw new Error("Refresh cannot change the bound sender party");
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
const disclosedContracts = [
|
|
544
|
+
...disclosureMap.values()
|
|
545
|
+
];
|
|
546
|
+
if (containsDeferredSentinel(commands) || hasDisclosureSentinel(disclosedContracts)) {
|
|
547
|
+
throw new Error("Canton refreshPlan cannot return deferred sentinels");
|
|
548
|
+
}
|
|
549
|
+
return {
|
|
550
|
+
commands,
|
|
551
|
+
disclosedContracts
|
|
552
|
+
};
|
|
553
|
+
}, "resolveCantonRefreshPlan");
|
|
554
|
+
|
|
555
|
+
export { resolveCantonActiveContracts, resolveCantonRefreshPlan, selectContractsByGte };
|
|
556
|
+
//# sourceMappingURL=ABHGT5DF.js.map
|
|
557
|
+
//# sourceMappingURL=ABHGT5DF.js.map
|