@layerzerolabs/dw-model 0.2.46 → 0.2.47
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 +103 -103
- package/.turbo/turbo-lint.log +1 -1
- package/dist/{3BD3OCGS.js → 3GB3YEFM.js} +3 -3
- package/dist/{3BD3OCGS.js.map → 3GB3YEFM.js.map} +1 -1
- package/dist/{3CKHMU36.js → 3JL3PUIU.js} +3 -3
- package/dist/{3CKHMU36.js.map → 3JL3PUIU.js.map} +1 -1
- package/dist/{7MOCL6HP.js → 5OKHFG46.js} +4 -4
- package/dist/{7MOCL6HP.js.map → 5OKHFG46.js.map} +1 -1
- package/dist/{7W7RMRK7.cjs → 7DA753OB.cjs} +9 -9
- package/dist/{7W7RMRK7.cjs.map → 7DA753OB.cjs.map} +1 -1
- package/dist/{ECJRGALM.cjs → DE7P6XTU.cjs} +3 -3
- package/dist/{ECJRGALM.cjs.map → DE7P6XTU.cjs.map} +1 -1
- package/dist/{JRNCOEFO.cjs → HH5WI3G5.cjs} +2 -2
- package/dist/{JRNCOEFO.cjs.map → HH5WI3G5.cjs.map} +1 -1
- package/dist/{5HUE42Q5.cjs → IJZQPF4A.cjs} +6 -6
- package/dist/IJZQPF4A.cjs.map +1 -0
- package/dist/{6G3GY5VH.cjs → R4HLXLGU.cjs} +4 -4
- package/dist/{6G3GY5VH.cjs.map → R4HLXLGU.cjs.map} +1 -1
- package/dist/{KOUHMVGI.cjs → T6BMFWCI.cjs} +19 -19
- package/dist/{KOUHMVGI.cjs.map → T6BMFWCI.cjs.map} +1 -1
- package/dist/{RYSOAAMJ.js → XE5ATSYV.js} +8 -8
- package/dist/{RYSOAAMJ.js.map → XE5ATSYV.js.map} +1 -1
- package/dist/{BZJPR5LC.js → YAEJZ74R.js} +2 -2
- package/dist/{BZJPR5LC.js.map → YAEJZ74R.js.map} +1 -1
- package/dist/{MKV6NR6C.js → YQCUJB6A.js} +5 -5
- package/dist/YQCUJB6A.js.map +1 -0
- package/dist/deploy/artifact.cjs +10 -10
- package/dist/deploy/artifact.js +1 -1
- package/dist/deploy/factoryInterfaces.cjs +9 -9
- package/dist/deploy/factoryInterfaces.js +3 -3
- package/dist/deploy/index.cjs +48 -48
- package/dist/deploy/index.js +6 -6
- package/dist/deploy/resourceBuilder.cjs +2 -2
- package/dist/deploy/resourceBuilder.js +1 -1
- package/dist/deploy/resources.cjs +17 -17
- package/dist/deploy/resources.js +2 -2
- package/dist/deploy/workflow.cjs +13 -13
- package/dist/deploy/workflow.js +2 -2
- package/dist/index.cjs +66 -66
- package/dist/index.js +6 -6
- package/dist/upgrade/index.cjs +19 -19
- package/dist/upgrade/index.js +1 -1
- package/dist/upgrade/types.cjs +19 -19
- package/dist/upgrade/types.js +1 -1
- package/package.json +9 -9
- package/src/deploy/artifact.ts +6 -6
- package/src/deploy/factoryInterfaces.ts +6 -6
- package/src/deploy/resourceBuilder.ts +1 -1
- package/src/deploy/resources.ts +6 -6
- package/src/upgrade/types.ts +1 -1
- package/dist/5HUE42Q5.cjs.map +0 -1
- package/dist/MKV6NR6C.js.map +0 -1
|
@@ -10,11 +10,11 @@ import { getVerificationBaseArgsSchema, saveVerificationBaseArgsSchema } from '.
|
|
|
10
10
|
|
|
11
11
|
export const resourceRefSchema = z.object({
|
|
12
12
|
resourceId: z.string(),
|
|
13
|
-
//
|
|
13
|
+
// Some resources can have multiple realIDs, leave this undefined for the default
|
|
14
14
|
resourceSubKey: z.string().optional(),
|
|
15
15
|
});
|
|
16
16
|
|
|
17
|
-
//
|
|
17
|
+
// The real realID that might exist
|
|
18
18
|
export const realIdSchema = z.object({
|
|
19
19
|
realIdKey: z.string(),
|
|
20
20
|
// some realIDs are scoped to a chain, some aren't
|
|
@@ -30,7 +30,7 @@ export const artifactRegistryActivityFactorySchema = z.object({
|
|
|
30
30
|
}),
|
|
31
31
|
]),
|
|
32
32
|
output: z.promise(artifactWithTypeSchema.optional()),
|
|
33
|
-
//
|
|
33
|
+
// Typing to make it generic on artifact type
|
|
34
34
|
}) as z.ZodType<
|
|
35
35
|
<Type extends ArtifactType>(args: {
|
|
36
36
|
artifactType: Type;
|
|
@@ -48,9 +48,9 @@ export const artifactRegistryActivityFactorySchema = z.object({
|
|
|
48
48
|
output: z.promise(z.void()),
|
|
49
49
|
}),
|
|
50
50
|
|
|
51
|
-
//
|
|
52
|
-
// the function pointer expected by the DeployOrchestratorWorkflow
|
|
53
|
-
//
|
|
51
|
+
// These internally are the same as getArtifact/saveArtifact, just specific argument shapes to match
|
|
52
|
+
// the function pointer expected by the `DeployOrchestratorWorkflow`
|
|
53
|
+
// We can refactor `DeployOrchestratorWorkflow` to remove this
|
|
54
54
|
getDeployment: functionSchema({
|
|
55
55
|
input: z.tuple([
|
|
56
56
|
z.object({
|
package/src/deploy/resources.ts
CHANGED
|
@@ -44,7 +44,7 @@ export type BaseMeshResource = z.infer<typeof baseMeshResourceSchema>;
|
|
|
44
44
|
export type BaseContractResource = z.infer<typeof baseContractResourceSchema>;
|
|
45
45
|
export type BaseIntrinsicAddressContractResource = z.infer<ReturnType<typeof withIntrinsicAddress>>;
|
|
46
46
|
|
|
47
|
-
//
|
|
47
|
+
// The actual expected runtime value for this type is #C_REF:${id}
|
|
48
48
|
export type ContractResourceReference<T extends BaseContractResource = BaseContractResource> = {
|
|
49
49
|
/** WARNING: these fields are not present at runtime */
|
|
50
50
|
__resourceReferenceType: T;
|
|
@@ -56,14 +56,14 @@ export const extractIdFromContractResourceReference = (ref: ContractResourceRefe
|
|
|
56
56
|
(ref as unknown as string).slice('#C_REF:'.length)) ||
|
|
57
57
|
throwError(`Ref ${JSON.stringify(ref)} is not a contract resource ref`);
|
|
58
58
|
|
|
59
|
-
//
|
|
59
|
+
// Use z.ZodType<BaseContractResource> because we want to allow unions
|
|
60
60
|
export type ContractResourceReferenceSchema<T extends z.ZodType<BaseContractResource>> = z.ZodType<
|
|
61
61
|
ContractResourceReference<z.infer<T>>
|
|
62
62
|
>;
|
|
63
63
|
|
|
64
64
|
export const contractResourceReferenceSchema: ContractResourceReferenceSchema<
|
|
65
65
|
z.ZodType<BaseContractResource>
|
|
66
|
-
//
|
|
66
|
+
// At runtime, we expect a string
|
|
67
67
|
> = z.string().meta({
|
|
68
68
|
id: 'contract-resource-dependency',
|
|
69
69
|
title: 'Contract dependency to any',
|
|
@@ -77,8 +77,8 @@ export const contractResourceReferenceSchemaFor = <T extends z.ZodType<BaseContr
|
|
|
77
77
|
): ContractResourceReferenceSchema<T> =>
|
|
78
78
|
z.string().meta({
|
|
79
79
|
id: `contract-resource-dependency-for-${++contractResourceDependencyForSchemaZodMetaIdIdx}`,
|
|
80
|
-
//
|
|
81
|
-
//
|
|
80
|
+
// We can't generate this properly yet because this function needs more information
|
|
81
|
+
// Will be fixed when we clean up the runtime dependency ID resolution
|
|
82
82
|
title: 'Contract dependency to (unknown)',
|
|
83
83
|
description: 'A reference to another contract resource (unknown)',
|
|
84
84
|
}) as unknown as z.ZodType<ContractResourceReference<z.infer<T>>>;
|
|
@@ -96,7 +96,7 @@ export const resolvedContractResourceReferenceSchema: ResolvedContractResourceRe
|
|
|
96
96
|
// FIXME could be a real schema
|
|
97
97
|
z.custom<ResolvedContractResourceReference<any>>();
|
|
98
98
|
|
|
99
|
-
//
|
|
99
|
+
// The actual expected runtime value for this type is #M_REF:${id}
|
|
100
100
|
export type MeshResourceReference<T extends BaseMeshResource = BaseMeshResource> = {
|
|
101
101
|
/** WARNING: these fields are not present at runtime */
|
|
102
102
|
__resourceReferenceType: T;
|
package/src/upgrade/types.ts
CHANGED
|
@@ -148,7 +148,7 @@ export const weakAssertUpgradability = <AllowedUpgradeConfigs extends Upgradeabl
|
|
|
148
148
|
|
|
149
149
|
export const assertUpgradability = <AllowedUpgradeConfigs extends UpgradeableConfig[]>(
|
|
150
150
|
allowedUpgradeConfigs: AllowedUpgradeConfigs,
|
|
151
|
-
//
|
|
151
|
+
// Eventually make this nonoptional once callers are upgraded
|
|
152
152
|
upgradeableConfig?: UpgradeableConfig,
|
|
153
153
|
): asserts upgradeableConfig is AllowedUpgradeConfigs[number] => {
|
|
154
154
|
if (!upgradeableConfig) {
|
package/dist/5HUE42Q5.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/deploy/resources.ts"],"names":["baseResourceSchema","z","object","id","string","name","optional","resourceBaseType","baseMeshResourceSchema","shape","literal","baseContractResourceSchema","chainName","enum","ChainName","upgradeConfig","upgradeableConfigSchema","verifyContract","boolean","chainConfig","any","withIntrinsicAddress","__name","resourceSchema","_INTRINSIC_normalizedAddress","normalizedHexSchema","extractIdFromContractResourceReference","ref","startsWith","slice","length","throwError","JSON","stringify","contractResourceReferenceSchema","meta","title","description","contractResourceDependencyForSchemaZodMetaIdIdx","contractResourceReferenceSchemaFor","_resource","resolvedContractResourceReferenceSchema","custom","meshResourceReferenceSchema","meshResourceDependencyForSchemaZodMetaIdIdx","meshResourceReferenceSchemaFor","extractIdFromMeshResourceReference","resolvedMeshResourceReferenceSchema","extractContractResourceReferences","resource","Object","entries","filter","extractMeshResourceReferences","createResolvedResourceSchema"],"mappings":"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","file":"5HUE42Q5.cjs","sourcesContent":["import z from 'zod';\n\nimport { normalizedHexSchema, type NormalizedHexString } from '@layerzerolabs/common-chain-model';\nimport { throwError } from '@layerzerolabs/common-error-utils';\nimport { ChainName } from '@layerzerolabs/layerzero-definitions';\nimport type { IsAny } from '@layerzerolabs/typescript-utils';\n\nimport { upgradeableConfigSchema } from '../upgrade';\n\nexport const baseResourceSchema = z.object({\n id: z.string(), // account-unique ID for this resource\n name: z.string().optional(), // display name for this resource\n resourceBaseType: z.string() as z.ZodString | z.ZodLiteral,\n});\n\nexport const baseMeshResourceSchema = z.object({\n ...baseResourceSchema.shape,\n resourceBaseType: z.literal('MESH'),\n});\n\nexport const baseContractResourceSchema = z.object({\n ...baseResourceSchema.shape,\n resourceBaseType: z.literal('CONTRACT'),\n chainName: z.enum(ChainName),\n upgradeConfig: upgradeableConfigSchema.optional(),\n verifyContract: z.boolean().optional(),\n\n chainConfig: z.any().optional(),\n});\n\nexport const withIntrinsicAddress = <T extends typeof baseContractResourceSchema>(\n resourceSchema: T,\n) =>\n z.object({\n ...resourceSchema.shape,\n _INTRINSIC_normalizedAddress: normalizedHexSchema,\n }) as z.ZodObject<\n T['shape'] & { _INTRINSIC_normalizedAddress: typeof normalizedHexSchema },\n z.core.$strip\n >;\n\nexport type BaseResource = z.infer<typeof baseResourceSchema>;\nexport type BaseMeshResource = z.infer<typeof baseMeshResourceSchema>;\nexport type BaseContractResource = z.infer<typeof baseContractResourceSchema>;\nexport type BaseIntrinsicAddressContractResource = z.infer<ReturnType<typeof withIntrinsicAddress>>;\n\n// the actual expected runtime value for this type is #C_REF:${id}\nexport type ContractResourceReference<T extends BaseContractResource = BaseContractResource> = {\n /** WARNING: these fields are not present at runtime */\n __resourceReferenceType: T;\n ['__CONTRACT_RESOURCE_REFERENCE']: true;\n};\n\nexport const extractIdFromContractResourceReference = (ref: ContractResourceReference) =>\n ((ref as unknown as string).startsWith('#C_REF:') &&\n (ref as unknown as string).slice('#C_REF:'.length)) ||\n throwError(`Ref ${JSON.stringify(ref)} is not a contract resource ref`);\n\n// use z.ZodType<BaseContractResource> because want to allow unions\nexport type ContractResourceReferenceSchema<T extends z.ZodType<BaseContractResource>> = z.ZodType<\n ContractResourceReference<z.infer<T>>\n>;\n\nexport const contractResourceReferenceSchema: ContractResourceReferenceSchema<\n z.ZodType<BaseContractResource>\n // at runtime, we expect a string\n> = z.string().meta({\n id: 'contract-resource-dependency',\n title: 'Contract dependency to any',\n description: 'A reference to another contract resource (any)',\n}) as unknown as z.ZodType<ContractResourceReference>;\n\nlet contractResourceDependencyForSchemaZodMetaIdIdx = 0;\nexport const contractResourceReferenceSchemaFor = <T extends z.ZodType<BaseContractResource>>(\n // FIXME use this to generate a real schema\n _resource: T,\n): ContractResourceReferenceSchema<T> =>\n z.string().meta({\n id: `contract-resource-dependency-for-${++contractResourceDependencyForSchemaZodMetaIdIdx}`,\n // we can't generate this properly yet because this function needs more information\n // will be fixed when we clean up the runtime of dependencies id\n title: 'Contract dependency to (unknown)',\n description: 'A reference to another contract resource (unknown)',\n }) as unknown as z.ZodType<ContractResourceReference<z.infer<T>>>;\n\nexport type ResolvedContractResourceReference<T extends BaseContractResource> = {\n id: string;\n resource: T;\n address: NormalizedHexString;\n};\n\nexport type ResolvedContractResourceReferenceSchema<T extends z.ZodType<BaseContractResource>> =\n z.ZodType<ResolvedContractResourceReference<z.infer<T>>>;\n\nexport const resolvedContractResourceReferenceSchema: ResolvedContractResourceReferenceSchema<any> =\n // FIXME could be a real schema\n z.custom<ResolvedContractResourceReference<any>>();\n\n// the actual expected runtime value for this type is #M_REF:${id}\nexport type MeshResourceReference<T extends BaseMeshResource = BaseMeshResource> = {\n /** WARNING: these fields are not present at runtime */\n __resourceReferenceType: T;\n ['__MESH_RESOURCE_REFERENCE']: true;\n};\n\nexport type MeshResourceReferenceSchema<T extends typeof baseMeshResourceSchema> = z.ZodType<\n MeshResourceReference<z.infer<T>>\n>;\n\nexport const meshResourceReferenceSchema: MeshResourceReferenceSchema<\n typeof baseMeshResourceSchema\n> = z.string().meta({\n id: 'mesh-resource-dependency',\n title: 'Mesh dependency to any',\n description: 'A reference to another mesh resource (any)',\n}) as unknown as z.ZodType<MeshResourceReference>;\n\nlet meshResourceDependencyForSchemaZodMetaIdIdx = 0;\nexport const meshResourceReferenceSchemaFor = <T extends typeof baseMeshResourceSchema>(\n // FIXME use this to generate a real schema\n _resource: T,\n): MeshResourceReferenceSchema<T> =>\n z.string().meta({\n id: `mesh-resource-dependency-for-${++meshResourceDependencyForSchemaZodMetaIdIdx}`,\n title: 'Mesh dependency to (unknown)',\n description: 'A reference to another mesh resource (unknown)',\n }) as unknown as z.ZodType<MeshResourceReference<z.infer<T>>>;\n\nexport type ResolvedMeshResourceReference<T extends BaseMeshResource> = {\n id: string;\n resource: T;\n // TODO: is there any other resolved information we want to inject here?\n};\n\nexport const extractIdFromMeshResourceReference = (ref: MeshResourceReference) =>\n ((ref as unknown as string).startsWith('#M_REF:') &&\n (ref as unknown as string).slice('#M_REF:'.length)) ||\n throwError(`Ref ${JSON.stringify(ref)} is not a mesh resource ref`);\n\nexport type ResolvedMeshResourceReferenceSchema<T extends typeof baseMeshResourceSchema> =\n // FIXME could be a real schema\n z.ZodType<ResolvedMeshResourceReference<z.infer<T>>>;\n\nexport const resolvedMeshResourceReferenceSchema: ResolvedMeshResourceReferenceSchema<any> =\n z.custom<ResolvedMeshResourceReference<any>>();\n\nexport type ResolvedResourceSchema<Resource extends typeof baseResourceSchema> = z.ZodObject<\n {\n [K in Exclude<\n keyof Resource['shape'],\n '_INTRINSIC_normalizedAddress'\n >]: Resource['shape'][K] extends infer R extends z.ZodType\n ? R extends z.ZodAny\n ? R\n : R extends z.ZodOptional<z.ZodAny>\n ? R\n : R extends ContractResourceReferenceSchema<infer I>\n ? ResolvedContractResourceReferenceSchema<I>\n : R extends z.ZodOptional<ContractResourceReferenceSchema<infer I>>\n ? z.ZodOptional<ResolvedContractResourceReferenceSchema<I>>\n : R extends MeshResourceReferenceSchema<infer I>\n ? ResolvedMeshResourceReferenceSchema<I>\n : R extends z.ZodOptional<MeshResourceReferenceSchema<infer I>>\n ? z.ZodOptional<ResolvedMeshResourceReferenceSchema<I>>\n : R\n : never;\n },\n z.core.$strip\n>;\n\nexport type ResolvedResource<Resource extends BaseResource> = {\n [K in Exclude<keyof Resource, '_INTRINSIC_normalizedAddress'>]: Resource[K] extends infer R\n ? R extends undefined\n ? R\n : IsAny<R> extends true\n ? R\n : IsAny<Exclude<R, undefined>> extends true\n ? R\n : R extends ContractResourceReference<infer I>\n ? ResolvedContractResourceReference<I>\n : R extends ContractResourceReference<infer I> | undefined\n ? ResolvedContractResourceReference<I> | undefined\n : R extends MeshResourceReference<infer I>\n ? ResolvedMeshResourceReference<I>\n : R extends MeshResourceReference<infer I> | undefined\n ? ResolvedMeshResourceReference<I> | undefined\n : R\n : never;\n};\n\nexport const extractContractResourceReferences = <Resource extends BaseResource>(\n resource: Resource,\n) =>\n Object.entries(resource).filter(\n ([, id]) => typeof id === 'string' && id.startsWith('#C_REF:'),\n ) as unknown as [prop: string, id: ContractResourceReference][];\n\nexport const extractMeshResourceReferences = <Resource extends BaseResource>(resource: Resource) =>\n Object.entries(resource).filter(\n ([, id]) => typeof id === 'string' && id.startsWith('#M_REF:'),\n ) as unknown as [prop: string, id: MeshResourceReference][];\n\n// FIXME implement runtime\nexport const createResolvedResourceSchema = <Resource extends typeof baseResourceSchema>(\n resource: Resource,\n) => resource as ResolvedResourceSchema<Resource>;\n"]}
|
package/dist/MKV6NR6C.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/deploy/resources.ts"],"names":["baseResourceSchema","z","object","id","string","name","optional","resourceBaseType","baseMeshResourceSchema","shape","literal","baseContractResourceSchema","chainName","enum","ChainName","upgradeConfig","upgradeableConfigSchema","verifyContract","boolean","chainConfig","any","withIntrinsicAddress","resourceSchema","_INTRINSIC_normalizedAddress","normalizedHexSchema","extractIdFromContractResourceReference","ref","startsWith","slice","length","throwError","JSON","stringify","contractResourceReferenceSchema","meta","title","description","contractResourceDependencyForSchemaZodMetaIdIdx","contractResourceReferenceSchemaFor","_resource","resolvedContractResourceReferenceSchema","custom","meshResourceReferenceSchema","meshResourceDependencyForSchemaZodMetaIdIdx","meshResourceReferenceSchemaFor","extractIdFromMeshResourceReference","resolvedMeshResourceReferenceSchema","extractContractResourceReferences","resource","Object","entries","filter","extractMeshResourceReferences","createResolvedResourceSchema"],"mappings":"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","file":"MKV6NR6C.js","sourcesContent":["import z from 'zod';\n\nimport { normalizedHexSchema, type NormalizedHexString } from '@layerzerolabs/common-chain-model';\nimport { throwError } from '@layerzerolabs/common-error-utils';\nimport { ChainName } from '@layerzerolabs/layerzero-definitions';\nimport type { IsAny } from '@layerzerolabs/typescript-utils';\n\nimport { upgradeableConfigSchema } from '../upgrade';\n\nexport const baseResourceSchema = z.object({\n id: z.string(), // account-unique ID for this resource\n name: z.string().optional(), // display name for this resource\n resourceBaseType: z.string() as z.ZodString | z.ZodLiteral,\n});\n\nexport const baseMeshResourceSchema = z.object({\n ...baseResourceSchema.shape,\n resourceBaseType: z.literal('MESH'),\n});\n\nexport const baseContractResourceSchema = z.object({\n ...baseResourceSchema.shape,\n resourceBaseType: z.literal('CONTRACT'),\n chainName: z.enum(ChainName),\n upgradeConfig: upgradeableConfigSchema.optional(),\n verifyContract: z.boolean().optional(),\n\n chainConfig: z.any().optional(),\n});\n\nexport const withIntrinsicAddress = <T extends typeof baseContractResourceSchema>(\n resourceSchema: T,\n) =>\n z.object({\n ...resourceSchema.shape,\n _INTRINSIC_normalizedAddress: normalizedHexSchema,\n }) as z.ZodObject<\n T['shape'] & { _INTRINSIC_normalizedAddress: typeof normalizedHexSchema },\n z.core.$strip\n >;\n\nexport type BaseResource = z.infer<typeof baseResourceSchema>;\nexport type BaseMeshResource = z.infer<typeof baseMeshResourceSchema>;\nexport type BaseContractResource = z.infer<typeof baseContractResourceSchema>;\nexport type BaseIntrinsicAddressContractResource = z.infer<ReturnType<typeof withIntrinsicAddress>>;\n\n// the actual expected runtime value for this type is #C_REF:${id}\nexport type ContractResourceReference<T extends BaseContractResource = BaseContractResource> = {\n /** WARNING: these fields are not present at runtime */\n __resourceReferenceType: T;\n ['__CONTRACT_RESOURCE_REFERENCE']: true;\n};\n\nexport const extractIdFromContractResourceReference = (ref: ContractResourceReference) =>\n ((ref as unknown as string).startsWith('#C_REF:') &&\n (ref as unknown as string).slice('#C_REF:'.length)) ||\n throwError(`Ref ${JSON.stringify(ref)} is not a contract resource ref`);\n\n// use z.ZodType<BaseContractResource> because want to allow unions\nexport type ContractResourceReferenceSchema<T extends z.ZodType<BaseContractResource>> = z.ZodType<\n ContractResourceReference<z.infer<T>>\n>;\n\nexport const contractResourceReferenceSchema: ContractResourceReferenceSchema<\n z.ZodType<BaseContractResource>\n // at runtime, we expect a string\n> = z.string().meta({\n id: 'contract-resource-dependency',\n title: 'Contract dependency to any',\n description: 'A reference to another contract resource (any)',\n}) as unknown as z.ZodType<ContractResourceReference>;\n\nlet contractResourceDependencyForSchemaZodMetaIdIdx = 0;\nexport const contractResourceReferenceSchemaFor = <T extends z.ZodType<BaseContractResource>>(\n // FIXME use this to generate a real schema\n _resource: T,\n): ContractResourceReferenceSchema<T> =>\n z.string().meta({\n id: `contract-resource-dependency-for-${++contractResourceDependencyForSchemaZodMetaIdIdx}`,\n // we can't generate this properly yet because this function needs more information\n // will be fixed when we clean up the runtime of dependencies id\n title: 'Contract dependency to (unknown)',\n description: 'A reference to another contract resource (unknown)',\n }) as unknown as z.ZodType<ContractResourceReference<z.infer<T>>>;\n\nexport type ResolvedContractResourceReference<T extends BaseContractResource> = {\n id: string;\n resource: T;\n address: NormalizedHexString;\n};\n\nexport type ResolvedContractResourceReferenceSchema<T extends z.ZodType<BaseContractResource>> =\n z.ZodType<ResolvedContractResourceReference<z.infer<T>>>;\n\nexport const resolvedContractResourceReferenceSchema: ResolvedContractResourceReferenceSchema<any> =\n // FIXME could be a real schema\n z.custom<ResolvedContractResourceReference<any>>();\n\n// the actual expected runtime value for this type is #M_REF:${id}\nexport type MeshResourceReference<T extends BaseMeshResource = BaseMeshResource> = {\n /** WARNING: these fields are not present at runtime */\n __resourceReferenceType: T;\n ['__MESH_RESOURCE_REFERENCE']: true;\n};\n\nexport type MeshResourceReferenceSchema<T extends typeof baseMeshResourceSchema> = z.ZodType<\n MeshResourceReference<z.infer<T>>\n>;\n\nexport const meshResourceReferenceSchema: MeshResourceReferenceSchema<\n typeof baseMeshResourceSchema\n> = z.string().meta({\n id: 'mesh-resource-dependency',\n title: 'Mesh dependency to any',\n description: 'A reference to another mesh resource (any)',\n}) as unknown as z.ZodType<MeshResourceReference>;\n\nlet meshResourceDependencyForSchemaZodMetaIdIdx = 0;\nexport const meshResourceReferenceSchemaFor = <T extends typeof baseMeshResourceSchema>(\n // FIXME use this to generate a real schema\n _resource: T,\n): MeshResourceReferenceSchema<T> =>\n z.string().meta({\n id: `mesh-resource-dependency-for-${++meshResourceDependencyForSchemaZodMetaIdIdx}`,\n title: 'Mesh dependency to (unknown)',\n description: 'A reference to another mesh resource (unknown)',\n }) as unknown as z.ZodType<MeshResourceReference<z.infer<T>>>;\n\nexport type ResolvedMeshResourceReference<T extends BaseMeshResource> = {\n id: string;\n resource: T;\n // TODO: is there any other resolved information we want to inject here?\n};\n\nexport const extractIdFromMeshResourceReference = (ref: MeshResourceReference) =>\n ((ref as unknown as string).startsWith('#M_REF:') &&\n (ref as unknown as string).slice('#M_REF:'.length)) ||\n throwError(`Ref ${JSON.stringify(ref)} is not a mesh resource ref`);\n\nexport type ResolvedMeshResourceReferenceSchema<T extends typeof baseMeshResourceSchema> =\n // FIXME could be a real schema\n z.ZodType<ResolvedMeshResourceReference<z.infer<T>>>;\n\nexport const resolvedMeshResourceReferenceSchema: ResolvedMeshResourceReferenceSchema<any> =\n z.custom<ResolvedMeshResourceReference<any>>();\n\nexport type ResolvedResourceSchema<Resource extends typeof baseResourceSchema> = z.ZodObject<\n {\n [K in Exclude<\n keyof Resource['shape'],\n '_INTRINSIC_normalizedAddress'\n >]: Resource['shape'][K] extends infer R extends z.ZodType\n ? R extends z.ZodAny\n ? R\n : R extends z.ZodOptional<z.ZodAny>\n ? R\n : R extends ContractResourceReferenceSchema<infer I>\n ? ResolvedContractResourceReferenceSchema<I>\n : R extends z.ZodOptional<ContractResourceReferenceSchema<infer I>>\n ? z.ZodOptional<ResolvedContractResourceReferenceSchema<I>>\n : R extends MeshResourceReferenceSchema<infer I>\n ? ResolvedMeshResourceReferenceSchema<I>\n : R extends z.ZodOptional<MeshResourceReferenceSchema<infer I>>\n ? z.ZodOptional<ResolvedMeshResourceReferenceSchema<I>>\n : R\n : never;\n },\n z.core.$strip\n>;\n\nexport type ResolvedResource<Resource extends BaseResource> = {\n [K in Exclude<keyof Resource, '_INTRINSIC_normalizedAddress'>]: Resource[K] extends infer R\n ? R extends undefined\n ? R\n : IsAny<R> extends true\n ? R\n : IsAny<Exclude<R, undefined>> extends true\n ? R\n : R extends ContractResourceReference<infer I>\n ? ResolvedContractResourceReference<I>\n : R extends ContractResourceReference<infer I> | undefined\n ? ResolvedContractResourceReference<I> | undefined\n : R extends MeshResourceReference<infer I>\n ? ResolvedMeshResourceReference<I>\n : R extends MeshResourceReference<infer I> | undefined\n ? ResolvedMeshResourceReference<I> | undefined\n : R\n : never;\n};\n\nexport const extractContractResourceReferences = <Resource extends BaseResource>(\n resource: Resource,\n) =>\n Object.entries(resource).filter(\n ([, id]) => typeof id === 'string' && id.startsWith('#C_REF:'),\n ) as unknown as [prop: string, id: ContractResourceReference][];\n\nexport const extractMeshResourceReferences = <Resource extends BaseResource>(resource: Resource) =>\n Object.entries(resource).filter(\n ([, id]) => typeof id === 'string' && id.startsWith('#M_REF:'),\n ) as unknown as [prop: string, id: MeshResourceReference][];\n\n// FIXME implement runtime\nexport const createResolvedResourceSchema = <Resource extends typeof baseResourceSchema>(\n resource: Resource,\n) => resource as ResolvedResourceSchema<Resource>;\n"]}
|