@layerzerolabs/common-canton 0.2.121 → 0.2.122
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/.turbo/turbo-build.log +791 -777
- package/.turbo/turbo-test.log +17 -51
- package/dist/{MFVQ6EHM.js → 22ZNNS3H.js} +3 -3
- package/dist/{MFVQ6EHM.js.map → 22ZNNS3H.js.map} +1 -1
- package/dist/{Q3RL6UXD.js → 2UWZKS5E.js} +4 -4
- package/dist/{Q3RL6UXD.js.map → 2UWZKS5E.js.map} +1 -1
- package/dist/{CAJCIAM3.js → 333Q6X6C.js} +3 -3
- package/dist/{CAJCIAM3.js.map → 333Q6X6C.js.map} +1 -1
- package/dist/{HRZTWWO4.js → 3ESWXEO3.js} +3 -3
- package/dist/{HRZTWWO4.js.map → 3ESWXEO3.js.map} +1 -1
- package/dist/{AYF4OAKH.js → 4G6A7TFX.js} +4 -4
- package/dist/4G6A7TFX.js.map +1 -0
- package/dist/{5OA7RJHH.js → 4PEF77PU.js} +3 -3
- package/dist/{5OA7RJHH.js.map → 4PEF77PU.js.map} +1 -1
- package/dist/{M5WKPPPH.js → 4SOUDUP7.js} +3 -3
- package/dist/{M5WKPPPH.js.map → 4SOUDUP7.js.map} +1 -1
- package/dist/4WZTQJXP.js +30 -0
- package/dist/4WZTQJXP.js.map +1 -0
- package/dist/{QYQWHMQM.js → 5KFMHJZB.js} +3 -3
- package/dist/{QYQWHMQM.js.map → 5KFMHJZB.js.map} +1 -1
- package/dist/7JX6NIYS.js +3 -0
- package/dist/7JX6NIYS.js.map +1 -0
- package/dist/{BL22CZFA.js → A2ZXPTGE.js} +4 -4
- package/dist/{BL22CZFA.js.map → A2ZXPTGE.js.map} +1 -1
- package/dist/{3T46OKQU.js → AVC5GQFU.js} +3 -3
- package/dist/{3T46OKQU.js.map → AVC5GQFU.js.map} +1 -1
- package/dist/{45YQNHS2.js → BHESIRKK.js} +3 -3
- package/dist/{45YQNHS2.js.map → BHESIRKK.js.map} +1 -1
- package/dist/CXQSVBVW.js +67 -0
- package/dist/CXQSVBVW.js.map +1 -0
- package/dist/{WXYN3MFC.js → CYZU3DTJ.js} +3 -3
- package/dist/{WXYN3MFC.js.map → CYZU3DTJ.js.map} +1 -1
- package/dist/{LL7Z56UN.js → D3AV6J7R.js} +3 -3
- package/dist/{LL7Z56UN.js.map → D3AV6J7R.js.map} +1 -1
- package/dist/{EWDK2D2A.js → DDAINXFD.js} +3 -3
- package/dist/{EWDK2D2A.js.map → DDAINXFD.js.map} +1 -1
- package/dist/{JSG7MGHH.js → EPHLTMJZ.js} +3 -3
- package/dist/{JSG7MGHH.js.map → EPHLTMJZ.js.map} +1 -1
- package/dist/{ZPOY5WJ2.js → FZGCL63V.js} +3 -3
- package/dist/{ZPOY5WJ2.js.map → FZGCL63V.js.map} +1 -1
- package/dist/{KBZ6YXX4.js → GHWJBJNB.js} +3 -3
- package/dist/{KBZ6YXX4.js.map → GHWJBJNB.js.map} +1 -1
- package/dist/{7GI6QGS6.js → H3BWRDYY.js} +3 -3
- package/dist/{7GI6QGS6.js.map → H3BWRDYY.js.map} +1 -1
- package/dist/{WSLU3JGO.js → HU7X7G5L.js} +3 -3
- package/dist/{WSLU3JGO.js.map → HU7X7G5L.js.map} +1 -1
- package/dist/{7IWE7Y2N.js → JA7BSC7C.js} +4 -4
- package/dist/{7IWE7Y2N.js.map → JA7BSC7C.js.map} +1 -1
- package/dist/{JXKVPYCE.js → JH2I4JGJ.js} +3 -3
- package/dist/{JXKVPYCE.js.map → JH2I4JGJ.js.map} +1 -1
- package/dist/{WHTAP4A3.js → JJKMXRP7.js} +9 -7
- package/dist/JJKMXRP7.js.map +1 -0
- package/dist/{7STDATVZ.js → JUZKQC2G.js} +3 -3
- package/dist/{7STDATVZ.js.map → JUZKQC2G.js.map} +1 -1
- package/dist/{QZJONP6W.js → KCFOSGPU.js} +3 -3
- package/dist/{QZJONP6W.js.map → KCFOSGPU.js.map} +1 -1
- package/dist/{4GYCD3G4.js → KIQAFHKC.js} +3 -3
- package/dist/{4GYCD3G4.js.map → KIQAFHKC.js.map} +1 -1
- package/dist/{FXR2Z54G.js → KJRFPBY4.js} +3 -3
- package/dist/{FXR2Z54G.js.map → KJRFPBY4.js.map} +1 -1
- package/dist/M3GPMXME.js +12 -0
- package/dist/M3GPMXME.js.map +1 -0
- package/dist/{AMLJTQWB.js → N3INXXRG.js} +3 -3
- package/dist/{AMLJTQWB.js.map → N3INXXRG.js.map} +1 -1
- package/dist/{GSEDMLUC.js → NJW7UX2A.js} +3 -3
- package/dist/{GSEDMLUC.js.map → NJW7UX2A.js.map} +1 -1
- package/dist/{KTNEUXUI.js → NRGCZ4DG.js} +5 -5
- package/dist/{KTNEUXUI.js.map → NRGCZ4DG.js.map} +1 -1
- package/dist/NRSV2VHQ.js +335 -0
- package/dist/NRSV2VHQ.js.map +1 -0
- package/dist/{DAP5XJGH.js → NX67V54F.js} +3 -3
- package/dist/{DAP5XJGH.js.map → NX67V54F.js.map} +1 -1
- package/dist/{UBHUOSK3.js → OIFJOKIO.js} +3 -3
- package/dist/{UBHUOSK3.js.map → OIFJOKIO.js.map} +1 -1
- package/dist/{NKXEPWZV.js → OO73Z5K6.js} +4 -4
- package/dist/{NKXEPWZV.js.map → OO73Z5K6.js.map} +1 -1
- package/dist/{2UKHG3HM.js → OUEL7K27.js} +3 -3
- package/dist/{2UKHG3HM.js.map → OUEL7K27.js.map} +1 -1
- package/dist/{KH7RP6Q4.js → OWXOYIMA.js} +3 -3
- package/dist/{KH7RP6Q4.js.map → OWXOYIMA.js.map} +1 -1
- package/dist/{CLAE73FR.js → OZZHAISY.js} +3 -3
- package/dist/{CLAE73FR.js.map → OZZHAISY.js.map} +1 -1
- package/dist/{IIQYRITU.js → PDIG5OUV.js} +3 -3
- package/dist/{IIQYRITU.js.map → PDIG5OUV.js.map} +1 -1
- package/dist/QAKOQQ7E.js +71 -0
- package/dist/QAKOQQ7E.js.map +1 -0
- package/dist/{NS763D57.js → QJMVWOLL.js} +3 -3
- package/dist/{NS763D57.js.map → QJMVWOLL.js.map} +1 -1
- package/dist/{KVXEYMWG.js → QNO3456Y.js} +3 -3
- package/dist/{KVXEYMWG.js.map → QNO3456Y.js.map} +1 -1
- package/dist/{TDLALQCM.js → R5PCNLRD.js} +3 -3
- package/dist/{TDLALQCM.js.map → R5PCNLRD.js.map} +1 -1
- package/dist/{K2SFNQJC.js → RHNMCG3C.js} +4 -4
- package/dist/{K2SFNQJC.js.map → RHNMCG3C.js.map} +1 -1
- package/dist/RVQWP4JU.js +76 -0
- package/dist/RVQWP4JU.js.map +1 -0
- package/dist/{73I7CBP3.js → SNDN7G42.js} +3 -3
- package/dist/{73I7CBP3.js.map → SNDN7G42.js.map} +1 -1
- package/dist/{ALC4M7WK.js → T4AL4FJH.js} +3 -3
- package/dist/{ALC4M7WK.js.map → T4AL4FJH.js.map} +1 -1
- package/dist/{5HH7PZW3.js → TZTIULG5.js} +29 -29
- package/dist/{5HH7PZW3.js.map → TZTIULG5.js.map} +1 -1
- package/dist/{5E77SJL7.js → VT3WUH5Q.js} +8 -7
- package/dist/VT3WUH5Q.js.map +1 -0
- package/dist/WKC6X2E3.js +27 -0
- package/dist/WKC6X2E3.js.map +1 -0
- package/dist/WLV6EHDB.js +60 -0
- package/dist/WLV6EHDB.js.map +1 -0
- package/dist/{HLWLB4AY.js → WUXXJWII.js} +3 -3
- package/dist/{HLWLB4AY.js.map → WUXXJWII.js.map} +1 -1
- package/dist/client/amulet.d.ts.map +1 -1
- package/dist/client/amulet.js +1 -1
- package/dist/client/canton-client.js +125 -125
- package/dist/client/grpc.d.ts +104 -18
- package/dist/client/grpc.d.ts.map +1 -1
- package/dist/client/grpc.js +7 -1
- package/dist/client/index.d.ts +5 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +132 -128
- package/dist/client/topology/mappings.d.ts +53 -0
- package/dist/client/topology/mappings.d.ts.map +1 -0
- package/dist/client/topology/mappings.js +6 -0
- package/dist/client/topology/mappings.js.map +1 -0
- package/dist/client/topology/signing.d.ts +23 -0
- package/dist/client/topology/signing.d.ts.map +1 -0
- package/dist/client/topology/signing.js +4 -0
- package/dist/client/topology/signing.js.map +1 -0
- package/dist/client/topology/synchronizer-connectivity.d.ts +26 -0
- package/dist/client/topology/synchronizer-connectivity.d.ts.map +1 -0
- package/dist/client/topology/synchronizer-connectivity.js +4 -0
- package/dist/client/topology/synchronizer-connectivity.js.map +1 -0
- package/dist/client/topology/types.d.ts +120 -0
- package/dist/client/topology/types.d.ts.map +1 -0
- package/dist/client/topology/types.js +3 -0
- package/dist/client/topology/types.js.map +1 -0
- package/dist/client/topology/utils.d.ts +38 -0
- package/dist/client/topology/utils.d.ts.map +1 -0
- package/dist/client/topology/utils.js +6 -0
- package/dist/client/topology/utils.js.map +1 -0
- package/dist/client/utils.d.ts +17 -0
- package/dist/client/utils.d.ts.map +1 -1
- package/dist/client/utils.js +1 -1
- package/dist/events.js +2 -2
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +141 -136
- package/dist/minFee.d.ts +6 -0
- package/dist/minFee.d.ts.map +1 -0
- package/dist/minFee.js +5 -0
- package/dist/minFee.js.map +1 -0
- package/dist/open-api/apis/DefaultApi.js +123 -123
- package/dist/open-api/apis/index.js +123 -123
- package/dist/open-api/index.js +123 -123
- package/dist/open-api/models/Command.js +3 -3
- package/dist/open-api/models/Completion.js +1 -1
- package/dist/open-api/models/Completion1.js +1 -1
- package/dist/open-api/models/CompletionResponse.js +5 -5
- package/dist/open-api/models/CompletionResponseOneOf.js +1 -1
- package/dist/open-api/models/CompletionStreamResponse.js +5 -5
- package/dist/open-api/models/CreateUserRequest.js +7 -7
- package/dist/open-api/models/CumulativeFilter.js +2 -2
- 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 +2 -2
- package/dist/open-api/models/EventFormat.js +2 -2
- package/dist/open-api/models/FeaturesDescriptor.js +2 -2
- package/dist/open-api/models/Filters.js +2 -2
- package/dist/open-api/models/GetActiveContractsRequest.js +2 -2
- package/dist/open-api/models/GetEventsByContractIdRequest.js +2 -2
- package/dist/open-api/models/GetLedgerApiVersionResponse.js +3 -3
- package/dist/open-api/models/GetTransactionByIdRequest.js +2 -2
- package/dist/open-api/models/GetTransactionByOffsetRequest.js +2 -2
- package/dist/open-api/models/GetUpdateByIdRequest.js +2 -2
- package/dist/open-api/models/GetUpdateByOffsetRequest.js +2 -2
- package/dist/open-api/models/GetUpdatesRequest.js +2 -2
- 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 +2 -2
- package/dist/open-api/models/JsCommands.js +5 -5
- package/dist/open-api/models/JsExecuteSubmissionAndWaitForTransactionRequest.js +5 -5
- package/dist/open-api/models/JsExecuteSubmissionAndWaitRequest.js +3 -3
- package/dist/open-api/models/JsExecuteSubmissionRequest.js +3 -3
- package/dist/open-api/models/JsGetUpdateResponse.js +19 -19
- package/dist/open-api/models/JsGetUpdateTreesResponse.js +10 -10
- package/dist/open-api/models/JsGetUpdatesResponse.js +19 -19
- package/dist/open-api/models/JsPrepareSubmissionRequest.js +5 -5
- package/dist/open-api/models/JsReassignment.js +4 -4
- package/dist/open-api/models/JsReassignmentEvent.js +3 -3
- package/dist/open-api/models/JsSubmitAndWaitForReassignmentResponse.js +5 -5
- package/dist/open-api/models/JsSubmitAndWaitForTransactionRequest.js +8 -8
- package/dist/open-api/models/JsTopologyTransaction.js +7 -7
- package/dist/open-api/models/Kind.js +5 -5
- package/dist/open-api/models/ListUserRightsResponse.js +7 -7
- package/dist/open-api/models/Operation.js +4 -4
- package/dist/open-api/models/Reassignment.js +5 -5
- package/dist/open-api/models/Reassignment1.js +5 -5
- 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/SubmitAndWaitForReassignmentRequest.js +2 -2
- package/dist/open-api/models/TopologyEvent.js +6 -6
- package/dist/open-api/models/TopologyEventEvent.js +5 -5
- package/dist/open-api/models/TopologyTransaction.js +8 -8
- package/dist/open-api/models/TransactionFilter.js +2 -2
- package/dist/open-api/models/TransactionFormat.js +2 -2
- package/dist/open-api/models/Update.js +18 -18
- package/dist/open-api/models/Update1.js +9 -9
- package/dist/open-api/models/Update1OneOf1.js +6 -6
- package/dist/open-api/models/UpdateFormat.js +2 -2
- package/dist/open-api/models/UpdateOneOf1.js +6 -6
- package/dist/open-api/models/UpdateOneOf2.js +9 -9
- package/dist/open-api/models/UpdateVettedPackagesRequest.js +6 -6
- package/dist/open-api/models/VettedPackagesChange.js +5 -5
- package/dist/open-api/models/index.js +122 -122
- package/dist/provider.d.ts +3 -0
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +132 -127
- package/dist/refresh/index.js +2 -2
- package/dist/refresh/resolve.js +2 -2
- package/dist/sdk/index.d.ts +0 -1
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/transaction.d.ts +353 -144
- package/dist/transaction.d.ts.map +1 -1
- package/dist/transaction.js +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/package.json +12 -10
- package/src/client/amulet.ts +5 -2
- package/src/client/grpc.ts +396 -39
- package/src/client/index.ts +20 -0
- package/src/client/topology/mappings.ts +152 -0
- package/src/client/topology/signing.ts +56 -0
- package/src/client/topology/synchronizer-connectivity.ts +110 -0
- package/src/client/topology/types.ts +133 -0
- package/src/client/topology/utils.ts +93 -0
- package/src/client/utils.ts +47 -9
- package/src/index.ts +5 -29
- package/src/minFee.ts +12 -0
- package/src/provider.ts +11 -3
- package/src/sdk/index.ts +0 -1
- package/src/transaction.ts +25 -4
- package/src/types.ts +15 -0
- package/test/client/amulet.test.ts +64 -0
- package/test/provider.test.ts +22 -0
- package/dist/5E77SJL7.js.map +0 -1
- package/dist/AYF4OAKH.js.map +0 -1
- package/dist/F42TZTWJ.js +0 -33
- package/dist/F42TZTWJ.js.map +0 -1
- package/dist/PQI7CWCR.js +0 -19
- package/dist/PQI7CWCR.js.map +0 -1
- package/dist/WHTAP4A3.js.map +0 -1
- package/dist/XE6H2SH4.js +0 -3
- package/dist/XE6H2SH4.js.map +0 -1
- package/dist/YHW7AKHX.js +0 -62
- package/dist/YHW7AKHX.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TopologyEventFromJSON, TopologyEventToJSON } from './
|
|
1
|
+
import { TopologyEventFromJSON, TopologyEventToJSON } from './OWXOYIMA.js';
|
|
2
2
|
import { TraceContextFromJSON, TraceContextToJSON } from './P4OZVLZ5.js';
|
|
3
3
|
import { __name } from './VUOMXK5T.js';
|
|
4
4
|
|
|
@@ -48,5 +48,5 @@ function JsTopologyTransactionToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
48
48
|
__name(JsTopologyTransactionToJSONTyped, "JsTopologyTransactionToJSONTyped");
|
|
49
49
|
|
|
50
50
|
export { JsTopologyTransactionFromJSON, JsTopologyTransactionFromJSONTyped, JsTopologyTransactionToJSON, JsTopologyTransactionToJSONTyped, instanceOfJsTopologyTransaction };
|
|
51
|
-
//# sourceMappingURL=
|
|
52
|
-
//# sourceMappingURL=
|
|
51
|
+
//# sourceMappingURL=KIQAFHKC.js.map
|
|
52
|
+
//# sourceMappingURL=KIQAFHKC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/JsTopologyTransaction.ts"],"names":["instanceOfJsTopologyTransaction","value","undefined","JsTopologyTransactionFromJSON","json","JsTopologyTransactionFromJSONTyped","ignoreDiscriminator","map","TopologyEventFromJSON","TraceContextFromJSON","JsTopologyTransactionToJSON","JsTopologyTransactionToJSONTyped","TopologyEventToJSON","TraceContextToJSON"],"mappings":";;;;;AAsFO,SAASA,gCAAgCC,KAAAA,EAAa;AACzD,EAAA,IAAI,EAAE,UAAA,IAAcA,KAAAA,CAAAA,IAAUA,MAAM,UAAA,CAAA,KAAgBC,QAAW,OAAO,KAAA;AACtE,EAAA,IAAI,EAAE,QAAA,IAAYD,KAAAA,CAAAA,IAAUA,MAAM,QAAA,CAAA,KAAcC,QAAW,OAAO,KAAA;AAClE,EAAA,IAAI,EAAE,gBAAA,IAAoBD,KAAAA,CAAAA,IAAUA,MAAM,gBAAA,CAAA,KAAsBC,QAAW,OAAO,KAAA;AAClF,EAAA,OAAO,IAAA;AACX;AALgBF,MAAAA,CAAAA,+BAAAA,EAAAA,iCAAAA,CAAAA;AAOT,SAASG,8BAA8BC,IAAAA,EAAS;AACnD,EAAA,OAAOC,kCAAAA,CAAmCD,IAAM,CAAA;AACpD;AAFgBD,MAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA;AAIT,SAASE,kCAAAA,CAAmCD,MAAWE,mBAAAA,EAA4B;AACtF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;AAEH,IAAA,UAAA,EAAYA,KAAK,UAAA,CAAA;AACjB,IAAA,QAAA,EAAUA,KAAK,QAAA,CAAA;AACf,IAAA,gBAAA,EAAkBA,KAAK,gBAAA,CAAA;AACvB,IAAA,YAAA,EAAcA,KAAK,YAAA,CAAA,IAAiB,IAAA,GAAOF,MAAAA,GAAYE,KAAK,YAAA,CAAA;IAC5D,QAAA,EAAUA,IAAAA,CAAK,QAAA,CAAA,IAAa,IAAA,GAAOF,SAAcE,IAAAA,CAAK,QAAA,CAAA,CAAyBG,GAAAA,CAAIC,qBAAAA,CAAAA;IACnF,cAAA,EAAgBJ,IAAAA,CAAK,cAAA,CAAA,IAAmB,IAAA,GAAOF,SAAYO,oBAAAA,CAAqBL,IAAAA,CAAK,cAAA,CAAe;AACxG,GAAA;AACJ;AAbgBC,MAAAA,CAAAA,kCAAAA,EAAAA,oCAAAA,CAAAA;AAeT,SAASK,4BAA4BN,IAAAA,EAAS;AACjD,EAAA,OAAOO,gCAAAA,CAAiCP,MAAM,KAAA,CAAA;AAClD;AAFgBM,MAAAA,CAAAA,2BAAAA,EAAAA,6BAAAA,CAAAA;AAIT,SAASC,gCAAAA,CAAiCV,KAAAA,EAAsCK,mBAAAA,GAA+B,KAAA,EAAK;AACvH,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;AAEH,IAAA,UAAA,EAAYA,MAAM,UAAA,CAAA;AAClB,IAAA,QAAA,EAAUA,MAAM,QAAA,CAAA;AAChB,IAAA,gBAAA,EAAkBA,MAAM,gBAAA,CAAA;AACxB,IAAA,YAAA,EAAcA,MAAM,YAAA,CAAA;IACpB,QAAA,EAAUA,KAAAA,CAAM,QAAA,CAAA,IAAa,IAAA,GAAOC,SAAcD,KAAAA,CAAM,QAAA,CAAA,CAAyBM,GAAAA,CAAIK,mBAAAA,CAAAA;IACrF,cAAA,EAAgBC,kBAAAA,CAAmBZ,KAAAA,CAAM,cAAA,CAAe;AAC5D,GAAA;AACJ;AAdgBU,MAAAA,CAAAA,gCAAAA,EAAAA,kCAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/JsTopologyTransaction.ts"],"names":["instanceOfJsTopologyTransaction","value","undefined","JsTopologyTransactionFromJSON","json","JsTopologyTransactionFromJSONTyped","ignoreDiscriminator","map","TopologyEventFromJSON","TraceContextFromJSON","JsTopologyTransactionToJSON","JsTopologyTransactionToJSONTyped","TopologyEventToJSON","TraceContextToJSON"],"mappings":";;;;;AAsFO,SAASA,gCAAgCC,KAAAA,EAAa;AACzD,EAAA,IAAI,EAAE,UAAA,IAAcA,KAAAA,CAAAA,IAAUA,MAAM,UAAA,CAAA,KAAgBC,QAAW,OAAO,KAAA;AACtE,EAAA,IAAI,EAAE,QAAA,IAAYD,KAAAA,CAAAA,IAAUA,MAAM,QAAA,CAAA,KAAcC,QAAW,OAAO,KAAA;AAClE,EAAA,IAAI,EAAE,gBAAA,IAAoBD,KAAAA,CAAAA,IAAUA,MAAM,gBAAA,CAAA,KAAsBC,QAAW,OAAO,KAAA;AAClF,EAAA,OAAO,IAAA;AACX;AALgBF,MAAAA,CAAAA,+BAAAA,EAAAA,iCAAAA,CAAAA;AAOT,SAASG,8BAA8BC,IAAAA,EAAS;AACnD,EAAA,OAAOC,kCAAAA,CAAmCD,IAAM,CAAA;AACpD;AAFgBD,MAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA;AAIT,SAASE,kCAAAA,CAAmCD,MAAWE,mBAAAA,EAA4B;AACtF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;AAEH,IAAA,UAAA,EAAYA,KAAK,UAAA,CAAA;AACjB,IAAA,QAAA,EAAUA,KAAK,QAAA,CAAA;AACf,IAAA,gBAAA,EAAkBA,KAAK,gBAAA,CAAA;AACvB,IAAA,YAAA,EAAcA,KAAK,YAAA,CAAA,IAAiB,IAAA,GAAOF,MAAAA,GAAYE,KAAK,YAAA,CAAA;IAC5D,QAAA,EAAUA,IAAAA,CAAK,QAAA,CAAA,IAAa,IAAA,GAAOF,SAAcE,IAAAA,CAAK,QAAA,CAAA,CAAyBG,GAAAA,CAAIC,qBAAAA,CAAAA;IACnF,cAAA,EAAgBJ,IAAAA,CAAK,cAAA,CAAA,IAAmB,IAAA,GAAOF,SAAYO,oBAAAA,CAAqBL,IAAAA,CAAK,cAAA,CAAe;AACxG,GAAA;AACJ;AAbgBC,MAAAA,CAAAA,kCAAAA,EAAAA,oCAAAA,CAAAA;AAeT,SAASK,4BAA4BN,IAAAA,EAAS;AACjD,EAAA,OAAOO,gCAAAA,CAAiCP,MAAM,KAAA,CAAA;AAClD;AAFgBM,MAAAA,CAAAA,2BAAAA,EAAAA,6BAAAA,CAAAA;AAIT,SAASC,gCAAAA,CAAiCV,KAAAA,EAAsCK,mBAAAA,GAA+B,KAAA,EAAK;AACvH,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;AAEH,IAAA,UAAA,EAAYA,MAAM,UAAA,CAAA;AAClB,IAAA,QAAA,EAAUA,MAAM,QAAA,CAAA;AAChB,IAAA,gBAAA,EAAkBA,MAAM,gBAAA,CAAA;AACxB,IAAA,YAAA,EAAcA,MAAM,YAAA,CAAA;IACpB,QAAA,EAAUA,KAAAA,CAAM,QAAA,CAAA,IAAa,IAAA,GAAOC,SAAcD,KAAAA,CAAM,QAAA,CAAA,CAAyBM,GAAAA,CAAIK,mBAAAA,CAAAA;IACrF,cAAA,EAAgBC,kBAAAA,CAAmBZ,KAAAA,CAAM,cAAA,CAAe;AAC5D,GAAA;AACJ;AAdgBU,MAAAA,CAAAA,gCAAAA,EAAAA,kCAAAA,CAAAA","file":"KIQAFHKC.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.4.3-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime.js';\nimport type { TopologyEvent } from './TopologyEvent.js';\nimport {\n TopologyEventFromJSON,\n TopologyEventFromJSONTyped,\n TopologyEventToJSON,\n TopologyEventToJSONTyped,\n} from './TopologyEvent.js';\nimport type { TraceContext } from './TraceContext.js';\nimport {\n TraceContextFromJSON,\n TraceContextFromJSONTyped,\n TraceContextToJSON,\n TraceContextToJSONTyped,\n} from './TraceContext.js';\n\n/**\n * \n * @export\n * @interface JsTopologyTransaction\n */\nexport interface JsTopologyTransaction {\n /**\n * Assigned by the server. Useful for correlating logs.\n * Must be a valid LedgerString (as described in ``value.proto``).\n * Required\n * @type {string}\n * @memberof JsTopologyTransaction\n */\n updateId: string;\n /**\n * The absolute offset. The details of this field are described in ``community/ledger-api/README.md``.\n * Required, it is a valid absolute offset (positive integer).\n * @type {number}\n * @memberof JsTopologyTransaction\n */\n offset: number;\n /**\n * A valid synchronizer id.\n * Identifies the synchronizer that synchronized the topology transaction.\n * Required\n * @type {string}\n * @memberof JsTopologyTransaction\n */\n synchronizerId: string;\n /**\n * The time at which the changes in the topology transaction become effective. There is a small delay between a\n * topology transaction being sequenced and the changes it contains becoming effective. Topology transactions appear\n * in order relative to a synchronizer based on their effective time rather than their sequencing time.\n * Required\n * @type {string}\n * @memberof JsTopologyTransaction\n */\n recordTime?: string;\n /**\n * A non-empty list of topology events.\n * Required\n * @type {Array<TopologyEvent>}\n * @memberof JsTopologyTransaction\n */\n events?: Array<TopologyEvent>;\n /**\n * \n * @type {TraceContext}\n * @memberof JsTopologyTransaction\n */\n traceContext?: TraceContext;\n}\n\n/**\n * Check if a given object implements the JsTopologyTransaction interface.\n */\nexport function instanceOfJsTopologyTransaction(value: object): value is JsTopologyTransaction {\n if (!('updateId' in value) || value['updateId'] === undefined) return false;\n if (!('offset' in value) || value['offset'] === undefined) return false;\n if (!('synchronizerId' in value) || value['synchronizerId'] === undefined) return false;\n return true;\n}\n\nexport function JsTopologyTransactionFromJSON(json: any): JsTopologyTransaction {\n return JsTopologyTransactionFromJSONTyped(json, false);\n}\n\nexport function JsTopologyTransactionFromJSONTyped(json: any, ignoreDiscriminator: boolean): JsTopologyTransaction {\n if (json == null) {\n return json;\n }\n return {\n \n 'updateId': json['updateId'],\n 'offset': json['offset'],\n 'synchronizerId': json['synchronizerId'],\n 'recordTime': json['recordTime'] == null ? undefined : json['recordTime'],\n 'events': json['events'] == null ? undefined : ((json['events'] as Array<any>).map(TopologyEventFromJSON)),\n 'traceContext': json['traceContext'] == null ? undefined : TraceContextFromJSON(json['traceContext']),\n };\n}\n\nexport function JsTopologyTransactionToJSON(json: any): JsTopologyTransaction {\n return JsTopologyTransactionToJSONTyped(json, false);\n}\n\nexport function JsTopologyTransactionToJSONTyped(value?: JsTopologyTransaction | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'updateId': value['updateId'],\n 'offset': value['offset'],\n 'synchronizerId': value['synchronizerId'],\n 'recordTime': value['recordTime'],\n 'events': value['events'] == null ? undefined : ((value['events'] as Array<any>).map(TopologyEventToJSON)),\n 'traceContext': TraceContextToJSON(value['traceContext']),\n };\n}\n\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FeaturesDescriptorFromJSON, FeaturesDescriptorToJSON } from './
|
|
1
|
+
import { FeaturesDescriptorFromJSON, FeaturesDescriptorToJSON } from './NX67V54F.js';
|
|
2
2
|
import { __name } from './VUOMXK5T.js';
|
|
3
3
|
|
|
4
4
|
// src/open-api/models/GetLedgerApiVersionResponse.ts
|
|
@@ -37,5 +37,5 @@ function GetLedgerApiVersionResponseToJSONTyped(value, ignoreDiscriminator = fal
|
|
|
37
37
|
__name(GetLedgerApiVersionResponseToJSONTyped, "GetLedgerApiVersionResponseToJSONTyped");
|
|
38
38
|
|
|
39
39
|
export { GetLedgerApiVersionResponseFromJSON, GetLedgerApiVersionResponseFromJSONTyped, GetLedgerApiVersionResponseToJSON, GetLedgerApiVersionResponseToJSONTyped, instanceOfGetLedgerApiVersionResponse };
|
|
40
|
-
//# sourceMappingURL=
|
|
41
|
-
//# sourceMappingURL=
|
|
40
|
+
//# sourceMappingURL=KJRFPBY4.js.map
|
|
41
|
+
//# sourceMappingURL=KJRFPBY4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/GetLedgerApiVersionResponse.ts"],"names":["instanceOfGetLedgerApiVersionResponse","value","undefined","GetLedgerApiVersionResponseFromJSON","json","GetLedgerApiVersionResponseFromJSONTyped","ignoreDiscriminator","FeaturesDescriptorFromJSON","GetLedgerApiVersionResponseToJSON","GetLedgerApiVersionResponseToJSONTyped","FeaturesDescriptorToJSON"],"mappings":";;;;AA8CO,SAASA,sCAAsCC,KAAAA,EAAa;AAC/D,EAAA,IAAI,EAAE,SAAA,IAAaA,KAAAA,CAAAA,IAAUA,MAAM,SAAA,CAAA,KAAeC,QAAW,OAAO,KAAA;AACpE,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,qCAAAA,EAAAA,uCAAAA,CAAAA;AAKT,SAASG,oCAAoCC,IAAAA,EAAS;AACzD,EAAA,OAAOC,wCAAAA,CAAyCD,IAAM,CAAA;AAC1D;AAFgBD,MAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA;AAIT,SAASE,wCAAAA,CAAyCD,MAAWE,mBAAAA,EAA4B;AAC5F,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;AAEH,IAAA,SAAA,EAAWA,KAAK,SAAA,CAAA;IAChB,UAAA,EAAYA,IAAAA,CAAK,UAAA,CAAA,IAAe,IAAA,GAAOF,SAAYK,0BAAAA,CAA2BH,IAAAA,CAAK,UAAA,CAAW;AAClG,GAAA;AACJ;AATgBC,MAAAA,CAAAA,wCAAAA,EAAAA,0CAAAA,CAAAA;AAWT,SAASG,kCAAkCJ,IAAAA,EAAS;AACvD,EAAA,OAAOK,sCAAAA,CAAuCL,MAAM,KAAA,CAAA;AACxD;AAFgBI,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAIT,SAASC,sCAAAA,CAAuCR,KAAAA,EAA4CK,mBAAAA,GAA+B,KAAA,EAAK;AACnI,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;AAEH,IAAA,SAAA,EAAWA,MAAM,SAAA,CAAA;IACjB,UAAA,EAAYS,wBAAAA,CAAyBT,KAAAA,CAAM,UAAA,CAAW;AAC1D,GAAA;AACJ;AAVgBQ,MAAAA,CAAAA,sCAAAA,EAAAA,wCAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/GetLedgerApiVersionResponse.ts"],"names":["instanceOfGetLedgerApiVersionResponse","value","undefined","GetLedgerApiVersionResponseFromJSON","json","GetLedgerApiVersionResponseFromJSONTyped","ignoreDiscriminator","FeaturesDescriptorFromJSON","GetLedgerApiVersionResponseToJSON","GetLedgerApiVersionResponseToJSONTyped","FeaturesDescriptorToJSON"],"mappings":";;;;AA8CO,SAASA,sCAAsCC,KAAAA,EAAa;AAC/D,EAAA,IAAI,EAAE,SAAA,IAAaA,KAAAA,CAAAA,IAAUA,MAAM,SAAA,CAAA,KAAeC,QAAW,OAAO,KAAA;AACpE,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,qCAAAA,EAAAA,uCAAAA,CAAAA;AAKT,SAASG,oCAAoCC,IAAAA,EAAS;AACzD,EAAA,OAAOC,wCAAAA,CAAyCD,IAAM,CAAA;AAC1D;AAFgBD,MAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA;AAIT,SAASE,wCAAAA,CAAyCD,MAAWE,mBAAAA,EAA4B;AAC5F,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;AAEH,IAAA,SAAA,EAAWA,KAAK,SAAA,CAAA;IAChB,UAAA,EAAYA,IAAAA,CAAK,UAAA,CAAA,IAAe,IAAA,GAAOF,SAAYK,0BAAAA,CAA2BH,IAAAA,CAAK,UAAA,CAAW;AAClG,GAAA;AACJ;AATgBC,MAAAA,CAAAA,wCAAAA,EAAAA,0CAAAA,CAAAA;AAWT,SAASG,kCAAkCJ,IAAAA,EAAS;AACvD,EAAA,OAAOK,sCAAAA,CAAuCL,MAAM,KAAA,CAAA;AACxD;AAFgBI,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAIT,SAASC,sCAAAA,CAAuCR,KAAAA,EAA4CK,mBAAAA,GAA+B,KAAA,EAAK;AACnI,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;AAEH,IAAA,SAAA,EAAWA,MAAM,SAAA,CAAA;IACjB,UAAA,EAAYS,wBAAAA,CAAyBT,KAAAA,CAAM,UAAA,CAAW;AAC1D,GAAA;AACJ;AAVgBQ,MAAAA,CAAAA,sCAAAA,EAAAA,wCAAAA,CAAAA","file":"KJRFPBY4.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.4.3-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime.js';\nimport type { FeaturesDescriptor } from './FeaturesDescriptor.js';\nimport {\n FeaturesDescriptorFromJSON,\n FeaturesDescriptorFromJSONTyped,\n FeaturesDescriptorToJSON,\n FeaturesDescriptorToJSONTyped,\n} from './FeaturesDescriptor.js';\n\n/**\n * \n * @export\n * @interface GetLedgerApiVersionResponse\n */\nexport interface GetLedgerApiVersionResponse {\n /**\n * The version of the ledger API.\n * @type {string}\n * @memberof GetLedgerApiVersionResponse\n */\n version: string;\n /**\n * \n * @type {FeaturesDescriptor}\n * @memberof GetLedgerApiVersionResponse\n */\n features?: FeaturesDescriptor;\n}\n\n/**\n * Check if a given object implements the GetLedgerApiVersionResponse interface.\n */\nexport function instanceOfGetLedgerApiVersionResponse(value: object): value is GetLedgerApiVersionResponse {\n if (!('version' in value) || value['version'] === undefined) return false;\n return true;\n}\n\nexport function GetLedgerApiVersionResponseFromJSON(json: any): GetLedgerApiVersionResponse {\n return GetLedgerApiVersionResponseFromJSONTyped(json, false);\n}\n\nexport function GetLedgerApiVersionResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetLedgerApiVersionResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'version': json['version'],\n 'features': json['features'] == null ? undefined : FeaturesDescriptorFromJSON(json['features']),\n };\n}\n\nexport function GetLedgerApiVersionResponseToJSON(json: any): GetLedgerApiVersionResponse {\n return GetLedgerApiVersionResponseToJSONTyped(json, false);\n}\n\nexport function GetLedgerApiVersionResponseToJSONTyped(value?: GetLedgerApiVersionResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'version': value['version'],\n 'features': FeaturesDescriptorToJSON(value['features']),\n };\n}\n\n"]}
|
package/dist/M3GPMXME.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { canonicalizeDamlDecimal } from './4WZTQJXP.js';
|
|
2
|
+
import { __name } from './VUOMXK5T.js';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
|
|
5
|
+
var minFeeArgSchema = z.object({
|
|
6
|
+
minFee: z.string()
|
|
7
|
+
});
|
|
8
|
+
var parseMinFeeValue = /* @__PURE__ */ __name((createArgument) => canonicalizeDamlDecimal(minFeeArgSchema.parse(createArgument).minFee), "parseMinFeeValue");
|
|
9
|
+
|
|
10
|
+
export { parseMinFeeValue };
|
|
11
|
+
//# sourceMappingURL=M3GPMXME.js.map
|
|
12
|
+
//# sourceMappingURL=M3GPMXME.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/minFee.ts"],"names":["minFeeArgSchema","z","object","minFee","string","parseMinFeeValue","createArgument","canonicalizeDamlDecimal","parse"],"mappings":";;;;AAIA,IAAMA,eAAAA,GAAkBC,EAAEC,MAAAA,CAAO;AAAEC,EAAAA,MAAAA,EAAQF,EAAEG,MAAAA;AAAS,CAAA,CAAA;AAM/C,IAAMC,gBAAAA,2BAAoBC,cAAAA,KAC7BC,uBAAAA,CAAwBP,gBAAgBQ,KAAAA,CAAMF,cAAAA,CAAAA,CAAgBH,MAAM,CAAA,EADxC,kBAAA","file":"M3GPMXME.js","sourcesContent":["import { z } from 'zod';\n\nimport { canonicalizeDamlDecimal } from './types';\n\nconst minFeeArgSchema = z.object({ minFee: z.string() });\n\n/**\n * Extract and canonicalize the `minFee` Daml Decimal from an IMinFee contract's\n * `createArgument`. Throws a ZodError if the shape doesn't match.\n */\nexport const parseMinFeeValue = (createArgument: unknown): string =>\n canonicalizeDamlDecimal(minFeeArgSchema.parse(createArgument).minFee);\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { instanceOfDeduplicationPeriod2OneOf, DeduplicationPeriod2OneOfFromJSONTyped, DeduplicationPeriod2OneOfToJSON } from './AONQHJ67.js';
|
|
2
1
|
import { instanceOfDeduplicationPeriod2OneOf1, DeduplicationPeriod2OneOf1FromJSONTyped, DeduplicationPeriod2OneOf1ToJSON } from './223ZGSPH.js';
|
|
3
2
|
import { instanceOfDeduplicationPeriod2OneOf2, DeduplicationPeriod2OneOf2FromJSONTyped, DeduplicationPeriod2OneOf2ToJSON } from './W3V3QO3M.js';
|
|
3
|
+
import { instanceOfDeduplicationPeriod2OneOf, DeduplicationPeriod2OneOfFromJSONTyped, DeduplicationPeriod2OneOfToJSON } from './AONQHJ67.js';
|
|
4
4
|
import { __name } from './VUOMXK5T.js';
|
|
5
5
|
|
|
6
6
|
// src/open-api/models/DeduplicationPeriod2.ts
|
|
@@ -52,5 +52,5 @@ function DeduplicationPeriod2ToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
52
52
|
__name(DeduplicationPeriod2ToJSONTyped, "DeduplicationPeriod2ToJSONTyped");
|
|
53
53
|
|
|
54
54
|
export { DeduplicationPeriod2FromJSON, DeduplicationPeriod2FromJSONTyped, DeduplicationPeriod2ToJSON, DeduplicationPeriod2ToJSONTyped };
|
|
55
|
-
//# sourceMappingURL=
|
|
56
|
-
//# sourceMappingURL=
|
|
55
|
+
//# sourceMappingURL=N3INXXRG.js.map
|
|
56
|
+
//# sourceMappingURL=N3INXXRG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/DeduplicationPeriod2.ts"],"names":["DeduplicationPeriod2FromJSON","json","DeduplicationPeriod2FromJSONTyped","ignoreDiscriminator","instanceOfDeduplicationPeriod2OneOf","DeduplicationPeriod2OneOfFromJSONTyped","instanceOfDeduplicationPeriod2OneOf1","DeduplicationPeriod2OneOf1FromJSONTyped","instanceOfDeduplicationPeriod2OneOf2","DeduplicationPeriod2OneOf2FromJSONTyped","DeduplicationPeriod2ToJSON","DeduplicationPeriod2ToJSONTyped","value","DeduplicationPeriod2OneOfToJSON","DeduplicationPeriod2OneOf1ToJSON","DeduplicationPeriod2OneOf2ToJSON"],"mappings":";;;;;;AA2CO,SAASA,6BAA6BC,IAAAA,EAAS;AAClD,EAAA,OAAOC,iCAAAA,CAAkCD,IAAM,CAAA;AACnD;AAFgBD,MAAAA,CAAAA,4BAAAA,EAAAA,8BAAAA,CAAAA;AAIT,SAASE,iCAAAA,CAAkCD,MAAWE,mBAAAA,EAA4B;AACrF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,IAAI,OAAOA,SAAS,QAAA,EAAU;AAC1B,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,IAAIG,mCAAAA,CAAoCH,IAAAA,CAAAA,EAAO;AAC3C,IAAA,OAAOI,sCAAAA,CAAuCJ,MAAM,IAAA,CAAA;AACxD,EAAA;AACA,EAAA,IAAIK,oCAAAA,CAAqCL,IAAAA,CAAAA,EAAO;AAC5C,IAAA,OAAOM,uCAAAA,CAAwCN,MAAM,IAAA,CAAA;AACzD,EAAA;AACA,EAAA,IAAIO,oCAAAA,CAAqCP,IAAAA,CAAAA,EAAO;AAC5C,IAAA,OAAOQ,uCAAAA,CAAwCR,MAAM,IAAA,CAAA;AACzD,EAAA;AACA,EAAA,OAAO,EAAC;AACZ;AAjBgBC,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAmBT,SAASQ,2BAA2BT,IAAAA,EAAS;AAChD,EAAA,OAAOU,+BAAAA,CAAgCV,MAAM,KAAA,CAAA;AACjD;AAFgBS,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAIT,SAASC,+BAAAA,CAAgCC,KAAAA,EAAqCT,mBAAAA,GAA+B,KAAA,EAAK;AACrH,EAAA,IAAIS,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AACA,EAAA,IAAI,OAAOA,UAAU,QAAA,EAAU;AAC3B,IAAA,OAAOA,KAAAA;AACX,EAAA;AACA,EAAA,IAAIR,mCAAAA,CAAoCQ,KAAAA,CAAAA,EAAQ;AAC5C,IAAA,OAAOC,gCAAgCD,KAAAA,CAAAA;AAC3C,EAAA;AACA,EAAA,IAAIN,oCAAAA,CAAqCM,KAAAA,CAAAA,EAAQ;AAC7C,IAAA,OAAOE,iCAAiCF,KAAAA,CAAAA;AAC5C,EAAA;AACA,EAAA,IAAIJ,oCAAAA,CAAqCI,KAAAA,CAAAA,EAAQ;AAC7C,IAAA,OAAOG,iCAAiCH,KAAAA,CAAAA;AAC5C,EAAA;AACA,EAAA,OAAO,EAAC;AACZ;AAjBgBD,MAAAA,CAAAA,+BAAAA,EAAAA,iCAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/DeduplicationPeriod2.ts"],"names":["DeduplicationPeriod2FromJSON","json","DeduplicationPeriod2FromJSONTyped","ignoreDiscriminator","instanceOfDeduplicationPeriod2OneOf","DeduplicationPeriod2OneOfFromJSONTyped","instanceOfDeduplicationPeriod2OneOf1","DeduplicationPeriod2OneOf1FromJSONTyped","instanceOfDeduplicationPeriod2OneOf2","DeduplicationPeriod2OneOf2FromJSONTyped","DeduplicationPeriod2ToJSON","DeduplicationPeriod2ToJSONTyped","value","DeduplicationPeriod2OneOfToJSON","DeduplicationPeriod2OneOf1ToJSON","DeduplicationPeriod2OneOf2ToJSON"],"mappings":";;;;;;AA2CO,SAASA,6BAA6BC,IAAAA,EAAS;AAClD,EAAA,OAAOC,iCAAAA,CAAkCD,IAAM,CAAA;AACnD;AAFgBD,MAAAA,CAAAA,4BAAAA,EAAAA,8BAAAA,CAAAA;AAIT,SAASE,iCAAAA,CAAkCD,MAAWE,mBAAAA,EAA4B;AACrF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,IAAI,OAAOA,SAAS,QAAA,EAAU;AAC1B,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,IAAIG,mCAAAA,CAAoCH,IAAAA,CAAAA,EAAO;AAC3C,IAAA,OAAOI,sCAAAA,CAAuCJ,MAAM,IAAA,CAAA;AACxD,EAAA;AACA,EAAA,IAAIK,oCAAAA,CAAqCL,IAAAA,CAAAA,EAAO;AAC5C,IAAA,OAAOM,uCAAAA,CAAwCN,MAAM,IAAA,CAAA;AACzD,EAAA;AACA,EAAA,IAAIO,oCAAAA,CAAqCP,IAAAA,CAAAA,EAAO;AAC5C,IAAA,OAAOQ,uCAAAA,CAAwCR,MAAM,IAAA,CAAA;AACzD,EAAA;AACA,EAAA,OAAO,EAAC;AACZ;AAjBgBC,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAmBT,SAASQ,2BAA2BT,IAAAA,EAAS;AAChD,EAAA,OAAOU,+BAAAA,CAAgCV,MAAM,KAAA,CAAA;AACjD;AAFgBS,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAIT,SAASC,+BAAAA,CAAgCC,KAAAA,EAAqCT,mBAAAA,GAA+B,KAAA,EAAK;AACrH,EAAA,IAAIS,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AACA,EAAA,IAAI,OAAOA,UAAU,QAAA,EAAU;AAC3B,IAAA,OAAOA,KAAAA;AACX,EAAA;AACA,EAAA,IAAIR,mCAAAA,CAAoCQ,KAAAA,CAAAA,EAAQ;AAC5C,IAAA,OAAOC,gCAAgCD,KAAAA,CAAAA;AAC3C,EAAA;AACA,EAAA,IAAIN,oCAAAA,CAAqCM,KAAAA,CAAAA,EAAQ;AAC7C,IAAA,OAAOE,iCAAiCF,KAAAA,CAAAA;AAC5C,EAAA;AACA,EAAA,IAAIJ,oCAAAA,CAAqCI,KAAAA,CAAAA,EAAQ;AAC7C,IAAA,OAAOG,iCAAiCH,KAAAA,CAAAA;AAC5C,EAAA;AACA,EAAA,OAAO,EAAC;AACZ;AAjBgBD,MAAAA,CAAAA,+BAAAA,EAAAA,iCAAAA,CAAAA","file":"N3INXXRG.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.4.3-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { DeduplicationPeriod2OneOf } from './DeduplicationPeriod2OneOf.js';\nimport {\n instanceOfDeduplicationPeriod2OneOf,\n DeduplicationPeriod2OneOfFromJSON,\n DeduplicationPeriod2OneOfFromJSONTyped,\n DeduplicationPeriod2OneOfToJSON,\n} from './DeduplicationPeriod2OneOf.js';\nimport type { DeduplicationPeriod2OneOf1 } from './DeduplicationPeriod2OneOf1.js';\nimport {\n instanceOfDeduplicationPeriod2OneOf1,\n DeduplicationPeriod2OneOf1FromJSON,\n DeduplicationPeriod2OneOf1FromJSONTyped,\n DeduplicationPeriod2OneOf1ToJSON,\n} from './DeduplicationPeriod2OneOf1.js';\nimport type { DeduplicationPeriod2OneOf2 } from './DeduplicationPeriod2OneOf2.js';\nimport {\n instanceOfDeduplicationPeriod2OneOf2,\n DeduplicationPeriod2OneOf2FromJSON,\n DeduplicationPeriod2OneOf2FromJSONTyped,\n DeduplicationPeriod2OneOf2ToJSON,\n} from './DeduplicationPeriod2OneOf2.js';\n\n/**\n * @type DeduplicationPeriod2\n * \n * @export\n */\nexport type DeduplicationPeriod2 = DeduplicationPeriod2OneOf | DeduplicationPeriod2OneOf1 | DeduplicationPeriod2OneOf2;\n\nexport function DeduplicationPeriod2FromJSON(json: any): DeduplicationPeriod2 {\n return DeduplicationPeriod2FromJSONTyped(json, false);\n}\n\nexport function DeduplicationPeriod2FromJSONTyped(json: any, ignoreDiscriminator: boolean): DeduplicationPeriod2 {\n if (json == null) {\n return json;\n }\n if (typeof json !== 'object') {\n return json;\n }\n if (instanceOfDeduplicationPeriod2OneOf(json)) {\n return DeduplicationPeriod2OneOfFromJSONTyped(json, true);\n }\n if (instanceOfDeduplicationPeriod2OneOf1(json)) {\n return DeduplicationPeriod2OneOf1FromJSONTyped(json, true);\n }\n if (instanceOfDeduplicationPeriod2OneOf2(json)) {\n return DeduplicationPeriod2OneOf2FromJSONTyped(json, true);\n }\n return {} as any;\n}\n\nexport function DeduplicationPeriod2ToJSON(json: any): any {\n return DeduplicationPeriod2ToJSONTyped(json, false);\n}\n\nexport function DeduplicationPeriod2ToJSONTyped(value?: DeduplicationPeriod2 | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n if (typeof value !== 'object') {\n return value;\n }\n if (instanceOfDeduplicationPeriod2OneOf(value)) {\n return DeduplicationPeriod2OneOfToJSON(value as DeduplicationPeriod2OneOf);\n }\n if (instanceOfDeduplicationPeriod2OneOf1(value)) {\n return DeduplicationPeriod2OneOf1ToJSON(value as DeduplicationPeriod2OneOf1);\n }\n if (instanceOfDeduplicationPeriod2OneOf2(value)) {\n return DeduplicationPeriod2OneOf2ToJSON(value as DeduplicationPeriod2OneOf2);\n }\n return {};\n}\n\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReassignmentFromJSON, ReassignmentToJSON } from './
|
|
1
|
+
import { ReassignmentFromJSON, ReassignmentToJSON } from './R5PCNLRD.js';
|
|
2
2
|
import { __name } from './VUOMXK5T.js';
|
|
3
3
|
|
|
4
4
|
// src/open-api/models/UpdateOneOf1.ts
|
|
@@ -35,5 +35,5 @@ function UpdateOneOf1ToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
35
35
|
__name(UpdateOneOf1ToJSONTyped, "UpdateOneOf1ToJSONTyped");
|
|
36
36
|
|
|
37
37
|
export { UpdateOneOf1FromJSON, UpdateOneOf1FromJSONTyped, UpdateOneOf1ToJSON, UpdateOneOf1ToJSONTyped, instanceOfUpdateOneOf1 };
|
|
38
|
-
//# sourceMappingURL=
|
|
39
|
-
//# sourceMappingURL=
|
|
38
|
+
//# sourceMappingURL=NJW7UX2A.js.map
|
|
39
|
+
//# sourceMappingURL=NJW7UX2A.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/UpdateOneOf1.ts"],"names":["instanceOfUpdateOneOf1","value","undefined","UpdateOneOf1FromJSON","json","UpdateOneOf1FromJSONTyped","ignoreDiscriminator","ReassignmentFromJSON","UpdateOneOf1ToJSON","UpdateOneOf1ToJSONTyped","ReassignmentToJSON"],"mappings":";;;;AAwCO,SAASA,uBAAuBC,KAAAA,EAAa;AAChD,EAAA,IAAI,EAAE,cAAA,IAAkBA,KAAAA,CAAAA,IAAUA,MAAM,cAAA,CAAA,KAAoBC,QAAW,OAAO,KAAA;AAC9E,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAKT,SAASG,qBAAqBC,IAAAA,EAAS;AAC1C,EAAA,OAAOC,yBAAAA,CAA0BD,IAAM,CAAA;AAC3C;AAFgBD,MAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA;AAIT,SAASE,yBAAAA,CAA0BD,MAAWE,mBAAAA,EAA4B;AAC7E,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,cAAA,EAAgBG,oBAAAA,CAAqBH,IAAAA,CAAK,cAAA,CAAe;AAC7D,GAAA;AACJ;AARgBC,MAAAA,CAAAA,yBAAAA,EAAAA,2BAAAA,CAAAA;AAUT,SAASG,mBAAmBJ,IAAAA,EAAS;AACxC,EAAA,OAAOK,uBAAAA,CAAwBL,MAAM,KAAA,CAAA;AACzC;AAFgBI,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAIT,SAASC,uBAAAA,CAAwBR,KAAAA,EAA6BK,mBAAAA,GAA+B,KAAA,EAAK;AACrG,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,cAAA,EAAgBS,kBAAAA,CAAmBT,KAAAA,CAAM,cAAA,CAAe;AAC5D,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/UpdateOneOf1.ts"],"names":["instanceOfUpdateOneOf1","value","undefined","UpdateOneOf1FromJSON","json","UpdateOneOf1FromJSONTyped","ignoreDiscriminator","ReassignmentFromJSON","UpdateOneOf1ToJSON","UpdateOneOf1ToJSONTyped","ReassignmentToJSON"],"mappings":";;;;AAwCO,SAASA,uBAAuBC,KAAAA,EAAa;AAChD,EAAA,IAAI,EAAE,cAAA,IAAkBA,KAAAA,CAAAA,IAAUA,MAAM,cAAA,CAAA,KAAoBC,QAAW,OAAO,KAAA;AAC9E,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAKT,SAASG,qBAAqBC,IAAAA,EAAS;AAC1C,EAAA,OAAOC,yBAAAA,CAA0BD,IAAM,CAAA;AAC3C;AAFgBD,MAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA;AAIT,SAASE,yBAAAA,CAA0BD,MAAWE,mBAAAA,EAA4B;AAC7E,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,cAAA,EAAgBG,oBAAAA,CAAqBH,IAAAA,CAAK,cAAA,CAAe;AAC7D,GAAA;AACJ;AARgBC,MAAAA,CAAAA,yBAAAA,EAAAA,2BAAAA,CAAAA;AAUT,SAASG,mBAAmBJ,IAAAA,EAAS;AACxC,EAAA,OAAOK,uBAAAA,CAAwBL,MAAM,KAAA,CAAA;AACzC;AAFgBI,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAIT,SAASC,uBAAAA,CAAwBR,KAAAA,EAA6BK,mBAAAA,GAA+B,KAAA,EAAK;AACrG,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,cAAA,EAAgBS,kBAAAA,CAAmBT,KAAAA,CAAM,cAAA,CAAe;AAC5D,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA","file":"NJW7UX2A.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.4.3-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime.js';\nimport type { Reassignment } from './Reassignment.js';\nimport {\n ReassignmentFromJSON,\n ReassignmentFromJSONTyped,\n ReassignmentToJSON,\n ReassignmentToJSONTyped,\n} from './Reassignment.js';\n\n/**\n * \n * @export\n * @interface UpdateOneOf1\n */\nexport interface UpdateOneOf1 {\n /**\n * \n * @type {Reassignment}\n * @memberof UpdateOneOf1\n */\n reassignment: Reassignment;\n}\n\n/**\n * Check if a given object implements the UpdateOneOf1 interface.\n */\nexport function instanceOfUpdateOneOf1(value: object): value is UpdateOneOf1 {\n if (!('reassignment' in value) || value['reassignment'] === undefined) return false;\n return true;\n}\n\nexport function UpdateOneOf1FromJSON(json: any): UpdateOneOf1 {\n return UpdateOneOf1FromJSONTyped(json, false);\n}\n\nexport function UpdateOneOf1FromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateOneOf1 {\n if (json == null) {\n return json;\n }\n return {\n \n 'reassignment': ReassignmentFromJSON(json['Reassignment']),\n };\n}\n\nexport function UpdateOneOf1ToJSON(json: any): UpdateOneOf1 {\n return UpdateOneOf1ToJSONTyped(json, false);\n}\n\nexport function UpdateOneOf1ToJSONTyped(value?: UpdateOneOf1 | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'Reassignment': ReassignmentToJSON(value['reassignment']),\n };\n}\n\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { instanceOfUpdateOneOf3, UpdateOneOf3FromJSONTyped, UpdateOneOf3ToJSON } from './5RZS7DZN.js';
|
|
2
1
|
import { instanceOfUpdateOneOf, UpdateOneOfFromJSONTyped, UpdateOneOfToJSON } from './YMURVGWI.js';
|
|
3
|
-
import { instanceOfUpdateOneOf1, UpdateOneOf1FromJSONTyped, UpdateOneOf1ToJSON } from './
|
|
4
|
-
import { instanceOfUpdateOneOf2, UpdateOneOf2FromJSONTyped, UpdateOneOf2ToJSON } from './
|
|
2
|
+
import { instanceOfUpdateOneOf1, UpdateOneOf1FromJSONTyped, UpdateOneOf1ToJSON } from './NJW7UX2A.js';
|
|
3
|
+
import { instanceOfUpdateOneOf2, UpdateOneOf2FromJSONTyped, UpdateOneOf2ToJSON } from './GHWJBJNB.js';
|
|
4
|
+
import { instanceOfUpdateOneOf3, UpdateOneOf3FromJSONTyped, UpdateOneOf3ToJSON } from './5RZS7DZN.js';
|
|
5
5
|
import { __name } from './VUOMXK5T.js';
|
|
6
6
|
|
|
7
7
|
// src/open-api/models/Update.ts
|
|
@@ -59,5 +59,5 @@ function UpdateToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
59
59
|
__name(UpdateToJSONTyped, "UpdateToJSONTyped");
|
|
60
60
|
|
|
61
61
|
export { UpdateFromJSON, UpdateFromJSONTyped, UpdateToJSON, UpdateToJSONTyped };
|
|
62
|
-
//# sourceMappingURL=
|
|
63
|
-
//# sourceMappingURL=
|
|
62
|
+
//# sourceMappingURL=NRGCZ4DG.js.map
|
|
63
|
+
//# sourceMappingURL=NRGCZ4DG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/Update.ts"],"names":["UpdateFromJSON","json","UpdateFromJSONTyped","ignoreDiscriminator","instanceOfUpdateOneOf","UpdateOneOfFromJSONTyped","instanceOfUpdateOneOf1","UpdateOneOf1FromJSONTyped","instanceOfUpdateOneOf2","UpdateOneOf2FromJSONTyped","instanceOfUpdateOneOf3","UpdateOneOf3FromJSONTyped","UpdateToJSON","UpdateToJSONTyped","value","UpdateOneOfToJSON","UpdateOneOf1ToJSON","UpdateOneOf2ToJSON","UpdateOneOf3ToJSON"],"mappings":";;;;;;;AAkDO,SAASA,eAAeC,IAAAA,EAAS;AACpC,EAAA,OAAOC,mBAAAA,CAAoBD,IAAM,CAAA;AACrC;AAFgBD,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAIT,SAASE,mBAAAA,CAAoBD,MAAWE,mBAAAA,EAA4B;AACvE,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,IAAI,OAAOA,SAAS,QAAA,EAAU;AAC1B,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,IAAIG,qBAAAA,CAAsBH,IAAAA,CAAAA,EAAO;AAC7B,IAAA,OAAOI,wBAAAA,CAAyBJ,MAAM,IAAA,CAAA;AAC1C,EAAA;AACA,EAAA,IAAIK,sBAAAA,CAAuBL,IAAAA,CAAAA,EAAO;AAC9B,IAAA,OAAOM,yBAAAA,CAA0BN,MAAM,IAAA,CAAA;AAC3C,EAAA;AACA,EAAA,IAAIO,sBAAAA,CAAuBP,IAAAA,CAAAA,EAAO;AAC9B,IAAA,OAAOQ,yBAAAA,CAA0BR,MAAM,IAAA,CAAA;AAC3C,EAAA;AACA,EAAA,IAAIS,sBAAAA,CAAuBT,IAAAA,CAAAA,EAAO;AAC9B,IAAA,OAAOU,yBAAAA,CAA0BV,MAAM,IAAA,CAAA;AAC3C,EAAA;AACA,EAAA,OAAO,EAAC;AACZ;AApBgBC,MAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AAsBT,SAASU,aAAaX,IAAAA,EAAS;AAClC,EAAA,OAAOY,iBAAAA,CAAkBZ,MAAM,KAAA,CAAA;AACnC;AAFgBW,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAIT,SAASC,iBAAAA,CAAkBC,KAAAA,EAAuBX,mBAAAA,GAA+B,KAAA,EAAK;AACzF,EAAA,IAAIW,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AACA,EAAA,IAAI,OAAOA,UAAU,QAAA,EAAU;AAC3B,IAAA,OAAOA,KAAAA;AACX,EAAA;AACA,EAAA,IAAIV,qBAAAA,CAAsBU,KAAAA,CAAAA,EAAQ;AAC9B,IAAA,OAAOC,kBAAkBD,KAAAA,CAAAA;AAC7B,EAAA;AACA,EAAA,IAAIR,sBAAAA,CAAuBQ,KAAAA,CAAAA,EAAQ;AAC/B,IAAA,OAAOE,mBAAmBF,KAAAA,CAAAA;AAC9B,EAAA;AACA,EAAA,IAAIN,sBAAAA,CAAuBM,KAAAA,CAAAA,EAAQ;AAC/B,IAAA,OAAOG,mBAAmBH,KAAAA,CAAAA;AAC9B,EAAA;AACA,EAAA,IAAIJ,sBAAAA,CAAuBI,KAAAA,CAAAA,EAAQ;AAC/B,IAAA,OAAOI,mBAAmBJ,KAAAA,CAAAA;AAC9B,EAAA;AACA,EAAA,OAAO,EAAC;AACZ;AApBgBD,MAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/Update.ts"],"names":["UpdateFromJSON","json","UpdateFromJSONTyped","ignoreDiscriminator","instanceOfUpdateOneOf","UpdateOneOfFromJSONTyped","instanceOfUpdateOneOf1","UpdateOneOf1FromJSONTyped","instanceOfUpdateOneOf2","UpdateOneOf2FromJSONTyped","instanceOfUpdateOneOf3","UpdateOneOf3FromJSONTyped","UpdateToJSON","UpdateToJSONTyped","value","UpdateOneOfToJSON","UpdateOneOf1ToJSON","UpdateOneOf2ToJSON","UpdateOneOf3ToJSON"],"mappings":";;;;;;;AAkDO,SAASA,eAAeC,IAAAA,EAAS;AACpC,EAAA,OAAOC,mBAAAA,CAAoBD,IAAM,CAAA;AACrC;AAFgBD,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAIT,SAASE,mBAAAA,CAAoBD,MAAWE,mBAAAA,EAA4B;AACvE,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,IAAI,OAAOA,SAAS,QAAA,EAAU;AAC1B,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,IAAIG,qBAAAA,CAAsBH,IAAAA,CAAAA,EAAO;AAC7B,IAAA,OAAOI,wBAAAA,CAAyBJ,MAAM,IAAA,CAAA;AAC1C,EAAA;AACA,EAAA,IAAIK,sBAAAA,CAAuBL,IAAAA,CAAAA,EAAO;AAC9B,IAAA,OAAOM,yBAAAA,CAA0BN,MAAM,IAAA,CAAA;AAC3C,EAAA;AACA,EAAA,IAAIO,sBAAAA,CAAuBP,IAAAA,CAAAA,EAAO;AAC9B,IAAA,OAAOQ,yBAAAA,CAA0BR,MAAM,IAAA,CAAA;AAC3C,EAAA;AACA,EAAA,IAAIS,sBAAAA,CAAuBT,IAAAA,CAAAA,EAAO;AAC9B,IAAA,OAAOU,yBAAAA,CAA0BV,MAAM,IAAA,CAAA;AAC3C,EAAA;AACA,EAAA,OAAO,EAAC;AACZ;AApBgBC,MAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AAsBT,SAASU,aAAaX,IAAAA,EAAS;AAClC,EAAA,OAAOY,iBAAAA,CAAkBZ,MAAM,KAAA,CAAA;AACnC;AAFgBW,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAIT,SAASC,iBAAAA,CAAkBC,KAAAA,EAAuBX,mBAAAA,GAA+B,KAAA,EAAK;AACzF,EAAA,IAAIW,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AACA,EAAA,IAAI,OAAOA,UAAU,QAAA,EAAU;AAC3B,IAAA,OAAOA,KAAAA;AACX,EAAA;AACA,EAAA,IAAIV,qBAAAA,CAAsBU,KAAAA,CAAAA,EAAQ;AAC9B,IAAA,OAAOC,kBAAkBD,KAAAA,CAAAA;AAC7B,EAAA;AACA,EAAA,IAAIR,sBAAAA,CAAuBQ,KAAAA,CAAAA,EAAQ;AAC/B,IAAA,OAAOE,mBAAmBF,KAAAA,CAAAA;AAC9B,EAAA;AACA,EAAA,IAAIN,sBAAAA,CAAuBM,KAAAA,CAAAA,EAAQ;AAC/B,IAAA,OAAOG,mBAAmBH,KAAAA,CAAAA;AAC9B,EAAA;AACA,EAAA,IAAIJ,sBAAAA,CAAuBI,KAAAA,CAAAA,EAAQ;AAC/B,IAAA,OAAOI,mBAAmBJ,KAAAA,CAAAA;AAC9B,EAAA;AACA,EAAA,OAAO,EAAC;AACZ;AApBgBD,MAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA","file":"NRGCZ4DG.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.4.3-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { UpdateOneOf } from './UpdateOneOf.js';\nimport {\n instanceOfUpdateOneOf,\n UpdateOneOfFromJSON,\n UpdateOneOfFromJSONTyped,\n UpdateOneOfToJSON,\n} from './UpdateOneOf.js';\nimport type { UpdateOneOf1 } from './UpdateOneOf1.js';\nimport {\n instanceOfUpdateOneOf1,\n UpdateOneOf1FromJSON,\n UpdateOneOf1FromJSONTyped,\n UpdateOneOf1ToJSON,\n} from './UpdateOneOf1.js';\nimport type { UpdateOneOf2 } from './UpdateOneOf2.js';\nimport {\n instanceOfUpdateOneOf2,\n UpdateOneOf2FromJSON,\n UpdateOneOf2FromJSONTyped,\n UpdateOneOf2ToJSON,\n} from './UpdateOneOf2.js';\nimport type { UpdateOneOf3 } from './UpdateOneOf3.js';\nimport {\n instanceOfUpdateOneOf3,\n UpdateOneOf3FromJSON,\n UpdateOneOf3FromJSONTyped,\n UpdateOneOf3ToJSON,\n} from './UpdateOneOf3.js';\n\n/**\n * @type Update\n * \n * @export\n */\nexport type Update = UpdateOneOf | UpdateOneOf1 | UpdateOneOf2 | UpdateOneOf3;\n\nexport function UpdateFromJSON(json: any): Update {\n return UpdateFromJSONTyped(json, false);\n}\n\nexport function UpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): Update {\n if (json == null) {\n return json;\n }\n if (typeof json !== 'object') {\n return json;\n }\n if (instanceOfUpdateOneOf(json)) {\n return UpdateOneOfFromJSONTyped(json, true);\n }\n if (instanceOfUpdateOneOf1(json)) {\n return UpdateOneOf1FromJSONTyped(json, true);\n }\n if (instanceOfUpdateOneOf2(json)) {\n return UpdateOneOf2FromJSONTyped(json, true);\n }\n if (instanceOfUpdateOneOf3(json)) {\n return UpdateOneOf3FromJSONTyped(json, true);\n }\n return {} as any;\n}\n\nexport function UpdateToJSON(json: any): any {\n return UpdateToJSONTyped(json, false);\n}\n\nexport function UpdateToJSONTyped(value?: Update | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n if (typeof value !== 'object') {\n return value;\n }\n if (instanceOfUpdateOneOf(value)) {\n return UpdateOneOfToJSON(value as UpdateOneOf);\n }\n if (instanceOfUpdateOneOf1(value)) {\n return UpdateOneOf1ToJSON(value as UpdateOneOf1);\n }\n if (instanceOfUpdateOneOf2(value)) {\n return UpdateOneOf2ToJSON(value as UpdateOneOf2);\n }\n if (instanceOfUpdateOneOf3(value)) {\n return UpdateOneOf3ToJSON(value as UpdateOneOf3);\n }\n return {};\n}\n\n"]}
|
package/dist/NRSV2VHQ.js
ADDED
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
import { buildNamespaceDelegationMapping, buildDecentralizedNamespaceDefinitionMapping, buildPartyToKeyMapping, buildPartyToParticipantMapping } from './RVQWP4JU.js';
|
|
2
|
+
import { SynchronizerConnectivityServiceClient } from './CXQSVBVW.js';
|
|
3
|
+
import { buildChannelCredentials, synchronizerStore, headStateBaseQuery, computeDecentralizedNamespace } from './QAKOQQ7E.js';
|
|
4
|
+
import { computePublicKeyFingerprint } from './WLV6EHDB.js';
|
|
5
|
+
import { CantonProtocolError, CantonError } from './A7Z5O57E.js';
|
|
6
|
+
import { __name } from './VUOMXK5T.js';
|
|
7
|
+
import { TopologyManagerReadServiceClient, TopologyManagerWriteServiceClient, GenerateTransactionsRequest, GenerateTransactionsRequest_Proposal, Enums_TopologyChangeOp, ListNamespaceDelegationRequest, ListDecentralizedNamespaceDefinitionRequest, ListPartyToKeyMappingRequest, ListPartyToParticipantRequest, AddTransactionsRequest } from '@canton-network/core-ledger-proto';
|
|
8
|
+
import { GrpcTransport } from '@protobuf-ts/grpc-transport';
|
|
9
|
+
|
|
10
|
+
var DEFAULT_GRPC_CLIENT_OPTIONS = {
|
|
11
|
+
"grpc.max_receive_message_length": 128 * 1024 * 1024,
|
|
12
|
+
"grpc.max_send_message_length": 128 * 1024 * 1024
|
|
13
|
+
};
|
|
14
|
+
var CantonGrpcClient = class {
|
|
15
|
+
static {
|
|
16
|
+
__name(this, "CantonGrpcClient");
|
|
17
|
+
}
|
|
18
|
+
#transport;
|
|
19
|
+
#topologyRead;
|
|
20
|
+
#topologyWrite;
|
|
21
|
+
#connectivity;
|
|
22
|
+
#tokenProvider;
|
|
23
|
+
#synchronizerId;
|
|
24
|
+
/**
|
|
25
|
+
* @param opts - Admin API host, auth, optional synchronizer id, and optional TLS.
|
|
26
|
+
*/
|
|
27
|
+
constructor(opts) {
|
|
28
|
+
this.#tokenProvider = opts.tokenProvider;
|
|
29
|
+
this.#synchronizerId = opts.synchronizerId;
|
|
30
|
+
this.#transport = new GrpcTransport({
|
|
31
|
+
host: opts.host,
|
|
32
|
+
channelCredentials: buildChannelCredentials(opts.host, opts.tls),
|
|
33
|
+
clientOptions: opts.grpcClientOptions ?? DEFAULT_GRPC_CLIENT_OPTIONS
|
|
34
|
+
});
|
|
35
|
+
this.#topologyRead = new TopologyManagerReadServiceClient(this.#transport);
|
|
36
|
+
this.#topologyWrite = new TopologyManagerWriteServiceClient(this.#transport);
|
|
37
|
+
this.#connectivity = new SynchronizerConnectivityServiceClient(this.#transport);
|
|
38
|
+
}
|
|
39
|
+
/** Returns per-RPC gRPC metadata with a fresh Bearer token. */
|
|
40
|
+
async #getMeta() {
|
|
41
|
+
const token = await this.#tokenProvider.getToken();
|
|
42
|
+
return {
|
|
43
|
+
Authorization: `Bearer ${token}`
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Returns the client synchronizer id, discovering it on first use when omitted at construction.
|
|
48
|
+
*
|
|
49
|
+
* @throws {CantonProtocolError} If the participant exposes no synchronizer store.
|
|
50
|
+
*/
|
|
51
|
+
async #getSynchronizerId() {
|
|
52
|
+
if (this.#synchronizerId) {
|
|
53
|
+
return this.#synchronizerId;
|
|
54
|
+
}
|
|
55
|
+
this.#synchronizerId = await this.#discoverSynchronizerId();
|
|
56
|
+
return this.#synchronizerId;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Resolves the logical id of the first synchronizer the participant is connected to.
|
|
60
|
+
*
|
|
61
|
+
* @throws {CantonProtocolError} If the participant is not connected to any synchronizer.
|
|
62
|
+
*/
|
|
63
|
+
async #discoverSynchronizerId() {
|
|
64
|
+
const { response } = await this.#connectivity.listConnectedSynchronizers({}, {
|
|
65
|
+
meta: await this.#getMeta()
|
|
66
|
+
});
|
|
67
|
+
for (const synchronizer of response.connectedSynchronizers) {
|
|
68
|
+
if (synchronizer.synchronizerId) {
|
|
69
|
+
return synchronizer.synchronizerId;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
throw new CantonProtocolError("Participant is not connected to any synchronizer");
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Calls `GenerateTransactions` for a single ADD_REPLACE mapping.
|
|
76
|
+
*
|
|
77
|
+
* @param synchronizerId - Synchronizer store to target.
|
|
78
|
+
* @param mapping - Topology mapping to encode into the transaction.
|
|
79
|
+
* @param serial - Topology serial (`0` lets Canton auto-determine).
|
|
80
|
+
* @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).
|
|
81
|
+
* @throws {CantonProtocolError} If the RPC returns no generated transaction.
|
|
82
|
+
*/
|
|
83
|
+
async #generateTopologyTransaction(synchronizerId, mapping, serial) {
|
|
84
|
+
const { response } = await this.#topologyWrite.generateTransactions(GenerateTransactionsRequest.create({
|
|
85
|
+
proposals: [
|
|
86
|
+
GenerateTransactionsRequest_Proposal.create({
|
|
87
|
+
operation: Enums_TopologyChangeOp.ADD_REPLACE,
|
|
88
|
+
serial,
|
|
89
|
+
mapping,
|
|
90
|
+
store: synchronizerStore(synchronizerId)
|
|
91
|
+
})
|
|
92
|
+
]
|
|
93
|
+
}), {
|
|
94
|
+
meta: await this.#getMeta()
|
|
95
|
+
});
|
|
96
|
+
const generated = response.generatedTransactions[0];
|
|
97
|
+
if (!generated) {
|
|
98
|
+
throw new CantonProtocolError("GenerateTransactions returned no topology transaction");
|
|
99
|
+
}
|
|
100
|
+
return generated;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Lists Namespace Delegation (NSD) mappings for a namespace.
|
|
104
|
+
*
|
|
105
|
+
* Queries topology head state on the synchronizer. Returns every result from
|
|
106
|
+
* the list RPC.
|
|
107
|
+
*
|
|
108
|
+
* @param namespaceFingerprint - Namespace to filter on (for root NSD, the owner key fingerprint).
|
|
109
|
+
* @returns All matching NSD mappings, or an empty array if none exist.
|
|
110
|
+
*/
|
|
111
|
+
async getNamespaceDelegation(namespaceFingerprint) {
|
|
112
|
+
const synchronizerId = await this.#getSynchronizerId();
|
|
113
|
+
const { response } = await this.#topologyRead.listNamespaceDelegation(ListNamespaceDelegationRequest.create({
|
|
114
|
+
baseQuery: headStateBaseQuery(synchronizerId),
|
|
115
|
+
filterNamespace: namespaceFingerprint,
|
|
116
|
+
// Empty string = no target-key filter; return all delegations for this namespace.
|
|
117
|
+
filterTargetKeyFingerprint: ""
|
|
118
|
+
}), {
|
|
119
|
+
meta: await this.#getMeta()
|
|
120
|
+
});
|
|
121
|
+
return response.results.flatMap((result) => {
|
|
122
|
+
const item = result.item;
|
|
123
|
+
const publicKey = item?.targetKey?.publicKey;
|
|
124
|
+
if (!item || !publicKey) {
|
|
125
|
+
return [];
|
|
126
|
+
}
|
|
127
|
+
return [
|
|
128
|
+
{
|
|
129
|
+
namespace: item.namespace,
|
|
130
|
+
targetKeyFingerprint: computePublicKeyFingerprint(publicKey),
|
|
131
|
+
isRootDelegation: item.isRootDelegation,
|
|
132
|
+
serial: result.context?.serial ?? 0
|
|
133
|
+
}
|
|
134
|
+
];
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Lists Decentralized Namespace Definition (DND) mappings for a namespace.
|
|
139
|
+
*
|
|
140
|
+
* Queries topology head state on the synchronizer. For a party id `hint::1220…`,
|
|
141
|
+
* pass the `1220…` suffix as `namespaceFingerprint`.
|
|
142
|
+
*
|
|
143
|
+
* @param namespaceFingerprint - Decentralized namespace fingerprint to filter on.
|
|
144
|
+
* @returns All matching DND mappings, or an empty array if none exist.
|
|
145
|
+
*/
|
|
146
|
+
async getDecentralizedNamespaceDefinition(namespaceFingerprint) {
|
|
147
|
+
const synchronizerId = await this.#getSynchronizerId();
|
|
148
|
+
const { response } = await this.#topologyRead.listDecentralizedNamespaceDefinition(ListDecentralizedNamespaceDefinitionRequest.create({
|
|
149
|
+
baseQuery: headStateBaseQuery(synchronizerId),
|
|
150
|
+
filterNamespace: namespaceFingerprint
|
|
151
|
+
}), {
|
|
152
|
+
meta: await this.#getMeta()
|
|
153
|
+
});
|
|
154
|
+
return response.results.flatMap((result) => {
|
|
155
|
+
const item = result.item;
|
|
156
|
+
if (!item) {
|
|
157
|
+
return [];
|
|
158
|
+
}
|
|
159
|
+
return [
|
|
160
|
+
{
|
|
161
|
+
namespace: item.decentralizedNamespace,
|
|
162
|
+
threshold: item.threshold,
|
|
163
|
+
owners: [
|
|
164
|
+
...item.owners
|
|
165
|
+
],
|
|
166
|
+
serial: result.context?.serial ?? 0
|
|
167
|
+
}
|
|
168
|
+
];
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Lists Party-to-Key (PTK) mappings for a party.
|
|
173
|
+
*
|
|
174
|
+
* Queries topology head state on the synchronizer.
|
|
175
|
+
*
|
|
176
|
+
* @param partyId - Full party identifier (e.g. `hint::1220…`).
|
|
177
|
+
* @returns All matching PTK mappings, or an empty array if none exist.
|
|
178
|
+
*/
|
|
179
|
+
async getPartyToKeyMapping(partyId) {
|
|
180
|
+
const synchronizerId = await this.#getSynchronizerId();
|
|
181
|
+
const { response } = await this.#topologyRead.listPartyToKeyMapping(ListPartyToKeyMappingRequest.create({
|
|
182
|
+
baseQuery: headStateBaseQuery(synchronizerId),
|
|
183
|
+
filterParty: partyId
|
|
184
|
+
}), {
|
|
185
|
+
meta: await this.#getMeta()
|
|
186
|
+
});
|
|
187
|
+
return response.results.flatMap((result) => {
|
|
188
|
+
const item = result.item;
|
|
189
|
+
if (!item) {
|
|
190
|
+
return [];
|
|
191
|
+
}
|
|
192
|
+
return [
|
|
193
|
+
{
|
|
194
|
+
party: item.party,
|
|
195
|
+
threshold: item.threshold,
|
|
196
|
+
signingKeyFingerprints: item.signingKeys.map((key) => computePublicKeyFingerprint(key.publicKey)),
|
|
197
|
+
serial: result.context?.serial ?? 0
|
|
198
|
+
}
|
|
199
|
+
];
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Lists Party-to-Participant (PTP) mappings for a party.
|
|
204
|
+
*
|
|
205
|
+
* Queries topology head state on the synchronizer.
|
|
206
|
+
*
|
|
207
|
+
* @param partyId - Full party identifier (e.g. `hint::1220…`).
|
|
208
|
+
* @param proposals - If `true`, query pending proposals instead of authorized mappings.
|
|
209
|
+
* @returns All matching PTP mappings, or an empty array if none exist.
|
|
210
|
+
*/
|
|
211
|
+
async getPartyToParticipantMapping(partyId, proposals = false) {
|
|
212
|
+
const synchronizerId = await this.#getSynchronizerId();
|
|
213
|
+
const { response } = await this.#topologyRead.listPartyToParticipant(ListPartyToParticipantRequest.create({
|
|
214
|
+
baseQuery: headStateBaseQuery(synchronizerId, proposals),
|
|
215
|
+
filterParty: partyId,
|
|
216
|
+
// Empty string = no participant filter; return all hosting mappings for this party.
|
|
217
|
+
filterParticipant: ""
|
|
218
|
+
}), {
|
|
219
|
+
meta: await this.#getMeta()
|
|
220
|
+
});
|
|
221
|
+
return response.results.flatMap((result) => {
|
|
222
|
+
const item = result.item;
|
|
223
|
+
if (!item) {
|
|
224
|
+
return [];
|
|
225
|
+
}
|
|
226
|
+
return [
|
|
227
|
+
{
|
|
228
|
+
party: item.party,
|
|
229
|
+
threshold: item.threshold,
|
|
230
|
+
participants: item.participants.map((participant) => ({
|
|
231
|
+
participantUid: participant.participantUid,
|
|
232
|
+
permission: participant.permission
|
|
233
|
+
})),
|
|
234
|
+
serial: result.context?.serial ?? 0
|
|
235
|
+
}
|
|
236
|
+
];
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Builds an unsigned Namespace Delegation (NSD) topology transaction.
|
|
241
|
+
*
|
|
242
|
+
* Calls `GenerateTransactions` with an ADD_REPLACE mapping. The returned
|
|
243
|
+
* `transactionHash` must be signed by the namespace key.
|
|
244
|
+
*
|
|
245
|
+
* @param params - Owner public key and optional serial.
|
|
246
|
+
* @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).
|
|
247
|
+
*/
|
|
248
|
+
async createNamespaceDelegationTx(params) {
|
|
249
|
+
const synchronizerId = await this.#getSynchronizerId();
|
|
250
|
+
const mapping = buildNamespaceDelegationMapping(params.publicKeyDer);
|
|
251
|
+
return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Builds an unsigned Decentralized Namespace Definition (DND) topology transaction.
|
|
255
|
+
*
|
|
256
|
+
* The decentralized namespace id is derived from `params.owners`. All owners
|
|
257
|
+
* must sign the transaction hash.
|
|
258
|
+
*
|
|
259
|
+
* @param params - Owner fingerprints, threshold, and optional serial.
|
|
260
|
+
* @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).
|
|
261
|
+
*/
|
|
262
|
+
async createDecentralizedNamespaceDefinitionTx(params) {
|
|
263
|
+
const synchronizerId = await this.#getSynchronizerId();
|
|
264
|
+
const decentralizedNamespace = computeDecentralizedNamespace(params.owners);
|
|
265
|
+
const mapping = buildDecentralizedNamespaceDefinitionMapping(decentralizedNamespace, params.threshold, params.owners);
|
|
266
|
+
return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);
|
|
267
|
+
}
|
|
268
|
+
async updateDecentralizedNamespaceDefinitionTx(params) {
|
|
269
|
+
const synchronizerId = await this.#getSynchronizerId();
|
|
270
|
+
const mapping = buildDecentralizedNamespaceDefinitionMapping(params.namespace, params.threshold, params.owners);
|
|
271
|
+
return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Builds an unsigned Party-to-Key (PTK) topology transaction.
|
|
275
|
+
*
|
|
276
|
+
* Decentralized namespace owners must sign the transaction hash.
|
|
277
|
+
*
|
|
278
|
+
* @param params - Party id, signing keys, threshold, and optional serial.
|
|
279
|
+
* @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).
|
|
280
|
+
*/
|
|
281
|
+
async createPartyToKeyTx(params) {
|
|
282
|
+
const synchronizerId = await this.#getSynchronizerId();
|
|
283
|
+
const mapping = buildPartyToKeyMapping(params.partyId, params.signingPublicKeyDers, params.threshold);
|
|
284
|
+
return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Builds an unsigned Party-to-Participant (PTP) topology transaction.
|
|
288
|
+
*
|
|
289
|
+
* Party owners sign the transaction hash. On submit, set `proposal: true` on the
|
|
290
|
+
* signed transaction so the hosting participant can authorize via `Authorize`.
|
|
291
|
+
*
|
|
292
|
+
* @param params - Party id, participant ids, threshold, and optional serial.
|
|
293
|
+
* @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).
|
|
294
|
+
*/
|
|
295
|
+
async createPartyToParticipantTx(params) {
|
|
296
|
+
const synchronizerId = await this.#getSynchronizerId();
|
|
297
|
+
const mapping = buildPartyToParticipantMapping(params.partyId, params.participantIds, params.threshold);
|
|
298
|
+
return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Submits signed topology transactions to the synchronizer store.
|
|
302
|
+
*
|
|
303
|
+
* Multiple transactions are submitted atomically in one `AddTransactions` call.
|
|
304
|
+
* When batching, sign `computeMultiTransactionHash` over all transaction hashes
|
|
305
|
+
* and attach the same `MultiTransactionSignatures` to each entry.
|
|
306
|
+
*
|
|
307
|
+
* Set `proposal: true` on a transaction when the hosting participant must
|
|
308
|
+
* authorize that mapping afterward.
|
|
309
|
+
*
|
|
310
|
+
* @param transactions - One or more signed topology transactions.
|
|
311
|
+
* @throws {CantonError} If `transactions` is empty.
|
|
312
|
+
*/
|
|
313
|
+
async submitTopologyTransactions(transactions) {
|
|
314
|
+
if (transactions.length === 0) {
|
|
315
|
+
throw new CantonError("AddTransactions requires at least one transaction");
|
|
316
|
+
}
|
|
317
|
+
const synchronizerId = await this.#getSynchronizerId();
|
|
318
|
+
await this.#topologyWrite.addTransactions(AddTransactionsRequest.create({
|
|
319
|
+
transactions: [
|
|
320
|
+
...transactions
|
|
321
|
+
],
|
|
322
|
+
store: synchronizerStore(synchronizerId)
|
|
323
|
+
}), {
|
|
324
|
+
meta: await this.#getMeta()
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
/** Closes the underlying gRPC transport. */
|
|
328
|
+
close() {
|
|
329
|
+
this.#transport.close();
|
|
330
|
+
}
|
|
331
|
+
};
|
|
332
|
+
|
|
333
|
+
export { CantonGrpcClient };
|
|
334
|
+
//# sourceMappingURL=NRSV2VHQ.js.map
|
|
335
|
+
//# sourceMappingURL=NRSV2VHQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/client/grpc.ts"],"names":["DEFAULT_GRPC_CLIENT_OPTIONS","CantonGrpcClient","opts","tokenProvider","synchronizerId","GrpcTransport","host","channelCredentials","buildChannelCredentials","tls","clientOptions","grpcClientOptions","TopologyManagerReadServiceClient","TopologyManagerWriteServiceClient","SynchronizerConnectivityServiceClient","token","getToken","Authorization","response","listConnectedSynchronizers","meta","synchronizer","connectedSynchronizers","CantonProtocolError","mapping","serial","generateTransactions","GenerateTransactionsRequest","create","proposals","GenerateTransactionsRequest_Proposal","operation","Enums_TopologyChangeOp","ADD_REPLACE","store","synchronizerStore","generated","generatedTransactions","getNamespaceDelegation","namespaceFingerprint","listNamespaceDelegation","ListNamespaceDelegationRequest","baseQuery","headStateBaseQuery","filterNamespace","filterTargetKeyFingerprint","results","flatMap","result","item","publicKey","targetKey","namespace","targetKeyFingerprint","computePublicKeyFingerprint","isRootDelegation","context","getDecentralizedNamespaceDefinition","listDecentralizedNamespaceDefinition","ListDecentralizedNamespaceDefinitionRequest","decentralizedNamespace","threshold","owners","getPartyToKeyMapping","partyId","listPartyToKeyMapping","ListPartyToKeyMappingRequest","filterParty","party","signingKeyFingerprints","signingKeys","map","key","getPartyToParticipantMapping","listPartyToParticipant","ListPartyToParticipantRequest","filterParticipant","participants","participant","participantUid","permission","createNamespaceDelegationTx","params","buildNamespaceDelegationMapping","publicKeyDer","createDecentralizedNamespaceDefinitionTx","computeDecentralizedNamespace","buildDecentralizedNamespaceDefinitionMapping","updateDecentralizedNamespaceDefinitionTx","createPartyToKeyTx","buildPartyToKeyMapping","signingPublicKeyDers","createPartyToParticipantTx","buildPartyToParticipantMapping","participantIds","submitTopologyTransactions","transactions","length","CantonError","addTransactions","AddTransactionsRequest","close"],"mappings":";;;;;;;;;AA+CA,IAAMA,2BAAAA,GAA8B;AAChC,EAAA,iCAAA,EAAmC,MAAM,IAAA,GAAO,IAAA;AAChD,EAAA,8BAAA,EAAgC,MAAM,IAAA,GAAO;AACjD,CAAA;AAWO,IAAMC,mBAAN,MAAMA;EA7Db;;;AA8Da,EAAA,UAAA;AACA,EAAA,aAAA;AACA,EAAA,cAAA;AACA,EAAA,aAAA;AACA,EAAA,cAAA;AACT,EAAA,eAAA;;;;AAKA,EAAA,WAAA,CAAYC,IAAAA,EAA+B;AACvC,IAAA,IAAA,CAAK,iBAAiBA,IAAAA,CAAKC,aAAAA;AAC3B,IAAA,IAAA,CAAK,kBAAkBD,IAAAA,CAAKE,cAAAA;AAC5B,IAAA,IAAA,CAAK,UAAA,GAAa,IAAIC,aAAAA,CAAc;AAChCC,MAAAA,IAAAA,EAAMJ,IAAAA,CAAKI,IAAAA;AACXC,MAAAA,kBAAAA,EAAoBC,uBAAAA,CAAwBN,IAAAA,CAAKI,IAAAA,EAAMJ,IAAAA,CAAKO,GAAG,CAAA;AAC/DC,MAAAA,aAAAA,EAAeR,KAAKS,iBAAAA,IAAqBX;KAC7C,CAAA;AACA,IAAA,IAAA,CAAK,aAAA,GAAgB,IAAIY,gCAAAA,CAAiC,IAAA,CAAK,UAAU,CAAA;AACzE,IAAA,IAAA,CAAK,cAAA,GAAiB,IAAIC,iCAAAA,CAAkC,IAAA,CAAK,UAAU,CAAA;AAC3E,IAAA,IAAA,CAAK,aAAA,GAAgB,IAAIC,qCAAAA,CAAsC,IAAA,CAAK,UAAU,CAAA;AAClF,EAAA;;AAGA,EAAA,MAAM,QAAA,GAAQ;AACV,IAAA,MAAMC,KAAAA,GAAQ,MAAM,IAAA,CAAK,cAAA,CAAeC,QAAAA,EAAQ;AAChD,IAAA,OAAO;AAAEC,MAAAA,aAAAA,EAAe,UAAUF,KAAAA,CAAAA;AAAQ,KAAA;AAC9C,EAAA;;;;;;AAOA,EAAA,MAAM,kBAAA,GAAkB;AACpB,IAAA,IAAI,KAAK,eAAA,EAAiB;AACtB,MAAA,OAAO,IAAA,CAAK,eAAA;AAChB,IAAA;AACA,IAAA,IAAA,CAAK,eAAA,GAAkB,MAAM,IAAA,CAAK,uBAAA,EAAuB;AACzD,IAAA,OAAO,IAAA,CAAK,eAAA;AAChB,EAAA;;;;;;AAOA,EAAA,MAAM,uBAAA,GAAuB;AACzB,IAAA,MAAM,EAAEG,UAAQ,GAAK,MAAM,KAAK,aAAA,CAAcC,0BAAAA,CAC1C,EAAC,EACD;MAAEC,IAAAA,EAAM,MAAM,KAAK,QAAA;KAAW,CAAA;AAElC,IAAA,KAAA,MAAWC,YAAAA,IAAgBH,SAASI,sBAAAA,EAAwB;AACxD,MAAA,IAAID,aAAajB,cAAAA,EAAgB;AAC7B,QAAA,OAAOiB,YAAAA,CAAajB,cAAAA;AACxB,MAAA;AACJ,IAAA;AACA,IAAA,MAAM,IAAImB,oBAAoB,kDAAA,CAAA;AAClC,EAAA;;;;;;;;;;EAWA,MAAM,4BAAA,CACFnB,cAAAA,EACAoB,OAAAA,EACAC,MAAAA,EAAc;AAEd,IAAA,MAAM,EAAEP,UAAQ,GAAK,MAAM,KAAK,cAAA,CAAeQ,oBAAAA,CAC3CC,4BAA4BC,MAAAA,CAAO;MAC/BC,SAAAA,EAAW;AACPC,QAAAA,oCAAAA,CAAqCF,MAAAA,CAAO;AACxCG,UAAAA,SAAAA,EAAWC,sBAAAA,CAAuBC,WAAAA;AAClCR,UAAAA,MAAAA;AACAD,UAAAA,OAAAA;AACAU,UAAAA,KAAAA,EAAOC,kBAAkB/B,cAAAA;SAC7B;;AAER,KAAA,CAAA,EACA;MAAEgB,IAAAA,EAAM,MAAM,KAAK,QAAA;KAAW,CAAA;AAGlC,IAAA,MAAMgB,SAAAA,GAAYlB,QAAAA,CAASmB,qBAAAA,CAAsB,CAAA,CAAA;AACjD,IAAA,IAAI,CAACD,SAAAA,EAAW;AACZ,MAAA,MAAM,IAAIb,oBAAoB,uDAAA,CAAA;AAClC,IAAA;AACA,IAAA,OAAOa,SAAAA;AACX,EAAA;;;;;;;;;;AAWA,EAAA,MAAME,uBACFC,oBAAAA,EACmC;AACnC,IAAA,MAAMnC,cAAAA,GAAiB,MAAM,IAAA,CAAK,kBAAA,EAAkB;AACpD,IAAA,MAAM,EAAEc,UAAQ,GAAK,MAAM,KAAK,aAAA,CAAcsB,uBAAAA,CAC1CC,+BAA+Bb,MAAAA,CAAO;AAClCc,MAAAA,SAAAA,EAAWC,mBAAmBvC,cAAAA,CAAAA;MAC9BwC,eAAAA,EAAiBL,oBAAAA;;MAEjBM,0BAAAA,EAA4B;AAChC,KAAA,CAAA,EACA;MAAEzB,IAAAA,EAAM,MAAM,KAAK,QAAA;KAAW,CAAA;AAGlC,IAAA,OAAOF,QAAAA,CAAS4B,OAAAA,CAAQC,OAAAA,CAAQ,CAACC,MAAAA,KAAAA;AAC7B,MAAA,MAAMC,OAAOD,MAAAA,CAAOC,IAAAA;AACpB,MAAA,MAAMC,SAAAA,GAAYD,MAAME,SAAAA,EAAWD,SAAAA;AACnC,MAAA,IAAI,CAACD,IAAAA,IAAQ,CAACC,SAAAA,EAAW;AACrB,QAAA,OAAO,EAAA;AACX,MAAA;AACA,MAAA,OAAO;AACH,QAAA;AACIE,UAAAA,SAAAA,EAAWH,IAAAA,CAAKG,SAAAA;AAChBC,UAAAA,oBAAAA,EAAsBC,4BAA4BJ,SAAAA,CAAAA;AAClDK,UAAAA,gBAAAA,EAAkBN,IAAAA,CAAKM,gBAAAA;UACvB9B,MAAAA,EAAQuB,MAAAA,CAAOQ,SAAS/B,MAAAA,IAAU;AACtC;;IAER,CAAA,CAAA;AACJ,EAAA;;;;;;;;;;AAWA,EAAA,MAAMgC,oCACFlB,oBAAAA,EACgD;AAChD,IAAA,MAAMnC,cAAAA,GAAiB,MAAM,IAAA,CAAK,kBAAA,EAAkB;AACpD,IAAA,MAAM,EAAEc,UAAQ,GAAK,MAAM,KAAK,aAAA,CAAcwC,oCAAAA,CAC1CC,4CAA4C/B,MAAAA,CAAO;AAC/Cc,MAAAA,SAAAA,EAAWC,mBAAmBvC,cAAAA,CAAAA;MAC9BwC,eAAAA,EAAiBL;AACrB,KAAA,CAAA,EACA;MAAEnB,IAAAA,EAAM,MAAM,KAAK,QAAA;KAAW,CAAA;AAGlC,IAAA,OAAOF,QAAAA,CAAS4B,OAAAA,CAAQC,OAAAA,CAAQ,CAACC,MAAAA,KAAAA;AAC7B,MAAA,MAAMC,OAAOD,MAAAA,CAAOC,IAAAA;AACpB,MAAA,IAAI,CAACA,IAAAA,EAAM;AACP,QAAA,OAAO,EAAA;AACX,MAAA;AACA,MAAA,OAAO;AACH,QAAA;AACIG,UAAAA,SAAAA,EAAWH,IAAAA,CAAKW,sBAAAA;AAChBC,UAAAA,SAAAA,EAAWZ,IAAAA,CAAKY,SAAAA;UAChBC,MAAAA,EAAQ;eAAIb,IAAAA,CAAKa;;UACjBrC,MAAAA,EAAQuB,MAAAA,CAAOQ,SAAS/B,MAAAA,IAAU;AACtC;;IAER,CAAA,CAAA;AACJ,EAAA;;;;;;;;;AAUA,EAAA,MAAMsC,qBAAqBC,OAAAA,EAAoD;AAC3E,IAAA,MAAM5D,cAAAA,GAAiB,MAAM,IAAA,CAAK,kBAAA,EAAkB;AACpD,IAAA,MAAM,EAAEc,UAAQ,GAAK,MAAM,KAAK,aAAA,CAAc+C,qBAAAA,CAC1CC,6BAA6BtC,MAAAA,CAAO;AAChCc,MAAAA,SAAAA,EAAWC,mBAAmBvC,cAAAA,CAAAA;MAC9B+D,WAAAA,EAAaH;AACjB,KAAA,CAAA,EACA;MAAE5C,IAAAA,EAAM,MAAM,KAAK,QAAA;KAAW,CAAA;AAGlC,IAAA,OAAOF,QAAAA,CAAS4B,OAAAA,CAAQC,OAAAA,CAAQ,CAACC,MAAAA,KAAAA;AAC7B,MAAA,MAAMC,OAAOD,MAAAA,CAAOC,IAAAA;AACpB,MAAA,IAAI,CAACA,IAAAA,EAAM;AACP,QAAA,OAAO,EAAA;AACX,MAAA;AACA,MAAA,OAAO;AACH,QAAA;AACImB,UAAAA,KAAAA,EAAOnB,IAAAA,CAAKmB,KAAAA;AACZP,UAAAA,SAAAA,EAAWZ,IAAAA,CAAKY,SAAAA;UAChBQ,sBAAAA,EAAwBpB,IAAAA,CAAKqB,YAAYC,GAAAA,CAAI,CAACC,QAC1ClB,2BAAAA,CAA4BkB,GAAAA,CAAItB,SAAS,CAAA,CAAA;UAE7CzB,MAAAA,EAAQuB,MAAAA,CAAOQ,SAAS/B,MAAAA,IAAU;AACtC;;IAER,CAAA,CAAA;AACJ,EAAA;;;;;;;;;;EAWA,MAAMgD,4BAAAA,CACFT,OAAAA,EACAnC,SAAAA,GAAY,KAAA,EAC6B;AACzC,IAAA,MAAMzB,cAAAA,GAAiB,MAAM,IAAA,CAAK,kBAAA,EAAkB;AACpD,IAAA,MAAM,EAAEc,UAAQ,GAAK,MAAM,KAAK,aAAA,CAAcwD,sBAAAA,CAC1CC,8BAA8B/C,MAAAA,CAAO;MACjCc,SAAAA,EAAWC,kBAAAA,CAAmBvC,gBAAgByB,SAAAA,CAAAA;MAC9CsC,WAAAA,EAAaH,OAAAA;;MAEbY,iBAAAA,EAAmB;AACvB,KAAA,CAAA,EACA;MAAExD,IAAAA,EAAM,MAAM,KAAK,QAAA;KAAW,CAAA;AAGlC,IAAA,OAAOF,QAAAA,CAAS4B,OAAAA,CAAQC,OAAAA,CAAQ,CAACC,MAAAA,KAAAA;AAC7B,MAAA,MAAMC,OAAOD,MAAAA,CAAOC,IAAAA;AACpB,MAAA,IAAI,CAACA,IAAAA,EAAM;AACP,QAAA,OAAO,EAAA;AACX,MAAA;AACA,MAAA,OAAO;AACH,QAAA;AACImB,UAAAA,KAAAA,EAAOnB,IAAAA,CAAKmB,KAAAA;AACZP,UAAAA,SAAAA,EAAWZ,IAAAA,CAAKY,SAAAA;AAChBgB,UAAAA,YAAAA,EAAc5B,IAAAA,CAAK4B,YAAAA,CAAaN,GAAAA,CAAI,CAACO,WAAAA,MAAiB;AAClDC,YAAAA,cAAAA,EAAgBD,WAAAA,CAAYC,cAAAA;AAC5BC,YAAAA,UAAAA,EAAYF,WAAAA,CAAYE;WAC5B,CAAA,CAAA;UACAvD,MAAAA,EAAQuB,MAAAA,CAAOQ,SAAS/B,MAAAA,IAAU;AACtC;;IAER,CAAA,CAAA;AACJ,EAAA;;;;;;;;;;AAWA,EAAA,MAAMwD,4BACFC,MAAAA,EACqC;AACrC,IAAA,MAAM9E,cAAAA,GAAiB,MAAM,IAAA,CAAK,kBAAA,EAAkB;AACpD,IAAA,MAAMoB,OAAAA,GAAU2D,+BAAAA,CAAgCD,MAAAA,CAAOE,YAAY,CAAA;AACnE,IAAA,OAAO,KAAK,4BAAA,CAA6BhF,cAAAA,EAAgBoB,OAAAA,EAAS0D,MAAAA,CAAOzD,UAAU,CAAA,CAAA;AACvF,EAAA;;;;;;;;;;AAWA,EAAA,MAAM4D,yCACFH,MAAAA,EACqC;AACrC,IAAA,MAAM9E,cAAAA,GAAiB,MAAM,IAAA,CAAK,kBAAA,EAAkB;AACpD,IAAA,MAAMwD,sBAAAA,GAAyB0B,6BAAAA,CAA8BJ,MAAAA,CAAOpB,MAAM,CAAA;AAC1E,IAAA,MAAMtC,UAAU+D,4CAAAA,CACZ3B,sBAAAA,EACAsB,MAAAA,CAAOrB,SAAAA,EACPqB,OAAOpB,MAAM,CAAA;AAEjB,IAAA,OAAO,KAAK,4BAAA,CAA6B1D,cAAAA,EAAgBoB,OAAAA,EAAS0D,MAAAA,CAAOzD,UAAU,CAAA,CAAA;AACvF,EAAA;AAEA,EAAA,MAAM+D,yCACFN,MAAAA,EACqC;AACrC,IAAA,MAAM9E,cAAAA,GAAiB,MAAM,IAAA,CAAK,kBAAA,EAAkB;AACpD,IAAA,MAAMoB,UAAU+D,4CAAAA,CACZL,MAAAA,CAAO9B,WACP8B,MAAAA,CAAOrB,SAAAA,EACPqB,OAAOpB,MAAM,CAAA;AAEjB,IAAA,OAAO,KAAK,4BAAA,CAA6B1D,cAAAA,EAAgBoB,OAAAA,EAAS0D,MAAAA,CAAOzD,UAAU,CAAA,CAAA;AACvF,EAAA;;;;;;;;;AAUA,EAAA,MAAMgE,mBACFP,MAAAA,EACqC;AACrC,IAAA,MAAM9E,cAAAA,GAAiB,MAAM,IAAA,CAAK,kBAAA,EAAkB;AACpD,IAAA,MAAMoB,UAAUkE,sBAAAA,CACZR,MAAAA,CAAOlB,SACPkB,MAAAA,CAAOS,oBAAAA,EACPT,OAAOrB,SAAS,CAAA;AAEpB,IAAA,OAAO,KAAK,4BAAA,CAA6BzD,cAAAA,EAAgBoB,OAAAA,EAAS0D,MAAAA,CAAOzD,UAAU,CAAA,CAAA;AACvF,EAAA;;;;;;;;;;AAWA,EAAA,MAAMmE,2BACFV,MAAAA,EACqC;AACrC,IAAA,MAAM9E,cAAAA,GAAiB,MAAM,IAAA,CAAK,kBAAA,EAAkB;AACpD,IAAA,MAAMoB,UAAUqE,8BAAAA,CACZX,MAAAA,CAAOlB,SACPkB,MAAAA,CAAOY,cAAAA,EACPZ,OAAOrB,SAAS,CAAA;AAEpB,IAAA,OAAO,KAAK,4BAAA,CAA6BzD,cAAAA,EAAgBoB,OAAAA,EAAS0D,MAAAA,CAAOzD,UAAU,CAAA,CAAA;AACvF,EAAA;;;;;;;;;;;;;;AAeA,EAAA,MAAMsE,2BACFC,YAAAA,EACa;AACb,IAAA,IAAIA,YAAAA,CAAaC,WAAW,CAAA,EAAG;AAC3B,MAAA,MAAM,IAAIC,YAAY,mDAAA,CAAA;AAC1B,IAAA;AACA,IAAA,MAAM9F,cAAAA,GAAiB,MAAM,IAAA,CAAK,kBAAA,EAAkB;AACpD,IAAA,MAAM,IAAA,CAAK,cAAA,CAAe+F,eAAAA,CACtBC,sBAAAA,CAAuBxE,MAAAA,CAAO;MAC1BoE,YAAAA,EAAc;AAAIA,QAAAA,GAAAA;;AAClB9D,MAAAA,KAAAA,EAAOC,kBAAkB/B,cAAAA;AAC7B,KAAA,CAAA,EACA;MAAEgB,IAAAA,EAAM,MAAM,KAAK,QAAA;KAAW,CAAA;AAEtC,EAAA;;EAGAiF,KAAAA,GAAc;AACV,IAAA,IAAA,CAAK,WAAWA,KAAAA,EAAK;AACzB,EAAA;AACJ","file":"NRSV2VHQ.js","sourcesContent":["import {\n AddTransactionsRequest,\n Enums_TopologyChangeOp,\n GenerateTransactionsRequest,\n GenerateTransactionsRequest_Proposal,\n ListDecentralizedNamespaceDefinitionRequest,\n ListNamespaceDelegationRequest,\n ListPartyToKeyMappingRequest,\n ListPartyToParticipantRequest,\n type SignedTopologyTransaction,\n TopologyManagerReadServiceClient,\n TopologyManagerWriteServiceClient,\n type TopologyMapping,\n} from '@canton-network/core-ledger-proto';\nimport { GrpcTransport } from '@protobuf-ts/grpc-transport';\n\nimport type { TokenProvider } from '../auth/token-provider';\nimport { CantonError, CantonProtocolError } from '../errors';\nimport {\n buildDecentralizedNamespaceDefinitionMapping,\n buildNamespaceDelegationMapping,\n buildPartyToKeyMapping,\n buildPartyToParticipantMapping,\n} from './topology/mappings';\nimport { SynchronizerConnectivityServiceClient } from './topology/synchronizer-connectivity';\nimport type {\n CantonGrpcClientOptions,\n CreateDecentralizedNamespaceDefinitionTxParams,\n CreateNamespaceDelegationTxParams,\n CreatePartyToKeyMappingTxParams,\n CreatePartyToParticipantMappingTxParams,\n DecentralizedNamespaceDefinitionState,\n GeneratedTopologyTransaction,\n NamespaceDelegationState,\n PartyToKeyMappingState,\n PartyToParticipantMappingState,\n UpdateDecentralizedNamespaceDefinitionTxParams,\n} from './topology/types';\nimport {\n buildChannelCredentials,\n computeDecentralizedNamespace,\n headStateBaseQuery,\n synchronizerStore,\n} from './topology/utils';\nimport { computePublicKeyFingerprint } from './utils';\n\n/** Default gRPC client options: 128 MiB message-size limits for large admin responses. */\nconst DEFAULT_GRPC_CLIENT_OPTIONS = {\n 'grpc.max_receive_message_length': 128 * 1024 * 1024,\n 'grpc.max_send_message_length': 128 * 1024 * 1024,\n} as const;\n\n/**\n * gRPC client for the Canton participant admin Topology Manager API.\n *\n * Exposes read queries for topology mappings and write helpers that call\n * `GenerateTransactions` to produce unsigned topology transactions and\n * `AddTransactions` to submit signed ones.\n *\n * A fresh Bearer token is attached to each RPC via {@link TokenProvider}.\n */\nexport class CantonGrpcClient {\n readonly #transport: GrpcTransport;\n readonly #topologyRead: TopologyManagerReadServiceClient;\n readonly #topologyWrite: TopologyManagerWriteServiceClient;\n readonly #connectivity: SynchronizerConnectivityServiceClient;\n readonly #tokenProvider: TokenProvider;\n #synchronizerId?: string;\n\n /**\n * @param opts - Admin API host, auth, optional synchronizer id, and optional TLS.\n */\n constructor(opts: CantonGrpcClientOptions) {\n this.#tokenProvider = opts.tokenProvider;\n this.#synchronizerId = opts.synchronizerId;\n this.#transport = new GrpcTransport({\n host: opts.host,\n channelCredentials: buildChannelCredentials(opts.host, opts.tls),\n clientOptions: opts.grpcClientOptions ?? DEFAULT_GRPC_CLIENT_OPTIONS,\n });\n this.#topologyRead = new TopologyManagerReadServiceClient(this.#transport);\n this.#topologyWrite = new TopologyManagerWriteServiceClient(this.#transport);\n this.#connectivity = new SynchronizerConnectivityServiceClient(this.#transport);\n }\n\n /** Returns per-RPC gRPC metadata with a fresh Bearer token. */\n async #getMeta(): Promise<Record<string, string>> {\n const token = await this.#tokenProvider.getToken();\n return { Authorization: `Bearer ${token}` };\n }\n\n /**\n * Returns the client synchronizer id, discovering it on first use when omitted at construction.\n *\n * @throws {CantonProtocolError} If the participant exposes no synchronizer store.\n */\n async #getSynchronizerId(): Promise<string> {\n if (this.#synchronizerId) {\n return this.#synchronizerId;\n }\n this.#synchronizerId = await this.#discoverSynchronizerId();\n return this.#synchronizerId;\n }\n\n /**\n * Resolves the logical id of the first synchronizer the participant is connected to.\n *\n * @throws {CantonProtocolError} If the participant is not connected to any synchronizer.\n */\n async #discoverSynchronizerId(): Promise<string> {\n const { response } = await this.#connectivity.listConnectedSynchronizers(\n {},\n { meta: await this.#getMeta() },\n );\n for (const synchronizer of response.connectedSynchronizers) {\n if (synchronizer.synchronizerId) {\n return synchronizer.synchronizerId;\n }\n }\n throw new CantonProtocolError('Participant is not connected to any synchronizer');\n }\n\n /**\n * Calls `GenerateTransactions` for a single ADD_REPLACE mapping.\n *\n * @param synchronizerId - Synchronizer store to target.\n * @param mapping - Topology mapping to encode into the transaction.\n * @param serial - Topology serial (`0` lets Canton auto-determine).\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n * @throws {CantonProtocolError} If the RPC returns no generated transaction.\n */\n async #generateTopologyTransaction(\n synchronizerId: string,\n mapping: TopologyMapping,\n serial: number,\n ): Promise<GeneratedTopologyTransaction> {\n const { response } = await this.#topologyWrite.generateTransactions(\n GenerateTransactionsRequest.create({\n proposals: [\n GenerateTransactionsRequest_Proposal.create({\n operation: Enums_TopologyChangeOp.ADD_REPLACE,\n serial,\n mapping,\n store: synchronizerStore(synchronizerId),\n }),\n ],\n }),\n { meta: await this.#getMeta() },\n );\n\n const generated = response.generatedTransactions[0];\n if (!generated) {\n throw new CantonProtocolError('GenerateTransactions returned no topology transaction');\n }\n return generated;\n }\n\n /**\n * Lists Namespace Delegation (NSD) mappings for a namespace.\n *\n * Queries topology head state on the synchronizer. Returns every result from\n * the list RPC.\n *\n * @param namespaceFingerprint - Namespace to filter on (for root NSD, the owner key fingerprint).\n * @returns All matching NSD mappings, or an empty array if none exist.\n */\n async getNamespaceDelegation(\n namespaceFingerprint: string,\n ): Promise<NamespaceDelegationState[]> {\n const synchronizerId = await this.#getSynchronizerId();\n const { response } = await this.#topologyRead.listNamespaceDelegation(\n ListNamespaceDelegationRequest.create({\n baseQuery: headStateBaseQuery(synchronizerId),\n filterNamespace: namespaceFingerprint,\n // Empty string = no target-key filter; return all delegations for this namespace.\n filterTargetKeyFingerprint: '',\n }),\n { meta: await this.#getMeta() },\n );\n\n return response.results.flatMap((result) => {\n const item = result.item;\n const publicKey = item?.targetKey?.publicKey;\n if (!item || !publicKey) {\n return [];\n }\n return [\n {\n namespace: item.namespace,\n targetKeyFingerprint: computePublicKeyFingerprint(publicKey),\n isRootDelegation: item.isRootDelegation,\n serial: result.context?.serial ?? 0,\n },\n ];\n });\n }\n\n /**\n * Lists Decentralized Namespace Definition (DND) mappings for a namespace.\n *\n * Queries topology head state on the synchronizer. For a party id `hint::1220…`,\n * pass the `1220…` suffix as `namespaceFingerprint`.\n *\n * @param namespaceFingerprint - Decentralized namespace fingerprint to filter on.\n * @returns All matching DND mappings, or an empty array if none exist.\n */\n async getDecentralizedNamespaceDefinition(\n namespaceFingerprint: string,\n ): Promise<DecentralizedNamespaceDefinitionState[]> {\n const synchronizerId = await this.#getSynchronizerId();\n const { response } = await this.#topologyRead.listDecentralizedNamespaceDefinition(\n ListDecentralizedNamespaceDefinitionRequest.create({\n baseQuery: headStateBaseQuery(synchronizerId),\n filterNamespace: namespaceFingerprint,\n }),\n { meta: await this.#getMeta() },\n );\n\n return response.results.flatMap((result) => {\n const item = result.item;\n if (!item) {\n return [];\n }\n return [\n {\n namespace: item.decentralizedNamespace,\n threshold: item.threshold,\n owners: [...item.owners],\n serial: result.context?.serial ?? 0,\n },\n ];\n });\n }\n\n /**\n * Lists Party-to-Key (PTK) mappings for a party.\n *\n * Queries topology head state on the synchronizer.\n *\n * @param partyId - Full party identifier (e.g. `hint::1220…`).\n * @returns All matching PTK mappings, or an empty array if none exist.\n */\n async getPartyToKeyMapping(partyId: string): Promise<PartyToKeyMappingState[]> {\n const synchronizerId = await this.#getSynchronizerId();\n const { response } = await this.#topologyRead.listPartyToKeyMapping(\n ListPartyToKeyMappingRequest.create({\n baseQuery: headStateBaseQuery(synchronizerId),\n filterParty: partyId,\n }),\n { meta: await this.#getMeta() },\n );\n\n return response.results.flatMap((result) => {\n const item = result.item;\n if (!item) {\n return [];\n }\n return [\n {\n party: item.party,\n threshold: item.threshold,\n signingKeyFingerprints: item.signingKeys.map((key) =>\n computePublicKeyFingerprint(key.publicKey),\n ),\n serial: result.context?.serial ?? 0,\n },\n ];\n });\n }\n\n /**\n * Lists Party-to-Participant (PTP) mappings for a party.\n *\n * Queries topology head state on the synchronizer.\n *\n * @param partyId - Full party identifier (e.g. `hint::1220…`).\n * @param proposals - If `true`, query pending proposals instead of authorized mappings.\n * @returns All matching PTP mappings, or an empty array if none exist.\n */\n async getPartyToParticipantMapping(\n partyId: string,\n proposals = false,\n ): Promise<PartyToParticipantMappingState[]> {\n const synchronizerId = await this.#getSynchronizerId();\n const { response } = await this.#topologyRead.listPartyToParticipant(\n ListPartyToParticipantRequest.create({\n baseQuery: headStateBaseQuery(synchronizerId, proposals),\n filterParty: partyId,\n // Empty string = no participant filter; return all hosting mappings for this party.\n filterParticipant: '',\n }),\n { meta: await this.#getMeta() },\n );\n\n return response.results.flatMap((result) => {\n const item = result.item;\n if (!item) {\n return [];\n }\n return [\n {\n party: item.party,\n threshold: item.threshold,\n participants: item.participants.map((participant) => ({\n participantUid: participant.participantUid,\n permission: participant.permission,\n })),\n serial: result.context?.serial ?? 0,\n },\n ];\n });\n }\n\n /**\n * Builds an unsigned Namespace Delegation (NSD) topology transaction.\n *\n * Calls `GenerateTransactions` with an ADD_REPLACE mapping. The returned\n * `transactionHash` must be signed by the namespace key.\n *\n * @param params - Owner public key and optional serial.\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n */\n async createNamespaceDelegationTx(\n params: CreateNamespaceDelegationTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const mapping = buildNamespaceDelegationMapping(params.publicKeyDer);\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n /**\n * Builds an unsigned Decentralized Namespace Definition (DND) topology transaction.\n *\n * The decentralized namespace id is derived from `params.owners`. All owners\n * must sign the transaction hash.\n *\n * @param params - Owner fingerprints, threshold, and optional serial.\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n */\n async createDecentralizedNamespaceDefinitionTx(\n params: CreateDecentralizedNamespaceDefinitionTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const decentralizedNamespace = computeDecentralizedNamespace(params.owners);\n const mapping = buildDecentralizedNamespaceDefinitionMapping(\n decentralizedNamespace,\n params.threshold,\n params.owners,\n );\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n async updateDecentralizedNamespaceDefinitionTx(\n params: UpdateDecentralizedNamespaceDefinitionTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const mapping = buildDecentralizedNamespaceDefinitionMapping(\n params.namespace,\n params.threshold,\n params.owners,\n );\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n /**\n * Builds an unsigned Party-to-Key (PTK) topology transaction.\n *\n * Decentralized namespace owners must sign the transaction hash.\n *\n * @param params - Party id, signing keys, threshold, and optional serial.\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n */\n async createPartyToKeyTx(\n params: CreatePartyToKeyMappingTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const mapping = buildPartyToKeyMapping(\n params.partyId,\n params.signingPublicKeyDers,\n params.threshold,\n );\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n /**\n * Builds an unsigned Party-to-Participant (PTP) topology transaction.\n *\n * Party owners sign the transaction hash. On submit, set `proposal: true` on the\n * signed transaction so the hosting participant can authorize via `Authorize`.\n *\n * @param params - Party id, participant ids, threshold, and optional serial.\n * @returns Unsigned topology transaction (`serializedTransaction`, `transactionHash`).\n */\n async createPartyToParticipantTx(\n params: CreatePartyToParticipantMappingTxParams,\n ): Promise<GeneratedTopologyTransaction> {\n const synchronizerId = await this.#getSynchronizerId();\n const mapping = buildPartyToParticipantMapping(\n params.partyId,\n params.participantIds,\n params.threshold,\n );\n return this.#generateTopologyTransaction(synchronizerId, mapping, params.serial ?? 0);\n }\n\n /**\n * Submits signed topology transactions to the synchronizer store.\n *\n * Multiple transactions are submitted atomically in one `AddTransactions` call.\n * When batching, sign `computeMultiTransactionHash` over all transaction hashes\n * and attach the same `MultiTransactionSignatures` to each entry.\n *\n * Set `proposal: true` on a transaction when the hosting participant must\n * authorize that mapping afterward.\n *\n * @param transactions - One or more signed topology transactions.\n * @throws {CantonError} If `transactions` is empty.\n */\n async submitTopologyTransactions(\n transactions: readonly SignedTopologyTransaction[],\n ): Promise<void> {\n if (transactions.length === 0) {\n throw new CantonError('AddTransactions requires at least one transaction');\n }\n const synchronizerId = await this.#getSynchronizerId();\n await this.#topologyWrite.addTransactions(\n AddTransactionsRequest.create({\n transactions: [...transactions],\n store: synchronizerStore(synchronizerId),\n }),\n { meta: await this.#getMeta() },\n );\n }\n\n /** Closes the underlying gRPC transport. */\n close(): void {\n this.#transport.close();\n }\n}\n"]}
|