@layerzerolabs/common-canton 1.2.80 → 1.2.82
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/{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/{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/PDVMANRS.js +557 -0
- package/dist/PDVMANRS.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/SA63DYLV.js +121 -0
- package/dist/SA63DYLV.js.map +1 -0
- 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/{BWU4MCVK.js → W5CHA5AA.js} +4 -4
- package/dist/{BWU4MCVK.js.map → W5CHA5AA.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/{6AK25YSE.js → XENB5GVW.js} +4 -4
- package/dist/{6AK25YSE.js.map → XENB5GVW.js.map} +1 -1
- 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/{U3XCZGRR.js → ZZUOA324.js} +5 -5
- package/dist/{U3XCZGRR.js.map → ZZUOA324.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 +132 -118
- 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/CumulativeFilter.ts"],"names":["instanceOfCumulativeFilter","value","CumulativeFilterFromJSON","json","CumulativeFilterFromJSONTyped","ignoreDiscriminator","undefined","IdentifierFilterFromJSON","CumulativeFilterToJSON","CumulativeFilterToJSONTyped","IdentifierFilterToJSON"],"mappings":";;;;AAuCO,SAASA,2BAA2BC,KAAAA,EAAa;AACpD,EAAA,OAAO,IAAA;AACX;AAFgBD,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAIT,SAASE,yBAAyBC,IAAAA,EAAS;AAC9C,EAAA,OAAOC,6BAAAA,CAA8BD,IAAM,CAAA;AAC/C;AAFgBD,MAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA;AAIT,SAASE,6BAAAA,CAA8BD,MAAWE,mBAAAA,EAA4B;AACjF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,kBAAA,EAAoBA,IAAAA,CAAK,kBAAA,CAAA,IAAuB,IAAA,GAAOG,SAAYC,wBAAAA,CAAyBJ,IAAAA,CAAK,kBAAA,CAAmB;AACxH,GAAA;AACJ;AARgBC,MAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA;AAUT,SAASI,uBAAuBL,IAAAA,EAAS;AAC5C,EAAA,OAAOM,2BAAAA,CAA4BN,MAAM,KAAA,CAAA;AAC7C;AAFgBK,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAIT,SAASC,2BAAAA,CAA4BR,KAAAA,EAAiCI,mBAAAA,GAA+B,KAAA,EAAK;AAC7G,EAAA,IAAIJ,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,kBAAA,EAAoBS,sBAAAA,CAAuBT,KAAAA,CAAM,kBAAA,CAAmB;AACxE,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,2BAAAA,EAAAA,6BAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/CumulativeFilter.ts"],"names":["instanceOfCumulativeFilter","value","CumulativeFilterFromJSON","json","CumulativeFilterFromJSONTyped","ignoreDiscriminator","undefined","IdentifierFilterFromJSON","CumulativeFilterToJSON","CumulativeFilterToJSONTyped","IdentifierFilterToJSON"],"mappings":";;;;AAuCO,SAASA,2BAA2BC,KAAAA,EAAa;AACpD,EAAA,OAAO,IAAA;AACX;AAFgBD,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAIT,SAASE,yBAAyBC,IAAAA,EAAS;AAC9C,EAAA,OAAOC,6BAAAA,CAA8BD,IAAM,CAAA;AAC/C;AAFgBD,MAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA;AAIT,SAASE,6BAAAA,CAA8BD,MAAWE,mBAAAA,EAA4B;AACjF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,kBAAA,EAAoBA,IAAAA,CAAK,kBAAA,CAAA,IAAuB,IAAA,GAAOG,SAAYC,wBAAAA,CAAyBJ,IAAAA,CAAK,kBAAA,CAAmB;AACxH,GAAA;AACJ;AARgBC,MAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA;AAUT,SAASI,uBAAuBL,IAAAA,EAAS;AAC5C,EAAA,OAAOM,2BAAAA,CAA4BN,MAAM,KAAA,CAAA;AAC7C;AAFgBK,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAIT,SAASC,2BAAAA,CAA4BR,KAAAA,EAAiCI,mBAAAA,GAA+B,KAAA,EAAK;AAC7G,EAAA,IAAIJ,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,kBAAA,EAAoBS,sBAAAA,CAAuBT,KAAAA,CAAM,kBAAA,CAAmB;AACxE,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,2BAAAA,EAAAA,6BAAAA,CAAAA","file":"VPGKHXFY.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 { IdentifierFilter } from './IdentifierFilter.js';\nimport {\n IdentifierFilterFromJSON,\n IdentifierFilterFromJSONTyped,\n IdentifierFilterToJSON,\n IdentifierFilterToJSONTyped,\n} from './IdentifierFilter.js';\n\n/**\n * A filter that matches all contracts that are either an instance of one of\n * the ``template_filters`` or that match one of the ``interface_filters``.\n * @export\n * @interface CumulativeFilter\n */\nexport interface CumulativeFilter {\n /**\n * \n */\n identifierFilter?: IdentifierFilter;\n}\n\n/**\n * Check if a given object implements the CumulativeFilter interface.\n */\nexport function instanceOfCumulativeFilter(value: object): value is CumulativeFilter {\n return true;\n}\n\nexport function CumulativeFilterFromJSON(json: any): CumulativeFilter {\n return CumulativeFilterFromJSONTyped(json, false);\n}\n\nexport function CumulativeFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): CumulativeFilter {\n if (json == null) {\n return json;\n }\n return {\n \n 'identifierFilter': json['identifierFilter'] == null ? undefined : IdentifierFilterFromJSON(json['identifierFilter']),\n };\n}\n\nexport function CumulativeFilterToJSON(json: any): CumulativeFilter {\n return CumulativeFilterToJSONTyped(json, false);\n}\n\nexport function CumulativeFilterToJSONTyped(value?: CumulativeFilter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'identifierFilter': IdentifierFilterToJSON(value['identifierFilter']),\n };\n}\n\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { CantonClient } from './
|
|
1
|
+
import { CantonClient } from './N3QRG2AK.js';
|
|
2
2
|
import { Configuration } from './XVX7EVTW.js';
|
|
3
|
-
import { CantonGrpcClient } from './
|
|
3
|
+
import { CantonGrpcClient } from './XENB5GVW.js';
|
|
4
4
|
import { LocalTokenProvider } from './YF7P4UQM.js';
|
|
5
5
|
import { ClientCredentialsTokenProvider } from './V2H2WXKE.js';
|
|
6
6
|
import { __name } from './VUOMXK5T.js';
|
|
@@ -99,5 +99,5 @@ function createTokenProvider(params, isLocal) {
|
|
|
99
99
|
__name(createTokenProvider, "createTokenProvider");
|
|
100
100
|
|
|
101
101
|
export { createCantonChainProvider, parseCantonChainUri };
|
|
102
|
-
//# sourceMappingURL=
|
|
103
|
-
//# sourceMappingURL=
|
|
102
|
+
//# sourceMappingURL=W5CHA5AA.js.map
|
|
103
|
+
//# sourceMappingURL=W5CHA5AA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/provider.ts"],"names":["parseCantonChainUri","uri","url","URL","adminApiHost","searchParams","get","Error","userId","actAsParam","actAs","split","map","party","trim","filter","length","walletUrl","tokenUrl","undefined","clientId","clientSecret","process","env","CANTON_CLIENT_SECRET","scope","audience","key","delete","jsonApiUrl","toString","replace","oauth2","createCantonChainProvider","isLocal","params","tokenProvider","createTokenProvider","configuration","Configuration","basePath","accessToken","getToken","client","CantonClient","grpcClient","CantonGrpcClient","host","insecureTransport","LocalTokenProvider","admin","ClientCredentialsTokenProvider"],"mappings":"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","file":"BWU4MCVK.js","sourcesContent":["import {\n ClientCredentialsTokenProvider,\n type ClientCredentialsTokenProviderConfig,\n} from './auth/client-credentials-token-provider';\nimport { LocalTokenProvider } from './auth/local-token-provider';\nimport type { TokenProvider } from './auth/token-provider';\nimport { CantonClient } from './client/canton-client';\nimport { CantonGrpcClient } from './client/grpc';\nimport type { ICantonClient } from './client/interface';\nimport { Configuration } from './open-api/runtime';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Provider Type\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * - {@link client} — JSON Ledger API (commands, queries, updates)\n * - {@link grpcClient} — gRPC Admin API (topology transactions, namespace queries)\n * - {@link tokenProvider} — Shared Bearer-token source used by both transports\n * - {@link walletUrl} — Canton Network validator wallet (scan-proxy CIP-56 endpoints)\n */\nexport type CantonChainProvider = {\n client: ICantonClient;\n grpcClient: CantonGrpcClient;\n tokenProvider: TokenProvider;\n /** Validator wallet URL for scan-proxy CIP-56 endpoints. Required. */\n walletUrl: string;\n};\n\n// ─────────────────────────────────────────────────────────────────────────────\n// URI Parsing\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type CantonChainUriParams = {\n /** Base URL of the JSON Ledger API (e.g. \"http://localhost:5975\") */\n jsonApiUrl: string;\n /** Host:port of the gRPC Admin API (e.g. \"localhost:5076\") */\n adminApiHost: string;\n /** Ledger API user ID (default: \"participant_admin\") */\n userId: string;\n /** Parties granted `actAs` on localnet tokens (comma-separated in the URI). */\n actAs: string[];\n /** Validator wallet URL for scan-proxy CIP-56 endpoints (e.g. \"http://localhost:7201\"). Required. */\n walletUrl: string;\n /** OAuth2 client credentials config — present only for non-local environments */\n oauth2?: ClientCredentialsTokenProviderConfig;\n};\n\n/**\n * Parse a Canton chain provider URI into its constituent parts.\n *\n * URI format:\n * `<json-api-base>?admin-api=<host:port>&user-id=<id>&wallet-url=<url>[&token-url=...&client-id=...&client-secret=...&scope=...&audience=...]`\n *\n * The base URL (everything before the query string) is the JSON Ledger API endpoint.\n * Canton-specific params are extracted and removed; any remaining query params are\n * preserved on the JSON API URL.\n *\n * When `client-secret` is omitted from the URI, `CANTON_CLIENT_SECRET` is read from the\n * environment.\n */\nexport function parseCantonChainUri(uri: string): CantonChainUriParams {\n const url = new URL(uri);\n\n const adminApiHost = url.searchParams.get('admin-api');\n if (!adminApiHost) {\n throw new Error('Canton provider URI missing required \"admin-api\" query parameter');\n }\n\n const userId = url.searchParams.get('user-id') ?? 'participant_admin';\n const actAsParam = url.searchParams.get('act-as');\n const actAs =\n actAsParam\n ?.split(',')\n .map((party) => party.trim())\n .filter((party) => party.length > 0) ?? [];\n const walletUrl = url.searchParams.get('wallet-url');\n if (!walletUrl) {\n throw new Error('Canton provider URI missing required \"wallet-url\" query parameter');\n }\n const tokenUrl = url.searchParams.get('token-url') ?? undefined;\n const clientId = url.searchParams.get('client-id') ?? undefined;\n // Prefer URI param; fall back to env so secrets are not committed in provider configs.\n const clientSecret =\n url.searchParams.get('client-secret') ??\n // eslint-disable-next-line turbo/no-undeclared-env-vars -- runtime OAuth secret, not a turbo task input\n process.env.CANTON_CLIENT_SECRET ??\n undefined;\n const scope = url.searchParams.get('scope') ?? undefined;\n const audience = url.searchParams.get('audience') ?? undefined;\n\n for (const key of [\n 'admin-api',\n 'user-id',\n 'act-as',\n 'wallet-url',\n 'sequencer-url',\n 'sequencer-validators',\n 'sequencer-quorum',\n 'token-url',\n 'client-id',\n 'client-secret',\n 'scope',\n 'audience',\n ]) {\n url.searchParams.delete(key);\n }\n\n const jsonApiUrl = url.toString().replace(/\\/$/, '');\n\n const oauth2 =\n tokenUrl && clientId && clientSecret\n ? { tokenUrl, clientId, clientSecret, scope, audience }\n : undefined;\n\n return {\n jsonApiUrl,\n adminApiHost,\n userId,\n actAs,\n walletUrl,\n oauth2,\n };\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Provider Factory\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type CreateCantonChainProviderOptions = {\n /** Raw provider URI (from provider config) */\n uri: string;\n /** When true, uses LocalTokenProvider (self-signed JWTs) instead of OAuth2 */\n isLocal: boolean;\n};\n\n/**\n * Create a {@link CantonChainProvider} from a provider URI.\n *\n * - **isLocal=true**: Uses {@link LocalTokenProvider} with admin-level access (self-signed JWTs)\n * over an unencrypted admin channel, allowed for a loopback admin host only.\n * - **isLocal=false**: Uses {@link ClientCredentialsTokenProvider} with OAuth2 client\n * credentials extracted from the URI query parameters, over a TLS admin channel.\n */\nexport function createCantonChainProvider({\n uri,\n isLocal,\n}: CreateCantonChainProviderOptions): CantonChainProvider {\n const params = parseCantonChainUri(uri);\n\n const tokenProvider = createTokenProvider(params, isLocal);\n\n // ── JSON Ledger API Client ──────────────────────────────────────────\n const configuration = new Configuration({\n basePath: params.jsonApiUrl,\n accessToken: () => tokenProvider.getToken(),\n });\n const client = new CantonClient(configuration, params.userId, {\n walletUrl: params.walletUrl,\n tokenProvider,\n });\n\n // ── gRPC Admin API Client ───────────────────────────────────────────\n const grpcClient = new CantonGrpcClient({\n host: params.adminApiHost,\n tokenProvider,\n insecureTransport: isLocal,\n });\n\n return {\n client,\n grpcClient,\n tokenProvider,\n walletUrl: params.walletUrl,\n };\n}\n\nfunction createTokenProvider(params: CantonChainUriParams, isLocal: boolean): TokenProvider {\n if (isLocal) {\n return new LocalTokenProvider({\n userId: params.userId,\n actAs: params.actAs,\n admin: true,\n });\n }\n\n // TODO(canton): add other prod auth methods (direct JWT passthrough, etc.).\n if (!params.oauth2) {\n throw new Error(\n 'Canton provider requires OAuth2 credentials (token-url, client-id, client-secret in URI or CANTON_CLIENT_SECRET)',\n );\n }\n\n return new ClientCredentialsTokenProvider(params.oauth2);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/provider.ts"],"names":["parseCantonChainUri","uri","url","URL","adminApiHost","searchParams","get","Error","userId","actAsParam","actAs","split","map","party","trim","filter","length","walletUrl","tokenUrl","undefined","clientId","clientSecret","process","env","CANTON_CLIENT_SECRET","scope","audience","key","delete","jsonApiUrl","toString","replace","oauth2","createCantonChainProvider","isLocal","params","tokenProvider","createTokenProvider","configuration","Configuration","basePath","accessToken","getToken","client","CantonClient","grpcClient","CantonGrpcClient","host","insecureTransport","LocalTokenProvider","admin","ClientCredentialsTokenProvider"],"mappings":"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","file":"W5CHA5AA.js","sourcesContent":["import {\n ClientCredentialsTokenProvider,\n type ClientCredentialsTokenProviderConfig,\n} from './auth/client-credentials-token-provider';\nimport { LocalTokenProvider } from './auth/local-token-provider';\nimport type { TokenProvider } from './auth/token-provider';\nimport { CantonClient } from './client/canton-client';\nimport { CantonGrpcClient } from './client/grpc';\nimport type { ICantonClient } from './client/interface';\nimport { Configuration } from './open-api/runtime';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Provider Type\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * - {@link client} — JSON Ledger API (commands, queries, updates)\n * - {@link grpcClient} — gRPC Admin API (topology transactions, namespace queries)\n * - {@link tokenProvider} — Shared Bearer-token source used by both transports\n * - {@link walletUrl} — Canton Network validator wallet (scan-proxy CIP-56 endpoints)\n */\nexport type CantonChainProvider = {\n client: ICantonClient;\n grpcClient: CantonGrpcClient;\n tokenProvider: TokenProvider;\n /** Validator wallet URL for scan-proxy CIP-56 endpoints. Required. */\n walletUrl: string;\n};\n\n// ─────────────────────────────────────────────────────────────────────────────\n// URI Parsing\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type CantonChainUriParams = {\n /** Base URL of the JSON Ledger API (e.g. \"http://localhost:5975\") */\n jsonApiUrl: string;\n /** Host:port of the gRPC Admin API (e.g. \"localhost:5076\") */\n adminApiHost: string;\n /** Ledger API user ID (default: \"participant_admin\") */\n userId: string;\n /** Parties granted `actAs` on localnet tokens (comma-separated in the URI). */\n actAs: string[];\n /** Validator wallet URL for scan-proxy CIP-56 endpoints (e.g. \"http://localhost:7201\"). Required. */\n walletUrl: string;\n /** OAuth2 client credentials config — present only for non-local environments */\n oauth2?: ClientCredentialsTokenProviderConfig;\n};\n\n/**\n * Parse a Canton chain provider URI into its constituent parts.\n *\n * URI format:\n * `<json-api-base>?admin-api=<host:port>&user-id=<id>&wallet-url=<url>[&token-url=...&client-id=...&client-secret=...&scope=...&audience=...]`\n *\n * The base URL (everything before the query string) is the JSON Ledger API endpoint.\n * Canton-specific params are extracted and removed; any remaining query params are\n * preserved on the JSON API URL.\n *\n * When `client-secret` is omitted from the URI, `CANTON_CLIENT_SECRET` is read from the\n * environment.\n */\nexport function parseCantonChainUri(uri: string): CantonChainUriParams {\n const url = new URL(uri);\n\n const adminApiHost = url.searchParams.get('admin-api');\n if (!adminApiHost) {\n throw new Error('Canton provider URI missing required \"admin-api\" query parameter');\n }\n\n const userId = url.searchParams.get('user-id') ?? 'participant_admin';\n const actAsParam = url.searchParams.get('act-as');\n const actAs =\n actAsParam\n ?.split(',')\n .map((party) => party.trim())\n .filter((party) => party.length > 0) ?? [];\n const walletUrl = url.searchParams.get('wallet-url');\n if (!walletUrl) {\n throw new Error('Canton provider URI missing required \"wallet-url\" query parameter');\n }\n const tokenUrl = url.searchParams.get('token-url') ?? undefined;\n const clientId = url.searchParams.get('client-id') ?? undefined;\n // Prefer URI param; fall back to env so secrets are not committed in provider configs.\n const clientSecret =\n url.searchParams.get('client-secret') ??\n // eslint-disable-next-line turbo/no-undeclared-env-vars -- runtime OAuth secret, not a turbo task input\n process.env.CANTON_CLIENT_SECRET ??\n undefined;\n const scope = url.searchParams.get('scope') ?? undefined;\n const audience = url.searchParams.get('audience') ?? undefined;\n\n for (const key of [\n 'admin-api',\n 'user-id',\n 'act-as',\n 'wallet-url',\n 'sequencer-url',\n 'sequencer-validators',\n 'sequencer-quorum',\n 'token-url',\n 'client-id',\n 'client-secret',\n 'scope',\n 'audience',\n ]) {\n url.searchParams.delete(key);\n }\n\n const jsonApiUrl = url.toString().replace(/\\/$/, '');\n\n const oauth2 =\n tokenUrl && clientId && clientSecret\n ? { tokenUrl, clientId, clientSecret, scope, audience }\n : undefined;\n\n return {\n jsonApiUrl,\n adminApiHost,\n userId,\n actAs,\n walletUrl,\n oauth2,\n };\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Provider Factory\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type CreateCantonChainProviderOptions = {\n /** Raw provider URI (from provider config) */\n uri: string;\n /** When true, uses LocalTokenProvider (self-signed JWTs) instead of OAuth2 */\n isLocal: boolean;\n};\n\n/**\n * Create a {@link CantonChainProvider} from a provider URI.\n *\n * - **isLocal=true**: Uses {@link LocalTokenProvider} with admin-level access (self-signed JWTs)\n * over an unencrypted admin channel, allowed for a loopback admin host only.\n * - **isLocal=false**: Uses {@link ClientCredentialsTokenProvider} with OAuth2 client\n * credentials extracted from the URI query parameters, over a TLS admin channel.\n */\nexport function createCantonChainProvider({\n uri,\n isLocal,\n}: CreateCantonChainProviderOptions): CantonChainProvider {\n const params = parseCantonChainUri(uri);\n\n const tokenProvider = createTokenProvider(params, isLocal);\n\n // ── JSON Ledger API Client ──────────────────────────────────────────\n const configuration = new Configuration({\n basePath: params.jsonApiUrl,\n accessToken: () => tokenProvider.getToken(),\n });\n const client = new CantonClient(configuration, params.userId, {\n walletUrl: params.walletUrl,\n tokenProvider,\n });\n\n // ── gRPC Admin API Client ───────────────────────────────────────────\n const grpcClient = new CantonGrpcClient({\n host: params.adminApiHost,\n tokenProvider,\n insecureTransport: isLocal,\n });\n\n return {\n client,\n grpcClient,\n tokenProvider,\n walletUrl: params.walletUrl,\n };\n}\n\nfunction createTokenProvider(params: CantonChainUriParams, isLocal: boolean): TokenProvider {\n if (isLocal) {\n return new LocalTokenProvider({\n userId: params.userId,\n actAs: params.actAs,\n admin: true,\n });\n }\n\n // TODO(canton): add other prod auth methods (direct JWT passthrough, etc.).\n if (!params.oauth2) {\n throw new Error(\n 'Canton provider requires OAuth2 credentials (token-url, client-id, client-secret in URI or CANTON_CLIENT_SECRET)',\n );\n }\n\n return new ClientCredentialsTokenProvider(params.oauth2);\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CumulativeFilterFromJSON, CumulativeFilterToJSON } from './
|
|
1
|
+
import { CumulativeFilterFromJSON, CumulativeFilterToJSON } from './VPGKHXFY.js';
|
|
2
2
|
import { __name } from './VUOMXK5T.js';
|
|
3
3
|
|
|
4
4
|
// src/open-api/models/Filters.ts
|
|
@@ -34,5 +34,5 @@ function FiltersToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
34
34
|
__name(FiltersToJSONTyped, "FiltersToJSONTyped");
|
|
35
35
|
|
|
36
36
|
export { FiltersFromJSON, FiltersFromJSONTyped, FiltersToJSON, FiltersToJSONTyped, instanceOfFilters };
|
|
37
|
-
//# sourceMappingURL=
|
|
38
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=W7DMST44.js.map
|
|
38
|
+
//# sourceMappingURL=W7DMST44.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/Filters.ts"],"names":["instanceOfFilters","value","FiltersFromJSON","json","FiltersFromJSONTyped","ignoreDiscriminator","undefined","map","CumulativeFilterFromJSON","FiltersToJSON","FiltersToJSONTyped","CumulativeFilterToJSON"],"mappings":";;;;AA+CO,SAASA,kBAAkBC,KAAAA,EAAa;AAC3C,EAAA,OAAO,IAAA;AACX;AAFgBD,MAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA;AAIT,SAASE,gBAAgBC,IAAAA,EAAS;AACrC,EAAA,OAAOC,oBAAAA,CAAqBD,IAAM,CAAA;AACtC;AAFgBD,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAIT,SAASE,oBAAAA,CAAqBD,MAAWE,mBAAAA,EAA4B;AACxE,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,YAAA,EAAcA,IAAAA,CAAK,YAAA,CAAA,IAAiB,IAAA,GAAOG,SAAcH,IAAAA,CAAK,YAAA,CAAA,CAA6BI,GAAAA,CAAIC,wBAAAA;AACnG,GAAA;AACJ;AARgBJ,MAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA;AAUT,SAASK,cAAcN,IAAAA,EAAS;AACnC,EAAA,OAAOO,kBAAAA,CAAmBP,MAAM,KAAA,CAAA;AACpC;AAFgBM,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAIT,SAASC,kBAAAA,CAAmBT,KAAAA,EAAwBI,mBAAAA,GAA+B,KAAA,EAAK;AAC3F,EAAA,IAAIJ,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,YAAA,EAAcA,KAAAA,CAAM,YAAA,CAAA,IAAiB,IAAA,GAAOK,SAAcL,KAAAA,CAAM,YAAA,CAAA,CAA6BM,GAAAA,CAAII,sBAAAA;AACrG,GAAA;AACJ;AATgBD,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/Filters.ts"],"names":["instanceOfFilters","value","FiltersFromJSON","json","FiltersFromJSONTyped","ignoreDiscriminator","undefined","map","CumulativeFilterFromJSON","FiltersToJSON","FiltersToJSONTyped","CumulativeFilterToJSON"],"mappings":";;;;AA+CO,SAASA,kBAAkBC,KAAAA,EAAa;AAC3C,EAAA,OAAO,IAAA;AACX;AAFgBD,MAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA;AAIT,SAASE,gBAAgBC,IAAAA,EAAS;AACrC,EAAA,OAAOC,oBAAAA,CAAqBD,IAAM,CAAA;AACtC;AAFgBD,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAIT,SAASE,oBAAAA,CAAqBD,MAAWE,mBAAAA,EAA4B;AACxE,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,YAAA,EAAcA,IAAAA,CAAK,YAAA,CAAA,IAAiB,IAAA,GAAOG,SAAcH,IAAAA,CAAK,YAAA,CAAA,CAA6BI,GAAAA,CAAIC,wBAAAA;AACnG,GAAA;AACJ;AARgBJ,MAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA;AAUT,SAASK,cAAcN,IAAAA,EAAS;AACnC,EAAA,OAAOO,kBAAAA,CAAmBP,MAAM,KAAA,CAAA;AACpC;AAFgBM,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAIT,SAASC,kBAAAA,CAAmBT,KAAAA,EAAwBI,mBAAAA,GAA+B,KAAA,EAAK;AAC3F,EAAA,IAAIJ,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,YAAA,EAAcA,KAAAA,CAAM,YAAA,CAAA,IAAiB,IAAA,GAAOK,SAAcL,KAAAA,CAAM,YAAA,CAAA,CAA6BM,GAAAA,CAAII,sBAAAA;AACrG,GAAA;AACJ;AATgBD,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA","file":"W7DMST44.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 { CumulativeFilter } from './CumulativeFilter.js';\nimport {\n CumulativeFilterFromJSON,\n CumulativeFilterFromJSONTyped,\n CumulativeFilterToJSON,\n CumulativeFilterToJSONTyped,\n} from './CumulativeFilter.js';\n\n/**\n * The union of a set of template filters, interface filters, or a wildcard.\n * @export\n * @interface Filters\n */\nexport interface Filters {\n /**\n * Every filter in the cumulative list expands the scope of the resulting stream. Each interface,\n * template or wildcard filter means additional events that will match the query.\n * The impact of include_interface_view and include_created_event_blob fields in the filters will\n * also be accumulated.\n * A template or an interface SHOULD NOT appear twice in the accumulative field.\n * A wildcard filter SHOULD NOT be defined more than once in the accumulative field.\n * If no ``CumulativeFilter`` defined, the default of a single ``WildcardFilter`` with\n * include_created_event_blob unset is used.\n * \n * Optional: can be empty\n */\n cumulative?: Array<CumulativeFilter>;\n}\n\n/**\n * Check if a given object implements the Filters interface.\n */\nexport function instanceOfFilters(value: object): value is Filters {\n return true;\n}\n\nexport function FiltersFromJSON(json: any): Filters {\n return FiltersFromJSONTyped(json, false);\n}\n\nexport function FiltersFromJSONTyped(json: any, ignoreDiscriminator: boolean): Filters {\n if (json == null) {\n return json;\n }\n return {\n \n 'cumulative': json['cumulative'] == null ? undefined : ((json['cumulative'] as Array<any>).map(CumulativeFilterFromJSON)),\n };\n}\n\nexport function FiltersToJSON(json: any): Filters {\n return FiltersToJSONTyped(json, false);\n}\n\nexport function FiltersToJSONTyped(value?: Filters | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'cumulative': value['cumulative'] == null ? undefined : ((value['cumulative'] as Array<any>).map(CumulativeFilterToJSON)),\n };\n}\n\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RightFromJSON, RightToJSON } from './
|
|
1
|
+
import { RightFromJSON, RightToJSON } from './3I23YKYV.js';
|
|
2
2
|
import { __name } from './VUOMXK5T.js';
|
|
3
3
|
|
|
4
4
|
// src/open-api/models/GrantUserRightsResponse.ts
|
|
@@ -34,5 +34,5 @@ function GrantUserRightsResponseToJSONTyped(value, ignoreDiscriminator = false)
|
|
|
34
34
|
__name(GrantUserRightsResponseToJSONTyped, "GrantUserRightsResponseToJSONTyped");
|
|
35
35
|
|
|
36
36
|
export { GrantUserRightsResponseFromJSON, GrantUserRightsResponseFromJSONTyped, GrantUserRightsResponseToJSON, GrantUserRightsResponseToJSONTyped, instanceOfGrantUserRightsResponse };
|
|
37
|
-
//# sourceMappingURL=
|
|
38
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=WZ4QCFOE.js.map
|
|
38
|
+
//# sourceMappingURL=WZ4QCFOE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/GrantUserRightsResponse.ts"],"names":["instanceOfGrantUserRightsResponse","value","GrantUserRightsResponseFromJSON","json","GrantUserRightsResponseFromJSONTyped","ignoreDiscriminator","undefined","map","RightFromJSON","GrantUserRightsResponseToJSON","GrantUserRightsResponseToJSONTyped","RightToJSON"],"mappings":";;;;AAwCO,SAASA,kCAAkCC,KAAAA,EAAa;AAC3D,EAAA,OAAO,IAAA;AACX;AAFgBD,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAIT,SAASE,gCAAgCC,IAAAA,EAAS;AACrD,EAAA,OAAOC,oCAAAA,CAAqCD,IAAM,CAAA;AACtD;AAFgBD,MAAAA,CAAAA,+BAAAA,EAAAA,iCAAAA,CAAAA;AAIT,SAASE,oCAAAA,CAAqCD,MAAWE,mBAAAA,EAA4B;AACxF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,oBAAA,EAAsBA,IAAAA,CAAK,oBAAA,CAAA,IAAyB,IAAA,GAAOG,SAAcH,IAAAA,CAAK,oBAAA,CAAA,CAAqCI,GAAAA,CAAIC,aAAAA;AAC3H,GAAA;AACJ;AARgBJ,MAAAA,CAAAA,oCAAAA,EAAAA,sCAAAA,CAAAA;AAUT,SAASK,8BAA8BN,IAAAA,EAAS;AACnD,EAAA,OAAOO,kCAAAA,CAAmCP,MAAM,KAAA,CAAA;AACpD;AAFgBM,MAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA;AAIT,SAASC,kCAAAA,CAAmCT,KAAAA,EAAwCI,mBAAAA,GAA+B,KAAA,EAAK;AAC3H,EAAA,IAAIJ,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,oBAAA,EAAsBA,KAAAA,CAAM,oBAAA,CAAA,IAAyB,IAAA,GAAOK,SAAcL,KAAAA,CAAM,oBAAA,CAAA,CAAqCM,GAAAA,CAAII,WAAAA;AAC7H,GAAA;AACJ;AATgBD,MAAAA,CAAAA,kCAAAA,EAAAA,oCAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/GrantUserRightsResponse.ts"],"names":["instanceOfGrantUserRightsResponse","value","GrantUserRightsResponseFromJSON","json","GrantUserRightsResponseFromJSONTyped","ignoreDiscriminator","undefined","map","RightFromJSON","GrantUserRightsResponseToJSON","GrantUserRightsResponseToJSONTyped","RightToJSON"],"mappings":";;;;AAwCO,SAASA,kCAAkCC,KAAAA,EAAa;AAC3D,EAAA,OAAO,IAAA;AACX;AAFgBD,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAIT,SAASE,gCAAgCC,IAAAA,EAAS;AACrD,EAAA,OAAOC,oCAAAA,CAAqCD,IAAM,CAAA;AACtD;AAFgBD,MAAAA,CAAAA,+BAAAA,EAAAA,iCAAAA,CAAAA;AAIT,SAASE,oCAAAA,CAAqCD,MAAWE,mBAAAA,EAA4B;AACxF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,oBAAA,EAAsBA,IAAAA,CAAK,oBAAA,CAAA,IAAyB,IAAA,GAAOG,SAAcH,IAAAA,CAAK,oBAAA,CAAA,CAAqCI,GAAAA,CAAIC,aAAAA;AAC3H,GAAA;AACJ;AARgBJ,MAAAA,CAAAA,oCAAAA,EAAAA,sCAAAA,CAAAA;AAUT,SAASK,8BAA8BN,IAAAA,EAAS;AACnD,EAAA,OAAOO,kCAAAA,CAAmCP,MAAM,KAAA,CAAA;AACpD;AAFgBM,MAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA;AAIT,SAASC,kCAAAA,CAAmCT,KAAAA,EAAwCI,mBAAAA,GAA+B,KAAA,EAAK;AAC3H,EAAA,IAAIJ,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,oBAAA,EAAsBA,KAAAA,CAAM,oBAAA,CAAA,IAAyB,IAAA,GAAOK,SAAcL,KAAAA,CAAM,oBAAA,CAAA,CAAqCM,GAAAA,CAAII,WAAAA;AAC7H,GAAA;AACJ;AATgBD,MAAAA,CAAAA,kCAAAA,EAAAA,oCAAAA,CAAAA","file":"WZ4QCFOE.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 { Right } from './Right.js';\nimport {\n RightFromJSON,\n RightFromJSONTyped,\n RightToJSON,\n RightToJSONTyped,\n} from './Right.js';\n\n/**\n * \n * @export\n * @interface GrantUserRightsResponse\n */\nexport interface GrantUserRightsResponse {\n /**\n * The rights that were newly granted by the request.\n * \n * Optional: can be empty\n */\n newlyGrantedRights?: Array<Right>;\n}\n\n/**\n * Check if a given object implements the GrantUserRightsResponse interface.\n */\nexport function instanceOfGrantUserRightsResponse(value: object): value is GrantUserRightsResponse {\n return true;\n}\n\nexport function GrantUserRightsResponseFromJSON(json: any): GrantUserRightsResponse {\n return GrantUserRightsResponseFromJSONTyped(json, false);\n}\n\nexport function GrantUserRightsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GrantUserRightsResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'newlyGrantedRights': json['newlyGrantedRights'] == null ? undefined : ((json['newlyGrantedRights'] as Array<any>).map(RightFromJSON)),\n };\n}\n\nexport function GrantUserRightsResponseToJSON(json: any): GrantUserRightsResponse {\n return GrantUserRightsResponseToJSONTyped(json, false);\n}\n\nexport function GrantUserRightsResponseToJSONTyped(value?: GrantUserRightsResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'newlyGrantedRights': value['newlyGrantedRights'] == null ? undefined : ((value['newlyGrantedRights'] as Array<any>).map(RightToJSON)),\n };\n}\n\n"]}
|
package/dist/XCOORR26.js
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { callbackDisclosure } from './YMXOSAU4.js';
|
|
2
|
+
import { areExpectedSignatories, getCreateArgumentField } from './SWY4QT4I.js';
|
|
3
|
+
import { __name } from './VUOMXK5T.js';
|
|
4
|
+
|
|
5
|
+
// src/refresh/onesig-request.ts
|
|
6
|
+
var ONESIG_CONFIG = "#layerzero-onesig:OneSigConfig:OneSigConfig";
|
|
7
|
+
var FACTORY = "#layerzero-request-factory:RequestFactory:RequestFactory";
|
|
8
|
+
var FACTORY_CONFIG = "#layerzero-request-factory:RequestFactoryConfig:RequestFactoryConfig";
|
|
9
|
+
var IOAPP = "#layerzero-ioapp:IOApp:IOApp";
|
|
10
|
+
var OAPP_CONFIG = "#layerzero-ioapp-config:IOAppConfig:IOAppConfig";
|
|
11
|
+
var ACCESS_CONTROL = "#layerzero-iaccess-control:IAccessControl:IAccessControl";
|
|
12
|
+
var sameIdentity = /* @__PURE__ */ __name((value, identity) => getCreateArgumentField(value, "admin") === identity.admin && getCreateArgumentField(value, "id") === identity.id, "sameIdentity");
|
|
13
|
+
var exactlyOne = /* @__PURE__ */ __name((contracts, label) => {
|
|
14
|
+
if (contracts.length !== 1) throw new Error(`Expected exactly one ${label}, found ${contracts.length}`);
|
|
15
|
+
return contracts[0];
|
|
16
|
+
}, "exactlyOne");
|
|
17
|
+
var requiredText = /* @__PURE__ */ __name((value, label) => {
|
|
18
|
+
if (typeof value !== "string" || !value) throw new Error(`Missing ${label}`);
|
|
19
|
+
return value;
|
|
20
|
+
}, "requiredText");
|
|
21
|
+
var resolveCantonOneSigRequestContext = /* @__PURE__ */ __name(async (sdk, input, timestamp) => {
|
|
22
|
+
const offset = await sdk.getLedgerEndOffset();
|
|
23
|
+
const templateContracts = /* @__PURE__ */ __name(async (templateId) => {
|
|
24
|
+
const [name, ...entity] = templateId.slice(1).split(":");
|
|
25
|
+
return (await sdk.queryActiveContracts(input.informee, offset, {
|
|
26
|
+
templateIds: [
|
|
27
|
+
templateId
|
|
28
|
+
],
|
|
29
|
+
includeCreatedEventBlob: true
|
|
30
|
+
})).filter(({ createdEvent }) => createdEvent.packageName === name && createdEvent.templateId.split(":").slice(1).join(":") === entity.join(":"));
|
|
31
|
+
}, "templateContracts");
|
|
32
|
+
const interfaceContracts = /* @__PURE__ */ __name(async (interfaceId, admin) => {
|
|
33
|
+
const [name, ...entity] = interfaceId.slice(1).split(":");
|
|
34
|
+
const packageId = await sdk.getPackageId(name, [
|
|
35
|
+
input.informee
|
|
36
|
+
]);
|
|
37
|
+
const resolvedId = `${packageId}:${entity.join(":")}`;
|
|
38
|
+
return (await sdk.queryActiveContractsByInterface([
|
|
39
|
+
input.informee
|
|
40
|
+
], offset, [
|
|
41
|
+
interfaceId
|
|
42
|
+
], {
|
|
43
|
+
includeCreatedEventBlob: true
|
|
44
|
+
})).flatMap((contract) => {
|
|
45
|
+
const views = contract.createdEvent.interfaceViews?.filter((view2) => view2.interfaceId === resolvedId) ?? [];
|
|
46
|
+
const view = views[0];
|
|
47
|
+
return views.length === 1 && view?.viewStatus?.code === 0 && view.viewValue && areExpectedSignatories(contract.createdEvent, [
|
|
48
|
+
admin
|
|
49
|
+
]) ? [
|
|
50
|
+
{
|
|
51
|
+
contract,
|
|
52
|
+
view: view.viewValue
|
|
53
|
+
}
|
|
54
|
+
] : [];
|
|
55
|
+
});
|
|
56
|
+
}, "interfaceContracts");
|
|
57
|
+
const disclosedContracts = [];
|
|
58
|
+
const disclose = /* @__PURE__ */ __name((contract) => {
|
|
59
|
+
disclosedContracts.push(callbackDisclosure(contract));
|
|
60
|
+
return contract.createdEvent.contractId;
|
|
61
|
+
}, "disclose");
|
|
62
|
+
let factoryCid;
|
|
63
|
+
let gateway;
|
|
64
|
+
let oapp;
|
|
65
|
+
if (input.request.kind === "request") {
|
|
66
|
+
const { admin, oneSigId } = input.request.oneSig;
|
|
67
|
+
const config = exactlyOne((await templateContracts(ONESIG_CONFIG)).filter(({ createdEvent }) => areExpectedSignatories(createdEvent, [
|
|
68
|
+
admin
|
|
69
|
+
]) && getCreateArgumentField(createdEvent.createArgument, "admin") === admin && getCreateArgumentField(createdEvent.createArgument, "oneSigId") === oneSigId), "OneSig config");
|
|
70
|
+
factoryCid = requiredText(getCreateArgumentField(config.createdEvent.createArgument, "requestFactoryCid"), "OneSig request factory");
|
|
71
|
+
} else {
|
|
72
|
+
const { oappId } = input.request;
|
|
73
|
+
const [ioApps, configs, accessControls] = await Promise.all([
|
|
74
|
+
interfaceContracts(IOAPP, oappId.admin),
|
|
75
|
+
interfaceContracts(OAPP_CONFIG, oappId.admin),
|
|
76
|
+
interfaceContracts(ACCESS_CONTROL, oappId.admin)
|
|
77
|
+
]);
|
|
78
|
+
const ioApp = exactlyOne(ioApps.filter(({ view }) => sameIdentity(view.oappId, oappId)).map(({ contract }) => contract), "IOApp");
|
|
79
|
+
const config = exactlyOne(configs.filter(({ view }) => sameIdentity(view.oappId, oappId)).map(({ contract }) => contract), "OApp config");
|
|
80
|
+
gateway = requiredText(ioApps.find(({ contract }) => contract === ioApp).view.oappGateway, "OApp gateway");
|
|
81
|
+
factoryCid = requiredText(getCreateArgumentField(config.createdEvent.createArgument, "requestFactoryCid"), "OApp request factory");
|
|
82
|
+
const matchingAccess = accessControls.filter(({ view }) => sameIdentity(view.scope, oappId) && getCreateArgumentField(view.scope, "category") === "oapp");
|
|
83
|
+
if (matchingAccess.length > 1) throw new Error("Ambiguous OApp access control");
|
|
84
|
+
if (input.request.kind === "oappAccept" && matchingAccess.length !== 1) throw new Error("OApp Accept requires access control");
|
|
85
|
+
oapp = {
|
|
86
|
+
ioAppCid: disclose(ioApp),
|
|
87
|
+
oappConfig: disclose(config),
|
|
88
|
+
accessControlCid: matchingAccess[0] ? disclose(matchingAccess[0].contract) : null
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
const factory = exactlyOne((await templateContracts(FACTORY)).filter(({ createdEvent }) => createdEvent.contractId === factoryCid), "configured request factory");
|
|
92
|
+
const handler = requiredText(getCreateArgumentField(factory.createdEvent.createArgument, "handler"), "request factory handler");
|
|
93
|
+
if (!areExpectedSignatories(factory.createdEvent, [
|
|
94
|
+
handler
|
|
95
|
+
]) || getCreateArgumentField(factory.createdEvent.createArgument, "dso") !== input.dsoParty || gateway !== void 0 && gateway !== handler) {
|
|
96
|
+
throw new Error("Request factory authority, DSO or OApp gateway mismatch");
|
|
97
|
+
}
|
|
98
|
+
disclose(factory);
|
|
99
|
+
const ownerConfig = exactlyOne((await templateContracts(FACTORY_CONFIG)).filter(({ createdEvent }) => areExpectedSignatories(createdEvent, [
|
|
100
|
+
handler
|
|
101
|
+
]) && getCreateArgumentField(createdEvent.createArgument, "handler") === handler), "request factory config");
|
|
102
|
+
const ownerConfigCid = disclose(ownerConfig);
|
|
103
|
+
const time = timestamp ?? new Date(Date.now() - 1e4).toISOString();
|
|
104
|
+
return {
|
|
105
|
+
context: oapp ? {
|
|
106
|
+
tag: "OAppRequestContext",
|
|
107
|
+
value: {
|
|
108
|
+
...oapp,
|
|
109
|
+
requestFactoryConfig: ownerConfigCid,
|
|
110
|
+
timestamp: time
|
|
111
|
+
}
|
|
112
|
+
} : {
|
|
113
|
+
tag: "RequestContext",
|
|
114
|
+
value: {
|
|
115
|
+
ownerConfig: ownerConfigCid,
|
|
116
|
+
timestamp: time
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
disclosedContracts
|
|
120
|
+
};
|
|
121
|
+
}, "resolveCantonOneSigRequestContext");
|
|
122
|
+
|
|
123
|
+
export { resolveCantonOneSigRequestContext };
|
|
124
|
+
//# sourceMappingURL=XCOORR26.js.map
|
|
125
|
+
//# sourceMappingURL=XCOORR26.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/refresh/onesig-request.ts"],"names":["ONESIG_CONFIG","FACTORY","FACTORY_CONFIG","IOAPP","OAPP_CONFIG","ACCESS_CONTROL","sameIdentity","value","identity","getCreateArgumentField","admin","id","exactlyOne","contracts","label","length","Error","requiredText","resolveCantonOneSigRequestContext","sdk","input","timestamp","offset","getLedgerEndOffset","templateContracts","templateId","name","entity","slice","split","queryActiveContracts","informee","templateIds","includeCreatedEventBlob","filter","createdEvent","packageName","join","interfaceContracts","interfaceId","packageId","getPackageId","resolvedId","queryActiveContractsByInterface","flatMap","contract","views","interfaceViews","view","viewStatus","code","viewValue","areExpectedSignatories","disclosedContracts","disclose","push","callbackDisclosure","contractId","factoryCid","gateway","oapp","request","kind","oneSigId","oneSig","config","createArgument","oappId","ioApps","configs","accessControls","Promise","all","ioApp","map","find","oappGateway","matchingAccess","scope","ioAppCid","oappConfig","accessControlCid","factory","handler","dsoParty","undefined","ownerConfig","ownerConfigCid","time","Date","now","toISOString","context","tag","requestFactoryConfig"],"mappings":"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","file":"XCOORR26.js","sourcesContent":["import type { JsActiveContract } from '../open-api/models';\nimport type { CantonSdk } from '../sdk/canton-sdk';\nimport type { CantonDisclosedContract } from '../transaction';\nimport { areExpectedSignatories, getCreateArgumentField } from '../trusted-origin';\nimport { callbackDisclosure } from './callback-contracts';\nimport type { CantonOneSigRequestContextRefresh } from './plan';\n\nconst ONESIG_CONFIG = '#layerzero-onesig:OneSigConfig:OneSigConfig';\nconst FACTORY = '#layerzero-request-factory:RequestFactory:RequestFactory';\nconst FACTORY_CONFIG = '#layerzero-request-factory:RequestFactoryConfig:RequestFactoryConfig';\nconst IOAPP = '#layerzero-ioapp:IOApp:IOApp';\nconst OAPP_CONFIG = '#layerzero-ioapp-config:IOAppConfig:IOAppConfig';\nconst ACCESS_CONTROL = '#layerzero-iaccess-control:IAccessControl:IAccessControl';\n\ntype Input = CantonOneSigRequestContextRefresh['resolver'];\ntype Identity = { admin: string; id: string };\nexport type CantonOneSigRequestContext =\n | { tag: 'RequestContext'; value: { ownerConfig: string; timestamp: string } }\n | {\n tag: 'OAppRequestContext';\n value: {\n ioAppCid: string;\n oappConfig: string;\n accessControlCid: string | null;\n requestFactoryConfig: string;\n timestamp: string;\n };\n };\n\nconst sameIdentity = (value: unknown, identity: Identity): boolean =>\n getCreateArgumentField(value, 'admin') === identity.admin &&\n getCreateArgumentField(value, 'id') === identity.id;\nconst exactlyOne = (contracts: JsActiveContract[], label: string): JsActiveContract => {\n if (contracts.length !== 1)\n throw new Error(`Expected exactly one ${label}, found ${contracts.length}`);\n return contracts[0]!;\n};\nconst requiredText = (value: unknown, label: string): string => {\n if (typeof value !== 'string' || !value) throw new Error(`Missing ${label}`);\n return value;\n};\n\nexport const resolveCantonOneSigRequestContext = async (\n sdk: CantonSdk,\n input: Input,\n timestamp?: string,\n): Promise<{\n context: CantonOneSigRequestContext;\n disclosedContracts: CantonDisclosedContract[];\n}> => {\n const offset = await sdk.getLedgerEndOffset();\n const templateContracts = async (templateId: string) => {\n const [name, ...entity] = templateId.slice(1).split(':');\n return (\n await sdk.queryActiveContracts(input.informee, offset, {\n templateIds: [templateId],\n includeCreatedEventBlob: true,\n })\n ).filter(\n ({ createdEvent }) =>\n createdEvent.packageName === name &&\n createdEvent.templateId.split(':').slice(1).join(':') === entity.join(':'),\n );\n };\n const interfaceContracts = async (interfaceId: string, admin: string) => {\n const [name, ...entity] = interfaceId.slice(1).split(':');\n const packageId = await sdk.getPackageId(name!, [input.informee]);\n const resolvedId = `${packageId}:${entity.join(':')}`;\n return (\n await sdk.queryActiveContractsByInterface([input.informee], offset, [interfaceId], {\n includeCreatedEventBlob: true,\n })\n ).flatMap((contract) => {\n const views =\n contract.createdEvent.interfaceViews?.filter(\n (view) => view.interfaceId === resolvedId,\n ) ?? [];\n const view = views[0];\n return views.length === 1 &&\n view?.viewStatus?.code === 0 &&\n view.viewValue &&\n areExpectedSignatories(contract.createdEvent, [admin])\n ? [{ contract, view: view.viewValue as Record<string, unknown> }]\n : [];\n });\n };\n const disclosedContracts: CantonDisclosedContract[] = [];\n const disclose = (contract: JsActiveContract) => {\n disclosedContracts.push(callbackDisclosure(contract));\n return contract.createdEvent.contractId;\n };\n let factoryCid: string;\n let gateway: string | undefined;\n let oapp: { ioAppCid: string; oappConfig: string; accessControlCid: string | null } | undefined;\n if (input.request.kind === 'request') {\n const { admin, oneSigId } = input.request.oneSig;\n const config = exactlyOne(\n (await templateContracts(ONESIG_CONFIG)).filter(\n ({ createdEvent }) =>\n areExpectedSignatories(createdEvent, [admin]) &&\n getCreateArgumentField(createdEvent.createArgument, 'admin') === admin &&\n getCreateArgumentField(createdEvent.createArgument, 'oneSigId') === oneSigId,\n ),\n 'OneSig config',\n );\n factoryCid = requiredText(\n getCreateArgumentField(config.createdEvent.createArgument, 'requestFactoryCid'),\n 'OneSig request factory',\n );\n } else {\n const { oappId } = input.request;\n const [ioApps, configs, accessControls] = await Promise.all([\n interfaceContracts(IOAPP, oappId.admin),\n interfaceContracts(OAPP_CONFIG, oappId.admin),\n interfaceContracts(ACCESS_CONTROL, oappId.admin),\n ]);\n const ioApp = exactlyOne(\n ioApps\n .filter(({ view }) => sameIdentity(view.oappId, oappId))\n .map(({ contract }) => contract),\n 'IOApp',\n );\n const config = exactlyOne(\n configs\n .filter(({ view }) => sameIdentity(view.oappId, oappId))\n .map(({ contract }) => contract),\n 'OApp config',\n );\n gateway = requiredText(\n ioApps.find(({ contract }) => contract === ioApp)!.view.oappGateway,\n 'OApp gateway',\n );\n factoryCid = requiredText(\n getCreateArgumentField(config.createdEvent.createArgument, 'requestFactoryCid'),\n 'OApp request factory',\n );\n const matchingAccess = accessControls.filter(\n ({ view }) =>\n sameIdentity(view.scope, oappId) &&\n getCreateArgumentField(view.scope, 'category') === 'oapp',\n );\n if (matchingAccess.length > 1) throw new Error('Ambiguous OApp access control');\n if (input.request.kind === 'oappAccept' && matchingAccess.length !== 1)\n throw new Error('OApp Accept requires access control');\n oapp = {\n ioAppCid: disclose(ioApp),\n oappConfig: disclose(config),\n accessControlCid: matchingAccess[0] ? disclose(matchingAccess[0].contract) : null,\n };\n }\n const factory = exactlyOne(\n (await templateContracts(FACTORY)).filter(\n ({ createdEvent }) => createdEvent.contractId === factoryCid,\n ),\n 'configured request factory',\n );\n const handler = requiredText(\n getCreateArgumentField(factory.createdEvent.createArgument, 'handler'),\n 'request factory handler',\n );\n if (\n !areExpectedSignatories(factory.createdEvent, [handler]) ||\n getCreateArgumentField(factory.createdEvent.createArgument, 'dso') !== input.dsoParty ||\n (gateway !== undefined && gateway !== handler)\n ) {\n throw new Error('Request factory authority, DSO or OApp gateway mismatch');\n }\n disclose(factory);\n const ownerConfig = exactlyOne(\n (await templateContracts(FACTORY_CONFIG)).filter(\n ({ createdEvent }) =>\n areExpectedSignatories(createdEvent, [handler]) &&\n getCreateArgumentField(createdEvent.createArgument, 'handler') === handler,\n ),\n 'request factory config',\n );\n const ownerConfigCid = disclose(ownerConfig);\n const time = timestamp ?? new Date(Date.now() - 10_000).toISOString();\n return {\n context: oapp\n ? {\n tag: 'OAppRequestContext',\n value: { ...oapp, requestFactoryConfig: ownerConfigCid, timestamp: time },\n }\n : { tag: 'RequestContext', value: { ownerConfig: ownerConfigCid, timestamp: time } },\n disclosedContracts,\n };\n};\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { buildChannelCredentials, synchronizerStore, headStateBaseQuery, computeDecentralizedNamespace } from './PL4H5XEA.js';
|
|
2
1
|
import { buildNamespaceDelegationMapping, buildDecentralizedNamespaceDefinitionMapping, buildPartyToKeyMapping, buildPartyToParticipantMapping } from './RVQWP4JU.js';
|
|
3
2
|
import { SynchronizerConnectivityServiceClient } from './VJ4PVZYL.js';
|
|
3
|
+
import { buildChannelCredentials, synchronizerStore, headStateBaseQuery, computeDecentralizedNamespace } from './K7FRAGGM.js';
|
|
4
4
|
import { computePublicKeyFingerprint } from './WLV6EHDB.js';
|
|
5
|
-
import { CantonProtocolError, CantonError } from './
|
|
5
|
+
import { CantonProtocolError, CantonError } from './NYEJEKEY.js';
|
|
6
6
|
import { __name } from './VUOMXK5T.js';
|
|
7
7
|
import { TopologyManagerReadServiceClient, TopologyManagerWriteServiceClient, GenerateTransactionsRequest, GenerateTransactionsRequest_Proposal, Enums_TopologyChangeOp, ListNamespaceDelegationRequest, ListDecentralizedNamespaceDefinitionRequest, ListPartyToKeyMappingRequest, ListPartyToParticipantRequest, AddTransactionsRequest } from '@canton-network/core-ledger-proto';
|
|
8
8
|
import { GrpcTransport } from '@protobuf-ts/grpc-transport';
|
|
@@ -331,5 +331,5 @@ var CantonGrpcClient = class {
|
|
|
331
331
|
};
|
|
332
332
|
|
|
333
333
|
export { CantonGrpcClient };
|
|
334
|
-
//# sourceMappingURL=
|
|
335
|
-
//# sourceMappingURL=
|
|
334
|
+
//# sourceMappingURL=XENB5GVW.js.map
|
|
335
|
+
//# sourceMappingURL=XENB5GVW.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/client/grpc.ts"],"names":["DEFAULT_GRPC_CLIENT_OPTIONS","CantonGrpcClient","opts","tokenProvider","synchronizerId","GrpcTransport","host","channelCredentials","buildChannelCredentials","insecureTransport","clientOptions","grpcClientOptions","TopologyManagerReadServiceClient","TopologyManagerWriteServiceClient","SynchronizerConnectivityServiceClient","token","getToken","Authorization","response","listConnectedSynchronizers","meta","synchronizer","connectedSynchronizers","CantonProtocolError","mapping","serial","generateTransactions","GenerateTransactionsRequest","create","proposals","GenerateTransactionsRequest_Proposal","operation","Enums_TopologyChangeOp","ADD_REPLACE","store","synchronizerStore","generated","generatedTransactions","getNamespaceDelegation","namespaceFingerprint","listNamespaceDelegation","ListNamespaceDelegationRequest","baseQuery","headStateBaseQuery","filterNamespace","filterTargetKeyFingerprint","results","flatMap","result","item","publicKey","targetKey","namespace","targetKeyFingerprint","computePublicKeyFingerprint","isRootDelegation","context","getDecentralizedNamespaceDefinition","listDecentralizedNamespaceDefinition","ListDecentralizedNamespaceDefinitionRequest","decentralizedNamespace","threshold","owners","getPartyToKeyMapping","partyId","listPartyToKeyMapping","ListPartyToKeyMappingRequest","filterParty","party","signingKeyFingerprints","signingKeys","map","key","getPartyToParticipantMapping","listPartyToParticipant","ListPartyToParticipantRequest","filterParticipant","participants","participant","participantUid","permission","createNamespaceDelegationTx","params","buildNamespaceDelegationMapping","publicKeyDer","createDecentralizedNamespaceDefinitionTx","computeDecentralizedNamespace","buildDecentralizedNamespaceDefinitionMapping","updateDecentralizedNamespaceDefinitionTx","createPartyToKeyTx","buildPartyToKeyMapping","signingPublicKeyDers","createPartyToParticipantTx","buildPartyToParticipantMapping","participantIds","submitTopologyTransactions","transactions","length","CantonError","addTransactions","AddTransactionsRequest","close"],"mappings":"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","file":"6AK25YSE.js","sourcesContent":["import {\n AddTransactionsRequest,\n Enums_TopologyChangeOp,\n GenerateTransactionsRequest,\n GenerateTransactionsRequest_Proposal,\n ListDecentralizedNamespaceDefinitionRequest,\n ListNamespaceDelegationRequest,\n ListPartyToKeyMappingRequest,\n ListPartyToParticipantRequest,\n type SignedTopologyTransaction,\n TopologyManagerReadServiceClient,\n TopologyManagerWriteServiceClient,\n type TopologyMapping,\n} from '@canton-network/core-ledger-proto';\nimport { GrpcTransport } from '@protobuf-ts/grpc-transport';\n\nimport type { TokenProvider } from '../auth/token-provider';\nimport { CantonError, CantonProtocolError } from '../errors';\nimport {\n buildDecentralizedNamespaceDefinitionMapping,\n buildNamespaceDelegationMapping,\n buildPartyToKeyMapping,\n buildPartyToParticipantMapping,\n} from './topology/mappings';\nimport { SynchronizerConnectivityServiceClient } from './topology/synchronizer-connectivity';\nimport type {\n CantonGrpcClientOptions,\n CreateDecentralizedNamespaceDefinitionTxParams,\n CreateNamespaceDelegationTxParams,\n CreatePartyToKeyMappingTxParams,\n CreatePartyToParticipantMappingTxParams,\n DecentralizedNamespaceDefinitionState,\n GeneratedTopologyTransaction,\n NamespaceDelegationState,\n PartyToKeyMappingState,\n PartyToParticipantMappingState,\n UpdateDecentralizedNamespaceDefinitionTxParams,\n} from './topology/types';\nimport {\n buildChannelCredentials,\n computeDecentralizedNamespace,\n headStateBaseQuery,\n synchronizerStore,\n} from './topology/utils';\nimport { computePublicKeyFingerprint } from './utils';\n\n/** Default gRPC client options: 128 MiB message-size limits for large admin responses. */\nconst DEFAULT_GRPC_CLIENT_OPTIONS = {\n 'grpc.max_receive_message_length': 128 * 1024 * 1024,\n 'grpc.max_send_message_length': 128 * 1024 * 1024,\n} as const;\n\n/**\n * gRPC client for the Canton participant admin Topology Manager API.\n *\n * Exposes read queries for topology mappings and write helpers that call\n * `GenerateTransactions` to produce unsigned topology transactions and\n * `AddTransactions` to submit signed ones.\n *\n * A fresh Bearer token is attached to each RPC via {@link TokenProvider}.\n */\nexport class CantonGrpcClient {\n readonly #transport: GrpcTransport;\n readonly #topologyRead: TopologyManagerReadServiceClient;\n readonly #topologyWrite: TopologyManagerWriteServiceClient;\n readonly #connectivity: SynchronizerConnectivityServiceClient;\n readonly #tokenProvider: TokenProvider;\n #synchronizerId?: string;\n\n /**\n * @param opts - Admin API host, auth, optional synchronizer id, and transport security.\n */\n constructor(opts: CantonGrpcClientOptions) {\n this.#tokenProvider = opts.tokenProvider;\n this.#synchronizerId = opts.synchronizerId;\n this.#transport = new GrpcTransport({\n host: opts.host,\n channelCredentials: buildChannelCredentials(opts.host, opts.insecureTransport),\n clientOptions: opts.grpcClientOptions ?? DEFAULT_GRPC_CLIENT_OPTIONS,\n });\n this.#topologyRead = new TopologyManagerReadServiceClient(this.#transport);\n this.#topologyWrite = new TopologyManagerWriteServiceClient(this.#transport);\n this.#connectivity = new SynchronizerConnectivityServiceClient(this.#transport);\n }\n\n /** Returns per-RPC gRPC metadata with a fresh Bearer token. */\n async #getMeta(): Promise<Record<string, string>> {\n const token = await this.#tokenProvider.getToken();\n return { Authorization: `Bearer ${token}` };\n }\n\n /**\n * Returns the client synchronizer id, discovering it on first use when omitted at construction.\n *\n * @throws {CantonProtocolError} If the participant exposes no synchronizer store.\n */\n async #getSynchronizerId(): Promise<string> {\n if (this.#synchronizerId) {\n return this.#synchronizerId;\n }\n this.#synchronizerId = await this.#discoverSynchronizerId();\n return this.#synchronizerId;\n }\n\n /**\n * Resolves the logical id of the first synchronizer the participant is connected to.\n *\n * @throws {CantonProtocolError} If the participant is not connected to any synchronizer.\n */\n async #discoverSynchronizerId(): Promise<string> {\n const { response } = await this.#connectivity.listConnectedSynchronizers(\n {},\n { meta: await this.#getMeta() },\n );\n for (const synchronizer of response.connectedSynchronizers) {\n if (synchronizer.synchronizerId) {\n return synchronizer.synchronizerId;\n }\n }\n throw new CantonProtocolError('Participant is not connected to any synchronizer');\n }\n\n /**\n * Calls `GenerateTransactions` for a single ADD_REPLACE mapping.\n *\n * @param synchronizerId - Synchronizer store to target.\n * @param mapping - Topology mapping to encode into the transaction.\n * @param serial - Topology serial (`0` lets Canton auto-determine).\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n * @throws {CantonProtocolError} If the RPC returns no generated transaction.\n */\n async #generateTopologyTransaction(\n synchronizerId: string,\n mapping: TopologyMapping,\n serial: number,\n ): Promise<GeneratedTopologyTransaction> {\n const { response } = await this.#topologyWrite.generateTransactions(\n GenerateTransactionsRequest.create({\n proposals: [\n GenerateTransactionsRequest_Proposal.create({\n operation: Enums_TopologyChangeOp.ADD_REPLACE,\n serial,\n mapping,\n store: synchronizerStore(synchronizerId),\n }),\n ],\n }),\n { meta: await this.#getMeta() },\n );\n\n const generated = response.generatedTransactions[0];\n\n if (!generated) {\n throw new CantonProtocolError('GenerateTransactions returned no topology transaction');\n }\n\n return generated;\n }\n\n /**\n * Lists Namespace Delegation (NSD) mappings for a namespace.\n *\n * Queries topology head state on the synchronizer. Returns every result from\n * the list RPC.\n *\n * @param namespaceFingerprint - Namespace to filter on (for root NSD, the owner key fingerprint).\n * @returns All matching NSD mappings, or an empty array if none exist.\n */\n async getNamespaceDelegation(\n namespaceFingerprint: string,\n ): Promise<NamespaceDelegationState[]> {\n const synchronizerId = await this.#getSynchronizerId();\n const { response } = await this.#topologyRead.listNamespaceDelegation(\n ListNamespaceDelegationRequest.create({\n baseQuery: headStateBaseQuery(synchronizerId),\n filterNamespace: namespaceFingerprint,\n // Empty string = no target-key filter; return all delegations for this namespace.\n filterTargetKeyFingerprint: '',\n }),\n { meta: await this.#getMeta() },\n );\n\n return response.results.flatMap((result) => {\n const item = result.item;\n const publicKey = item?.targetKey?.publicKey;\n if (!item || !publicKey) {\n return [];\n }\n return [\n {\n namespace: item.namespace,\n targetKeyFingerprint: computePublicKeyFingerprint(publicKey),\n isRootDelegation: item.isRootDelegation,\n serial: result.context?.serial ?? 0,\n },\n ];\n });\n }\n\n /**\n * Lists Decentralized Namespace Definition (DND) mappings for a namespace.\n *\n * Queries topology head state on the synchronizer. For a party id `hint::1220…`,\n * pass the `1220…` suffix as `namespaceFingerprint`.\n *\n * @param namespaceFingerprint - Decentralized namespace fingerprint to filter on.\n * @returns All matching DND mappings, or an empty array if none exist.\n */\n async getDecentralizedNamespaceDefinition(\n namespaceFingerprint: string,\n ): Promise<DecentralizedNamespaceDefinitionState[]> {\n const synchronizerId = await this.#getSynchronizerId();\n const { response } = await this.#topologyRead.listDecentralizedNamespaceDefinition(\n ListDecentralizedNamespaceDefinitionRequest.create({\n baseQuery: headStateBaseQuery(synchronizerId),\n filterNamespace: namespaceFingerprint,\n }),\n { meta: await this.#getMeta() },\n );\n\n return response.results.flatMap((result) => {\n const item = result.item;\n if (!item) {\n return [];\n }\n return [\n {\n namespace: item.decentralizedNamespace,\n threshold: item.threshold,\n owners: [...item.owners],\n serial: result.context?.serial ?? 0,\n },\n ];\n });\n }\n\n /**\n * Lists Party-to-Key (PTK) mappings for a party.\n *\n * Queries topology head state on the synchronizer.\n *\n * @param partyId - Full party identifier (e.g. `hint::1220…`).\n * @returns All matching PTK mappings, or an empty array if none exist.\n */\n async getPartyToKeyMapping(partyId: string): Promise<PartyToKeyMappingState[]> {\n const synchronizerId = await this.#getSynchronizerId();\n const { response } = await this.#topologyRead.listPartyToKeyMapping(\n ListPartyToKeyMappingRequest.create({\n baseQuery: headStateBaseQuery(synchronizerId),\n filterParty: partyId,\n }),\n { meta: await this.#getMeta() },\n );\n\n return response.results.flatMap((result) => {\n const item = result.item;\n if (!item) {\n return [];\n }\n return [\n {\n party: item.party,\n threshold: item.threshold,\n signingKeyFingerprints: item.signingKeys.map((key) =>\n computePublicKeyFingerprint(key.publicKey),\n ),\n serial: result.context?.serial ?? 0,\n },\n ];\n });\n }\n\n /**\n * Lists Party-to-Participant (PTP) mappings for a party.\n *\n * Queries topology head state on the synchronizer.\n *\n * @param partyId - Full party identifier (e.g. `hint::1220…`).\n * @param proposals - If `true`, query pending proposals instead of authorized mappings.\n * @returns All matching PTP mappings, or an empty array if none exist.\n */\n async getPartyToParticipantMapping(\n partyId: string,\n proposals = false,\n ): Promise<PartyToParticipantMappingState[]> {\n const synchronizerId = await this.#getSynchronizerId();\n const { response } = await this.#topologyRead.listPartyToParticipant(\n ListPartyToParticipantRequest.create({\n baseQuery: headStateBaseQuery(synchronizerId, proposals),\n filterParty: partyId,\n // Empty string = no participant filter; return all hosting mappings for this party.\n filterParticipant: '',\n }),\n { meta: await this.#getMeta() },\n );\n\n return response.results.flatMap((result) => {\n const item = result.item;\n if (!item) {\n return [];\n }\n return [\n {\n party: item.party,\n threshold: item.threshold,\n participants: item.participants.map((participant) => ({\n participantUid: participant.participantUid,\n permission: participant.permission,\n })),\n serial: result.context?.serial ?? 0,\n },\n ];\n });\n }\n\n /**\n * Builds an unsigned Namespace Delegation (NSD) topology transaction.\n *\n * Calls `GenerateTransactions` with an ADD_REPLACE mapping. The returned\n * `transactionHash` must be signed by the namespace key.\n *\n * @param params - Owner public key and optional serial.\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n */\n async createNamespaceDelegationTx(\n params: CreateNamespaceDelegationTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const mapping = buildNamespaceDelegationMapping(params.publicKeyDer);\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n /**\n * Builds an unsigned Decentralized Namespace Definition (DND) topology transaction.\n *\n * The decentralized namespace id is derived from `params.owners`. All owners\n * must sign the transaction hash.\n *\n * @param params - Owner fingerprints, threshold, and optional serial.\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n */\n async createDecentralizedNamespaceDefinitionTx(\n params: CreateDecentralizedNamespaceDefinitionTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const decentralizedNamespace = computeDecentralizedNamespace(params.owners);\n const mapping = buildDecentralizedNamespaceDefinitionMapping(\n decentralizedNamespace,\n params.threshold,\n params.owners,\n );\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n async updateDecentralizedNamespaceDefinitionTx(\n params: UpdateDecentralizedNamespaceDefinitionTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const mapping = buildDecentralizedNamespaceDefinitionMapping(\n params.namespace,\n params.threshold,\n params.owners,\n );\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n /**\n * Builds an unsigned Party-to-Key (PTK) topology transaction.\n *\n * Decentralized namespace owners must sign the transaction hash.\n *\n * @param params - Party id, signing keys, threshold, and optional serial.\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n */\n async createPartyToKeyTx(\n params: CreatePartyToKeyMappingTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const mapping = buildPartyToKeyMapping(\n params.partyId,\n params.signingPublicKeyDers,\n params.threshold,\n );\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n /**\n * Builds an unsigned Party-to-Participant (PTP) topology transaction.\n *\n * Party owners sign the transaction hash. On submit, set `proposal: true` on the\n * signed transaction so the hosting participant can authorize via `Authorize`.\n *\n * @param params - Party id, participant ids, threshold, and optional serial.\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n */\n async createPartyToParticipantTx(\n params: CreatePartyToParticipantMappingTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const mapping = buildPartyToParticipantMapping(\n params.partyId,\n params.participantIds,\n params.threshold,\n );\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n /**\n * Submits signed topology transactions to the synchronizer store.\n *\n * Multiple transactions are submitted atomically in one `AddTransactions` call.\n * When batching, sign `computeMultiTransactionHash` over all transaction hashes\n * and attach the same `MultiTransactionSignatures` to each entry.\n *\n * Set `proposal: true` on a transaction when the hosting participant must\n * authorize that mapping afterward.\n *\n * @param transactions - One or more signed topology transactions.\n * @throws {CantonError} If `transactions` is empty.\n */\n async submitTopologyTransactions(\n transactions: readonly SignedTopologyTransaction[],\n ): Promise<void> {\n if (transactions.length === 0) {\n throw new CantonError('AddTransactions requires at least one transaction');\n }\n const synchronizerId = await this.#getSynchronizerId();\n await this.#topologyWrite.addTransactions(\n AddTransactionsRequest.create({\n transactions: [...transactions],\n store: synchronizerStore(synchronizerId),\n }),\n { meta: await this.#getMeta() },\n );\n }\n\n /** Closes the underlying gRPC transport. */\n close(): void {\n this.#transport.close();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/client/grpc.ts"],"names":["DEFAULT_GRPC_CLIENT_OPTIONS","CantonGrpcClient","opts","tokenProvider","synchronizerId","GrpcTransport","host","channelCredentials","buildChannelCredentials","insecureTransport","clientOptions","grpcClientOptions","TopologyManagerReadServiceClient","TopologyManagerWriteServiceClient","SynchronizerConnectivityServiceClient","token","getToken","Authorization","response","listConnectedSynchronizers","meta","synchronizer","connectedSynchronizers","CantonProtocolError","mapping","serial","generateTransactions","GenerateTransactionsRequest","create","proposals","GenerateTransactionsRequest_Proposal","operation","Enums_TopologyChangeOp","ADD_REPLACE","store","synchronizerStore","generated","generatedTransactions","getNamespaceDelegation","namespaceFingerprint","listNamespaceDelegation","ListNamespaceDelegationRequest","baseQuery","headStateBaseQuery","filterNamespace","filterTargetKeyFingerprint","results","flatMap","result","item","publicKey","targetKey","namespace","targetKeyFingerprint","computePublicKeyFingerprint","isRootDelegation","context","getDecentralizedNamespaceDefinition","listDecentralizedNamespaceDefinition","ListDecentralizedNamespaceDefinitionRequest","decentralizedNamespace","threshold","owners","getPartyToKeyMapping","partyId","listPartyToKeyMapping","ListPartyToKeyMappingRequest","filterParty","party","signingKeyFingerprints","signingKeys","map","key","getPartyToParticipantMapping","listPartyToParticipant","ListPartyToParticipantRequest","filterParticipant","participants","participant","participantUid","permission","createNamespaceDelegationTx","params","buildNamespaceDelegationMapping","publicKeyDer","createDecentralizedNamespaceDefinitionTx","computeDecentralizedNamespace","buildDecentralizedNamespaceDefinitionMapping","updateDecentralizedNamespaceDefinitionTx","createPartyToKeyTx","buildPartyToKeyMapping","signingPublicKeyDers","createPartyToParticipantTx","buildPartyToParticipantMapping","participantIds","submitTopologyTransactions","transactions","length","CantonError","addTransactions","AddTransactionsRequest","close"],"mappings":"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","file":"XENB5GVW.js","sourcesContent":["import {\n AddTransactionsRequest,\n Enums_TopologyChangeOp,\n GenerateTransactionsRequest,\n GenerateTransactionsRequest_Proposal,\n ListDecentralizedNamespaceDefinitionRequest,\n ListNamespaceDelegationRequest,\n ListPartyToKeyMappingRequest,\n ListPartyToParticipantRequest,\n type SignedTopologyTransaction,\n TopologyManagerReadServiceClient,\n TopologyManagerWriteServiceClient,\n type TopologyMapping,\n} from '@canton-network/core-ledger-proto';\nimport { GrpcTransport } from '@protobuf-ts/grpc-transport';\n\nimport type { TokenProvider } from '../auth/token-provider';\nimport { CantonError, CantonProtocolError } from '../errors';\nimport {\n buildDecentralizedNamespaceDefinitionMapping,\n buildNamespaceDelegationMapping,\n buildPartyToKeyMapping,\n buildPartyToParticipantMapping,\n} from './topology/mappings';\nimport { SynchronizerConnectivityServiceClient } from './topology/synchronizer-connectivity';\nimport type {\n CantonGrpcClientOptions,\n CreateDecentralizedNamespaceDefinitionTxParams,\n CreateNamespaceDelegationTxParams,\n CreatePartyToKeyMappingTxParams,\n CreatePartyToParticipantMappingTxParams,\n DecentralizedNamespaceDefinitionState,\n GeneratedTopologyTransaction,\n NamespaceDelegationState,\n PartyToKeyMappingState,\n PartyToParticipantMappingState,\n UpdateDecentralizedNamespaceDefinitionTxParams,\n} from './topology/types';\nimport {\n buildChannelCredentials,\n computeDecentralizedNamespace,\n headStateBaseQuery,\n synchronizerStore,\n} from './topology/utils';\nimport { computePublicKeyFingerprint } from './utils';\n\n/** Default gRPC client options: 128 MiB message-size limits for large admin responses. */\nconst DEFAULT_GRPC_CLIENT_OPTIONS = {\n 'grpc.max_receive_message_length': 128 * 1024 * 1024,\n 'grpc.max_send_message_length': 128 * 1024 * 1024,\n} as const;\n\n/**\n * gRPC client for the Canton participant admin Topology Manager API.\n *\n * Exposes read queries for topology mappings and write helpers that call\n * `GenerateTransactions` to produce unsigned topology transactions and\n * `AddTransactions` to submit signed ones.\n *\n * A fresh Bearer token is attached to each RPC via {@link TokenProvider}.\n */\nexport class CantonGrpcClient {\n readonly #transport: GrpcTransport;\n readonly #topologyRead: TopologyManagerReadServiceClient;\n readonly #topologyWrite: TopologyManagerWriteServiceClient;\n readonly #connectivity: SynchronizerConnectivityServiceClient;\n readonly #tokenProvider: TokenProvider;\n #synchronizerId?: string;\n\n /**\n * @param opts - Admin API host, auth, optional synchronizer id, and transport security.\n */\n constructor(opts: CantonGrpcClientOptions) {\n this.#tokenProvider = opts.tokenProvider;\n this.#synchronizerId = opts.synchronizerId;\n this.#transport = new GrpcTransport({\n host: opts.host,\n channelCredentials: buildChannelCredentials(opts.host, opts.insecureTransport),\n clientOptions: opts.grpcClientOptions ?? DEFAULT_GRPC_CLIENT_OPTIONS,\n });\n this.#topologyRead = new TopologyManagerReadServiceClient(this.#transport);\n this.#topologyWrite = new TopologyManagerWriteServiceClient(this.#transport);\n this.#connectivity = new SynchronizerConnectivityServiceClient(this.#transport);\n }\n\n /** Returns per-RPC gRPC metadata with a fresh Bearer token. */\n async #getMeta(): Promise<Record<string, string>> {\n const token = await this.#tokenProvider.getToken();\n return { Authorization: `Bearer ${token}` };\n }\n\n /**\n * Returns the client synchronizer id, discovering it on first use when omitted at construction.\n *\n * @throws {CantonProtocolError} If the participant exposes no synchronizer store.\n */\n async #getSynchronizerId(): Promise<string> {\n if (this.#synchronizerId) {\n return this.#synchronizerId;\n }\n this.#synchronizerId = await this.#discoverSynchronizerId();\n return this.#synchronizerId;\n }\n\n /**\n * Resolves the logical id of the first synchronizer the participant is connected to.\n *\n * @throws {CantonProtocolError} If the participant is not connected to any synchronizer.\n */\n async #discoverSynchronizerId(): Promise<string> {\n const { response } = await this.#connectivity.listConnectedSynchronizers(\n {},\n { meta: await this.#getMeta() },\n );\n for (const synchronizer of response.connectedSynchronizers) {\n if (synchronizer.synchronizerId) {\n return synchronizer.synchronizerId;\n }\n }\n throw new CantonProtocolError('Participant is not connected to any synchronizer');\n }\n\n /**\n * Calls `GenerateTransactions` for a single ADD_REPLACE mapping.\n *\n * @param synchronizerId - Synchronizer store to target.\n * @param mapping - Topology mapping to encode into the transaction.\n * @param serial - Topology serial (`0` lets Canton auto-determine).\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n * @throws {CantonProtocolError} If the RPC returns no generated transaction.\n */\n async #generateTopologyTransaction(\n synchronizerId: string,\n mapping: TopologyMapping,\n serial: number,\n ): Promise<GeneratedTopologyTransaction> {\n const { response } = await this.#topologyWrite.generateTransactions(\n GenerateTransactionsRequest.create({\n proposals: [\n GenerateTransactionsRequest_Proposal.create({\n operation: Enums_TopologyChangeOp.ADD_REPLACE,\n serial,\n mapping,\n store: synchronizerStore(synchronizerId),\n }),\n ],\n }),\n { meta: await this.#getMeta() },\n );\n\n const generated = response.generatedTransactions[0];\n\n if (!generated) {\n throw new CantonProtocolError('GenerateTransactions returned no topology transaction');\n }\n\n return generated;\n }\n\n /**\n * Lists Namespace Delegation (NSD) mappings for a namespace.\n *\n * Queries topology head state on the synchronizer. Returns every result from\n * the list RPC.\n *\n * @param namespaceFingerprint - Namespace to filter on (for root NSD, the owner key fingerprint).\n * @returns All matching NSD mappings, or an empty array if none exist.\n */\n async getNamespaceDelegation(\n namespaceFingerprint: string,\n ): Promise<NamespaceDelegationState[]> {\n const synchronizerId = await this.#getSynchronizerId();\n const { response } = await this.#topologyRead.listNamespaceDelegation(\n ListNamespaceDelegationRequest.create({\n baseQuery: headStateBaseQuery(synchronizerId),\n filterNamespace: namespaceFingerprint,\n // Empty string = no target-key filter; return all delegations for this namespace.\n filterTargetKeyFingerprint: '',\n }),\n { meta: await this.#getMeta() },\n );\n\n return response.results.flatMap((result) => {\n const item = result.item;\n const publicKey = item?.targetKey?.publicKey;\n if (!item || !publicKey) {\n return [];\n }\n return [\n {\n namespace: item.namespace,\n targetKeyFingerprint: computePublicKeyFingerprint(publicKey),\n isRootDelegation: item.isRootDelegation,\n serial: result.context?.serial ?? 0,\n },\n ];\n });\n }\n\n /**\n * Lists Decentralized Namespace Definition (DND) mappings for a namespace.\n *\n * Queries topology head state on the synchronizer. For a party id `hint::1220…`,\n * pass the `1220…` suffix as `namespaceFingerprint`.\n *\n * @param namespaceFingerprint - Decentralized namespace fingerprint to filter on.\n * @returns All matching DND mappings, or an empty array if none exist.\n */\n async getDecentralizedNamespaceDefinition(\n namespaceFingerprint: string,\n ): Promise<DecentralizedNamespaceDefinitionState[]> {\n const synchronizerId = await this.#getSynchronizerId();\n const { response } = await this.#topologyRead.listDecentralizedNamespaceDefinition(\n ListDecentralizedNamespaceDefinitionRequest.create({\n baseQuery: headStateBaseQuery(synchronizerId),\n filterNamespace: namespaceFingerprint,\n }),\n { meta: await this.#getMeta() },\n );\n\n return response.results.flatMap((result) => {\n const item = result.item;\n if (!item) {\n return [];\n }\n return [\n {\n namespace: item.decentralizedNamespace,\n threshold: item.threshold,\n owners: [...item.owners],\n serial: result.context?.serial ?? 0,\n },\n ];\n });\n }\n\n /**\n * Lists Party-to-Key (PTK) mappings for a party.\n *\n * Queries topology head state on the synchronizer.\n *\n * @param partyId - Full party identifier (e.g. `hint::1220…`).\n * @returns All matching PTK mappings, or an empty array if none exist.\n */\n async getPartyToKeyMapping(partyId: string): Promise<PartyToKeyMappingState[]> {\n const synchronizerId = await this.#getSynchronizerId();\n const { response } = await this.#topologyRead.listPartyToKeyMapping(\n ListPartyToKeyMappingRequest.create({\n baseQuery: headStateBaseQuery(synchronizerId),\n filterParty: partyId,\n }),\n { meta: await this.#getMeta() },\n );\n\n return response.results.flatMap((result) => {\n const item = result.item;\n if (!item) {\n return [];\n }\n return [\n {\n party: item.party,\n threshold: item.threshold,\n signingKeyFingerprints: item.signingKeys.map((key) =>\n computePublicKeyFingerprint(key.publicKey),\n ),\n serial: result.context?.serial ?? 0,\n },\n ];\n });\n }\n\n /**\n * Lists Party-to-Participant (PTP) mappings for a party.\n *\n * Queries topology head state on the synchronizer.\n *\n * @param partyId - Full party identifier (e.g. `hint::1220…`).\n * @param proposals - If `true`, query pending proposals instead of authorized mappings.\n * @returns All matching PTP mappings, or an empty array if none exist.\n */\n async getPartyToParticipantMapping(\n partyId: string,\n proposals = false,\n ): Promise<PartyToParticipantMappingState[]> {\n const synchronizerId = await this.#getSynchronizerId();\n const { response } = await this.#topologyRead.listPartyToParticipant(\n ListPartyToParticipantRequest.create({\n baseQuery: headStateBaseQuery(synchronizerId, proposals),\n filterParty: partyId,\n // Empty string = no participant filter; return all hosting mappings for this party.\n filterParticipant: '',\n }),\n { meta: await this.#getMeta() },\n );\n\n return response.results.flatMap((result) => {\n const item = result.item;\n if (!item) {\n return [];\n }\n return [\n {\n party: item.party,\n threshold: item.threshold,\n participants: item.participants.map((participant) => ({\n participantUid: participant.participantUid,\n permission: participant.permission,\n })),\n serial: result.context?.serial ?? 0,\n },\n ];\n });\n }\n\n /**\n * Builds an unsigned Namespace Delegation (NSD) topology transaction.\n *\n * Calls `GenerateTransactions` with an ADD_REPLACE mapping. The returned\n * `transactionHash` must be signed by the namespace key.\n *\n * @param params - Owner public key and optional serial.\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n */\n async createNamespaceDelegationTx(\n params: CreateNamespaceDelegationTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const mapping = buildNamespaceDelegationMapping(params.publicKeyDer);\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n /**\n * Builds an unsigned Decentralized Namespace Definition (DND) topology transaction.\n *\n * The decentralized namespace id is derived from `params.owners`. All owners\n * must sign the transaction hash.\n *\n * @param params - Owner fingerprints, threshold, and optional serial.\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n */\n async createDecentralizedNamespaceDefinitionTx(\n params: CreateDecentralizedNamespaceDefinitionTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const decentralizedNamespace = computeDecentralizedNamespace(params.owners);\n const mapping = buildDecentralizedNamespaceDefinitionMapping(\n decentralizedNamespace,\n params.threshold,\n params.owners,\n );\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n async updateDecentralizedNamespaceDefinitionTx(\n params: UpdateDecentralizedNamespaceDefinitionTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const mapping = buildDecentralizedNamespaceDefinitionMapping(\n params.namespace,\n params.threshold,\n params.owners,\n );\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n /**\n * Builds an unsigned Party-to-Key (PTK) topology transaction.\n *\n * Decentralized namespace owners must sign the transaction hash.\n *\n * @param params - Party id, signing keys, threshold, and optional serial.\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n */\n async createPartyToKeyTx(\n params: CreatePartyToKeyMappingTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const mapping = buildPartyToKeyMapping(\n params.partyId,\n params.signingPublicKeyDers,\n params.threshold,\n );\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n /**\n * Builds an unsigned Party-to-Participant (PTP) topology transaction.\n *\n * Party owners sign the transaction hash. On submit, set `proposal: true` on the\n * signed transaction so the hosting participant can authorize via `Authorize`.\n *\n * @param params - Party id, participant ids, threshold, and optional serial.\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n */\n async createPartyToParticipantTx(\n params: CreatePartyToParticipantMappingTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const mapping = buildPartyToParticipantMapping(\n params.partyId,\n params.participantIds,\n params.threshold,\n );\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n /**\n * Submits signed topology transactions to the synchronizer store.\n *\n * Multiple transactions are submitted atomically in one `AddTransactions` call.\n * When batching, sign `computeMultiTransactionHash` over all transaction hashes\n * and attach the same `MultiTransactionSignatures` to each entry.\n *\n * Set `proposal: true` on a transaction when the hosting participant must\n * authorize that mapping afterward.\n *\n * @param transactions - One or more signed topology transactions.\n * @throws {CantonError} If `transactions` is empty.\n */\n async submitTopologyTransactions(\n transactions: readonly SignedTopologyTransaction[],\n ): Promise<void> {\n if (transactions.length === 0) {\n throw new CantonError('AddTransactions requires at least one transaction');\n }\n const synchronizerId = await this.#getSynchronizerId();\n await this.#topologyWrite.addTransactions(\n AddTransactionsRequest.create({\n transactions: [...transactions],\n store: synchronizerStore(synchronizerId),\n }),\n { meta: await this.#getMeta() },\n );\n }\n\n /** Closes the underlying gRPC transport. */\n close(): void {\n this.#transport.close();\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventFormatFromJSON, EventFormatToJSON } from './
|
|
1
|
+
import { EventFormatFromJSON, EventFormatToJSON } from './V2TREL3L.js';
|
|
2
2
|
import { __name } from './VUOMXK5T.js';
|
|
3
3
|
|
|
4
4
|
// src/open-api/models/TransactionFormat.ts
|
|
@@ -43,5 +43,5 @@ function TransactionFormatToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
43
43
|
__name(TransactionFormatToJSONTyped, "TransactionFormatToJSONTyped");
|
|
44
44
|
|
|
45
45
|
export { TransactionFormatFromJSON, TransactionFormatFromJSONTyped, TransactionFormatToJSON, TransactionFormatToJSONTyped, TransactionFormatTransactionShapeEnum, instanceOfTransactionFormat };
|
|
46
|
-
//# sourceMappingURL=
|
|
47
|
-
//# sourceMappingURL=
|
|
46
|
+
//# sourceMappingURL=YHT3X6LW.js.map
|
|
47
|
+
//# sourceMappingURL=YHT3X6LW.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/TransactionFormat.ts"],"names":["TransactionFormatTransactionShapeEnum","TransactionShapeUnspecified","TransactionShapeAcsDelta","TransactionShapeLedgerEffects","instanceOfTransactionFormat","value","undefined","TransactionFormatFromJSON","json","TransactionFormatFromJSONTyped","ignoreDiscriminator","EventFormatFromJSON","TransactionFormatToJSON","TransactionFormatToJSONTyped","EventFormatToJSON"],"mappings":";;;;AA8CO,IAAMA,qCAAAA,GAAwC;EACjDC,2BAAAA,EAA6B,+BAAA;EAC7BC,wBAAAA,EAA0B,6BAAA;EAC1BC,6BAAAA,EAA+B;AACnC;AAOO,SAASC,4BAA4BC,KAAAA,EAAa;AACrD,EAAA,IAAI,EAAE,aAAA,IAAiBA,KAAAA,CAAAA,IAAUA,MAAM,aAAA,CAAA,KAAmBC,QAAW,OAAO,KAAA;AAC5E,EAAA,IAAI,EAAE,kBAAA,IAAsBD,KAAAA,CAAAA,IAAUA,MAAM,kBAAA,CAAA,KAAwBC,QAAW,OAAO,KAAA;AACtF,EAAA,OAAO,IAAA;AACX;AAJgBF,MAAAA,CAAAA,2BAAAA,EAAAA,6BAAAA,CAAAA;AAMT,SAASG,0BAA0BC,IAAAA,EAAS;AAC/C,EAAA,OAAOC,8BAAAA,CAA+BD,IAAM,CAAA;AAChD;AAFgBD,MAAAA,CAAAA,yBAAAA,EAAAA,2BAAAA,CAAAA;AAIT,SAASE,8BAAAA,CAA+BD,MAAWE,mBAAAA,EAA4B;AAClF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,aAAA,EAAeG,mBAAAA,CAAoBH,IAAAA,CAAK,aAAA,CAAc,CAAA;AACtD,IAAA,kBAAA,EAAoBA,KAAK,kBAAA;AAC7B,GAAA;AACJ;AATgBC,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA;AAWT,SAASG,wBAAwBJ,IAAAA,EAAS;AAC7C,EAAA,OAAOK,4BAAAA,CAA6BL,MAAM,KAAA,CAAA;AAC9C;AAFgBI,MAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA;AAIT,SAASC,4BAAAA,CAA6BR,KAAAA,EAAkCK,mBAAAA,GAA+B,KAAA,EAAK;AAC/G,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,aAAA,EAAeS,iBAAAA,CAAkBT,KAAAA,CAAM,aAAA,CAAc,CAAA;AACrD,IAAA,kBAAA,EAAoBA,MAAM,kBAAA;AAC9B,GAAA;AACJ;AAVgBQ,MAAAA,CAAAA,4BAAAA,EAAAA,8BAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/TransactionFormat.ts"],"names":["TransactionFormatTransactionShapeEnum","TransactionShapeUnspecified","TransactionShapeAcsDelta","TransactionShapeLedgerEffects","instanceOfTransactionFormat","value","undefined","TransactionFormatFromJSON","json","TransactionFormatFromJSONTyped","ignoreDiscriminator","EventFormatFromJSON","TransactionFormatToJSON","TransactionFormatToJSONTyped","EventFormatToJSON"],"mappings":";;;;AA8CO,IAAMA,qCAAAA,GAAwC;EACjDC,2BAAAA,EAA6B,+BAAA;EAC7BC,wBAAAA,EAA0B,6BAAA;EAC1BC,6BAAAA,EAA+B;AACnC;AAOO,SAASC,4BAA4BC,KAAAA,EAAa;AACrD,EAAA,IAAI,EAAE,aAAA,IAAiBA,KAAAA,CAAAA,IAAUA,MAAM,aAAA,CAAA,KAAmBC,QAAW,OAAO,KAAA;AAC5E,EAAA,IAAI,EAAE,kBAAA,IAAsBD,KAAAA,CAAAA,IAAUA,MAAM,kBAAA,CAAA,KAAwBC,QAAW,OAAO,KAAA;AACtF,EAAA,OAAO,IAAA;AACX;AAJgBF,MAAAA,CAAAA,2BAAAA,EAAAA,6BAAAA,CAAAA;AAMT,SAASG,0BAA0BC,IAAAA,EAAS;AAC/C,EAAA,OAAOC,8BAAAA,CAA+BD,IAAM,CAAA;AAChD;AAFgBD,MAAAA,CAAAA,yBAAAA,EAAAA,2BAAAA,CAAAA;AAIT,SAASE,8BAAAA,CAA+BD,MAAWE,mBAAAA,EAA4B;AAClF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,aAAA,EAAeG,mBAAAA,CAAoBH,IAAAA,CAAK,aAAA,CAAc,CAAA;AACtD,IAAA,kBAAA,EAAoBA,KAAK,kBAAA;AAC7B,GAAA;AACJ;AATgBC,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA;AAWT,SAASG,wBAAwBJ,IAAAA,EAAS;AAC7C,EAAA,OAAOK,4BAAAA,CAA6BL,MAAM,KAAA,CAAA;AAC9C;AAFgBI,MAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA;AAIT,SAASC,4BAAAA,CAA6BR,KAAAA,EAAkCK,mBAAAA,GAA+B,KAAA,EAAK;AAC/G,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,aAAA,EAAeS,iBAAAA,CAAkBT,KAAAA,CAAM,aAAA,CAAc,CAAA;AACrD,IAAA,kBAAA,EAAoBA,MAAM,kBAAA;AAC9B,GAAA;AACJ;AAVgBQ,MAAAA,CAAAA,4BAAAA,EAAAA,8BAAAA,CAAAA","file":"YHT3X6LW.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 { EventFormat } from './EventFormat.js';\nimport {\n EventFormatFromJSON,\n EventFormatFromJSONTyped,\n EventFormatToJSON,\n EventFormatToJSONTyped,\n} from './EventFormat.js';\n\n/**\n * A format that specifies what events to include in Daml transactions\n * and what data to compute and include for them.\n * @export\n * @interface TransactionFormat\n */\nexport interface TransactionFormat {\n /**\n * \n */\n eventFormat: EventFormat;\n /**\n * What transaction shape to use for interpreting the filters of the event format.\n * \n * Required\n */\n transactionShape: TransactionFormatTransactionShapeEnum;\n}\n\n\n/**\n * @export\n */\nexport const TransactionFormatTransactionShapeEnum = {\n TransactionShapeUnspecified: 'TRANSACTION_SHAPE_UNSPECIFIED',\n TransactionShapeAcsDelta: 'TRANSACTION_SHAPE_ACS_DELTA',\n TransactionShapeLedgerEffects: 'TRANSACTION_SHAPE_LEDGER_EFFECTS',\n} as const;\nexport type TransactionFormatTransactionShapeEnum = typeof TransactionFormatTransactionShapeEnum[keyof typeof TransactionFormatTransactionShapeEnum];\n\n\n/**\n * Check if a given object implements the TransactionFormat interface.\n */\nexport function instanceOfTransactionFormat(value: object): value is TransactionFormat {\n if (!('eventFormat' in value) || value['eventFormat'] === undefined) return false;\n if (!('transactionShape' in value) || value['transactionShape'] === undefined) return false;\n return true;\n}\n\nexport function TransactionFormatFromJSON(json: any): TransactionFormat {\n return TransactionFormatFromJSONTyped(json, false);\n}\n\nexport function TransactionFormatFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransactionFormat {\n if (json == null) {\n return json;\n }\n return {\n \n 'eventFormat': EventFormatFromJSON(json['eventFormat']),\n 'transactionShape': json['transactionShape'],\n };\n}\n\nexport function TransactionFormatToJSON(json: any): TransactionFormat {\n return TransactionFormatToJSONTyped(json, false);\n}\n\nexport function TransactionFormatToJSONTyped(value?: TransactionFormat | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'eventFormat': EventFormatToJSON(value['eventFormat']),\n 'transactionShape': value['transactionShape'],\n };\n}\n\n"]}
|
package/dist/YMXOSAU4.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { __name } from './VUOMXK5T.js';
|
|
2
|
+
|
|
3
|
+
// src/refresh/callback-contracts.ts
|
|
4
|
+
var callbackInterfaceView = /* @__PURE__ */ __name((contract, interfaceId) => contract.createdEvent.interfaceViews?.find((view) => (view.interfaceId === interfaceId || view.interfaceId.endsWith(interfaceId.slice(interfaceId.indexOf(":")))) && (!view.viewStatus || view.viewStatus.code === 0))?.viewValue, "callbackInterfaceView");
|
|
5
|
+
var callbackDisclosure = /* @__PURE__ */ __name((contract) => {
|
|
6
|
+
const { createdEvent, synchronizerId } = contract;
|
|
7
|
+
if (!createdEvent.createdEventBlob) throw new Error(`Missing disclosure for ${createdEvent.contractId}`);
|
|
8
|
+
return {
|
|
9
|
+
contractId: createdEvent.contractId,
|
|
10
|
+
templateId: createdEvent.templateId,
|
|
11
|
+
createdEventBlob: createdEvent.createdEventBlob,
|
|
12
|
+
synchronizerId
|
|
13
|
+
};
|
|
14
|
+
}, "callbackDisclosure");
|
|
15
|
+
|
|
16
|
+
export { callbackDisclosure, callbackInterfaceView };
|
|
17
|
+
//# sourceMappingURL=YMXOSAU4.js.map
|
|
18
|
+
//# sourceMappingURL=YMXOSAU4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/refresh/callback-contracts.ts"],"names":["callbackInterfaceView","contract","interfaceId","createdEvent","interfaceViews","find","view","endsWith","slice","indexOf","viewStatus","code","viewValue","callbackDisclosure","synchronizerId","createdEventBlob","Error","contractId","templateId"],"mappings":";;;AAGO,IAAMA,qBAAAA,mBAAwB,MAAA,CAAA,CACjCC,QAAAA,EACAC,WAAAA,KAEAD,SAASE,YAAAA,CAAaC,cAAAA,EAAgBC,IAAAA,CAClC,CAACC,IAAAA,KAAAA,CACIA,IAAAA,CAAKJ,WAAAA,KAAgBA,WAAAA,IAClBI,KAAKJ,WAAAA,CAAYK,QAAAA,CAASL,WAAAA,CAAYM,KAAAA,CAAMN,WAAAA,CAAYO,OAAAA,CAAQ,GAAA,CAAA,CAAA,CAAA,MACnE,CAACH,IAAAA,CAAKI,UAAAA,IAAcJ,IAAAA,CAAKI,UAAAA,CAAWC,IAAAA,KAAS,CAAA,CAAA,GACnDC,SAAAA,EAT8B,uBAAA;AAU9B,IAAMC,kBAAAA,2BAAsBZ,QAAAA,KAAAA;AAC/B,EAAA,MAAM,EAAEE,YAAAA,EAAcW,cAAAA,EAAc,GAAKb,QAAAA;AACzC,EAAA,IAAI,CAACE,aAAaY,gBAAAA,EACd,MAAM,IAAIC,KAAAA,CAAM,CAAA,uBAAA,EAA0Bb,YAAAA,CAAac,UAAU,CAAA,CAAE,CAAA;AACvE,EAAA,OAAO;AACHA,IAAAA,UAAAA,EAAYd,YAAAA,CAAac,UAAAA;AACzBC,IAAAA,UAAAA,EAAYf,YAAAA,CAAae,UAAAA;AACzBH,IAAAA,gBAAAA,EAAkBZ,YAAAA,CAAaY,gBAAAA;AAC/BD,IAAAA;AACJ,GAAA;AACJ,CAAA,EAVkC,oBAAA","file":"YMXOSAU4.js","sourcesContent":["import type { JsActiveContract } from '../open-api/models';\nimport type { CantonDisclosedContract } from '../transaction';\n\nexport const callbackInterfaceView = (\n contract: JsActiveContract,\n interfaceId: string,\n): Record<string, unknown> | undefined =>\n contract.createdEvent.interfaceViews?.find(\n (view) =>\n (view.interfaceId === interfaceId ||\n view.interfaceId.endsWith(interfaceId.slice(interfaceId.indexOf(':')))) &&\n (!view.viewStatus || view.viewStatus.code === 0),\n )?.viewValue as Record<string, unknown> | undefined;\nexport const callbackDisclosure = (contract: JsActiveContract): CantonDisclosedContract => {\n const { createdEvent, synchronizerId } = contract;\n if (!createdEvent.createdEventBlob)\n throw new Error(`Missing disclosure for ${createdEvent.contractId}`);\n return {\n contractId: createdEvent.contractId,\n templateId: createdEvent.templateId,\n createdEventBlob: createdEvent.createdEventBlob,\n synchronizerId,\n };\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SerialFromJSON, SerialToJSON } from './
|
|
1
|
+
import { SerialFromJSON, SerialToJSON } from './5KN65GJK.js';
|
|
2
2
|
import { __name } from './VUOMXK5T.js';
|
|
3
3
|
|
|
4
4
|
// src/open-api/models/PriorTopologySerial.ts
|
|
@@ -34,5 +34,5 @@ function PriorTopologySerialToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
34
34
|
__name(PriorTopologySerialToJSONTyped, "PriorTopologySerialToJSONTyped");
|
|
35
35
|
|
|
36
36
|
export { PriorTopologySerialFromJSON, PriorTopologySerialFromJSONTyped, PriorTopologySerialToJSON, PriorTopologySerialToJSONTyped, instanceOfPriorTopologySerial };
|
|
37
|
-
//# sourceMappingURL=
|
|
38
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=ZSOWBGX3.js.map
|
|
38
|
+
//# sourceMappingURL=ZSOWBGX3.js.map
|