@brninpay/core 0.1.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.
Files changed (98) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/LICENSE +203 -0
  3. package/README.md +7 -0
  4. package/dist/decision-resolver.d.ts +5 -0
  5. package/dist/decision-resolver.d.ts.map +1 -0
  6. package/dist/decision-resolver.js +20 -0
  7. package/dist/decision-resolver.js.map +1 -0
  8. package/dist/errors.d.ts +3 -0
  9. package/dist/errors.d.ts.map +1 -0
  10. package/dist/errors.js +2 -0
  11. package/dist/errors.js.map +1 -0
  12. package/dist/index.d.ts +10 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +8 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/policies/allowlist.d.ts +3 -0
  17. package/dist/policies/allowlist.d.ts.map +1 -0
  18. package/dist/policies/allowlist.js +21 -0
  19. package/dist/policies/allowlist.js.map +1 -0
  20. package/dist/policies/budget-check.d.ts +3 -0
  21. package/dist/policies/budget-check.d.ts.map +1 -0
  22. package/dist/policies/budget-check.js +22 -0
  23. package/dist/policies/budget-check.js.map +1 -0
  24. package/dist/policies/index.d.ts +5 -0
  25. package/dist/policies/index.d.ts.map +1 -0
  26. package/dist/policies/index.js +5 -0
  27. package/dist/policies/index.js.map +1 -0
  28. package/dist/policies/max-per-call.d.ts +3 -0
  29. package/dist/policies/max-per-call.d.ts.map +1 -0
  30. package/dist/policies/max-per-call.js +20 -0
  31. package/dist/policies/max-per-call.js.map +1 -0
  32. package/dist/policies/rate-limit.d.ts +3 -0
  33. package/dist/policies/rate-limit.d.ts.map +1 -0
  34. package/dist/policies/rate-limit.js +33 -0
  35. package/dist/policies/rate-limit.js.map +1 -0
  36. package/dist/policy-engine.d.ts +8 -0
  37. package/dist/policy-engine.d.ts.map +1 -0
  38. package/dist/policy-engine.js +39 -0
  39. package/dist/policy-engine.js.map +1 -0
  40. package/dist/types/errors.d.ts +80 -0
  41. package/dist/types/errors.d.ts.map +1 -0
  42. package/dist/types/errors.js +150 -0
  43. package/dist/types/errors.js.map +1 -0
  44. package/dist/types/payment.d.ts +55 -0
  45. package/dist/types/payment.d.ts.map +1 -0
  46. package/dist/types/payment.js +188 -0
  47. package/dist/types/payment.js.map +1 -0
  48. package/dist/types/policy.d.ts +58 -0
  49. package/dist/types/policy.d.ts.map +1 -0
  50. package/dist/types/policy.js +194 -0
  51. package/dist/types/policy.js.map +1 -0
  52. package/dist/types/wallet.d.ts +66 -0
  53. package/dist/types/wallet.d.ts.map +1 -0
  54. package/dist/types/wallet.js +13 -0
  55. package/dist/types/wallet.js.map +1 -0
  56. package/dist/types.d.ts +117 -0
  57. package/dist/types.d.ts.map +1 -0
  58. package/dist/types.js +4 -0
  59. package/dist/types.js.map +1 -0
  60. package/dist/utils/crypto.d.ts +25 -0
  61. package/dist/utils/crypto.d.ts.map +1 -0
  62. package/dist/utils/crypto.js +119 -0
  63. package/dist/utils/crypto.js.map +1 -0
  64. package/dist/validation/schemas.d.ts +598 -0
  65. package/dist/validation/schemas.d.ts.map +1 -0
  66. package/dist/validation/schemas.js +178 -0
  67. package/dist/validation/schemas.js.map +1 -0
  68. package/package.json +30 -0
  69. package/src/decision-resolver.ts +16 -0
  70. package/src/errors.ts +20 -0
  71. package/src/index.ts +139 -0
  72. package/src/policies/allowlist.ts +26 -0
  73. package/src/policies/budget-check.ts +26 -0
  74. package/src/policies/index.ts +4 -0
  75. package/src/policies/max-per-call.ts +25 -0
  76. package/src/policies/rate-limit.ts +40 -0
  77. package/src/policy-engine.ts +65 -0
  78. package/src/types/errors.ts +215 -0
  79. package/src/types/payment.ts +297 -0
  80. package/src/types/policy.ts +289 -0
  81. package/src/types/wallet.ts +84 -0
  82. package/src/types.ts +193 -0
  83. package/src/utils/crypto.ts +182 -0
  84. package/src/validation/schemas.ts +208 -0
  85. package/test/architecture/architecture-invariants.test.ts +95 -0
  86. package/test/authorization-pipeline.test.ts +117 -0
  87. package/test/crypto.test.ts +56 -0
  88. package/test/decision-resolver.test.ts +52 -0
  89. package/test/errors.test.ts +97 -0
  90. package/test/payment-types.test.ts +49 -0
  91. package/test/policies.test.ts +162 -0
  92. package/test/policy-engine.test.ts +96 -0
  93. package/test/policy-types.test.ts +93 -0
  94. package/test/property/auth-invariants.test.ts +110 -0
  95. package/test/property/policy-invariants.test.ts +241 -0
  96. package/test/schemas.test.ts +58 -0
  97. package/tsconfig.json +9 -0
  98. package/vitest.config.ts +8 -0
@@ -0,0 +1,598 @@
1
+ import { z } from 'zod';
2
+ export declare const AddressSchema: z.ZodString;
3
+ export declare const HexSchema: z.ZodString;
4
+ export declare const TimestampSchema: z.ZodString;
5
+ export declare const NonNegativeBigIntSchema: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
6
+ export declare const PositiveBigIntSchema: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>, bigint, string | number | bigint>;
7
+ export declare const PaymentAmountSchema: z.ZodObject<{
8
+ currency: z.ZodLiteral<"USDC">;
9
+ value: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>, bigint, string | number | bigint>;
10
+ decimals: z.ZodNumber;
11
+ }, "strip", z.ZodTypeAny, {
12
+ value: bigint;
13
+ currency: "USDC";
14
+ decimals: number;
15
+ }, {
16
+ value: string | number | bigint;
17
+ currency: "USDC";
18
+ decimals: number;
19
+ }>;
20
+ export declare const PaymentRecipientSchema: z.ZodObject<{
21
+ address: z.ZodString;
22
+ chainId: z.ZodNumber;
23
+ ensName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24
+ }, "strip", z.ZodTypeAny, {
25
+ address: string;
26
+ chainId: number;
27
+ ensName?: string | null | undefined;
28
+ }, {
29
+ address: string;
30
+ chainId: number;
31
+ ensName?: string | null | undefined;
32
+ }>;
33
+ export declare const PaymentIntentFailureSchema: z.ZodObject<{
34
+ code: z.ZodString;
35
+ message: z.ZodString;
36
+ retryable: z.ZodBoolean;
37
+ detail: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
38
+ }, "strip", z.ZodTypeAny, {
39
+ message: string;
40
+ code: string;
41
+ retryable: boolean;
42
+ detail?: Record<string, unknown> | undefined;
43
+ }, {
44
+ message: string;
45
+ code: string;
46
+ retryable: boolean;
47
+ detail?: Record<string, unknown> | undefined;
48
+ }>;
49
+ export declare const PaymentIntentSchema: z.ZodObject<{
50
+ id: z.ZodString;
51
+ workspaceId: z.ZodString;
52
+ actorId: z.ZodString;
53
+ status: z.ZodEnum<["draft", "pending_policy", "pending_approval", "approved", "rejected", "pending_submission", "submitted", "confirming", "succeeded", "failed", "cancelled", "expired"]>;
54
+ amount: z.ZodObject<{
55
+ currency: z.ZodLiteral<"USDC">;
56
+ value: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>, bigint, string | number | bigint>;
57
+ decimals: z.ZodNumber;
58
+ }, "strip", z.ZodTypeAny, {
59
+ value: bigint;
60
+ currency: "USDC";
61
+ decimals: number;
62
+ }, {
63
+ value: string | number | bigint;
64
+ currency: "USDC";
65
+ decimals: number;
66
+ }>;
67
+ recipient: z.ZodObject<{
68
+ address: z.ZodString;
69
+ chainId: z.ZodNumber;
70
+ ensName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
71
+ }, "strip", z.ZodTypeAny, {
72
+ address: string;
73
+ chainId: number;
74
+ ensName?: string | null | undefined;
75
+ }, {
76
+ address: string;
77
+ chainId: number;
78
+ ensName?: string | null | undefined;
79
+ }>;
80
+ createdAt: z.ZodString;
81
+ updatedAt: z.ZodString;
82
+ expiresAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
83
+ idempotencyKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
84
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
85
+ reference: z.ZodOptional<z.ZodNullable<z.ZodString>>;
86
+ transactionHash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
87
+ failure: z.ZodOptional<z.ZodNullable<z.ZodObject<{
88
+ code: z.ZodString;
89
+ message: z.ZodString;
90
+ retryable: z.ZodBoolean;
91
+ detail: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
92
+ }, "strip", z.ZodTypeAny, {
93
+ message: string;
94
+ code: string;
95
+ retryable: boolean;
96
+ detail?: Record<string, unknown> | undefined;
97
+ }, {
98
+ message: string;
99
+ code: string;
100
+ retryable: boolean;
101
+ detail?: Record<string, unknown> | undefined;
102
+ }>>>;
103
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
104
+ }, "strip", z.ZodTypeAny, {
105
+ id: string;
106
+ workspaceId: string;
107
+ actorId: string;
108
+ status: "draft" | "pending_policy" | "pending_approval" | "approved" | "rejected" | "pending_submission" | "submitted" | "confirming" | "succeeded" | "failed" | "cancelled" | "expired";
109
+ amount: {
110
+ value: bigint;
111
+ currency: "USDC";
112
+ decimals: number;
113
+ };
114
+ recipient: {
115
+ address: string;
116
+ chainId: number;
117
+ ensName?: string | null | undefined;
118
+ };
119
+ createdAt: string;
120
+ updatedAt: string;
121
+ expiresAt?: string | null | undefined;
122
+ idempotencyKey?: string | null | undefined;
123
+ description?: string | null | undefined;
124
+ reference?: string | null | undefined;
125
+ transactionHash?: string | null | undefined;
126
+ failure?: {
127
+ message: string;
128
+ code: string;
129
+ retryable: boolean;
130
+ detail?: Record<string, unknown> | undefined;
131
+ } | null | undefined;
132
+ metadata?: Record<string, unknown> | undefined;
133
+ }, {
134
+ id: string;
135
+ workspaceId: string;
136
+ actorId: string;
137
+ status: "draft" | "pending_policy" | "pending_approval" | "approved" | "rejected" | "pending_submission" | "submitted" | "confirming" | "succeeded" | "failed" | "cancelled" | "expired";
138
+ amount: {
139
+ value: string | number | bigint;
140
+ currency: "USDC";
141
+ decimals: number;
142
+ };
143
+ recipient: {
144
+ address: string;
145
+ chainId: number;
146
+ ensName?: string | null | undefined;
147
+ };
148
+ createdAt: string;
149
+ updatedAt: string;
150
+ expiresAt?: string | null | undefined;
151
+ idempotencyKey?: string | null | undefined;
152
+ description?: string | null | undefined;
153
+ reference?: string | null | undefined;
154
+ transactionHash?: string | null | undefined;
155
+ failure?: {
156
+ message: string;
157
+ code: string;
158
+ retryable: boolean;
159
+ detail?: Record<string, unknown> | undefined;
160
+ } | null | undefined;
161
+ metadata?: Record<string, unknown> | undefined;
162
+ }>;
163
+ export declare const BudgetPolicySchema: z.ZodObject<{
164
+ id: z.ZodString;
165
+ name: z.ZodString;
166
+ enabled: z.ZodBoolean;
167
+ kind: z.ZodLiteral<"budget">;
168
+ currency: z.ZodLiteral<"USDC">;
169
+ limit: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>, bigint, string | number | bigint>;
170
+ softLimit: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>, bigint, string | number | bigint>>;
171
+ }, "strip", z.ZodTypeAny, {
172
+ id: string;
173
+ name: string;
174
+ currency: "USDC";
175
+ limit: bigint;
176
+ enabled: boolean;
177
+ kind: "budget";
178
+ softLimit?: bigint | undefined;
179
+ }, {
180
+ id: string;
181
+ name: string;
182
+ currency: "USDC";
183
+ limit: string | number | bigint;
184
+ enabled: boolean;
185
+ kind: "budget";
186
+ softLimit?: string | number | bigint | undefined;
187
+ }>;
188
+ export declare const AllowlistPolicySchema: z.ZodObject<{
189
+ id: z.ZodString;
190
+ name: z.ZodString;
191
+ enabled: z.ZodBoolean;
192
+ kind: z.ZodLiteral<"allowlist">;
193
+ addresses: z.ZodArray<z.ZodString, "many">;
194
+ chains: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
195
+ }, "strip", z.ZodTypeAny, {
196
+ id: string;
197
+ name: string;
198
+ enabled: boolean;
199
+ kind: "allowlist";
200
+ addresses: string[];
201
+ chains?: number[] | undefined;
202
+ }, {
203
+ id: string;
204
+ name: string;
205
+ enabled: boolean;
206
+ kind: "allowlist";
207
+ addresses: string[];
208
+ chains?: number[] | undefined;
209
+ }>;
210
+ export declare const RateLimitPolicySchema: z.ZodObject<{
211
+ id: z.ZodString;
212
+ name: z.ZodString;
213
+ enabled: z.ZodBoolean;
214
+ kind: z.ZodLiteral<"rate_limit">;
215
+ maxRequests: z.ZodNumber;
216
+ intervalMs: z.ZodNumber;
217
+ burst: z.ZodOptional<z.ZodNumber>;
218
+ scope: z.ZodEnum<["actor", "workspace", "ip"]>;
219
+ }, "strip", z.ZodTypeAny, {
220
+ id: string;
221
+ name: string;
222
+ maxRequests: number;
223
+ intervalMs: number;
224
+ scope: "actor" | "workspace" | "ip";
225
+ enabled: boolean;
226
+ kind: "rate_limit";
227
+ burst?: number | undefined;
228
+ }, {
229
+ id: string;
230
+ name: string;
231
+ maxRequests: number;
232
+ intervalMs: number;
233
+ scope: "actor" | "workspace" | "ip";
234
+ enabled: boolean;
235
+ kind: "rate_limit";
236
+ burst?: number | undefined;
237
+ }>;
238
+ export declare const PolicyDefinitionSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
239
+ id: z.ZodString;
240
+ name: z.ZodString;
241
+ enabled: z.ZodBoolean;
242
+ kind: z.ZodLiteral<"budget">;
243
+ currency: z.ZodLiteral<"USDC">;
244
+ limit: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>, bigint, string | number | bigint>;
245
+ softLimit: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>, bigint, string | number | bigint>>;
246
+ }, "strip", z.ZodTypeAny, {
247
+ id: string;
248
+ name: string;
249
+ currency: "USDC";
250
+ limit: bigint;
251
+ enabled: boolean;
252
+ kind: "budget";
253
+ softLimit?: bigint | undefined;
254
+ }, {
255
+ id: string;
256
+ name: string;
257
+ currency: "USDC";
258
+ limit: string | number | bigint;
259
+ enabled: boolean;
260
+ kind: "budget";
261
+ softLimit?: string | number | bigint | undefined;
262
+ }>, z.ZodObject<{
263
+ id: z.ZodString;
264
+ name: z.ZodString;
265
+ enabled: z.ZodBoolean;
266
+ kind: z.ZodLiteral<"allowlist">;
267
+ addresses: z.ZodArray<z.ZodString, "many">;
268
+ chains: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
269
+ }, "strip", z.ZodTypeAny, {
270
+ id: string;
271
+ name: string;
272
+ enabled: boolean;
273
+ kind: "allowlist";
274
+ addresses: string[];
275
+ chains?: number[] | undefined;
276
+ }, {
277
+ id: string;
278
+ name: string;
279
+ enabled: boolean;
280
+ kind: "allowlist";
281
+ addresses: string[];
282
+ chains?: number[] | undefined;
283
+ }>, z.ZodObject<{
284
+ id: z.ZodString;
285
+ name: z.ZodString;
286
+ enabled: z.ZodBoolean;
287
+ kind: z.ZodLiteral<"rate_limit">;
288
+ maxRequests: z.ZodNumber;
289
+ intervalMs: z.ZodNumber;
290
+ burst: z.ZodOptional<z.ZodNumber>;
291
+ scope: z.ZodEnum<["actor", "workspace", "ip"]>;
292
+ }, "strip", z.ZodTypeAny, {
293
+ id: string;
294
+ name: string;
295
+ maxRequests: number;
296
+ intervalMs: number;
297
+ scope: "actor" | "workspace" | "ip";
298
+ enabled: boolean;
299
+ kind: "rate_limit";
300
+ burst?: number | undefined;
301
+ }, {
302
+ id: string;
303
+ name: string;
304
+ maxRequests: number;
305
+ intervalMs: number;
306
+ scope: "actor" | "workspace" | "ip";
307
+ enabled: boolean;
308
+ kind: "rate_limit";
309
+ burst?: number | undefined;
310
+ }>]>;
311
+ export declare const PolicyEvaluationContextSchema: z.ZodObject<{
312
+ actorId: z.ZodString;
313
+ workspaceId: z.ZodString;
314
+ recipient: z.ZodString;
315
+ chainId: z.ZodNumber;
316
+ amount: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>, bigint, string | number | bigint>;
317
+ currency: z.ZodLiteral<"USDC">;
318
+ timestampMs: z.ZodNumber;
319
+ spentAmount: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
320
+ requestCount: z.ZodNumber;
321
+ sourceIp: z.ZodOptional<z.ZodString>;
322
+ }, "strip", z.ZodTypeAny, {
323
+ workspaceId: string;
324
+ actorId: string;
325
+ amount: bigint;
326
+ recipient: string;
327
+ chainId: number;
328
+ currency: "USDC";
329
+ spentAmount: bigint;
330
+ requestCount: number;
331
+ timestampMs: number;
332
+ sourceIp?: string | undefined;
333
+ }, {
334
+ workspaceId: string;
335
+ actorId: string;
336
+ amount: string | number | bigint;
337
+ recipient: string;
338
+ chainId: number;
339
+ currency: "USDC";
340
+ spentAmount: string | number | bigint;
341
+ requestCount: number;
342
+ timestampMs: number;
343
+ sourceIp?: string | undefined;
344
+ }>;
345
+ export declare const SmartWalletSchema: z.ZodObject<{
346
+ address: z.ZodString;
347
+ ownerAddress: z.ZodString;
348
+ chainId: z.ZodNumber;
349
+ provider: z.ZodEnum<["safe", "kernel", "circle"]>;
350
+ entryPointAddress: z.ZodString;
351
+ entryPointVersion: z.ZodEnum<["v0.6", "v0.7"]>;
352
+ factoryAddress: z.ZodOptional<z.ZodString>;
353
+ deployed: z.ZodBoolean;
354
+ }, "strip", z.ZodTypeAny, {
355
+ address: string;
356
+ chainId: number;
357
+ ownerAddress: string;
358
+ provider: "safe" | "kernel" | "circle";
359
+ entryPointAddress: string;
360
+ entryPointVersion: "v0.6" | "v0.7";
361
+ deployed: boolean;
362
+ factoryAddress?: string | undefined;
363
+ }, {
364
+ address: string;
365
+ chainId: number;
366
+ ownerAddress: string;
367
+ provider: "safe" | "kernel" | "circle";
368
+ entryPointAddress: string;
369
+ entryPointVersion: "v0.6" | "v0.7";
370
+ deployed: boolean;
371
+ factoryAddress?: string | undefined;
372
+ }>;
373
+ export declare const UserOperationCallSchema: z.ZodObject<{
374
+ to: z.ZodString;
375
+ value: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
376
+ data: z.ZodString;
377
+ }, "strip", z.ZodTypeAny, {
378
+ value: bigint;
379
+ to: string;
380
+ data: string;
381
+ }, {
382
+ value: string | number | bigint;
383
+ to: string;
384
+ data: string;
385
+ }>;
386
+ export declare const GasEstimateSchema: z.ZodObject<{
387
+ callGasLimit: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
388
+ verificationGasLimit: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
389
+ preVerificationGas: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
390
+ maxFeePerGas: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
391
+ maxPriorityFeePerGas: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
392
+ paymasterVerificationGasLimit: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>>;
393
+ paymasterPostOpGasLimit: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>>;
394
+ }, "strip", z.ZodTypeAny, {
395
+ callGasLimit: bigint;
396
+ verificationGasLimit: bigint;
397
+ preVerificationGas: bigint;
398
+ maxFeePerGas: bigint;
399
+ maxPriorityFeePerGas: bigint;
400
+ paymasterVerificationGasLimit?: bigint | undefined;
401
+ paymasterPostOpGasLimit?: bigint | undefined;
402
+ }, {
403
+ callGasLimit: string | number | bigint;
404
+ verificationGasLimit: string | number | bigint;
405
+ preVerificationGas: string | number | bigint;
406
+ maxFeePerGas: string | number | bigint;
407
+ maxPriorityFeePerGas: string | number | bigint;
408
+ paymasterVerificationGasLimit?: string | number | bigint | undefined;
409
+ paymasterPostOpGasLimit?: string | number | bigint | undefined;
410
+ }>;
411
+ export declare const UserOperationV06Schema: z.ZodObject<{
412
+ version: z.ZodLiteral<"v0.6">;
413
+ sender: z.ZodString;
414
+ nonce: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
415
+ initCode: z.ZodString;
416
+ callData: z.ZodString;
417
+ callGasLimit: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
418
+ verificationGasLimit: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
419
+ preVerificationGas: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
420
+ maxFeePerGas: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
421
+ maxPriorityFeePerGas: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
422
+ paymasterAndData: z.ZodString;
423
+ signature: z.ZodString;
424
+ }, "strip", z.ZodTypeAny, {
425
+ version: "v0.6";
426
+ callGasLimit: bigint;
427
+ verificationGasLimit: bigint;
428
+ preVerificationGas: bigint;
429
+ maxFeePerGas: bigint;
430
+ maxPriorityFeePerGas: bigint;
431
+ sender: string;
432
+ nonce: bigint;
433
+ initCode: string;
434
+ callData: string;
435
+ paymasterAndData: string;
436
+ signature: string;
437
+ }, {
438
+ version: "v0.6";
439
+ callGasLimit: string | number | bigint;
440
+ verificationGasLimit: string | number | bigint;
441
+ preVerificationGas: string | number | bigint;
442
+ maxFeePerGas: string | number | bigint;
443
+ maxPriorityFeePerGas: string | number | bigint;
444
+ sender: string;
445
+ nonce: string | number | bigint;
446
+ initCode: string;
447
+ callData: string;
448
+ paymasterAndData: string;
449
+ signature: string;
450
+ }>;
451
+ export declare const UserOperationV07Schema: z.ZodObject<{
452
+ version: z.ZodLiteral<"v0.7">;
453
+ sender: z.ZodString;
454
+ nonce: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
455
+ factory: z.ZodUnion<[z.ZodString, z.ZodString]>;
456
+ factoryData: z.ZodString;
457
+ callData: z.ZodString;
458
+ callGasLimit: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
459
+ verificationGasLimit: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
460
+ preVerificationGas: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
461
+ maxFeePerGas: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
462
+ maxPriorityFeePerGas: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
463
+ paymaster: z.ZodUnion<[z.ZodString, z.ZodString]>;
464
+ paymasterVerificationGasLimit: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
465
+ paymasterPostOpGasLimit: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
466
+ paymasterData: z.ZodString;
467
+ signature: z.ZodString;
468
+ }, "strip", z.ZodTypeAny, {
469
+ version: "v0.7";
470
+ callGasLimit: bigint;
471
+ verificationGasLimit: bigint;
472
+ preVerificationGas: bigint;
473
+ maxFeePerGas: bigint;
474
+ maxPriorityFeePerGas: bigint;
475
+ paymasterVerificationGasLimit: bigint;
476
+ paymasterPostOpGasLimit: bigint;
477
+ sender: string;
478
+ nonce: bigint;
479
+ callData: string;
480
+ signature: string;
481
+ factory: string;
482
+ factoryData: string;
483
+ paymaster: string;
484
+ paymasterData: string;
485
+ }, {
486
+ version: "v0.7";
487
+ callGasLimit: string | number | bigint;
488
+ verificationGasLimit: string | number | bigint;
489
+ preVerificationGas: string | number | bigint;
490
+ maxFeePerGas: string | number | bigint;
491
+ maxPriorityFeePerGas: string | number | bigint;
492
+ paymasterVerificationGasLimit: string | number | bigint;
493
+ paymasterPostOpGasLimit: string | number | bigint;
494
+ sender: string;
495
+ nonce: string | number | bigint;
496
+ callData: string;
497
+ signature: string;
498
+ factory: string;
499
+ factoryData: string;
500
+ paymaster: string;
501
+ paymasterData: string;
502
+ }>;
503
+ export declare const UserOperationSchema: z.ZodDiscriminatedUnion<"version", [z.ZodObject<{
504
+ version: z.ZodLiteral<"v0.6">;
505
+ sender: z.ZodString;
506
+ nonce: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
507
+ initCode: z.ZodString;
508
+ callData: z.ZodString;
509
+ callGasLimit: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
510
+ verificationGasLimit: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
511
+ preVerificationGas: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
512
+ maxFeePerGas: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
513
+ maxPriorityFeePerGas: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
514
+ paymasterAndData: z.ZodString;
515
+ signature: z.ZodString;
516
+ }, "strip", z.ZodTypeAny, {
517
+ version: "v0.6";
518
+ callGasLimit: bigint;
519
+ verificationGasLimit: bigint;
520
+ preVerificationGas: bigint;
521
+ maxFeePerGas: bigint;
522
+ maxPriorityFeePerGas: bigint;
523
+ sender: string;
524
+ nonce: bigint;
525
+ initCode: string;
526
+ callData: string;
527
+ paymasterAndData: string;
528
+ signature: string;
529
+ }, {
530
+ version: "v0.6";
531
+ callGasLimit: string | number | bigint;
532
+ verificationGasLimit: string | number | bigint;
533
+ preVerificationGas: string | number | bigint;
534
+ maxFeePerGas: string | number | bigint;
535
+ maxPriorityFeePerGas: string | number | bigint;
536
+ sender: string;
537
+ nonce: string | number | bigint;
538
+ initCode: string;
539
+ callData: string;
540
+ paymasterAndData: string;
541
+ signature: string;
542
+ }>, z.ZodObject<{
543
+ version: z.ZodLiteral<"v0.7">;
544
+ sender: z.ZodString;
545
+ nonce: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
546
+ factory: z.ZodUnion<[z.ZodString, z.ZodString]>;
547
+ factoryData: z.ZodString;
548
+ callData: z.ZodString;
549
+ callGasLimit: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
550
+ verificationGasLimit: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
551
+ preVerificationGas: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
552
+ maxFeePerGas: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
553
+ maxPriorityFeePerGas: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
554
+ paymaster: z.ZodUnion<[z.ZodString, z.ZodString]>;
555
+ paymasterVerificationGasLimit: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
556
+ paymasterPostOpGasLimit: z.ZodEffects<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, bigint, string | number | bigint>;
557
+ paymasterData: z.ZodString;
558
+ signature: z.ZodString;
559
+ }, "strip", z.ZodTypeAny, {
560
+ version: "v0.7";
561
+ callGasLimit: bigint;
562
+ verificationGasLimit: bigint;
563
+ preVerificationGas: bigint;
564
+ maxFeePerGas: bigint;
565
+ maxPriorityFeePerGas: bigint;
566
+ paymasterVerificationGasLimit: bigint;
567
+ paymasterPostOpGasLimit: bigint;
568
+ sender: string;
569
+ nonce: bigint;
570
+ callData: string;
571
+ signature: string;
572
+ factory: string;
573
+ factoryData: string;
574
+ paymaster: string;
575
+ paymasterData: string;
576
+ }, {
577
+ version: "v0.7";
578
+ callGasLimit: string | number | bigint;
579
+ verificationGasLimit: string | number | bigint;
580
+ preVerificationGas: string | number | bigint;
581
+ maxFeePerGas: string | number | bigint;
582
+ maxPriorityFeePerGas: string | number | bigint;
583
+ paymasterVerificationGasLimit: string | number | bigint;
584
+ paymasterPostOpGasLimit: string | number | bigint;
585
+ sender: string;
586
+ nonce: string | number | bigint;
587
+ callData: string;
588
+ signature: string;
589
+ factory: string;
590
+ factoryData: string;
591
+ paymaster: string;
592
+ paymasterData: string;
593
+ }>]>;
594
+ export declare function parseAddress(value: unknown): z.infer<typeof AddressSchema>;
595
+ export declare function parsePaymentIntent(value: unknown): z.infer<typeof PaymentIntentSchema>;
596
+ export declare function parsePolicyDefinition(value: unknown): z.infer<typeof PolicyDefinitionSchema>;
597
+ export declare function parseUserOperation(value: unknown): z.infer<typeof UserOperationSchema>;
598
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/validation/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,aAAa,aAEmD,CAAA;AAE7E,eAAO,MAAM,SAAS,aAE6D,CAAA;AAEnF,eAAO,MAAM,eAAe,aAEuD,CAAA;AAEnF,eAAO,MAAM,uBAAuB,qGAQE,CAAA;AAEtC,eAAO,MAAM,oBAAoB,qJAGhC,CAAA;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAQ9B,CAAA;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAOjC,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;EAKrC,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB9B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;EAQ7B,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;EAOhC,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAShC,CAAA;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIjC,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWxC,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS5B,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;EAIlC,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;EAQ5B,CAAA;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAajC,CAAA;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBjC,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAG9B,CAAA;AAEF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAE1E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAEtF;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAExC;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,GACb,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAErC"}