@xyo-network/xl1-protocol 1.13.5 → 1.13.7
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/dist/neutral/block/AllowedBlockPayload.d.ts +16 -9
- package/dist/neutral/block/AllowedBlockPayload.d.ts.map +1 -1
- package/dist/neutral/index.mjs +217 -183
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/model/BlockNumber/BlockNumber.d.ts +2 -2
- package/dist/neutral/model/BlockNumber/BlockNumber.d.ts.map +1 -1
- package/dist/neutral/model/BlockNumber/EthBlockNumber.d.ts +2 -2
- package/dist/neutral/model/BlockNumber/EthBlockNumber.d.ts.map +1 -1
- package/dist/neutral/model/BlockNumber/XL1BlockNumber.d.ts +2 -2
- package/dist/neutral/model/BlockNumber/XL1BlockNumber.d.ts.map +1 -1
- package/dist/neutral/model/BlockRange/BlockRange.d.ts +2 -2
- package/dist/neutral/model/BlockRange/BlockRange.d.ts.map +1 -1
- package/dist/neutral/model/BlockRange/EthBlockRange.d.ts +2 -2
- package/dist/neutral/model/BlockRange/EthBlockRange.d.ts.map +1 -1
- package/dist/neutral/model/BlockRange/Range.d.ts +2 -2
- package/dist/neutral/model/BlockRange/Range.d.ts.map +1 -1
- package/dist/neutral/model/BlockRange/XL1BlockRange.d.ts +2 -2
- package/dist/neutral/model/BlockRange/XL1BlockRange.d.ts.map +1 -1
- package/dist/neutral/model/StepIdentity.d.ts +5 -0
- package/dist/neutral/model/StepIdentity.d.ts.map +1 -1
- package/dist/neutral/model/zod/Config.d.ts +6 -0
- package/dist/neutral/model/zod/Config.d.ts.map +1 -0
- package/dist/neutral/model/zod/index.d.ts +1 -0
- package/dist/neutral/model/zod/index.d.ts.map +1 -1
- package/dist/neutral/model/zod/zodAsFactory.d.ts +3 -3
- package/dist/neutral/model/zod/zodAsFactory.d.ts.map +1 -1
- package/dist/neutral/model/zod/zodToFactory.d.ts +2 -2
- package/dist/neutral/model/zod/zodToFactory.d.ts.map +1 -1
- package/dist/neutral/payload/StepIdentityPayload.d.ts +13 -0
- package/dist/neutral/payload/StepIdentityPayload.d.ts.map +1 -0
- package/dist/neutral/payload/index.d.ts +1 -0
- package/dist/neutral/payload/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/block/AllowedBlockPayload.ts +7 -10
- package/src/model/BlockNumber/BlockNumber.ts +2 -2
- package/src/model/BlockNumber/EthBlockNumber.ts +2 -2
- package/src/model/BlockNumber/XL1BlockNumber.ts +2 -2
- package/src/model/BlockRange/BlockRange.ts +2 -2
- package/src/model/BlockRange/EthBlockRange.ts +2 -2
- package/src/model/BlockRange/Range.ts +2 -2
- package/src/model/BlockRange/XL1BlockRange.ts +2 -2
- package/src/model/StepIdentity.ts +6 -0
- package/src/model/zod/Config.ts +7 -0
- package/src/model/zod/index.ts +1 -0
- package/src/model/zod/zodAsFactory.ts +28 -4
- package/src/model/zod/zodToFactory.ts +2 -2
- package/src/payload/StepIdentityPayload.ts +20 -0
- package/src/payload/index.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EthBlockRange.d.ts","sourceRoot":"","sources":["../../../../src/model/BlockRange/EthBlockRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,gBAAgB,CAAA;AACtD,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAQ7D,MAAM,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;AAC5D,MAAM,MAAM,sBAAsB,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;AAErE,eAAO,MAAM,gBAAgB,oJAAkD,CAAA;AAC/E,eAAO,MAAM,yBAAyB,0qBAAoE,CAAA;AAE1G,eAAO,MAAM,eAAe;;;
|
|
1
|
+
{"version":3,"file":"EthBlockRange.d.ts","sourceRoot":"","sources":["../../../../src/model/BlockRange/EthBlockRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,gBAAgB,CAAA;AACtD,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAQ7D,MAAM,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;AAC5D,MAAM,MAAM,sBAAsB,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;AAErE,eAAO,MAAM,gBAAgB,oJAAkD,CAAA;AAC/E,eAAO,MAAM,yBAAyB,0qBAAoE,CAAA;AAE1G,eAAO,MAAM,eAAe;;;CAAiE,CAAA;AAC7F,eAAO,MAAM,eAAe;;;CAA0E,CAAA;AAEtG,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAA;CAAE,CAAC,CAAA;AACnF,eAAO,MAAM,mBAAmB,GAAI,OAAO,aAAa,KAAkC,gBAAgB,CAAA;AAE1G,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa,GAAG,SAAS,CAAA;AACvF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,GAAG,aAAa,CAAA"}
|
|
@@ -4,10 +4,10 @@ export type Range = z.infer<typeof RangeZod>;
|
|
|
4
4
|
export declare const isRange: (value: unknown) => value is [number, number];
|
|
5
5
|
export declare const asRange: {
|
|
6
6
|
(value: unknown): [number, number] | undefined;
|
|
7
|
-
(value: unknown, assert: import("
|
|
7
|
+
(value: unknown, assert: import("../zod/Config.ts").ZodFactoryConfig): [number, number];
|
|
8
8
|
};
|
|
9
9
|
export declare const toRange: {
|
|
10
10
|
(value: unknown): [number, number] | undefined;
|
|
11
|
-
(value: unknown, assert: import("
|
|
11
|
+
(value: unknown, assert: import("../zod/Config.ts").ZodFactoryConfig): [number, number];
|
|
12
12
|
};
|
|
13
13
|
//# sourceMappingURL=Range.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Range.d.ts","sourceRoot":"","sources":["../../../../src/model/BlockRange/Range.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAMnB,eAAO,MAAM,QAAQ,8CAAoC,CAAA;AAEzD,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAA;AAE5C,eAAO,MAAM,OAAO,+CAAgC,CAAA;AACpD,eAAO,MAAM,OAAO;;;
|
|
1
|
+
{"version":3,"file":"Range.d.ts","sourceRoot":"","sources":["../../../../src/model/BlockRange/Range.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAMnB,eAAO,MAAM,QAAQ,8CAAoC,CAAA;AAEzD,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAA;AAE5C,eAAO,MAAM,OAAO,+CAAgC,CAAA;AACpD,eAAO,MAAM,OAAO;;;CAAyC,CAAA;AAC7D,eAAO,MAAM,OAAO;;;CAAyC,CAAA"}
|
|
@@ -8,11 +8,11 @@ export declare const XL1BlockRangeZod: z.ZodTuple<[z.ZodPipe<z.ZodNumber, z.ZodT
|
|
|
8
8
|
export declare const NumberishXL1BlockRangeZod: z.ZodTuple<[z.ZodPipe<z.ZodPipe<z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBigInt]>, z.ZodTransform<number, string | number | bigint>>, z.ZodNumber>, z.ZodTransform<import("../BlockNumber/BlockNumber.ts").BlockNumber, number>>, z.ZodTransform<XL1BlockNumber, import("../BlockNumber/BlockNumber.ts").BlockNumber>>, z.ZodPipe<z.ZodPipe<z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBigInt]>, z.ZodTransform<number, string | number | bigint>>, z.ZodNumber>, z.ZodTransform<import("../BlockNumber/BlockNumber.ts").BlockNumber, number>>, z.ZodTransform<XL1BlockNumber, import("../BlockNumber/BlockNumber.ts").BlockNumber>>], null>;
|
|
9
9
|
export declare const asXL1BlockRange: {
|
|
10
10
|
(value: unknown): XL1BlockRange | undefined;
|
|
11
|
-
(value: unknown, assert:
|
|
11
|
+
(value: unknown, assert: import("../zod/Config.ts").ZodFactoryConfig): XL1BlockRange;
|
|
12
12
|
};
|
|
13
13
|
export declare const toXL1BlockRange: {
|
|
14
14
|
(value: unknown): XL1BlockRange | undefined;
|
|
15
|
-
(value: unknown, assert:
|
|
15
|
+
(value: unknown, assert: import("../zod/Config.ts").ZodFactoryConfig): XL1BlockRange;
|
|
16
16
|
};
|
|
17
17
|
export type XL1BlockRangeKey = Brand<string, {
|
|
18
18
|
readonly __xl1BlockRangeKey: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XL1BlockRange.d.ts","sourceRoot":"","sources":["../../../../src/model/BlockRange/XL1BlockRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,gBAAgB,CAAA;AACtD,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAQ7D,MAAM,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;AAC5D,MAAM,MAAM,sBAAsB,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;AAErE,eAAO,MAAM,gBAAgB,oJAAkD,CAAA;AAC/E,eAAO,MAAM,yBAAyB,0qBAAoE,CAAA;AAE1G,eAAO,MAAM,eAAe;;;
|
|
1
|
+
{"version":3,"file":"XL1BlockRange.d.ts","sourceRoot":"","sources":["../../../../src/model/BlockRange/XL1BlockRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,gBAAgB,CAAA;AACtD,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAQ7D,MAAM,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;AAC5D,MAAM,MAAM,sBAAsB,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;AAErE,eAAO,MAAM,gBAAgB,oJAAkD,CAAA;AAC/E,eAAO,MAAM,yBAAyB,0qBAAoE,CAAA;AAE1G,eAAO,MAAM,eAAe;;;CAAiE,CAAA;AAC7F,eAAO,MAAM,eAAe;;;CAA0E,CAAA;AAEtG,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAA;CAAE,CAAC,CAAA;AACnF,eAAO,MAAM,mBAAmB,GAAI,OAAO,aAAa,KAAkC,gBAAgB,CAAA;AAE1G,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa,GAAG,SAAS,CAAA;AACvF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,GAAG,aAAa,CAAA"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { type Brand } from '@xylabs/typeof';
|
|
2
|
+
import * as z from 'zod';
|
|
2
3
|
import { type XL1BlockNumber } from './BlockNumber/index.ts';
|
|
4
|
+
export declare const StepIdentityZod: z.ZodObject<{
|
|
5
|
+
block: z.ZodNumber;
|
|
6
|
+
step: z.ZodNumber;
|
|
7
|
+
}, z.core.$strip>;
|
|
3
8
|
export interface StepIdentity {
|
|
4
9
|
block: XL1BlockNumber;
|
|
5
10
|
step: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepIdentity.d.ts","sourceRoot":"","sources":["../../../src/model/StepIdentity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"StepIdentity.d.ts","sourceRoot":"","sources":["../../../src/model/StepIdentity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,gBAAgB,CAAA;AACxD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE9E,eAAO,MAAM,eAAe;;;iBAG1B,CAAA;AAEF,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,cAAc,CAAA;IAErB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,2CAA2C;AAC3C,MAAM,WAAW,WAAY,SAAQ,YAAY;CAAG;AAGpD,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAA;CAAE,CAAC,CAAA;AAWvF,eAAO,MAAM,cAAc,GAAI,oBAAoB,MAAM,KAAG,YAAY,GAAG,SAgB1E,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../../src/model/zod/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,sBAAsB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/model/zod/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/model/zod/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { AssertConfig } from '@xylabs/hex';
|
|
2
1
|
import type z from 'zod';
|
|
3
|
-
|
|
2
|
+
import type { ZodFactoryConfig } from './Config.ts';
|
|
3
|
+
export declare function zodAsFactory<T>(zod: z.ZodType<T>, name: string): {
|
|
4
4
|
(value: unknown): T | undefined;
|
|
5
|
-
(value: unknown, assert:
|
|
5
|
+
(value: unknown, assert: ZodFactoryConfig): T;
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=zodAsFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zodAsFactory.d.ts","sourceRoot":"","sources":["../../../../src/model/zod/zodAsFactory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"zodAsFactory.d.ts","sourceRoot":"","sources":["../../../../src/model/zod/zodAsFactory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM;YACtC,OAAO,GAAG,CAAC,GAAG,SAAS;YACvB,OAAO,UAAU,gBAAgB,GAAG,CAAC;EAgC7D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type z from 'zod';
|
|
2
|
-
export declare function zodToFactory<T>(zod: z.ZodType<T
|
|
2
|
+
export declare function zodToFactory<T>(zod: z.ZodType<T>, name: string): {
|
|
3
3
|
(value: unknown): T | undefined;
|
|
4
|
-
(value: unknown, assert: import("
|
|
4
|
+
(value: unknown, assert: import("./Config.ts").ZodFactoryConfig): T;
|
|
5
5
|
};
|
|
6
6
|
//# sourceMappingURL=zodToFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zodToFactory.d.ts","sourceRoot":"","sources":["../../../../src/model/zod/zodToFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAIxB,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;;
|
|
1
|
+
{"version":3,"file":"zodToFactory.d.ts","sourceRoot":"","sources":["../../../../src/model/zod/zodToFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAIxB,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM;;;EAE9D"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Payload } from '@xyo-network/payload-model';
|
|
2
|
+
import type { z } from 'zod';
|
|
3
|
+
import { StepIdentityZod } from '../model/index.ts';
|
|
4
|
+
export declare const StepIdentitySchema: "network.xyo.chain.step.identity";
|
|
5
|
+
export type StepIdentitySchema = typeof StepIdentitySchema;
|
|
6
|
+
export type StepIdentityFields = z.infer<typeof StepIdentityZod>;
|
|
7
|
+
/**
|
|
8
|
+
* A Step Identity Payload
|
|
9
|
+
*/
|
|
10
|
+
export type StepIdentityPayload = Payload<StepIdentityFields, StepIdentitySchema>;
|
|
11
|
+
export declare const isStepIdentityPayload: (x?: unknown | null) => x is StepIdentityPayload;
|
|
12
|
+
export declare const asStepIdentityPayload: import("@xylabs/object").AsTypeFunction<StepIdentityPayload>;
|
|
13
|
+
//# sourceMappingURL=StepIdentityPayload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StepIdentityPayload.d.ts","sourceRoot":"","sources":["../../../src/payload/StepIdentityPayload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,eAAO,MAAM,kBAAkB,EAAG,iCAA0C,CAAA;AAC5E,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEhE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAA;AAEjF,eAAO,MAAM,qBAAqB,kDAA+E,CAAA;AAEjH,eAAO,MAAM,qBAAqB,8DAAgD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/payload/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/payload/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { BoundWitnessSchema } from '@xyo-network/boundwitness-model'
|
|
2
2
|
import type { Schema, WithStorageMeta } from '@xyo-network/payload-model'
|
|
3
|
-
import { isHashMeta
|
|
3
|
+
import { isHashMeta } from '@xyo-network/payload-model'
|
|
4
4
|
import type { SchemaPayload } from '@xyo-network/schema-payload-plugin'
|
|
5
5
|
import { isSchemaPayload, SchemaSchema } from '@xyo-network/schema-payload-plugin'
|
|
6
6
|
import z from 'zod'
|
|
7
7
|
|
|
8
|
+
import { zodIsFactory } from '../model/index.ts'
|
|
8
9
|
import type {
|
|
9
10
|
BridgeDestinationObservation, BridgeIntent, BridgeSourceObservation, ChainStakeIntent, HashPayload, StepComplete, TimePayload, Transfer,
|
|
10
11
|
} from '../payload/index.ts'
|
|
@@ -27,7 +28,7 @@ export type AllowedBlockPayload
|
|
|
27
28
|
| TimePayload
|
|
28
29
|
| TransactionBoundWitness
|
|
29
30
|
|
|
30
|
-
export const AllowedBlockPayloadSchemas
|
|
31
|
+
export const AllowedBlockPayloadSchemas = [
|
|
31
32
|
BoundWitnessSchema,
|
|
32
33
|
BridgeDestinationObservationSchema,
|
|
33
34
|
BridgeIntentSchema,
|
|
@@ -38,13 +39,11 @@ export const AllowedBlockPayloadSchemas: Schema[] = [
|
|
|
38
39
|
StepCompleteSchema,
|
|
39
40
|
TimeSchema,
|
|
40
41
|
TransferSchema,
|
|
41
|
-
]
|
|
42
|
+
] satisfies Schema[]
|
|
42
43
|
|
|
43
|
-
export
|
|
44
|
-
|
|
45
|
-
export const isAllowedBlockPayloadSchema = (
|
|
46
|
-
return isSchema(value) && AllowedBlockPayloadSchemas.includes(value)
|
|
47
|
-
}
|
|
44
|
+
export const AllowedBlockPayloadSchemaZod = z.enum(AllowedBlockPayloadSchemas)
|
|
45
|
+
export type AllowedBlockPayloadSchema = z.infer<typeof AllowedBlockPayloadSchemaZod>
|
|
46
|
+
export const isAllowedBlockPayloadSchema = zodIsFactory<AllowedBlockPayloadSchema>(AllowedBlockPayloadSchemaZod)
|
|
48
47
|
|
|
49
48
|
export const isAllowedBlockPayload = (value: unknown): value is AllowedBlockPayload => {
|
|
50
49
|
return isTransfer(value)
|
|
@@ -61,5 +60,3 @@ export const isAllowedBlockPayload = (value: unknown): value is AllowedBlockPayl
|
|
|
61
60
|
export const isAllowedBlockPayloadWithHashMeta = (value: unknown): value is WithStorageMeta<AllowedBlockPayload> => {
|
|
62
61
|
return isAllowedBlockPayload(value) && isHashMeta(value)
|
|
63
62
|
}
|
|
64
|
-
|
|
65
|
-
export const AllowedBlockPayloadZod = z.object({ schema: z.enum(AllowedBlockPayloadSchemas) })
|
|
@@ -9,7 +9,7 @@ export type BlockNumber = Brand<number, { readonly __blockNumber: true }>
|
|
|
9
9
|
export const BlockNumberZod = z.number().transform(v => v as BlockNumber)
|
|
10
10
|
export const NumberishBlockNumberZod = NumberishZod.transform(v => v as BlockNumber)
|
|
11
11
|
|
|
12
|
-
export const asBlockNumber = zodAsFactory<BlockNumber>(BlockNumberZod)
|
|
13
|
-
export const toBlockNumber = zodToFactory<BlockNumber>(NumberishBlockNumberZod)
|
|
12
|
+
export const asBlockNumber = zodAsFactory<BlockNumber>(BlockNumberZod, 'asBlockNumber')
|
|
13
|
+
export const toBlockNumber = zodToFactory<BlockNumber>(NumberishBlockNumberZod, 'toBlockNumber')
|
|
14
14
|
|
|
15
15
|
export const BLOCK_NUMBER_ZERO = asBlockNumber(0)
|
|
@@ -10,7 +10,7 @@ export type EthBlockNumber = Brand<BlockNumber, { readonly __ethBlockNumber: tru
|
|
|
10
10
|
export const EthBlockNumberZod = z.number().transform(v => v as EthBlockNumber)
|
|
11
11
|
export const NumberishEthBlockNumberZod = NumberishBlockNumberZod.transform(v => v as EthBlockNumber)
|
|
12
12
|
|
|
13
|
-
export const asEthBlockNumber = zodAsFactory<EthBlockNumber>(EthBlockNumberZod)
|
|
14
|
-
export const toEthBlockNumber = zodToFactory<EthBlockNumber>(NumberishEthBlockNumberZod)
|
|
13
|
+
export const asEthBlockNumber = zodAsFactory<EthBlockNumber>(EthBlockNumberZod, 'asEthBlockNumber')
|
|
14
|
+
export const toEthBlockNumber = zodToFactory<EthBlockNumber>(NumberishEthBlockNumberZod, 'toEthBlockNumber')
|
|
15
15
|
|
|
16
16
|
export const ETH_BLOCK_NUMBER_ZERO = asEthBlockNumber(0)
|
|
@@ -10,7 +10,7 @@ export type XL1BlockNumber = Brand<BlockNumber, { readonly __xl1BlockNumber: tru
|
|
|
10
10
|
export const XL1BlockNumberZod = z.number().transform(v => v as XL1BlockNumber)
|
|
11
11
|
export const NumberishXL1BlockNumberZod = NumberishBlockNumberZod.transform(v => v as XL1BlockNumber)
|
|
12
12
|
|
|
13
|
-
export const asXL1BlockNumber = zodAsFactory<XL1BlockNumber>(XL1BlockNumberZod)
|
|
14
|
-
export const toXL1BlockNumber = zodToFactory<XL1BlockNumber>(NumberishXL1BlockNumberZod)
|
|
13
|
+
export const asXL1BlockNumber = zodAsFactory<XL1BlockNumber>(XL1BlockNumberZod, 'asXL1BlockNumber')
|
|
14
|
+
export const toXL1BlockNumber = zodToFactory<XL1BlockNumber>(NumberishXL1BlockNumberZod, 'toXL1BlockNumber')
|
|
15
15
|
|
|
16
16
|
export const XL1_BLOCK_NUMBER_ZERO = asXL1BlockNumber(0)
|
|
@@ -15,8 +15,8 @@ export type NumberishBlockRange = [BlockNumber, BlockNumber]
|
|
|
15
15
|
export const BlockRangeZod = z.tuple([BlockNumberZod, BlockNumberZod])
|
|
16
16
|
export const NumberishBlockRangeZod = z.tuple([NumberishBlockNumberZod, NumberishBlockNumberZod])
|
|
17
17
|
|
|
18
|
-
export const asBlockRange = zodAsFactory<BlockRange>(BlockRangeZod)
|
|
19
|
-
export const toBlockRange = zodToFactory<BlockRange>(NumberishBlockRangeZod)
|
|
18
|
+
export const asBlockRange = zodAsFactory<BlockRange>(BlockRangeZod, 'BlockRange')
|
|
19
|
+
export const toBlockRange = zodToFactory<BlockRange>(NumberishBlockRangeZod, 'BlockRange')
|
|
20
20
|
|
|
21
21
|
export type BlockRangeKey = Brand<string, { readonly __blockRangeKey: true }>
|
|
22
22
|
export const toBlockNumberKey = (range: BlockRange) => `${range[0]}|${range[1]}` as BlockRangeKey
|
|
@@ -17,8 +17,8 @@ export type NumberishEthBlockRange = [EthBlockNumber, EthBlockNumber]
|
|
|
17
17
|
export const EthBlockRangeZod = z.tuple([EthBlockNumberZod, EthBlockNumberZod])
|
|
18
18
|
export const NumberishEthBlockRangeZod = z.tuple([NumberishEthBlockNumberZod, NumberishEthBlockNumberZod])
|
|
19
19
|
|
|
20
|
-
export const asEthBlockRange = zodAsFactory<EthBlockRange>(EthBlockRangeZod)
|
|
21
|
-
export const toEthBlockRange = zodToFactory<EthBlockRange>(NumberishEthBlockRangeZod)
|
|
20
|
+
export const asEthBlockRange = zodAsFactory<EthBlockRange>(EthBlockRangeZod, 'EthBlockRange')
|
|
21
|
+
export const toEthBlockRange = zodToFactory<EthBlockRange>(NumberishEthBlockRangeZod, 'EthBlockRange')
|
|
22
22
|
|
|
23
23
|
export type EthBlockRangeKey = Brand<string, { readonly __ethBlockRangeKey: true }>
|
|
24
24
|
export const toEthBlockNumberKey = (range: EthBlockRange) => `${range[0]}|${range[1]}` as EthBlockRangeKey
|
|
@@ -9,5 +9,5 @@ export const RangeZod = z.tuple([z.number(), z.number()])
|
|
|
9
9
|
export type Range = z.infer<typeof RangeZod>
|
|
10
10
|
|
|
11
11
|
export const isRange = zodIsFactory<Range>(RangeZod)
|
|
12
|
-
export const asRange = zodAsFactory<Range>(RangeZod)
|
|
13
|
-
export const toRange = zodToFactory<Range>(RangeZod)
|
|
12
|
+
export const asRange = zodAsFactory<Range>(RangeZod, 'Range')
|
|
13
|
+
export const toRange = zodToFactory<Range>(RangeZod, 'Range')
|
|
@@ -17,8 +17,8 @@ export type NumberishXL1BlockRange = [XL1BlockNumber, XL1BlockNumber]
|
|
|
17
17
|
export const XL1BlockRangeZod = z.tuple([XL1BlockNumberZod, XL1BlockNumberZod])
|
|
18
18
|
export const NumberishXL1BlockRangeZod = z.tuple([NumberishXL1BlockNumberZod, NumberishXL1BlockNumberZod])
|
|
19
19
|
|
|
20
|
-
export const asXL1BlockRange = zodAsFactory<XL1BlockRange>(XL1BlockRangeZod)
|
|
21
|
-
export const toXL1BlockRange = zodToFactory<XL1BlockRange>(NumberishXL1BlockRangeZod)
|
|
20
|
+
export const asXL1BlockRange = zodAsFactory<XL1BlockRange>(XL1BlockRangeZod, 'XL1BlockRange')
|
|
21
|
+
export const toXL1BlockRange = zodToFactory<XL1BlockRange>(NumberishXL1BlockRangeZod, 'XL1BlockRange')
|
|
22
22
|
|
|
23
23
|
export type XL1BlockRangeKey = Brand<string, { readonly __xl1BlockRangeKey: true }>
|
|
24
24
|
export const toXL1BlockNumberKey = (range: XL1BlockRange) => `${range[0]}|${range[1]}` as XL1BlockRangeKey
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { type Brand, isUndefined } from '@xylabs/typeof'
|
|
2
|
+
import * as z from 'zod'
|
|
2
3
|
|
|
3
4
|
import { toXL1BlockNumber, type XL1BlockNumber } from './BlockNumber/index.ts'
|
|
4
5
|
|
|
6
|
+
export const StepIdentityZod = z.object({
|
|
7
|
+
block: z.number().int().nonnegative(),
|
|
8
|
+
step: z.number().int().nonnegative(),
|
|
9
|
+
})
|
|
10
|
+
|
|
5
11
|
export interface StepIdentity {
|
|
6
12
|
block: XL1BlockNumber
|
|
7
13
|
// the index of the step into the StepSize array
|
package/src/model/zod/index.ts
CHANGED
|
@@ -2,15 +2,39 @@ import type { AssertConfig } from '@xylabs/hex'
|
|
|
2
2
|
import { assertError } from '@xylabs/hex'
|
|
3
3
|
import type z from 'zod'
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
import type { ZodFactoryConfig } from './Config.ts'
|
|
6
|
+
|
|
7
|
+
export function zodAsFactory<T>(zod: z.ZodType<T>, name: string) {
|
|
6
8
|
function asFunc(value: unknown): T | undefined
|
|
7
|
-
function asFunc(value: unknown, assert:
|
|
8
|
-
function asFunc(value: unknown, assert?:
|
|
9
|
+
function asFunc(value: unknown, assert: ZodFactoryConfig): T
|
|
10
|
+
function asFunc(value: unknown, assert?: ZodFactoryConfig): T | undefined {
|
|
9
11
|
const result = zod.safeParse(value)
|
|
10
12
|
if (result.success) {
|
|
11
13
|
return result.data
|
|
12
14
|
}
|
|
13
|
-
|
|
15
|
+
let assertConfig: AssertConfig
|
|
16
|
+
switch (typeof assert) {
|
|
17
|
+
case 'string': {
|
|
18
|
+
assertConfig = `[${name}][${value}] ${assert}`
|
|
19
|
+
break
|
|
20
|
+
}
|
|
21
|
+
case 'object': {
|
|
22
|
+
assertConfig = `[${name}][${assert.name}][${value}] ${result.error.message}`
|
|
23
|
+
break
|
|
24
|
+
}
|
|
25
|
+
case 'boolean': {
|
|
26
|
+
assertConfig = `[${name}][${value}] ${result.error.message}`
|
|
27
|
+
break
|
|
28
|
+
}
|
|
29
|
+
case 'function': {
|
|
30
|
+
assertConfig = assert(value, result.error.message)
|
|
31
|
+
break
|
|
32
|
+
}
|
|
33
|
+
default: {
|
|
34
|
+
assertConfig = true
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return assertError(value, assertConfig, result.error.message)
|
|
14
38
|
}
|
|
15
39
|
|
|
16
40
|
return asFunc
|
|
@@ -2,6 +2,6 @@ import type z from 'zod'
|
|
|
2
2
|
|
|
3
3
|
import { zodAsFactory } from './zodAsFactory.ts'
|
|
4
4
|
|
|
5
|
-
export function zodToFactory<T>(zod: z.ZodType<T
|
|
6
|
-
return zodAsFactory<T>(zod)
|
|
5
|
+
export function zodToFactory<T>(zod: z.ZodType<T>, name: string) {
|
|
6
|
+
return zodAsFactory<T>(zod, name)
|
|
7
7
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AsObjectFactory } from '@xylabs/object'
|
|
2
|
+
import type { Payload } from '@xyo-network/payload-model'
|
|
3
|
+
import { isPayloadOfZodType } from '@xyo-network/payload-model'
|
|
4
|
+
import type { z } from 'zod'
|
|
5
|
+
|
|
6
|
+
import { StepIdentityZod } from '../model/index.ts'
|
|
7
|
+
|
|
8
|
+
export const StepIdentitySchema = 'network.xyo.chain.step.identity' as const
|
|
9
|
+
export type StepIdentitySchema = typeof StepIdentitySchema
|
|
10
|
+
|
|
11
|
+
export type StepIdentityFields = z.infer<typeof StepIdentityZod>
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* A Step Identity Payload
|
|
15
|
+
*/
|
|
16
|
+
export type StepIdentityPayload = Payload<StepIdentityFields, StepIdentitySchema>
|
|
17
|
+
|
|
18
|
+
export const isStepIdentityPayload = isPayloadOfZodType<StepIdentityPayload>(StepIdentityZod, StepIdentitySchema)
|
|
19
|
+
|
|
20
|
+
export const asStepIdentityPayload = AsObjectFactory.create(isStepIdentityPayload)
|
package/src/payload/index.ts
CHANGED