@aztec/foundation 0.61.0 → 0.63.0
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/dest/abi/abi.d.ts +708 -228
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +92 -8
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +8 -6
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +4 -1
- package/dest/abi/event_selector.d.ts +4 -0
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/event_selector.js +7 -1
- package/dest/abi/utils.d.ts +8 -0
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +23 -1
- package/dest/aztec-address/index.d.ts +19 -3
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +43 -14
- package/dest/buffer/buffer32.d.ts +1 -0
- package/dest/buffer/buffer32.d.ts.map +1 -1
- package/dest/buffer/buffer32.js +4 -1
- package/dest/config/env_var.d.ts +1 -1
- package/dest/config/env_var.d.ts.map +1 -1
- package/dest/crypto/index.d.ts +1 -0
- package/dest/crypto/index.d.ts.map +1 -1
- package/dest/crypto/index.js +2 -1
- package/dest/crypto/keys/index.d.ts +5 -0
- package/dest/crypto/keys/index.d.ts.map +1 -0
- package/dest/crypto/keys/index.js +8 -0
- package/dest/eth-address/index.d.ts +2 -6
- package/dest/eth-address/index.d.ts.map +1 -1
- package/dest/eth-address/index.js +3 -7
- package/dest/eth-signature/eth_signature.d.ts +2 -0
- package/dest/eth-signature/eth_signature.d.ts.map +1 -1
- package/dest/eth-signature/eth_signature.js +7 -1
- package/dest/fields/fields.d.ts +1 -3
- package/dest/fields/fields.d.ts.map +1 -1
- package/dest/fields/fields.js +2 -1
- package/dest/json-rpc/client/fetch.d.ts +21 -0
- package/dest/json-rpc/client/fetch.d.ts.map +1 -0
- package/dest/json-rpc/client/fetch.js +66 -0
- package/dest/json-rpc/client/index.d.ts +2 -1
- package/dest/json-rpc/client/index.d.ts.map +1 -1
- package/dest/json-rpc/client/index.js +3 -2
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts +13 -0
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -0
- package/dest/json-rpc/client/safe_json_rpc_client.js +45 -0
- package/dest/json-rpc/convert.d.ts +11 -19
- package/dest/json-rpc/convert.d.ts.map +1 -1
- package/dest/json-rpc/convert.js +30 -123
- package/dest/json-rpc/fixtures/test_state.d.ts +45 -3
- package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
- package/dest/json-rpc/fixtures/test_state.js +58 -2
- package/dest/json-rpc/index.d.ts +1 -2
- package/dest/json-rpc/index.d.ts.map +1 -1
- package/dest/json-rpc/index.js +2 -3
- package/dest/json-rpc/js_utils.d.ts.map +1 -1
- package/dest/json-rpc/js_utils.js +2 -1
- package/dest/json-rpc/server/index.d.ts +1 -2
- package/dest/json-rpc/server/index.d.ts.map +1 -1
- package/dest/json-rpc/server/index.js +2 -3
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts +112 -0
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -0
- package/dest/json-rpc/server/safe_json_rpc_server.js +275 -0
- package/dest/json-rpc/test/index.d.ts +2 -0
- package/dest/json-rpc/test/index.d.ts.map +1 -0
- package/dest/json-rpc/test/index.js +2 -0
- package/dest/json-rpc/test/integration.d.ts +13 -0
- package/dest/json-rpc/test/integration.d.ts.map +1 -0
- package/dest/json-rpc/test/integration.js +12 -0
- package/dest/log/logger.d.ts +10 -2
- package/dest/log/logger.d.ts.map +1 -1
- package/dest/log/logger.js +55 -12
- package/dest/schemas/api.d.ts +21 -0
- package/dest/schemas/api.d.ts.map +1 -0
- package/dest/schemas/api.js +8 -0
- package/dest/schemas/index.d.ts +6 -0
- package/dest/schemas/index.d.ts.map +1 -0
- package/dest/schemas/index.js +6 -0
- package/dest/schemas/parse.d.ts +9 -0
- package/dest/schemas/parse.d.ts.map +1 -0
- package/dest/schemas/parse.js +26 -0
- package/dest/schemas/schemas.d.ts +79 -0
- package/dest/schemas/schemas.d.ts.map +1 -0
- package/dest/schemas/schemas.js +87 -0
- package/dest/schemas/types.d.ts +3 -0
- package/dest/schemas/types.d.ts.map +1 -0
- package/dest/schemas/types.js +2 -0
- package/dest/schemas/utils.d.ts +40 -0
- package/dest/schemas/utils.d.ts.map +1 -0
- package/dest/schemas/utils.js +56 -0
- package/dest/string/index.d.ts +7 -0
- package/dest/string/index.d.ts.map +1 -0
- package/dest/string/index.js +13 -0
- package/dest/types/index.d.ts +2 -0
- package/dest/types/index.d.ts.map +1 -1
- package/dest/validation/index.d.ts +6 -0
- package/dest/validation/index.d.ts.map +1 -1
- package/dest/validation/index.js +11 -1
- package/dest/wasm/wasm_module.js +1 -1
- package/package.json +7 -4
- package/src/abi/abi.ts +203 -233
- package/src/abi/decoder.ts +9 -5
- package/src/abi/encoder.ts +2 -0
- package/src/abi/event_selector.ts +7 -0
- package/src/abi/utils.ts +28 -0
- package/src/aztec-address/index.ts +64 -18
- package/src/buffer/buffer32.ts +5 -0
- package/src/config/env_var.ts +22 -8
- package/src/crypto/index.ts +1 -0
- package/src/crypto/keys/index.ts +9 -0
- package/src/eth-address/index.ts +2 -6
- package/src/eth-signature/eth_signature.ts +8 -0
- package/src/fields/fields.ts +2 -3
- package/src/json-rpc/client/fetch.ts +81 -0
- package/src/json-rpc/client/index.ts +2 -1
- package/src/json-rpc/client/safe_json_rpc_client.ts +61 -0
- package/src/json-rpc/convert.ts +29 -142
- package/src/json-rpc/fixtures/test_state.ts +87 -3
- package/src/json-rpc/index.ts +1 -8
- package/src/json-rpc/js_utils.ts +1 -0
- package/src/json-rpc/server/index.ts +1 -2
- package/src/json-rpc/server/safe_json_rpc_server.ts +336 -0
- package/src/json-rpc/test/index.ts +1 -0
- package/src/json-rpc/test/integration.ts +24 -0
- package/src/log/logger.ts +59 -15
- package/src/schemas/api.ts +47 -0
- package/src/schemas/index.ts +5 -0
- package/src/schemas/parse.ts +29 -0
- package/src/schemas/schemas.ts +111 -0
- package/src/schemas/types.ts +3 -0
- package/src/schemas/utils.ts +85 -0
- package/src/string/index.ts +15 -0
- package/src/types/index.ts +3 -0
- package/src/validation/index.ts +11 -0
- package/src/wasm/wasm_module.ts +1 -1
- package/dest/json-rpc/class_converter.d.ts +0 -144
- package/dest/json-rpc/class_converter.d.ts.map +0 -1
- package/dest/json-rpc/class_converter.js +0 -102
- package/dest/json-rpc/client/json_rpc_client.d.ts +0 -35
- package/dest/json-rpc/client/json_rpc_client.d.ts.map +0 -1
- package/dest/json-rpc/client/json_rpc_client.js +0 -117
- package/dest/json-rpc/server/json_proxy.d.ts +0 -30
- package/dest/json-rpc/server/json_proxy.d.ts.map +0 -1
- package/dest/json-rpc/server/json_proxy.js +0 -46
- package/dest/json-rpc/server/json_rpc_server.d.ts +0 -98
- package/dest/json-rpc/server/json_rpc_server.d.ts.map +0 -1
- package/dest/json-rpc/server/json_rpc_server.js +0 -248
- package/src/json-rpc/class_converter.ts +0 -213
- package/src/json-rpc/client/json_rpc_client.ts +0 -148
- package/src/json-rpc/server/json_proxy.ts +0 -60
- package/src/json-rpc/server/json_rpc_server.ts +0 -300
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { type AbiDecoded } from '../abi/decoder.js';
|
|
5
|
+
import { EventSelector } from '../abi/event_selector.js';
|
|
6
|
+
import { FunctionSelector } from '../abi/function_selector.js';
|
|
7
|
+
import { NoteSelector } from '../abi/note_selector.js';
|
|
8
|
+
import { AztecAddress } from '../aztec-address/index.js';
|
|
9
|
+
import { Buffer32 } from '../buffer/buffer32.js';
|
|
10
|
+
import { EthAddress } from '../eth-address/index.js';
|
|
11
|
+
import { Signature } from '../eth-signature/eth_signature.js';
|
|
12
|
+
import { Fq, Fr } from '../fields/fields.js';
|
|
13
|
+
import { Point } from '../fields/point.js';
|
|
14
|
+
import { type ZodFor } from './types.js';
|
|
15
|
+
/** Validation schemas for common types. Every schema must match its toJSON. */
|
|
16
|
+
export declare const schemas: {
|
|
17
|
+
/** Accepts both a 0x string and a structured `{ type: EthAddress, value: '0x...' }` */
|
|
18
|
+
EthAddress: ZodFor<EthAddress>;
|
|
19
|
+
/** Accepts both a 0x string and a structured `{ type: AztecAddress, value: '0x...' }` */
|
|
20
|
+
AztecAddress: ZodFor<AztecAddress>;
|
|
21
|
+
/** Accepts both a 0x string and a structured type. */
|
|
22
|
+
FunctionSelector: ZodFor<FunctionSelector>;
|
|
23
|
+
/** Accepts both a 0x string and a structured type. */
|
|
24
|
+
NoteSelector: ZodFor<NoteSelector>;
|
|
25
|
+
/** Accepts both a 0x string and a structured type. */
|
|
26
|
+
EventSelector: ZodFor<EventSelector>;
|
|
27
|
+
/** Field element. Accepts a 0x prefixed hex string or a structured type. */
|
|
28
|
+
Fr: ZodFor<Fr>;
|
|
29
|
+
/** Field element. Accepts a 0x prefixed hex string or a structured type. */
|
|
30
|
+
Fq: ZodFor<Fq>;
|
|
31
|
+
/** Point. Serialized as 0x prefixed string or a type. */
|
|
32
|
+
Point: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
|
|
33
|
+
x: ZodFor<Fr>;
|
|
34
|
+
y: ZodFor<Fr>;
|
|
35
|
+
isInfinite: z.ZodOptional<z.ZodBoolean>;
|
|
36
|
+
}, "strip", z.ZodTypeAny, {
|
|
37
|
+
x: Fr;
|
|
38
|
+
y: Fr;
|
|
39
|
+
isInfinite?: boolean | undefined;
|
|
40
|
+
}, {
|
|
41
|
+
x?: any;
|
|
42
|
+
y?: any;
|
|
43
|
+
isInfinite?: boolean | undefined;
|
|
44
|
+
}>, z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>]>, Point, string | {
|
|
45
|
+
x?: any;
|
|
46
|
+
y?: any;
|
|
47
|
+
isInfinite?: boolean | undefined;
|
|
48
|
+
}>;
|
|
49
|
+
/** Accepts a 0x string */
|
|
50
|
+
Signature: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, `0x${string}`, string>, `0x${string}`, string>, Signature, string>;
|
|
51
|
+
/** Coerces any input to bigint */
|
|
52
|
+
BigInt: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
53
|
+
/** Coerces any input to integer number */
|
|
54
|
+
Integer: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
55
|
+
/** Coerces input to UInt32 */
|
|
56
|
+
UInt32: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
57
|
+
/** Accepts a hex string as a Buffer32 type */
|
|
58
|
+
Buffer32: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Buffer32, string>;
|
|
59
|
+
/** Accepts a base64 string or a structured `{ type: 'Buffer', data: [byte, byte...] }` as a buffer */
|
|
60
|
+
BufferB64: z.ZodUnion<[z.ZodEffects<z.ZodString, Buffer, string>, z.ZodEffects<z.ZodObject<{
|
|
61
|
+
type: z.ZodLiteral<"Buffer">;
|
|
62
|
+
data: z.ZodArray<z.ZodNumber, "many">;
|
|
63
|
+
}, "strip", z.ZodTypeAny, {
|
|
64
|
+
type: "Buffer";
|
|
65
|
+
data: number[];
|
|
66
|
+
}, {
|
|
67
|
+
type: "Buffer";
|
|
68
|
+
data: number[];
|
|
69
|
+
}>, Buffer, {
|
|
70
|
+
type: "Buffer";
|
|
71
|
+
data: number[];
|
|
72
|
+
}>]>;
|
|
73
|
+
/** Accepts a hex string with optional 0x prefix as a buffer */
|
|
74
|
+
BufferHex: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, Buffer, string>;
|
|
75
|
+
/** Hex string with an optional 0x prefix, which gets removed as part of the parsing */
|
|
76
|
+
HexString: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
77
|
+
};
|
|
78
|
+
export declare const AbiDecodedSchema: ZodFor<AbiDecoded>;
|
|
79
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/schemas.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAMzC,+EAA+E;AAC/E,eAAO,MAAM,OAAO;IAClB,uFAAuF;;IAGvF,yFAAyF;;IAGzF,sDAAsD;;IAGtD,sDAAsD;;IAGtD,sDAAsD;;IAGtD,4EAA4E;;IAG5E,4EAA4E;;IAG5E,yDAAyD;;;;;;;;;;;;;;;;;;IAYzD,0BAA0B;;IAO1B,kCAAkC;;IAGlC,0CAA0C;;IAG1C,8BAA8B;;IAS9B,8CAA8C;;IAG9C,sGAAsG;;;;;;;;;;;;;;IActG,+DAA+D;;IAO/D,uFAAuF;;CAExF,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAM9C,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { EventSelector } from '../abi/event_selector.js';
|
|
3
|
+
import { FunctionSelector } from '../abi/function_selector.js';
|
|
4
|
+
import { NoteSelector } from '../abi/note_selector.js';
|
|
5
|
+
import { AztecAddress } from '../aztec-address/index.js';
|
|
6
|
+
import { Buffer32 } from '../buffer/buffer32.js';
|
|
7
|
+
import { EthAddress } from '../eth-address/index.js';
|
|
8
|
+
import { Signature } from '../eth-signature/eth_signature.js';
|
|
9
|
+
import { Fq, Fr } from '../fields/fields.js';
|
|
10
|
+
import { Point } from '../fields/point.js';
|
|
11
|
+
import { hasHexPrefix, isHex, withoutHexPrefix } from '../string/index.js';
|
|
12
|
+
import { hexSchema, maybeStructuredStringSchemaFor } from './utils.js';
|
|
13
|
+
const FrSchema = maybeStructuredStringSchemaFor('Fr', Fr, isHex);
|
|
14
|
+
const FqSchema = maybeStructuredStringSchemaFor('Fq', Fq, isHex);
|
|
15
|
+
/** Validation schemas for common types. Every schema must match its toJSON. */
|
|
16
|
+
export const schemas = {
|
|
17
|
+
/** Accepts both a 0x string and a structured `{ type: EthAddress, value: '0x...' }` */
|
|
18
|
+
EthAddress: maybeStructuredStringSchemaFor('EthAddress', EthAddress, EthAddress.isAddress),
|
|
19
|
+
/** Accepts both a 0x string and a structured `{ type: AztecAddress, value: '0x...' }` */
|
|
20
|
+
AztecAddress: maybeStructuredStringSchemaFor('AztecAddress', AztecAddress, AztecAddress.isAddress),
|
|
21
|
+
/** Accepts both a 0x string and a structured type. */
|
|
22
|
+
FunctionSelector: maybeStructuredStringSchemaFor('FunctionSelector', FunctionSelector),
|
|
23
|
+
/** Accepts both a 0x string and a structured type. */
|
|
24
|
+
NoteSelector: maybeStructuredStringSchemaFor('NoteSelector', NoteSelector),
|
|
25
|
+
/** Accepts both a 0x string and a structured type. */
|
|
26
|
+
EventSelector: maybeStructuredStringSchemaFor('EventSelector', EventSelector),
|
|
27
|
+
/** Field element. Accepts a 0x prefixed hex string or a structured type. */
|
|
28
|
+
Fr: FrSchema,
|
|
29
|
+
/** Field element. Accepts a 0x prefixed hex string or a structured type. */
|
|
30
|
+
Fq: FqSchema,
|
|
31
|
+
/** Point. Serialized as 0x prefixed string or a type. */
|
|
32
|
+
Point: z
|
|
33
|
+
.object({
|
|
34
|
+
x: FrSchema,
|
|
35
|
+
y: FrSchema,
|
|
36
|
+
isInfinite: z.boolean().optional(),
|
|
37
|
+
})
|
|
38
|
+
.or(hexSchema)
|
|
39
|
+
.transform(value => typeof value === 'string' ? Point.fromString(value) : new Point(value.x, value.y, value.isInfinite ?? false)),
|
|
40
|
+
/** Accepts a 0x string */
|
|
41
|
+
Signature: z
|
|
42
|
+
.string()
|
|
43
|
+
.refine(hasHexPrefix, 'No hex prefix')
|
|
44
|
+
.refine(Signature.isValid0xString, 'Not a valid Ethereum signature')
|
|
45
|
+
.transform(Signature.from0xString),
|
|
46
|
+
/** Coerces any input to bigint */
|
|
47
|
+
BigInt: z.union([z.bigint(), z.number(), z.string()]).pipe(z.coerce.bigint()),
|
|
48
|
+
/** Coerces any input to integer number */
|
|
49
|
+
Integer: z.union([z.bigint(), z.number(), z.string()]).pipe(z.coerce.number().int()),
|
|
50
|
+
/** Coerces input to UInt32 */
|
|
51
|
+
UInt32: z.union([z.bigint(), z.number(), z.string()]).pipe(z.coerce
|
|
52
|
+
.number()
|
|
53
|
+
.int()
|
|
54
|
+
.min(0)
|
|
55
|
+
.max(2 ** 32 - 1)),
|
|
56
|
+
/** Accepts a hex string as a Buffer32 type */
|
|
57
|
+
Buffer32: z.string().refine(isHex, 'Not a valid hex string').transform(Buffer32.fromString),
|
|
58
|
+
/** Accepts a base64 string or a structured `{ type: 'Buffer', data: [byte, byte...] }` as a buffer */
|
|
59
|
+
BufferB64: z.union([
|
|
60
|
+
z
|
|
61
|
+
.string()
|
|
62
|
+
.base64()
|
|
63
|
+
.transform(data => Buffer.from(data, 'base64')),
|
|
64
|
+
z
|
|
65
|
+
.object({
|
|
66
|
+
type: z.literal('Buffer'),
|
|
67
|
+
data: z.array(z.number().int().max(255)),
|
|
68
|
+
})
|
|
69
|
+
.transform(({ data }) => Buffer.from(data)),
|
|
70
|
+
]),
|
|
71
|
+
/** Accepts a hex string with optional 0x prefix as a buffer */
|
|
72
|
+
BufferHex: z
|
|
73
|
+
.string()
|
|
74
|
+
.refine(isHex, 'Not a valid hex string')
|
|
75
|
+
.transform(withoutHexPrefix)
|
|
76
|
+
.transform(data => Buffer.from(data, 'hex')),
|
|
77
|
+
/** Hex string with an optional 0x prefix, which gets removed as part of the parsing */
|
|
78
|
+
HexString: hexSchema,
|
|
79
|
+
};
|
|
80
|
+
export const AbiDecodedSchema = z.union([
|
|
81
|
+
schemas.BigInt,
|
|
82
|
+
z.boolean(),
|
|
83
|
+
schemas.AztecAddress,
|
|
84
|
+
z.array(z.lazy(() => AbiDecodedSchema)),
|
|
85
|
+
z.record(z.lazy(() => AbiDecodedSchema)),
|
|
86
|
+
]);
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWFzL3NjaGVtYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUd4QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdkUsTUFBTSxRQUFRLEdBQUcsOEJBQThCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNqRSxNQUFNLFFBQVEsR0FBRyw4QkFBOEIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRWpFLCtFQUErRTtBQUMvRSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsdUZBQXVGO0lBQ3ZGLFVBQVUsRUFBRSw4QkFBOEIsQ0FBQyxZQUFZLEVB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schemas/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,KAAK,CAAC;AAEnC,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
import { type ParseInput, type ParseReturnType, ZodOptional, type ZodType, type ZodTypeAny, z } from 'zod';
|
|
4
|
+
import { type ZodFor } from './types.js';
|
|
5
|
+
export declare const hexSchema: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
6
|
+
export declare class ZodNullableOptional<T extends ZodTypeAny> extends ZodOptional<T> {
|
|
7
|
+
_isNullableOptional: boolean;
|
|
8
|
+
_parse(input: ParseInput): ParseReturnType<this['_output']>;
|
|
9
|
+
static create<T extends ZodTypeAny>(type: T): ZodNullableOptional<T>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Declares a parameter as optional. Use this over z.optional in order to accept nulls as undefineds.
|
|
13
|
+
* This is required as JSON does not have an undefined type, and null is used to represent it, so we
|
|
14
|
+
* need to convert nulls to undefineds as we parse.
|
|
15
|
+
*/
|
|
16
|
+
export declare function optional<T extends ZodTypeAny>(schema: T): ZodNullableOptional<T>;
|
|
17
|
+
/**
|
|
18
|
+
* Creates a schema that accepts a hex string and uses it to hydrate an instance.
|
|
19
|
+
* @param klazz - Class that implements either fromString or fromBuffer.
|
|
20
|
+
* @returns A schema for the class.
|
|
21
|
+
*/
|
|
22
|
+
export declare function hexSchemaFor<TClass extends {
|
|
23
|
+
fromString(str: string): any;
|
|
24
|
+
} | {
|
|
25
|
+
fromBuffer(buf: Buffer): any;
|
|
26
|
+
}>(klazz: TClass): ZodType<TClass extends {
|
|
27
|
+
fromString(str: string): infer TInstance;
|
|
28
|
+
} | {
|
|
29
|
+
fromBuffer(buf: Buffer): infer TInstance;
|
|
30
|
+
} ? TInstance : never, any, string>;
|
|
31
|
+
export declare function maybeStructuredStringSchemaFor<TClass extends {
|
|
32
|
+
fromString(str: string): any;
|
|
33
|
+
}>(name: string, klazz: TClass, refinement?: (input: string) => boolean): ZodFor<TClass extends {
|
|
34
|
+
fromString(str: string): infer TInstance;
|
|
35
|
+
} ? TInstance : never>;
|
|
36
|
+
/** Creates a schema for a js Map type that matches the serialization used in jsonStringify. */
|
|
37
|
+
export declare function mapSchema<TKey, TValue>(key: ZodFor<TKey>, value: ZodFor<TValue>): ZodFor<Map<TKey, TValue>>;
|
|
38
|
+
/** Creates a schema for a js Set type that matches the serialization used in jsonStringify. */
|
|
39
|
+
export declare function setSchema<T>(value: ZodFor<T>): ZodFor<Set<T>>;
|
|
40
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/schemas/utils.ts"],"names":[],"mappings":";;AAAA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,eAAe,EAEpB,WAAW,EAEX,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,CAAC,EACF,MAAM,KAAK,CAAC;AAGb,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,eAAO,MAAM,SAAS,yEAAiF,CAAC;AAExG,qBAAa,mBAAmB,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC3E,mBAAmB,UAAQ;IAElB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;WAQpD,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC;CAM9E;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,CAAC,0BAEvD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,SAAS;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7G,KAAK,EAAE,MAAM,GACZ,OAAO,CACR,MAAM,SAAS;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,SAAS,CAAA;CAAE,GAAG;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,SAAS,CAAA;CAAE,GACtG,SAAS,GACT,KAAK,EACT,GAAG,EACH,MAAM,CACP,CAIA;AAGD,wBAAgB,8BAA8B,CAAC,MAAM,SAAS;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC5F,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GACtC,MAAM,CAAC,MAAM,SAAS;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,SAAS,CAAA;CAAE,GAAG,SAAS,GAAG,KAAK,CAAC,CAKzF;AAED,+FAA+F;AAC/F,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAE3G;AAED,+FAA+F;AAC/F,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAE7D"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { OK, ZodFirstPartyTypeKind, ZodOptional, ZodParsedType, z, } from 'zod';
|
|
2
|
+
import { isHex, withoutHexPrefix } from '../string/index.js';
|
|
3
|
+
export const hexSchema = z.string().refine(isHex, 'Not a valid hex string').transform(withoutHexPrefix);
|
|
4
|
+
export class ZodNullableOptional extends ZodOptional {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this._isNullableOptional = true;
|
|
8
|
+
}
|
|
9
|
+
_parse(input) {
|
|
10
|
+
const parsedType = this._getType(input);
|
|
11
|
+
if (parsedType === ZodParsedType.undefined || parsedType === ZodParsedType.null) {
|
|
12
|
+
return OK(undefined);
|
|
13
|
+
}
|
|
14
|
+
return this._def.innerType._parse(input);
|
|
15
|
+
}
|
|
16
|
+
static create(type) {
|
|
17
|
+
return new ZodNullableOptional({
|
|
18
|
+
innerType: type,
|
|
19
|
+
typeName: ZodFirstPartyTypeKind.ZodOptional,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Declares a parameter as optional. Use this over z.optional in order to accept nulls as undefineds.
|
|
25
|
+
* This is required as JSON does not have an undefined type, and null is used to represent it, so we
|
|
26
|
+
* need to convert nulls to undefineds as we parse.
|
|
27
|
+
*/
|
|
28
|
+
export function optional(schema) {
|
|
29
|
+
return ZodNullableOptional.create(schema);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Creates a schema that accepts a hex string and uses it to hydrate an instance.
|
|
33
|
+
* @param klazz - Class that implements either fromString or fromBuffer.
|
|
34
|
+
* @returns A schema for the class.
|
|
35
|
+
*/
|
|
36
|
+
export function hexSchemaFor(klazz) {
|
|
37
|
+
return 'fromString' in klazz
|
|
38
|
+
? hexSchema.transform(klazz.fromString.bind(klazz))
|
|
39
|
+
: hexSchema.transform(str => Buffer.from(str, 'hex')).transform(klazz.fromBuffer.bind(klazz));
|
|
40
|
+
}
|
|
41
|
+
// TODO(palla/schemas): Delete this class once all serialization of the type { type: string, value: string } are removed.
|
|
42
|
+
export function maybeStructuredStringSchemaFor(name, klazz, refinement) {
|
|
43
|
+
const stringSchema = refinement ? z.string().refine(refinement, `Not a valid ${name}`) : z.string();
|
|
44
|
+
return z
|
|
45
|
+
.union([stringSchema, z.object({ type: z.literal(name), value: stringSchema })])
|
|
46
|
+
.transform(input => klazz.fromString(typeof input === 'string' ? input : input.value));
|
|
47
|
+
}
|
|
48
|
+
/** Creates a schema for a js Map type that matches the serialization used in jsonStringify. */
|
|
49
|
+
export function mapSchema(key, value) {
|
|
50
|
+
return z.array(z.tuple([key, value])).transform(entries => new Map(entries));
|
|
51
|
+
}
|
|
52
|
+
/** Creates a schema for a js Set type that matches the serialization used in jsonStringify. */
|
|
53
|
+
export function setSchema(value) {
|
|
54
|
+
return z.array(value).transform(entries => new Set(entries));
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NoZW1hcy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsRUFBRSxFQUdGLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsYUFBYSxFQUdiLENBQUMsR0FDRixNQUFNLEtBQUssQ0FBQztBQUViLE9BQU8sRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUc3RCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUV4RyxNQUFNLE9BQU8sbUJBQTBDLFNBQVEsV0FBYztJQUE3RTs7UUFDRSx3QkFBbUIsR0FBRyxJQUFJLENBQUM7SUFnQjdCLENBQUM7SUFkVSxNQUFNLENBQUMsS0FBaUI7UUFDL0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxJQUFJLFVBQVUsS0FBSyxhQUFhLENBQUMsU0FBUyxJQUFJLFVBQVUsS0FBSyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEYsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxNQUFNLENBQVUsTUFBTSxDQUF1QixJQUFPO1FBQ2xELE9BQU8sSUFBSSxtQkFBbUIsQ0FBQztZQUM3QixTQUFTLEVBQUUsSUFBSTtZQUNmLFFBQVEsRUFBRSxxQkFBcUIsQ0FBQyxXQUFXO1NBQzVDLENBQVEsQ0FBQztJQUNaLENBQUM7Q0FDRjtBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUF1QixNQUFTO0lBQ3RELE9BQU8sbUJBQW1CLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FDMUIsS0FBYTtJQVFiLE9BQU8sWUFBWSxJQUFJLEtBQUs7UUFDMUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ2xHLENBQUM7QUFFRCx5SEFBeUg7QUFDekgsTUFBTSxVQUFVLDhCQUE4QixDQUM1QyxJQUFZLEVBQ1osS0FBYSxFQUNiLFVBQXVDO0lBRXZDLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDcEcsT0FBTyxDQUFDO1NBQ0wsS0FBSyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9FLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzNGLENBQUM7QUFFRCwrRkFBK0Y7QUFDL0YsTUFBTSxVQUFVLFNBQVMsQ0FBZSxHQUFpQixFQUFFLEtBQXFCO0lBQzlFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUM7QUFFRCwrRkFBK0Y7QUFDL0YsTUFBTSxVQUFVLFNBQVMsQ0FBSSxLQUFnQjtJQUMzQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUMvRCxDQUFDIn0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
export declare function hasHexPrefix(str: string): str is `0x${string}`;
|
|
4
|
+
export declare function withoutHexPrefix(str: string): string;
|
|
5
|
+
export declare function isHex(str: string): boolean;
|
|
6
|
+
export declare function hexToBuffer(str: string): Buffer;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/string/index.ts"],"names":[],"mappings":";;AAAA,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,KAAK,MAAM,EAAE,CAE9D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE1C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function hasHexPrefix(str) {
|
|
2
|
+
return str.startsWith('0x');
|
|
3
|
+
}
|
|
4
|
+
export function withoutHexPrefix(str) {
|
|
5
|
+
return hasHexPrefix(str) ? str.slice(2) : str;
|
|
6
|
+
}
|
|
7
|
+
export function isHex(str) {
|
|
8
|
+
return /^(0x)?[0-9a-fA-F]*$/.test(str);
|
|
9
|
+
}
|
|
10
|
+
export function hexToBuffer(str) {
|
|
11
|
+
return Buffer.from(withoutHexPrefix(str), 'hex');
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RyaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxZQUFZLENBQUMsR0FBVztJQUN0QyxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxHQUFXO0lBQzFDLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDaEQsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLLENBQUMsR0FBVztJQUMvQixPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFXO0lBQ3JDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNuRCxDQUFDIn0=
|
package/dest/types/index.d.ts
CHANGED
|
@@ -14,4 +14,6 @@ export type Writeable<T> = {
|
|
|
14
14
|
};
|
|
15
15
|
/** Removes readonly modifiers for an object. */
|
|
16
16
|
export declare function unfreeze<T>(obj: T): Writeable<T>;
|
|
17
|
+
/** Maybe exists, maybe not. */
|
|
18
|
+
export type Maybe<T extends object> = T | unknown;
|
|
17
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KAEvB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,kCAAkC;AAClC,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE/E,6CAA6C;AAC7C,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE9D,gDAAgD;AAChD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAEhD"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KAEvB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,kCAAkC;AAClC,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE/E,6CAA6C;AAC7C,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE9D,gDAAgD;AAChD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAEhD;AAED,+BAA+B;AAC/B,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
/** Utility function to throw an error if a required value is missing. */
|
|
2
2
|
export declare function required<T>(value: T | undefined, errMsg?: string): T;
|
|
3
|
+
/**
|
|
4
|
+
* Helper function to assert a condition is truthy
|
|
5
|
+
* @param x - A boolean condition to assert.
|
|
6
|
+
* @param err - Error message to throw if x isn't met.
|
|
7
|
+
*/
|
|
8
|
+
export declare function assert(x: any, err: string): asserts x;
|
|
3
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAKpE"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAKpE;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAIrD"}
|
package/dest/validation/index.js
CHANGED
|
@@ -5,4 +5,14 @@ export function required(value, errMsg) {
|
|
|
5
5
|
}
|
|
6
6
|
return value;
|
|
7
7
|
}
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Helper function to assert a condition is truthy
|
|
10
|
+
* @param x - A boolean condition to assert.
|
|
11
|
+
* @param err - Error message to throw if x isn't met.
|
|
12
|
+
*/
|
|
13
|
+
export function assert(x, err) {
|
|
14
|
+
if (!x) {
|
|
15
|
+
throw new Error(err);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5RUFBeUU7QUFDekUsTUFBTSxVQUFVLFFBQVEsQ0FBSSxLQUFvQixFQUFFLE1BQWU7SUFDL0QsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksbUJBQW1CLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQUMsQ0FBTSxFQUFFLEdBQVc7SUFDeEMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0FBQ0gsQ0FBQyJ9
|
package/dest/wasm/wasm_module.js
CHANGED
|
@@ -39,7 +39,7 @@ export class WasmModule {
|
|
|
39
39
|
* @param initMethod - Defaults to calling '_initialize'.
|
|
40
40
|
* @param maximum - 8192 maximum by default. 512mb.
|
|
41
41
|
*/
|
|
42
|
-
async init(initial =
|
|
42
|
+
async init(initial = 31, maximum = 8192, initMethod = '_initialize') {
|
|
43
43
|
this.debug(`initial mem: ${initial} pages, ${(initial * 2 ** 16) / (1024 * 1024)}mb. max mem: ${maximum} pages, ${(maximum * 2 ** 16) / (1024 * 1024)}mb`);
|
|
44
44
|
this.memory = new WebAssembly.Memory({ initial, maximum });
|
|
45
45
|
// Create a view over the memory buffer.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/foundation",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.63.0",
|
|
4
4
|
"packageManager": "yarn@3.4.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dest/index.js",
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"./json-rpc": "./dest/json-rpc/index.js",
|
|
26
26
|
"./json-rpc/server": "./dest/json-rpc/server/index.js",
|
|
27
27
|
"./json-rpc/client": "./dest/json-rpc/client/index.js",
|
|
28
|
+
"./json-rpc/test": "./dest/json-rpc/test/index.js",
|
|
28
29
|
"./iterable": "./dest/iterable/index.js",
|
|
29
30
|
"./log": "./dest/log/index.js",
|
|
30
31
|
"./mutex": "./dest/mutex/index.js",
|
|
@@ -40,13 +41,15 @@
|
|
|
40
41
|
"./worker": "./dest/worker/index.js",
|
|
41
42
|
"./bigint-buffer": "./dest/bigint-buffer/index.js",
|
|
42
43
|
"./types": "./dest/types/index.js",
|
|
44
|
+
"./schemas": "./dest/schemas/index.js",
|
|
43
45
|
"./url": "./dest/url/index.js",
|
|
44
46
|
"./committable": "./dest/committable/index.js",
|
|
45
47
|
"./noir": "./dest/noir/index.js",
|
|
46
48
|
"./testing": "./dest/testing/index.js",
|
|
47
49
|
"./array": "./dest/array/index.js",
|
|
48
50
|
"./validation": "./dest/validation/index.js",
|
|
49
|
-
"./promise": "./dest/promise/index.js"
|
|
51
|
+
"./promise": "./dest/promise/index.js",
|
|
52
|
+
"./string": "./dest/string/index.js"
|
|
50
53
|
},
|
|
51
54
|
"scripts": {
|
|
52
55
|
"build": "yarn clean && tsc -b",
|
|
@@ -95,7 +98,7 @@
|
|
|
95
98
|
]
|
|
96
99
|
},
|
|
97
100
|
"dependencies": {
|
|
98
|
-
"@aztec/bb.js": "0.
|
|
101
|
+
"@aztec/bb.js": "0.63.0",
|
|
99
102
|
"@koa/cors": "^5.0.0",
|
|
100
103
|
"@noble/curves": "^1.2.0",
|
|
101
104
|
"bn.js": "^5.2.1",
|
|
@@ -114,7 +117,7 @@
|
|
|
114
117
|
"memdown": "^6.1.1",
|
|
115
118
|
"pako": "^2.1.0",
|
|
116
119
|
"sha3": "^2.1.4",
|
|
117
|
-
"zod": "^3.
|
|
120
|
+
"zod": "^3.23.8"
|
|
118
121
|
},
|
|
119
122
|
"devDependencies": {
|
|
120
123
|
"@jest/globals": "^29.5.0",
|