@layerzerolabs/common-canton 0.2.108 → 0.2.110
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 +619 -624
- package/.turbo/turbo-test.log +20 -18
- package/dist/5PRNJEPB.js +70 -0
- package/dist/5PRNJEPB.js.map +1 -0
- package/dist/{C6X67NTL.js → GXJEEYPP.js} +5 -6
- package/dist/GXJEEYPP.js.map +1 -0
- package/dist/{ZYJRG5VO.js → PSB6BQFH.js} +43 -75
- package/dist/PSB6BQFH.js.map +1 -0
- package/dist/deferredValue.d.ts +46 -0
- package/dist/deferredValue.d.ts.map +1 -0
- package/dist/deferredValue.js +4 -0
- package/dist/deferredValue.js.map +1 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/transaction.d.ts +79 -115
- package/dist/transaction.d.ts.map +1 -1
- package/dist/transaction.js +1 -1
- package/package.json +12 -12
- package/src/deferredValue.ts +81 -0
- package/src/events.ts +5 -4
- package/src/index.ts +1 -1
- package/src/transaction.ts +52 -108
- package/dist/C6X67NTL.js.map +0 -1
- package/dist/RPQSAPB3.js +0 -43
- package/dist/RPQSAPB3.js.map +0 -1
- package/dist/ZYJRG5VO.js.map +0 -1
- package/dist/senderPlaceholder.d.ts +0 -48
- package/dist/senderPlaceholder.d.ts.map +0 -1
- package/dist/senderPlaceholder.js +0 -4
- package/dist/senderPlaceholder.js.map +0 -1
- package/src/senderPlaceholder.ts +0 -130
package/.turbo/turbo-test.log
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
✅ dpm-3.4.8-openapi-generator-7.21.0
|
|
10
10
|
🔧 openapi-generator version: 7.21.0
|
|
11
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:
|
|
12
|
+
(node:155319) [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)
|
|
@@ -23,19 +23,21 @@ openapi-generator-7.21.0-patch-2: Pulling from layerzerolabs/canton-openapi-tool
|
|
|
23
23
|
dfe8d6e6f390: Pulling fs layer
|
|
24
24
|
e41c3f01e557: Pulling fs layer
|
|
25
25
|
fe131d3b296c: Pulling fs layer
|
|
26
|
+
fe131d3b296c: Waiting
|
|
27
|
+
17639c486e57: Waiting
|
|
28
|
+
051d551be118: Waiting
|
|
29
|
+
18a60288e8be: Waiting
|
|
26
30
|
dfe8d6e6f390: Waiting
|
|
27
31
|
e41c3f01e557: Waiting
|
|
28
|
-
fe131d3b296c: Waiting
|
|
29
|
-
18a60288e8be: Verifying Checksum
|
|
30
|
-
18a60288e8be: Download complete
|
|
31
|
-
dfe8d6e6f390: Verifying Checksum
|
|
32
|
-
dfe8d6e6f390: Download complete
|
|
33
|
-
e41c3f01e557: Download complete
|
|
34
|
-
fe131d3b296c: Verifying Checksum
|
|
35
|
-
fe131d3b296c: Download complete
|
|
36
32
|
17639c486e57: Verifying Checksum
|
|
37
33
|
17639c486e57: Download complete
|
|
34
|
+
18a60288e8be: Download complete
|
|
38
35
|
17639c486e57: Pull complete
|
|
36
|
+
e41c3f01e557: Verifying Checksum
|
|
37
|
+
e41c3f01e557: Download complete
|
|
38
|
+
fe131d3b296c: Download complete
|
|
39
|
+
dfe8d6e6f390: Verifying Checksum
|
|
40
|
+
dfe8d6e6f390: Download complete
|
|
39
41
|
051d551be118: Verifying Checksum
|
|
40
42
|
051d551be118: Download complete
|
|
41
43
|
051d551be118: Pull complete
|
|
@@ -44,7 +46,7 @@ dfe8d6e6f390: Pull complete
|
|
|
44
46
|
e41c3f01e557: Pull complete
|
|
45
47
|
fe131d3b296c: Pull complete
|
|
46
48
|
Digest: sha256:9f4b76e7e635939d8107dbe5cf56b881ece20ecb08873f25e5e9d66b2955b5cb
|
|
47
|
-
Status:
|
|
49
|
+
Status: Image is up to date for 438003944538.dkr.ecr.us-east-1.amazonaws.com/layerzerolabs/canton-openapi-tooling:openapi-generator-7.21.0-patch-2
|
|
48
50
|
438003944538.dkr.ecr.us-east-1.amazonaws.com/layerzerolabs/canton-openapi-tooling:openapi-generator-7.21.0-patch-2
|
|
49
51
|
✅ Successfully pulled: 438003944538.dkr.ecr.us-east-1.amazonaws.com/layerzerolabs/canton-openapi-tooling:openapi-generator-7.21.0-patch-2
|
|
50
52
|
👤 Running container as UID:GID 1001:1001
|
|
@@ -728,22 +730,22 @@ $ docker run --rm --add-host=host.docker.internal:host-gateway -e LOCAL_UID=1001
|
|
|
728
730
|
# We appreciate your support! Please consider donation to help us maintain this project. #
|
|
729
731
|
# https://opencollective.com/openapi_generator/donate #
|
|
730
732
|
############################################################################################
|
|
731
|
-
⏳ 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:
|
|
733
|
+
⏳ 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: 4.145s
|
|
732
734
|
[33mTesting types with tsc and vue-tsc is an experimental feature.
|
|
733
735
|
Breaking changes might not follow SemVer, please pin Vitest's version when using it.[39m
|
|
734
736
|
|
|
735
|
-
[1m[46m RUN [49m[22m [36mv3.2.
|
|
737
|
+
[1m[46m RUN [49m[22m [36mv3.2.6 [39m[90m/home/runner/work/monorepo-internal/monorepo-internal/packages/vms/canton/common[39m
|
|
736
738
|
|
|
737
|
-
[32m✓[39m test/auth/client-credentials-token-provider.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m
|
|
738
|
-
[32m✓[39m test/provider.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m
|
|
739
|
-
[32m✓[39m test/
|
|
739
|
+
[32m✓[39m test/auth/client-credentials-token-provider.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 20[2mms[22m[39m
|
|
740
|
+
[32m✓[39m test/auth/local-token-provider.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 16[2mms[22m[39m
|
|
741
|
+
[32m✓[39m test/provider.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 66[2mms[22m[39m
|
|
740
742
|
[90mstderr[2m | test/sdk.test.ts[2m > [22m[2mError Handling (Unhappy Paths)[2m > [22m[2mshould handle double archive error
|
|
741
743
|
[22m[39mMock miss: GET /v2/state/connected-synchronizers
|
|
742
744
|
|
|
743
745
|
[90mstderr[2m | test/sdk.test.ts[2m > [22m[2mError Handling (Unhappy Paths)[2m > [22m[2mshould handle unauthorized party error
|
|
744
746
|
[22m[39mMock miss: GET /v2/state/connected-synchronizers
|
|
745
747
|
|
|
746
|
-
[32m✓[39m test/sdk.test.ts [2m([22m[2m18 tests[22m[2m)[22m[32m
|
|
748
|
+
[32m✓[39m test/sdk.test.ts [2m([22m[2m18 tests[22m[2m)[22m[32m 46[2mms[22m[39m
|
|
747
749
|
[32m✓[39m [44m[1m TS [22m[49m test/sdk.test.ts [2m([22m[2m18 tests[22m[2m)[22m
|
|
748
750
|
[32m✓[39m [44m[1m TS [22m[49m test/auth/client-credentials-token-provider.test.ts [2m([22m[2m7 tests[22m[2m)[22m
|
|
749
751
|
[32m✓[39m [44m[1m TS [22m[49m test/auth/local-token-provider.test.ts [2m([22m[2m5 tests[22m[2m)[22m
|
|
@@ -752,6 +754,6 @@ Breaking changes might not follow SemVer, please pin Vitest's version when using
|
|
|
752
754
|
[2m Test Files [22m [1m[32m8 passed[39m[22m[90m (8)[39m
|
|
753
755
|
[2m Tests [22m [1m[32m70 passed[39m[22m[90m (70)[39m
|
|
754
756
|
[2mType Errors [22m [2mno errors[22m
|
|
755
|
-
[2m Start at [22m 20:
|
|
756
|
-
[2m Duration [22m
|
|
757
|
+
[2m Start at [22m 20:14:29
|
|
758
|
+
[2m Duration [22m 6.33s[2m (transform 1.98s, setup 0ms, collect 3.29s, tests 148ms, environment 1ms, prepare 1.10s, typecheck 5.75s)[22m
|
|
757
759
|
|
package/dist/5PRNJEPB.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { __name } from './VUOMXK5T.js';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
|
|
4
|
+
var cantonRefreshPartyFilterSchema = z.union([
|
|
5
|
+
z.literal("sender"),
|
|
6
|
+
z.object({
|
|
7
|
+
party: z.string()
|
|
8
|
+
})
|
|
9
|
+
]);
|
|
10
|
+
var cantonDeferredValueSchema = z.discriminatedUnion("type", [
|
|
11
|
+
z.object({
|
|
12
|
+
type: z.literal("senderParty")
|
|
13
|
+
}),
|
|
14
|
+
z.object({
|
|
15
|
+
type: z.literal("activeContractId"),
|
|
16
|
+
partyToFilter: cantonRefreshPartyFilterSchema,
|
|
17
|
+
templateId: z.string(),
|
|
18
|
+
contractStateFilter: z.partialRecord(z.string(), z.any()).optional(),
|
|
19
|
+
disclose: z.boolean().optional()
|
|
20
|
+
}),
|
|
21
|
+
z.object({
|
|
22
|
+
type: z.literal("activeContractIds"),
|
|
23
|
+
partyToFilter: cantonRefreshPartyFilterSchema,
|
|
24
|
+
templateId: z.string(),
|
|
25
|
+
contractStateFilter: z.partialRecord(z.string(), z.any()).optional(),
|
|
26
|
+
disclose: z.boolean().optional()
|
|
27
|
+
}),
|
|
28
|
+
z.object({
|
|
29
|
+
type: z.literal("amuletRulesCid")
|
|
30
|
+
}),
|
|
31
|
+
z.object({
|
|
32
|
+
type: z.literal("amuletContext")
|
|
33
|
+
})
|
|
34
|
+
]);
|
|
35
|
+
var CANTON_DEFERRED_VALUE_PREFIX = "<<CANTON_DEFERRED:";
|
|
36
|
+
var CANTON_DEFERRED_VALUE_SUFFIX = ">>";
|
|
37
|
+
var encodeCantonDeferredValue = /* @__PURE__ */ __name((value) => `${CANTON_DEFERRED_VALUE_PREFIX}${JSON.stringify(value)}${CANTON_DEFERRED_VALUE_SUFFIX}`, "encodeCantonDeferredValue");
|
|
38
|
+
var parseCantonDeferredValue = /* @__PURE__ */ __name((value) => {
|
|
39
|
+
if (typeof value !== "string" || !value.startsWith(CANTON_DEFERRED_VALUE_PREFIX) || !value.endsWith(CANTON_DEFERRED_VALUE_SUFFIX)) {
|
|
40
|
+
return void 0;
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
const parsedJson = JSON.parse(value.slice(CANTON_DEFERRED_VALUE_PREFIX.length, -CANTON_DEFERRED_VALUE_SUFFIX.length));
|
|
44
|
+
return cantonDeferredValueSchema.parse(parsedJson);
|
|
45
|
+
} catch {
|
|
46
|
+
return void 0;
|
|
47
|
+
}
|
|
48
|
+
}, "parseCantonDeferredValue");
|
|
49
|
+
var cantonSenderPartyRef = /* @__PURE__ */ __name(() => encodeCantonDeferredValue({
|
|
50
|
+
type: "senderParty"
|
|
51
|
+
}), "cantonSenderPartyRef");
|
|
52
|
+
var cantonActiveContractIdRef = /* @__PURE__ */ __name((value) => encodeCantonDeferredValue({
|
|
53
|
+
type: "activeContractId",
|
|
54
|
+
...value
|
|
55
|
+
}), "cantonActiveContractIdRef");
|
|
56
|
+
var cantonActiveContractIdsRef = /* @__PURE__ */ __name((value) => encodeCantonDeferredValue({
|
|
57
|
+
type: "activeContractIds",
|
|
58
|
+
...value
|
|
59
|
+
}), "cantonActiveContractIdsRef");
|
|
60
|
+
var cantonAmuletRulesCidRef = /* @__PURE__ */ __name(() => encodeCantonDeferredValue({
|
|
61
|
+
type: "amuletRulesCid"
|
|
62
|
+
}), "cantonAmuletRulesCidRef");
|
|
63
|
+
var cantonAmuletContextRef = /* @__PURE__ */ __name(() => encodeCantonDeferredValue({
|
|
64
|
+
type: "amuletContext"
|
|
65
|
+
}), "cantonAmuletContextRef");
|
|
66
|
+
var isCantonPlaceholder = /* @__PURE__ */ __name((value) => parseCantonDeferredValue(value) !== void 0, "isCantonPlaceholder");
|
|
67
|
+
|
|
68
|
+
export { cantonActiveContractIdRef, cantonActiveContractIdsRef, cantonAmuletContextRef, cantonAmuletRulesCidRef, cantonDeferredValueSchema, cantonRefreshPartyFilterSchema, cantonSenderPartyRef, encodeCantonDeferredValue, isCantonPlaceholder, parseCantonDeferredValue };
|
|
69
|
+
//# sourceMappingURL=5PRNJEPB.js.map
|
|
70
|
+
//# sourceMappingURL=5PRNJEPB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/deferredValue.ts"],"names":["cantonRefreshPartyFilterSchema","z","union","literal","object","party","string","cantonDeferredValueSchema","discriminatedUnion","type","partyToFilter","templateId","contractStateFilter","partialRecord","any","optional","disclose","boolean","CANTON_DEFERRED_VALUE_PREFIX","CANTON_DEFERRED_VALUE_SUFFIX","encodeCantonDeferredValue","value","JSON","stringify","parseCantonDeferredValue","startsWith","endsWith","undefined","parsedJson","parse","slice","length","cantonSenderPartyRef","cantonActiveContractIdRef","cantonActiveContractIdsRef","cantonAmuletRulesCidRef","cantonAmuletContextRef","isCantonPlaceholder"],"mappings":"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","file":"5PRNJEPB.js","sourcesContent":["import { z } from 'zod';\n\nexport const cantonRefreshPartyFilterSchema = z.union([\n z.literal('sender'),\n z.object({ party: z.string() }),\n]);\n\nexport const cantonDeferredValueSchema = z.discriminatedUnion('type', [\n z.object({ type: z.literal('senderParty') }),\n z.object({\n type: z.literal('activeContractId'),\n partyToFilter: cantonRefreshPartyFilterSchema,\n templateId: z.string(),\n contractStateFilter: z.partialRecord(z.string(), z.any()).optional(),\n disclose: z.boolean().optional(),\n }),\n z.object({\n type: z.literal('activeContractIds'),\n partyToFilter: cantonRefreshPartyFilterSchema,\n templateId: z.string(),\n contractStateFilter: z.partialRecord(z.string(), z.any()).optional(),\n disclose: z.boolean().optional(),\n }),\n z.object({ type: z.literal('amuletRulesCid') }),\n z.object({ type: z.literal('amuletContext') }),\n]);\n\nexport type CantonRefreshPartyFilter = z.infer<typeof cantonRefreshPartyFilterSchema>;\nexport type CantonDeferredValue = z.infer<typeof cantonDeferredValueSchema>;\ntype CantonActiveContractIdRef = Omit<\n Extract<CantonDeferredValue, { type: 'activeContractId' }>,\n 'type'\n>;\ntype CantonActiveContractIdsRef = Omit<\n Extract<CantonDeferredValue, { type: 'activeContractIds' }>,\n 'type'\n>;\n\nconst CANTON_DEFERRED_VALUE_PREFIX = '<<CANTON_DEFERRED:';\nconst CANTON_DEFERRED_VALUE_SUFFIX = '>>';\n\nexport const encodeCantonDeferredValue = (value: CantonDeferredValue): string =>\n `${CANTON_DEFERRED_VALUE_PREFIX}${JSON.stringify(value)}${CANTON_DEFERRED_VALUE_SUFFIX}`;\n\nexport const parseCantonDeferredValue = (value: unknown): CantonDeferredValue | undefined => {\n if (\n typeof value !== 'string' ||\n !value.startsWith(CANTON_DEFERRED_VALUE_PREFIX) ||\n !value.endsWith(CANTON_DEFERRED_VALUE_SUFFIX)\n ) {\n return undefined;\n }\n\n try {\n const parsedJson = JSON.parse(\n value.slice(CANTON_DEFERRED_VALUE_PREFIX.length, -CANTON_DEFERRED_VALUE_SUFFIX.length),\n );\n return cantonDeferredValueSchema.parse(parsedJson);\n } catch {\n return undefined;\n }\n};\n\nexport const cantonSenderPartyRef = (): string =>\n encodeCantonDeferredValue({ type: 'senderParty' });\n\nexport const cantonActiveContractIdRef = (value: CantonActiveContractIdRef): string =>\n encodeCantonDeferredValue({ type: 'activeContractId', ...value });\n\nexport const cantonActiveContractIdsRef = (value: CantonActiveContractIdsRef): string =>\n encodeCantonDeferredValue({ type: 'activeContractIds', ...value });\n\nexport const cantonAmuletRulesCidRef = (): string =>\n encodeCantonDeferredValue({ type: 'amuletRulesCid' });\n\nexport const cantonAmuletContextRef = (): string =>\n encodeCantonDeferredValue({ type: 'amuletContext' });\n\n/** Returns true if `value` is a Canton deferred-value sentinel. */\nexport const isCantonPlaceholder = (value: string): boolean =>\n parseCantonDeferredValue(value) !== undefined;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cantonTransactionSchema } from './
|
|
1
|
+
import { cantonTransactionSchema } from './PSB6BQFH.js';
|
|
2
2
|
import { __name } from './VUOMXK5T.js';
|
|
3
3
|
import { buildTransactionWithResultSchema } from '@layerzerolabs/common-chain-model';
|
|
4
4
|
import { NonRetryableError } from '@layerzerolabs/common-error-utils';
|
|
@@ -22,14 +22,13 @@ var findMatchingCreatedEvent = /* @__PURE__ */ __name((createdEvents, expectedTe
|
|
|
22
22
|
});
|
|
23
23
|
}, "findMatchingCreatedEvent");
|
|
24
24
|
var findMatchingCreatedEventFromTx = /* @__PURE__ */ __name(async (client, tx) => {
|
|
25
|
-
if (!tx) return null;
|
|
26
25
|
const parsed = cantonTxWithResultSchema.safeParse(tx);
|
|
27
26
|
if (!parsed.success) return null;
|
|
28
27
|
if (parsed.data.result.type !== "success") return null;
|
|
29
|
-
const {
|
|
28
|
+
const { populatedTransaction: { actAs, unresolvedCommands } } = parsed.data;
|
|
30
29
|
const updateId = parsed.data.result.minedTxHash;
|
|
31
30
|
if (!updateId || !actAs.length) return null;
|
|
32
|
-
const createCommand =
|
|
31
|
+
const createCommand = unresolvedCommands[0];
|
|
33
32
|
if (!createCommand || !("createCommand" in createCommand)) return null;
|
|
34
33
|
const createdEvents = await fetchCreatedEvents(client, updateId, actAs);
|
|
35
34
|
return findMatchingCreatedEvent(createdEvents, createCommand.createCommand.templateId, actAs) ?? null;
|
|
@@ -101,5 +100,5 @@ var getConsumingChoice = /* @__PURE__ */ __name((transaction, contractId) => {
|
|
|
101
100
|
}, "getConsumingChoice");
|
|
102
101
|
|
|
103
102
|
export { cantonDeploymentSucceeded, cantonRegisterSucceeded, fetchCreatedEvents, findMatchingCreatedEvent, findMatchingCreatedEventFromTx, getExercisedChoiceArgument, waitForArchival, waitForRequestArchival };
|
|
104
|
-
//# sourceMappingURL=
|
|
105
|
-
//# sourceMappingURL=
|
|
103
|
+
//# sourceMappingURL=GXJEEYPP.js.map
|
|
104
|
+
//# sourceMappingURL=GXJEEYPP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/events.ts"],"names":["cantonTxWithResultSchema","buildTransactionWithResultSchema","cantonTransactionSchema","REQUEST_ARCHIVAL_POLL_INTERVAL_MS","REQUEST_ARCHIVAL_MAX_ATTEMPTS","IREQUEST_ACCEPT_CHOICE","IREQUEST_REJECT_CHOICE","REQUEST_TEMPLATE_QUALIFIED_NAME","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","populatedTransaction","actAs","unresolvedCommands","minedTxHash","createCommand","cantonDeploymentSucceeded","txWithResult","cantonRegisterSucceeded","listUserParties","requestEvent","includes","waitForRequestArchival","contractId","waitForArchival","attempt","archived","fetchEventsByContractId","fetchTransactionByOffset","offset","Promise","resolve","setTimeout","NonRetryableError","getExercisedChoiceArgument","transaction","choice","ExercisedEvent","exercised","choiceArgument","undefined","requestContractId","accept","reject","reason","rejectContext","JSON","stringify","slice","consuming","getConsumingChoice"],"mappings":"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","file":"GXJEEYPP.js","sourcesContent":["import { buildTransactionWithResultSchema } from '@layerzerolabs/common-chain-model';\nimport { NonRetryableError } from '@layerzerolabs/common-error-utils';\n\nimport type { CantonTransaction, ICantonClient } from './client';\nimport type { CreatedEvent } from './open-api/models';\nimport { cantonTransactionSchema } from './transaction';\n\nconst cantonTxWithResultSchema = buildTransactionWithResultSchema(cantonTransactionSchema);\n\n// TODO(canton): confirm these poll values are enough to wait for archival across environments.\nconst REQUEST_ARCHIVAL_POLL_INTERVAL_MS = 2000;\nconst REQUEST_ARCHIVAL_MAX_ATTEMPTS = 60;\n\n// IRequest interface choices that consume the Request contract via `archive reqCid` in their impls.\nconst IREQUEST_ACCEPT_CHOICE = 'IRequest_Accept';\nconst IREQUEST_REJECT_CHOICE = 'IRequest_Reject';\n\nconst REQUEST_TEMPLATE_QUALIFIED_NAME = 'Request:Request';\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 const parsed = cantonTxWithResultSchema.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 * Success check for register-style deploys (an exercise on Uln302 that creates a\n * Request, which the validator then accepts or rejects in a later transaction).\n *\n * Positively confirms acceptance: locate the Request created by this submission,\n * then delegate to waitForRequestArchival, which waits for the Request to be\n * archived and verifies the IRequest_Accept choice ran (throwing on reject,\n * unexpected archival, or timeout). This is a positive accept check rather than\n * inferring success from the absence of a rejection event.\n */\nexport const cantonRegisterSucceeded = async (\n client: ICantonClient,\n txWithResult: unknown,\n): Promise<boolean> => {\n const parsed = cantonTxWithResultSchema.safeParse(txWithResult);\n if (!parsed.success || parsed.data.result.type !== 'success') return false;\n\n const updateId = parsed.data.result.minedTxHash;\n if (!updateId) return false;\n\n // Deferred-sender register payloads build with empty actAs (the sender is\n // resolved at sign time), so fall back to the parties this user can read as.\n const { actAs } = parsed.data.populatedTransaction;\n const parties = actAs.length ? actAs : await client.listUserParties();\n if (!parties.length) return false;\n\n const createdEvents = await fetchCreatedEvents(client, updateId, parties);\n const requestEvent = createdEvents.find((event) =>\n event.templateId?.includes(REQUEST_TEMPLATE_QUALIFIED_NAME),\n );\n if (!requestEvent) return false;\n\n try {\n await waitForRequestArchival(client, requestEvent.contractId, parties);\n return true;\n } catch {\n return false;\n }\n};\n\n/**\n * Poll until `contractId` is archived, then return the transaction tree that\n * archived it. Generic: knows nothing about which choice did the archiving.\n * Throws NonRetryableError on timeout.\n */\nexport const waitForArchival = async (\n client: ICantonClient,\n contractId: string,\n parties: string[],\n): Promise<CantonTransaction> => {\n for (let attempt = 1; attempt <= REQUEST_ARCHIVAL_MAX_ATTEMPTS; attempt++) {\n const { archived } = await client.fetchEventsByContractId(contractId, parties);\n if (archived) {\n return client.fetchTransactionByOffset(archived.offset, parties);\n }\n // Skip the sleep on the final attempt — there's no next iteration to wait for.\n if (attempt < REQUEST_ARCHIVAL_MAX_ATTEMPTS) {\n await new Promise((resolve) => setTimeout(resolve, REQUEST_ARCHIVAL_POLL_INTERVAL_MS));\n }\n }\n throw new NonRetryableError(\n `Archival timeout (${REQUEST_ARCHIVAL_MAX_ATTEMPTS} attempts) for ${contractId}`,\n );\n};\n\n/**\n * Return the argument of the first exercise of `choice` on `contractId` in a\n * transaction tree, typed as the caller expects. Generic over choice and arg\n * type; returns undefined when no such exercise is present.\n */\nexport const getExercisedChoiceArgument = <TArg = unknown>(\n transaction: CantonTransaction,\n contractId: string,\n choice: string,\n): TArg | undefined => {\n for (const event of transaction.events ?? []) {\n if (!('ExercisedEvent' in event)) continue;\n const { ExercisedEvent: exercised } = event;\n if (exercised.contractId === contractId && exercised.choice === choice) {\n return exercised.choiceArgument as TArg;\n }\n }\n return undefined;\n};\n\n/**\n * Wait for a Request to be archived and confirm it was accepted, returning the\n * IRequest_Accept choice argument typed as `TAccept` (callers pass the codegen\n * `IRequest_Accept` type to get `acceptContext` typed).\n *\n * IRequest_Accept and IRequest_Reject both end with `archive reqCid` in their\n * Daml impls, so the archive alone can't distinguish them — the choice is read\n * off the archive transaction tree. Throws NonRetryableError on rejection, on\n * archival via any other choice (unexpected), or on timeout.\n */\nexport const waitForRequestArchival = async <TAccept = unknown>(\n client: ICantonClient,\n requestContractId: string,\n parties: string[],\n): Promise<TAccept> => {\n const transaction = await waitForArchival(client, requestContractId, parties);\n\n const accept = getExercisedChoiceArgument<TAccept>(\n transaction,\n requestContractId,\n IREQUEST_ACCEPT_CHOICE,\n );\n if (accept !== undefined) return accept;\n\n const reject = getExercisedChoiceArgument<{ rejectContext?: unknown }>(\n transaction,\n requestContractId,\n IREQUEST_REJECT_CHOICE,\n );\n if (reject !== undefined) {\n const reason = reject.rejectContext\n ? JSON.stringify(reject.rejectContext).slice(0, 500)\n : 'unknown';\n throw new NonRetryableError(`Request rejected — rejectContext: ${reason}`);\n }\n\n const consuming = getConsumingChoice(transaction, requestContractId);\n throw new NonRetryableError(\n `Request ${requestContractId} archived via unexpected choice ${consuming ?? '<none>'}`,\n );\n};\n\n/** Name of the consuming exercise on `contractId` in a transaction tree, if any. */\nconst getConsumingChoice = (\n transaction: CantonTransaction,\n contractId: string,\n): string | undefined => {\n for (const event of transaction.events ?? []) {\n if (!('ExercisedEvent' in event)) continue;\n const { ExercisedEvent: exercised } = event;\n if (exercised.contractId === contractId && exercised.consuming) {\n return exercised.choice;\n }\n }\n return undefined;\n};\n"]}
|
|
@@ -2,40 +2,36 @@ import { __name } from './VUOMXK5T.js';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { transactionSchema, assignedTransactionSchema, signedTransactionSchema, minedTransactionSchema } from '@layerzerolabs/common-chain-model';
|
|
4
4
|
|
|
5
|
-
var createCommandSchema = z.object({
|
|
6
|
-
templateId: z.string(),
|
|
7
|
-
createArguments: z.any()
|
|
8
|
-
});
|
|
9
|
-
var exerciseCommandSchema = z.object({
|
|
10
|
-
templateId: z.string(),
|
|
11
|
-
contractId: z.string(),
|
|
12
|
-
choice: z.string(),
|
|
13
|
-
choiceArgument: z.any()
|
|
14
|
-
});
|
|
15
|
-
var createAndExerciseCommandSchema = z.object({
|
|
16
|
-
templateId: z.string(),
|
|
17
|
-
createArguments: z.any(),
|
|
18
|
-
choice: z.string(),
|
|
19
|
-
choiceArgument: z.any()
|
|
20
|
-
});
|
|
21
|
-
var exerciseByKeyCommandSchema = z.object({
|
|
22
|
-
templateId: z.string(),
|
|
23
|
-
contractKey: z.any(),
|
|
24
|
-
choice: z.string(),
|
|
25
|
-
choiceArgument: z.any()
|
|
26
|
-
});
|
|
27
5
|
var cantonCommandSchema = z.union([
|
|
28
6
|
z.object({
|
|
29
|
-
createCommand:
|
|
7
|
+
createCommand: z.object({
|
|
8
|
+
templateId: z.string(),
|
|
9
|
+
createArguments: z.any()
|
|
10
|
+
})
|
|
30
11
|
}),
|
|
31
12
|
z.object({
|
|
32
|
-
exerciseCommand:
|
|
13
|
+
exerciseCommand: z.object({
|
|
14
|
+
templateId: z.string(),
|
|
15
|
+
contractId: z.string(),
|
|
16
|
+
choice: z.string(),
|
|
17
|
+
choiceArgument: z.any()
|
|
18
|
+
})
|
|
33
19
|
}),
|
|
34
20
|
z.object({
|
|
35
|
-
createAndExerciseCommand:
|
|
21
|
+
createAndExerciseCommand: z.object({
|
|
22
|
+
templateId: z.string(),
|
|
23
|
+
createArguments: z.any(),
|
|
24
|
+
choice: z.string(),
|
|
25
|
+
choiceArgument: z.any()
|
|
26
|
+
})
|
|
36
27
|
}),
|
|
37
28
|
z.object({
|
|
38
|
-
exerciseByKeyCommand:
|
|
29
|
+
exerciseByKeyCommand: z.object({
|
|
30
|
+
templateId: z.string(),
|
|
31
|
+
contractKey: z.any(),
|
|
32
|
+
choice: z.string(),
|
|
33
|
+
choiceArgument: z.any()
|
|
34
|
+
})
|
|
39
35
|
})
|
|
40
36
|
]);
|
|
41
37
|
var cantonDisclosedContractSchema = z.object({
|
|
@@ -44,30 +40,19 @@ var cantonDisclosedContractSchema = z.object({
|
|
|
44
40
|
createdEventBlob: z.string(),
|
|
45
41
|
synchronizerId: z.string()
|
|
46
42
|
});
|
|
47
|
-
var
|
|
48
|
-
z.
|
|
49
|
-
|
|
50
|
-
|
|
43
|
+
var cantonTransactionSchema = transactionSchema.extend({
|
|
44
|
+
populatedTransaction: z.object({
|
|
45
|
+
unresolvedCommands: z.array(cantonCommandSchema),
|
|
46
|
+
unresolvedDisclosedContracts: z.array(cantonDisclosedContractSchema),
|
|
47
|
+
/** Parties submitting the command (actAs) */
|
|
48
|
+
actAs: z.array(z.string()),
|
|
49
|
+
/** Maps each actAs party → the senderEntityName(s) controlling its signing
|
|
50
|
+
* key(s), always as an array. `.optional()` only so deferred-sender create-time
|
|
51
|
+
* payloads parse; by sign time every actAs party must map, or signing throws.
|
|
52
|
+
* Multiple entries = a multisig party (decentralized namespace) whose keys must
|
|
53
|
+
* all sign. */
|
|
54
|
+
partyToSenderEntity: z.record(z.string(), z.array(z.string())).optional()
|
|
51
55
|
})
|
|
52
|
-
]);
|
|
53
|
-
var ledgerRefreshEntrySchema = z.object({
|
|
54
|
-
/** Party whose Active Contract Set to query. `'sender'` is resolved at sign time. */
|
|
55
|
-
partyToFilter: refreshPartyFilterSchema,
|
|
56
|
-
/** Template id to query. */
|
|
57
|
-
templateId: z.string()
|
|
58
|
-
});
|
|
59
|
-
var cantonRefreshSpecSchema = z.object({
|
|
60
|
-
/** Command-tree placeholders, each replaced with the contract id(s) from a ledger query. */
|
|
61
|
-
commands: z.array(ledgerRefreshEntrySchema.extend({
|
|
62
|
-
/** Sentinel to replace in the command tree. */
|
|
63
|
-
placeholder: z.string(),
|
|
64
|
-
/** When true, the placeholder is replaced with the full array of resolved
|
|
65
|
-
* contract ids (e.g. amulet holdings); otherwise with the single id. */
|
|
66
|
-
multiple: z.boolean().optional()
|
|
67
|
-
})).optional(),
|
|
68
|
-
/** Contracts fetched via a ledger query (run as each entry's `partyToFilter`)
|
|
69
|
-
* and appended to disclosedContracts. */
|
|
70
|
-
disclosedContracts: z.array(ledgerRefreshEntrySchema).optional()
|
|
71
56
|
});
|
|
72
57
|
var cantonInflightTransactionSchema = z.object({
|
|
73
58
|
/** The prepared transaction blob */
|
|
@@ -81,37 +66,20 @@ var cantonInflightTransactionSchema = z.object({
|
|
|
81
66
|
]),
|
|
82
67
|
/** Command ID for tracking */
|
|
83
68
|
commandId: z.string(),
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
69
|
+
// Ledger offset at which the submission landed — used as `beginExclusive`
|
|
70
|
+
// for waitForCommand to avoid polling from the start of the ledger.
|
|
71
|
+
// Optional: only present after send(); absent for old/retry scenarios.
|
|
87
72
|
completionOffset: z.number().optional()
|
|
88
73
|
});
|
|
89
|
-
var cantonTransactionSchema = transactionSchema.extend({
|
|
90
|
-
populatedTransaction: z.object({
|
|
91
|
-
/** Parties submitting the command (actAs) */
|
|
92
|
-
actAs: z.array(z.string()),
|
|
93
|
-
/** Daml commands to send to prepareForSigning */
|
|
94
|
-
commands: z.array(cantonCommandSchema),
|
|
95
|
-
/** Disclosed contracts for contract/key lookups */
|
|
96
|
-
disclosedContracts: z.array(cantonDisclosedContractSchema),
|
|
97
|
-
/** Maps each actAs party → the senderEntityName(s) controlling its signing
|
|
98
|
-
* key(s), always as an array. `.optional()` only so deferred-sender create-time
|
|
99
|
-
* payloads parse; by sign time every actAs party must map, or signing throws.
|
|
100
|
-
* Multiple entries = a multisig party (decentralized namespace) whose keys must
|
|
101
|
-
* all sign. */
|
|
102
|
-
partyToSenderEntity: z.record(z.string(), z.array(z.string())).optional(),
|
|
103
|
-
/** Sign-time refresh spec for placeholders the building factory deferred
|
|
104
|
-
* (e.g. amulet input holdings, disclosures, time-sensitive choice context).
|
|
105
|
-
* Resolved by the generic refresh executor before prepareForSigning. */
|
|
106
|
-
refreshSpec: cantonRefreshSpecSchema.optional()
|
|
107
|
-
})
|
|
108
|
-
});
|
|
109
74
|
var cantonAssignedTransactionSchema = assignedTransactionSchema.extend({
|
|
110
75
|
...cantonTransactionSchema.shape,
|
|
111
76
|
inflightTransaction: cantonInflightTransactionSchema.optional()
|
|
112
77
|
});
|
|
113
78
|
var cantonSignedTransactionSchema = signedTransactionSchema.extend({
|
|
114
79
|
...cantonAssignedTransactionSchema.shape,
|
|
80
|
+
// Resolved commands and contracts
|
|
81
|
+
commands: z.array(cantonCommandSchema),
|
|
82
|
+
disclosedContracts: z.array(cantonDisclosedContractSchema),
|
|
115
83
|
signedTransaction: z.object({
|
|
116
84
|
/** Per-party signatures in the format expected by Canton's submitSigned */
|
|
117
85
|
signatures: z.array(z.object({
|
|
@@ -139,6 +107,6 @@ var buildCantonTransaction = /* @__PURE__ */ __name(async (chainName, tx) => {
|
|
|
139
107
|
};
|
|
140
108
|
}, "buildCantonTransaction");
|
|
141
109
|
|
|
142
|
-
export { buildCantonTransaction, cantonAssignedTransactionSchema, cantonCommandSchema, cantonDisclosedContractSchema, cantonMinedTransactionSchema,
|
|
143
|
-
//# sourceMappingURL=
|
|
144
|
-
//# sourceMappingURL=
|
|
110
|
+
export { buildCantonTransaction, cantonAssignedTransactionSchema, cantonCommandSchema, cantonDisclosedContractSchema, cantonMinedTransactionSchema, cantonSignedTransactionSchema, cantonTransactionSchema };
|
|
111
|
+
//# sourceMappingURL=PSB6BQFH.js.map
|
|
112
|
+
//# sourceMappingURL=PSB6BQFH.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","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":"PSB6BQFH.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\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\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"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const cantonRefreshPartyFilterSchema: z.ZodUnion<readonly [z.ZodLiteral<"sender">, z.ZodObject<{
|
|
3
|
+
party: z.ZodString;
|
|
4
|
+
}, z.core.$strip>]>;
|
|
5
|
+
export declare const cantonDeferredValueSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
6
|
+
type: z.ZodLiteral<"senderParty">;
|
|
7
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
8
|
+
type: z.ZodLiteral<"activeContractId">;
|
|
9
|
+
partyToFilter: z.ZodUnion<readonly [z.ZodLiteral<"sender">, z.ZodObject<{
|
|
10
|
+
party: z.ZodString;
|
|
11
|
+
}, z.core.$strip>]>;
|
|
12
|
+
templateId: z.ZodString;
|
|
13
|
+
contractStateFilter: z.ZodOptional<z.ZodRecord<z.ZodString & z.core.$partial, z.ZodAny>>;
|
|
14
|
+
disclose: z.ZodOptional<z.ZodBoolean>;
|
|
15
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
16
|
+
type: z.ZodLiteral<"activeContractIds">;
|
|
17
|
+
partyToFilter: z.ZodUnion<readonly [z.ZodLiteral<"sender">, z.ZodObject<{
|
|
18
|
+
party: z.ZodString;
|
|
19
|
+
}, z.core.$strip>]>;
|
|
20
|
+
templateId: z.ZodString;
|
|
21
|
+
contractStateFilter: z.ZodOptional<z.ZodRecord<z.ZodString & z.core.$partial, z.ZodAny>>;
|
|
22
|
+
disclose: z.ZodOptional<z.ZodBoolean>;
|
|
23
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
24
|
+
type: z.ZodLiteral<"amuletRulesCid">;
|
|
25
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
26
|
+
type: z.ZodLiteral<"amuletContext">;
|
|
27
|
+
}, z.core.$strip>], "type">;
|
|
28
|
+
export type CantonRefreshPartyFilter = z.infer<typeof cantonRefreshPartyFilterSchema>;
|
|
29
|
+
export type CantonDeferredValue = z.infer<typeof cantonDeferredValueSchema>;
|
|
30
|
+
type CantonActiveContractIdRef = Omit<Extract<CantonDeferredValue, {
|
|
31
|
+
type: 'activeContractId';
|
|
32
|
+
}>, 'type'>;
|
|
33
|
+
type CantonActiveContractIdsRef = Omit<Extract<CantonDeferredValue, {
|
|
34
|
+
type: 'activeContractIds';
|
|
35
|
+
}>, 'type'>;
|
|
36
|
+
export declare const encodeCantonDeferredValue: (value: CantonDeferredValue) => string;
|
|
37
|
+
export declare const parseCantonDeferredValue: (value: unknown) => CantonDeferredValue | undefined;
|
|
38
|
+
export declare const cantonSenderPartyRef: () => string;
|
|
39
|
+
export declare const cantonActiveContractIdRef: (value: CantonActiveContractIdRef) => string;
|
|
40
|
+
export declare const cantonActiveContractIdsRef: (value: CantonActiveContractIdsRef) => string;
|
|
41
|
+
export declare const cantonAmuletRulesCidRef: () => string;
|
|
42
|
+
export declare const cantonAmuletContextRef: () => string;
|
|
43
|
+
/** Returns true if `value` is a Canton deferred-value sentinel. */
|
|
44
|
+
export declare const isCantonPlaceholder: (value: string) => boolean;
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=deferredValue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deferredValue.d.ts","sourceRoot":"","sources":["../src/deferredValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,8BAA8B;;mBAGzC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;2BAkBpC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,KAAK,yBAAyB,GAAG,IAAI,CACjC,OAAO,CAAC,mBAAmB,EAAE;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,CAAC,EAC1D,MAAM,CACT,CAAC;AACF,KAAK,0BAA0B,GAAG,IAAI,CAClC,OAAO,CAAC,mBAAmB,EAAE;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,CAAC,EAC3D,MAAM,CACT,CAAC;AAKF,eAAO,MAAM,yBAAyB,GAAI,OAAO,mBAAmB,KAAG,MACqB,CAAC;AAE7F,eAAO,MAAM,wBAAwB,GAAI,OAAO,OAAO,KAAG,mBAAmB,GAAG,SAiB/E,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAO,MACc,CAAC;AAEvD,eAAO,MAAM,yBAAyB,GAAI,OAAO,yBAAyB,KAAG,MACR,CAAC;AAEtE,eAAO,MAAM,0BAA0B,GAAI,OAAO,0BAA0B,KAAG,MACT,CAAC;AAEvE,eAAO,MAAM,uBAAuB,QAAO,MACc,CAAC;AAE1D,eAAO,MAAM,sBAAsB,QAAO,MACc,CAAC;AAEzD,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,OACH,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { cantonActiveContractIdRef, cantonActiveContractIdsRef, cantonAmuletContextRef, cantonAmuletRulesCidRef, cantonDeferredValueSchema, cantonRefreshPartyFilterSchema, cantonSenderPartyRef, encodeCantonDeferredValue, isCantonPlaceholder, parseCantonDeferredValue } from './5PRNJEPB.js';
|
|
2
|
+
import './VUOMXK5T.js';
|
|
3
|
+
//# sourceMappingURL=deferredValue.js.map
|
|
4
|
+
//# sourceMappingURL=deferredValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"deferredValue.js"}
|
package/dist/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAetD;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC3B,QAAQ,aAAa,EACrB,UAAU,MAAM,EAChB,SAAS,MAAM,EAAE,KAClB,OAAO,CAAC,YAAY,EAAE,CAOxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GACjC,eAAe,YAAY,EAAE,EAC7B,oBAAoB,MAAM,EAC1B,qBAAqB,MAAM,EAAE,KAC9B,YAAY,GAAG,SAOjB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GACvC,QAAQ,aAAa,EACrB,IAAI,OAAO,KACZ,OAAO,CAAC,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAetD;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC3B,QAAQ,aAAa,EACrB,UAAU,MAAM,EAChB,SAAS,MAAM,EAAE,KAClB,OAAO,CAAC,YAAY,EAAE,CAOxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GACjC,eAAe,YAAY,EAAE,EAC7B,oBAAoB,MAAM,EAC1B,qBAAqB,MAAM,EAAE,KAC9B,YAAY,GAAG,SAOjB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GACvC,QAAQ,aAAa,EACrB,IAAI,OAAO,KACZ,OAAO,CAAC,YAAY,GAAG,IAAI,CAqB7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GAClC,QAAQ,aAAa,EACrB,cAAc,OAAO,KACtB,OAAO,CAAC,OAAO,CAEjB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,GAChC,QAAQ,aAAa,EACrB,cAAc,OAAO,KACtB,OAAO,CAAC,OAAO,CAyBjB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GACxB,QAAQ,aAAa,EACrB,YAAY,MAAM,EAClB,SAAS,MAAM,EAAE,KAClB,OAAO,CAAC,iBAAiB,CAc3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAI,IAAI,GAAG,OAAO,EACrD,aAAa,iBAAiB,EAC9B,YAAY,MAAM,EAClB,QAAQ,MAAM,KACf,IAAI,GAAG,SAST,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,GAAU,OAAO,GAAG,OAAO,EAC1D,QAAQ,aAAa,EACrB,mBAAmB,MAAM,EACzB,SAAS,MAAM,EAAE,KAClB,OAAO,CAAC,OAAO,CA0BjB,CAAC"}
|
package/dist/events.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { cantonDeploymentSucceeded, cantonRegisterSucceeded, fetchCreatedEvents, findMatchingCreatedEvent, findMatchingCreatedEventFromTx, getExercisedChoiceArgument, waitForArchival, waitForRequestArchival } from './
|
|
2
|
-
import './
|
|
1
|
+
export { cantonDeploymentSucceeded, cantonRegisterSucceeded, fetchCreatedEvents, findMatchingCreatedEvent, findMatchingCreatedEventFromTx, getExercisedChoiceArgument, waitForArchival, waitForRequestArchival } from './GXJEEYPP.js';
|
|
2
|
+
import './PSB6BQFH.js';
|
|
3
3
|
import './VUOMXK5T.js';
|
|
4
4
|
//# sourceMappingURL=events.js.map
|
|
5
5
|
//# sourceMappingURL=events.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from './auth';
|
|
2
|
+
export * from './deferredValue';
|
|
2
3
|
export * from './events';
|
|
3
4
|
export * from './provider';
|
|
4
|
-
export * from './senderPlaceholder';
|
|
5
5
|
export * from './transaction';
|
|
6
6
|
export { buildTemplateId, CommandStatus, type Contract, type ExternalSignature, type PreparedTransaction, type SubmitActors, type SubmitResult, type TemplateId, type UserRight, type UserRightKind, type WaitOptions, type WaitResult, } from './types';
|
|
7
7
|
export { CantonError, CantonProtocolError, CantonTransportError } from './errors';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAG9B,OAAO,EACH,eAAe,EACf,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,UAAU,GAClB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGlF,OAAO,EACH,YAAY,EACZ,KAAK,WAAW,EAChB,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,UAAU,GAClB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,SAAS,EAAE,KAAK,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGvE,YAAY,EACR,aAAa,EACb,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,KAAK,EACL,gBAAgB,EAChB,aAAa,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +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 {
|
|
8
|
+
export { cantonActiveContractIdRef, cantonActiveContractIdsRef, cantonAmuletContextRef, cantonAmuletRulesCidRef, cantonDeferredValueSchema, cantonRefreshPartyFilterSchema, cantonSenderPartyRef, encodeCantonDeferredValue, isCantonPlaceholder, parseCantonDeferredValue } from './5PRNJEPB.js';
|
|
9
|
+
export { cantonDeploymentSucceeded, cantonRegisterSucceeded, fetchCreatedEvents, findMatchingCreatedEvent, findMatchingCreatedEventFromTx, getExercisedChoiceArgument, waitForArchival, waitForRequestArchival } from './GXJEEYPP.js';
|
|
9
10
|
export { createCantonProvider, parseCantonUri } from './HNZRSDTR.js';
|
|
10
11
|
export { LocalTokenProvider } from './SCEF7TLZ.js';
|
|
11
12
|
export { CantonClient } from './JV2DWUBW.js';
|
|
@@ -295,8 +296,7 @@ import './V6427LHF.js';
|
|
|
295
296
|
import './3PWAEVJM.js';
|
|
296
297
|
export { CantonGrpcClient } from './YHW7AKHX.js';
|
|
297
298
|
export { CantonError, CantonProtocolError, CantonTransportError } from './A7Z5O57E.js';
|
|
298
|
-
export {
|
|
299
|
-
export { buildCantonTransaction, cantonAssignedTransactionSchema, cantonCommandSchema, cantonDisclosedContractSchema, cantonMinedTransactionSchema, cantonRefreshSpecSchema, cantonSignedTransactionSchema, cantonTransactionSchema, refreshPartyFilterSchema } from './ZYJRG5VO.js';
|
|
299
|
+
export { buildCantonTransaction, cantonAssignedTransactionSchema, cantonCommandSchema, cantonDisclosedContractSchema, cantonMinedTransactionSchema, cantonSignedTransactionSchema, cantonTransactionSchema } from './PSB6BQFH.js';
|
|
300
300
|
export { CommandStatus, buildTemplateId } from './CXNQT7WY.js';
|
|
301
301
|
export { ClientCredentialsTokenProvider } from './V2H2WXKE.js';
|
|
302
302
|
import './VUOMXK5T.js';
|