@layerzerolabs/common-canton 0.2.103 → 0.2.105

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.
@@ -8,77 +8,15 @@
8
8
 
9
9
  ✅ dpm-3.4.8-openapi-generator-7.21.0
10
10
  🔧 openapi-generator version: 7.21.0
11
- $ docker image inspect --format {{.Id}} 438003944538.dkr.ecr.us-east-1.amazonaws.com/layerzerolabs/canton-openapi-tooling:openapi-generator-7.21.0-patch-1
12
- (node:70564) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///home/runner/work/monorepo-internal/monorepo-internal/configs/vm-tooling/values/docker-image-repo.ts is not specified and it doesn't parse as CommonJS.
11
+ $ docker image inspect --format {{.Architecture}} 438003944538.dkr.ecr.us-east-1.amazonaws.com/layerzerolabs/canton-openapi-tooling:openapi-generator-7.21.0-patch-2
12
+ (node:126071) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///home/runner/work/monorepo-internal/monorepo-internal/configs/vm-tooling/values/docker-image-repo.ts is not specified and it doesn't parse as CommonJS.
13
13
  Reparsing as ES module because module syntax was detected. This incurs a performance overhead.
14
14
  To eliminate this warning, add "type": "module" to /home/runner/work/monorepo-internal/monorepo-internal/package.json.
15
15
  (Use `node --trace-warnings ...` to show where the warning was created)
16
- Error response from daemon: No such image: 438003944538.dkr.ecr.us-east-1.amazonaws.com/layerzerolabs/canton-openapi-tooling:openapi-generator-7.21.0-patch-1
17
- 📥 Pulling Docker image from: 438003944538.dkr.ecr.us-east-1.amazonaws.com/layerzerolabs/canton-openapi-tooling:openapi-generator-7.21.0-patch-1
18
- $ docker pull 438003944538.dkr.ecr.us-east-1.amazonaws.com/layerzerolabs/canton-openapi-tooling:openapi-generator-7.21.0-patch-1
19
- openapi-generator-7.21.0-patch-1: Pulling from layerzerolabs/canton-openapi-tooling
20
- 6ad39880009f: Pulling fs layer
21
- de90d86cd9e8: Pulling fs layer
22
- 320d9614051d: Pulling fs layer
23
- 2105e5edb107: Pulling fs layer
24
- d7fa639f53de: Pulling fs layer
25
- ca7063794723: Pulling fs layer
26
- 89b1ff25a2ba: Pulling fs layer
27
- 24574a3c3b7e: Pulling fs layer
28
- 72df4dc3c67b: Pulling fs layer
29
- 66fb6c894d14: Pulling fs layer
30
- f49710e34058: Pulling fs layer
31
- 2c1ce468d9f3: Pulling fs layer
32
- d7fa639f53de: Waiting
33
- 2105e5edb107: Waiting
34
- ca7063794723: Waiting
35
- 89b1ff25a2ba: Waiting
36
- 66fb6c894d14: Waiting
37
- 24574a3c3b7e: Waiting
38
- f49710e34058: Waiting
39
- 2c1ce468d9f3: Waiting
40
- 72df4dc3c67b: Waiting
41
- de90d86cd9e8: Verifying Checksum
42
- de90d86cd9e8: Download complete
43
- 6ad39880009f: Verifying Checksum
44
- 6ad39880009f: Download complete
45
- 320d9614051d: Verifying Checksum
46
- 320d9614051d: Download complete
47
- 2105e5edb107: Verifying Checksum
48
- 2105e5edb107: Download complete
49
- d7fa639f53de: Verifying Checksum
50
- d7fa639f53de: Download complete
51
- 6ad39880009f: Pull complete
52
- 89b1ff25a2ba: Verifying Checksum
53
- 89b1ff25a2ba: Download complete
54
- 24574a3c3b7e: Download complete
55
- 66fb6c894d14: Verifying Checksum
56
- 66fb6c894d14: Download complete
57
- ca7063794723: Verifying Checksum
58
- ca7063794723: Download complete
59
- 72df4dc3c67b: Verifying Checksum
60
- 72df4dc3c67b: Download complete
61
- de90d86cd9e8: Pull complete
62
- f49710e34058: Verifying Checksum
63
- 2c1ce468d9f3: Verifying Checksum
64
- 2c1ce468d9f3: Download complete
65
- 320d9614051d: Pull complete
66
- 2105e5edb107: Pull complete
67
- d7fa639f53de: Pull complete
68
- ca7063794723: Pull complete
69
- 89b1ff25a2ba: Pull complete
70
- 24574a3c3b7e: Pull complete
71
- 72df4dc3c67b: Pull complete
72
- 66fb6c894d14: Pull complete
73
- f49710e34058: Pull complete
74
- 2c1ce468d9f3: Pull complete
75
- Digest: sha256:4ef893994ed509c7de16aec1dc796d5065f53b415bd34f9c6801c2b7beb4b8a9
76
- Status: Downloaded newer image for 438003944538.dkr.ecr.us-east-1.amazonaws.com/layerzerolabs/canton-openapi-tooling:openapi-generator-7.21.0-patch-1
77
- 438003944538.dkr.ecr.us-east-1.amazonaws.com/layerzerolabs/canton-openapi-tooling:openapi-generator-7.21.0-patch-1
78
- ✅ Successfully pulled: 438003944538.dkr.ecr.us-east-1.amazonaws.com/layerzerolabs/canton-openapi-tooling:openapi-generator-7.21.0-patch-1
16
+ ✅ Using cached Docker image: 438003944538.dkr.ecr.us-east-1.amazonaws.com/layerzerolabs/canton-openapi-tooling:openapi-generator-7.21.0-patch-2 (amd64)
79
17
  👤 Running container as UID:GID 1001:1001
80
- 📜 Executing custom script: set -euo pipefail && rm -rf "src/open-api" && java -jar "$OPENAPI_GENERATOR_JAR" generate -i "$CANTON_OPENAPI_YAML" -g typescript-fetch -o "src/open-api" --additional-properties=importFileExtension=.js
81
- $ docker run --rm --add-host=host.docker.internal:host-gateway -e LOCAL_UID=1001 -e LOCAL_GID=1001 -v /home/runner/work/monorepo-internal/monorepo-internal:/workspace -w /workspace/packages/vms/canton/common-canton 438003944538.dkr.ecr.us-east-1.amazonaws.com/layerzerolabs/canton-openapi-tooling:openapi-generator-7.21.0-patch-1 bash -c $'set -euo pipefail && rm -rf "src/open-api" && java -jar "$OPENAPI_GENERATOR_JAR" generate -i "$CANTON_OPENAPI_YAML" -g typescript-fetch -o "src/open-api" --additional-properties=importFileExtension=.js'
18
+ 📜 Executing custom script: set -euo pipefail && rm -rf "src/open-api" && canton-openapi-generator generate -g typescript-fetch -o "src/open-api" --additional-properties=importFileExtension=.js
19
+ $ docker run --rm --add-host=host.docker.internal:host-gateway -e LOCAL_UID=1001 -e LOCAL_GID=1001 -v /home/runner/work/monorepo-internal/monorepo-internal:/workspace -w /workspace/packages/vms/canton/common-canton 438003944538.dkr.ecr.us-east-1.amazonaws.com/layerzerolabs/canton-openapi-tooling:openapi-generator-7.21.0-patch-2 bash -c $'set -euo pipefail && rm -rf "src/open-api" && canton-openapi-generator generate -g typescript-fetch -o "src/open-api" --additional-properties=importFileExtension=.js'
82
20
  [main] INFO o.o.codegen.DefaultGenerator - Generating with dryRun=false
83
21
  [main] INFO o.o.c.ignore.CodegenIgnoreProcessor - Output directory (/workspace/packages/vms/canton/common-canton/src/open-api) does not exist, or is inaccessible. No file (.openapi-generator-ignore) will be evaluated.
84
22
  [main] INFO o.o.codegen.DefaultGenerator - OpenAPI Generator: typescript-fetch (client)
@@ -757,21 +695,21 @@ $ docker run --rm --add-host=host.docker.internal:host-gateway -e LOCAL_UID=1001
757
695
  # We appreciate your support! Please consider donation to help us maintain this project. #
758
696
  # https://opencollective.com/openapi_generator/donate #
759
697
  ############################################################################################
760
- ⏳ bash -c set -euo pipefail && rm -rf "src/open-api" && java -jar "$OPENAPI_GENERATOR_JAR" generate -i "$CANTON_OPENAPI_YAML" -g typescript-fetch -o "src/open-api" --additional-properties=importFileExtension=.js: 6.629s
698
+ ⏳ bash -c set -euo pipefail && rm -rf "src/open-api" && canton-openapi-generator generate -g typescript-fetch -o "src/open-api" --additional-properties=importFileExtension=.js: 7.971s
761
699
  Testing types with tsc and vue-tsc is an experimental feature.
762
700
  Breaking changes might not follow SemVer, please pin Vitest's version when using it.
763
701
 
764
702
   RUN  v3.2.4 /home/runner/work/monorepo-internal/monorepo-internal/packages/vms/canton/common-canton
765
703
 
766
- ✓ test/auth/local-token-provider.test.ts (5 tests) 13ms
767
- ✓ test/auth/client-credentials-token-provider.test.ts (7 tests) 15ms
704
+ ✓ test/auth/local-token-provider.test.ts (5 tests) 28ms
705
+ ✓ test/auth/client-credentials-token-provider.test.ts (7 tests) 23ms
768
706
  stderr | test/sdk.test.ts > Error Handling (Unhappy Paths) > should handle double archive error
769
707
  Mock miss: GET /v2/state/connected-synchronizers
770
708
 
771
709
  stderr | test/sdk.test.ts > Error Handling (Unhappy Paths) > should handle unauthorized party error
772
710
  Mock miss: GET /v2/state/connected-synchronizers
773
711
 
774
- ✓ test/sdk.test.ts (18 tests) 33ms
712
+ ✓ test/sdk.test.ts (18 tests) 44ms
775
713
  ✓  TS  test/sdk.test.ts (18 tests)
776
714
  ✓  TS  test/auth/client-credentials-token-provider.test.ts (7 tests)
777
715
  ✓  TS  test/auth/local-token-provider.test.ts (5 tests)
@@ -779,6 +717,6 @@ Breaking changes might not follow SemVer, please pin Vitest's version when using
779
717
   Test Files  6 passed (6)
780
718
   Tests  60 passed (60)
781
719
  Type Errors  no errors
782
-  Start at  00:51:29
783
-  Duration  3.67s (transform 1.14s, setup 0ms, collect 1.66s, tests 61ms, environment 1ms, prepare 500ms, typecheck 3.23s)
720
+  Start at  21:13:56
721
+  Duration  7.40s (transform 2.32s, setup 0ms, collect 3.45s, tests 95ms, environment 1ms, prepare 952ms, typecheck 6.69s)
784
722
 
@@ -44,6 +44,25 @@ var cantonDisclosedContractSchema = z.object({
44
44
  createdEventBlob: z.string(),
45
45
  synchronizerId: z.string()
46
46
  });
47
+ var ledgerRefreshEntrySchema = z.object({
48
+ /** Party whose Active Contract Set to query; resolved at sign time. */
49
+ partyToFilter: z.literal("sender"),
50
+ /** Template id to query. */
51
+ templateId: z.string()
52
+ });
53
+ var cantonRefreshSpecSchema = z.object({
54
+ /** Command-tree placeholders, each replaced with the contract id(s) from a ledger query. */
55
+ commands: z.array(ledgerRefreshEntrySchema.extend({
56
+ /** Sentinel to replace in the command tree. */
57
+ placeholder: z.string(),
58
+ /** When true, the placeholder is replaced with the full array of resolved
59
+ * contract ids (e.g. amulet holdings); otherwise with the single id. */
60
+ multiple: z.boolean().optional()
61
+ })).optional(),
62
+ /** Contracts fetched via a ledger query (run as the sender) and appended to
63
+ * disclosedContracts. */
64
+ disclosedContracts: z.array(ledgerRefreshEntrySchema).optional()
65
+ });
47
66
  var cantonInflightTransactionSchema = z.object({
48
67
  /** The prepared transaction blob */
49
68
  preparedTransaction: z.string(),
@@ -69,10 +88,16 @@ var cantonTransactionSchema = transactionSchema.extend({
69
88
  commands: z.array(cantonCommandSchema),
70
89
  /** Disclosed contracts for contract/key lookups */
71
90
  disclosedContracts: z.array(cantonDisclosedContractSchema),
72
- /** Maps each `actAs` party ID → the senderEntityName that controls its
73
- * signing key. Optional in the schema, but must be populated and cover
74
- * every `actAs` party before the transaction can be signed. */
75
- partyToSenderEntity: z.record(z.string(), z.string()).optional()
91
+ /** Maps each actAs party → the senderEntityName(s) controlling its signing
92
+ * key(s), always as an array. `.optional()` only so deferred-sender create-time
93
+ * payloads parse; by sign time every actAs party must map, or signing throws.
94
+ * Multiple entries = a multisig party (decentralized namespace) whose keys must
95
+ * all sign. */
96
+ partyToSenderEntity: z.record(z.string(), z.array(z.string())).optional(),
97
+ /** Sign-time refresh spec for placeholders the building factory deferred
98
+ * (e.g. amulet input holdings, disclosures, time-sensitive choice context).
99
+ * Resolved by the generic refresh executor before prepareForSigning. */
100
+ refreshSpec: cantonRefreshSpecSchema.optional()
76
101
  })
77
102
  });
78
103
  var cantonAssignedTransactionSchema = assignedTransactionSchema.extend({
@@ -108,6 +133,6 @@ var buildCantonTransaction = /* @__PURE__ */ __name(async (chainName, tx) => {
108
133
  };
109
134
  }, "buildCantonTransaction");
110
135
 
111
- export { buildCantonTransaction, cantonAssignedTransactionSchema, cantonCommandSchema, cantonDisclosedContractSchema, cantonMinedTransactionSchema, cantonSignedTransactionSchema, cantonTransactionSchema };
112
- //# sourceMappingURL=7G32CZXC.js.map
113
- //# sourceMappingURL=7G32CZXC.js.map
136
+ export { buildCantonTransaction, cantonAssignedTransactionSchema, cantonCommandSchema, cantonDisclosedContractSchema, cantonMinedTransactionSchema, cantonRefreshSpecSchema, cantonSignedTransactionSchema, cantonTransactionSchema };
137
+ //# sourceMappingURL=3YCNHEVD.js.map
138
+ //# sourceMappingURL=3YCNHEVD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transaction.ts"],"names":["createCommandSchema","z","object","templateId","string","createArguments","any","exerciseCommandSchema","contractId","choice","choiceArgument","createAndExerciseCommandSchema","exerciseByKeyCommandSchema","contractKey","cantonCommandSchema","union","createCommand","exerciseCommand","createAndExerciseCommand","exerciseByKeyCommand","cantonDisclosedContractSchema","optional","createdEventBlob","synchronizerId","ledgerRefreshEntrySchema","partyToFilter","literal","cantonRefreshSpecSchema","commands","array","extend","placeholder","multiple","boolean","disclosedContracts","cantonInflightTransactionSchema","preparedTransaction","preparedTransactionHash","hashingSchemeVersion","enum","commandId","completionOffset","number","cantonTransactionSchema","transactionSchema","populatedTransaction","actAs","partyToSenderEntity","record","refreshSpec","cantonAssignedTransactionSchema","assignedTransactionSchema","shape","inflightTransaction","cantonSignedTransactionSchema","signedTransactionSchema","signedTransaction","signatures","party","format","signature","signedBy","signingAlgorithmSpec","cantonMinedTransactionSchema","minedTransactionSchema","buildCantonTransaction","chainName","tx","timestamps","created","Date","now"],"mappings":"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","file":"3YCNHEVD.js","sourcesContent":["import { z } from 'zod';\n\nimport {\n assignedTransactionSchema,\n minedTransactionSchema,\n signedTransactionSchema,\n transactionSchema,\n} from '@layerzerolabs/common-chain-model';\nimport type { PartialBy } from '@layerzerolabs/typescript-utils';\n\n// === Component schemas ===\n\n// Payload fields (createArguments, choiceArgument, contractKey) are z.any() —\n// arbitrary Daml values whose shape depends on the template.\n\nconst createCommandSchema = z.object({\n templateId: z.string(),\n createArguments: z.any(),\n});\n\nconst exerciseCommandSchema = z.object({\n templateId: z.string(),\n contractId: z.string(),\n choice: z.string(),\n choiceArgument: z.any(),\n});\n\nconst createAndExerciseCommandSchema = z.object({\n templateId: z.string(),\n createArguments: z.any(),\n choice: z.string(),\n choiceArgument: z.any(),\n});\n\nconst exerciseByKeyCommandSchema = z.object({\n templateId: z.string(),\n contractKey: z.any(),\n choice: z.string(),\n choiceArgument: z.any(),\n});\n\nexport const cantonCommandSchema = z.union([\n z.object({ createCommand: createCommandSchema }),\n z.object({ exerciseCommand: exerciseCommandSchema }),\n z.object({ createAndExerciseCommand: createAndExerciseCommandSchema }),\n z.object({ exerciseByKeyCommand: exerciseByKeyCommandSchema }),\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/** A contract located by an Active Contract Set query, run as a party that can see\n * it (the sender for holdings; a config admin for OFT/RequestFactory/… later). */\nconst ledgerRefreshEntrySchema = z.object({\n /** Party whose Active Contract Set to query; resolved at sign time. */\n partyToFilter: z.literal('sender'),\n /** Template id to query. */\n templateId: z.string(),\n});\n\n/**\n * Declarative description of ledger contracts the building factory deferred to sign\n * time, resolved by a generic ledger-query refresh executor. (The amulet fee context is\n * refreshed automatically when a command carries its placeholder, so it isn't declared\n * here.)\n */\nexport const cantonRefreshSpecSchema = z.object({\n /** Command-tree placeholders, each replaced with the contract id(s) from a ledger query. */\n commands: z\n .array(\n ledgerRefreshEntrySchema.extend({\n /** Sentinel to replace in the command tree. */\n placeholder: z.string(),\n /** When true, the placeholder is replaced with the full array of resolved\n * contract ids (e.g. amulet holdings); otherwise with the single id. */\n multiple: z.boolean().optional(),\n }),\n )\n .optional(),\n /** Contracts fetched via a ledger query (run as the sender) and appended to\n * disclosedContracts. */\n disclosedContracts: z.array(ledgerRefreshEntrySchema).optional(),\n});\n\nexport type CantonRefreshSpec = z.infer<typeof cantonRefreshSpecSchema>;\n\n/** Output of prepareForSigning — needed by submitSigned to execute the transaction. */\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// === Lifecycle schemas ===\n\n/**\n * Canton transaction schema for Daml Ledger API commands.\n *\n * Canton uses an interactive submission (prepare-sign-submit) flow for external party signing.\n * The populatedTransaction contains the commands to send to prepareForSigning.\n */\nexport const cantonTransactionSchema = transactionSchema.extend({\n populatedTransaction: z.object({\n /** Parties submitting the command (actAs) */\n actAs: z.array(z.string()),\n /** Daml commands to send to prepareForSigning */\n commands: z.array(cantonCommandSchema),\n /** Disclosed contracts for contract/key lookups */\n disclosedContracts: z.array(cantonDisclosedContractSchema),\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 /** Sign-time refresh spec for placeholders the building factory deferred\n * (e.g. amulet input holdings, disclosures, time-sensitive choice context).\n * Resolved by the generic refresh executor before prepareForSigning. */\n refreshSpec: cantonRefreshSpecSchema.optional(),\n }),\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 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"]}
@@ -1,4 +1,4 @@
1
- import { cantonTransactionSchema } from './7G32CZXC.js';
1
+ import { cantonTransactionSchema } from './3YCNHEVD.js';
2
2
  import { __name } from './VUOMXK5T.js';
3
3
  import { buildTransactionWithResultSchema } from '@layerzerolabs/common-chain-model';
4
4
 
@@ -33,5 +33,5 @@ var cantonDeploymentSucceeded = /* @__PURE__ */ __name(async (client, txWithResu
33
33
  }, "cantonDeploymentSucceeded");
34
34
 
35
35
  export { cantonDeploymentSucceeded, fetchCreatedEvents, findMatchingCreatedEvent, findMatchingCreatedEventFromTx };
36
- //# sourceMappingURL=7NA23BJ3.js.map
37
- //# sourceMappingURL=7NA23BJ3.js.map
36
+ //# sourceMappingURL=623CCK2L.js.map
37
+ //# sourceMappingURL=623CCK2L.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/events.ts"],"names":["cantonTxWithResultSchema","buildTransactionWithResultSchema","cantonTransactionSchema","fetchCreatedEvents","client","updateId","parties","cantonTx","fetchTransactionByUpdateId","events","filter","event","map","CreatedEvent","findMatchingCreatedEvent","createdEvents","expectedTemplateId","expectedSignatories","expectedSet","Set","find","templateId","signatories","length","every","s","has","findMatchingCreatedEventFromTx","tx","parsed","safeParse","success","data","result","type","commands","actAs","populatedTransaction","minedTxHash","createCommand","cantonDeploymentSucceeded","txWithResult"],"mappings":";;;;AAMA,IAAMA,wBAAAA,GAA2BC,iCAAiCC,uBAAAA,CAAAA;AAK3D,IAAMC,kBAAAA,mBAAqB,MAAA,CAAA,OAC9BC,MAAAA,EACAC,QAAAA,EACAC,OAAAA,KAAAA;AAEA,EAAA,MAAMC,QAAAA,GAAW,MAAMH,MAAAA,CAAOI,0BAAAA,CAA2BH,UAAUC,OAAAA,CAAAA;AACnE,EAAA,OACIC,QAAAA,CAASE,MAAAA,EACHC,MAAAA,CAAO,CAACC,UAAmD,cAAA,IAAkBA,KAAAA,CAAAA,CAC9EC,GAAAA,CAAI,CAACD,KAAAA,KAAUA,KAAAA,CAAME,YAAY,KAAK,EAAA;AAEnD,CAAA,EAXkC,oBAAA;AAiB3B,IAAMC,wBAAAA,mBAA2B,MAAA,CAAA,CACpCC,aAAAA,EACAC,kBAAAA,EACAC,mBAAAA,KAAAA;AAEA,EAAA,MAAMC,WAAAA,GAAc,IAAIC,GAAAA,CAAIF,mBAAAA,CAAAA;AAC5B,EAAA,OAAOF,aAAAA,CAAcK,IAAAA,CAAK,CAACT,KAAAA,KAAAA;AACvB,IAAA,IAAIA,KAAAA,CAAMU,UAAAA,KAAeL,kBAAAA,EAAoB,OAAO,KAAA;AACpD,IAAA,MAAMM,WAAAA,GAAcX,KAAAA,CAAMW,WAAAA,IAAe,EAAA;AACzC,IAAA,OAAOA,WAAAA,CAAYC,MAAAA,GAAS,CAAA,IAAKD,WAAAA,CAAYE,KAAAA,CAAM,CAACC,CAAAA,KAAMP,WAAAA,CAAYQ,GAAAA,CAAID,CAAAA,CAAAA,CAAAA;EAC9E,CAAA,CAAA;AACJ,CAAA,EAXwC,0BAAA;AAkBjC,IAAME,8BAAAA,mBAAiC,MAAA,CAAA,OAC1CvB,MAAAA,EACAwB,EAAAA,KAAAA;AAEA,EAAA,IAAI,CAACA,IAAI,OAAO,IAAA;AAEhB,EAAA,MAAMC,MAAAA,GAAS7B,wBAAAA,CAAyB8B,SAAAA,CAAUF,EAAAA,CAAAA;AAClD,EAAA,IAAI,CAACC,MAAAA,CAAOE,OAAAA,EAAS,OAAO,IAAA;AAC5B,EAAA,IAAIF,MAAAA,CAAOG,IAAAA,CAAKC,MAAAA,CAAOC,IAAAA,KAAS,WAAW,OAAO,IAAA;AAElD,EAAA,MAAM,EAAEC,QAAAA,EAAUC,KAAAA,EAAK,GAAKP,OAAOG,IAAAA,CAAKK,oBAAAA;AACxC,EAAA,MAAMhC,QAAAA,GAAWwB,MAAAA,CAAOG,IAAAA,CAAKC,MAAAA,CAAOK,WAAAA;AAEpC,EAAA,IAAI,CAACjC,QAAAA,IAAY,CAAC+B,KAAAA,CAAMb,QAAQ,OAAO,IAAA;AAEvC,EAAA,MAAMgB,aAAAA,GAAgBJ,SAAS,CAAA,CAAA;AAC/B,EAAA,IAAI,CAACI,aAAAA,IAAiB,EAAE,eAAA,IAAmBA,gBAAgB,OAAO,IAAA;AAElE,EAAA,MAAMxB,aAAAA,GAAgB,MAAMZ,kBAAAA,CAAmBC,MAAAA,EAAQC,UAAU+B,KAAAA,CAAAA;AACjE,EAAA,OACItB,yBAAyBC,aAAAA,EAAewB,aAAAA,CAAcA,aAAAA,CAAclB,UAAAA,EAAYe,KAAAA,CAAAA,IAChF,IAAA;AAER,CAAA,EAvB8C,gCAAA;AA6BvC,IAAMI,yBAAAA,mBAA4B,MAAA,CAAA,OACrCpC,MAAAA,EACAqC,YAAAA,KAAAA;AAEA,EAAA,OAAQ,MAAMd,8BAAAA,CAA+BvB,MAAAA,EAAQqC,YAAAA,CAAAA,IAAkB,IAAA;AAC3E,CAAA,EALyC,2BAAA","file":"7NA23BJ3.js","sourcesContent":["import { buildTransactionWithResultSchema } from '@layerzerolabs/common-chain-model';\n\nimport type { ICantonClient } from './client';\nimport type { CreatedEvent } from './open-api/models';\nimport { cantonTransactionSchema } from './transaction';\n\nconst cantonTxWithResultSchema = buildTransactionWithResultSchema(cantonTransactionSchema);\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 * 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 * 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 if (!tx) return null;\n\n const parsed = cantonTxWithResultSchema.safeParse(tx);\n if (!parsed.success) return null;\n if (parsed.data.result.type !== 'success') return null;\n\n const { commands, actAs } = parsed.data.populatedTransaction;\n const updateId = parsed.data.result.minedTxHash;\n\n if (!updateId || !actAs.length) return null;\n\n const createCommand = commands[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"]}
1
+ {"version":3,"sources":["../src/events.ts"],"names":["cantonTxWithResultSchema","buildTransactionWithResultSchema","cantonTransactionSchema","fetchCreatedEvents","client","updateId","parties","cantonTx","fetchTransactionByUpdateId","events","filter","event","map","CreatedEvent","findMatchingCreatedEvent","createdEvents","expectedTemplateId","expectedSignatories","expectedSet","Set","find","templateId","signatories","length","every","s","has","findMatchingCreatedEventFromTx","tx","parsed","safeParse","success","data","result","type","commands","actAs","populatedTransaction","minedTxHash","createCommand","cantonDeploymentSucceeded","txWithResult"],"mappings":";;;;AAMA,IAAMA,wBAAAA,GAA2BC,iCAAiCC,uBAAAA,CAAAA;AAK3D,IAAMC,kBAAAA,mBAAqB,MAAA,CAAA,OAC9BC,MAAAA,EACAC,QAAAA,EACAC,OAAAA,KAAAA;AAEA,EAAA,MAAMC,QAAAA,GAAW,MAAMH,MAAAA,CAAOI,0BAAAA,CAA2BH,UAAUC,OAAAA,CAAAA;AACnE,EAAA,OACIC,QAAAA,CAASE,MAAAA,EACHC,MAAAA,CAAO,CAACC,UAAmD,cAAA,IAAkBA,KAAAA,CAAAA,CAC9EC,GAAAA,CAAI,CAACD,KAAAA,KAAUA,KAAAA,CAAME,YAAY,KAAK,EAAA;AAEnD,CAAA,EAXkC,oBAAA;AAiB3B,IAAMC,wBAAAA,mBAA2B,MAAA,CAAA,CACpCC,aAAAA,EACAC,kBAAAA,EACAC,mBAAAA,KAAAA;AAEA,EAAA,MAAMC,WAAAA,GAAc,IAAIC,GAAAA,CAAIF,mBAAAA,CAAAA;AAC5B,EAAA,OAAOF,aAAAA,CAAcK,IAAAA,CAAK,CAACT,KAAAA,KAAAA;AACvB,IAAA,IAAIA,KAAAA,CAAMU,UAAAA,KAAeL,kBAAAA,EAAoB,OAAO,KAAA;AACpD,IAAA,MAAMM,WAAAA,GAAcX,KAAAA,CAAMW,WAAAA,IAAe,EAAA;AACzC,IAAA,OAAOA,WAAAA,CAAYC,MAAAA,GAAS,CAAA,IAAKD,WAAAA,CAAYE,KAAAA,CAAM,CAACC,CAAAA,KAAMP,WAAAA,CAAYQ,GAAAA,CAAID,CAAAA,CAAAA,CAAAA;EAC9E,CAAA,CAAA;AACJ,CAAA,EAXwC,0BAAA;AAkBjC,IAAME,8BAAAA,mBAAiC,MAAA,CAAA,OAC1CvB,MAAAA,EACAwB,EAAAA,KAAAA;AAEA,EAAA,IAAI,CAACA,IAAI,OAAO,IAAA;AAEhB,EAAA,MAAMC,MAAAA,GAAS7B,wBAAAA,CAAyB8B,SAAAA,CAAUF,EAAAA,CAAAA;AAClD,EAAA,IAAI,CAACC,MAAAA,CAAOE,OAAAA,EAAS,OAAO,IAAA;AAC5B,EAAA,IAAIF,MAAAA,CAAOG,IAAAA,CAAKC,MAAAA,CAAOC,IAAAA,KAAS,WAAW,OAAO,IAAA;AAElD,EAAA,MAAM,EAAEC,QAAAA,EAAUC,KAAAA,EAAK,GAAKP,OAAOG,IAAAA,CAAKK,oBAAAA;AACxC,EAAA,MAAMhC,QAAAA,GAAWwB,MAAAA,CAAOG,IAAAA,CAAKC,MAAAA,CAAOK,WAAAA;AAEpC,EAAA,IAAI,CAACjC,QAAAA,IAAY,CAAC+B,KAAAA,CAAMb,QAAQ,OAAO,IAAA;AAEvC,EAAA,MAAMgB,aAAAA,GAAgBJ,SAAS,CAAA,CAAA;AAC/B,EAAA,IAAI,CAACI,aAAAA,IAAiB,EAAE,eAAA,IAAmBA,gBAAgB,OAAO,IAAA;AAElE,EAAA,MAAMxB,aAAAA,GAAgB,MAAMZ,kBAAAA,CAAmBC,MAAAA,EAAQC,UAAU+B,KAAAA,CAAAA;AACjE,EAAA,OACItB,yBAAyBC,aAAAA,EAAewB,aAAAA,CAAcA,aAAAA,CAAclB,UAAAA,EAAYe,KAAAA,CAAAA,IAChF,IAAA;AAER,CAAA,EAvB8C,gCAAA;AA6BvC,IAAMI,yBAAAA,mBAA4B,MAAA,CAAA,OACrCpC,MAAAA,EACAqC,YAAAA,KAAAA;AAEA,EAAA,OAAQ,MAAMd,8BAAAA,CAA+BvB,MAAAA,EAAQqC,YAAAA,CAAAA,IAAkB,IAAA;AAC3E,CAAA,EALyC,2BAAA","file":"623CCK2L.js","sourcesContent":["import { buildTransactionWithResultSchema } from '@layerzerolabs/common-chain-model';\n\nimport type { ICantonClient } from './client';\nimport type { CreatedEvent } from './open-api/models';\nimport { cantonTransactionSchema } from './transaction';\n\nconst cantonTxWithResultSchema = buildTransactionWithResultSchema(cantonTransactionSchema);\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 * 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 * 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 if (!tx) return null;\n\n const parsed = cantonTxWithResultSchema.safeParse(tx);\n if (!parsed.success) return null;\n if (parsed.data.result.type !== 'success') return null;\n\n const { commands, actAs } = parsed.data.populatedTransaction;\n const updateId = parsed.data.result.minedTxHash;\n\n if (!updateId || !actAs.length) return null;\n\n const createCommand = commands[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"]}
@@ -13,7 +13,10 @@ function parseCantonUri(uri) {
13
13
  throw new Error('Canton provider URI missing required "admin-api" query parameter');
14
14
  }
15
15
  const userId = url.searchParams.get("user-id") ?? "participant_admin";
16
- const walletUrl = url.searchParams.get("wallet-url") ?? void 0;
16
+ const walletUrl = url.searchParams.get("wallet-url");
17
+ if (!walletUrl) {
18
+ throw new Error('Canton provider URI missing required "wallet-url" query parameter');
19
+ }
17
20
  const tokenUrl = url.searchParams.get("token-url") ?? void 0;
18
21
  const clientId = url.searchParams.get("client-id") ?? void 0;
19
22
  const clientSecret = url.searchParams.get("client-secret") ?? void 0;
@@ -84,5 +87,5 @@ function createTokenProvider(params, isLocal) {
84
87
  __name(createTokenProvider, "createTokenProvider");
85
88
 
86
89
  export { createCantonProvider, parseCantonUri };
87
- //# sourceMappingURL=WQTILDML.js.map
88
- //# sourceMappingURL=WQTILDML.js.map
90
+ //# sourceMappingURL=MDLCDBAQ.js.map
91
+ //# sourceMappingURL=MDLCDBAQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/provider.ts"],"names":["parseCantonUri","uri","url","URL","adminApiHost","searchParams","get","Error","userId","walletUrl","tokenUrl","undefined","clientId","clientSecret","scope","audience","key","delete","jsonApiUrl","toString","replace","oauth2","createCantonProvider","isLocal","params","tokenProvider","createTokenProvider","configuration","Configuration","basePath","accessToken","getToken","client","CantonClient","grpcClient","CantonGrpcClient","host","LocalTokenProvider","actAs","admin","ClientCredentialsTokenProvider"],"mappings":"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","file":"MDLCDBAQ.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 * Composite provider for Canton — bundles both transport layers and shared auth.\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 */\nexport type CantonProvider = {\n client: ICantonClient;\n grpcClient: CantonGrpcClient;\n tokenProvider: TokenProvider;\n /** Validator wallet URL for scan-proxy CIP-56 endpoints. Required — amulet fee\n * payment needs it on every Canton transaction; enforced in {@link parseCantonUri}. */\n walletUrl: string;\n};\n\n// ─────────────────────────────────────────────────────────────────────────────\n// URI Parsing\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type CantonUriParams = {\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\") */\n walletUrl: string;\n /** OAuth2 client credentials config — present only for non-local environments */\n oauth2?: ClientCredentialsTokenProviderConfig;\n};\n\n/**\n * Parse a Canton provider URI into its constituent parts.\n *\n * URI format:\n * `<json-api-base>?admin-api=<host:port>&user-id=<id>[&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 parseCantonUri(uri: string): CantonUriParams {\n const url = new URL(uri);\n\n // `admin-api` is a gRPC `host:port` (no scheme), so it carries no TLS signal.\n // TODO(CANTON): convey TLS for non-localhost (e.g. `&admin-api-tls=1` or `admin-api=grpcs://host:port`).\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\n // Required: amulet fee payment hits the validator wallet scan-proxy on every\n // Canton transaction, so a provider without it can't transact. Fail at parse\n // time rather than guarding each downstream use.\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 '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 { jsonApiUrl, adminApiHost, userId, walletUrl, oauth2 };\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Provider Factory\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type CreateCantonProviderOptions = {\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 CantonProvider} 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 createCantonProvider({\n uri,\n isLocal,\n}: CreateCantonProviderOptions): CantonProvider {\n const params = parseCantonUri(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: CantonUriParams, 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"]}
@@ -29,7 +29,13 @@ var containsCantonAmuletCidsPlaceholder = /* @__PURE__ */ __name((value) => cont
29
29
  var replaceCantonAmuletCidsPlaceholder = /* @__PURE__ */ __name((value, amuletCids) => visit(value, (leaf) => isAmuletCidsPlaceholderArray(leaf) ? {
30
30
  value: amuletCids
31
31
  } : void 0), "replaceCantonAmuletCidsPlaceholder");
32
+ var CANTON_AMULET_CONTEXT_PLACEHOLDER = "<<CANTON_AMULET_CONTEXT_PLACEHOLDER>>";
33
+ var CANTON_AMULET_RULES_CID_PLACEHOLDER = "<<CANTON_AMULET_RULES_CID_PLACEHOLDER>>";
34
+ var containsPlaceholderValue = /* @__PURE__ */ __name((value, placeholder) => containsLeaf(value, (leaf) => leaf === placeholder), "containsPlaceholderValue");
35
+ var replacePlaceholderValue = /* @__PURE__ */ __name((value, placeholder, replacement) => visit(value, (leaf) => leaf === placeholder ? {
36
+ value: replacement
37
+ } : void 0), "replacePlaceholderValue");
32
38
 
33
- export { CANTON_AMULET_CIDS_PLACEHOLDER, CANTON_SENDER_PLACEHOLDER, containsCantonAmuletCidsPlaceholder, containsCantonSenderPlaceholder, isCantonSenderPlaceholder, replaceCantonAmuletCidsPlaceholder, replaceCantonSenderPlaceholders };
34
- //# sourceMappingURL=6VTJWUC7.js.map
35
- //# sourceMappingURL=6VTJWUC7.js.map
39
+ export { CANTON_AMULET_CIDS_PLACEHOLDER, CANTON_AMULET_CONTEXT_PLACEHOLDER, CANTON_AMULET_RULES_CID_PLACEHOLDER, CANTON_SENDER_PLACEHOLDER, containsCantonAmuletCidsPlaceholder, containsCantonSenderPlaceholder, containsPlaceholderValue, isCantonSenderPlaceholder, replaceCantonAmuletCidsPlaceholder, replaceCantonSenderPlaceholders, replacePlaceholderValue };
40
+ //# sourceMappingURL=YVZO3C4U.js.map
41
+ //# sourceMappingURL=YVZO3C4U.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/senderPlaceholder.ts"],"names":["visit","value","replace","result","Array","isArray","map","item","mapValues","containsLeaf","predicate","some","Object","values","CANTON_SENDER_PLACEHOLDER","isCantonSenderPlaceholder","replaceCantonSenderPlaceholders","senderParty","leaf","undefined","containsCantonSenderPlaceholder","CANTON_AMULET_CIDS_PLACEHOLDER","isAmuletCidsPlaceholderArray","length","containsCantonAmuletCidsPlaceholder","replaceCantonAmuletCidsPlaceholder","amuletCids","CANTON_AMULET_CONTEXT_PLACEHOLDER","CANTON_AMULET_RULES_CID_PLACEHOLDER","containsPlaceholderValue","placeholder","replacePlaceholderValue","replacement"],"mappings":"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","file":"YVZO3C4U.js","sourcesContent":["import { mapValues } from 'es-toolkit';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Generic JSON-tree visitors\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Result of a leaf check: either the leaf has been replaced (with `value`),\n * or `undefined` to leave it alone and recurse into its children.\n */\ntype LeafResult = { value: unknown } | undefined;\n\n/** Walk a JSON value and rewrite leaves matched by `replace`; recursion stops at a swapped leaf. */\nconst visit = <T>(value: T, replace: (leaf: unknown) => LeafResult): T => {\n const result = replace(value);\n if (result) return result.value as T;\n if (Array.isArray(value)) {\n return value.map((item) => visit(item, replace)) as T;\n }\n if (value !== null && typeof value === 'object') {\n return mapValues(value as Record<string, unknown>, (item) => visit(item, replace)) as T;\n }\n return value;\n};\n\n/** True if `predicate` matches any leaf or sub-value in the tree. */\nconst containsLeaf = (value: unknown, predicate: (leaf: unknown) => boolean): boolean => {\n if (predicate(value)) return true;\n if (Array.isArray(value)) return value.some((item) => containsLeaf(item, predicate));\n return (\n value !== null &&\n typeof value === 'object' &&\n Object.values(value).some((item) => containsLeaf(item, predicate))\n );\n};\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Sender placeholder\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Sentinel emitted in place of the sender `Party` when the sender is unknown at\n * create time; substituted for the real party at sign time.\n */\nexport const CANTON_SENDER_PLACEHOLDER = '<<CANTON_SENDER_PLACEHOLDER>>';\n\n/**\n * Returns true if `value` is the Canton sender placeholder.\n */\nexport const isCantonSenderPlaceholder = (value: string): boolean =>\n value === CANTON_SENDER_PLACEHOLDER;\n\n/** Replace every {@link CANTON_SENDER_PLACEHOLDER} in a command tree with the actual sender party ID. */\nexport const replaceCantonSenderPlaceholders = <T>(value: T, senderParty: string): T =>\n visit(value, (leaf) =>\n leaf === CANTON_SENDER_PLACEHOLDER ? { value: senderParty } : undefined,\n );\n\n/** Returns true if the command tree contains the sender placeholder anywhere. */\nexport const containsCantonSenderPlaceholder = (value: unknown): boolean =>\n containsLeaf(value, (leaf) => leaf === CANTON_SENDER_PLACEHOLDER);\n\n// ─────────────────────────────────────────────────────────────────────────────\n// AmuletCids placeholder\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Sentinel emitted as the sole element of the `amuletCids` array\n * (`amuletCids: [CANTON_AMULET_CIDS_PLACEHOLDER]`); substituted for the resolved\n * sender's Amulet contract IDs at sign time.\n */\nexport const CANTON_AMULET_CIDS_PLACEHOLDER = '<<CANTON_AMULET_CIDS_PLACEHOLDER>>';\n\nconst isAmuletCidsPlaceholderArray = (value: unknown): value is [string] =>\n Array.isArray(value) && value.length === 1 && value[0] === CANTON_AMULET_CIDS_PLACEHOLDER;\n\n/**\n * Returns true if the command tree contains an amulet-cids placeholder array\n * anywhere — i.e. an array `[CANTON_AMULET_CIDS_PLACEHOLDER]`.\n */\nexport const containsCantonAmuletCidsPlaceholder = (value: unknown): boolean =>\n containsLeaf(value, isAmuletCidsPlaceholderArray);\n\n/**\n * Recursively walks a JSON-serializable value and replaces every\n * `[CANTON_AMULET_CIDS_PLACEHOLDER]` array with the supplied list of resolved\n * Amulet contract IDs.\n */\nexport const replaceCantonAmuletCidsPlaceholder = <T>(value: T, amuletCids: string[]): T =>\n visit(value, (leaf) =>\n isAmuletCidsPlaceholderArray(leaf) ? { value: amuletCids } : undefined,\n );\n\n/** Sentinel for a choice's `extraArgs.context`, replaced with the freshly-fetched\n * amulet choice context at sign time. */\nexport const CANTON_AMULET_CONTEXT_PLACEHOLDER = '<<CANTON_AMULET_CONTEXT_PLACEHOLDER>>';\n\n/** Sentinel for the exercised ExternalPartyAmuletRules contract id, re-pinned to the\n * freshly-fetched amulet fee bundle at sign time. */\nexport const CANTON_AMULET_RULES_CID_PLACEHOLDER = '<<CANTON_AMULET_RULES_CID_PLACEHOLDER>>';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Generic placeholder helpers (sentinel-agnostic)\n//\n// Used by the sign-time refresh executor, which receives the sentinel to match as\n// data (from the transaction's refreshSpec, or a known amulet sentinel) instead of\n// hardcoding it here — keeping these helpers free of any contract knowledge.\n// ─────────────────────────────────────────────────────────────────────────────\n\n/** Returns true if any scalar leaf in the tree equals `placeholder`. */\nexport const containsPlaceholderValue = (value: unknown, placeholder: string): boolean =>\n containsLeaf(value, (leaf) => leaf === placeholder);\n\n/** Replace every scalar sentinel leaf equal to `placeholder` with `replacement`. */\nexport const replacePlaceholderValue = <T>(\n value: T,\n placeholder: string,\n replacement: unknown,\n): T => visit(value, (leaf) => (leaf === placeholder ? { value: replacement } : undefined));\n"]}
package/dist/events.js CHANGED
@@ -1,5 +1,5 @@
1
- export { cantonDeploymentSucceeded, fetchCreatedEvents, findMatchingCreatedEvent, findMatchingCreatedEventFromTx } from './7NA23BJ3.js';
2
- import './7G32CZXC.js';
1
+ export { cantonDeploymentSucceeded, fetchCreatedEvents, findMatchingCreatedEvent, findMatchingCreatedEventFromTx } from './623CCK2L.js';
2
+ import './3YCNHEVD.js';
3
3
  import './VUOMXK5T.js';
4
4
  //# sourceMappingURL=events.js.map
5
5
  //# sourceMappingURL=events.js.map
package/dist/index.js CHANGED
@@ -5,8 +5,8 @@ import './RSV7WS7X.js';
5
5
  import './DYPWWRBK.js';
6
6
  import './IIWYAFUO.js';
7
7
  export { computeCantonFingerprint, extractTransactions } from './QHEXOE3Y.js';
8
- export { cantonDeploymentSucceeded, fetchCreatedEvents, findMatchingCreatedEvent, findMatchingCreatedEventFromTx } from './7NA23BJ3.js';
9
- export { createCantonProvider, parseCantonUri } from './WQTILDML.js';
8
+ export { cantonDeploymentSucceeded, fetchCreatedEvents, findMatchingCreatedEvent, findMatchingCreatedEventFromTx } from './623CCK2L.js';
9
+ export { createCantonProvider, parseCantonUri } from './MDLCDBAQ.js';
10
10
  export { LocalTokenProvider } from './SCEF7TLZ.js';
11
11
  export { CantonClient } from './JV2DWUBW.js';
12
12
  import './EIXIZULE.js';
@@ -295,8 +295,8 @@ import './V6427LHF.js';
295
295
  import './3PWAEVJM.js';
296
296
  export { CantonGrpcClient } from './YHW7AKHX.js';
297
297
  export { CantonError, CantonProtocolError, CantonTransportError } from './A7Z5O57E.js';
298
- export { CANTON_AMULET_CIDS_PLACEHOLDER, CANTON_SENDER_PLACEHOLDER, containsCantonAmuletCidsPlaceholder, containsCantonSenderPlaceholder, isCantonSenderPlaceholder, replaceCantonAmuletCidsPlaceholder, replaceCantonSenderPlaceholders } from './6VTJWUC7.js';
299
- export { buildCantonTransaction, cantonAssignedTransactionSchema, cantonCommandSchema, cantonDisclosedContractSchema, cantonMinedTransactionSchema, cantonSignedTransactionSchema, cantonTransactionSchema } from './7G32CZXC.js';
298
+ export { CANTON_AMULET_CIDS_PLACEHOLDER, CANTON_AMULET_CONTEXT_PLACEHOLDER, CANTON_AMULET_RULES_CID_PLACEHOLDER, CANTON_SENDER_PLACEHOLDER, containsCantonAmuletCidsPlaceholder, containsCantonSenderPlaceholder, containsPlaceholderValue, isCantonSenderPlaceholder, replaceCantonAmuletCidsPlaceholder, replaceCantonSenderPlaceholders, replacePlaceholderValue } from './YVZO3C4U.js';
299
+ export { buildCantonTransaction, cantonAssignedTransactionSchema, cantonCommandSchema, cantonDisclosedContractSchema, cantonMinedTransactionSchema, cantonRefreshSpecSchema, cantonSignedTransactionSchema, cantonTransactionSchema } from './3YCNHEVD.js';
300
300
  export { CommandStatus, buildTemplateId } from './CXNQT7WY.js';
301
301
  export { ClientCredentialsTokenProvider } from './V2H2WXKE.js';
302
302
  import './VUOMXK5T.js';
@@ -13,8 +13,9 @@ export type CantonProvider = {
13
13
  client: ICantonClient;
14
14
  grpcClient: CantonGrpcClient;
15
15
  tokenProvider: TokenProvider;
16
- /** Validator wallet URL for scan-proxy CIP-56 endpoints. */
17
- walletUrl?: string;
16
+ /** Validator wallet URL for scan-proxy CIP-56 endpoints. Required — amulet fee
17
+ * payment needs it on every Canton transaction; enforced in {@link parseCantonUri}. */
18
+ walletUrl: string;
18
19
  };
19
20
  export type CantonUriParams = {
20
21
  /** Base URL of the JSON Ledger API (e.g. "http://localhost:5975") */
@@ -24,7 +25,7 @@ export type CantonUriParams = {
24
25
  /** Ledger API user ID (default: "participant_admin") */
25
26
  userId: string;
26
27
  /** Validator wallet URL for scan-proxy CIP-56 endpoints (e.g. "http://localhost:7201") */
27
- walletUrl?: string;
28
+ walletUrl: string;
28
29
  /** OAuth2 client credentials config — present only for non-local environments */
29
30
  oauth2?: ClientCredentialsTokenProviderConfig;
30
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,oCAAoC,EAC5C,MAAM,0CAA0C,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAMF,MAAM,MAAM,eAAe,GAAG;IAC1B,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,YAAY,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,MAAM,CAAC,EAAE,oCAAoC,CAAC;CACjD,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAuC3D;AAMD,MAAM,MAAM,2BAA2B,GAAG;IACtC,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,EACjC,GAAG,EACH,OAAO,GACV,EAAE,2BAA2B,GAAG,cAAc,CAwB9C"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,oCAAoC,EAC5C,MAAM,0CAA0C,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B;4FACwF;IACxF,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAMF,MAAM,MAAM,eAAe,GAAG;IAC1B,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,YAAY,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,MAAM,CAAC,EAAE,oCAAoC,CAAC;CACjD,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CA8C3D;AAMD,MAAM,MAAM,2BAA2B,GAAG;IACtC,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,EACjC,GAAG,EACH,OAAO,GACV,EAAE,2BAA2B,GAAG,cAAc,CAwB9C"}
package/dist/provider.js CHANGED
@@ -1,4 +1,4 @@
1
- export { createCantonProvider, parseCantonUri } from './WQTILDML.js';
1
+ export { createCantonProvider, parseCantonUri } from './MDLCDBAQ.js';
2
2
  import './SCEF7TLZ.js';
3
3
  import './JV2DWUBW.js';
4
4
  import './EIXIZULE.js';
@@ -28,4 +28,14 @@ export declare const containsCantonAmuletCidsPlaceholder: (value: unknown) => bo
28
28
  * Amulet contract IDs.
29
29
  */
30
30
  export declare const replaceCantonAmuletCidsPlaceholder: <T>(value: T, amuletCids: string[]) => T;
31
+ /** Sentinel for a choice's `extraArgs.context`, replaced with the freshly-fetched
32
+ * amulet choice context at sign time. */
33
+ export declare const CANTON_AMULET_CONTEXT_PLACEHOLDER = "<<CANTON_AMULET_CONTEXT_PLACEHOLDER>>";
34
+ /** Sentinel for the exercised ExternalPartyAmuletRules contract id, re-pinned to the
35
+ * freshly-fetched amulet fee bundle at sign time. */
36
+ export declare const CANTON_AMULET_RULES_CID_PLACEHOLDER = "<<CANTON_AMULET_RULES_CID_PLACEHOLDER>>";
37
+ /** Returns true if any scalar leaf in the tree equals `placeholder`. */
38
+ export declare const containsPlaceholderValue: (value: unknown, placeholder: string) => boolean;
39
+ /** Replace every scalar sentinel leaf equal to `placeholder` with `replacement`. */
40
+ export declare const replacePlaceholderValue: <T>(value: T, placeholder: string, replacement: unknown) => T;
31
41
  //# sourceMappingURL=senderPlaceholder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"senderPlaceholder.d.ts","sourceRoot":"","sources":["../src/senderPlaceholder.ts"],"names":[],"mappings":"AAwCA;;;GAGG;AACH,eAAO,MAAM,yBAAyB,kCAAkC,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,OAAO,MAAM,KAAG,OACnB,CAAC;AAExC,yGAAyG;AACzG,eAAO,MAAM,+BAA+B,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,MAAM,KAAG,CAG9E,CAAC;AAEN,iFAAiF;AACjF,eAAO,MAAM,+BAA+B,GAAI,OAAO,OAAO,KAAG,OACI,CAAC;AAMtE;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,uCAAuC,CAAC;AAKnF;;;GAGG;AACH,eAAO,MAAM,mCAAmC,GAAI,OAAO,OAAO,KAAG,OAChB,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,MAAM,EAAE,KAAG,CAGlF,CAAC"}
1
+ {"version":3,"file":"senderPlaceholder.d.ts","sourceRoot":"","sources":["../src/senderPlaceholder.ts"],"names":[],"mappings":"AAwCA;;;GAGG;AACH,eAAO,MAAM,yBAAyB,kCAAkC,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,OAAO,MAAM,KAAG,OACnB,CAAC;AAExC,yGAAyG;AACzG,eAAO,MAAM,+BAA+B,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,MAAM,KAAG,CAG9E,CAAC;AAEN,iFAAiF;AACjF,eAAO,MAAM,+BAA+B,GAAI,OAAO,OAAO,KAAG,OACI,CAAC;AAMtE;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,uCAAuC,CAAC;AAKnF;;;GAGG;AACH,eAAO,MAAM,mCAAmC,GAAI,OAAO,OAAO,KAAG,OAChB,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,MAAM,EAAE,KAAG,CAGlF,CAAC;AAEN;0CAC0C;AAC1C,eAAO,MAAM,iCAAiC,0CAA0C,CAAC;AAEzF;sDACsD;AACtD,eAAO,MAAM,mCAAmC,4CAA4C,CAAC;AAU7F,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,GAAI,OAAO,OAAO,EAAE,aAAa,MAAM,KAAG,OACxB,CAAC;AAExD,oFAAoF;AACpF,eAAO,MAAM,uBAAuB,GAAI,CAAC,EACrC,OAAO,CAAC,EACR,aAAa,MAAM,EACnB,aAAa,OAAO,KACrB,CAAwF,CAAC"}
@@ -1,4 +1,4 @@
1
- export { CANTON_AMULET_CIDS_PLACEHOLDER, CANTON_SENDER_PLACEHOLDER, containsCantonAmuletCidsPlaceholder, containsCantonSenderPlaceholder, isCantonSenderPlaceholder, replaceCantonAmuletCidsPlaceholder, replaceCantonSenderPlaceholders } from './6VTJWUC7.js';
1
+ export { CANTON_AMULET_CIDS_PLACEHOLDER, CANTON_AMULET_CONTEXT_PLACEHOLDER, CANTON_AMULET_RULES_CID_PLACEHOLDER, CANTON_SENDER_PLACEHOLDER, containsCantonAmuletCidsPlaceholder, containsCantonSenderPlaceholder, containsPlaceholderValue, isCantonSenderPlaceholder, replaceCantonAmuletCidsPlaceholder, replaceCantonSenderPlaceholders, replacePlaceholderValue } from './YVZO3C4U.js';
2
2
  import './VUOMXK5T.js';
3
3
  //# sourceMappingURL=senderPlaceholder.js.map
4
4
  //# sourceMappingURL=senderPlaceholder.js.map
@@ -33,6 +33,25 @@ export declare const cantonDisclosedContractSchema: z.ZodObject<{
33
33
  createdEventBlob: z.ZodString;
34
34
  synchronizerId: z.ZodString;
35
35
  }, z.core.$strip>;
36
+ /**
37
+ * Declarative description of ledger contracts the building factory deferred to sign
38
+ * time, resolved by a generic ledger-query refresh executor. (The amulet fee context is
39
+ * refreshed automatically when a command carries its placeholder, so it isn't declared
40
+ * here.)
41
+ */
42
+ export declare const cantonRefreshSpecSchema: z.ZodObject<{
43
+ commands: z.ZodOptional<z.ZodArray<z.ZodObject<{
44
+ partyToFilter: z.ZodLiteral<"sender">;
45
+ templateId: z.ZodString;
46
+ placeholder: z.ZodString;
47
+ multiple: z.ZodOptional<z.ZodBoolean>;
48
+ }, z.core.$strip>>>;
49
+ disclosedContracts: z.ZodOptional<z.ZodArray<z.ZodObject<{
50
+ partyToFilter: z.ZodLiteral<"sender">;
51
+ templateId: z.ZodString;
52
+ }, z.core.$strip>>>;
53
+ }, z.core.$strip>;
54
+ export type CantonRefreshSpec = z.infer<typeof cantonRefreshSpecSchema>;
36
55
  /**
37
56
  * Canton transaction schema for Daml Ledger API commands.
38
57
  *
@@ -86,7 +105,19 @@ export declare const cantonTransactionSchema: z.ZodObject<{
86
105
  createdEventBlob: z.ZodString;
87
106
  synchronizerId: z.ZodString;
88
107
  }, z.core.$strip>>;
89
- partyToSenderEntity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
108
+ partyToSenderEntity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
109
+ refreshSpec: z.ZodOptional<z.ZodObject<{
110
+ commands: z.ZodOptional<z.ZodArray<z.ZodObject<{
111
+ partyToFilter: z.ZodLiteral<"sender">;
112
+ templateId: z.ZodString;
113
+ placeholder: z.ZodString;
114
+ multiple: z.ZodOptional<z.ZodBoolean>;
115
+ }, z.core.$strip>>>;
116
+ disclosedContracts: z.ZodOptional<z.ZodArray<z.ZodObject<{
117
+ partyToFilter: z.ZodLiteral<"sender">;
118
+ templateId: z.ZodString;
119
+ }, z.core.$strip>>>;
120
+ }, z.core.$strip>>;
90
121
  }, z.core.$strip>;
91
122
  }, z.core.$strip>;
92
123
  /**
@@ -151,7 +182,19 @@ export declare const cantonAssignedTransactionSchema: z.ZodObject<{
151
182
  createdEventBlob: z.ZodString;
152
183
  synchronizerId: z.ZodString;
153
184
  }, z.core.$strip>>;
154
- partyToSenderEntity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
185
+ partyToSenderEntity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
186
+ refreshSpec: z.ZodOptional<z.ZodObject<{
187
+ commands: z.ZodOptional<z.ZodArray<z.ZodObject<{
188
+ partyToFilter: z.ZodLiteral<"sender">;
189
+ templateId: z.ZodString;
190
+ placeholder: z.ZodString;
191
+ multiple: z.ZodOptional<z.ZodBoolean>;
192
+ }, z.core.$strip>>>;
193
+ disclosedContracts: z.ZodOptional<z.ZodArray<z.ZodObject<{
194
+ partyToFilter: z.ZodLiteral<"sender">;
195
+ templateId: z.ZodString;
196
+ }, z.core.$strip>>>;
197
+ }, z.core.$strip>>;
155
198
  }, z.core.$strip>;
156
199
  }, z.core.$strip>;
157
200
  /**
@@ -227,7 +270,19 @@ export declare const cantonSignedTransactionSchema: z.ZodObject<{
227
270
  createdEventBlob: z.ZodString;
228
271
  synchronizerId: z.ZodString;
229
272
  }, z.core.$strip>>;
230
- partyToSenderEntity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
273
+ partyToSenderEntity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
274
+ refreshSpec: z.ZodOptional<z.ZodObject<{
275
+ commands: z.ZodOptional<z.ZodArray<z.ZodObject<{
276
+ partyToFilter: z.ZodLiteral<"sender">;
277
+ templateId: z.ZodString;
278
+ placeholder: z.ZodString;
279
+ multiple: z.ZodOptional<z.ZodBoolean>;
280
+ }, z.core.$strip>>>;
281
+ disclosedContracts: z.ZodOptional<z.ZodArray<z.ZodObject<{
282
+ partyToFilter: z.ZodLiteral<"sender">;
283
+ templateId: z.ZodString;
284
+ }, z.core.$strip>>>;
285
+ }, z.core.$strip>>;
231
286
  }, z.core.$strip>;
232
287
  }, z.core.$strip>;
233
288
  /**
@@ -313,7 +368,19 @@ export declare const cantonMinedTransactionSchema: z.ZodObject<{
313
368
  createdEventBlob: z.ZodString;
314
369
  synchronizerId: z.ZodString;
315
370
  }, z.core.$strip>>;
316
- partyToSenderEntity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
371
+ partyToSenderEntity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
372
+ refreshSpec: z.ZodOptional<z.ZodObject<{
373
+ commands: z.ZodOptional<z.ZodArray<z.ZodObject<{
374
+ partyToFilter: z.ZodLiteral<"sender">;
375
+ templateId: z.ZodString;
376
+ placeholder: z.ZodString;
377
+ multiple: z.ZodOptional<z.ZodBoolean>;
378
+ }, z.core.$strip>>>;
379
+ disclosedContracts: z.ZodOptional<z.ZodArray<z.ZodObject<{
380
+ partyToFilter: z.ZodLiteral<"sender">;
381
+ templateId: z.ZodString;
382
+ }, z.core.$strip>>>;
383
+ }, z.core.$strip>>;
317
384
  }, z.core.$strip>;
318
385
  }, z.core.$strip>;
319
386
  export type CantonTx = z.infer<typeof cantonTransactionSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { buildCantonTransaction, cantonAssignedTransactionSchema, cantonCommandSchema, cantonDisclosedContractSchema, cantonMinedTransactionSchema, cantonSignedTransactionSchema, cantonTransactionSchema } from './7G32CZXC.js';
1
+ export { buildCantonTransaction, cantonAssignedTransactionSchema, cantonCommandSchema, cantonDisclosedContractSchema, cantonMinedTransactionSchema, cantonRefreshSpecSchema, cantonSignedTransactionSchema, cantonTransactionSchema } from './3YCNHEVD.js';
2
2
  import './VUOMXK5T.js';
3
3
  //# sourceMappingURL=transaction.js.map
4
4
  //# sourceMappingURL=transaction.js.map
package/eslint.config.js CHANGED
@@ -5,6 +5,8 @@ export default [
5
5
  ...baseConfig,
6
6
  {
7
7
  // TODO Cover source code in `scripts` and `tests` directories.
8
- ignores: ['dist', 'node_modules', 'scripts', 'test'],
8
+ // src/open-api is generated by openapi-generator at build time (gitignored); its emitted
9
+ // eslint-disable directives trip --max-warnings 0, so exclude it from linting.
10
+ ignores: ['dist', 'node_modules', 'scripts', 'test', 'src/open-api'],
9
11
  },
10
12
  ];