@layerzerolabs/common-canton 0.2.110 → 0.2.111
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 +831 -815
- package/.turbo/turbo-test.log +22 -19
- package/dist/{PVONQCBG.js → 2UKHG3HM.js} +3 -3
- package/dist/{PVONQCBG.js.map → 2UKHG3HM.js.map} +1 -1
- package/dist/{GMQEAD3I.js → 34I4OGQK.js} +3 -3
- package/dist/{GMQEAD3I.js.map → 34I4OGQK.js.map} +1 -1
- package/dist/{NLMU226B.js → 45YQNHS2.js} +3 -3
- package/dist/{NLMU226B.js.map → 45YQNHS2.js.map} +1 -1
- package/dist/{KK2NBQSG.js → 4GYCD3G4.js} +3 -3
- package/dist/{KK2NBQSG.js.map → 4GYCD3G4.js.map} +1 -1
- package/dist/{EIXIZULE.js → 5HH7PZW3.js} +37 -37
- package/dist/{EIXIZULE.js.map → 5HH7PZW3.js.map} +1 -1
- package/dist/{OQ2FVATH.js → 5OA7RJHH.js} +3 -3
- package/dist/{OQ2FVATH.js.map → 5OA7RJHH.js.map} +1 -1
- package/dist/{QYQCAXCB.js → 73I7CBP3.js} +3 -3
- package/dist/{QYQCAXCB.js.map → 73I7CBP3.js.map} +1 -1
- package/dist/{MDEOBKC3.js → 7GI6QGS6.js} +3 -3
- package/dist/{MDEOBKC3.js.map → 7GI6QGS6.js.map} +1 -1
- package/dist/{IOTRKLGP.js → 7STDATVZ.js} +3 -3
- package/dist/{IOTRKLGP.js.map → 7STDATVZ.js.map} +1 -1
- package/dist/{T4AL4FJH.js → ALC4M7WK.js} +3 -3
- package/dist/{T4AL4FJH.js.map → ALC4M7WK.js.map} +1 -1
- package/dist/{TWUSN2QY.js → AMLJTQWB.js} +3 -3
- package/dist/{TWUSN2QY.js.map → AMLJTQWB.js.map} +1 -1
- package/dist/{YCNGW63C.js → BL22CZFA.js} +3 -3
- package/dist/{YCNGW63C.js.map → BL22CZFA.js.map} +1 -1
- package/dist/{ZN2CNFMH.js → BLWJ63ZZ.js} +3 -3
- package/dist/{ZN2CNFMH.js.map → BLWJ63ZZ.js.map} +1 -1
- package/dist/CJ2WHLYC.js +116 -0
- package/dist/CJ2WHLYC.js.map +1 -0
- package/dist/{4AKFOZFY.js → CLAE73FR.js} +3 -3
- package/dist/{4AKFOZFY.js.map → CLAE73FR.js.map} +1 -1
- package/dist/CMDFOA7C.js +47 -0
- package/dist/CMDFOA7C.js.map +1 -0
- package/dist/CXTOAS7N.js +18 -0
- package/dist/CXTOAS7N.js.map +1 -0
- package/dist/{NX67V54F.js → DAP5XJGH.js} +3 -3
- package/dist/{NX67V54F.js.map → DAP5XJGH.js.map} +1 -1
- package/dist/{PSB6BQFH.js → EYLCZMM4.js} +5 -4
- package/dist/EYLCZMM4.js.map +1 -0
- package/dist/FPRRDKT5.js +52 -0
- package/dist/FPRRDKT5.js.map +1 -0
- package/dist/{KJRFPBY4.js → FXR2Z54G.js} +3 -3
- package/dist/{KJRFPBY4.js.map → FXR2Z54G.js.map} +1 -1
- package/dist/{HNZRSDTR.js → GOPXFEBJ.js} +11 -46
- package/dist/GOPXFEBJ.js.map +1 -0
- package/dist/{MJCI4XZ2.js → HLWLB4AY.js} +3 -3
- package/dist/{MJCI4XZ2.js.map → HLWLB4AY.js.map} +1 -1
- package/dist/{XSEEW6TB.js → HRZTWWO4.js} +3 -3
- package/dist/{XSEEW6TB.js.map → HRZTWWO4.js.map} +1 -1
- package/dist/{QHEXOE3Y.js → JI3XNGXO.js} +3 -27
- package/dist/JI3XNGXO.js.map +1 -0
- package/dist/{EPHLTMJZ.js → JSG7MGHH.js} +3 -3
- package/dist/{EPHLTMJZ.js.map → JSG7MGHH.js.map} +1 -1
- package/dist/{JH2I4JGJ.js → JXKVPYCE.js} +3 -3
- package/dist/{JH2I4JGJ.js.map → JXKVPYCE.js.map} +1 -1
- package/dist/{4VLNRPYZ.js → K2SFNQJC.js} +5 -5
- package/dist/{4VLNRPYZ.js.map → K2SFNQJC.js.map} +1 -1
- package/dist/{H7FW24YI.js → KBZ6YXX4.js} +3 -3
- package/dist/{H7FW24YI.js.map → KBZ6YXX4.js.map} +1 -1
- package/dist/{ZF6ASBPX.js → KH7RP6Q4.js} +3 -3
- package/dist/{ZF6ASBPX.js.map → KH7RP6Q4.js.map} +1 -1
- package/dist/{AV2FN74T.js → KTNEUXUI.js} +4 -4
- package/dist/{AV2FN74T.js.map → KTNEUXUI.js.map} +1 -1
- package/dist/{D3AV6J7R.js → LL7Z56UN.js} +3 -3
- package/dist/{D3AV6J7R.js.map → LL7Z56UN.js.map} +1 -1
- package/dist/{AYAFFPBV.js → MFVQ6EHM.js} +3 -3
- package/dist/{AYAFFPBV.js.map → MFVQ6EHM.js.map} +1 -1
- package/dist/{U7ISOK6B.js → NKXEPWZV.js} +3 -3
- package/dist/{U7ISOK6B.js.map → NKXEPWZV.js.map} +1 -1
- package/dist/{P3A2XIFY.js → NS763D57.js} +3 -3
- package/dist/{P3A2XIFY.js.map → NS763D57.js.map} +1 -1
- package/dist/{3UD2GTXW.js → PGQCNYFD.js} +3 -3
- package/dist/{3UD2GTXW.js.map → PGQCNYFD.js.map} +1 -1
- package/dist/{2UWZKS5E.js → Q3RL6UXD.js} +4 -4
- package/dist/{2UWZKS5E.js.map → Q3RL6UXD.js.map} +1 -1
- package/dist/{5KFMHJZB.js → QYQWHMQM.js} +3 -3
- package/dist/{5KFMHJZB.js.map → QYQWHMQM.js.map} +1 -1
- package/dist/{BJXKGZ5Y.js → QZJONP6W.js} +3 -3
- package/dist/{BJXKGZ5Y.js.map → QZJONP6W.js.map} +1 -1
- package/dist/{X66QZBHT.js → SLTAV2JF.js} +9 -2
- package/dist/SLTAV2JF.js.map +1 -0
- package/dist/{JV2DWUBW.js → SMLSAWCA.js} +48 -4
- package/dist/SMLSAWCA.js.map +1 -0
- package/dist/{RQXQCK22.js → UBHUOSK3.js} +3 -3
- package/dist/{RQXQCK22.js.map → UBHUOSK3.js.map} +1 -1
- package/dist/{OMRF3GH2.js → UO7AO4TN.js} +3 -3
- package/dist/{OMRF3GH2.js.map → UO7AO4TN.js.map} +1 -1
- package/dist/{R26MH4UH.js → UQMKPY2S.js} +3 -3
- package/dist/{R26MH4UH.js.map → UQMKPY2S.js.map} +1 -1
- package/dist/{HU7X7G5L.js → WSLU3JGO.js} +3 -3
- package/dist/{HU7X7G5L.js.map → WSLU3JGO.js.map} +1 -1
- package/dist/{WIQFSNER.js → XINHRIWA.js} +3 -3
- package/dist/{WIQFSNER.js.map → XINHRIWA.js.map} +1 -1
- package/dist/{PHVMGN7T.js → ZGWBZC76.js} +3 -3
- package/dist/{PHVMGN7T.js.map → ZGWBZC76.js.map} +1 -1
- package/dist/{AE56UC5I.js → ZPOY5WJ2.js} +3 -3
- package/dist/{AE56UC5I.js.map → ZPOY5WJ2.js.map} +1 -1
- package/dist/amulet.d.ts +7 -0
- package/dist/amulet.d.ts.map +1 -0
- package/dist/amulet.js +4 -0
- package/dist/amulet.js.map +1 -0
- package/dist/auth/index.js +1 -1
- package/dist/client/canton-client.d.ts +12 -0
- package/dist/client/canton-client.d.ts.map +1 -1
- package/dist/client/canton-client.js +138 -138
- package/dist/client/index.js +140 -139
- package/dist/client/interface.d.ts +12 -0
- package/dist/client/interface.d.ts.map +1 -1
- package/dist/client/utils.d.ts.map +1 -1
- package/dist/client/utils.js +2 -1
- package/dist/crypto.d.ts +23 -0
- package/dist/crypto.d.ts.map +1 -0
- package/dist/crypto.js +4 -0
- package/dist/crypto.js.map +1 -0
- package/dist/daml-serde.d.ts +73 -0
- package/dist/daml-serde.d.ts.map +1 -0
- package/dist/daml-serde.js +4 -0
- package/dist/daml-serde.js.map +1 -0
- package/dist/events.d.ts +9 -36
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +2 -2
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +150 -147
- package/dist/open-api/apis/DefaultApi.js +137 -137
- package/dist/open-api/apis/index.js +137 -137
- package/dist/open-api/index.js +137 -137
- package/dist/open-api/models/Command.js +3 -3
- package/dist/open-api/models/Command1.js +2 -2
- package/dist/open-api/models/Completion.js +3 -3
- package/dist/open-api/models/Completion1.js +3 -3
- package/dist/open-api/models/CompletionResponse.js +7 -7
- package/dist/open-api/models/CompletionResponseOneOf.js +3 -3
- package/dist/open-api/models/CompletionStreamResponse.js +7 -7
- package/dist/open-api/models/CreateUserRequest.js +10 -10
- 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 +3 -3
- 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 +10 -10
- package/dist/open-api/models/GrantUserRightsResponse.js +10 -10
- package/dist/open-api/models/IdentifierFilter.js +2 -2
- package/dist/open-api/models/JsCommands.js +5 -5
- package/dist/open-api/models/JsContractEntry.js +3 -3
- package/dist/open-api/models/JsExecuteSubmissionAndWaitForTransactionRequest.js +7 -7
- package/dist/open-api/models/JsExecuteSubmissionAndWaitRequest.js +5 -5
- package/dist/open-api/models/JsExecuteSubmissionRequest.js +5 -5
- package/dist/open-api/models/JsGetActiveContractsResponse.js +4 -4
- package/dist/open-api/models/JsGetUpdateResponse.js +13 -13
- package/dist/open-api/models/JsGetUpdateTreesResponse.js +5 -5
- package/dist/open-api/models/JsGetUpdatesResponse.js +13 -13
- package/dist/open-api/models/JsPrepareSubmissionRequest.js +5 -5
- package/dist/open-api/models/JsReassignment.js +1 -1
- package/dist/open-api/models/JsReassignmentEvent.js +1 -1
- package/dist/open-api/models/JsSubmitAndWaitForReassignmentResponse.js +1 -1
- package/dist/open-api/models/JsSubmitAndWaitForTransactionRequest.js +9 -9
- package/dist/open-api/models/JsTopologyTransaction.js +6 -6
- package/dist/open-api/models/Kind.js +8 -8
- package/dist/open-api/models/ListUserRightsResponse.js +10 -10
- package/dist/open-api/models/Operation.js +4 -4
- package/dist/open-api/models/Reassignment.js +1 -1
- package/dist/open-api/models/Reassignment1.js +1 -1
- package/dist/open-api/models/ReassignmentCommand.js +3 -3
- package/dist/open-api/models/ReassignmentCommands.js +4 -4
- package/dist/open-api/models/RevokeUserRightsRequest.js +10 -10
- package/dist/open-api/models/RevokeUserRightsResponse.js +10 -10
- package/dist/open-api/models/Right.js +9 -9
- package/dist/open-api/models/SubmitAndWaitForReassignmentRequest.js +7 -7
- package/dist/open-api/models/SubmitReassignmentRequest.js +5 -5
- package/dist/open-api/models/TopologyEvent.js +5 -5
- package/dist/open-api/models/TopologyEventEvent.js +4 -4
- package/dist/open-api/models/TopologyTransaction.js +7 -7
- 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 +12 -12
- package/dist/open-api/models/Update1.js +4 -4
- package/dist/open-api/models/Update1OneOf1.js +1 -1
- package/dist/open-api/models/UpdateFormat.js +2 -2
- package/dist/open-api/models/UpdateOneOf1.js +1 -1
- package/dist/open-api/models/UpdateOneOf2.js +8 -8
- 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 +136 -136
- package/dist/provider.d.ts +9 -27
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +140 -140
- package/dist/sdk/canton-sdk.d.ts +7 -0
- package/dist/sdk/canton-sdk.d.ts.map +1 -1
- package/dist/sdk/canton-sdk.js +1 -1
- package/dist/sdk/index.js +1 -1
- package/dist/transaction.d.ts +64 -6
- package/dist/transaction.d.ts.map +1 -1
- package/dist/transaction.js +1 -1
- package/package.json +13 -10
- package/src/amulet.ts +28 -0
- package/src/client/canton-client.ts +60 -1
- package/src/client/interface.ts +16 -0
- package/src/client/utils.ts +1 -6
- package/src/crypto.ts +42 -0
- package/src/daml-serde.ts +182 -0
- package/src/events.ts +31 -155
- package/src/index.ts +3 -0
- package/src/provider.ts +12 -82
- package/src/sdk/canton-sdk.ts +13 -0
- package/src/transaction.ts +4 -0
- package/test/crypto.test.ts +52 -0
- package/test/daml-serde.test.ts +140 -0
- package/test/mocks/scripts/capture-disclosure.ts +5 -2
- package/test/mocks/scripts/capture-external-requests.ts +5 -2
- package/test/mocks/scripts/capture-unhappy-paths.ts +5 -2
- package/test/provider.test.ts +47 -36
- package/dist/GXJEEYPP.js +0 -104
- package/dist/GXJEEYPP.js.map +0 -1
- package/dist/HNZRSDTR.js.map +0 -1
- package/dist/JV2DWUBW.js.map +0 -1
- package/dist/PSB6BQFH.js.map +0 -1
- package/dist/QHEXOE3Y.js.map +0 -1
- package/dist/X66QZBHT.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/JsExecuteSubmissionAndWaitForTransactionRequest.ts"],"names":["JsExecuteSubmissionAndWaitForTransactionRequestHashingSchemeVersionEnum","HashingSchemeVersionUnspecified","HashingSchemeVersionV2","instanceOfJsExecuteSubmissionAndWaitForTransactionRequest","value","undefined","JsExecuteSubmissionAndWaitForTransactionRequestFromJSON","json","JsExecuteSubmissionAndWaitForTransactionRequestFromJSONTyped","ignoreDiscriminator","PartySignaturesFromJSON","DeduplicationPeriod2FromJSON","MinLedgerTimeFromJSON","TransactionFormatFromJSON","JsExecuteSubmissionAndWaitForTransactionRequestToJSON","JsExecuteSubmissionAndWaitForTransactionRequestToJSONTyped","PartySignaturesToJSON","DeduplicationPeriod2ToJSON","MinLedgerTimeToJSON","TransactionFormatToJSON"],"mappings":"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","file":"4AKFOZFY.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 { PartySignatures } from './PartySignatures.js';\nimport {\n PartySignaturesFromJSON,\n PartySignaturesFromJSONTyped,\n PartySignaturesToJSON,\n PartySignaturesToJSONTyped,\n} from './PartySignatures.js';\nimport type { DeduplicationPeriod2 } from './DeduplicationPeriod2.js';\nimport {\n DeduplicationPeriod2FromJSON,\n DeduplicationPeriod2FromJSONTyped,\n DeduplicationPeriod2ToJSON,\n DeduplicationPeriod2ToJSONTyped,\n} from './DeduplicationPeriod2.js';\nimport type { TransactionFormat } from './TransactionFormat.js';\nimport {\n TransactionFormatFromJSON,\n TransactionFormatFromJSONTyped,\n TransactionFormatToJSON,\n TransactionFormatToJSONTyped,\n} from './TransactionFormat.js';\nimport type { MinLedgerTime } from './MinLedgerTime.js';\nimport {\n MinLedgerTimeFromJSON,\n MinLedgerTimeFromJSONTyped,\n MinLedgerTimeToJSON,\n MinLedgerTimeToJSONTyped,\n} from './MinLedgerTime.js';\n\n/**\n * \n * @export\n * @interface JsExecuteSubmissionAndWaitForTransactionRequest\n */\nexport interface JsExecuteSubmissionAndWaitForTransactionRequest {\n /**\n * the prepared transaction\n * Typically this is the value of the `prepared_transaction` field in `PrepareSubmissionResponse`\n * obtained from calling `prepareSubmission`.\n * Required\n * @type {string}\n * @memberof JsExecuteSubmissionAndWaitForTransactionRequest\n */\n preparedTransaction?: string;\n /**\n * \n * @type {PartySignatures}\n * @memberof JsExecuteSubmissionAndWaitForTransactionRequest\n */\n partySignatures?: PartySignatures;\n /**\n * \n * @type {DeduplicationPeriod2}\n * @memberof JsExecuteSubmissionAndWaitForTransactionRequest\n */\n deduplicationPeriod: DeduplicationPeriod2;\n /**\n * A unique identifier to distinguish completions for different submissions with the same change ID.\n * Typically a random UUID. Applications are expected to use a different UUID for each retry of a submission\n * with the same change ID.\n * Must be a valid LedgerString (as described in ``value.proto``).\n * \n * Required\n * @type {string}\n * @memberof JsExecuteSubmissionAndWaitForTransactionRequest\n */\n submissionId: string;\n /**\n * See [PrepareSubmissionRequest.user_id]\n * Optional\n * @type {string}\n * @memberof JsExecuteSubmissionAndWaitForTransactionRequest\n */\n userId: string;\n /**\n * The hashing scheme version used when building the hash\n * Required\n * @type {JsExecuteSubmissionAndWaitForTransactionRequestHashingSchemeVersionEnum}\n * @memberof JsExecuteSubmissionAndWaitForTransactionRequest\n */\n hashingSchemeVersion: JsExecuteSubmissionAndWaitForTransactionRequestHashingSchemeVersionEnum;\n /**\n * \n * @type {MinLedgerTime}\n * @memberof JsExecuteSubmissionAndWaitForTransactionRequest\n */\n minLedgerTime?: MinLedgerTime;\n /**\n * \n * @type {TransactionFormat}\n * @memberof JsExecuteSubmissionAndWaitForTransactionRequest\n */\n transactionFormat?: TransactionFormat;\n}\n\n\n/**\n * @export\n */\nexport const JsExecuteSubmissionAndWaitForTransactionRequestHashingSchemeVersionEnum = {\n HashingSchemeVersionUnspecified: 'HASHING_SCHEME_VERSION_UNSPECIFIED',\n HashingSchemeVersionV2: 'HASHING_SCHEME_VERSION_V2'\n} as const;\nexport type JsExecuteSubmissionAndWaitForTransactionRequestHashingSchemeVersionEnum = typeof JsExecuteSubmissionAndWaitForTransactionRequestHashingSchemeVersionEnum[keyof typeof JsExecuteSubmissionAndWaitForTransactionRequestHashingSchemeVersionEnum];\n\n\n/**\n * Check if a given object implements the JsExecuteSubmissionAndWaitForTransactionRequest interface.\n */\nexport function instanceOfJsExecuteSubmissionAndWaitForTransactionRequest(value: object): value is JsExecuteSubmissionAndWaitForTransactionRequest {\n if (!('deduplicationPeriod' in value) || value['deduplicationPeriod'] === undefined) return false;\n if (!('submissionId' in value) || value['submissionId'] === undefined) return false;\n if (!('userId' in value) || value['userId'] === undefined) return false;\n if (!('hashingSchemeVersion' in value) || value['hashingSchemeVersion'] === undefined) return false;\n return true;\n}\n\nexport function JsExecuteSubmissionAndWaitForTransactionRequestFromJSON(json: any): JsExecuteSubmissionAndWaitForTransactionRequest {\n return JsExecuteSubmissionAndWaitForTransactionRequestFromJSONTyped(json, false);\n}\n\nexport function JsExecuteSubmissionAndWaitForTransactionRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): JsExecuteSubmissionAndWaitForTransactionRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'preparedTransaction': json['preparedTransaction'] == null ? undefined : json['preparedTransaction'],\n 'partySignatures': json['partySignatures'] == null ? undefined : PartySignaturesFromJSON(json['partySignatures']),\n 'deduplicationPeriod': DeduplicationPeriod2FromJSON(json['deduplicationPeriod']),\n 'submissionId': json['submissionId'],\n 'userId': json['userId'],\n 'hashingSchemeVersion': json['hashingSchemeVersion'],\n 'minLedgerTime': json['minLedgerTime'] == null ? undefined : MinLedgerTimeFromJSON(json['minLedgerTime']),\n 'transactionFormat': json['transactionFormat'] == null ? undefined : TransactionFormatFromJSON(json['transactionFormat']),\n };\n}\n\nexport function JsExecuteSubmissionAndWaitForTransactionRequestToJSON(json: any): JsExecuteSubmissionAndWaitForTransactionRequest {\n return JsExecuteSubmissionAndWaitForTransactionRequestToJSONTyped(json, false);\n}\n\nexport function JsExecuteSubmissionAndWaitForTransactionRequestToJSONTyped(value?: JsExecuteSubmissionAndWaitForTransactionRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'preparedTransaction': value['preparedTransaction'],\n 'partySignatures': PartySignaturesToJSON(value['partySignatures']),\n 'deduplicationPeriod': DeduplicationPeriod2ToJSON(value['deduplicationPeriod']),\n 'submissionId': value['submissionId'],\n 'userId': value['userId'],\n 'hashingSchemeVersion': value['hashingSchemeVersion'],\n 'minLedgerTime': MinLedgerTimeToJSON(value['minLedgerTime']),\n 'transactionFormat': TransactionFormatToJSON(value['transactionFormat']),\n };\n}\n\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/JsExecuteSubmissionAndWaitForTransactionRequest.ts"],"names":["JsExecuteSubmissionAndWaitForTransactionRequestHashingSchemeVersionEnum","HashingSchemeVersionUnspecified","HashingSchemeVersionV2","instanceOfJsExecuteSubmissionAndWaitForTransactionRequest","value","undefined","JsExecuteSubmissionAndWaitForTransactionRequestFromJSON","json","JsExecuteSubmissionAndWaitForTransactionRequestFromJSONTyped","ignoreDiscriminator","PartySignaturesFromJSON","DeduplicationPeriod2FromJSON","MinLedgerTimeFromJSON","TransactionFormatFromJSON","JsExecuteSubmissionAndWaitForTransactionRequestToJSON","JsExecuteSubmissionAndWaitForTransactionRequestToJSONTyped","PartySignaturesToJSON","DeduplicationPeriod2ToJSON","MinLedgerTimeToJSON","TransactionFormatToJSON"],"mappings":"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","file":"CLAE73FR.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 { PartySignatures } from './PartySignatures.js';\nimport {\n PartySignaturesFromJSON,\n PartySignaturesFromJSONTyped,\n PartySignaturesToJSON,\n PartySignaturesToJSONTyped,\n} from './PartySignatures.js';\nimport type { DeduplicationPeriod2 } from './DeduplicationPeriod2.js';\nimport {\n DeduplicationPeriod2FromJSON,\n DeduplicationPeriod2FromJSONTyped,\n DeduplicationPeriod2ToJSON,\n DeduplicationPeriod2ToJSONTyped,\n} from './DeduplicationPeriod2.js';\nimport type { TransactionFormat } from './TransactionFormat.js';\nimport {\n TransactionFormatFromJSON,\n TransactionFormatFromJSONTyped,\n TransactionFormatToJSON,\n TransactionFormatToJSONTyped,\n} from './TransactionFormat.js';\nimport type { MinLedgerTime } from './MinLedgerTime.js';\nimport {\n MinLedgerTimeFromJSON,\n MinLedgerTimeFromJSONTyped,\n MinLedgerTimeToJSON,\n MinLedgerTimeToJSONTyped,\n} from './MinLedgerTime.js';\n\n/**\n * \n * @export\n * @interface JsExecuteSubmissionAndWaitForTransactionRequest\n */\nexport interface JsExecuteSubmissionAndWaitForTransactionRequest {\n /**\n * the prepared transaction\n * Typically this is the value of the `prepared_transaction` field in `PrepareSubmissionResponse`\n * obtained from calling `prepareSubmission`.\n * Required\n * @type {string}\n * @memberof JsExecuteSubmissionAndWaitForTransactionRequest\n */\n preparedTransaction?: string;\n /**\n * \n * @type {PartySignatures}\n * @memberof JsExecuteSubmissionAndWaitForTransactionRequest\n */\n partySignatures?: PartySignatures;\n /**\n * \n * @type {DeduplicationPeriod2}\n * @memberof JsExecuteSubmissionAndWaitForTransactionRequest\n */\n deduplicationPeriod: DeduplicationPeriod2;\n /**\n * A unique identifier to distinguish completions for different submissions with the same change ID.\n * Typically a random UUID. Applications are expected to use a different UUID for each retry of a submission\n * with the same change ID.\n * Must be a valid LedgerString (as described in ``value.proto``).\n * \n * Required\n * @type {string}\n * @memberof JsExecuteSubmissionAndWaitForTransactionRequest\n */\n submissionId: string;\n /**\n * See [PrepareSubmissionRequest.user_id]\n * Optional\n * @type {string}\n * @memberof JsExecuteSubmissionAndWaitForTransactionRequest\n */\n userId: string;\n /**\n * The hashing scheme version used when building the hash\n * Required\n * @type {JsExecuteSubmissionAndWaitForTransactionRequestHashingSchemeVersionEnum}\n * @memberof JsExecuteSubmissionAndWaitForTransactionRequest\n */\n hashingSchemeVersion: JsExecuteSubmissionAndWaitForTransactionRequestHashingSchemeVersionEnum;\n /**\n * \n * @type {MinLedgerTime}\n * @memberof JsExecuteSubmissionAndWaitForTransactionRequest\n */\n minLedgerTime?: MinLedgerTime;\n /**\n * \n * @type {TransactionFormat}\n * @memberof JsExecuteSubmissionAndWaitForTransactionRequest\n */\n transactionFormat?: TransactionFormat;\n}\n\n\n/**\n * @export\n */\nexport const JsExecuteSubmissionAndWaitForTransactionRequestHashingSchemeVersionEnum = {\n HashingSchemeVersionUnspecified: 'HASHING_SCHEME_VERSION_UNSPECIFIED',\n HashingSchemeVersionV2: 'HASHING_SCHEME_VERSION_V2'\n} as const;\nexport type JsExecuteSubmissionAndWaitForTransactionRequestHashingSchemeVersionEnum = typeof JsExecuteSubmissionAndWaitForTransactionRequestHashingSchemeVersionEnum[keyof typeof JsExecuteSubmissionAndWaitForTransactionRequestHashingSchemeVersionEnum];\n\n\n/**\n * Check if a given object implements the JsExecuteSubmissionAndWaitForTransactionRequest interface.\n */\nexport function instanceOfJsExecuteSubmissionAndWaitForTransactionRequest(value: object): value is JsExecuteSubmissionAndWaitForTransactionRequest {\n if (!('deduplicationPeriod' in value) || value['deduplicationPeriod'] === undefined) return false;\n if (!('submissionId' in value) || value['submissionId'] === undefined) return false;\n if (!('userId' in value) || value['userId'] === undefined) return false;\n if (!('hashingSchemeVersion' in value) || value['hashingSchemeVersion'] === undefined) return false;\n return true;\n}\n\nexport function JsExecuteSubmissionAndWaitForTransactionRequestFromJSON(json: any): JsExecuteSubmissionAndWaitForTransactionRequest {\n return JsExecuteSubmissionAndWaitForTransactionRequestFromJSONTyped(json, false);\n}\n\nexport function JsExecuteSubmissionAndWaitForTransactionRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): JsExecuteSubmissionAndWaitForTransactionRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'preparedTransaction': json['preparedTransaction'] == null ? undefined : json['preparedTransaction'],\n 'partySignatures': json['partySignatures'] == null ? undefined : PartySignaturesFromJSON(json['partySignatures']),\n 'deduplicationPeriod': DeduplicationPeriod2FromJSON(json['deduplicationPeriod']),\n 'submissionId': json['submissionId'],\n 'userId': json['userId'],\n 'hashingSchemeVersion': json['hashingSchemeVersion'],\n 'minLedgerTime': json['minLedgerTime'] == null ? undefined : MinLedgerTimeFromJSON(json['minLedgerTime']),\n 'transactionFormat': json['transactionFormat'] == null ? undefined : TransactionFormatFromJSON(json['transactionFormat']),\n };\n}\n\nexport function JsExecuteSubmissionAndWaitForTransactionRequestToJSON(json: any): JsExecuteSubmissionAndWaitForTransactionRequest {\n return JsExecuteSubmissionAndWaitForTransactionRequestToJSONTyped(json, false);\n}\n\nexport function JsExecuteSubmissionAndWaitForTransactionRequestToJSONTyped(value?: JsExecuteSubmissionAndWaitForTransactionRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'preparedTransaction': value['preparedTransaction'],\n 'partySignatures': PartySignaturesToJSON(value['partySignatures']),\n 'deduplicationPeriod': DeduplicationPeriod2ToJSON(value['deduplicationPeriod']),\n 'submissionId': value['submissionId'],\n 'userId': value['userId'],\n 'hashingSchemeVersion': value['hashingSchemeVersion'],\n 'minLedgerTime': MinLedgerTimeToJSON(value['minLedgerTime']),\n 'transactionFormat': TransactionFormatToJSON(value['transactionFormat']),\n };\n}\n\n"]}
|
package/dist/CMDFOA7C.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { __name } from './VUOMXK5T.js';
|
|
2
|
+
import * as secp256k1 from '@noble/secp256k1';
|
|
3
|
+
import { trim0x } from '@layerzerolabs/common-encoding-utils';
|
|
4
|
+
|
|
5
|
+
var SECP256K1_SPKI_DER_HEADER = new Uint8Array([
|
|
6
|
+
48,
|
|
7
|
+
86,
|
|
8
|
+
48,
|
|
9
|
+
16,
|
|
10
|
+
6,
|
|
11
|
+
7,
|
|
12
|
+
42,
|
|
13
|
+
134,
|
|
14
|
+
72,
|
|
15
|
+
206,
|
|
16
|
+
61,
|
|
17
|
+
2,
|
|
18
|
+
1,
|
|
19
|
+
6,
|
|
20
|
+
5,
|
|
21
|
+
43,
|
|
22
|
+
129,
|
|
23
|
+
4,
|
|
24
|
+
0,
|
|
25
|
+
10,
|
|
26
|
+
3,
|
|
27
|
+
66,
|
|
28
|
+
0
|
|
29
|
+
]);
|
|
30
|
+
var SECP256K1_SPKI_DER_HEADER_HEX = Buffer.from(SECP256K1_SPKI_DER_HEADER).toString("hex");
|
|
31
|
+
function publicKeyToSpkiDer(uncompressedPublicKey) {
|
|
32
|
+
const body = trim0x(uncompressedPublicKey).toLowerCase();
|
|
33
|
+
if (body.length !== 130 || !body.startsWith("04")) {
|
|
34
|
+
throw new Error("Expected an uncompressed (65-byte, 0x04\u2026) secp256k1 public key");
|
|
35
|
+
}
|
|
36
|
+
return SECP256K1_SPKI_DER_HEADER_HEX + body;
|
|
37
|
+
}
|
|
38
|
+
__name(publicKeyToSpkiDer, "publicKeyToSpkiDer");
|
|
39
|
+
function derEncodeSignature(r, s) {
|
|
40
|
+
const compact = trim0x(r).padStart(64, "0") + trim0x(s).padStart(64, "0");
|
|
41
|
+
return secp256k1.Signature.fromCompact(compact).toDERHex();
|
|
42
|
+
}
|
|
43
|
+
__name(derEncodeSignature, "derEncodeSignature");
|
|
44
|
+
|
|
45
|
+
export { SECP256K1_SPKI_DER_HEADER, SECP256K1_SPKI_DER_HEADER_HEX, derEncodeSignature, publicKeyToSpkiDer };
|
|
46
|
+
//# sourceMappingURL=CMDFOA7C.js.map
|
|
47
|
+
//# sourceMappingURL=CMDFOA7C.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/crypto.ts"],"names":["SECP256K1_SPKI_DER_HEADER","Uint8Array","SECP256K1_SPKI_DER_HEADER_HEX","Buffer","from","toString","publicKeyToSpkiDer","uncompressedPublicKey","body","trim0x","toLowerCase","length","startsWith","Error","derEncodeSignature","r","s","compact","padStart","Signature","fromCompact","toDERHex"],"mappings":";;;;AAaO,IAAMA,yBAAAA,GAA4B,IAAIC,UAAAA,CAAW;AACpD,EAAA,EAAA;AAAM,EAAA,EAAA;AAAM,EAAA,EAAA;AAAM,EAAA,EAAA;AAAM,EAAA,CAAA;AAAM,EAAA,CAAA;AAAM,EAAA,EAAA;AAAM,EAAA,GAAA;AAAM,EAAA,EAAA;AAAM,EAAA,GAAA;AAAM,EAAA,EAAA;AAAM,EAAA,CAAA;AAAM,EAAA,CAAA;AAAM,EAAA,CAAA;AAAM,EAAA,CAAA;AAAM,EAAA,EAAA;AAC1F,EAAA,GAAA;AAAM,EAAA,CAAA;AAAM,EAAA,CAAA;AAAM,EAAA,EAAA;AAAM,EAAA,CAAA;AAAM,EAAA,EAAA;AAAM,EAAA;AACvC,CAAA;AAGM,IAAMC,gCAAgCC,MAAAA,CAAOC,IAAAA,CAAKJ,yBAAAA,CAAAA,CAA2BK,SAAS,KAAA;AAMtF,SAASC,mBAAmBC,qBAAAA,EAA6B;AAC5D,EAAA,MAAMC,IAAAA,GAAOC,MAAAA,CAAOF,qBAAAA,CAAAA,CAAuBG,WAAAA,EAAW;AACtD,EAAA,IAAIF,KAAKG,MAAAA,KAAW,GAAA,IAAO,CAACH,IAAAA,CAAKI,UAAAA,CAAW,IAAA,CAAA,EAAO;AAC/C,IAAA,MAAM,IAAIC,MAAM,qEAAA,CAAA;AACpB,EAAA;AACA,EAAA,OAAOX,6BAAAA,GAAgCM,IAAAA;AAC3C;AANgBF,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAaT,SAASQ,kBAAAA,CAAmBC,GAAWC,CAAAA,EAAS;AACnD,EAAA,MAAMC,OAAAA,GAAUR,MAAAA,CAAOM,CAAAA,CAAAA,CAAGG,QAAAA,CAAS,EAAA,EAAI,GAAA,CAAA,GAAOT,MAAAA,CAAOO,CAAAA,CAAAA,CAAGE,QAAAA,CAAS,IAAI,GAAA,CAAA;AACrE,EAAA,OAAiBC,SAAAA,CAAAA,SAAAA,CAAUC,WAAAA,CAAYH,OAAAA,CAAAA,CAASI,QAAAA,EAAQ;AAC5D;AAHgBP,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA","file":"CMDFOA7C.js","sourcesContent":["/**\n * gRPC-free secp256k1 / DER helpers shared across Canton packages. Kept in a\n * dependency-light module (no ledger client, no ethers) so pure encoding/signing\n * SDKs can reuse it without pulling the gRPC client graph.\n *\n * DER signature encoding reuses `@noble/secp256k1` rather than hand-rolling ASN.1.\n */\n\nimport * as secp256k1 from '@noble/secp256k1';\n\nimport { trim0x } from '@layerzerolabs/common-encoding-utils';\n\n/** DER header for secp256k1 SubjectPublicKeyInfo (23 bytes), up to the `00` bit-string pad. */\nexport const SECP256K1_SPKI_DER_HEADER = new Uint8Array([\n 0x30, 0x56, 0x30, 0x10, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x05, 0x2b,\n 0x81, 0x04, 0x00, 0x0a, 0x03, 0x42, 0x00,\n]);\n\n/** Hex form of {@link SECP256K1_SPKI_DER_HEADER} (lowercase, no `0x`). */\nexport const SECP256K1_SPKI_DER_HEADER_HEX = Buffer.from(SECP256K1_SPKI_DER_HEADER).toString('hex');\n\n/**\n * Wrap an uncompressed `0x04‖X‖Y` secp256k1 public key as hex-encoded SPKI-DER\n * (the form the Canton ledger's `MultiSig.SignerSignature` carries).\n */\nexport function publicKeyToSpkiDer(uncompressedPublicKey: string): string {\n const body = trim0x(uncompressedPublicKey).toLowerCase();\n if (body.length !== 130 || !body.startsWith('04')) {\n throw new Error('Expected an uncompressed (65-byte, 0x04…) secp256k1 public key');\n }\n return SECP256K1_SPKI_DER_HEADER_HEX + body;\n}\n\n/**\n * DER-encode an ECDSA `(r, s)` signature as `SEQUENCE { INTEGER r, INTEGER s }`\n * (lowercase hex), via `@noble/secp256k1` so the ASN.1 encoding is not hand-rolled.\n * `r` / `s` are accepted as hex (with or without `0x`) and zero-padded to 32 bytes.\n */\nexport function derEncodeSignature(r: string, s: string): string {\n const compact = trim0x(r).padStart(64, '0') + trim0x(s).padStart(64, '0');\n return secp256k1.Signature.fromCompact(compact).toDERHex();\n}\n"]}
|
package/dist/CXTOAS7N.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { __name } from './VUOMXK5T.js';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
|
|
4
|
+
var AMULET_DECIMAL_PLACES = 10n;
|
|
5
|
+
var amuletPayloadSchema = z.object({
|
|
6
|
+
amount: z.object({
|
|
7
|
+
initialAmount: z.string()
|
|
8
|
+
})
|
|
9
|
+
});
|
|
10
|
+
var parseAmuletDecimal = /* @__PURE__ */ __name((value) => {
|
|
11
|
+
const [integer, fraction = ""] = value.replace(/^-/, "").split(".");
|
|
12
|
+
return (value.startsWith("-") ? -1n : 1n) * (BigInt(integer || "0") * 10n ** AMULET_DECIMAL_PLACES + BigInt(fraction.slice(0, Number(AMULET_DECIMAL_PLACES)).padEnd(Number(AMULET_DECIMAL_PLACES), "0")));
|
|
13
|
+
}, "parseAmuletDecimal");
|
|
14
|
+
var parseAmuletAmount = /* @__PURE__ */ __name((createArgument) => parseAmuletDecimal(amuletPayloadSchema.parse(createArgument).amount.initialAmount), "parseAmuletAmount");
|
|
15
|
+
|
|
16
|
+
export { parseAmuletAmount, parseAmuletDecimal };
|
|
17
|
+
//# sourceMappingURL=CXTOAS7N.js.map
|
|
18
|
+
//# sourceMappingURL=CXTOAS7N.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/amulet.ts"],"names":["AMULET_DECIMAL_PLACES","amuletPayloadSchema","z","object","amount","initialAmount","string","parseAmuletDecimal","value","integer","fraction","replace","split","startsWith","BigInt","slice","Number","padEnd","parseAmuletAmount","createArgument","parse"],"mappings":";;;AAEA,IAAMA,qBAAAA,GAAwB,GAAA;AAE9B,IAAMC,mBAAAA,GAAsBC,EAAEC,MAAAA,CAAO;AACjCC,EAAAA,MAAAA,EAAQF,EAAEC,MAAAA,CAAO;AAAEE,IAAAA,aAAAA,EAAeH,EAAEI,MAAAA;GAAS;AACjD,CAAA,CAAA;AAMO,IAAMC,kBAAAA,2BAAsBC,KAAAA,KAAAA;AAC/B,EAAA,MAAM,CAACC,OAAAA,EAASC,QAAAA,GAAW,EAAE,CAAA,GAAIF,KAAAA,CAAMG,OAAAA,CAAQ,IAAA,EAAM,EAAA,CAAA,CAAIC,KAAAA,CAAM,GAAA,CAAA;AAE/D,EAAA,OAAA,CACKJ,KAAAA,CAAMK,UAAAA,CAAW,GAAA,CAAA,GAAO,CAAC,EAAA,GAAK,EAAA,KAC9BC,MAAAA,CAAOL,OAAAA,IAAW,GAAA,CAAA,GAAO,GAAA,IAAOT,qBAAAA,GAC7Bc,OACIJ,QAAAA,CACKK,KAAAA,CAAM,CAAA,EAAGC,MAAAA,CAAOhB,qBAAAA,CAAAA,CAAAA,CAChBiB,MAAAA,CAAOD,MAAAA,CAAOhB,qBAAAA,CAAAA,EAAwB,GAAA,CAAA,CAAA,CAAA;AAG3D,CAAA,EAZkC,oBAAA;AAc3B,IAAMkB,iBAAAA,mBAAoB,MAAA,CAAA,CAACC,cAAAA,KAC9BZ,kBAAAA,CAAmBN,mBAAAA,CAAoBmB,MAAMD,cAAAA,CAAAA,CAAgBf,MAAAA,CAAOC,aAAa,CAAA,EADpD,mBAAA","file":"CXTOAS7N.js","sourcesContent":["import { z } from 'zod';\n\nconst AMULET_DECIMAL_PLACES = 10n;\n\nconst amuletPayloadSchema = z.object({\n amount: z.object({ initialAmount: z.string() }),\n});\n\n/**\n * Parses a DAML Decimal string (e.g. `\"42.5000000000\"`, `\"-1.5\"`) into a bigint\n * scaled by 10^10. Fractional digits beyond ten places are truncated towards zero.\n */\nexport const parseAmuletDecimal = (value: string): bigint => {\n const [integer, fraction = ''] = value.replace(/^-/, '').split('.');\n\n return (\n (value.startsWith('-') ? -1n : 1n) *\n (BigInt(integer || '0') * 10n ** AMULET_DECIMAL_PLACES +\n BigInt(\n fraction\n .slice(0, Number(AMULET_DECIMAL_PLACES))\n .padEnd(Number(AMULET_DECIMAL_PLACES), '0'),\n ))\n );\n};\n\nexport const parseAmuletAmount = (createArgument: unknown): bigint =>\n parseAmuletDecimal(amuletPayloadSchema.parse(createArgument).amount.initialAmount);\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UserManagementFeatureFromJSON, UserManagementFeatureToJSON } from './65PSGOOO.js';
|
|
2
2
|
import { PartyManagementFeatureFromJSON, PartyManagementFeatureToJSON } from './57DRTFD5.js';
|
|
3
|
-
import { OffsetCheckpointFeatureFromJSON, OffsetCheckpointFeatureToJSON } from './2CWG6G2U.js';
|
|
4
3
|
import { PackageFeatureFromJSON, PackageFeatureToJSON } from './JDRCVB2P.js';
|
|
4
|
+
import { OffsetCheckpointFeatureFromJSON, OffsetCheckpointFeatureToJSON } from './2CWG6G2U.js';
|
|
5
5
|
import { ExperimentalFeaturesFromJSON, ExperimentalFeaturesToJSON } from './42XERBT4.js';
|
|
6
6
|
import { __name } from './VUOMXK5T.js';
|
|
7
7
|
|
|
@@ -46,5 +46,5 @@ function FeaturesDescriptorToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
46
46
|
__name(FeaturesDescriptorToJSONTyped, "FeaturesDescriptorToJSONTyped");
|
|
47
47
|
|
|
48
48
|
export { FeaturesDescriptorFromJSON, FeaturesDescriptorFromJSONTyped, FeaturesDescriptorToJSON, FeaturesDescriptorToJSONTyped, instanceOfFeaturesDescriptor };
|
|
49
|
-
//# sourceMappingURL=
|
|
50
|
-
//# sourceMappingURL=
|
|
49
|
+
//# sourceMappingURL=DAP5XJGH.js.map
|
|
50
|
+
//# sourceMappingURL=DAP5XJGH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/FeaturesDescriptor.ts"],"names":["instanceOfFeaturesDescriptor","value","FeaturesDescriptorFromJSON","json","FeaturesDescriptorFromJSONTyped","ignoreDiscriminator","undefined","ExperimentalFeaturesFromJSON","UserManagementFeatureFromJSON","PartyManagementFeatureFromJSON","OffsetCheckpointFeatureFromJSON","PackageFeatureFromJSON","FeaturesDescriptorToJSON","FeaturesDescriptorToJSONTyped","ExperimentalFeaturesToJSON","UserManagementFeatureToJSON","PartyManagementFeatureToJSON","OffsetCheckpointFeatureToJSON","PackageFeatureToJSON"],"mappings":";;;;;;;;AA4FO,SAASA,6BAA6BC,KAAAA,EAAa;AACtD,EAAA,OAAO,IAAA;AACX;AAFgBD,MAAAA,CAAAA,4BAAAA,EAAAA,8BAAAA,CAAAA;AAIT,SAASE,2BAA2BC,IAAAA,EAAS;AAChD,EAAA,OAAOC,+BAAAA,CAAgCD,IAAM,CAAA;AACjD;AAFgBD,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAIT,SAASE,+BAAAA,CAAgCD,MAAWE,mBAAAA,EAA4B;AACnF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,cAAA,EAAgBA,IAAAA,CAAK,cAAA,CAAA,IAAmB,IAAA,GAAOG,SAAYC,4BAAAA,CAA6BJ,IAAAA,CAAK,cAAA,CAAe,CAAA;IAC5G,gBAAA,EAAkBA,IAAAA,CAAK,gBAAA,CAAA,IAAqB,IAAA,GAAOG,SAAYE,6BAAAA,CAA8BL,IAAAA,CAAK,gBAAA,CAAiB,CAAA;IACnH,iBAAA,EAAmBA,IAAAA,CAAK,iBAAA,CAAA,IAAsB,IAAA,GAAOG,SAAYG,8BAAAA,CAA+BN,IAAAA,CAAK,iBAAA,CAAkB,CAAA;IACvH,kBAAA,EAAoBA,IAAAA,CAAK,kBAAA,CAAA,IAAuB,IAAA,GAAOG,SAAYI,+BAAAA,CAAgCP,IAAAA,CAAK,kBAAA,CAAmB,CAAA;IAC3H,gBAAA,EAAkBA,IAAAA,CAAK,gBAAA,CAAA,IAAqB,IAAA,GAAOG,SAAYK,sBAAAA,CAAuBR,IAAAA,CAAK,gBAAA,CAAiB;AAChH,GAAA;AACJ;AAZgBC,MAAAA,CAAAA,+BAAAA,EAAAA,iCAAAA,CAAAA;AAcT,SAASQ,yBAAyBT,IAAAA,EAAS;AAC9C,EAAA,OAAOU,6BAAAA,CAA8BV,MAAM,KAAA,CAAA;AAC/C;AAFgBS,MAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA;AAIT,SAASC,6BAAAA,CAA8BZ,KAAAA,EAAmCI,mBAAAA,GAA+B,KAAA,EAAK;AACjH,EAAA,IAAIJ,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,cAAA,EAAgBa,0BAAAA,CAA2Bb,KAAAA,CAAM,cAAA,CAAe,CAAA;IAChE,gBAAA,EAAkBc,2BAAAA,CAA4Bd,KAAAA,CAAM,gBAAA,CAAiB,CAAA;IACrE,iBAAA,EAAmBe,4BAAAA,CAA6Bf,KAAAA,CAAM,iBAAA,CAAkB,CAAA;IACxE,kBAAA,EAAoBgB,6BAAAA,CAA8BhB,KAAAA,CAAM,kBAAA,CAAmB,CAAA;IAC3E,gBAAA,EAAkBiB,oBAAAA,CAAqBjB,KAAAA,CAAM,gBAAA,CAAiB;AAClE,GAAA;AACJ;AAbgBY,MAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/FeaturesDescriptor.ts"],"names":["instanceOfFeaturesDescriptor","value","FeaturesDescriptorFromJSON","json","FeaturesDescriptorFromJSONTyped","ignoreDiscriminator","undefined","ExperimentalFeaturesFromJSON","UserManagementFeatureFromJSON","PartyManagementFeatureFromJSON","OffsetCheckpointFeatureFromJSON","PackageFeatureFromJSON","FeaturesDescriptorToJSON","FeaturesDescriptorToJSONTyped","ExperimentalFeaturesToJSON","UserManagementFeatureToJSON","PartyManagementFeatureToJSON","OffsetCheckpointFeatureToJSON","PackageFeatureToJSON"],"mappings":";;;;;;;;AA4FO,SAASA,6BAA6BC,KAAAA,EAAa;AACtD,EAAA,OAAO,IAAA;AACX;AAFgBD,MAAAA,CAAAA,4BAAAA,EAAAA,8BAAAA,CAAAA;AAIT,SAASE,2BAA2BC,IAAAA,EAAS;AAChD,EAAA,OAAOC,+BAAAA,CAAgCD,IAAM,CAAA;AACjD;AAFgBD,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAIT,SAASE,+BAAAA,CAAgCD,MAAWE,mBAAAA,EAA4B;AACnF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,cAAA,EAAgBA,IAAAA,CAAK,cAAA,CAAA,IAAmB,IAAA,GAAOG,SAAYC,4BAAAA,CAA6BJ,IAAAA,CAAK,cAAA,CAAe,CAAA;IAC5G,gBAAA,EAAkBA,IAAAA,CAAK,gBAAA,CAAA,IAAqB,IAAA,GAAOG,SAAYE,6BAAAA,CAA8BL,IAAAA,CAAK,gBAAA,CAAiB,CAAA;IACnH,iBAAA,EAAmBA,IAAAA,CAAK,iBAAA,CAAA,IAAsB,IAAA,GAAOG,SAAYG,8BAAAA,CAA+BN,IAAAA,CAAK,iBAAA,CAAkB,CAAA;IACvH,kBAAA,EAAoBA,IAAAA,CAAK,kBAAA,CAAA,IAAuB,IAAA,GAAOG,SAAYI,+BAAAA,CAAgCP,IAAAA,CAAK,kBAAA,CAAmB,CAAA;IAC3H,gBAAA,EAAkBA,IAAAA,CAAK,gBAAA,CAAA,IAAqB,IAAA,GAAOG,SAAYK,sBAAAA,CAAuBR,IAAAA,CAAK,gBAAA,CAAiB;AAChH,GAAA;AACJ;AAZgBC,MAAAA,CAAAA,+BAAAA,EAAAA,iCAAAA,CAAAA;AAcT,SAASQ,yBAAyBT,IAAAA,EAAS;AAC9C,EAAA,OAAOU,6BAAAA,CAA8BV,MAAM,KAAA,CAAA;AAC/C;AAFgBS,MAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA;AAIT,SAASC,6BAAAA,CAA8BZ,KAAAA,EAAmCI,mBAAAA,GAA+B,KAAA,EAAK;AACjH,EAAA,IAAIJ,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,cAAA,EAAgBa,0BAAAA,CAA2Bb,KAAAA,CAAM,cAAA,CAAe,CAAA;IAChE,gBAAA,EAAkBc,2BAAAA,CAA4Bd,KAAAA,CAAM,gBAAA,CAAiB,CAAA;IACrE,iBAAA,EAAmBe,4BAAAA,CAA6Bf,KAAAA,CAAM,iBAAA,CAAkB,CAAA;IACxE,kBAAA,EAAoBgB,6BAAAA,CAA8BhB,KAAAA,CAAM,kBAAA,CAAmB,CAAA;IAC3E,gBAAA,EAAkBiB,oBAAAA,CAAqBjB,KAAAA,CAAM,gBAAA,CAAiB;AAClE,GAAA;AACJ;AAbgBY,MAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA","file":"DAP5XJGH.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 { OffsetCheckpointFeature } from './OffsetCheckpointFeature.js';\nimport {\n OffsetCheckpointFeatureFromJSON,\n OffsetCheckpointFeatureFromJSONTyped,\n OffsetCheckpointFeatureToJSON,\n OffsetCheckpointFeatureToJSONTyped,\n} from './OffsetCheckpointFeature.js';\nimport type { ExperimentalFeatures } from './ExperimentalFeatures.js';\nimport {\n ExperimentalFeaturesFromJSON,\n ExperimentalFeaturesFromJSONTyped,\n ExperimentalFeaturesToJSON,\n ExperimentalFeaturesToJSONTyped,\n} from './ExperimentalFeatures.js';\nimport type { PartyManagementFeature } from './PartyManagementFeature.js';\nimport {\n PartyManagementFeatureFromJSON,\n PartyManagementFeatureFromJSONTyped,\n PartyManagementFeatureToJSON,\n PartyManagementFeatureToJSONTyped,\n} from './PartyManagementFeature.js';\nimport type { UserManagementFeature } from './UserManagementFeature.js';\nimport {\n UserManagementFeatureFromJSON,\n UserManagementFeatureFromJSONTyped,\n UserManagementFeatureToJSON,\n UserManagementFeatureToJSONTyped,\n} from './UserManagementFeature.js';\nimport type { PackageFeature } from './PackageFeature.js';\nimport {\n PackageFeatureFromJSON,\n PackageFeatureFromJSONTyped,\n PackageFeatureToJSON,\n PackageFeatureToJSONTyped,\n} from './PackageFeature.js';\n\n/**\n * \n * @export\n * @interface FeaturesDescriptor\n */\nexport interface FeaturesDescriptor {\n /**\n * \n * @type {ExperimentalFeatures}\n * @memberof FeaturesDescriptor\n */\n experimental?: ExperimentalFeatures;\n /**\n * \n * @type {UserManagementFeature}\n * @memberof FeaturesDescriptor\n */\n userManagement?: UserManagementFeature;\n /**\n * \n * @type {PartyManagementFeature}\n * @memberof FeaturesDescriptor\n */\n partyManagement?: PartyManagementFeature;\n /**\n * \n * @type {OffsetCheckpointFeature}\n * @memberof FeaturesDescriptor\n */\n offsetCheckpoint?: OffsetCheckpointFeature;\n /**\n * \n * @type {PackageFeature}\n * @memberof FeaturesDescriptor\n */\n packageFeature?: PackageFeature;\n}\n\n/**\n * Check if a given object implements the FeaturesDescriptor interface.\n */\nexport function instanceOfFeaturesDescriptor(value: object): value is FeaturesDescriptor {\n return true;\n}\n\nexport function FeaturesDescriptorFromJSON(json: any): FeaturesDescriptor {\n return FeaturesDescriptorFromJSONTyped(json, false);\n}\n\nexport function FeaturesDescriptorFromJSONTyped(json: any, ignoreDiscriminator: boolean): FeaturesDescriptor {\n if (json == null) {\n return json;\n }\n return {\n \n 'experimental': json['experimental'] == null ? undefined : ExperimentalFeaturesFromJSON(json['experimental']),\n 'userManagement': json['userManagement'] == null ? undefined : UserManagementFeatureFromJSON(json['userManagement']),\n 'partyManagement': json['partyManagement'] == null ? undefined : PartyManagementFeatureFromJSON(json['partyManagement']),\n 'offsetCheckpoint': json['offsetCheckpoint'] == null ? undefined : OffsetCheckpointFeatureFromJSON(json['offsetCheckpoint']),\n 'packageFeature': json['packageFeature'] == null ? undefined : PackageFeatureFromJSON(json['packageFeature']),\n };\n}\n\nexport function FeaturesDescriptorToJSON(json: any): FeaturesDescriptor {\n return FeaturesDescriptorToJSONTyped(json, false);\n}\n\nexport function FeaturesDescriptorToJSONTyped(value?: FeaturesDescriptor | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'experimental': ExperimentalFeaturesToJSON(value['experimental']),\n 'userManagement': UserManagementFeatureToJSON(value['userManagement']),\n 'partyManagement': PartyManagementFeatureToJSON(value['partyManagement']),\n 'offsetCheckpoint': OffsetCheckpointFeatureToJSON(value['offsetCheckpoint']),\n 'packageFeature': PackageFeatureToJSON(value['packageFeature']),\n };\n}\n\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __name } from './VUOMXK5T.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { transactionSchema, assignedTransactionSchema, signedTransactionSchema, minedTransactionSchema } from '@layerzerolabs/common-chain-model';
|
|
3
|
+
import { transactionSchema, buildTransactionWithResultSchema, assignedTransactionSchema, signedTransactionSchema, minedTransactionSchema } from '@layerzerolabs/common-chain-model';
|
|
4
4
|
|
|
5
5
|
var cantonCommandSchema = z.union([
|
|
6
6
|
z.object({
|
|
@@ -54,6 +54,7 @@ var cantonTransactionSchema = transactionSchema.extend({
|
|
|
54
54
|
partyToSenderEntity: z.record(z.string(), z.array(z.string())).optional()
|
|
55
55
|
})
|
|
56
56
|
});
|
|
57
|
+
var cantonTransactionWithResultSchema = buildTransactionWithResultSchema(cantonTransactionSchema);
|
|
57
58
|
var cantonInflightTransactionSchema = z.object({
|
|
58
59
|
/** The prepared transaction blob */
|
|
59
60
|
preparedTransaction: z.string(),
|
|
@@ -107,6 +108,6 @@ var buildCantonTransaction = /* @__PURE__ */ __name(async (chainName, tx) => {
|
|
|
107
108
|
};
|
|
108
109
|
}, "buildCantonTransaction");
|
|
109
110
|
|
|
110
|
-
export { buildCantonTransaction, cantonAssignedTransactionSchema, cantonCommandSchema, cantonDisclosedContractSchema, cantonMinedTransactionSchema, cantonSignedTransactionSchema, cantonTransactionSchema };
|
|
111
|
-
//# sourceMappingURL=
|
|
112
|
-
//# sourceMappingURL=
|
|
111
|
+
export { buildCantonTransaction, cantonAssignedTransactionSchema, cantonCommandSchema, cantonDisclosedContractSchema, cantonMinedTransactionSchema, cantonSignedTransactionSchema, cantonTransactionSchema, cantonTransactionWithResultSchema };
|
|
112
|
+
//# sourceMappingURL=EYLCZMM4.js.map
|
|
113
|
+
//# sourceMappingURL=EYLCZMM4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/transaction.ts"],"names":["cantonCommandSchema","z","union","object","createCommand","templateId","string","createArguments","any","exerciseCommand","contractId","choice","choiceArgument","createAndExerciseCommand","exerciseByKeyCommand","contractKey","cantonDisclosedContractSchema","optional","createdEventBlob","synchronizerId","cantonTransactionSchema","transactionSchema","extend","populatedTransaction","unresolvedCommands","array","unresolvedDisclosedContracts","actAs","partyToSenderEntity","record","cantonTransactionWithResultSchema","buildTransactionWithResultSchema","cantonInflightTransactionSchema","preparedTransaction","preparedTransactionHash","hashingSchemeVersion","enum","commandId","completionOffset","number","cantonAssignedTransactionSchema","assignedTransactionSchema","shape","inflightTransaction","cantonSignedTransactionSchema","signedTransactionSchema","commands","disclosedContracts","signedTransaction","signatures","party","format","signature","signedBy","signingAlgorithmSpec","cantonMinedTransactionSchema","minedTransactionSchema","buildCantonTransaction","chainName","tx","timestamps","created","Date","now"],"mappings":"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","file":"EYLCZMM4.js","sourcesContent":["import { z } from 'zod';\n\nimport {\n assignedTransactionSchema,\n buildTransactionWithResultSchema,\n minedTransactionSchema,\n signedTransactionSchema,\n transactionSchema,\n} from '@layerzerolabs/common-chain-model';\nimport type { PartialBy } from '@layerzerolabs/typescript-utils';\n\n// === Component schemas ===\n\nexport const cantonCommandSchema = z.union([\n z.object({\n createCommand: z.object({\n templateId: z.string(),\n createArguments: z.any(),\n }),\n }),\n z.object({\n exerciseCommand: z.object({\n templateId: z.string(),\n contractId: z.string(),\n choice: z.string(),\n choiceArgument: z.any(),\n }),\n }),\n z.object({\n createAndExerciseCommand: z.object({\n templateId: z.string(),\n createArguments: z.any(),\n choice: z.string(),\n choiceArgument: z.any(),\n }),\n }),\n z.object({\n exerciseByKeyCommand: z.object({\n templateId: z.string(),\n contractKey: z.any(),\n choice: z.string(),\n choiceArgument: z.any(),\n }),\n }),\n]);\n\nexport const cantonDisclosedContractSchema = z.object({\n templateId: z.string().optional(),\n contractId: z.string(),\n createdEventBlob: z.string(),\n synchronizerId: z.string(),\n});\n\n// === Lifecycle schemas ===\n\n/**\n * Canton transaction schema for Daml Ledger API commands.\n */\nexport const cantonTransactionSchema = transactionSchema.extend({\n populatedTransaction: z.object({\n unresolvedCommands: z.array(cantonCommandSchema),\n unresolvedDisclosedContracts: z.array(cantonDisclosedContractSchema),\n\n /** Parties submitting the command (actAs) */\n actAs: z.array(z.string()),\n /** Maps each actAs party → the senderEntityName(s) controlling its signing\n * key(s), always as an array. `.optional()` only so deferred-sender create-time\n * payloads parse; by sign time every actAs party must map, or signing throws.\n * Multiple entries = a multisig party (decentralized namespace) whose keys must\n * all sign. */\n partyToSenderEntity: z.record(z.string(), z.array(z.string())).optional(),\n }),\n});\n\nexport const cantonTransactionWithResultSchema =\n buildTransactionWithResultSchema(cantonTransactionSchema);\n\nconst cantonInflightTransactionSchema = z.object({\n /** The prepared transaction blob */\n preparedTransaction: z.string(),\n /** Hash of the prepared transaction (what was signed) */\n preparedTransactionHash: z.string(),\n /** Hashing scheme version used */\n hashingSchemeVersion: z.enum([\n 'HASHING_SCHEME_VERSION_UNSPECIFIED',\n 'HASHING_SCHEME_VERSION_V2',\n ]),\n /** Command ID for tracking */\n commandId: z.string(),\n // Ledger offset at which the submission landed — used as `beginExclusive`\n // for waitForCommand to avoid polling from the start of the ledger.\n // Optional: only present after send(); absent for old/retry scenarios.\n completionOffset: z.number().optional(),\n});\n\n/**\n * Assigned transaction includes the inflight transaction data.\n */\nexport const cantonAssignedTransactionSchema = assignedTransactionSchema.extend({\n ...cantonTransactionSchema.shape,\n inflightTransaction: cantonInflightTransactionSchema.optional(),\n});\n\n/**\n * Signed transaction includes the DER-encoded ECDSA signature.\n */\nexport const cantonSignedTransactionSchema = signedTransactionSchema.extend({\n ...cantonAssignedTransactionSchema.shape,\n // Resolved commands and contracts\n commands: z.array(cantonCommandSchema),\n disclosedContracts: z.array(cantonDisclosedContractSchema),\n signedTransaction: z.object({\n /** Per-party signatures in the format expected by Canton's submitSigned */\n signatures: z.array(\n z.object({\n party: z.string(),\n signatures: z.array(\n z.object({\n format: z.string(),\n signature: z.string(),\n signedBy: z.string(),\n signingAlgorithmSpec: z.string(),\n }),\n ),\n }),\n ),\n }),\n});\n\n/**\n * Mined transaction with confirmation result.\n */\nexport const cantonMinedTransactionSchema = minedTransactionSchema.extend({\n ...cantonSignedTransactionSchema.shape,\n inflightTransaction: cantonInflightTransactionSchema,\n});\n\n// === Types ===\n\nexport type CantonTx = z.infer<typeof cantonTransactionSchema>;\nexport type CantonAssignedTx = z.infer<typeof cantonAssignedTransactionSchema>;\nexport type CantonSignedTx = z.infer<typeof cantonSignedTransactionSchema>;\nexport type CantonMinedTx = z.infer<typeof cantonMinedTransactionSchema>;\n\n// === Builder ===\n\nexport type BuildCantonTransactionInput = PartialBy<CantonTx, 'chainName' | 'timestamps'>;\n\nexport const buildCantonTransaction = async (\n chainName: string,\n tx: BuildCantonTransactionInput,\n): Promise<CantonTx> => {\n return {\n ...tx,\n chainName,\n timestamps: {\n created: tx.timestamps?.created ?? Date.now(),\n },\n };\n};\n"]}
|
package/dist/FPRRDKT5.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { cantonTransactionWithResultSchema } from './EYLCZMM4.js';
|
|
2
|
+
import { __name } from './VUOMXK5T.js';
|
|
3
|
+
import { NonEmittableError } from '@layerzerolabs/common-error-utils';
|
|
4
|
+
|
|
5
|
+
var findMatchingCreatedEvent = /* @__PURE__ */ __name((createdEvents, expectedTemplateId, expectedSignatories) => {
|
|
6
|
+
const expectedSet = new Set(expectedSignatories);
|
|
7
|
+
return createdEvents.find((event) => {
|
|
8
|
+
if (event.templateId !== expectedTemplateId) return false;
|
|
9
|
+
const signatories = event.signatories ?? [];
|
|
10
|
+
return signatories.length > 0 && signatories.every((s) => expectedSet.has(s));
|
|
11
|
+
});
|
|
12
|
+
}, "findMatchingCreatedEvent");
|
|
13
|
+
var fetchCreatedEvents = /* @__PURE__ */ __name(async (client, updateId, parties) => {
|
|
14
|
+
const cantonTx = await client.fetchTransactionByUpdateId(updateId, parties);
|
|
15
|
+
return cantonTx.events?.filter((event) => "CreatedEvent" in event).map((event) => event.CreatedEvent) ?? [];
|
|
16
|
+
}, "fetchCreatedEvents");
|
|
17
|
+
var findMatchingCreatedEventFromTx = /* @__PURE__ */ __name(async (client, tx) => {
|
|
18
|
+
const parsed = cantonTransactionWithResultSchema.safeParse(tx);
|
|
19
|
+
if (!parsed.success) return null;
|
|
20
|
+
if (parsed.data.result.type !== "success") return null;
|
|
21
|
+
const { populatedTransaction: { actAs, unresolvedCommands } } = parsed.data;
|
|
22
|
+
const updateId = parsed.data.result.minedTxHash;
|
|
23
|
+
if (!updateId || !actAs.length) return null;
|
|
24
|
+
const createCommand = unresolvedCommands[0];
|
|
25
|
+
if (!createCommand || !("createCommand" in createCommand)) return null;
|
|
26
|
+
const createdEvents = await fetchCreatedEvents(client, updateId, actAs);
|
|
27
|
+
return findMatchingCreatedEvent(createdEvents, createCommand.createCommand.templateId, actAs) ?? null;
|
|
28
|
+
}, "findMatchingCreatedEventFromTx");
|
|
29
|
+
var cantonDeploymentSucceeded = /* @__PURE__ */ __name(async (client, txWithResult) => {
|
|
30
|
+
return await findMatchingCreatedEventFromTx(client, txWithResult) != null;
|
|
31
|
+
}, "cantonDeploymentSucceeded");
|
|
32
|
+
var waitForArchival = /* @__PURE__ */ __name(async (client, contractId, parties) => {
|
|
33
|
+
const { archived } = await client.fetchEventsByContractId(contractId, parties);
|
|
34
|
+
if (archived) {
|
|
35
|
+
return client.fetchTransactionByOffset(archived.offset, parties);
|
|
36
|
+
}
|
|
37
|
+
throw new NonEmittableError(`Contract ${contractId} is not archived yet`);
|
|
38
|
+
}, "waitForArchival");
|
|
39
|
+
var getExercisedEvent = /* @__PURE__ */ __name((transaction, contractId) => {
|
|
40
|
+
for (const event of transaction.events ?? []) {
|
|
41
|
+
if (!("ExercisedEvent" in event)) continue;
|
|
42
|
+
const { ExercisedEvent: exercised } = event;
|
|
43
|
+
if (exercised.contractId === contractId) {
|
|
44
|
+
return exercised;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return void 0;
|
|
48
|
+
}, "getExercisedEvent");
|
|
49
|
+
|
|
50
|
+
export { cantonDeploymentSucceeded, fetchCreatedEvents, findMatchingCreatedEvent, findMatchingCreatedEventFromTx, getExercisedEvent, waitForArchival };
|
|
51
|
+
//# sourceMappingURL=FPRRDKT5.js.map
|
|
52
|
+
//# sourceMappingURL=FPRRDKT5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/events.ts"],"names":["findMatchingCreatedEvent","createdEvents","expectedTemplateId","expectedSignatories","expectedSet","Set","find","event","templateId","signatories","length","every","s","has","fetchCreatedEvents","client","updateId","parties","cantonTx","fetchTransactionByUpdateId","events","filter","map","CreatedEvent","findMatchingCreatedEventFromTx","tx","parsed","cantonTransactionWithResultSchema","safeParse","success","data","result","type","populatedTransaction","actAs","unresolvedCommands","minedTxHash","createCommand","cantonDeploymentSucceeded","txWithResult","waitForArchival","contractId","archived","fetchEventsByContractId","fetchTransactionByOffset","offset","NonEmittableError","getExercisedEvent","transaction","ExercisedEvent","exercised","undefined"],"mappings":"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","file":"FPRRDKT5.js","sourcesContent":["import { NonEmittableError } from '@layerzerolabs/common-error-utils';\n\nimport type { CantonTransaction, ICantonClient } from './client';\nimport type { CreatedEvent, ExercisedEvent } from './open-api/models';\nimport { cantonTransactionWithResultSchema } from './transaction';\n\n/**\n * Finds a CreatedEvent matching the expected templateId whose signatories\n * are a subset of the provided actAs parties.\n */\nexport const findMatchingCreatedEvent = (\n createdEvents: CreatedEvent[],\n expectedTemplateId: string,\n expectedSignatories: string[],\n): CreatedEvent | undefined => {\n const expectedSet = new Set(expectedSignatories);\n return createdEvents.find((event) => {\n if (event.templateId !== expectedTemplateId) return false;\n const signatories = event.signatories ?? [];\n return signatories.length > 0 && signatories.every((s) => expectedSet.has(s));\n });\n};\n\n/**\n * Fetches a transaction by updateId and returns all CreatedEvents.\n */\nexport const fetchCreatedEvents = async (\n client: ICantonClient,\n updateId: string,\n parties: string[],\n): Promise<CreatedEvent[]> => {\n const cantonTx = await client.fetchTransactionByUpdateId(updateId, parties);\n return (\n cantonTx.events\n ?.filter((event): event is { CreatedEvent: CreatedEvent } => 'CreatedEvent' in event)\n .map((event) => event.CreatedEvent) ?? []\n );\n};\n\n/**\n * Parses a Canton transaction-with-result, fetches the created events from the ledger,\n * and returns the first CreatedEvent matching the submitted command's templateId and actAs\n * signatories. Returns null if the transaction is falsy, not successful, or has no match.\n */\nexport const findMatchingCreatedEventFromTx = async (\n client: ICantonClient,\n tx: unknown,\n): Promise<CreatedEvent | null> => {\n const parsed = cantonTransactionWithResultSchema.safeParse(tx);\n if (!parsed.success) return null;\n\n if (parsed.data.result.type !== 'success') return null;\n\n const {\n populatedTransaction: { actAs, unresolvedCommands },\n } = parsed.data;\n const updateId = parsed.data.result.minedTxHash;\n\n if (!updateId || !actAs.length) return null;\n\n const createCommand = unresolvedCommands[0];\n if (!createCommand || !('createCommand' in createCommand)) return null;\n\n const createdEvents = await fetchCreatedEvents(client, updateId, actAs);\n return (\n findMatchingCreatedEvent(createdEvents, createCommand.createCommand.templateId, actAs) ??\n null\n );\n};\n\n/**\n * Checks that a Canton deploy transaction resulted in a CreatedEvent\n * matching the submitted command's templateId and actAs signatories.\n */\nexport const cantonDeploymentSucceeded = async (\n client: ICantonClient,\n txWithResult: unknown,\n): Promise<boolean> => {\n return (await findMatchingCreatedEventFromTx(client, txWithResult)) != null;\n};\n\n/**\n * Waits for a contract to be archived and returns the transaction that archived it.\n * Throws NonEmittableError if the contract is not yet archived.\n */\nexport const waitForArchival = async (\n client: ICantonClient,\n contractId: string,\n parties: string[],\n): Promise<CantonTransaction> => {\n const { archived } = await client.fetchEventsByContractId(contractId, parties);\n if (archived) {\n return client.fetchTransactionByOffset(archived.offset, parties);\n }\n throw new NonEmittableError(`Contract ${contractId} is not archived yet`);\n};\n\n/** Returns the first exercised event on `contractId` in a transaction tree, if any. */\nexport const getExercisedEvent = (\n transaction: CantonTransaction,\n contractId: string,\n): ExercisedEvent | undefined => {\n for (const event of transaction.events ?? []) {\n if (!('ExercisedEvent' in event)) continue;\n const { ExercisedEvent: exercised } = event;\n if (exercised.contractId === contractId) {\n return exercised;\n }\n }\n return undefined;\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FeaturesDescriptorFromJSON, FeaturesDescriptorToJSON } from './
|
|
1
|
+
import { FeaturesDescriptorFromJSON, FeaturesDescriptorToJSON } from './DAP5XJGH.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=FXR2Z54G.js.map
|
|
41
|
+
//# sourceMappingURL=FXR2Z54G.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":"FXR2Z54G.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"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import { ClientCredentialsTokenProvider } from './V2H2WXKE.js';
|
|
1
2
|
import { LocalTokenProvider } from './SCEF7TLZ.js';
|
|
2
|
-
import { CantonClient } from './
|
|
3
|
+
import { CantonClient } from './SMLSAWCA.js';
|
|
3
4
|
import { Configuration } from './KBNUN3MF.js';
|
|
4
5
|
import { CantonGrpcClient } from './YHW7AKHX.js';
|
|
5
|
-
import { ClientCredentialsTokenProvider } from './V2H2WXKE.js';
|
|
6
6
|
import { __name } from './VUOMXK5T.js';
|
|
7
7
|
|
|
8
8
|
// src/provider.ts
|
|
9
|
-
function
|
|
9
|
+
function parseCantonChainUri(uri) {
|
|
10
10
|
const url = new URL(uri);
|
|
11
11
|
const adminApiHost = url.searchParams.get("admin-api");
|
|
12
12
|
if (!adminApiHost) {
|
|
@@ -17,12 +17,6 @@ function parseCantonUri(uri) {
|
|
|
17
17
|
if (!walletUrl) {
|
|
18
18
|
throw new Error('Canton provider URI missing required "wallet-url" query parameter');
|
|
19
19
|
}
|
|
20
|
-
const sequencerUrl = url.searchParams.get("sequencer-url");
|
|
21
|
-
if (!sequencerUrl) {
|
|
22
|
-
throw new Error('Canton provider URI missing required "sequencer-url" query parameter');
|
|
23
|
-
}
|
|
24
|
-
const sequencerValidatorsParam = url.searchParams.get("sequencer-validators");
|
|
25
|
-
const sequencerQuorumParam = url.searchParams.get("sequencer-quorum");
|
|
26
20
|
const tokenUrl = url.searchParams.get("token-url") ?? void 0;
|
|
27
21
|
const clientId = url.searchParams.get("client-id") ?? void 0;
|
|
28
22
|
const clientSecret = url.searchParams.get("client-secret") ?? void 0;
|
|
@@ -43,31 +37,6 @@ function parseCantonUri(uri) {
|
|
|
43
37
|
]) {
|
|
44
38
|
url.searchParams.delete(key);
|
|
45
39
|
}
|
|
46
|
-
let sequencerCommittee;
|
|
47
|
-
if (sequencerValidatorsParam !== null && sequencerQuorumParam !== null) {
|
|
48
|
-
const publicKeys = sequencerValidatorsParam.split(",").map((s) => s.trim().toLowerCase()).filter((s) => s.length > 0);
|
|
49
|
-
if (publicKeys.length === 0) {
|
|
50
|
-
throw new Error("Canton provider URI sequencer-validators must contain at least one pubkey");
|
|
51
|
-
}
|
|
52
|
-
for (const publicKey of publicKeys) {
|
|
53
|
-
if (!publicKey.startsWith("0x")) {
|
|
54
|
-
throw new Error(`Canton provider URI sequencer-validators pubkey must start with 0x, got: ${publicKey.slice(0, 10)}...`);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
const quorum = Number(sequencerQuorumParam);
|
|
58
|
-
if (!Number.isInteger(quorum) || quorum < 1) {
|
|
59
|
-
throw new Error(`Canton provider URI sequencer-quorum must be a positive integer, got: ${sequencerQuorumParam}`);
|
|
60
|
-
}
|
|
61
|
-
if (quorum > publicKeys.length) {
|
|
62
|
-
throw new Error(`Canton provider URI sequencer-quorum=${quorum} exceeds committee size ${publicKeys.length}`);
|
|
63
|
-
}
|
|
64
|
-
sequencerCommittee = {
|
|
65
|
-
publicKeys,
|
|
66
|
-
quorum
|
|
67
|
-
};
|
|
68
|
-
} else if (sequencerValidatorsParam !== null || sequencerQuorumParam !== null) {
|
|
69
|
-
throw new Error("Canton provider URI must set both sequencer-validators and sequencer-quorum together");
|
|
70
|
-
}
|
|
71
40
|
const jsonApiUrl = url.toString().replace(/\/$/, "");
|
|
72
41
|
const oauth2 = tokenUrl && clientId && clientSecret ? {
|
|
73
42
|
tokenUrl,
|
|
@@ -81,14 +50,12 @@ function parseCantonUri(uri) {
|
|
|
81
50
|
adminApiHost,
|
|
82
51
|
userId,
|
|
83
52
|
walletUrl,
|
|
84
|
-
sequencerUrl,
|
|
85
|
-
sequencerCommittee,
|
|
86
53
|
oauth2
|
|
87
54
|
};
|
|
88
55
|
}
|
|
89
|
-
__name(
|
|
90
|
-
function
|
|
91
|
-
const params =
|
|
56
|
+
__name(parseCantonChainUri, "parseCantonChainUri");
|
|
57
|
+
function createCantonChainProvider({ uri, isLocal }) {
|
|
58
|
+
const params = parseCantonChainUri(uri);
|
|
92
59
|
const tokenProvider = createTokenProvider(params, isLocal);
|
|
93
60
|
const configuration = new Configuration({
|
|
94
61
|
basePath: params.jsonApiUrl,
|
|
@@ -103,12 +70,10 @@ function createCantonProvider({ uri, isLocal }) {
|
|
|
103
70
|
client,
|
|
104
71
|
grpcClient,
|
|
105
72
|
tokenProvider,
|
|
106
|
-
walletUrl: params.walletUrl
|
|
107
|
-
sequencerUrl: params.sequencerUrl,
|
|
108
|
-
sequencerCommittee: params.sequencerCommittee
|
|
73
|
+
walletUrl: params.walletUrl
|
|
109
74
|
};
|
|
110
75
|
}
|
|
111
|
-
__name(
|
|
76
|
+
__name(createCantonChainProvider, "createCantonChainProvider");
|
|
112
77
|
function createTokenProvider(params, isLocal) {
|
|
113
78
|
if (isLocal) {
|
|
114
79
|
return new LocalTokenProvider({
|
|
@@ -124,6 +89,6 @@ function createTokenProvider(params, isLocal) {
|
|
|
124
89
|
}
|
|
125
90
|
__name(createTokenProvider, "createTokenProvider");
|
|
126
91
|
|
|
127
|
-
export {
|
|
128
|
-
//# sourceMappingURL=
|
|
129
|
-
//# sourceMappingURL=
|
|
92
|
+
export { createCantonChainProvider, parseCantonChainUri };
|
|
93
|
+
//# sourceMappingURL=GOPXFEBJ.js.map
|
|
94
|
+
//# sourceMappingURL=GOPXFEBJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/provider.ts"],"names":["parseCantonChainUri","uri","url","URL","adminApiHost","searchParams","get","Error","userId","walletUrl","tokenUrl","undefined","clientId","clientSecret","scope","audience","key","delete","jsonApiUrl","toString","replace","oauth2","createCantonChainProvider","isLocal","params","tokenProvider","createTokenProvider","configuration","Configuration","basePath","accessToken","getToken","client","CantonClient","grpcClient","CantonGrpcClient","host","LocalTokenProvider","actAs","admin","ClientCredentialsTokenProvider"],"mappings":"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","file":"GOPXFEBJ.js","sourcesContent":["import {\n ClientCredentialsTokenProvider,\n type ClientCredentialsTokenProviderConfig,\n} from './auth/client-credentials-token-provider';\nimport { LocalTokenProvider } from './auth/local-token-provider';\nimport type { TokenProvider } from './auth/token-provider';\nimport { CantonClient } from './client/canton-client';\nimport { CantonGrpcClient } from './client/grpc';\nimport type { ICantonClient } from './client/interface';\nimport { Configuration } from './open-api/runtime';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Provider Type\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * - {@link client} — JSON Ledger API (commands, queries, updates)\n * - {@link grpcClient} — gRPC Admin API (topology transactions, namespace queries)\n * - {@link tokenProvider} — Shared Bearer-token source used by both transports\n * - {@link walletUrl} — Canton Network validator wallet (scan-proxy CIP-56 endpoints)\n */\nexport type CantonChainProvider = {\n client: ICantonClient;\n grpcClient: CantonGrpcClient;\n tokenProvider: TokenProvider;\n /** Validator wallet URL for scan-proxy CIP-56 endpoints. Required. */\n walletUrl: string;\n};\n\n// ─────────────────────────────────────────────────────────────────────────────\n// URI Parsing\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type CantonChainUriParams = {\n /** Base URL of the JSON Ledger API (e.g. \"http://localhost:5975\") */\n jsonApiUrl: string;\n /** Host:port of the gRPC Admin API (e.g. \"localhost:5076\") */\n adminApiHost: string;\n /** Ledger API user ID (default: \"participant_admin\") */\n userId: string;\n /** Validator wallet URL for scan-proxy CIP-56 endpoints (e.g. \"http://localhost:7201\"). Required. */\n walletUrl: string;\n /** OAuth2 client credentials config — present only for non-local environments */\n oauth2?: ClientCredentialsTokenProviderConfig;\n};\n\n/**\n * Parse a Canton chain provider URI into its constituent parts.\n *\n * URI format:\n * `<json-api-base>?admin-api=<host:port>&user-id=<id>&wallet-url=<url>[&token-url=...&client-id=...&client-secret=...&scope=...&audience=...]`\n *\n * The base URL (everything before the query string) is the JSON Ledger API endpoint.\n * Canton-specific params are extracted and removed; any remaining query params are\n * preserved on the JSON API URL.\n */\nexport function parseCantonChainUri(uri: string): CantonChainUriParams {\n const url = new URL(uri);\n\n const adminApiHost = url.searchParams.get('admin-api');\n if (!adminApiHost) {\n throw new Error('Canton provider URI missing required \"admin-api\" query parameter');\n }\n\n const userId = url.searchParams.get('user-id') ?? 'participant_admin';\n const walletUrl = url.searchParams.get('wallet-url');\n if (!walletUrl) {\n throw new Error('Canton provider URI missing required \"wallet-url\" query parameter');\n }\n const tokenUrl = url.searchParams.get('token-url') ?? undefined;\n const clientId = url.searchParams.get('client-id') ?? undefined;\n const clientSecret = url.searchParams.get('client-secret') ?? undefined;\n const scope = url.searchParams.get('scope') ?? undefined;\n const audience = url.searchParams.get('audience') ?? undefined;\n\n for (const key of [\n 'admin-api',\n 'user-id',\n 'wallet-url',\n 'sequencer-url',\n 'sequencer-validators',\n 'sequencer-quorum',\n 'token-url',\n 'client-id',\n 'client-secret',\n 'scope',\n 'audience',\n ]) {\n url.searchParams.delete(key);\n }\n\n const jsonApiUrl = url.toString().replace(/\\/$/, '');\n\n const oauth2 =\n tokenUrl && clientId && clientSecret\n ? { tokenUrl, clientId, clientSecret, scope, audience }\n : undefined;\n\n return {\n jsonApiUrl,\n adminApiHost,\n userId,\n walletUrl,\n oauth2,\n };\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Provider Factory\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type CreateCantonChainProviderOptions = {\n /** Raw provider URI (from provider config) */\n uri: string;\n /** When true, uses LocalTokenProvider (self-signed JWTs) instead of OAuth2 */\n isLocal: boolean;\n};\n\n/**\n * Create a {@link CantonChainProvider} from a provider URI.\n *\n * - **isLocal=true**: Uses {@link LocalTokenProvider} with admin-level access (self-signed JWTs).\n * - **isLocal=false**: Uses {@link ClientCredentialsTokenProvider} with OAuth2 client\n * credentials extracted from the URI query parameters.\n */\nexport function createCantonChainProvider({\n uri,\n isLocal,\n}: CreateCantonChainProviderOptions): CantonChainProvider {\n const params = parseCantonChainUri(uri);\n\n const tokenProvider = createTokenProvider(params, isLocal);\n\n // ── JSON Ledger API Client ──────────────────────────────────────────\n const configuration = new Configuration({\n basePath: params.jsonApiUrl,\n accessToken: () => tokenProvider.getToken(),\n });\n const client = new CantonClient(configuration, params.userId);\n\n // ── gRPC Admin API Client ───────────────────────────────────────────\n const grpcClient = new CantonGrpcClient({\n host: params.adminApiHost,\n tokenProvider,\n });\n\n return {\n client,\n grpcClient,\n tokenProvider,\n walletUrl: params.walletUrl,\n };\n}\n\nfunction createTokenProvider(params: CantonChainUriParams, isLocal: boolean): TokenProvider {\n if (isLocal) {\n return new LocalTokenProvider({\n userId: params.userId,\n actAs: [],\n admin: true,\n });\n }\n\n // TODO(canton): add other prod auth methods (direct JWT passthrough, etc.).\n if (!params.oauth2) {\n throw new Error(\n 'Canton provider requires OAuth2 credentials (token-url, client-id, client-secret) in the provider URI',\n );\n }\n\n return new ClientCredentialsTokenProvider(params.oauth2);\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UpdateFromJSON, UpdateToJSON } from './
|
|
1
|
+
import { UpdateFromJSON, UpdateToJSON } from './KTNEUXUI.js';
|
|
2
2
|
import { __name } from './VUOMXK5T.js';
|
|
3
3
|
|
|
4
4
|
// src/open-api/models/JsGetUpdatesResponse.ts
|
|
@@ -35,5 +35,5 @@ function JsGetUpdatesResponseToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
35
35
|
__name(JsGetUpdatesResponseToJSONTyped, "JsGetUpdatesResponseToJSONTyped");
|
|
36
36
|
|
|
37
37
|
export { JsGetUpdatesResponseFromJSON, JsGetUpdatesResponseFromJSONTyped, JsGetUpdatesResponseToJSON, JsGetUpdatesResponseToJSONTyped, instanceOfJsGetUpdatesResponse };
|
|
38
|
-
//# sourceMappingURL=
|
|
39
|
-
//# sourceMappingURL=
|
|
38
|
+
//# sourceMappingURL=HLWLB4AY.js.map
|
|
39
|
+
//# sourceMappingURL=HLWLB4AY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/JsGetUpdatesResponse.ts"],"names":["instanceOfJsGetUpdatesResponse","value","undefined","JsGetUpdatesResponseFromJSON","json","JsGetUpdatesResponseFromJSONTyped","ignoreDiscriminator","UpdateFromJSON","JsGetUpdatesResponseToJSON","JsGetUpdatesResponseToJSONTyped","UpdateToJSON"],"mappings":";;;;AAwCO,SAASA,+BAA+BC,KAAAA,EAAa;AACxD,EAAA,IAAI,EAAE,QAAA,IAAYA,KAAAA,CAAAA,IAAUA,MAAM,QAAA,CAAA,KAAcC,QAAW,OAAO,KAAA;AAClE,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA;AAKT,SAASG,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,OAAO;IAEH,QAAA,EAAUG,cAAAA,CAAeH,IAAAA,CAAK,QAAA,CAAS;AAC3C,GAAA;AACJ;AARgBC,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAUT,SAASG,2BAA2BJ,IAAAA,EAAS;AAChD,EAAA,OAAOK,+BAAAA,CAAgCL,MAAM,KAAA,CAAA;AACjD;AAFgBI,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAIT,SAASC,+BAAAA,CAAgCR,KAAAA,EAAqCK,mBAAAA,GAA+B,KAAA,EAAK;AACrH,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,QAAA,EAAUS,YAAAA,CAAaT,KAAAA,CAAM,QAAA,CAAS;AAC1C,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,+BAAAA,EAAAA,iCAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/JsGetUpdatesResponse.ts"],"names":["instanceOfJsGetUpdatesResponse","value","undefined","JsGetUpdatesResponseFromJSON","json","JsGetUpdatesResponseFromJSONTyped","ignoreDiscriminator","UpdateFromJSON","JsGetUpdatesResponseToJSON","JsGetUpdatesResponseToJSONTyped","UpdateToJSON"],"mappings":";;;;AAwCO,SAASA,+BAA+BC,KAAAA,EAAa;AACxD,EAAA,IAAI,EAAE,QAAA,IAAYA,KAAAA,CAAAA,IAAUA,MAAM,QAAA,CAAA,KAAcC,QAAW,OAAO,KAAA;AAClE,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA;AAKT,SAASG,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,OAAO;IAEH,QAAA,EAAUG,cAAAA,CAAeH,IAAAA,CAAK,QAAA,CAAS;AAC3C,GAAA;AACJ;AARgBC,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAUT,SAASG,2BAA2BJ,IAAAA,EAAS;AAChD,EAAA,OAAOK,+BAAAA,CAAgCL,MAAM,KAAA,CAAA;AACjD;AAFgBI,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAIT,SAASC,+BAAAA,CAAgCR,KAAAA,EAAqCK,mBAAAA,GAA+B,KAAA,EAAK;AACrH,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,QAAA,EAAUS,YAAAA,CAAaT,KAAAA,CAAM,QAAA,CAAS;AAC1C,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,+BAAAA,EAAAA,iCAAAA,CAAAA","file":"HLWLB4AY.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 { Update } from './Update.js';\nimport {\n UpdateFromJSON,\n UpdateFromJSONTyped,\n UpdateToJSON,\n UpdateToJSONTyped,\n} from './Update.js';\n\n/**\n * \n * @export\n * @interface JsGetUpdatesResponse\n */\nexport interface JsGetUpdatesResponse {\n /**\n * \n * @type {Update}\n * @memberof JsGetUpdatesResponse\n */\n update: Update;\n}\n\n/**\n * Check if a given object implements the JsGetUpdatesResponse interface.\n */\nexport function instanceOfJsGetUpdatesResponse(value: object): value is JsGetUpdatesResponse {\n if (!('update' in value) || value['update'] === undefined) return false;\n return true;\n}\n\nexport function JsGetUpdatesResponseFromJSON(json: any): JsGetUpdatesResponse {\n return JsGetUpdatesResponseFromJSONTyped(json, false);\n}\n\nexport function JsGetUpdatesResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): JsGetUpdatesResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'update': UpdateFromJSON(json['update']),\n };\n}\n\nexport function JsGetUpdatesResponseToJSON(json: any): JsGetUpdatesResponse {\n return JsGetUpdatesResponseToJSONTyped(json, false);\n}\n\nexport function JsGetUpdatesResponseToJSONTyped(value?: JsGetUpdatesResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'update': UpdateToJSON(value['update']),\n };\n}\n\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { KindFromJSON, KindToJSON } from './
|
|
1
|
+
import { KindFromJSON, KindToJSON } from './K2SFNQJC.js';
|
|
2
2
|
import { __name } from './VUOMXK5T.js';
|
|
3
3
|
|
|
4
4
|
// src/open-api/models/Right.ts
|
|
@@ -35,5 +35,5 @@ function RightToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
35
35
|
__name(RightToJSONTyped, "RightToJSONTyped");
|
|
36
36
|
|
|
37
37
|
export { RightFromJSON, RightFromJSONTyped, RightToJSON, RightToJSONTyped, instanceOfRight };
|
|
38
|
-
//# sourceMappingURL=
|
|
39
|
-
//# sourceMappingURL=
|
|
38
|
+
//# sourceMappingURL=HRZTWWO4.js.map
|
|
39
|
+
//# sourceMappingURL=HRZTWWO4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/open-api/models/Right.ts"],"names":["instanceOfRight","value","undefined","RightFromJSON","json","RightFromJSONTyped","ignoreDiscriminator","KindFromJSON","RightToJSON","RightToJSONTyped","KindToJSON"],"mappings":";;;;AAwCO,SAASA,gBAAgBC,KAAAA,EAAa;AACzC,EAAA,IAAI,EAAE,MAAA,IAAUA,KAAAA,CAAAA,IAAUA,MAAM,MAAA,CAAA,KAAYC,QAAW,OAAO,KAAA;AAC9D,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAKT,SAASG,cAAcC,IAAAA,EAAS;AACnC,EAAA,OAAOC,kBAAAA,CAAmBD,IAAM,CAAA;AACpC;AAFgBD,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAIT,SAASE,kBAAAA,CAAmBD,MAAWE,mBAAAA,EAA4B;AACtE,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,MAAA,EAAQG,YAAAA,CAAaH,IAAAA,CAAK,MAAA,CAAO;AACrC,GAAA;AACJ;AARgBC,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAUT,SAASG,YAAYJ,IAAAA,EAAS;AACjC,EAAA,OAAOK,gBAAAA,CAAiBL,MAAM,KAAA,CAAA;AAClC;AAFgBI,MAAAA,CAAAA,WAAAA,EAAAA,aAAAA,CAAAA;AAIT,SAASC,gBAAAA,CAAiBR,KAAAA,EAAsBK,mBAAAA,GAA+B,KAAA,EAAK;AACvF,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,MAAA,EAAQS,UAAAA,CAAWT,KAAAA,CAAM,MAAA,CAAO;AACpC,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/open-api/models/Right.ts"],"names":["instanceOfRight","value","undefined","RightFromJSON","json","RightFromJSONTyped","ignoreDiscriminator","KindFromJSON","RightToJSON","RightToJSONTyped","KindToJSON"],"mappings":";;;;AAwCO,SAASA,gBAAgBC,KAAAA,EAAa;AACzC,EAAA,IAAI,EAAE,MAAA,IAAUA,KAAAA,CAAAA,IAAUA,MAAM,MAAA,CAAA,KAAYC,QAAW,OAAO,KAAA;AAC9D,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAKT,SAASG,cAAcC,IAAAA,EAAS;AACnC,EAAA,OAAOC,kBAAAA,CAAmBD,IAAM,CAAA;AACpC;AAFgBD,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAIT,SAASE,kBAAAA,CAAmBD,MAAWE,mBAAAA,EAA4B;AACtE,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,MAAA,EAAQG,YAAAA,CAAaH,IAAAA,CAAK,MAAA,CAAO;AACrC,GAAA;AACJ;AARgBC,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAUT,SAASG,YAAYJ,IAAAA,EAAS;AACjC,EAAA,OAAOK,gBAAAA,CAAiBL,MAAM,KAAA,CAAA;AAClC;AAFgBI,MAAAA,CAAAA,WAAAA,EAAAA,aAAAA,CAAAA;AAIT,SAASC,gBAAAA,CAAiBR,KAAAA,EAAsBK,mBAAAA,GAA+B,KAAA,EAAK;AACvF,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,MAAA,EAAQS,UAAAA,CAAWT,KAAAA,CAAM,MAAA,CAAO;AACpC,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA","file":"HRZTWWO4.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 { Kind } from './Kind.js';\nimport {\n KindFromJSON,\n KindFromJSONTyped,\n KindToJSON,\n KindToJSONTyped,\n} from './Kind.js';\n\n/**\n * A right granted to a user.\n * @export\n * @interface Right\n */\nexport interface Right {\n /**\n * \n * @type {Kind}\n * @memberof Right\n */\n kind: Kind;\n}\n\n/**\n * Check if a given object implements the Right interface.\n */\nexport function instanceOfRight(value: object): value is Right {\n if (!('kind' in value) || value['kind'] === undefined) return false;\n return true;\n}\n\nexport function RightFromJSON(json: any): Right {\n return RightFromJSONTyped(json, false);\n}\n\nexport function RightFromJSONTyped(json: any, ignoreDiscriminator: boolean): Right {\n if (json == null) {\n return json;\n }\n return {\n \n 'kind': KindFromJSON(json['kind']),\n };\n}\n\nexport function RightToJSON(json: any): Right {\n return RightToJSONTyped(json, false);\n}\n\nexport function RightToJSONTyped(value?: Right | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'kind': KindToJSON(value['kind']),\n };\n}\n\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SECP256K1_SPKI_DER_HEADER } from './CMDFOA7C.js';
|
|
1
2
|
import { __name } from './VUOMXK5T.js';
|
|
2
3
|
import { createHash } from 'crypto';
|
|
3
4
|
|
|
@@ -7,31 +8,6 @@ function extractTransactions(updates) {
|
|
|
7
8
|
] : []);
|
|
8
9
|
}
|
|
9
10
|
__name(extractTransactions, "extractTransactions");
|
|
10
|
-
var SECP256K1_SPKI_DER_HEADER = new Uint8Array([
|
|
11
|
-
48,
|
|
12
|
-
86,
|
|
13
|
-
48,
|
|
14
|
-
16,
|
|
15
|
-
6,
|
|
16
|
-
7,
|
|
17
|
-
42,
|
|
18
|
-
134,
|
|
19
|
-
72,
|
|
20
|
-
206,
|
|
21
|
-
61,
|
|
22
|
-
2,
|
|
23
|
-
1,
|
|
24
|
-
6,
|
|
25
|
-
5,
|
|
26
|
-
43,
|
|
27
|
-
129,
|
|
28
|
-
4,
|
|
29
|
-
0,
|
|
30
|
-
10,
|
|
31
|
-
3,
|
|
32
|
-
66,
|
|
33
|
-
0
|
|
34
|
-
]);
|
|
35
11
|
var HASH_PURPOSE_PUBLIC_KEY_FINGERPRINT = 12;
|
|
36
12
|
var MULTIHASH_SHA256_PREFIX = new Uint8Array([
|
|
37
13
|
18,
|
|
@@ -52,5 +28,5 @@ function computeCantonFingerprint(uncompressedPublicKey) {
|
|
|
52
28
|
__name(computeCantonFingerprint, "computeCantonFingerprint");
|
|
53
29
|
|
|
54
30
|
export { computeCantonFingerprint, extractTransactions };
|
|
55
|
-
//# sourceMappingURL=
|
|
56
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=JI3XNGXO.js.map
|
|
32
|
+
//# sourceMappingURL=JI3XNGXO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/client/utils.ts"],"names":["extractTransactions","updates","flatMap","update","Transaction","value","HASH_PURPOSE_PUBLIC_KEY_FINGERPRINT","MULTIHASH_SHA256_PREFIX","Uint8Array","computeCantonFingerprint","uncompressedPublicKey","publicKeyDer","SECP256K1_SPKI_DER_HEADER","length","set","purposePrefix","DataView","buffer","setUint32","hash","createHash","digest","result","Buffer","from","toString"],"mappings":";;;;AASO,SAASA,oBAAoBC,OAAAA,EAAuB;AACvD,EAAA,OAAOA,OAAAA,CAAQC,OAAAA,CAAQ,CAACC,MAAAA,KAAY,iBAAiBA,MAAAA,GAAS;AAACA,IAAAA,MAAAA,CAAOC,WAAAA,CAAYC;AAAS,GAAA,GAAA,EAAE,CAAA;AACjG;AAFgBL,MAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AAIhB,IAAMM,mCAAAA,GAAsC,EAAA;AAC5C,IAAMC,uBAAAA,GAA0B,IAAIC,UAAAA,CAAW;AAAC,EAAA,EAAA;AAAM,EAAA;AAAK,CAAA,CAAA;AAMpD,SAASC,yBAAyBC,qBAAAA,EAAiC;AACtE,EAAA,MAAMC,eAAe,IAAIH,UAAAA,CACrBI,yBAAAA,CAA0BC,MAAAA,GAASH,sBAAsBG,MAAM,CAAA;AAEnEF,EAAAA,YAAAA,CAAaG,IAAIF,yBAAAA,CAAAA;AACjBD,EAAAA,YAAAA,CAAaG,GAAAA,CAAIJ,qBAAAA,EAAuBE,yBAAAA,CAA0BC,MAAM,CAAA;AAExE,EAAA,MAAME,aAAAA,GAAgB,IAAIP,UAAAA,CAAW,CAAA,CAAA;AACrC,EAAA,IAAIQ,SAASD,aAAAA,CAAcE,MAAM,CAAA,CAAEC,SAAAA,CAAU,GAAGZ,mCAAAA,CAAAA;AAEhD,EAAA,MAAMa,IAAAA,GAAOC,UAAAA,CAAW,QAAA,CAAA,CAAUjB,MAAAA,CAAOY,aAAAA,CAAAA,CAAeZ,MAAAA,CAAOQ,YAAAA,CAAAA,CAAcU,MAAAA,EAAM;AAEnF,EAAA,MAAMC,SAAS,IAAId,UAAAA,CAAWD,uBAAAA,CAAwBM,MAAAA,GAASM,KAAKN,MAAM,CAAA;AAC1ES,EAAAA,MAAAA,CAAOR,IAAIP,uBAAAA,CAAAA;AACXe,EAAAA,MAAAA,CAAOR,GAAAA,CAAIK,IAAAA,EAAMZ,uBAAAA,CAAwBM,MAAM,CAAA;AAE/C,EAAA,OAAOU,MAAAA,CAAOC,IAAAA,CAAKF,MAAAA,CAAAA,CAAQG,SAAS,KAAA,CAAA;AACxC;AAjBgBhB,MAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA","file":"JI3XNGXO.js","sourcesContent":["import { createHash } from 'node:crypto';\n\nimport { SECP256K1_SPKI_DER_HEADER } from '../crypto';\nimport type { CantonTransaction, CantonUpdate } from './interface';\n\n/**\n * Extract transactions from Canton updates.\n * Filters out checkpoints, reassignments, and topology transactions.\n */\nexport function extractTransactions(updates: CantonUpdate[]): CantonTransaction[] {\n return updates.flatMap((update) => ('Transaction' in update ? [update.Transaction.value] : []));\n}\n\nconst HASH_PURPOSE_PUBLIC_KEY_FINGERPRINT = 12;\nconst MULTIHASH_SHA256_PREFIX = new Uint8Array([0x12, 0x20]);\n\n/**\n * Computes the Canton fingerprint for an uncompressed secp256k1 public key.\n * DER-encodes the key, then computes hex(SHA-256 multihash of purpose=12 || publicKeyDer).\n */\nexport function computeCantonFingerprint(uncompressedPublicKey: Uint8Array): string {\n const publicKeyDer = new Uint8Array(\n SECP256K1_SPKI_DER_HEADER.length + uncompressedPublicKey.length,\n );\n publicKeyDer.set(SECP256K1_SPKI_DER_HEADER);\n publicKeyDer.set(uncompressedPublicKey, SECP256K1_SPKI_DER_HEADER.length);\n\n const purposePrefix = new Uint8Array(4);\n new DataView(purposePrefix.buffer).setUint32(0, HASH_PURPOSE_PUBLIC_KEY_FINGERPRINT);\n\n const hash = createHash('sha256').update(purposePrefix).update(publicKeyDer).digest();\n\n const result = new Uint8Array(MULTIHASH_SHA256_PREFIX.length + hash.length);\n result.set(MULTIHASH_SHA256_PREFIX);\n result.set(hash, MULTIHASH_SHA256_PREFIX.length);\n\n return Buffer.from(result).toString('hex');\n}\n"]}
|