@layerzerolabs/common-canton 1.2.80 → 1.2.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{3NNZDKUQ.js → 25ZZZGNN.js} +3 -3
- package/dist/{3NNZDKUQ.js.map → 25ZZZGNN.js.map} +1 -1
- package/dist/{6AK25YSE.js → 3HAVU6NI.js} +4 -4
- package/dist/{6AK25YSE.js.map → 3HAVU6NI.js.map} +1 -1
- package/dist/{4O355BG7.js → 3I23YKYV.js} +3 -3
- package/dist/{4O355BG7.js.map → 3I23YKYV.js.map} +1 -1
- package/dist/{IDBCBX2F.js → 3TPQEBCC.js} +4 -4
- package/dist/{IDBCBX2F.js.map → 3TPQEBCC.js.map} +1 -1
- package/dist/43KGTQUU.js +99 -0
- package/dist/43KGTQUU.js.map +1 -0
- package/dist/{7RS76HLN.js → 44EVBXCG.js} +4 -4
- package/dist/{7RS76HLN.js.map → 44EVBXCG.js.map} +1 -1
- package/dist/{GSQGAMYI.js → 4P5QC3JV.js} +4 -4
- package/dist/{GSQGAMYI.js.map → 4P5QC3JV.js.map} +1 -1
- package/dist/5CADV7BB.js +67 -0
- package/dist/5CADV7BB.js.map +1 -0
- package/dist/{7KCG6XNJ.js → 5KN65GJK.js} +3 -3
- package/dist/{7KCG6XNJ.js.map → 5KN65GJK.js.map} +1 -1
- package/dist/{ZBLS2HTS.js → 5W44RCVL.js} +3 -3
- package/dist/{ZBLS2HTS.js.map → 5W44RCVL.js.map} +1 -1
- package/dist/{ULT5A5TC.js → 6SVME57P.js} +3 -3
- package/dist/{ULT5A5TC.js.map → 6SVME57P.js.map} +1 -1
- package/dist/{TM3DTBXT.js → 6TNI5YY3.js} +3 -3
- package/dist/{TM3DTBXT.js.map → 6TNI5YY3.js.map} +1 -1
- package/dist/{3JL644IZ.js → 75BEFQTY.js} +3 -3
- package/dist/{3JL644IZ.js.map → 75BEFQTY.js.map} +1 -1
- package/dist/{M6FSENHW.js → 75TAXYGR.js} +3 -3
- package/dist/{M6FSENHW.js.map → 75TAXYGR.js.map} +1 -1
- package/dist/{37KTIK6O.js → 75VVMQKH.js} +4 -4
- package/dist/{37KTIK6O.js.map → 75VVMQKH.js.map} +1 -1
- package/dist/{O4AMCIVA.js → 7IMQETOY.js} +3 -3
- package/dist/{O4AMCIVA.js.map → 7IMQETOY.js.map} +1 -1
- package/dist/7JEW4NHI.js +40 -0
- package/dist/7JEW4NHI.js.map +1 -0
- package/dist/{N6YQSSHF.js → 7MEBFPGZ.js} +4 -4
- package/dist/{N6YQSSHF.js.map → 7MEBFPGZ.js.map} +1 -1
- package/dist/ABHGT5DF.js +557 -0
- package/dist/ABHGT5DF.js.map +1 -0
- package/dist/{NNB44CLI.js → B3E3Z2XP.js} +4 -4
- package/dist/{NNB44CLI.js.map → B3E3Z2XP.js.map} +1 -1
- package/dist/{B5WQLYXA.js → B7MBM6I4.js} +3 -3
- package/dist/{B5WQLYXA.js.map → B7MBM6I4.js.map} +1 -1
- package/dist/{7MCSZFDW.js → BH24MB7Z.js} +3 -3
- package/dist/{7MCSZFDW.js.map → BH24MB7Z.js.map} +1 -1
- package/dist/{W5JSNM4P.js → BQ2SFPGS.js} +5 -5
- package/dist/{W5JSNM4P.js.map → BQ2SFPGS.js.map} +1 -1
- package/dist/{CQBWBXEP.js → BWPOOFYL.js} +3 -3
- package/dist/{CQBWBXEP.js.map → BWPOOFYL.js.map} +1 -1
- package/dist/BZXMNRDO.js +105 -0
- package/dist/BZXMNRDO.js.map +1 -0
- package/dist/{7AX6ETEC.js → CLHFF2NZ.js} +3 -3
- package/dist/{7AX6ETEC.js.map → CLHFF2NZ.js.map} +1 -1
- package/dist/{CRVXAMIK.js → DFCC26G3.js} +4 -4
- package/dist/{CRVXAMIK.js.map → DFCC26G3.js.map} +1 -1
- package/dist/{YIP3DFVS.js → FGQEPZNL.js} +3 -3
- package/dist/{YIP3DFVS.js.map → FGQEPZNL.js.map} +1 -1
- package/dist/G4IAVHVV.js +69 -0
- package/dist/G4IAVHVV.js.map +1 -0
- package/dist/{FVMFTILS.js → HB636AF5.js} +3 -3
- package/dist/{FVMFTILS.js.map → HB636AF5.js.map} +1 -1
- package/dist/{CMN4A3XH.js → HCNXHOIJ.js} +3 -3
- package/dist/{CMN4A3XH.js.map → HCNXHOIJ.js.map} +1 -1
- package/dist/{X5KMH3AN.js → ISTGNQEF.js} +3 -3
- package/dist/{X5KMH3AN.js.map → ISTGNQEF.js.map} +1 -1
- package/dist/IUQEDBC6.js +102 -0
- package/dist/IUQEDBC6.js.map +1 -0
- package/dist/{BIHZXZGJ.js → JAONRVNE.js} +3 -3
- package/dist/{BIHZXZGJ.js.map → JAONRVNE.js.map} +1 -1
- package/dist/{Q7L2ADEU.js → JBO4ZQNH.js} +3 -3
- package/dist/{Q7L2ADEU.js.map → JBO4ZQNH.js.map} +1 -1
- package/dist/{PL4H5XEA.js → K7FRAGGM.js} +3 -3
- package/dist/{PL4H5XEA.js.map → K7FRAGGM.js.map} +1 -1
- package/dist/L64D74BZ.js +332 -0
- package/dist/L64D74BZ.js.map +1 -0
- package/dist/{DYK7UQLE.js → LMKFC7LV.js} +43 -43
- package/dist/{DYK7UQLE.js.map → LMKFC7LV.js.map} +1 -1
- package/dist/{ICIMAW3A.js → LSKYLA4P.js} +4 -4
- package/dist/{ICIMAW3A.js.map → LSKYLA4P.js.map} +1 -1
- package/dist/MO6W6SKU.js +412 -0
- package/dist/MO6W6SKU.js.map +1 -0
- package/dist/MV4DFHZP.js +424 -0
- package/dist/MV4DFHZP.js.map +1 -0
- package/dist/{XCOCX2NQ.js → MW2R4OL5.js} +3 -3
- package/dist/{XCOCX2NQ.js.map → MW2R4OL5.js.map} +1 -1
- package/dist/{TP2SKXF6.js → N3QRG2AK.js} +25 -5
- package/dist/N3QRG2AK.js.map +1 -0
- package/dist/NGED2YCU.js +75 -0
- package/dist/NGED2YCU.js.map +1 -0
- package/dist/NQWAH7C4.js +3 -0
- package/dist/NQWAH7C4.js.map +1 -0
- package/dist/{3K5JL2TP.js → NYEJEKEY.js} +12 -3
- package/dist/NYEJEKEY.js.map +1 -0
- package/dist/{DX46ASEP.js → OU543BQK.js} +4 -4
- package/dist/{DX46ASEP.js.map → OU543BQK.js.map} +1 -1
- package/dist/{YCF6SVF6.js → P7PG4R5T.js} +62 -9
- package/dist/P7PG4R5T.js.map +1 -0
- package/dist/{RIREEIYO.js → PLCXYLPU.js} +3 -3
- package/dist/{RIREEIYO.js.map → PLCXYLPU.js.map} +1 -1
- package/dist/{Q4D2T7BS.js → PTJBIMSS.js} +3 -3
- package/dist/{Q4D2T7BS.js.map → PTJBIMSS.js.map} +1 -1
- package/dist/Q3BYU6GJ.js +46 -0
- package/dist/Q3BYU6GJ.js.map +1 -0
- package/dist/{DR3COIEJ.js → QIYRAOGU.js} +3 -3
- package/dist/{DR3COIEJ.js.map → QIYRAOGU.js.map} +1 -1
- package/dist/{O25T2HOW.js → QRPS2ZRD.js} +3 -3
- package/dist/{O25T2HOW.js.map → QRPS2ZRD.js.map} +1 -1
- package/dist/{3EY5Z4BX.js → RDG3GOWQ.js} +3 -3
- package/dist/{3EY5Z4BX.js.map → RDG3GOWQ.js.map} +1 -1
- package/dist/{AFZOQGRN.js → RH6PBMPO.js} +3 -3
- package/dist/{AFZOQGRN.js.map → RH6PBMPO.js.map} +1 -1
- package/dist/{U3XCZGRR.js → RLUQWVZ6.js} +5 -5
- package/dist/{U3XCZGRR.js.map → RLUQWVZ6.js.map} +1 -1
- package/dist/SA63DYLV.js +121 -0
- package/dist/SA63DYLV.js.map +1 -0
- package/dist/{BWU4MCVK.js → TB5OSYHO.js} +4 -4
- package/dist/{BWU4MCVK.js.map → TB5OSYHO.js.map} +1 -1
- package/dist/{65JBI4D3.js → TDVOFX7N.js} +3 -3
- package/dist/{65JBI4D3.js.map → TDVOFX7N.js.map} +1 -1
- package/dist/{ZBM7PUST.js → TQMPIJZW.js} +3 -3
- package/dist/{ZBM7PUST.js.map → TQMPIJZW.js.map} +1 -1
- package/dist/{222UT7H4.js → TYI7PTYG.js} +4 -4
- package/dist/{222UT7H4.js.map → TYI7PTYG.js.map} +1 -1
- package/dist/{F7CLAJVB.js → U2DNZHEJ.js} +3 -3
- package/dist/{F7CLAJVB.js.map → U2DNZHEJ.js.map} +1 -1
- package/dist/{QLSD7CDL.js → UINDAVKP.js} +3 -3
- package/dist/{QLSD7CDL.js.map → UINDAVKP.js.map} +1 -1
- package/dist/{FHI4L73X.js → ULL44NXA.js} +4 -4
- package/dist/{FHI4L73X.js.map → ULL44NXA.js.map} +1 -1
- package/dist/{L26PC3MC.js → UNT3QBTP.js} +3 -3
- package/dist/{L26PC3MC.js.map → UNT3QBTP.js.map} +1 -1
- package/dist/{6HJEM4C3.js → V2TREL3L.js} +3 -3
- package/dist/{6HJEM4C3.js.map → V2TREL3L.js.map} +1 -1
- package/dist/VJKB367I.js +159 -0
- package/dist/VJKB367I.js.map +1 -0
- package/dist/{DRLN6NI7.js → VPGKHXFY.js} +3 -3
- package/dist/{DRLN6NI7.js.map → VPGKHXFY.js.map} +1 -1
- package/dist/{55MRWPLR.js → W7DMST44.js} +3 -3
- package/dist/{55MRWPLR.js.map → W7DMST44.js.map} +1 -1
- package/dist/{Q5QMWEOQ.js → WZ4QCFOE.js} +3 -3
- package/dist/{Q5QMWEOQ.js.map → WZ4QCFOE.js.map} +1 -1
- package/dist/XCOORR26.js +125 -0
- package/dist/XCOORR26.js.map +1 -0
- package/dist/{3NMWQBVE.js → YHT3X6LW.js} +3 -3
- package/dist/{3NMWQBVE.js.map → YHT3X6LW.js.map} +1 -1
- package/dist/YMXOSAU4.js +18 -0
- package/dist/YMXOSAU4.js.map +1 -0
- package/dist/{35HFP3P5.js → ZSOWBGX3.js} +3 -3
- package/dist/{35HFP3P5.js.map → ZSOWBGX3.js.map} +1 -1
- package/dist/client/amulet.d.ts +24 -6
- package/dist/client/amulet.d.ts.map +1 -1
- package/dist/client/amulet.js +8 -2
- package/dist/client/canton-client.d.ts +9 -1
- package/dist/client/canton-client.d.ts.map +1 -1
- package/dist/client/canton-client.js +113 -107
- package/dist/client/grpc.js +3 -3
- package/dist/client/index.js +115 -109
- package/dist/client/interface.d.ts +10 -1
- package/dist/client/interface.d.ts.map +1 -1
- package/dist/client/topology/utils.js +2 -2
- package/dist/errors.d.ts +5 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +1 -1
- package/dist/events.js +3 -3
- package/dist/index.js +133 -119
- package/dist/open-api/apis/DefaultApi.js +104 -104
- package/dist/open-api/apis/index.js +104 -104
- package/dist/open-api/index.js +104 -104
- package/dist/open-api/models/Command.js +5 -5
- package/dist/open-api/models/Completion.js +3 -3
- package/dist/open-api/models/Completion1.js +3 -3
- package/dist/open-api/models/CompletionResponse.js +8 -8
- package/dist/open-api/models/CompletionResponseOneOf.js +3 -3
- package/dist/open-api/models/CompletionStreamResponse.js +9 -9
- package/dist/open-api/models/CreateUserRequest.js +7 -7
- package/dist/open-api/models/CumulativeFilter.js +7 -7
- package/dist/open-api/models/DeduplicationPeriod.js +1 -1
- package/dist/open-api/models/DeduplicationPeriod1.js +1 -1
- package/dist/open-api/models/DeduplicationPeriod2.js +3 -3
- package/dist/open-api/models/EventFormat.js +9 -9
- package/dist/open-api/models/ExperimentalFeatures.js +2 -2
- package/dist/open-api/models/FeaturesDescriptor.js +4 -4
- package/dist/open-api/models/Filters.js +8 -8
- package/dist/open-api/models/GetActiveContractsPageRequest.js +10 -10
- package/dist/open-api/models/GetActiveContractsRequest.js +10 -10
- package/dist/open-api/models/GetCompletionByHashResponse.js +3 -3
- package/dist/open-api/models/GetEventsByContractIdRequest.js +10 -10
- package/dist/open-api/models/GetLedgerApiVersionResponse.js +5 -5
- package/dist/open-api/models/GetUpdateByHashRequest.js +12 -12
- package/dist/open-api/models/GetUpdateByIdRequest.js +12 -12
- package/dist/open-api/models/GetUpdateByOffsetRequest.js +12 -12
- package/dist/open-api/models/GetUpdatesPageRequest.js +12 -12
- package/dist/open-api/models/GetUpdatesRequest.js +12 -12
- package/dist/open-api/models/GrantUserRightsRequest.js +7 -7
- package/dist/open-api/models/GrantUserRightsResponse.js +7 -7
- package/dist/open-api/models/IdentifierFilter.js +6 -6
- package/dist/open-api/models/JsCommands.js +7 -7
- package/dist/open-api/models/JsContractEntry.js +4 -4
- package/dist/open-api/models/JsExecuteSubmissionAndWaitForTransactionRequest.js +18 -18
- package/dist/open-api/models/JsExecuteSubmissionAndWaitRequest.js +8 -8
- package/dist/open-api/models/JsExecuteSubmissionRequest.js +8 -8
- package/dist/open-api/models/JsGetActiveContractsPageResponse.js +6 -6
- package/dist/open-api/models/JsGetActiveContractsResponse.js +5 -5
- package/dist/open-api/models/JsGetUpdateResponse.js +4 -4
- package/dist/open-api/models/JsGetUpdatesPageResponse.js +4 -4
- package/dist/open-api/models/JsGetUpdatesResponse.js +4 -4
- package/dist/open-api/models/JsPrepareSubmissionRequest.js +10 -10
- package/dist/open-api/models/JsSubmitAndWaitForTransactionRequest.js +18 -18
- package/dist/open-api/models/JsTopologyTransaction.js +2 -2
- package/dist/open-api/models/Kind.js +5 -5
- package/dist/open-api/models/ListUserRightsResponse.js +7 -7
- package/dist/open-api/models/MinLedgerTime.js +4 -4
- package/dist/open-api/models/Operation.js +4 -4
- package/dist/open-api/models/PriorTopologySerial.js +3 -3
- package/dist/open-api/models/RevokeUserRightsRequest.js +7 -7
- package/dist/open-api/models/RevokeUserRightsResponse.js +7 -7
- package/dist/open-api/models/Right.js +6 -6
- package/dist/open-api/models/Serial.js +2 -2
- package/dist/open-api/models/SubmitAndWaitForReassignmentRequest.js +10 -10
- package/dist/open-api/models/Time.js +3 -3
- package/dist/open-api/models/TopologyEvent.js +2 -2
- package/dist/open-api/models/TopologyEventEvent.js +2 -2
- package/dist/open-api/models/TopologyTransaction.js +2 -2
- package/dist/open-api/models/TransactionFormat.js +10 -10
- package/dist/open-api/models/Update.js +4 -4
- package/dist/open-api/models/UpdateFormat.js +11 -11
- package/dist/open-api/models/UpdateOneOf2.js +2 -2
- package/dist/open-api/models/UpdateVettedPackagesRequest.js +9 -9
- package/dist/open-api/models/VettedPackagesChange.js +5 -5
- package/dist/open-api/models/index.js +103 -103
- package/dist/provider.js +116 -110
- package/dist/refresh/callback-burn-mint.d.ts +22 -0
- package/dist/refresh/callback-burn-mint.d.ts.map +1 -0
- package/dist/refresh/callback-burn-mint.js +7 -0
- package/dist/refresh/callback-burn-mint.js.map +1 -0
- package/dist/refresh/callback-contracts.d.ts +5 -0
- package/dist/refresh/callback-contracts.d.ts.map +1 -0
- package/dist/refresh/callback-contracts.js +4 -0
- package/dist/refresh/callback-contracts.js.map +1 -0
- package/dist/refresh/callback-lock-unlock.d.ts +19 -0
- package/dist/refresh/callback-lock-unlock.d.ts.map +1 -0
- package/dist/refresh/callback-lock-unlock.js +7 -0
- package/dist/refresh/callback-lock-unlock.js.map +1 -0
- package/dist/refresh/callback.d.ts +112 -0
- package/dist/refresh/callback.d.ts.map +1 -0
- package/dist/refresh/callback.js +10 -0
- package/dist/refresh/callback.js.map +1 -0
- package/dist/refresh/index.d.ts +12 -0
- package/dist/refresh/index.d.ts.map +1 -1
- package/dist/refresh/index.js +25 -7
- package/dist/refresh/onesig-config.d.ts +20 -0
- package/dist/refresh/onesig-config.d.ts.map +1 -0
- package/dist/refresh/onesig-config.js +6 -0
- package/dist/refresh/onesig-config.js.map +1 -0
- package/dist/refresh/onesig-discovery.d.ts +15 -0
- package/dist/refresh/onesig-discovery.d.ts.map +1 -0
- package/dist/refresh/onesig-discovery.js +7 -0
- package/dist/refresh/onesig-discovery.js.map +1 -0
- package/dist/refresh/onesig-request.d.ts +26 -0
- package/dist/refresh/onesig-request.d.ts.map +1 -0
- package/dist/refresh/onesig-request.js +6 -0
- package/dist/refresh/onesig-request.js.map +1 -0
- package/dist/refresh/onesig-scope.d.ts +13 -0
- package/dist/refresh/onesig-scope.d.ts.map +1 -0
- package/dist/refresh/onesig-scope.js +6 -0
- package/dist/refresh/onesig-scope.js.map +1 -0
- package/dist/refresh/onesig-transfer-instruction.d.ts +19 -0
- package/dist/refresh/onesig-transfer-instruction.d.ts.map +1 -0
- package/dist/refresh/onesig-transfer-instruction.js +15 -0
- package/dist/refresh/onesig-transfer-instruction.js.map +1 -0
- package/dist/refresh/onesig-transfer.d.ts +21 -0
- package/dist/refresh/onesig-transfer.d.ts.map +1 -0
- package/dist/refresh/onesig-transfer.js +16 -0
- package/dist/refresh/onesig-transfer.js.map +1 -0
- package/dist/refresh/plan.d.ts +937 -5
- package/dist/refresh/plan.d.ts.map +1 -1
- package/dist/refresh/plan.js +1 -1
- package/dist/refresh/prepare-amulet-transfer.d.ts +9 -0
- package/dist/refresh/prepare-amulet-transfer.d.ts.map +1 -0
- package/dist/refresh/prepare-amulet-transfer.js +12 -0
- package/dist/refresh/prepare-amulet-transfer.js.map +1 -0
- package/dist/refresh/prepare-transfer-instruction-acceptance.d.ts +9 -0
- package/dist/refresh/prepare-transfer-instruction-acceptance.d.ts.map +1 -0
- package/dist/refresh/prepare-transfer-instruction-acceptance.js +4 -0
- package/dist/refresh/prepare-transfer-instruction-acceptance.js.map +1 -0
- package/dist/refresh/registry-context.d.ts +49 -0
- package/dist/refresh/registry-context.d.ts.map +1 -0
- package/dist/refresh/registry-context.js +6 -0
- package/dist/refresh/registry-context.js.map +1 -0
- package/dist/refresh/resolve-plan.d.ts +1 -1
- package/dist/refresh/resolve-plan.d.ts.map +1 -1
- package/dist/refresh/resolve-plan.js +19 -1
- package/dist/refresh/resolve.js +22 -5
- package/dist/refresh/select-contracts.d.ts +4 -0
- package/dist/refresh/select-contracts.d.ts.map +1 -0
- package/dist/refresh/select-contracts.js +4 -0
- package/dist/refresh/select-contracts.js.map +1 -0
- package/dist/sdk/canton-sdk.js +2 -2
- package/dist/sdk/index.js +2 -2
- package/dist/transaction.d.ts +1635 -20
- package/dist/transaction.d.ts.map +1 -1
- package/dist/transaction.js +2 -2
- package/package.json +12 -11
- package/dist/3K5JL2TP.js.map +0 -1
- package/dist/6UDREB6T.js +0 -3
- package/dist/6UDREB6T.js.map +0 -1
- package/dist/TP2SKXF6.js.map +0 -1
- package/dist/UGGRFD54.js +0 -168
- package/dist/UGGRFD54.js.map +0 -1
- package/dist/V3KXSTGZ.js +0 -350
- package/dist/V3KXSTGZ.js.map +0 -1
- package/dist/YCF6SVF6.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UpdateFormatFromJSON, UpdateFormatToJSON } from './
|
|
1
|
+
import { UpdateFormatFromJSON, UpdateFormatToJSON } from './TYI7PTYG.js';
|
|
2
2
|
import { __name } from './VUOMXK5T.js';
|
|
3
3
|
|
|
4
4
|
// src/open-api/models/GetUpdatesRequest.ts
|
|
@@ -42,5 +42,5 @@ function GetUpdatesRequestToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
42
42
|
__name(GetUpdatesRequestToJSONTyped, "GetUpdatesRequestToJSONTyped");
|
|
43
43
|
|
|
44
44
|
export { GetUpdatesRequestFromJSON, GetUpdatesRequestFromJSONTyped, GetUpdatesRequestToJSON, GetUpdatesRequestToJSONTyped, instanceOfGetUpdatesRequest };
|
|
45
|
-
//# sourceMappingURL=
|
|
46
|
-
//# sourceMappingURL=
|
|
45
|
+
//# sourceMappingURL=PLCXYLPU.js.map
|
|
46
|
+
//# sourceMappingURL=PLCXYLPU.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/GetUpdatesRequest.ts"],"names":["instanceOfGetUpdatesRequest","value","undefined","GetUpdatesRequestFromJSON","json","GetUpdatesRequestFromJSONTyped","ignoreDiscriminator","UpdateFormatFromJSON","GetUpdatesRequestToJSON","GetUpdatesRequestToJSONTyped","UpdateFormatToJSON"],"mappings":";;;;AA+DO,SAASA,4BAA4BC,KAAAA,EAAa;AACrD,EAAA,IAAI,EAAE,gBAAA,IAAoBA,KAAAA,CAAAA,IAAUA,MAAM,gBAAA,CAAA,KAAsBC,QAAW,OAAO,KAAA;AAClF,EAAA,IAAI,EAAE,cAAA,IAAkBD,KAAAA,CAAAA,IAAUA,MAAM,cAAA,CAAA,KAAoBC,QAAW,OAAO,KAAA;AAC9E,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;AAEH,IAAA,gBAAA,EAAkBA,KAAK,gBAAA,CAAA;AACvB,IAAA,cAAA,EAAgBA,KAAK,cAAA,CAAA,IAAmB,IAAA,GAAOF,MAAAA,GAAYE,KAAK,cAAA,CAAA;IAChE,cAAA,EAAgBG,oBAAAA,CAAqBH,IAAAA,CAAK,cAAA,CAAe,CAAA;AACzD,IAAA,iBAAA,EAAmBA,KAAK,iBAAA,CAAA,IAAsB,IAAA,GAAOF,MAAAA,GAAYE,KAAK,iBAAA;AAC1E,GAAA;AACJ;AAXgBC,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA;AAaT,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;AAEH,IAAA,gBAAA,EAAkBA,MAAM,gBAAA,CAAA;AACxB,IAAA,cAAA,EAAgBA,MAAM,cAAA,CAAA;IACtB,cAAA,EAAgBS,kBAAAA,CAAmBT,KAAAA,CAAM,cAAA,CAAe,CAAA;AACxD,IAAA,iBAAA,EAAmBA,MAAM,iBAAA;AAC7B,GAAA;AACJ;AAZgBQ,MAAAA,CAAAA,4BAAAA,EAAAA,8BAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/GetUpdatesRequest.ts"],"names":["instanceOfGetUpdatesRequest","value","undefined","GetUpdatesRequestFromJSON","json","GetUpdatesRequestFromJSONTyped","ignoreDiscriminator","UpdateFormatFromJSON","GetUpdatesRequestToJSON","GetUpdatesRequestToJSONTyped","UpdateFormatToJSON"],"mappings":";;;;AA+DO,SAASA,4BAA4BC,KAAAA,EAAa;AACrD,EAAA,IAAI,EAAE,gBAAA,IAAoBA,KAAAA,CAAAA,IAAUA,MAAM,gBAAA,CAAA,KAAsBC,QAAW,OAAO,KAAA;AAClF,EAAA,IAAI,EAAE,cAAA,IAAkBD,KAAAA,CAAAA,IAAUA,MAAM,cAAA,CAAA,KAAoBC,QAAW,OAAO,KAAA;AAC9E,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;AAEH,IAAA,gBAAA,EAAkBA,KAAK,gBAAA,CAAA;AACvB,IAAA,cAAA,EAAgBA,KAAK,cAAA,CAAA,IAAmB,IAAA,GAAOF,MAAAA,GAAYE,KAAK,cAAA,CAAA;IAChE,cAAA,EAAgBG,oBAAAA,CAAqBH,IAAAA,CAAK,cAAA,CAAe,CAAA;AACzD,IAAA,iBAAA,EAAmBA,KAAK,iBAAA,CAAA,IAAsB,IAAA,GAAOF,MAAAA,GAAYE,KAAK,iBAAA;AAC1E,GAAA;AACJ;AAXgBC,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA;AAaT,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;AAEH,IAAA,gBAAA,EAAkBA,MAAM,gBAAA,CAAA;AACxB,IAAA,cAAA,EAAgBA,MAAM,cAAA,CAAA;IACtB,cAAA,EAAgBS,kBAAAA,CAAmBT,KAAAA,CAAM,cAAA,CAAe,CAAA;AACxD,IAAA,iBAAA,EAAmBA,MAAM,iBAAA;AAC7B,GAAA;AACJ;AAZgBQ,MAAAA,CAAAA,4BAAAA,EAAAA,8BAAAA,CAAAA","file":"PLCXYLPU.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 { UpdateFormat } from './UpdateFormat.js';\nimport {\n UpdateFormatFromJSON,\n UpdateFormatFromJSONTyped,\n UpdateFormatToJSON,\n UpdateFormatToJSONTyped,\n} from './UpdateFormat.js';\n\n/**\n * \n * @export\n * @interface GetUpdatesRequest\n */\nexport interface GetUpdatesRequest {\n /**\n * Exclusive lower bound offset of the requested ledger section (non-negative integer).\n * The response will only contain transactions whose offset is strictly greater than this.\n * If set to zero, the lower bound is set to the beginning of the ledger.\n * If the participant has been pruned, this parameter must be greater or equal than the pruning offset.\n * Required\n */\n beginExclusive: number;\n /**\n * Inclusive higher bound offset of the requested ledger section.\n * If specified the response will only contain transactions whose offset is less than or equal to this.\n * If not specified,\n * \n * - the descending_order must not be selected,\n * - the stream will not terminate.\n * \n * Optional\n */\n endInclusive?: number;\n /**\n * \n */\n updateFormat: UpdateFormat;\n /**\n * If set, the stream will populate the elements in descending order.\n * \n * Optional\n */\n descendingOrder?: boolean;\n}\n\n/**\n * Check if a given object implements the GetUpdatesRequest interface.\n */\nexport function instanceOfGetUpdatesRequest(value: object): value is GetUpdatesRequest {\n if (!('beginExclusive' in value) || value['beginExclusive'] === undefined) return false;\n if (!('updateFormat' in value) || value['updateFormat'] === undefined) return false;\n return true;\n}\n\nexport function GetUpdatesRequestFromJSON(json: any): GetUpdatesRequest {\n return GetUpdatesRequestFromJSONTyped(json, false);\n}\n\nexport function GetUpdatesRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetUpdatesRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'beginExclusive': json['beginExclusive'],\n 'endInclusive': json['endInclusive'] == null ? undefined : json['endInclusive'],\n 'updateFormat': UpdateFormatFromJSON(json['updateFormat']),\n 'descendingOrder': json['descendingOrder'] == null ? undefined : json['descendingOrder'],\n };\n}\n\nexport function GetUpdatesRequestToJSON(json: any): GetUpdatesRequest {\n return GetUpdatesRequestToJSONTyped(json, false);\n}\n\nexport function GetUpdatesRequestToJSONTyped(value?: GetUpdatesRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'beginExclusive': value['beginExclusive'],\n 'endInclusive': value['endInclusive'],\n 'updateFormat': UpdateFormatToJSON(value['updateFormat']),\n 'descendingOrder': value['descendingOrder'],\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/RevokeUserRightsRequest.ts
|
|
@@ -39,5 +39,5 @@ function RevokeUserRightsRequestToJSONTyped(value, ignoreDiscriminator = false)
|
|
|
39
39
|
__name(RevokeUserRightsRequestToJSONTyped, "RevokeUserRightsRequestToJSONTyped");
|
|
40
40
|
|
|
41
41
|
export { RevokeUserRightsRequestFromJSON, RevokeUserRightsRequestFromJSONTyped, RevokeUserRightsRequestToJSON, RevokeUserRightsRequestToJSONTyped, instanceOfRevokeUserRightsRequest };
|
|
42
|
-
//# sourceMappingURL=
|
|
43
|
-
//# sourceMappingURL=
|
|
42
|
+
//# sourceMappingURL=PTJBIMSS.js.map
|
|
43
|
+
//# sourceMappingURL=PTJBIMSS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/RevokeUserRightsRequest.ts"],"names":["instanceOfRevokeUserRightsRequest","value","undefined","RevokeUserRightsRequestFromJSON","json","RevokeUserRightsRequestFromJSONTyped","ignoreDiscriminator","map","RightFromJSON","RevokeUserRightsRequestToJSON","RevokeUserRightsRequestToJSONTyped","RightToJSON"],"mappings":";;;;AAuDO,SAASA,kCAAkCC,KAAAA,EAAa;AAC3D,EAAA,IAAI,EAAE,QAAA,IAAYA,KAAAA,CAAAA,IAAUA,MAAM,QAAA,CAAA,KAAcC,QAAW,OAAO,KAAA;AAClE,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAKT,SAASG,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;AAEH,IAAA,QAAA,EAAUA,KAAK,QAAA,CAAA;IACf,QAAA,EAAUA,IAAAA,CAAK,QAAA,CAAA,IAAa,IAAA,GAAOF,SAAcE,IAAAA,CAAK,QAAA,CAAA,CAAyBG,GAAAA,CAAIC,aAAAA,CAAAA;AACnF,IAAA,oBAAA,EAAsBJ,KAAK,oBAAA,CAAA,IAAyB,IAAA,GAAOF,MAAAA,GAAYE,KAAK,oBAAA;AAChF,GAAA;AACJ;AAVgBC,MAAAA,CAAAA,oCAAAA,EAAAA,sCAAAA,CAAAA;AAYT,SAASI,8BAA8BL,IAAAA,EAAS;AACnD,EAAA,OAAOM,kCAAAA,CAAmCN,MAAM,KAAA,CAAA;AACpD;AAFgBK,MAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA;AAIT,SAASC,kCAAAA,CAAmCT,KAAAA,EAAwCK,mBAAAA,GAA+B,KAAA,EAAK;AAC3H,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;AAEH,IAAA,QAAA,EAAUA,MAAM,QAAA,CAAA;IAChB,QAAA,EAAUA,KAAAA,CAAM,QAAA,CAAA,IAAa,IAAA,GAAOC,SAAcD,KAAAA,CAAM,QAAA,CAAA,CAAyBM,GAAAA,CAAII,WAAAA,CAAAA;AACrF,IAAA,oBAAA,EAAsBV,MAAM,oBAAA;AAChC,GAAA;AACJ;AAXgBS,MAAAA,CAAAA,kCAAAA,EAAAA,oCAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/RevokeUserRightsRequest.ts"],"names":["instanceOfRevokeUserRightsRequest","value","undefined","RevokeUserRightsRequestFromJSON","json","RevokeUserRightsRequestFromJSONTyped","ignoreDiscriminator","map","RightFromJSON","RevokeUserRightsRequestToJSON","RevokeUserRightsRequestToJSONTyped","RightToJSON"],"mappings":";;;;AAuDO,SAASA,kCAAkCC,KAAAA,EAAa;AAC3D,EAAA,IAAI,EAAE,QAAA,IAAYA,KAAAA,CAAAA,IAAUA,MAAM,QAAA,CAAA,KAAcC,QAAW,OAAO,KAAA;AAClE,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAKT,SAASG,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;AAEH,IAAA,QAAA,EAAUA,KAAK,QAAA,CAAA;IACf,QAAA,EAAUA,IAAAA,CAAK,QAAA,CAAA,IAAa,IAAA,GAAOF,SAAcE,IAAAA,CAAK,QAAA,CAAA,CAAyBG,GAAAA,CAAIC,aAAAA,CAAAA;AACnF,IAAA,oBAAA,EAAsBJ,KAAK,oBAAA,CAAA,IAAyB,IAAA,GAAOF,MAAAA,GAAYE,KAAK,oBAAA;AAChF,GAAA;AACJ;AAVgBC,MAAAA,CAAAA,oCAAAA,EAAAA,sCAAAA,CAAAA;AAYT,SAASI,8BAA8BL,IAAAA,EAAS;AACnD,EAAA,OAAOM,kCAAAA,CAAmCN,MAAM,KAAA,CAAA;AACpD;AAFgBK,MAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA;AAIT,SAASC,kCAAAA,CAAmCT,KAAAA,EAAwCK,mBAAAA,GAA+B,KAAA,EAAK;AAC3H,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;AAEH,IAAA,QAAA,EAAUA,MAAM,QAAA,CAAA;IAChB,QAAA,EAAUA,KAAAA,CAAM,QAAA,CAAA,IAAa,IAAA,GAAOC,SAAcD,KAAAA,CAAM,QAAA,CAAA,CAAyBM,GAAAA,CAAII,WAAAA,CAAAA;AACrF,IAAA,oBAAA,EAAsBV,MAAM,oBAAA;AAChC,GAAA;AACJ;AAXgBS,MAAAA,CAAAA,kCAAAA,EAAAA,oCAAAA,CAAAA","file":"PTJBIMSS.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 * Remove the rights from the set of rights granted to the user.\n * \n * Required authorization: ``HasRight(ParticipantAdmin) OR IsAuthenticatedIdentityProviderAdmin(identity_provider_id)``\n * @export\n * @interface RevokeUserRightsRequest\n */\nexport interface RevokeUserRightsRequest {\n /**\n * The user from whom to revoke rights.\n * \n * Required\n */\n userId: string;\n /**\n * The rights to revoke.\n * \n * Optional: can be empty\n */\n rights?: Array<Right>;\n /**\n * The id of the ``Identity Provider``\n * If not set, assume the user is managed by the default identity provider.\n * \n * Optional\n */\n identityProviderId?: string;\n}\n\n/**\n * Check if a given object implements the RevokeUserRightsRequest interface.\n */\nexport function instanceOfRevokeUserRightsRequest(value: object): value is RevokeUserRightsRequest {\n if (!('userId' in value) || value['userId'] === undefined) return false;\n return true;\n}\n\nexport function RevokeUserRightsRequestFromJSON(json: any): RevokeUserRightsRequest {\n return RevokeUserRightsRequestFromJSONTyped(json, false);\n}\n\nexport function RevokeUserRightsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RevokeUserRightsRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'userId': json['userId'],\n 'rights': json['rights'] == null ? undefined : ((json['rights'] as Array<any>).map(RightFromJSON)),\n 'identityProviderId': json['identityProviderId'] == null ? undefined : json['identityProviderId'],\n };\n}\n\nexport function RevokeUserRightsRequestToJSON(json: any): RevokeUserRightsRequest {\n return RevokeUserRightsRequestToJSONTyped(json, false);\n}\n\nexport function RevokeUserRightsRequestToJSONTyped(value?: RevokeUserRightsRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'userId': value['userId'],\n 'rights': value['rights'] == null ? undefined : ((value['rights'] as Array<any>).map(RightToJSON)),\n 'identityProviderId': value['identityProviderId'],\n };\n}\n\n"]}
|
package/dist/Q3BYU6GJ.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { __name } from './VUOMXK5T.js';
|
|
2
|
+
|
|
3
|
+
// src/refresh/select-contracts.ts
|
|
4
|
+
var DAML_DECIMAL_SCALE = 10n ** 10n;
|
|
5
|
+
var MAX_SELECTED_CONTRACTS = 100;
|
|
6
|
+
var parseDamlDecimal = /* @__PURE__ */ __name((value, label) => {
|
|
7
|
+
if (typeof value !== "string") {
|
|
8
|
+
throw new Error(`${label} must be a DAML Decimal string`);
|
|
9
|
+
}
|
|
10
|
+
const match = /^([+-]?)(\d+)(?:\.(\d{0,10}))?$/.exec(value);
|
|
11
|
+
if (!match) {
|
|
12
|
+
throw new Error(`${label} is not a valid DAML Decimal: ${value}`);
|
|
13
|
+
}
|
|
14
|
+
const sign = match[1] === "-" ? -1n : 1n;
|
|
15
|
+
const whole = BigInt(match[2]);
|
|
16
|
+
const fraction = BigInt((match[3] ?? "").padEnd(10, "0"));
|
|
17
|
+
return sign * (whole * DAML_DECIMAL_SCALE + fraction);
|
|
18
|
+
}, "parseDamlDecimal");
|
|
19
|
+
var selectContractAmounts = /* @__PURE__ */ __name((contracts, field, requestedValue, amountOf) => {
|
|
20
|
+
const requested = parseDamlDecimal(requestedValue, "Requested contract value");
|
|
21
|
+
if (requested <= 0n) {
|
|
22
|
+
throw new Error("Requested contract value must be positive");
|
|
23
|
+
}
|
|
24
|
+
const candidates = contracts.map((contract) => ({
|
|
25
|
+
contract,
|
|
26
|
+
amount: amountOf(contract)
|
|
27
|
+
})).filter(({ amount }) => amount > 0n).sort((left, right) => left.amount === right.amount ? left.contract.createdEvent.contractId.localeCompare(right.contract.createdEvent.contractId) : left.amount > right.amount ? -1 : 1);
|
|
28
|
+
const selected = [];
|
|
29
|
+
let total = 0n;
|
|
30
|
+
for (const candidate of candidates) {
|
|
31
|
+
selected.push(candidate.contract);
|
|
32
|
+
total += candidate.amount;
|
|
33
|
+
if (total >= requested) break;
|
|
34
|
+
}
|
|
35
|
+
if (total < requested) {
|
|
36
|
+
throw new Error(`Insufficient contract value in field ${field}: requested ${requestedValue}, found ${total.toString()} base units`);
|
|
37
|
+
}
|
|
38
|
+
if (selected.length > MAX_SELECTED_CONTRACTS) {
|
|
39
|
+
throw new Error(`Selection needs ${selected.length} contracts, exceeding the ${MAX_SELECTED_CONTRACTS} input limit`);
|
|
40
|
+
}
|
|
41
|
+
return selected;
|
|
42
|
+
}, "selectContractAmounts");
|
|
43
|
+
|
|
44
|
+
export { parseDamlDecimal, selectContractAmounts };
|
|
45
|
+
//# sourceMappingURL=Q3BYU6GJ.js.map
|
|
46
|
+
//# sourceMappingURL=Q3BYU6GJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/refresh/select-contracts.ts"],"names":["DAML_DECIMAL_SCALE","MAX_SELECTED_CONTRACTS","parseDamlDecimal","value","label","Error","match","exec","sign","whole","BigInt","fraction","padEnd","selectContractAmounts","contracts","field","requestedValue","amountOf","requested","candidates","map","contract","amount","filter","sort","left","right","createdEvent","contractId","localeCompare","selected","total","candidate","push","toString","length"],"mappings":";;;AAEA,IAAMA,qBAAqB,GAAA,IAAO,GAAA;AAClC,IAAMC,sBAAAA,GAAyB,GAAA;AAExB,IAAMC,gBAAAA,mBAAmB,MAAA,CAAA,CAACC,KAAAA,EAAgBC,KAAAA,KAAAA;AAC7C,EAAA,IAAI,OAAOD,UAAU,QAAA,EAAU;AAC3B,IAAA,MAAM,IAAIE,KAAAA,CAAM,CAAA,EAAGD,KAAAA,CAAAA,8BAAAA,CAAqC,CAAA;AAC5D,EAAA;AACA,EAAA,MAAME,KAAAA,GAAQ,iCAAA,CAAkCC,IAAAA,CAAKJ,KAAAA,CAAAA;AACrD,EAAA,IAAI,CAACG,KAAAA,EAAO;AACR,IAAA,MAAM,IAAID,KAAAA,CAAM,CAAA,EAAGD,KAAAA,CAAAA,8BAAAA,EAAsCD,KAAAA,CAAAA,CAAO,CAAA;AACpE,EAAA;AACA,EAAA,MAAMK,OAAOF,KAAAA,CAAM,CAAA,CAAA,KAAO,GAAA,GAAM,CAAC,EAAA,GAAK,EAAA;AACtC,EAAA,MAAMG,KAAAA,GAAQC,MAAAA,CAAOJ,KAAAA,CAAM,CAAA,CAAE,CAAA;AAC7B,EAAA,MAAMK,QAAAA,GAAWD,QAAQJ,KAAAA,CAAM,CAAA,KAAM,EAAA,EAAIM,MAAAA,CAAO,EAAA,EAAI,GAAA,CAAA,CAAA;AACpD,EAAA,OAAOJ,IAAAA,IAAQC,QAAQT,kBAAAA,GAAqBW,QAAAA,CAAAA;AAChD,CAAA,EAZgC,kBAAA;AAczB,IAAME,qBAAAA,mBAAwB,MAAA,CAAA,CACjCC,SAAAA,EACAC,KAAAA,EACAC,gBACAC,QAAAA,KAAAA;AAEA,EAAA,MAAMC,SAAAA,GAAYhB,gBAAAA,CAAiBc,cAAAA,EAAgB,0BAAA,CAAA;AACnD,EAAA,IAAIE,aAAa,EAAA,EAAI;AACjB,IAAA,MAAM,IAAIb,MAAM,2CAAA,CAAA;AACpB,EAAA;AAEA,EAAA,MAAMc,UAAAA,GAAaL,SAAAA,CACdM,GAAAA,CAAI,CAACC,QAAAA,MAAc;AAChBA,IAAAA,QAAAA;AACAC,IAAAA,MAAAA,EAAQL,SAASI,QAAAA;AACrB,GAAA,CAAA,CAAA,CACCE,MAAAA,CAAO,CAAC,EAAED,QAAM,KAAOA,MAAAA,GAAS,EAAE,CAAA,CAClCE,IAAAA,CAAK,CAACC,IAAAA,EAAMC,KAAAA,KACTD,KAAKH,MAAAA,KAAWI,KAAAA,CAAMJ,MAAAA,GAChBG,IAAAA,CAAKJ,QAAAA,CAASM,YAAAA,CAAaC,UAAAA,CAAWC,aAAAA,CAClCH,MAAML,QAAAA,CAASM,YAAAA,CAAaC,UAAU,CAAA,GAE1CH,IAAAA,CAAKH,MAAAA,GAASI,KAAAA,CAAMJ,MAAAA,GAClB,KACA,CAAA,CAAA;AAGhB,EAAA,MAAMQ,WAA+B,EAAA;AACrC,EAAA,IAAIC,KAAAA,GAAQ,EAAA;AACZ,EAAA,KAAA,MAAWC,aAAab,UAAAA,EAAY;AAChCW,IAAAA,QAAAA,CAASG,IAAAA,CAAKD,UAAUX,QAAQ,CAAA;AAChCU,IAAAA,KAAAA,IAASC,SAAAA,CAAUV,MAAAA;AACnB,IAAA,IAAIS,SAASb,SAAAA,EAAW;AAC5B,EAAA;AAEA,EAAA,IAAIa,QAAQb,SAAAA,EAAW;AACnB,IAAA,MAAM,IAAIb,KAAAA,CACN,CAAA,qCAAA,EAAwCU,KAAAA,CAAAA,YAAAA,EAAoBC,cAAAA,CAAAA,QAAAA,EAAyBe,KAAAA,CAAMG,QAAAA,EAAQ,CAAA,WAAA,CAAe,CAAA;AAE1H,EAAA;AACA,EAAA,IAAIJ,QAAAA,CAASK,SAASlC,sBAAAA,EAAwB;AAC1C,IAAA,MAAM,IAAII,KAAAA,CACN,CAAA,gBAAA,EAAmByB,SAASK,MAAM,CAAA,0BAAA,EAA6BlC,sBAAAA,CAAAA,YAAAA,CAAoC,CAAA;AAE3G,EAAA;AACA,EAAA,OAAO6B,QAAAA;AACX,CAAA,EA9CqC,uBAAA","file":"Q3BYU6GJ.js","sourcesContent":["import type { JsActiveContract } from '../open-api/models';\n\nconst DAML_DECIMAL_SCALE = 10n ** 10n;\nconst MAX_SELECTED_CONTRACTS = 100;\n\nexport const parseDamlDecimal = (value: unknown, label: string): bigint => {\n if (typeof value !== 'string') {\n throw new Error(`${label} must be a DAML Decimal string`);\n }\n const match = /^([+-]?)(\\d+)(?:\\.(\\d{0,10}))?$/.exec(value);\n if (!match) {\n throw new Error(`${label} is not a valid DAML Decimal: ${value}`);\n }\n const sign = match[1] === '-' ? -1n : 1n;\n const whole = BigInt(match[2]!);\n const fraction = BigInt((match[3] ?? '').padEnd(10, '0'));\n return sign * (whole * DAML_DECIMAL_SCALE + fraction);\n};\n\nexport const selectContractAmounts = (\n contracts: JsActiveContract[],\n field: string,\n requestedValue: string,\n amountOf: (contract: JsActiveContract) => bigint,\n): JsActiveContract[] => {\n const requested = parseDamlDecimal(requestedValue, 'Requested contract value');\n if (requested <= 0n) {\n throw new Error('Requested contract value must be positive');\n }\n\n const candidates = contracts\n .map((contract) => ({\n contract,\n amount: amountOf(contract),\n }))\n .filter(({ amount }) => amount > 0n)\n .sort((left, right) =>\n left.amount === right.amount\n ? left.contract.createdEvent.contractId.localeCompare(\n right.contract.createdEvent.contractId,\n )\n : left.amount > right.amount\n ? -1\n : 1,\n );\n\n const selected: JsActiveContract[] = [];\n let total = 0n;\n for (const candidate of candidates) {\n selected.push(candidate.contract);\n total += candidate.amount;\n if (total >= requested) break;\n }\n\n if (total < requested) {\n throw new Error(\n `Insufficient contract value in field ${field}: requested ${requestedValue}, found ${total.toString()} base units`,\n );\n }\n if (selected.length > MAX_SELECTED_CONTRACTS) {\n throw new Error(\n `Selection needs ${selected.length} contracts, exceeding the ${MAX_SELECTED_CONTRACTS} input limit`,\n );\n }\n return selected;\n};\n"]}
|
|
@@ -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/RevokeUserRightsResponse.ts
|
|
@@ -34,5 +34,5 @@ function RevokeUserRightsResponseToJSONTyped(value, ignoreDiscriminator = false)
|
|
|
34
34
|
__name(RevokeUserRightsResponseToJSONTyped, "RevokeUserRightsResponseToJSONTyped");
|
|
35
35
|
|
|
36
36
|
export { RevokeUserRightsResponseFromJSON, RevokeUserRightsResponseFromJSONTyped, RevokeUserRightsResponseToJSON, RevokeUserRightsResponseToJSONTyped, instanceOfRevokeUserRightsResponse };
|
|
37
|
-
//# sourceMappingURL=
|
|
38
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=QIYRAOGU.js.map
|
|
38
|
+
//# sourceMappingURL=QIYRAOGU.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/RevokeUserRightsResponse.ts"],"names":["instanceOfRevokeUserRightsResponse","value","RevokeUserRightsResponseFromJSON","json","RevokeUserRightsResponseFromJSONTyped","ignoreDiscriminator","undefined","map","RightFromJSON","RevokeUserRightsResponseToJSON","RevokeUserRightsResponseToJSONTyped","RightToJSON"],"mappings":";;;;AAwCO,SAASA,mCAAmCC,KAAAA,EAAa;AAC5D,EAAA,OAAO,IAAA;AACX;AAFgBD,MAAAA,CAAAA,kCAAAA,EAAAA,oCAAAA,CAAAA;AAIT,SAASE,iCAAiCC,IAAAA,EAAS;AACtD,EAAA,OAAOC,qCAAAA,CAAsCD,IAAM,CAAA;AACvD;AAFgBD,MAAAA,CAAAA,gCAAAA,EAAAA,kCAAAA,CAAAA;AAIT,SAASE,qCAAAA,CAAsCD,MAAWE,mBAAAA,EAA4B;AACzF,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,qCAAAA,EAAAA,uCAAAA,CAAAA;AAUT,SAASK,+BAA+BN,IAAAA,EAAS;AACpD,EAAA,OAAOO,mCAAAA,CAAoCP,MAAM,KAAA,CAAA;AACrD;AAFgBM,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA;AAIT,SAASC,mCAAAA,CAAoCT,KAAAA,EAAyCI,mBAAAA,GAA+B,KAAA,EAAK;AAC7H,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,mCAAAA,EAAAA,qCAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/RevokeUserRightsResponse.ts"],"names":["instanceOfRevokeUserRightsResponse","value","RevokeUserRightsResponseFromJSON","json","RevokeUserRightsResponseFromJSONTyped","ignoreDiscriminator","undefined","map","RightFromJSON","RevokeUserRightsResponseToJSON","RevokeUserRightsResponseToJSONTyped","RightToJSON"],"mappings":";;;;AAwCO,SAASA,mCAAmCC,KAAAA,EAAa;AAC5D,EAAA,OAAO,IAAA;AACX;AAFgBD,MAAAA,CAAAA,kCAAAA,EAAAA,oCAAAA,CAAAA;AAIT,SAASE,iCAAiCC,IAAAA,EAAS;AACtD,EAAA,OAAOC,qCAAAA,CAAsCD,IAAM,CAAA;AACvD;AAFgBD,MAAAA,CAAAA,gCAAAA,EAAAA,kCAAAA,CAAAA;AAIT,SAASE,qCAAAA,CAAsCD,MAAWE,mBAAAA,EAA4B;AACzF,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,qCAAAA,EAAAA,uCAAAA,CAAAA;AAUT,SAASK,+BAA+BN,IAAAA,EAAS;AACpD,EAAA,OAAOO,mCAAAA,CAAoCP,MAAM,KAAA,CAAA;AACrD;AAFgBM,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA;AAIT,SAASC,mCAAAA,CAAoCT,KAAAA,EAAyCI,mBAAAA,GAA+B,KAAA,EAAK;AAC7H,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,mCAAAA,EAAAA,qCAAAA,CAAAA","file":"QIYRAOGU.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 RevokeUserRightsResponse\n */\nexport interface RevokeUserRightsResponse {\n /**\n * The rights that were actually revoked by the request.\n * \n * Optional: can be empty\n */\n newlyRevokedRights?: Array<Right>;\n}\n\n/**\n * Check if a given object implements the RevokeUserRightsResponse interface.\n */\nexport function instanceOfRevokeUserRightsResponse(value: object): value is RevokeUserRightsResponse {\n return true;\n}\n\nexport function RevokeUserRightsResponseFromJSON(json: any): RevokeUserRightsResponse {\n return RevokeUserRightsResponseFromJSONTyped(json, false);\n}\n\nexport function RevokeUserRightsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RevokeUserRightsResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'newlyRevokedRights': json['newlyRevokedRights'] == null ? undefined : ((json['newlyRevokedRights'] as Array<any>).map(RightFromJSON)),\n };\n}\n\nexport function RevokeUserRightsResponseToJSON(json: any): RevokeUserRightsResponse {\n return RevokeUserRightsResponseToJSONTyped(json, false);\n}\n\nexport function RevokeUserRightsResponseToJSONTyped(value?: RevokeUserRightsResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'newlyRevokedRights': value['newlyRevokedRights'] == null ? undefined : ((value['newlyRevokedRights'] as Array<any>).map(RightToJSON)),\n };\n}\n\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CompletionResponseFromJSON, CompletionResponseToJSON } from './
|
|
1
|
+
import { CompletionResponseFromJSON, CompletionResponseToJSON } from './BWPOOFYL.js';
|
|
2
2
|
import { __name } from './VUOMXK5T.js';
|
|
3
3
|
|
|
4
4
|
// src/open-api/models/CompletionStreamResponse.ts
|
|
@@ -34,5 +34,5 @@ function CompletionStreamResponseToJSONTyped(value, ignoreDiscriminator = false)
|
|
|
34
34
|
__name(CompletionStreamResponseToJSONTyped, "CompletionStreamResponseToJSONTyped");
|
|
35
35
|
|
|
36
36
|
export { CompletionStreamResponseFromJSON, CompletionStreamResponseFromJSONTyped, CompletionStreamResponseToJSON, CompletionStreamResponseToJSONTyped, instanceOfCompletionStreamResponse };
|
|
37
|
-
//# sourceMappingURL=
|
|
38
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=QRPS2ZRD.js.map
|
|
38
|
+
//# sourceMappingURL=QRPS2ZRD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/CompletionStreamResponse.ts"],"names":["instanceOfCompletionStreamResponse","value","CompletionStreamResponseFromJSON","json","CompletionStreamResponseFromJSONTyped","ignoreDiscriminator","undefined","CompletionResponseFromJSON","CompletionStreamResponseToJSON","CompletionStreamResponseToJSONTyped","CompletionResponseToJSON"],"mappings":";;;;AAsCO,SAASA,mCAAmCC,KAAAA,EAAa;AAC5D,EAAA,OAAO,IAAA;AACX;AAFgBD,MAAAA,CAAAA,kCAAAA,EAAAA,oCAAAA,CAAAA;AAIT,SAASE,iCAAiCC,IAAAA,EAAS;AACtD,EAAA,OAAOC,qCAAAA,CAAsCD,IAAM,CAAA;AACvD;AAFgBD,MAAAA,CAAAA,gCAAAA,EAAAA,kCAAAA,CAAAA;AAIT,SAASE,qCAAAA,CAAsCD,MAAWE,mBAAAA,EAA4B;AACzF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,oBAAA,EAAsBA,IAAAA,CAAK,oBAAA,CAAA,IAAyB,IAAA,GAAOG,SAAYC,0BAAAA,CAA2BJ,IAAAA,CAAK,oBAAA,CAAqB;AAChI,GAAA;AACJ;AARgBC,MAAAA,CAAAA,qCAAAA,EAAAA,uCAAAA,CAAAA;AAUT,SAASI,+BAA+BL,IAAAA,EAAS;AACpD,EAAA,OAAOM,mCAAAA,CAAoCN,MAAM,KAAA,CAAA;AACrD;AAFgBK,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA;AAIT,SAASC,mCAAAA,CAAoCR,KAAAA,EAAyCI,mBAAAA,GAA+B,KAAA,EAAK;AAC7H,EAAA,IAAIJ,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,oBAAA,EAAsBS,wBAAAA,CAAyBT,KAAAA,CAAM,oBAAA,CAAqB;AAC9E,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/CompletionStreamResponse.ts"],"names":["instanceOfCompletionStreamResponse","value","CompletionStreamResponseFromJSON","json","CompletionStreamResponseFromJSONTyped","ignoreDiscriminator","undefined","CompletionResponseFromJSON","CompletionStreamResponseToJSON","CompletionStreamResponseToJSONTyped","CompletionResponseToJSON"],"mappings":";;;;AAsCO,SAASA,mCAAmCC,KAAAA,EAAa;AAC5D,EAAA,OAAO,IAAA;AACX;AAFgBD,MAAAA,CAAAA,kCAAAA,EAAAA,oCAAAA,CAAAA;AAIT,SAASE,iCAAiCC,IAAAA,EAAS;AACtD,EAAA,OAAOC,qCAAAA,CAAsCD,IAAM,CAAA;AACvD;AAFgBD,MAAAA,CAAAA,gCAAAA,EAAAA,kCAAAA,CAAAA;AAIT,SAASE,qCAAAA,CAAsCD,MAAWE,mBAAAA,EAA4B;AACzF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,oBAAA,EAAsBA,IAAAA,CAAK,oBAAA,CAAA,IAAyB,IAAA,GAAOG,SAAYC,0BAAAA,CAA2BJ,IAAAA,CAAK,oBAAA,CAAqB;AAChI,GAAA;AACJ;AARgBC,MAAAA,CAAAA,qCAAAA,EAAAA,uCAAAA,CAAAA;AAUT,SAASI,+BAA+BL,IAAAA,EAAS;AACpD,EAAA,OAAOM,mCAAAA,CAAoCN,MAAM,KAAA,CAAA;AACrD;AAFgBK,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA;AAIT,SAASC,mCAAAA,CAAoCR,KAAAA,EAAyCI,mBAAAA,GAA+B,KAAA,EAAK;AAC7H,EAAA,IAAIJ,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,oBAAA,EAAsBS,wBAAAA,CAAyBT,KAAAA,CAAM,oBAAA,CAAqB;AAC9E,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA","file":"QRPS2ZRD.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 { CompletionResponse } from './CompletionResponse.js';\nimport {\n CompletionResponseFromJSON,\n CompletionResponseFromJSONTyped,\n CompletionResponseToJSON,\n CompletionResponseToJSONTyped,\n} from './CompletionResponse.js';\n\n/**\n * \n * @export\n * @interface CompletionStreamResponse\n */\nexport interface CompletionStreamResponse {\n /**\n * \n */\n completionResponse?: CompletionResponse;\n}\n\n/**\n * Check if a given object implements the CompletionStreamResponse interface.\n */\nexport function instanceOfCompletionStreamResponse(value: object): value is CompletionStreamResponse {\n return true;\n}\n\nexport function CompletionStreamResponseFromJSON(json: any): CompletionStreamResponse {\n return CompletionStreamResponseFromJSONTyped(json, false);\n}\n\nexport function CompletionStreamResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompletionStreamResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'completionResponse': json['completionResponse'] == null ? undefined : CompletionResponseFromJSON(json['completionResponse']),\n };\n}\n\nexport function CompletionStreamResponseToJSON(json: any): CompletionStreamResponse {\n return CompletionStreamResponseToJSONTyped(json, false);\n}\n\nexport function CompletionStreamResponseToJSONTyped(value?: CompletionStreamResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'completionResponse': CompletionResponseToJSON(value['completionResponse']),\n };\n}\n\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TimeFromJSON, TimeToJSON } from './
|
|
1
|
+
import { TimeFromJSON, TimeToJSON } from './TDVOFX7N.js';
|
|
2
2
|
import { __name } from './VUOMXK5T.js';
|
|
3
3
|
|
|
4
4
|
// src/open-api/models/MinLedgerTime.ts
|
|
@@ -34,5 +34,5 @@ function MinLedgerTimeToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
34
34
|
__name(MinLedgerTimeToJSONTyped, "MinLedgerTimeToJSONTyped");
|
|
35
35
|
|
|
36
36
|
export { MinLedgerTimeFromJSON, MinLedgerTimeFromJSONTyped, MinLedgerTimeToJSON, MinLedgerTimeToJSONTyped, instanceOfMinLedgerTime };
|
|
37
|
-
//# sourceMappingURL=
|
|
38
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=RDG3GOWQ.js.map
|
|
38
|
+
//# sourceMappingURL=RDG3GOWQ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/MinLedgerTime.ts"],"names":["instanceOfMinLedgerTime","value","MinLedgerTimeFromJSON","json","MinLedgerTimeFromJSONTyped","ignoreDiscriminator","undefined","TimeFromJSON","MinLedgerTimeToJSON","MinLedgerTimeToJSONTyped","TimeToJSON"],"mappings":";;;;AAsCO,SAASA,wBAAwBC,KAAAA,EAAa;AACjD,EAAA,OAAO,IAAA;AACX;AAFgBD,MAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA;AAIT,SAASE,sBAAsBC,IAAAA,EAAS;AAC3C,EAAA,OAAOC,0BAAAA,CAA2BD,IAAM,CAAA;AAC5C;AAFgBD,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;AAIT,SAASE,0BAAAA,CAA2BD,MAAWE,mBAAAA,EAA4B;AAC9E,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,MAAA,EAAQA,IAAAA,CAAK,MAAA,CAAA,IAAW,IAAA,GAAOG,SAAYC,YAAAA,CAAaJ,IAAAA,CAAK,MAAA,CAAO;AACxE,GAAA;AACJ;AARgBC,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAUT,SAASI,oBAAoBL,IAAAA,EAAS;AACzC,EAAA,OAAOM,wBAAAA,CAAyBN,MAAM,KAAA,CAAA;AAC1C;AAFgBK,MAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AAIT,SAASC,wBAAAA,CAAyBR,KAAAA,EAA8BI,mBAAAA,GAA+B,KAAA,EAAK;AACvG,EAAA,IAAIJ,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,MAAA,EAAQS,UAAAA,CAAWT,KAAAA,CAAM,MAAA,CAAO;AACpC,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/MinLedgerTime.ts"],"names":["instanceOfMinLedgerTime","value","MinLedgerTimeFromJSON","json","MinLedgerTimeFromJSONTyped","ignoreDiscriminator","undefined","TimeFromJSON","MinLedgerTimeToJSON","MinLedgerTimeToJSONTyped","TimeToJSON"],"mappings":";;;;AAsCO,SAASA,wBAAwBC,KAAAA,EAAa;AACjD,EAAA,OAAO,IAAA;AACX;AAFgBD,MAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA;AAIT,SAASE,sBAAsBC,IAAAA,EAAS;AAC3C,EAAA,OAAOC,0BAAAA,CAA2BD,IAAM,CAAA;AAC5C;AAFgBD,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;AAIT,SAASE,0BAAAA,CAA2BD,MAAWE,mBAAAA,EAA4B;AAC9E,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,MAAA,EAAQA,IAAAA,CAAK,MAAA,CAAA,IAAW,IAAA,GAAOG,SAAYC,YAAAA,CAAaJ,IAAAA,CAAK,MAAA,CAAO;AACxE,GAAA;AACJ;AARgBC,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAUT,SAASI,oBAAoBL,IAAAA,EAAS;AACzC,EAAA,OAAOM,wBAAAA,CAAyBN,MAAM,KAAA,CAAA;AAC1C;AAFgBK,MAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AAIT,SAASC,wBAAAA,CAAyBR,KAAAA,EAA8BI,mBAAAA,GAA+B,KAAA,EAAK;AACvG,EAAA,IAAIJ,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,MAAA,EAAQS,UAAAA,CAAWT,KAAAA,CAAM,MAAA,CAAO;AACpC,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA","file":"RDG3GOWQ.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 { Time } from './Time.js';\nimport {\n TimeFromJSON,\n TimeFromJSONTyped,\n TimeToJSON,\n TimeToJSONTyped,\n} from './Time.js';\n\n/**\n * \n * @export\n * @interface MinLedgerTime\n */\nexport interface MinLedgerTime {\n /**\n * \n */\n time?: Time;\n}\n\n/**\n * Check if a given object implements the MinLedgerTime interface.\n */\nexport function instanceOfMinLedgerTime(value: object): value is MinLedgerTime {\n return true;\n}\n\nexport function MinLedgerTimeFromJSON(json: any): MinLedgerTime {\n return MinLedgerTimeFromJSONTyped(json, false);\n}\n\nexport function MinLedgerTimeFromJSONTyped(json: any, ignoreDiscriminator: boolean): MinLedgerTime {\n if (json == null) {\n return json;\n }\n return {\n \n 'time': json['time'] == null ? undefined : TimeFromJSON(json['time']),\n };\n}\n\nexport function MinLedgerTimeToJSON(json: any): MinLedgerTime {\n return MinLedgerTimeToJSONTyped(json, false);\n}\n\nexport function MinLedgerTimeToJSONTyped(value?: MinLedgerTime | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'time': TimeToJSON(value['time']),\n };\n}\n\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UpdateFormatFromJSON, UpdateFormatToJSON } from './
|
|
1
|
+
import { UpdateFormatFromJSON, UpdateFormatToJSON } from './TYI7PTYG.js';
|
|
2
2
|
import { __name } from './VUOMXK5T.js';
|
|
3
3
|
|
|
4
4
|
// src/open-api/models/GetUpdateByHashRequest.ts
|
|
@@ -38,5 +38,5 @@ function GetUpdateByHashRequestToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
38
38
|
__name(GetUpdateByHashRequestToJSONTyped, "GetUpdateByHashRequestToJSONTyped");
|
|
39
39
|
|
|
40
40
|
export { GetUpdateByHashRequestFromJSON, GetUpdateByHashRequestFromJSONTyped, GetUpdateByHashRequestToJSON, GetUpdateByHashRequestToJSONTyped, instanceOfGetUpdateByHashRequest };
|
|
41
|
-
//# sourceMappingURL=
|
|
42
|
-
//# sourceMappingURL=
|
|
41
|
+
//# sourceMappingURL=RH6PBMPO.js.map
|
|
42
|
+
//# sourceMappingURL=RH6PBMPO.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/GetUpdateByHashRequest.ts"],"names":["instanceOfGetUpdateByHashRequest","value","undefined","GetUpdateByHashRequestFromJSON","json","GetUpdateByHashRequestFromJSONTyped","ignoreDiscriminator","UpdateFormatFromJSON","GetUpdateByHashRequestToJSON","GetUpdateByHashRequestToJSONTyped","UpdateFormatToJSON"],"mappings":";;;;AA4CO,SAASA,iCAAiCC,KAAAA,EAAa;AAC1D,EAAA,IAAI,EAAE,iBAAA,IAAqBA,KAAAA,CAAAA,IAAUA,MAAM,iBAAA,CAAA,KAAuBC,QAAW,OAAO,KAAA;AACpF,EAAA,IAAI,EAAE,cAAA,IAAkBD,KAAAA,CAAAA,IAAUA,MAAM,cAAA,CAAA,KAAoBC,QAAW,OAAO,KAAA;AAC9E,EAAA,OAAO,IAAA;AACX;AAJgBF,MAAAA,CAAAA,gCAAAA,EAAAA,kCAAAA,CAAAA;AAMT,SAASG,+BAA+BC,IAAAA,EAAS;AACpD,EAAA,OAAOC,mCAAAA,CAAoCD,IAAM,CAAA;AACrD;AAFgBD,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA;AAIT,SAASE,mCAAAA,CAAoCD,MAAWE,mBAAAA,EAA4B;AACvF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;AAEH,IAAA,iBAAA,EAAmBA,KAAK,iBAAA,CAAA;IACxB,cAAA,EAAgBG,oBAAAA,CAAqBH,IAAAA,CAAK,cAAA,CAAe;AAC7D,GAAA;AACJ;AATgBC,MAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA;AAWT,SAASG,6BAA6BJ,IAAAA,EAAS;AAClD,EAAA,OAAOK,iCAAAA,CAAkCL,MAAM,KAAA,CAAA;AACnD;AAFgBI,MAAAA,CAAAA,4BAAAA,EAAAA,8BAAAA,CAAAA;AAIT,SAASC,iCAAAA,CAAkCR,KAAAA,EAAuCK,mBAAAA,GAA+B,KAAA,EAAK;AACzH,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;AAEH,IAAA,iBAAA,EAAmBA,MAAM,iBAAA,CAAA;IACzB,cAAA,EAAgBS,kBAAAA,CAAmBT,KAAAA,CAAM,cAAA,CAAe;AAC5D,GAAA;AACJ;AAVgBQ,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/GetUpdateByHashRequest.ts"],"names":["instanceOfGetUpdateByHashRequest","value","undefined","GetUpdateByHashRequestFromJSON","json","GetUpdateByHashRequestFromJSONTyped","ignoreDiscriminator","UpdateFormatFromJSON","GetUpdateByHashRequestToJSON","GetUpdateByHashRequestToJSONTyped","UpdateFormatToJSON"],"mappings":";;;;AA4CO,SAASA,iCAAiCC,KAAAA,EAAa;AAC1D,EAAA,IAAI,EAAE,iBAAA,IAAqBA,KAAAA,CAAAA,IAAUA,MAAM,iBAAA,CAAA,KAAuBC,QAAW,OAAO,KAAA;AACpF,EAAA,IAAI,EAAE,cAAA,IAAkBD,KAAAA,CAAAA,IAAUA,MAAM,cAAA,CAAA,KAAoBC,QAAW,OAAO,KAAA;AAC9E,EAAA,OAAO,IAAA;AACX;AAJgBF,MAAAA,CAAAA,gCAAAA,EAAAA,kCAAAA,CAAAA;AAMT,SAASG,+BAA+BC,IAAAA,EAAS;AACpD,EAAA,OAAOC,mCAAAA,CAAoCD,IAAM,CAAA;AACrD;AAFgBD,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA;AAIT,SAASE,mCAAAA,CAAoCD,MAAWE,mBAAAA,EAA4B;AACvF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;AAEH,IAAA,iBAAA,EAAmBA,KAAK,iBAAA,CAAA;IACxB,cAAA,EAAgBG,oBAAAA,CAAqBH,IAAAA,CAAK,cAAA,CAAe;AAC7D,GAAA;AACJ;AATgBC,MAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA;AAWT,SAASG,6BAA6BJ,IAAAA,EAAS;AAClD,EAAA,OAAOK,iCAAAA,CAAkCL,MAAM,KAAA,CAAA;AACnD;AAFgBI,MAAAA,CAAAA,4BAAAA,EAAAA,8BAAAA,CAAAA;AAIT,SAASC,iCAAAA,CAAkCR,KAAAA,EAAuCK,mBAAAA,GAA+B,KAAA,EAAK;AACzH,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;AAEH,IAAA,iBAAA,EAAmBA,MAAM,iBAAA,CAAA;IACzB,cAAA,EAAgBS,kBAAAA,CAAmBT,KAAAA,CAAM,cAAA,CAAe;AAC5D,GAAA;AACJ;AAVgBQ,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA","file":"RH6PBMPO.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 { UpdateFormat } from './UpdateFormat.js';\nimport {\n UpdateFormatFromJSON,\n UpdateFormatFromJSONTyped,\n UpdateFormatToJSON,\n UpdateFormatToJSONTyped,\n} from './UpdateFormat.js';\n\n/**\n * \n * @export\n * @interface GetUpdateByHashRequest\n */\nexport interface GetUpdateByHashRequest {\n /**\n * The transaction hash to look up.\n * \n * Required: must be non-empty\n */\n transactionHash: string;\n /**\n * \n */\n updateFormat: UpdateFormat;\n}\n\n/**\n * Check if a given object implements the GetUpdateByHashRequest interface.\n */\nexport function instanceOfGetUpdateByHashRequest(value: object): value is GetUpdateByHashRequest {\n if (!('transactionHash' in value) || value['transactionHash'] === undefined) return false;\n if (!('updateFormat' in value) || value['updateFormat'] === undefined) return false;\n return true;\n}\n\nexport function GetUpdateByHashRequestFromJSON(json: any): GetUpdateByHashRequest {\n return GetUpdateByHashRequestFromJSONTyped(json, false);\n}\n\nexport function GetUpdateByHashRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetUpdateByHashRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'transactionHash': json['transactionHash'],\n 'updateFormat': UpdateFormatFromJSON(json['updateFormat']),\n };\n}\n\nexport function GetUpdateByHashRequestToJSON(json: any): GetUpdateByHashRequest {\n return GetUpdateByHashRequestToJSONTyped(json, false);\n}\n\nexport function GetUpdateByHashRequestToJSONTyped(value?: GetUpdateByHashRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'transactionHash': value['transactionHash'],\n 'updateFormat': UpdateFormatToJSON(value['updateFormat']),\n };\n}\n\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { resolveCantonRefreshPlan } from './
|
|
2
|
-
import { createContractAddressResolver } from './RVJRKYSC.js';
|
|
1
|
+
import { resolveCantonRefreshPlan } from './ABHGT5DF.js';
|
|
3
2
|
import { substituteRefsToCids } from './BSVJEBKM.js';
|
|
4
|
-
import {
|
|
3
|
+
import { createContractAddressResolver } from './RVJRKYSC.js';
|
|
4
|
+
import { AMULET_INSTRUMENT_ID } from './P7PG4R5T.js';
|
|
5
5
|
import { __name } from './VUOMXK5T.js';
|
|
6
6
|
|
|
7
7
|
// src/refresh/resolve.ts
|
|
@@ -78,5 +78,5 @@ var resolveCantonTransaction = /* @__PURE__ */ __name(async ({ unresolvedCommand
|
|
|
78
78
|
}, "resolveCantonTransaction");
|
|
79
79
|
|
|
80
80
|
export { resolveCantonTransaction };
|
|
81
|
-
//# sourceMappingURL=
|
|
82
|
-
//# sourceMappingURL=
|
|
81
|
+
//# sourceMappingURL=RLUQWVZ6.js.map
|
|
82
|
+
//# sourceMappingURL=RLUQWVZ6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/refresh/resolve.ts"],"names":["resolveCantonTransaction","unresolvedCommands","unresolvedDisclosedContracts","refreshPlan","senderParty","signingParties","client","resolveCantonRefreshPlan","nextDisclosed","disclosedContractIds","Set","map","contractId","appendDisclosures","disclosures","disclosure","has","add","push","resolveActiveContractId","resolveActiveContractIds","requireSenderParty","createContractAddressResolver","amuletBundlePromise","getAmuletBundle","dsoParty","getDsoParty","amuletContext","disclosedContracts","bundle","externalPartyAmuletRulesCid","getAmuletContextWithExternalRules","admin","id","AMULET_INSTRUMENT_ID","resolveRef","ref","type","resolvedCommands","substituteRefsToCids","resolvedDisclosedContracts","index","length","commands"],"mappings":"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","file":"
|
|
1
|
+
{"version":3,"sources":["../src/refresh/resolve.ts"],"names":["resolveCantonTransaction","unresolvedCommands","unresolvedDisclosedContracts","refreshPlan","senderParty","signingParties","client","resolveCantonRefreshPlan","nextDisclosed","disclosedContractIds","Set","map","contractId","appendDisclosures","disclosures","disclosure","has","add","push","resolveActiveContractId","resolveActiveContractIds","requireSenderParty","createContractAddressResolver","amuletBundlePromise","getAmuletBundle","dsoParty","getDsoParty","amuletContext","disclosedContracts","bundle","externalPartyAmuletRulesCid","getAmuletContextWithExternalRules","admin","id","AMULET_INSTRUMENT_ID","resolveRef","ref","type","resolvedCommands","substituteRefsToCids","resolvedDisclosedContracts","index","length","commands"],"mappings":"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","file":"RLUQWVZ6.js","sourcesContent":["import { AMULET_INSTRUMENT_ID, type ChoiceContext } from '../client/amulet';\nimport type { ICantonClient } from '../client/interface';\nimport type { CantonDeferredValue } from '../deferredValue';\nimport type {\n CantonCommand,\n CantonDisclosedContract,\n CantonUnresolvedCommand,\n} from '../transaction';\nimport { createContractAddressResolver } from './address-resolver';\nimport type { CantonRefreshPlan } from './plan';\nimport { resolveCantonRefreshPlan } from './resolve-plan';\nimport { substituteRefsToCids } from './reverse-substitute';\n\nexport interface ResolveCantonAddressParams {\n unresolvedCommands: CantonUnresolvedCommand[];\n unresolvedDisclosedContracts: CantonDisclosedContract[];\n refreshPlan?: CantonRefreshPlan;\n senderParty?: string;\n /** A contract is only disclosed when none of these parties is already a stakeholder on it. */\n signingParties: string[];\n client: ICantonClient;\n}\n\nexport const resolveCantonTransaction = async ({\n unresolvedCommands,\n unresolvedDisclosedContracts,\n refreshPlan,\n senderParty,\n signingParties,\n client,\n}: ResolveCantonAddressParams): Promise<{\n commands: CantonCommand[];\n disclosedContracts: CantonDisclosedContract[];\n}> => {\n if (refreshPlan) {\n return resolveCantonRefreshPlan({\n unresolvedCommands,\n unresolvedDisclosedContracts,\n refreshPlan,\n senderParty,\n signingParties,\n client,\n });\n }\n\n const nextDisclosed = [...unresolvedDisclosedContracts];\n const disclosedContractIds = new Set(\n unresolvedDisclosedContracts.map(({ contractId }) => contractId),\n );\n const appendDisclosures = (disclosures: CantonDisclosedContract[]): void => {\n for (const disclosure of disclosures) {\n if (!disclosedContractIds.has(disclosure.contractId)) {\n disclosedContractIds.add(disclosure.contractId);\n nextDisclosed.push(disclosure);\n }\n }\n };\n\n const { resolveActiveContractId, resolveActiveContractIds, requireSenderParty } =\n createContractAddressResolver({\n client,\n senderParty,\n signingParties,\n appendDisclosures,\n });\n\n let amuletBundlePromise:\n | Promise<{\n amuletContext: ChoiceContext;\n externalPartyAmuletRulesCid: string;\n }>\n | undefined;\n\n const getAmuletBundle = async () => {\n if (!amuletBundlePromise) {\n amuletBundlePromise = (async () => {\n const dsoParty = await client.getDsoParty();\n const {\n amuletContext,\n disclosedContracts: bundle,\n externalPartyAmuletRulesCid,\n } = await client.getAmuletContextWithExternalRules({\n admin: dsoParty,\n id: AMULET_INSTRUMENT_ID,\n });\n appendDisclosures(bundle);\n return { amuletContext, externalPartyAmuletRulesCid };\n })();\n }\n return amuletBundlePromise;\n };\n\n const resolveRef = async (ref: CantonDeferredValue): Promise<unknown> => {\n switch (ref.type) {\n case 'senderParty':\n return requireSenderParty(ref.type);\n case 'activeContractId':\n return resolveActiveContractId(ref);\n case 'activeContractIds':\n return resolveActiveContractIds(ref);\n case 'amuletRulesCid':\n return (await getAmuletBundle()).externalPartyAmuletRulesCid;\n case 'amuletContext':\n return (await getAmuletBundle()).amuletContext;\n }\n };\n\n const resolvedCommands = await substituteRefsToCids(unresolvedCommands, resolveRef);\n const resolvedDisclosedContracts: CantonDisclosedContract[] = [];\n for (let index = 0; index < nextDisclosed.length; index++) {\n resolvedDisclosedContracts.push(\n await substituteRefsToCids(nextDisclosed[index]!, resolveRef),\n );\n }\n\n return {\n commands: resolvedCommands,\n disclosedContracts: resolvedDisclosedContracts,\n };\n};\n"]}
|
package/dist/SA63DYLV.js
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { cantonCallbackAppUid } from './MV4DFHZP.js';
|
|
2
|
+
import { discoveryUrlsForAppUid, fetchTransferInstructionRegistryContext } from './L64D74BZ.js';
|
|
3
|
+
import { callbackDisclosure } from './YMXOSAU4.js';
|
|
4
|
+
import { parseAmuletDecimal } from './CXTOAS7N.js';
|
|
5
|
+
import { cantonDisclosedContractSchema } from './HCNXHOIJ.js';
|
|
6
|
+
import { areExpectedSignatories } from './SWY4QT4I.js';
|
|
7
|
+
import { __name } from './VUOMXK5T.js';
|
|
8
|
+
import { z } from 'zod';
|
|
9
|
+
|
|
10
|
+
var INTERFACE = "#splice-api-token-transfer-instruction-v1:Splice.Api.Token.TransferInstructionV1:TransferInstruction";
|
|
11
|
+
var providerDisclosuresSchema = z.array(cantonDisclosedContractSchema.extend({
|
|
12
|
+
contractId: z.string().min(1),
|
|
13
|
+
createdEventBlob: z.string().min(1),
|
|
14
|
+
synchronizerId: z.string().min(1)
|
|
15
|
+
}));
|
|
16
|
+
var metadata = z.object({
|
|
17
|
+
values: z.record(z.string(), z.string())
|
|
18
|
+
});
|
|
19
|
+
var decimal = z.string().regex(/^-?\d+(?:\.\d{1,10})?$/);
|
|
20
|
+
var instrument = z.object({
|
|
21
|
+
admin: z.string().min(1),
|
|
22
|
+
id: z.string()
|
|
23
|
+
});
|
|
24
|
+
var callSchema = z.object({
|
|
25
|
+
tag: z.enum([
|
|
26
|
+
"OpAcceptTransferInstruction",
|
|
27
|
+
"OpRejectTransferInstruction",
|
|
28
|
+
"OpWithdrawTransferInstruction"
|
|
29
|
+
]),
|
|
30
|
+
value: z.object({
|
|
31
|
+
transferSender: z.string(),
|
|
32
|
+
receiver: z.string(),
|
|
33
|
+
amount: decimal,
|
|
34
|
+
instrumentId: instrument,
|
|
35
|
+
requestedAt: z.string(),
|
|
36
|
+
executeBefore: z.string(),
|
|
37
|
+
transferMeta: metadata,
|
|
38
|
+
instructionMeta: metadata,
|
|
39
|
+
extraArgsMeta: metadata
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
var viewSchema = z.object({
|
|
43
|
+
transfer: z.object({
|
|
44
|
+
sender: z.string(),
|
|
45
|
+
receiver: z.string(),
|
|
46
|
+
amount: decimal,
|
|
47
|
+
instrumentId: instrument,
|
|
48
|
+
requestedAt: z.string(),
|
|
49
|
+
executeBefore: z.string(),
|
|
50
|
+
meta: metadata
|
|
51
|
+
}),
|
|
52
|
+
meta: metadata,
|
|
53
|
+
status: z.object({
|
|
54
|
+
tag: z.string()
|
|
55
|
+
})
|
|
56
|
+
});
|
|
57
|
+
var timeMicros = /* @__PURE__ */ __name((value) => {
|
|
58
|
+
const match = /^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2})(?:\.(\d{1,6}))?(Z|[+-]\d{2}:\d{2})$/.exec(value);
|
|
59
|
+
const millis = match ? Date.parse(`${match[1]}${match[3]}`) : NaN;
|
|
60
|
+
if (!Number.isFinite(millis)) throw new Error("Invalid transfer instruction time");
|
|
61
|
+
return BigInt(millis) * 1000n + BigInt((match[2] ?? "").padEnd(6, "0"));
|
|
62
|
+
}, "timeMicros");
|
|
63
|
+
var sameMetadata = /* @__PURE__ */ __name((left, right) => Object.keys(left.values).length === Object.keys(right.values).length && Object.entries(left.values).every(([key, value]) => right.values[key] === value), "sameMetadata");
|
|
64
|
+
var resolveCantonOneSigTransferInstructionContext = /* @__PURE__ */ __name(async (sdk, input, signedCall, client) => {
|
|
65
|
+
const call = callSchema.parse(signedCall);
|
|
66
|
+
const signed = call.value;
|
|
67
|
+
const choice = call.tag === "OpAcceptTransferInstruction" ? "accept" : call.tag === "OpRejectTransferInstruction" ? "reject" : "withdraw";
|
|
68
|
+
if ((choice === "withdraw" ? signed.transferSender : signed.receiver) !== input.admin) throw new Error("OneSig transfer instruction authority mismatch");
|
|
69
|
+
const offset = await sdk.getLedgerEndOffset();
|
|
70
|
+
const packageId = await sdk.getPackageId("splice-api-token-transfer-instruction-v1", [
|
|
71
|
+
input.admin
|
|
72
|
+
]);
|
|
73
|
+
const interfaceId = `${packageId}:Splice.Api.Token.TransferInstructionV1:TransferInstruction`;
|
|
74
|
+
const instructions = (await sdk.queryActiveContractsByInterface([
|
|
75
|
+
input.admin
|
|
76
|
+
], offset, [
|
|
77
|
+
INTERFACE
|
|
78
|
+
], {
|
|
79
|
+
includeCreatedEventBlob: true
|
|
80
|
+
})).filter(({ createdEvent }) => createdEvent.contractId === input.transferInstructionCid);
|
|
81
|
+
if (instructions.length !== 1) throw new Error("Pinned OneSig transfer instruction is not active or visible");
|
|
82
|
+
const instruction = instructions[0];
|
|
83
|
+
const views = instruction.createdEvent.interfaceViews?.filter((view2) => view2.interfaceId === interfaceId && (!view2.viewStatus || view2.viewStatus.code === 0)) ?? [];
|
|
84
|
+
if (views.length !== 1 || !areExpectedSignatories(instruction.createdEvent, [
|
|
85
|
+
signed.instrumentId.admin
|
|
86
|
+
])) throw new Error("Invalid OneSig transfer instruction interface or signatory");
|
|
87
|
+
const view = viewSchema.parse(views[0].viewValue);
|
|
88
|
+
const transfer = view.transfer;
|
|
89
|
+
if (transfer.sender !== signed.transferSender || transfer.receiver !== signed.receiver || parseAmuletDecimal(transfer.amount) !== parseAmuletDecimal(signed.amount) || transfer.instrumentId.admin !== signed.instrumentId.admin || transfer.instrumentId.id !== signed.instrumentId.id || timeMicros(transfer.requestedAt) !== timeMicros(signed.requestedAt) || timeMicros(transfer.executeBefore) !== timeMicros(signed.executeBefore) || !sameMetadata(transfer.meta, signed.transferMeta) || !sameMetadata(view.meta, signed.instructionMeta) || choice !== "withdraw" && view.status.tag !== "TransferPendingReceiverAcceptance") throw new Error("Pinned OneSig transfer instruction does not match signed intent or status");
|
|
90
|
+
const instructionDisclosure = callbackDisclosure(instruction);
|
|
91
|
+
const canonical = signed.instrumentId.id === "Amulet" && signed.instrumentId.admin === await client.getDsoParty();
|
|
92
|
+
const bundle = await (async () => {
|
|
93
|
+
if (canonical) return client.getTransferInstructionContext({
|
|
94
|
+
contractId: input.transferInstructionCid,
|
|
95
|
+
choice
|
|
96
|
+
});
|
|
97
|
+
const urls = await discoveryUrlsForAppUid(sdk, input.informee, offset, cantonCallbackAppUid(signed.instrumentId.admin, signed.instrumentId.id));
|
|
98
|
+
if (urls.length > 1) throw new Error("Ambiguous transfer instruction registry");
|
|
99
|
+
const url = urls[0] ?? input.registryUrls?.[signed.instrumentId.admin];
|
|
100
|
+
if (!url) throw new Error("No registry for transfer instruction instrument");
|
|
101
|
+
return fetchTransferInstructionRegistryContext(url, input.transferInstructionCid, choice, input.environment);
|
|
102
|
+
})();
|
|
103
|
+
const providerDisclosures = providerDisclosuresSchema.parse(bundle.disclosedContracts);
|
|
104
|
+
return {
|
|
105
|
+
context: {
|
|
106
|
+
tag: "TransferInstructionContext",
|
|
107
|
+
value: {
|
|
108
|
+
transferInstructionCid: input.transferInstructionCid,
|
|
109
|
+
extraArgsContext: bundle.choiceContext
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
disclosedContracts: [
|
|
113
|
+
instructionDisclosure,
|
|
114
|
+
...providerDisclosures
|
|
115
|
+
]
|
|
116
|
+
};
|
|
117
|
+
}, "resolveCantonOneSigTransferInstructionContext");
|
|
118
|
+
|
|
119
|
+
export { resolveCantonOneSigTransferInstructionContext };
|
|
120
|
+
//# sourceMappingURL=SA63DYLV.js.map
|
|
121
|
+
//# sourceMappingURL=SA63DYLV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/refresh/onesig-transfer-instruction.ts"],"names":["INTERFACE","providerDisclosuresSchema","z","array","cantonDisclosedContractSchema","extend","contractId","string","min","createdEventBlob","synchronizerId","metadata","object","values","record","decimal","regex","instrument","admin","id","callSchema","tag","enum","value","transferSender","receiver","amount","instrumentId","requestedAt","executeBefore","transferMeta","instructionMeta","extraArgsMeta","viewSchema","transfer","sender","meta","status","timeMicros","match","exec","millis","Date","parse","NaN","Number","isFinite","Error","BigInt","padEnd","sameMetadata","left","right","Object","keys","length","entries","every","key","resolveCantonOneSigTransferInstructionContext","sdk","input","signedCall","client","call","signed","choice","offset","getLedgerEndOffset","packageId","getPackageId","interfaceId","instructions","queryActiveContractsByInterface","includeCreatedEventBlob","filter","createdEvent","transferInstructionCid","instruction","views","interfaceViews","view","viewStatus","code","areExpectedSignatories","viewValue","parseAmuletDecimal","instructionDisclosure","callbackDisclosure","canonical","getDsoParty","bundle","getTransferInstructionContext","urls","discoveryUrlsForAppUid","informee","cantonCallbackAppUid","url","registryUrls","fetchTransferInstructionRegistryContext","environment","providerDisclosures","disclosedContracts","context","extraArgsContext","choiceContext"],"mappings":"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","file":"SA63DYLV.js","sourcesContent":["import { z } from 'zod';\n\nimport { parseAmuletDecimal } from '../amulet';\nimport type { ICantonClient } from '../client/interface';\nimport type { CantonSdk } from '../sdk/canton-sdk';\nimport { cantonDisclosedContractSchema } from '../transaction';\nimport { areExpectedSignatories } from '../trusted-origin';\nimport { cantonCallbackAppUid } from './callback';\nimport { callbackDisclosure } from './callback-contracts';\nimport type { CantonOneSigTransferInstructionContextRefresh } from './plan';\nimport {\n discoveryUrlsForAppUid,\n fetchTransferInstructionRegistryContext,\n} from './registry-context';\n\nconst INTERFACE =\n '#splice-api-token-transfer-instruction-v1:Splice.Api.Token.TransferInstructionV1:TransferInstruction';\nconst providerDisclosuresSchema = z.array(\n cantonDisclosedContractSchema.extend({\n contractId: z.string().min(1),\n createdEventBlob: z.string().min(1),\n synchronizerId: z.string().min(1),\n }),\n);\nconst metadata = z.object({ values: z.record(z.string(), z.string()) });\nconst decimal = z.string().regex(/^-?\\d+(?:\\.\\d{1,10})?$/);\nconst instrument = z.object({ admin: z.string().min(1), id: z.string() });\nconst callSchema = z.object({\n tag: z.enum([\n 'OpAcceptTransferInstruction',\n 'OpRejectTransferInstruction',\n 'OpWithdrawTransferInstruction',\n ]),\n value: z.object({\n transferSender: z.string(),\n receiver: z.string(),\n amount: decimal,\n instrumentId: instrument,\n requestedAt: z.string(),\n executeBefore: z.string(),\n transferMeta: metadata,\n instructionMeta: metadata,\n extraArgsMeta: metadata,\n }),\n});\nconst viewSchema = z.object({\n transfer: z.object({\n sender: z.string(),\n receiver: z.string(),\n amount: decimal,\n instrumentId: instrument,\n requestedAt: z.string(),\n executeBefore: z.string(),\n meta: metadata,\n }),\n meta: metadata,\n status: z.object({ tag: z.string() }),\n});\n\nconst timeMicros = (value: string): bigint => {\n const match = /^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2})(?:\\.(\\d{1,6}))?(Z|[+-]\\d{2}:\\d{2})$/.exec(\n value,\n );\n const millis = match ? Date.parse(`${match[1]}${match[3]}`) : NaN;\n if (!Number.isFinite(millis)) throw new Error('Invalid transfer instruction time');\n return BigInt(millis) * 1000n + BigInt((match![2] ?? '').padEnd(6, '0'));\n};\nconst sameMetadata = (left: z.infer<typeof metadata>, right: z.infer<typeof metadata>): boolean =>\n Object.keys(left.values).length === Object.keys(right.values).length &&\n Object.entries(left.values).every(([key, value]) => right.values[key] === value);\n\nexport const resolveCantonOneSigTransferInstructionContext = async (\n sdk: CantonSdk,\n input: CantonOneSigTransferInstructionContextRefresh['resolver'],\n signedCall: unknown,\n client: Pick<ICantonClient, 'getDsoParty' | 'getTransferInstructionContext'>,\n) => {\n const call = callSchema.parse(signedCall);\n const signed = call.value;\n const choice =\n call.tag === 'OpAcceptTransferInstruction'\n ? 'accept'\n : call.tag === 'OpRejectTransferInstruction'\n ? 'reject'\n : 'withdraw';\n if ((choice === 'withdraw' ? signed.transferSender : signed.receiver) !== input.admin)\n throw new Error('OneSig transfer instruction authority mismatch');\n const offset = await sdk.getLedgerEndOffset();\n const packageId = await sdk.getPackageId('splice-api-token-transfer-instruction-v1', [\n input.admin,\n ]);\n const interfaceId = `${packageId}:Splice.Api.Token.TransferInstructionV1:TransferInstruction`;\n const instructions = (\n await sdk.queryActiveContractsByInterface([input.admin], offset, [INTERFACE], {\n includeCreatedEventBlob: true,\n })\n ).filter(({ createdEvent }) => createdEvent.contractId === input.transferInstructionCid);\n if (instructions.length !== 1)\n throw new Error('Pinned OneSig transfer instruction is not active or visible');\n const instruction = instructions[0]!;\n const views =\n instruction.createdEvent.interfaceViews?.filter(\n (view) =>\n view.interfaceId === interfaceId &&\n (!view.viewStatus || view.viewStatus.code === 0),\n ) ?? [];\n if (\n views.length !== 1 ||\n !areExpectedSignatories(instruction.createdEvent, [signed.instrumentId.admin])\n )\n throw new Error('Invalid OneSig transfer instruction interface or signatory');\n const view = viewSchema.parse(views[0]!.viewValue);\n const transfer = view.transfer;\n if (\n transfer.sender !== signed.transferSender ||\n transfer.receiver !== signed.receiver ||\n parseAmuletDecimal(transfer.amount) !== parseAmuletDecimal(signed.amount) ||\n transfer.instrumentId.admin !== signed.instrumentId.admin ||\n transfer.instrumentId.id !== signed.instrumentId.id ||\n timeMicros(transfer.requestedAt) !== timeMicros(signed.requestedAt) ||\n timeMicros(transfer.executeBefore) !== timeMicros(signed.executeBefore) ||\n !sameMetadata(transfer.meta, signed.transferMeta) ||\n !sameMetadata(view.meta, signed.instructionMeta) ||\n (choice !== 'withdraw' && view.status.tag !== 'TransferPendingReceiverAcceptance')\n )\n throw new Error(\n 'Pinned OneSig transfer instruction does not match signed intent or status',\n );\n const instructionDisclosure = callbackDisclosure(instruction);\n const canonical =\n signed.instrumentId.id === 'Amulet' &&\n signed.instrumentId.admin === (await client.getDsoParty());\n const bundle = await (async () => {\n if (canonical)\n return client.getTransferInstructionContext({\n contractId: input.transferInstructionCid,\n choice,\n });\n const urls = await discoveryUrlsForAppUid(\n sdk,\n input.informee,\n offset,\n cantonCallbackAppUid(signed.instrumentId.admin, signed.instrumentId.id),\n );\n if (urls.length > 1) throw new Error('Ambiguous transfer instruction registry');\n const url = urls[0] ?? input.registryUrls?.[signed.instrumentId.admin];\n if (!url) throw new Error('No registry for transfer instruction instrument');\n return fetchTransferInstructionRegistryContext(\n url,\n input.transferInstructionCid,\n choice,\n input.environment,\n );\n })();\n const providerDisclosures = providerDisclosuresSchema.parse(bundle.disclosedContracts);\n return {\n context: {\n tag: 'TransferInstructionContext' as const,\n value: {\n transferInstructionCid: input.transferInstructionCid,\n extraArgsContext: bundle.choiceContext,\n },\n },\n disclosedContracts: [instructionDisclosure, ...providerDisclosures],\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 './3HAVU6NI.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=TB5OSYHO.js.map
|
|
103
|
+
//# sourceMappingURL=TB5OSYHO.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":"TB5OSYHO.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"]}
|