@xyo-network/evm-call-witness 6.1.0 → 7.0.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.
@@ -1,6 +1,7 @@
1
1
  import type { Promisable } from '@xylabs/sdk-js';
2
2
  import type { DivinerConfig, DivinerParams, Payload, Schema } from '@xyo-network/sdk-js';
3
3
  import { AbstractDiviner } from '@xyo-network/sdk-js';
4
+ import * as z from 'zod/mini';
4
5
  import { EvmCallDivinerLabels } from './Labels.ts';
5
6
  import type { EvmCallResult } from './Payload.ts';
6
7
  export type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined];
@@ -16,14 +17,82 @@ export declare const EvmCallResultsSchema: "network.xyo.evm.call.results" & {
16
17
  readonly __schema: true;
17
18
  };
18
19
  export type EvmCallResultsSchema = typeof EvmCallResultsSchema;
19
- export type EvmCallResults = Payload<{
20
+ export declare const EvmCallResultsEntryZod: z.ZodMiniObject<{
21
+ args: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnknown>>;
22
+ result: z.ZodMiniUnknown;
23
+ }, z.core.$strip>;
24
+ export type EvmCallResultsEntry = z.infer<typeof EvmCallResultsEntryZod>;
25
+ export declare const EvmCallResultsZod: z.ZodMiniObject<{
26
+ schema: z.ZodMiniLiteral<"network.xyo.evm.call.results" & {
27
+ readonly __schema: true;
28
+ }>;
29
+ address: z.ZodMiniString<string>;
30
+ chainId: z.ZodMiniNumber<number>;
31
+ results: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
32
+ args: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnknown>>;
33
+ result: z.ZodMiniUnknown;
34
+ }, z.core.$strip>>>;
35
+ }, z.core.$strip>;
36
+ export type EvmCallResults = z.infer<typeof EvmCallResultsZod>;
37
+ export declare const isEvmCallResults: <T>(value: T) => value is T & {
38
+ schema: "network.xyo.evm.call.results" & {
39
+ readonly __schema: true;
40
+ };
20
41
  address: string;
21
42
  chainId: number;
22
43
  results?: Record<string, {
23
- args?: unknown[];
24
44
  result: unknown;
25
- }>;
26
- }, EvmCallResultsSchema>;
45
+ args?: unknown[] | undefined;
46
+ }> | undefined;
47
+ };
48
+ export declare const asEvmCallResults: {
49
+ <T>(value: T): (T & {
50
+ schema: "network.xyo.evm.call.results" & {
51
+ readonly __schema: true;
52
+ };
53
+ address: string;
54
+ chainId: number;
55
+ results?: Record<string, {
56
+ result: unknown;
57
+ args?: unknown[] | undefined;
58
+ }> | undefined;
59
+ }) | undefined;
60
+ <T>(value: T, assert: import("@xylabs/sdk-js").ZodFactoryConfig): T & {
61
+ schema: "network.xyo.evm.call.results" & {
62
+ readonly __schema: true;
63
+ };
64
+ address: string;
65
+ chainId: number;
66
+ results?: Record<string, {
67
+ result: unknown;
68
+ args?: unknown[] | undefined;
69
+ }> | undefined;
70
+ };
71
+ };
72
+ export declare const toEvmCallResults: {
73
+ <T>(value: T): (T & {
74
+ schema: "network.xyo.evm.call.results" & {
75
+ readonly __schema: true;
76
+ };
77
+ address: string;
78
+ chainId: number;
79
+ results?: Record<string, {
80
+ result: unknown;
81
+ args?: unknown[] | undefined;
82
+ }> | undefined;
83
+ }) | undefined;
84
+ <T>(value: T, assert: import("@xylabs/sdk-js").ZodFactoryConfig): T & {
85
+ schema: "network.xyo.evm.call.results" & {
86
+ readonly __schema: true;
87
+ };
88
+ address: string;
89
+ chainId: number;
90
+ results?: Record<string, {
91
+ result: unknown;
92
+ args?: unknown[] | undefined;
93
+ }> | undefined;
94
+ };
95
+ };
27
96
  export declare class EvmCallDiviner<TParams extends EvmCallDivinerParams = EvmCallDivinerParams> extends AbstractDiviner<TParams> {
28
97
  static readonly configSchemas: Schema[];
29
98
  static readonly defaultConfigSchema: Schema;
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EACV,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAC9C,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAGjD,MAAM,MAAM,cAAc,CAAC,OAAO,GAAG,MAAM,EAAE,QAAQ,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AAEvI,eAAO,MAAM,0BAA0B;;CAAwD,CAAA;AAC/F,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC;IAC/C,MAAM,EAAE,0BAA0B,CAAA;CACnC,CAAC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAA;AAEtE,eAAO,MAAM,oBAAoB;;CAAiD,CAAA;AAClF,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAA;AAE9D,MAAM,MAAM,cAAc,GAAG,OAAO,CAClC;IACE,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CACd,MAAM,EACN;QACE,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;QAChB,MAAM,EAAE,OAAO,CAAA;KAChB,CACF,CAAA;CACF,EACD,oBAAoB,CACrB,CAAA;AAED,qBAAa,cAAc,CAAC,OAAO,SAAS,oBAAoB,GAAG,oBAAoB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IACvH,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAuD;IACvG,gBAAyB,mBAAmB,EAAE,MAAM,CAA6B;IACjF,gBAAyB,MAAM,EAAE,oBAAoB,CAA+C;IAEpG,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,GAAG,SAAS;IAKxI,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS;IASzH,SAAS,CAAC,0BAA0B,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,cAAc;cAQzD,aAAa,CAAC,UAAU,GAAE,aAAa,EAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAyBnG,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;CAkB7F"}
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAIhD,OAAO,KAAK,EACV,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAC9C,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAGjD,MAAM,MAAM,cAAc,CAAC,OAAO,GAAG,MAAM,EAAE,QAAQ,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AAEvI,eAAO,MAAM,0BAA0B;;CAAwD,CAAA;AAC/F,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC;IAC/C,MAAM,EAAE,0BAA0B,CAAA;CACnC,CAAC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAA;AAEtE,eAAO,MAAM,oBAAoB;;CAAiD,CAAA;AAClF,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAA;AAE9D,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAExE,eAAO,MAAM,iBAAiB;;;;;;;;;;iBAI5B,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE9D,eAAO,MAAM,gBAAgB;;;;;;;;;;CAAkC,CAAA;AAC/D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;CAAsD,CAAA;AACnF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;CAAsD,CAAA;AAEnF,qBAAa,cAAc,CAAC,OAAO,SAAS,oBAAoB,GAAG,oBAAoB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IACvH,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAuD;IACvG,gBAAyB,mBAAmB,EAAE,MAAM,CAA6B;IACjF,gBAAyB,MAAM,EAAE,oBAAoB,CAA+C;IAEpG,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,GAAG,SAAS;IAKxI,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS;IASzH,SAAS,CAAC,0BAA0B,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,cAAc;cAQzD,aAAa,CAAC,UAAU,GAAE,aAAa,EAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAyBnG,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;CAkB7F"}
@@ -1,36 +1,382 @@
1
- import type { Payload } from '@xyo-network/sdk-js';
1
+ import * as z from 'zod/mini';
2
2
  export declare const EvmCallSchema: "network.xyo.evm.call" & {
3
3
  readonly __schema: true;
4
4
  };
5
5
  export type EvmCallSchema = typeof EvmCallSchema;
6
- export type EvmCall = Payload<{
7
- address?: string;
8
- args?: unknown[];
9
- block?: number;
10
- functionName?: string;
11
- }, EvmCallSchema>;
6
+ export declare const EvmCallZod: z.ZodMiniObject<{
7
+ schema: z.ZodMiniLiteral<"network.xyo.evm.call" & {
8
+ readonly __schema: true;
9
+ }>;
10
+ address: z.ZodMiniOptional<z.ZodMiniString<string>>;
11
+ args: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnknown>>;
12
+ block: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
13
+ functionName: z.ZodMiniOptional<z.ZodMiniString<string>>;
14
+ }, z.core.$strip>;
15
+ export type EvmCall = z.infer<typeof EvmCallZod>;
16
+ export declare const isEvmCall: <T>(value: T) => value is T & {
17
+ schema: "network.xyo.evm.call" & {
18
+ readonly __schema: true;
19
+ };
20
+ address?: string | undefined;
21
+ args?: unknown[] | undefined;
22
+ block?: number | undefined;
23
+ functionName?: string | undefined;
24
+ };
25
+ export declare const asEvmCall: {
26
+ <T>(value: T): (T & {
27
+ schema: "network.xyo.evm.call" & {
28
+ readonly __schema: true;
29
+ };
30
+ address?: string | undefined;
31
+ args?: unknown[] | undefined;
32
+ block?: number | undefined;
33
+ functionName?: string | undefined;
34
+ }) | undefined;
35
+ <T>(value: T, assert: import("@xylabs/sdk-js").ZodFactoryConfig): T & {
36
+ schema: "network.xyo.evm.call" & {
37
+ readonly __schema: true;
38
+ };
39
+ address?: string | undefined;
40
+ args?: unknown[] | undefined;
41
+ block?: number | undefined;
42
+ functionName?: string | undefined;
43
+ };
44
+ };
45
+ export declare const toEvmCall: {
46
+ <T>(value: T): (T & {
47
+ schema: "network.xyo.evm.call" & {
48
+ readonly __schema: true;
49
+ };
50
+ address?: string | undefined;
51
+ args?: unknown[] | undefined;
52
+ block?: number | undefined;
53
+ functionName?: string | undefined;
54
+ }) | undefined;
55
+ <T>(value: T, assert: import("@xylabs/sdk-js").ZodFactoryConfig): T & {
56
+ schema: "network.xyo.evm.call" & {
57
+ readonly __schema: true;
58
+ };
59
+ address?: string | undefined;
60
+ args?: unknown[] | undefined;
61
+ block?: number | undefined;
62
+ functionName?: string | undefined;
63
+ };
64
+ };
12
65
  export declare const EvmCallResultSchema: "network.xyo.evm.call.result" & {
13
66
  readonly __schema: true;
14
67
  };
15
68
  export type EvmCallResultSchema = typeof EvmCallResultSchema;
16
- export type EvmCallResultBase = Payload<{
69
+ export declare const EvmCallResultBaseZod: z.ZodMiniObject<{
70
+ schema: z.ZodMiniLiteral<"network.xyo.evm.call.result" & {
71
+ readonly __schema: true;
72
+ }>;
73
+ address: z.ZodMiniString<string>;
74
+ args: z.ZodMiniArray<z.ZodMiniUnknown>;
75
+ block: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
76
+ chainId: z.ZodMiniNumber<number>;
77
+ functionName: z.ZodMiniString<string>;
78
+ implementation: z.ZodMiniOptional<z.ZodMiniString<string>>;
79
+ }, z.core.$strip>;
80
+ export type EvmCallResultBase = z.infer<typeof EvmCallResultBaseZod>;
81
+ export declare const EvmCallSuccessZod: z.ZodMiniObject<{
82
+ schema: z.ZodMiniLiteral<"network.xyo.evm.call.result" & {
83
+ readonly __schema: true;
84
+ }>;
85
+ address: z.ZodMiniString<string>;
86
+ args: z.ZodMiniArray<z.ZodMiniUnknown>;
87
+ block: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
88
+ chainId: z.ZodMiniNumber<number>;
89
+ functionName: z.ZodMiniString<string>;
90
+ implementation: z.ZodMiniOptional<z.ZodMiniString<string>>;
91
+ result: z.ZodMiniUnknown;
92
+ }, z.core.$strip>;
93
+ export type EvmCallSuccess = EvmCallResultBase & {
94
+ result: unknown;
95
+ };
96
+ export declare const EvmCallFailureZod: z.ZodMiniObject<{
97
+ schema: z.ZodMiniLiteral<"network.xyo.evm.call.result" & {
98
+ readonly __schema: true;
99
+ }>;
100
+ address: z.ZodMiniString<string>;
101
+ args: z.ZodMiniArray<z.ZodMiniUnknown>;
102
+ block: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
103
+ chainId: z.ZodMiniNumber<number>;
104
+ functionName: z.ZodMiniString<string>;
105
+ implementation: z.ZodMiniOptional<z.ZodMiniString<string>>;
106
+ error: z.ZodMiniString<string>;
107
+ }, z.core.$strip>;
108
+ export type EvmCallFailure = EvmCallResultBase & {
109
+ error: string;
110
+ };
111
+ export declare const EvmCallResultZod: z.ZodMiniUnion<readonly [z.ZodMiniObject<{
112
+ schema: z.ZodMiniLiteral<"network.xyo.evm.call.result" & {
113
+ readonly __schema: true;
114
+ }>;
115
+ address: z.ZodMiniString<string>;
116
+ args: z.ZodMiniArray<z.ZodMiniUnknown>;
117
+ block: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
118
+ chainId: z.ZodMiniNumber<number>;
119
+ functionName: z.ZodMiniString<string>;
120
+ implementation: z.ZodMiniOptional<z.ZodMiniString<string>>;
121
+ result: z.ZodMiniUnknown;
122
+ }, z.core.$strip>, z.ZodMiniObject<{
123
+ schema: z.ZodMiniLiteral<"network.xyo.evm.call.result" & {
124
+ readonly __schema: true;
125
+ }>;
126
+ address: z.ZodMiniString<string>;
127
+ args: z.ZodMiniArray<z.ZodMiniUnknown>;
128
+ block: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
129
+ chainId: z.ZodMiniNumber<number>;
130
+ functionName: z.ZodMiniString<string>;
131
+ implementation: z.ZodMiniOptional<z.ZodMiniString<string>>;
132
+ error: z.ZodMiniString<string>;
133
+ }, z.core.$strip>]>;
134
+ export type EvmCallResult = EvmCallSuccess | EvmCallFailure;
135
+ export declare const isEvmCallResult: <T>(value: T) => value is T & ({
136
+ schema: "network.xyo.evm.call.result" & {
137
+ readonly __schema: true;
138
+ };
17
139
  address: string;
18
140
  args: unknown[];
19
- block?: number;
20
141
  chainId: number;
21
142
  functionName: string;
22
- implementation?: string;
23
- }, EvmCallResultSchema>;
24
- export type EvmCallSuccess = EvmCallResultBase & {
25
143
  result: unknown;
144
+ block?: number | undefined;
145
+ implementation?: string | undefined;
146
+ } | {
147
+ schema: "network.xyo.evm.call.result" & {
148
+ readonly __schema: true;
149
+ };
150
+ address: string;
151
+ args: unknown[];
152
+ chainId: number;
153
+ functionName: string;
154
+ error: string;
155
+ block?: number | undefined;
156
+ implementation?: string | undefined;
157
+ });
158
+ export declare const asEvmCallResult: {
159
+ <T>(value: T): (T & ({
160
+ schema: "network.xyo.evm.call.result" & {
161
+ readonly __schema: true;
162
+ };
163
+ address: string;
164
+ args: unknown[];
165
+ chainId: number;
166
+ functionName: string;
167
+ result: unknown;
168
+ block?: number | undefined;
169
+ implementation?: string | undefined;
170
+ } | {
171
+ schema: "network.xyo.evm.call.result" & {
172
+ readonly __schema: true;
173
+ };
174
+ address: string;
175
+ args: unknown[];
176
+ chainId: number;
177
+ functionName: string;
178
+ error: string;
179
+ block?: number | undefined;
180
+ implementation?: string | undefined;
181
+ })) | undefined;
182
+ <T>(value: T, assert: import("@xylabs/sdk-js").ZodFactoryConfig): T & ({
183
+ schema: "network.xyo.evm.call.result" & {
184
+ readonly __schema: true;
185
+ };
186
+ address: string;
187
+ args: unknown[];
188
+ chainId: number;
189
+ functionName: string;
190
+ result: unknown;
191
+ block?: number | undefined;
192
+ implementation?: string | undefined;
193
+ } | {
194
+ schema: "network.xyo.evm.call.result" & {
195
+ readonly __schema: true;
196
+ };
197
+ address: string;
198
+ args: unknown[];
199
+ chainId: number;
200
+ functionName: string;
201
+ error: string;
202
+ block?: number | undefined;
203
+ implementation?: string | undefined;
204
+ });
26
205
  };
27
- export type EvmCallFailure = EvmCallResultBase & {
206
+ export declare const toEvmCallResult: {
207
+ <T>(value: T): (T & ({
208
+ schema: "network.xyo.evm.call.result" & {
209
+ readonly __schema: true;
210
+ };
211
+ address: string;
212
+ args: unknown[];
213
+ chainId: number;
214
+ functionName: string;
215
+ result: unknown;
216
+ block?: number | undefined;
217
+ implementation?: string | undefined;
218
+ } | {
219
+ schema: "network.xyo.evm.call.result" & {
220
+ readonly __schema: true;
221
+ };
222
+ address: string;
223
+ args: unknown[];
224
+ chainId: number;
225
+ functionName: string;
226
+ error: string;
227
+ block?: number | undefined;
228
+ implementation?: string | undefined;
229
+ })) | undefined;
230
+ <T>(value: T, assert: import("@xylabs/sdk-js").ZodFactoryConfig): T & ({
231
+ schema: "network.xyo.evm.call.result" & {
232
+ readonly __schema: true;
233
+ };
234
+ address: string;
235
+ args: unknown[];
236
+ chainId: number;
237
+ functionName: string;
238
+ result: unknown;
239
+ block?: number | undefined;
240
+ implementation?: string | undefined;
241
+ } | {
242
+ schema: "network.xyo.evm.call.result" & {
243
+ readonly __schema: true;
244
+ };
245
+ address: string;
246
+ args: unknown[];
247
+ chainId: number;
248
+ functionName: string;
249
+ error: string;
250
+ block?: number | undefined;
251
+ implementation?: string | undefined;
252
+ });
253
+ };
254
+ export declare const isEvmCallSuccess: <T>(value: T) => value is T & {
255
+ schema: "network.xyo.evm.call.result" & {
256
+ readonly __schema: true;
257
+ };
258
+ address: string;
259
+ args: unknown[];
260
+ chainId: number;
261
+ functionName: string;
262
+ result: unknown;
263
+ block?: number | undefined;
264
+ implementation?: string | undefined;
265
+ };
266
+ export declare const asEvmCallSuccess: {
267
+ <T>(value: T): (T & {
268
+ schema: "network.xyo.evm.call.result" & {
269
+ readonly __schema: true;
270
+ };
271
+ address: string;
272
+ args: unknown[];
273
+ chainId: number;
274
+ functionName: string;
275
+ result: unknown;
276
+ block?: number | undefined;
277
+ implementation?: string | undefined;
278
+ }) | undefined;
279
+ <T>(value: T, assert: import("@xylabs/sdk-js").ZodFactoryConfig): T & {
280
+ schema: "network.xyo.evm.call.result" & {
281
+ readonly __schema: true;
282
+ };
283
+ address: string;
284
+ args: unknown[];
285
+ chainId: number;
286
+ functionName: string;
287
+ result: unknown;
288
+ block?: number | undefined;
289
+ implementation?: string | undefined;
290
+ };
291
+ };
292
+ export declare const toEvmCallSuccess: {
293
+ <T>(value: T): (T & {
294
+ schema: "network.xyo.evm.call.result" & {
295
+ readonly __schema: true;
296
+ };
297
+ address: string;
298
+ args: unknown[];
299
+ chainId: number;
300
+ functionName: string;
301
+ result: unknown;
302
+ block?: number | undefined;
303
+ implementation?: string | undefined;
304
+ }) | undefined;
305
+ <T>(value: T, assert: import("@xylabs/sdk-js").ZodFactoryConfig): T & {
306
+ schema: "network.xyo.evm.call.result" & {
307
+ readonly __schema: true;
308
+ };
309
+ address: string;
310
+ args: unknown[];
311
+ chainId: number;
312
+ functionName: string;
313
+ result: unknown;
314
+ block?: number | undefined;
315
+ implementation?: string | undefined;
316
+ };
317
+ };
318
+ export declare const isEvmCallFailure: <T>(value: T) => value is T & {
319
+ schema: "network.xyo.evm.call.result" & {
320
+ readonly __schema: true;
321
+ };
322
+ address: string;
323
+ args: unknown[];
324
+ chainId: number;
325
+ functionName: string;
28
326
  error: string;
327
+ block?: number | undefined;
328
+ implementation?: string | undefined;
329
+ };
330
+ export declare const asEvmCallFailure: {
331
+ <T>(value: T): (T & {
332
+ schema: "network.xyo.evm.call.result" & {
333
+ readonly __schema: true;
334
+ };
335
+ address: string;
336
+ args: unknown[];
337
+ chainId: number;
338
+ functionName: string;
339
+ error: string;
340
+ block?: number | undefined;
341
+ implementation?: string | undefined;
342
+ }) | undefined;
343
+ <T>(value: T, assert: import("@xylabs/sdk-js").ZodFactoryConfig): T & {
344
+ schema: "network.xyo.evm.call.result" & {
345
+ readonly __schema: true;
346
+ };
347
+ address: string;
348
+ args: unknown[];
349
+ chainId: number;
350
+ functionName: string;
351
+ error: string;
352
+ block?: number | undefined;
353
+ implementation?: string | undefined;
354
+ };
355
+ };
356
+ export declare const toEvmCallFailure: {
357
+ <T>(value: T): (T & {
358
+ schema: "network.xyo.evm.call.result" & {
359
+ readonly __schema: true;
360
+ };
361
+ address: string;
362
+ args: unknown[];
363
+ chainId: number;
364
+ functionName: string;
365
+ error: string;
366
+ block?: number | undefined;
367
+ implementation?: string | undefined;
368
+ }) | undefined;
369
+ <T>(value: T, assert: import("@xylabs/sdk-js").ZodFactoryConfig): T & {
370
+ schema: "network.xyo.evm.call.result" & {
371
+ readonly __schema: true;
372
+ };
373
+ address: string;
374
+ args: unknown[];
375
+ chainId: number;
376
+ functionName: string;
377
+ error: string;
378
+ block?: number | undefined;
379
+ implementation?: string | undefined;
380
+ };
29
381
  };
30
- export type EvmCallResult = EvmCallSuccess | EvmCallFailure;
31
- export declare const isEvmCallSuccess: (payload?: EvmCallResult) => payload is EvmCallSuccess;
32
- export declare const isEvmCallFailure: (payload?: EvmCallResult) => payload is EvmCallFailure;
33
- export declare const isEvmCallResult: (x?: unknown) => x is EvmCallResult;
34
- export declare const asEvmCallSuccess: (payload?: EvmCallResult) => EvmCallSuccess | undefined;
35
- export declare const asEvmCallFailure: (payload?: EvmCallResult) => EvmCallFailure | undefined;
36
382
  //# sourceMappingURL=Payload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,eAAO,MAAM,aAAa;;CAAyC,CAAA;AACnE,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAA;AAEhD,MAAM,MAAM,OAAO,GAAG,OAAO,CAC3B;IACE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,EACD,aAAa,CACd,CAAA;AAED,eAAO,MAAM,mBAAmB;;CAAgD,CAAA;AAChF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA;AAE5D,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACrC;IACE,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,EACD,mBAAmB,CACpB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;IAC/C,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;IAC/C,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,cAAc,CAAA;AAE3D,eAAO,MAAM,gBAAgB,GAAI,UAAU,aAAa,KAAG,OAAO,IAAI,cAErE,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,UAAU,aAAa,KAAG,OAAO,IAAI,cAErE,CAAA;AAED,eAAO,MAAM,eAAe,qCAA4D,CAAA;AAExF,eAAO,MAAM,gBAAgB,GAAI,UAAU,aAAa,+BAAsD,CAAA;AAE9G,eAAO,MAAM,gBAAgB,GAAI,UAAU,aAAa,+BAAsD,CAAA"}
1
+ {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,eAAO,MAAM,aAAa;;CAAyC,CAAA;AACnE,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAA;AAEhD,eAAO,MAAM,UAAU;;;;;;;;iBAKrB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA;AAEhD,eAAO,MAAM,SAAS;;;;;;;;CAA2B,CAAA;AACjD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;CAAwC,CAAA;AAC9D,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;CAAwC,CAAA;AAE9D,eAAO,MAAM,mBAAmB;;CAAgD,CAAA;AAChF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA;AAE5D,eAAO,MAAM,oBAAoB;;;;;;;;;;iBAO/B,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEpE,eAAO,MAAM,iBAAiB;;;;;;;;;;;iBAEmD,CAAA;AAEjF,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;IAC/C,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;iBAEiD,CAAA;AAE/E,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;IAC/C,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;mBAAkD,CAAA;AAE/E,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,cAAc,CAAA;AAE3D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;EAAiC,CAAA;AAC7D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoD,CAAA;AAChF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoD,CAAA;AAEhF,eAAO,MAAM,gBAAgB;;;;;;;;;;;CAAkC,CAAA;AAC/D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;CAAsD,CAAA;AACnF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;CAAsD,CAAA;AAEnF,eAAO,MAAM,gBAAgB;;;;;;;;;;;CAAkC,CAAA;AAC/D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;CAAsD,CAAA;AACnF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;CAAsD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAG1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD,OAAO,KAAK,EACV,OAAO,EAAE,aAAa,EAEvB,MAAM,cAAc,CAAA;AAGrB,qBAAa,cAAc,CAAC,OAAO,SAAS,oBAAoB,GAAG,oBAAoB,CAAE,SAAQ,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC;IAClJ,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAuD;IACvG,gBAAyB,mBAAmB,EAAE,MAAM,CAA6B;IAEjF,IAAI,GAAG,IACoD,YAAY,CACtE;cAEwB,cAAc,CAAC,UAAU,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAyD9F"}
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAG1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD,OAAO,KAAK,EACV,OAAO,EAAE,aAAa,EAEvB,MAAM,cAAc,CAAA;AAGrB,qBAAa,cAAc,CAAC,OAAO,SAAS,oBAAoB,GAAG,oBAAoB,CAAE,SAAQ,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC;IAClJ,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAuD;IACvG,gBAAyB,mBAAmB,EAAE,MAAM,CAA6B;IAEjF,IAAI,GAAG,IACoD,YAAY,CACtE;cAEwB,cAAc,CAAC,UAAU,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CA0D9F"}
@@ -1,31 +1,76 @@
1
1
  // src/Diviner.ts
2
- import { assertEx } from "@xylabs/sdk-js";
2
+ import {
3
+ assertEx,
4
+ zodAsFactory as zodAsFactory2,
5
+ zodIsFactory as zodIsFactory2,
6
+ zodToFactory as zodToFactory2
7
+ } from "@xylabs/sdk-js";
3
8
  import {
4
9
  AbstractDiviner,
5
10
  asSchema as asSchema2,
6
- isPayloadOfSchemaType as isPayloadOfSchemaType2
11
+ isPayloadOfSchemaType,
12
+ PayloadZodOfSchema as PayloadZodOfSchema2
7
13
  } from "@xyo-network/sdk-js";
14
+ import * as z2 from "zod/mini";
8
15
 
9
16
  // src/Labels.ts
10
17
  var EvmCallDivinerLabels = { "network.xyo.crypto.contract.info": "diviner" };
11
18
 
12
19
  // src/Payload.ts
13
- import { asSchema, isPayloadOfSchemaType } from "@xyo-network/sdk-js";
20
+ import {
21
+ zodAsFactory,
22
+ zodIsFactory,
23
+ zodToFactory
24
+ } from "@xylabs/sdk-js";
25
+ import { asSchema, PayloadZodOfSchema } from "@xyo-network/sdk-js";
26
+ import * as z from "zod/mini";
14
27
  var EvmCallSchema = asSchema("network.xyo.evm.call", true);
28
+ var EvmCallZod = z.extend(PayloadZodOfSchema(EvmCallSchema), {
29
+ address: z.optional(z.string()),
30
+ args: z.optional(z.array(z.unknown())),
31
+ block: z.optional(z.number()),
32
+ functionName: z.optional(z.string())
33
+ });
34
+ var isEvmCall = zodIsFactory(EvmCallZod);
35
+ var asEvmCall = zodAsFactory(EvmCallZod, "asEvmCall");
36
+ var toEvmCall = zodToFactory(EvmCallZod, "toEvmCall");
15
37
  var EvmCallResultSchema = asSchema("network.xyo.evm.call.result", true);
16
- var isEvmCallSuccess = (payload) => {
17
- return payload?.result !== void 0;
18
- };
19
- var isEvmCallFailure = (payload) => {
20
- return payload?.error !== void 0;
21
- };
22
- var isEvmCallResult = isPayloadOfSchemaType(EvmCallResultSchema);
23
- var asEvmCallSuccess = (payload) => isEvmCallSuccess(payload) ? payload : void 0;
24
- var asEvmCallFailure = (payload) => isEvmCallFailure(payload) ? payload : void 0;
38
+ var EvmCallResultBaseZod = z.extend(PayloadZodOfSchema(EvmCallResultSchema), {
39
+ address: z.string(),
40
+ args: z.array(z.unknown()),
41
+ block: z.optional(z.number()),
42
+ chainId: z.number(),
43
+ functionName: z.string(),
44
+ implementation: z.optional(z.string())
45
+ });
46
+ var EvmCallSuccessZod = z.extend(EvmCallResultBaseZod, { result: z.unknown() }).check(z.refine((value) => value.result !== void 0));
47
+ var EvmCallFailureZod = z.extend(EvmCallResultBaseZod, { error: z.string() }).check(z.refine((value) => value.error !== void 0));
48
+ var EvmCallResultZod = z.union([EvmCallSuccessZod, EvmCallFailureZod]);
49
+ var isEvmCallResult = zodIsFactory(EvmCallResultZod);
50
+ var asEvmCallResult = zodAsFactory(EvmCallResultZod, "asEvmCallResult");
51
+ var toEvmCallResult = zodToFactory(EvmCallResultZod, "toEvmCallResult");
52
+ var isEvmCallSuccess = zodIsFactory(EvmCallSuccessZod);
53
+ var asEvmCallSuccess = zodAsFactory(EvmCallSuccessZod, "asEvmCallSuccess");
54
+ var toEvmCallSuccess = zodToFactory(EvmCallSuccessZod, "toEvmCallSuccess");
55
+ var isEvmCallFailure = zodIsFactory(EvmCallFailureZod);
56
+ var asEvmCallFailure = zodAsFactory(EvmCallFailureZod, "asEvmCallFailure");
57
+ var toEvmCallFailure = zodToFactory(EvmCallFailureZod, "toEvmCallFailure");
25
58
 
26
59
  // src/Diviner.ts
27
60
  var EvmCallDivinerConfigSchema = asSchema2("network.xyo.evm.call.diviner.config", true);
28
61
  var EvmCallResultsSchema = asSchema2("network.xyo.evm.call.results", true);
62
+ var EvmCallResultsEntryZod = z2.object({
63
+ args: z2.optional(z2.array(z2.unknown())),
64
+ result: z2.unknown()
65
+ });
66
+ var EvmCallResultsZod = z2.extend(PayloadZodOfSchema2(EvmCallResultsSchema), {
67
+ address: z2.string(),
68
+ chainId: z2.number(),
69
+ results: z2.optional(z2.record(z2.string(), EvmCallResultsEntryZod))
70
+ });
71
+ var isEvmCallResults = zodIsFactory2(EvmCallResultsZod);
72
+ var asEvmCallResults = zodAsFactory2(EvmCallResultsZod, "asEvmCallResults");
73
+ var toEvmCallResults = zodToFactory2(EvmCallResultsZod, "toEvmCallResults");
29
74
  var EvmCallDiviner = class _EvmCallDiviner extends AbstractDiviner {
30
75
  static configSchemas = [...super.configSchemas, EvmCallDivinerConfigSchema];
31
76
  static defaultConfigSchema = EvmCallDivinerConfigSchema;
@@ -49,7 +94,7 @@ var EvmCallDiviner = class _EvmCallDiviner extends AbstractDiviner {
49
94
  };
50
95
  }
51
96
  async divineHandler(inPayloads = []) {
52
- const callResults = inPayloads.filter(isPayloadOfSchemaType2(EvmCallResultSchema));
97
+ const callResults = inPayloads.filter(isPayloadOfSchemaType(EvmCallResultSchema));
53
98
  const addresses = Object.keys(
54
99
  // eslint-disable-next-line unicorn/no-array-reduce
55
100
  callResults.reduce((prev, result2) => {
@@ -94,7 +139,7 @@ import {
94
139
  } from "@xylabs/sdk-js";
95
140
  import { getErc1822SlotStatus } from "@xyo-network/erc1822-witness";
96
141
  import { getErc1967SlotStatus } from "@xyo-network/erc1967-witness";
97
- import { isPayloadOfSchemaType as isPayloadOfSchemaType3 } from "@xyo-network/sdk-js";
142
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType2 } from "@xyo-network/sdk-js";
98
143
  import { AbstractEvmWitness } from "@xyo-network/witness-evm-abstract";
99
144
  import { Contract } from "ethers";
100
145
  var EvmCallWitness = class extends AbstractEvmWitness {
@@ -108,7 +153,7 @@ var EvmCallWitness = class extends AbstractEvmWitness {
108
153
  await this.getProviders();
109
154
  try {
110
155
  const observations = await Promise.all(
111
- inPayloads.filter(isPayloadOfSchemaType3(EvmCallSchema)).map(async ({
156
+ inPayloads.filter(isPayloadOfSchemaType2(EvmCallSchema)).map(async ({
112
157
  functionName,
113
158
  args,
114
159
  address,
@@ -121,7 +166,7 @@ var EvmCallWitness = class extends AbstractEvmWitness {
121
166
  const block = this.config.block ?? payloadBlock ?? await provider.getBlockNumber();
122
167
  const erc1967Status = await getErc1967SlotStatus(provider, validatedAddress, block);
123
168
  const erc1822Status = await getErc1822SlotStatus(provider, validatedAddress, block);
124
- const implementation = isHexZero(erc1967Status.slots.implementation ?? "0x00") ? erc1822Status.implementation : erc1967Status.implementation;
169
+ const implementation = (isHexZero(erc1967Status.slots.implementation ?? "0x00") === true ? erc1822Status : erc1967Status).implementation;
125
170
  const contract = new Contract(implementation, this.abi, provider);
126
171
  let transformedResult;
127
172
  try {
@@ -129,11 +174,12 @@ var EvmCallWitness = class extends AbstractEvmWitness {
129
174
  transformedResult = typeof result === "bigint" ? `0x${result.toString(16)}` : result;
130
175
  } catch {
131
176
  }
177
+ const network = await provider.getNetwork();
132
178
  const observation = {
133
179
  address: validatedAddress,
134
180
  args: mergedArgs,
135
181
  block,
136
- chainId: Number((await provider.getNetwork()).chainId),
182
+ chainId: Number(network.chainId),
137
183
  functionName: validatedFunctionName,
138
184
  result: transformedResult,
139
185
  schema: EvmCallResultSchema
@@ -156,15 +202,32 @@ export {
156
202
  EvmCallDiviner,
157
203
  EvmCallDivinerConfigSchema,
158
204
  EvmCallDivinerLabels,
205
+ EvmCallFailureZod,
206
+ EvmCallResultBaseZod,
159
207
  EvmCallResultSchema,
208
+ EvmCallResultZod,
209
+ EvmCallResultsEntryZod,
160
210
  EvmCallResultsSchema,
211
+ EvmCallResultsZod,
161
212
  EvmCallSchema,
213
+ EvmCallSuccessZod,
162
214
  EvmCallWitness,
163
215
  EvmCallWitnessConfigSchema,
216
+ EvmCallZod,
217
+ asEvmCall,
164
218
  asEvmCallFailure,
219
+ asEvmCallResult,
220
+ asEvmCallResults,
165
221
  asEvmCallSuccess,
222
+ isEvmCall,
166
223
  isEvmCallFailure,
167
224
  isEvmCallResult,
168
- isEvmCallSuccess
225
+ isEvmCallResults,
226
+ isEvmCallSuccess,
227
+ toEvmCall,
228
+ toEvmCallFailure,
229
+ toEvmCallResult,
230
+ toEvmCallResults,
231
+ toEvmCallSuccess
169
232
  };
170
233
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Diviner.ts", "../../src/Labels.ts", "../../src/Payload.ts", "../../src/model.ts", "../../src/Witness.ts"],
4
- "sourcesContent": ["import type { Promisable } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport type {\n DivinerConfig, DivinerParams, Payload, Schema,\n} from '@xyo-network/sdk-js'\nimport {\n AbstractDiviner, asSchema, isPayloadOfSchemaType,\n} from '@xyo-network/sdk-js'\n\nimport { EvmCallDivinerLabels } from './Labels.ts'\nimport type { EvmCallResult } from './Payload.ts'\nimport { asEvmCallSuccess, EvmCallResultSchema } from './Payload.ts'\n\nexport type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined]\n\nexport const EvmCallDivinerConfigSchema = asSchema('network.xyo.evm.call.diviner.config', true)\nexport type EvmCallDivinerConfigSchema = typeof EvmCallDivinerConfigSchema\n\nexport type EvmCallDivinerConfig = DivinerConfig<{\n schema: EvmCallDivinerConfigSchema\n}>\nexport type EvmCallDivinerParams = DivinerParams<EvmCallDivinerConfig>\n\nexport const EvmCallResultsSchema = asSchema('network.xyo.evm.call.results', true)\nexport type EvmCallResultsSchema = typeof EvmCallResultsSchema\n\nexport type EvmCallResults = Payload<\n {\n address: string\n chainId: number\n results?: Record<\n string,\n {\n args?: unknown[]\n result: unknown\n }\n >\n },\n EvmCallResultsSchema\n>\n\nexport class EvmCallDiviner<TParams extends EvmCallDivinerParams = EvmCallDivinerParams> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallDivinerConfigSchema\n static override readonly labels: EvmCallDivinerLabels = { ...super.labels, ...EvmCallDivinerLabels }\n\n protected static findCallResult<TResult = string>(address: string, functionName: string, payloads: EvmCallResult[]): TResult | undefined {\n const foundPayload = payloads.find(payload => payload.functionName === functionName && payload.address === address)\n return asEvmCallSuccess(foundPayload)?.result as TResult | undefined\n }\n\n protected static matchingExistingField<R = string, T extends Payload = Payload>(objs: T[], field: keyof T): R | undefined {\n const expectedValue = objs.at(0)?.[field] as R\n // eslint-disable-next-line unicorn/no-array-reduce\n const didNotMatch = objs.reduce((prev, obj) => {\n return prev || obj[field] !== expectedValue\n }, false)\n return didNotMatch ? undefined : expectedValue\n }\n\n protected contractInfoRequiredFields(callResults: EvmCallResult[]): EvmCallResults {\n return {\n address: assertEx(EvmCallDiviner.matchingExistingField(callResults, 'address'), () => 'Mismatched address'),\n chainId: assertEx(EvmCallDiviner.matchingExistingField(callResults, 'chainId'), () => 'Mismatched chainId'),\n schema: EvmCallResultsSchema,\n }\n }\n\n protected override async divineHandler(inPayloads: EvmCallResult[] = []): Promise<EvmCallResults[]> {\n const callResults = inPayloads.filter(isPayloadOfSchemaType<EvmCallResult>(EvmCallResultSchema))\n const addresses = Object.keys(\n // eslint-disable-next-line unicorn/no-array-reduce\n callResults.reduce<Record<string, boolean>>((prev, result) => {\n if (result.address) {\n prev[result.address] = true\n }\n return prev\n }, {}),\n )\n const result = await Promise.all(\n addresses.map(async (address) => {\n const foundCallResults = callResults.filter(callResult => callResult.address === address)\n const results: EvmCallResults = {\n results: await this.reduceResults(foundCallResults),\n ...this.contractInfoRequiredFields(foundCallResults),\n }\n return results\n }),\n )\n\n return result\n }\n\n protected reduceResults(callResults: EvmCallResult[]): Promisable<EvmCallResults['results']> {\n // eslint-disable-next-line unicorn/no-array-reduce\n return callResults.reduce<\n Record<\n string,\n {\n args?: unknown[]\n result: unknown\n }\n >\n >((prev, callResult) => {\n const typedCallResult = asEvmCallSuccess(callResult)\n if (typedCallResult) {\n prev[callResult.functionName] = { args: typedCallResult.args, result: typedCallResult?.result }\n }\n return prev\n }, {})\n }\n}\n", "import type { Labels } from '@xyo-network/sdk-js'\n\n/**\n * Labels for Crypto Contract Diviner components\n */\nexport interface EvmCallDivinerLabels extends Labels {\n 'network.xyo.crypto.contract.info': 'diviner'\n}\n\n/**\n * Labels for Crypto Contract Diviner components\n */\nexport const EvmCallDivinerLabels: EvmCallDivinerLabels = { 'network.xyo.crypto.contract.info': 'diviner' }\n", "import type { Payload } from '@xyo-network/sdk-js'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk-js'\n\nexport const EvmCallSchema = asSchema('network.xyo.evm.call', true)\nexport type EvmCallSchema = typeof EvmCallSchema\n\nexport type EvmCall = Payload<\n {\n address?: string\n args?: unknown[]\n block?: number\n functionName?: string\n },\n EvmCallSchema\n>\n\nexport const EvmCallResultSchema = asSchema('network.xyo.evm.call.result', true)\nexport type EvmCallResultSchema = typeof EvmCallResultSchema\n\nexport type EvmCallResultBase = Payload<\n {\n address: string\n args: unknown[]\n block?: number\n chainId: number\n functionName: string\n implementation?: string\n },\n EvmCallResultSchema\n>\n\nexport type EvmCallSuccess = EvmCallResultBase & {\n result: unknown\n}\n\nexport type EvmCallFailure = EvmCallResultBase & {\n error: string\n}\n\nexport type EvmCallResult = EvmCallSuccess | EvmCallFailure\n\nexport const isEvmCallSuccess = (payload?: EvmCallResult): payload is EvmCallSuccess => {\n return (payload as EvmCallSuccess | undefined)?.result !== undefined\n}\n\nexport const isEvmCallFailure = (payload?: EvmCallResult): payload is EvmCallFailure => {\n return (payload as EvmCallFailure | undefined)?.error !== undefined\n}\n\nexport const isEvmCallResult = isPayloadOfSchemaType<EvmCallResult>(EvmCallResultSchema)\n\nexport const asEvmCallSuccess = (payload?: EvmCallResult) => (isEvmCallSuccess(payload) ? payload : undefined)\n\nexport const asEvmCallFailure = (payload?: EvmCallResult) => (isEvmCallFailure(payload) ? payload : undefined)\n", "import { asSchema } from '@xyo-network/sdk-js'\nimport type { EvmWitnessConfig, EvmWitnessParams } from '@xyo-network/witness-evm-abstract'\nimport type { JsonFragment } from 'ethers'\n\nexport type Abi = string | readonly (JsonFragment | string)[]\n\nexport const EvmCallWitnessConfigSchema = asSchema('network.xyo.evm.call.witness.config', true)\nexport type EvmCallWitnessConfigSchema = typeof EvmCallWitnessConfigSchema\n\nexport type EvmCallWitnessConfig = EvmWitnessConfig<\n {\n abi?: Abi\n address?: string\n args?: unknown[]\n block?: number\n functionName?: string\n },\n EvmCallWitnessConfigSchema\n>\n\nexport type EvmCallWitnessParams = EvmWitnessParams<EvmCallWitnessConfig>\n", "import type { JsonObject } from '@xylabs/sdk-js'\nimport {\n asEthAddress, assertEx, isHexZero,\n} from '@xylabs/sdk-js'\nimport { getErc1822SlotStatus } from '@xyo-network/erc1822-witness'\nimport { getErc1967SlotStatus } from '@xyo-network/erc1967-witness'\nimport type { Schema } from '@xyo-network/sdk-js'\nimport { isPayloadOfSchemaType } from '@xyo-network/sdk-js'\nimport { AbstractEvmWitness } from '@xyo-network/witness-evm-abstract'\nimport type { InterfaceAbi } from 'ethers'\nimport { Contract } from 'ethers'\n\nimport type { EvmCallWitnessParams } from './model.ts'\nimport { EvmCallWitnessConfigSchema } from './model.ts'\nimport type {\n EvmCall, EvmCallResult,\n EvmCallSuccess,\n} from './Payload.ts'\nimport { EvmCallResultSchema, EvmCallSchema } from './Payload.ts'\n\nexport class EvmCallWitness<TParams extends EvmCallWitnessParams = EvmCallWitnessParams> extends AbstractEvmWitness<TParams, EvmCall, EvmCallResult> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallWitnessConfigSchema\n\n get abi() {\n return assertEx(this.config.abi, () => 'Missing abi') as InterfaceAbi\n }\n\n protected override async observeHandler(inPayloads: EvmCall[] = []): Promise<EvmCallResult[]> {\n await this.startedAsync('throw')\n // calling it here to make sure we rests the cache\n await this.getProviders()\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType<EvmCall>(EvmCallSchema)).map(async ({\n functionName, args, address, block: payloadBlock,\n }) => {\n const validatedAddress = asEthAddress(assertEx(address ?? this.config.address, () => 'Missing address'), true)\n const validatedFunctionName = assertEx(functionName ?? this.config.functionName, () => 'Missing address')\n const mergedArgs = [...(args ?? this.config.args ?? [])] as JsonObject[]\n\n const provider = await this.getProvider(true, true)\n\n const block = this.config.block ?? payloadBlock ?? (await provider.getBlockNumber())\n\n // Check if ERC-1967 Upgradeable\n const erc1967Status = await getErc1967SlotStatus(provider, validatedAddress, block)\n\n // Check if ERC-1822 Upgradeable\n const erc1822Status = await getErc1822SlotStatus(provider, validatedAddress, block)\n\n const implementation = isHexZero(erc1967Status.slots.implementation ?? '0x00') ? erc1822Status.implementation : erc1967Status.implementation\n\n const contract = new Contract(implementation, this.abi, provider)\n let transformedResult: unknown\n try {\n const result = await contract[validatedFunctionName](...mergedArgs)\n transformedResult = typeof result === 'bigint' ? `0x${result.toString(16)}` : result\n } catch {\n // const error = ex as Error & { code: string }\n // this.logger.error(`Error [${this.config.name}]: ${error.code} : ${error.message}`)\n }\n const observation: EvmCallSuccess = {\n address: validatedAddress,\n args: mergedArgs,\n block,\n chainId: Number((await provider.getNetwork()).chainId),\n functionName: validatedFunctionName,\n result: transformedResult,\n schema: EvmCallResultSchema,\n }\n if (implementation !== validatedAddress) {\n observation.implementation = implementation\n }\n // console.log(`observation: ${JSON.stringify(observation, null, 2)}`)\n return observation\n }),\n )\n return observations\n } catch (ex) {\n const error = ex as Error\n console.log(`Error [${this.config.name}]: ${error.message}`)\n throw error\n }\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["asSchema", "isPayloadOfSchemaType", "asSchema", "isPayloadOfSchemaType", "result", "asSchema", "assertEx", "isPayloadOfSchemaType", "assertEx", "isPayloadOfSchemaType"]
4
+ "sourcesContent": ["import type { Promisable } from '@xylabs/sdk-js'\nimport {\n assertEx, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport type {\n DivinerConfig, DivinerParams, Payload, Schema,\n} from '@xyo-network/sdk-js'\nimport {\n AbstractDiviner, asSchema, isPayloadOfSchemaType, PayloadZodOfSchema,\n} from '@xyo-network/sdk-js'\nimport * as z from 'zod/mini'\n\nimport { EvmCallDivinerLabels } from './Labels.ts'\nimport type { EvmCallResult } from './Payload.ts'\nimport { asEvmCallSuccess, EvmCallResultSchema } from './Payload.ts'\n\nexport type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined]\n\nexport const EvmCallDivinerConfigSchema = asSchema('network.xyo.evm.call.diviner.config', true)\nexport type EvmCallDivinerConfigSchema = typeof EvmCallDivinerConfigSchema\n\nexport type EvmCallDivinerConfig = DivinerConfig<{\n schema: EvmCallDivinerConfigSchema\n}>\nexport type EvmCallDivinerParams = DivinerParams<EvmCallDivinerConfig>\n\nexport const EvmCallResultsSchema = asSchema('network.xyo.evm.call.results', true)\nexport type EvmCallResultsSchema = typeof EvmCallResultsSchema\n\nexport const EvmCallResultsEntryZod = z.object({\n args: z.optional(z.array(z.unknown())),\n result: z.unknown(),\n})\n\nexport type EvmCallResultsEntry = z.infer<typeof EvmCallResultsEntryZod>\n\nexport const EvmCallResultsZod = z.extend(PayloadZodOfSchema(EvmCallResultsSchema), {\n address: z.string(),\n chainId: z.number(),\n results: z.optional(z.record(z.string(), EvmCallResultsEntryZod)),\n})\n\nexport type EvmCallResults = z.infer<typeof EvmCallResultsZod>\n\nexport const isEvmCallResults = zodIsFactory(EvmCallResultsZod)\nexport const asEvmCallResults = zodAsFactory(EvmCallResultsZod, 'asEvmCallResults')\nexport const toEvmCallResults = zodToFactory(EvmCallResultsZod, 'toEvmCallResults')\n\nexport class EvmCallDiviner<TParams extends EvmCallDivinerParams = EvmCallDivinerParams> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallDivinerConfigSchema\n static override readonly labels: EvmCallDivinerLabels = { ...super.labels, ...EvmCallDivinerLabels }\n\n protected static findCallResult<TResult = string>(address: string, functionName: string, payloads: EvmCallResult[]): TResult | undefined {\n const foundPayload = payloads.find(payload => payload.functionName === functionName && payload.address === address)\n return asEvmCallSuccess(foundPayload)?.result as TResult | undefined\n }\n\n protected static matchingExistingField<R = string, T extends Payload = Payload>(objs: T[], field: keyof T): R | undefined {\n const expectedValue = objs.at(0)?.[field] as R\n // eslint-disable-next-line unicorn/no-array-reduce\n const didNotMatch = objs.reduce((prev, obj) => {\n return prev || obj[field] !== expectedValue\n }, false)\n return didNotMatch ? undefined : expectedValue\n }\n\n protected contractInfoRequiredFields(callResults: EvmCallResult[]): EvmCallResults {\n return {\n address: assertEx(EvmCallDiviner.matchingExistingField(callResults, 'address'), () => 'Mismatched address'),\n chainId: assertEx(EvmCallDiviner.matchingExistingField(callResults, 'chainId'), () => 'Mismatched chainId'),\n schema: EvmCallResultsSchema,\n }\n }\n\n protected override async divineHandler(inPayloads: EvmCallResult[] = []): Promise<EvmCallResults[]> {\n const callResults = inPayloads.filter(isPayloadOfSchemaType<EvmCallResult>(EvmCallResultSchema))\n const addresses = Object.keys(\n // eslint-disable-next-line unicorn/no-array-reduce\n callResults.reduce<Record<string, boolean>>((prev, result) => {\n if (result.address) {\n prev[result.address] = true\n }\n return prev\n }, {}),\n )\n const result = await Promise.all(\n addresses.map(async (address) => {\n const foundCallResults = callResults.filter(callResult => callResult.address === address)\n const results: EvmCallResults = {\n results: await this.reduceResults(foundCallResults),\n ...this.contractInfoRequiredFields(foundCallResults),\n }\n return results\n }),\n )\n\n return result\n }\n\n protected reduceResults(callResults: EvmCallResult[]): Promisable<EvmCallResults['results']> {\n // eslint-disable-next-line unicorn/no-array-reduce\n return callResults.reduce<\n Record<\n string,\n {\n args?: unknown[]\n result: unknown\n }\n >\n >((prev, callResult) => {\n const typedCallResult = asEvmCallSuccess(callResult)\n if (typedCallResult) {\n prev[callResult.functionName] = { args: typedCallResult.args, result: typedCallResult?.result }\n }\n return prev\n }, {})\n }\n}\n", "import type { Labels } from '@xyo-network/sdk-js'\n\n/**\n * Labels for Crypto Contract Diviner components\n */\nexport interface EvmCallDivinerLabels extends Labels {\n 'network.xyo.crypto.contract.info': 'diviner'\n}\n\n/**\n * Labels for Crypto Contract Diviner components\n */\nexport const EvmCallDivinerLabels: EvmCallDivinerLabels = { 'network.xyo.crypto.contract.info': 'diviner' }\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk-js'\nimport * as z from 'zod/mini'\n\nexport const EvmCallSchema = asSchema('network.xyo.evm.call', true)\nexport type EvmCallSchema = typeof EvmCallSchema\n\nexport const EvmCallZod = z.extend(PayloadZodOfSchema(EvmCallSchema), {\n address: z.optional(z.string()),\n args: z.optional(z.array(z.unknown())),\n block: z.optional(z.number()),\n functionName: z.optional(z.string()),\n})\n\nexport type EvmCall = z.infer<typeof EvmCallZod>\n\nexport const isEvmCall = zodIsFactory(EvmCallZod)\nexport const asEvmCall = zodAsFactory(EvmCallZod, 'asEvmCall')\nexport const toEvmCall = zodToFactory(EvmCallZod, 'toEvmCall')\n\nexport const EvmCallResultSchema = asSchema('network.xyo.evm.call.result', true)\nexport type EvmCallResultSchema = typeof EvmCallResultSchema\n\nexport const EvmCallResultBaseZod = z.extend(PayloadZodOfSchema(EvmCallResultSchema), {\n address: z.string(),\n args: z.array(z.unknown()),\n block: z.optional(z.number()),\n chainId: z.number(),\n functionName: z.string(),\n implementation: z.optional(z.string()),\n})\n\nexport type EvmCallResultBase = z.infer<typeof EvmCallResultBaseZod>\n\nexport const EvmCallSuccessZod = z\n .extend(EvmCallResultBaseZod, { result: z.unknown() })\n .check(z.refine(value => (value as { result?: unknown }).result !== undefined))\n\nexport type EvmCallSuccess = EvmCallResultBase & {\n result: unknown\n}\n\nexport const EvmCallFailureZod = z\n .extend(EvmCallResultBaseZod, { error: z.string() })\n .check(z.refine(value => (value as { error?: unknown }).error !== undefined))\n\nexport type EvmCallFailure = EvmCallResultBase & {\n error: string\n}\n\nexport const EvmCallResultZod = z.union([EvmCallSuccessZod, EvmCallFailureZod])\n\nexport type EvmCallResult = EvmCallSuccess | EvmCallFailure\n\nexport const isEvmCallResult = zodIsFactory(EvmCallResultZod)\nexport const asEvmCallResult = zodAsFactory(EvmCallResultZod, 'asEvmCallResult')\nexport const toEvmCallResult = zodToFactory(EvmCallResultZod, 'toEvmCallResult')\n\nexport const isEvmCallSuccess = zodIsFactory(EvmCallSuccessZod)\nexport const asEvmCallSuccess = zodAsFactory(EvmCallSuccessZod, 'asEvmCallSuccess')\nexport const toEvmCallSuccess = zodToFactory(EvmCallSuccessZod, 'toEvmCallSuccess')\n\nexport const isEvmCallFailure = zodIsFactory(EvmCallFailureZod)\nexport const asEvmCallFailure = zodAsFactory(EvmCallFailureZod, 'asEvmCallFailure')\nexport const toEvmCallFailure = zodToFactory(EvmCallFailureZod, 'toEvmCallFailure')\n", "import { asSchema } from '@xyo-network/sdk-js'\nimport type { EvmWitnessConfig, EvmWitnessParams } from '@xyo-network/witness-evm-abstract'\nimport type { JsonFragment } from 'ethers'\n\nexport type Abi = string | readonly (JsonFragment | string)[]\n\nexport const EvmCallWitnessConfigSchema = asSchema('network.xyo.evm.call.witness.config', true)\nexport type EvmCallWitnessConfigSchema = typeof EvmCallWitnessConfigSchema\n\nexport type EvmCallWitnessConfig = EvmWitnessConfig<\n {\n abi?: Abi\n address?: string\n args?: unknown[]\n block?: number\n functionName?: string\n },\n EvmCallWitnessConfigSchema\n>\n\nexport type EvmCallWitnessParams = EvmWitnessParams<EvmCallWitnessConfig>\n", "import type { JsonObject } from '@xylabs/sdk-js'\nimport {\n asEthAddress, assertEx, isHexZero,\n} from '@xylabs/sdk-js'\nimport { getErc1822SlotStatus } from '@xyo-network/erc1822-witness'\nimport { getErc1967SlotStatus } from '@xyo-network/erc1967-witness'\nimport type { Schema } from '@xyo-network/sdk-js'\nimport { isPayloadOfSchemaType } from '@xyo-network/sdk-js'\nimport { AbstractEvmWitness } from '@xyo-network/witness-evm-abstract'\nimport type { InterfaceAbi } from 'ethers'\nimport { Contract } from 'ethers'\n\nimport type { EvmCallWitnessParams } from './model.ts'\nimport { EvmCallWitnessConfigSchema } from './model.ts'\nimport type {\n EvmCall, EvmCallResult,\n EvmCallSuccess,\n} from './Payload.ts'\nimport { EvmCallResultSchema, EvmCallSchema } from './Payload.ts'\n\nexport class EvmCallWitness<TParams extends EvmCallWitnessParams = EvmCallWitnessParams> extends AbstractEvmWitness<TParams, EvmCall, EvmCallResult> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallWitnessConfigSchema\n\n get abi() {\n return assertEx(this.config.abi, () => 'Missing abi') as InterfaceAbi\n }\n\n protected override async observeHandler(inPayloads: EvmCall[] = []): Promise<EvmCallResult[]> {\n await this.startedAsync('throw')\n // calling it here to make sure we rests the cache\n await this.getProviders()\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType<EvmCall>(EvmCallSchema)).map(async ({\n functionName, args, address, block: payloadBlock,\n }) => {\n const validatedAddress = asEthAddress(assertEx(address ?? this.config.address, () => 'Missing address'), true)\n const validatedFunctionName = assertEx(functionName ?? this.config.functionName, () => 'Missing address')\n const mergedArgs = [...(args ?? this.config.args ?? [])] as JsonObject[]\n\n const provider = await this.getProvider(true, true)\n\n const block = this.config.block ?? payloadBlock ?? (await provider.getBlockNumber())\n\n // Check if ERC-1967 Upgradeable\n const erc1967Status = await getErc1967SlotStatus(provider, validatedAddress, block)\n\n // Check if ERC-1822 Upgradeable\n const erc1822Status = await getErc1822SlotStatus(provider, validatedAddress, block)\n\n const implementation = (isHexZero(erc1967Status.slots.implementation ?? '0x00') === true ? erc1822Status : erc1967Status).implementation\n\n const contract = new Contract(implementation, this.abi, provider)\n let transformedResult: unknown\n try {\n const result: unknown = await contract[validatedFunctionName](...mergedArgs)\n transformedResult = typeof result === 'bigint' ? `0x${result.toString(16)}` : result\n } catch {\n // const error = ex as Error & { code: string }\n // this.logger.error(`Error [${this.config.name}]: ${error.code} : ${error.message}`)\n }\n const network = await provider.getNetwork()\n const observation: EvmCallSuccess = {\n address: validatedAddress,\n args: mergedArgs,\n block,\n chainId: Number(network.chainId),\n functionName: validatedFunctionName,\n result: transformedResult,\n schema: EvmCallResultSchema,\n }\n if (implementation !== validatedAddress) {\n observation.implementation = implementation\n }\n // console.log(`observation: ${JSON.stringify(observation, null, 2)}`)\n return observation\n }),\n )\n return observations\n } catch (ex) {\n const error = ex as Error\n console.log(`Error [${this.config.name}]: ${error.message}`)\n throw error\n }\n }\n}\n"],
5
+ "mappings": ";AACA;AAAA,EACE;AAAA,EAAU,gBAAAA;AAAA,EAAc,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACjC;AAIP;AAAA,EACE;AAAA,EAAiB,YAAAC;AAAA,EAAU;AAAA,EAAuB,sBAAAC;AAAA,OAC7C;AACP,YAAYC,QAAO;;;ACEZ,IAAM,uBAA6C,EAAE,oCAAoC,UAAU;;;ACZ1G;AAAA,EACE;AAAA,EAAc;AAAA,EAAc;AAAA,OACvB;AACP,SAAS,UAAU,0BAA0B;AAC7C,YAAY,OAAO;AAEZ,IAAM,gBAAgB,SAAS,wBAAwB,IAAI;AAG3D,IAAM,aAAe,SAAO,mBAAmB,aAAa,GAAG;AAAA,EACpE,SAAW,WAAW,SAAO,CAAC;AAAA,EAC9B,MAAQ,WAAW,QAAQ,UAAQ,CAAC,CAAC;AAAA,EACrC,OAAS,WAAW,SAAO,CAAC;AAAA,EAC5B,cAAgB,WAAW,SAAO,CAAC;AACrC,CAAC;AAIM,IAAM,YAAY,aAAa,UAAU;AACzC,IAAM,YAAY,aAAa,YAAY,WAAW;AACtD,IAAM,YAAY,aAAa,YAAY,WAAW;AAEtD,IAAM,sBAAsB,SAAS,+BAA+B,IAAI;AAGxE,IAAM,uBAAyB,SAAO,mBAAmB,mBAAmB,GAAG;AAAA,EACpF,SAAW,SAAO;AAAA,EAClB,MAAQ,QAAQ,UAAQ,CAAC;AAAA,EACzB,OAAS,WAAW,SAAO,CAAC;AAAA,EAC5B,SAAW,SAAO;AAAA,EAClB,cAAgB,SAAO;AAAA,EACvB,gBAAkB,WAAW,SAAO,CAAC;AACvC,CAAC;AAIM,IAAM,oBACV,SAAO,sBAAsB,EAAE,QAAU,UAAQ,EAAE,CAAC,EACpD,MAAQ,SAAO,WAAU,MAA+B,WAAW,MAAS,CAAC;AAMzE,IAAM,oBACV,SAAO,sBAAsB,EAAE,OAAS,SAAO,EAAE,CAAC,EAClD,MAAQ,SAAO,WAAU,MAA8B,UAAU,MAAS,CAAC;AAMvE,IAAM,mBAAqB,QAAM,CAAC,mBAAmB,iBAAiB,CAAC;AAIvE,IAAM,kBAAkB,aAAa,gBAAgB;AACrD,IAAM,kBAAkB,aAAa,kBAAkB,iBAAiB;AACxE,IAAM,kBAAkB,aAAa,kBAAkB,iBAAiB;AAExE,IAAM,mBAAmB,aAAa,iBAAiB;AACvD,IAAM,mBAAmB,aAAa,mBAAmB,kBAAkB;AAC3E,IAAM,mBAAmB,aAAa,mBAAmB,kBAAkB;AAE3E,IAAM,mBAAmB,aAAa,iBAAiB;AACvD,IAAM,mBAAmB,aAAa,mBAAmB,kBAAkB;AAC3E,IAAM,mBAAmB,aAAa,mBAAmB,kBAAkB;;;AFhD3E,IAAM,6BAA6BC,UAAS,uCAAuC,IAAI;AAQvF,IAAM,uBAAuBA,UAAS,gCAAgC,IAAI;AAG1E,IAAM,yBAA2B,UAAO;AAAA,EAC7C,MAAQ,YAAW,SAAQ,WAAQ,CAAC,CAAC;AAAA,EACrC,QAAU,WAAQ;AACpB,CAAC;AAIM,IAAM,oBAAsB,UAAOC,oBAAmB,oBAAoB,GAAG;AAAA,EAClF,SAAW,UAAO;AAAA,EAClB,SAAW,UAAO;AAAA,EAClB,SAAW,YAAW,UAAS,UAAO,GAAG,sBAAsB,CAAC;AAClE,CAAC;AAIM,IAAM,mBAAmBC,cAAa,iBAAiB;AACvD,IAAM,mBAAmBC,cAAa,mBAAmB,kBAAkB;AAC3E,IAAM,mBAAmBC,cAAa,mBAAmB,kBAAkB;AAE3E,IAAM,iBAAN,MAAM,wBAAoF,gBAAyB;AAAA,EACxH,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,0BAA0B;AAAA,EACtG,OAAyB,sBAA8B;AAAA,EACvD,OAAyB,SAA+B,EAAE,GAAG,MAAM,QAAQ,GAAG,qBAAqB;AAAA,EAEnG,OAAiB,eAAiC,SAAiB,cAAsB,UAAgD;AACvI,UAAM,eAAe,SAAS,KAAK,aAAW,QAAQ,iBAAiB,gBAAgB,QAAQ,YAAY,OAAO;AAClH,WAAO,iBAAiB,YAAY,GAAG;AAAA,EACzC;AAAA,EAEA,OAAiB,sBAA+D,MAAW,OAA+B;AACxH,UAAM,gBAAgB,KAAK,GAAG,CAAC,IAAI,KAAK;AAExC,UAAM,cAAc,KAAK,OAAO,CAAC,MAAM,QAAQ;AAC7C,aAAO,QAAQ,IAAI,KAAK,MAAM;AAAA,IAChC,GAAG,KAAK;AACR,WAAO,cAAc,SAAY;AAAA,EACnC;AAAA,EAEU,2BAA2B,aAA8C;AACjF,WAAO;AAAA,MACL,SAAS,SAAS,gBAAe,sBAAsB,aAAa,SAAS,GAAG,MAAM,oBAAoB;AAAA,MAC1G,SAAS,SAAS,gBAAe,sBAAsB,aAAa,SAAS,GAAG,MAAM,oBAAoB;AAAA,MAC1G,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAEA,MAAyB,cAAc,aAA8B,CAAC,GAA8B;AAClG,UAAM,cAAc,WAAW,OAAO,sBAAqC,mBAAmB,CAAC;AAC/F,UAAM,YAAY,OAAO;AAAA;AAAA,MAEvB,YAAY,OAAgC,CAAC,MAAMC,YAAW;AAC5D,YAAIA,QAAO,SAAS;AAClB,eAAKA,QAAO,OAAO,IAAI;AAAA,QACzB;AACA,eAAO;AAAA,MACT,GAAG,CAAC,CAAC;AAAA,IACP;AACA,UAAM,SAAS,MAAM,QAAQ;AAAA,MAC3B,UAAU,IAAI,OAAO,YAAY;AAC/B,cAAM,mBAAmB,YAAY,OAAO,gBAAc,WAAW,YAAY,OAAO;AACxF,cAAM,UAA0B;AAAA,UAC9B,SAAS,MAAM,KAAK,cAAc,gBAAgB;AAAA,UAClD,GAAG,KAAK,2BAA2B,gBAAgB;AAAA,QACrD;AACA,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAEA,WAAO;AAAA,EACT;AAAA,EAEU,cAAc,aAAqE;AAE3F,WAAO,YAAY,OAQjB,CAAC,MAAM,eAAe;AACtB,YAAM,kBAAkB,iBAAiB,UAAU;AACnD,UAAI,iBAAiB;AACnB,aAAK,WAAW,YAAY,IAAI,EAAE,MAAM,gBAAgB,MAAM,QAAQ,iBAAiB,OAAO;AAAA,MAChG;AACA,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,EACP;AACF;;;AGtHA,SAAS,YAAAC,iBAAgB;AAMlB,IAAM,6BAA6BA,UAAS,uCAAuC,IAAI;;;ACL9F;AAAA,EACE;AAAA,EAAc,YAAAC;AAAA,EAAU;AAAA,OACnB;AACP,SAAS,4BAA4B;AACrC,SAAS,4BAA4B;AAErC,SAAS,yBAAAC,8BAA6B;AACtC,SAAS,0BAA0B;AAEnC,SAAS,gBAAgB;AAUlB,IAAM,iBAAN,cAA0F,mBAAoD;AAAA,EACnJ,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,0BAA0B;AAAA,EACtG,OAAyB,sBAA8B;AAAA,EAEvD,IAAI,MAAM;AACR,WAAOC,UAAS,KAAK,OAAO,KAAK,MAAM,aAAa;AAAA,EACtD;AAAA,EAEA,MAAyB,eAAe,aAAwB,CAAC,GAA6B;AAC5F,UAAM,KAAK,aAAa,OAAO;AAE/B,UAAM,KAAK,aAAa;AACxB,QAAI;AACF,YAAM,eAAe,MAAM,QAAQ;AAAA,QACjC,WAAW,OAAOC,uBAA+B,aAAa,CAAC,EAAE,IAAI,OAAO;AAAA,UAC1E;AAAA,UAAc;AAAA,UAAM;AAAA,UAAS,OAAO;AAAA,QACtC,MAAM;AACJ,gBAAM,mBAAmB,aAAaD,UAAS,WAAW,KAAK,OAAO,SAAS,MAAM,iBAAiB,GAAG,IAAI;AAC7G,gBAAM,wBAAwBA,UAAS,gBAAgB,KAAK,OAAO,cAAc,MAAM,iBAAiB;AACxG,gBAAM,aAAa,CAAC,GAAI,QAAQ,KAAK,OAAO,QAAQ,CAAC,CAAE;AAEvD,gBAAM,WAAW,MAAM,KAAK,YAAY,MAAM,IAAI;AAElD,gBAAM,QAAQ,KAAK,OAAO,SAAS,gBAAiB,MAAM,SAAS,eAAe;AAGlF,gBAAM,gBAAgB,MAAM,qBAAqB,UAAU,kBAAkB,KAAK;AAGlF,gBAAM,gBAAgB,MAAM,qBAAqB,UAAU,kBAAkB,KAAK;AAElF,gBAAM,kBAAkB,UAAU,cAAc,MAAM,kBAAkB,MAAM,MAAM,OAAO,gBAAgB,eAAe;AAE1H,gBAAM,WAAW,IAAI,SAAS,gBAAgB,KAAK,KAAK,QAAQ;AAChE,cAAI;AACJ,cAAI;AACF,kBAAM,SAAkB,MAAM,SAAS,qBAAqB,EAAE,GAAG,UAAU;AAC3E,gCAAoB,OAAO,WAAW,WAAW,KAAK,OAAO,SAAS,EAAE,CAAC,KAAK;AAAA,UAChF,QAAQ;AAAA,UAGR;AACA,gBAAM,UAAU,MAAM,SAAS,WAAW;AAC1C,gBAAM,cAA8B;AAAA,YAClC,SAAS;AAAA,YACT,MAAM;AAAA,YACN;AAAA,YACA,SAAS,OAAO,QAAQ,OAAO;AAAA,YAC/B,cAAc;AAAA,YACd,QAAQ;AAAA,YACR,QAAQ;AAAA,UACV;AACA,cAAI,mBAAmB,kBAAkB;AACvC,wBAAY,iBAAiB;AAAA,UAC/B;AAEA,iBAAO;AAAA,QACT,CAAC;AAAA,MACH;AACA,aAAO;AAAA,IACT,SAAS,IAAI;AACX,YAAM,QAAQ;AACd,cAAQ,IAAI,UAAU,KAAK,OAAO,IAAI,MAAM,MAAM,OAAO,EAAE;AAC3D,YAAM;AAAA,IACR;AAAA,EACF;AACF;",
6
+ "names": ["zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "z", "asSchema", "PayloadZodOfSchema", "zodIsFactory", "zodAsFactory", "zodToFactory", "result", "asSchema", "assertEx", "isPayloadOfSchemaType", "assertEx", "isPayloadOfSchemaType"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/evm-call-witness",
3
- "version": "6.1.0",
3
+ "version": "7.0.0",
4
4
  "description": "Typescript/Javascript Plugins for XYO Platform",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -31,50 +31,42 @@
31
31
  "README.md"
32
32
  ],
33
33
  "dependencies": {
34
- "@xyo-network/erc1822-witness": "~6.1.0",
35
- "@xyo-network/erc1967-witness": "~6.1.0"
34
+ "@xyo-network/erc1967-witness": "~7.0.0",
35
+ "@xyo-network/erc1822-witness": "~7.0.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@bitauth/libauth": "~3.0.0",
39
39
  "@metamask/providers": "^22.1.1",
40
40
  "@noble/post-quantum": "~0.6.1",
41
41
  "@opentelemetry/api": "^1.9.1",
42
- "@opentelemetry/sdk-trace-base": "^2.7.1",
42
+ "@opentelemetry/sdk-trace-base": "^2.8.0",
43
43
  "@scure/base": "^2.2.0",
44
44
  "@scure/bip39": "~2.2.0",
45
- "@xylabs/geo": "^6.1.0",
46
- "@xylabs/sdk-js": "^6.1.0",
47
- "@xylabs/threads": "^6.1.0",
48
- "@xylabs/toolchain": "~8.1.20",
49
- "@xylabs/tsconfig": "~8.1.20",
50
- "@xylabs/vitest-extended": "^6.1.0",
51
- "@xyo-network/diviner-boundwitness": "^6.1.0",
52
- "@xyo-network/diviner-jsonpatch": "^6.1.0",
53
- "@xyo-network/diviner-jsonpatch-memory": "^6.1.0",
54
- "@xyo-network/diviner-jsonpath-aggregate-memory": "^6.1.0",
55
- "@xyo-network/diviner-model": "^6.1.0",
56
- "@xyo-network/diviner-payload-generic": "^6.1.0",
57
- "@xyo-network/diviner-payload-model": "^6.1.0",
58
- "@xyo-network/diviner-range": "^6.1.0",
59
- "@xyo-network/diviner-temporal-indexing": "^6.1.0",
60
- "@xyo-network/module-model": "^6.1.0",
61
- "@xyo-network/module-resolver": "^6.1.0",
62
- "@xyo-network/node-memory": "^6.1.0",
45
+ "@xylabs/geo": "^6.1.3",
46
+ "@xylabs/sdk-js": "^6.1.3",
47
+ "@xylabs/threads": "^6.1.3",
48
+ "@xylabs/toolchain": "~8.2.7",
49
+ "@xylabs/tsconfig": "~8.2.7",
50
+ "@xylabs/vitest-extended": "^6.1.3",
51
+ "@xyo-network/diviner-boundwitness": "^7.0.0",
52
+ "@xyo-network/diviner-jsonpatch": "^7.0.0",
53
+ "@xyo-network/diviner-jsonpatch-memory": "^7.0.0",
54
+ "@xyo-network/diviner-jsonpath-aggregate-memory": "^7.0.0",
55
+ "@xyo-network/diviner-payload-generic": "^7.0.0",
56
+ "@xyo-network/diviner-payload-model": "^7.0.0",
57
+ "@xyo-network/diviner-range": "^7.0.0",
58
+ "@xyo-network/diviner-temporal-indexing": "^7.0.0",
63
59
  "@xyo-network/open-zeppelin-typechain": "^4.1.3",
64
- "@xyo-network/payload-model": "^6.1.0",
65
- "@xyo-network/payload-utils": "^6.1.0",
66
- "@xyo-network/sdk-js": "^6.1.0",
67
- "@xyo-network/sdk-protocol-js": "~6.1",
68
- "@xyo-network/sentinel-model": "^6.1.0",
69
- "@xyo-network/wallet-model": "^6.1.0",
70
- "@xyo-network/witness-adhoc": "^6.1.0",
71
- "@xyo-network/witness-evm-abstract": "^6.1.0",
72
- "@xyo-network/witness-model": "^6.1.0",
73
- "@xyo-network/witness-timestamp": "^6.1.0",
60
+ "@xyo-network/payload-utils": "~7.0",
61
+ "@xyo-network/sdk-js": "^7.0.0",
62
+ "@xyo-network/sdk-protocol-js": "~7.0",
63
+ "@xyo-network/witness-adhoc": "^7.0.0",
64
+ "@xyo-network/witness-evm-abstract": "~7.0",
65
+ "@xyo-network/witness-timestamp": "^7.0.0",
74
66
  "ajv": "^8.20.0",
75
67
  "async-mutex": "^0.5.0",
76
68
  "debug": "~4.4.3",
77
- "eslint": "^10.4.1",
69
+ "eslint": "^10.5.0",
78
70
  "ethers": "^6.16.0",
79
71
  "fast-json-patch": "~3.1.1",
80
72
  "hash-wasm": "^4.12.0",
@@ -84,13 +76,13 @@
84
76
  "observable-fns": "~0.6.1",
85
77
  "typescript": "~6.0.3",
86
78
  "vite": "^8.0.16",
87
- "vitest": "^4.1.8",
79
+ "vitest": "^4.1.9",
88
80
  "webextension-polyfill": "^0.12.0",
89
81
  "zod": "^4.4.3",
90
- "@xyo-network/evm-contract-witness": "~6.1.0",
91
- "@xyo-network/crypto-contract-function-read-payload-plugin": "~6.1.0",
92
- "@xyo-network/evm-nft-id-payload-plugin": "~6.1.0",
93
- "@xyo-network/evm-token-interface-diviner": "~6.1.0"
82
+ "@xyo-network/crypto-contract-function-read-payload-plugin": "~7.0.0",
83
+ "@xyo-network/evm-nft-id-payload-plugin": "~7.0.0",
84
+ "@xyo-network/evm-contract-witness": "~7.0.0",
85
+ "@xyo-network/evm-token-interface-diviner": "~7.0.0"
94
86
  },
95
87
  "peerDependencies": {
96
88
  "@bitauth/libauth": "~3.0",
@@ -104,9 +96,9 @@
104
96
  "@xylabs/sdk-js": "^6.0",
105
97
  "@xylabs/threads": "^6.0",
106
98
  "@xyo-network/open-zeppelin-typechain": "^4.1",
107
- "@xyo-network/sdk-js": "^6.0",
108
- "@xyo-network/sdk-protocol-js": "^6.1",
109
- "@xyo-network/witness-evm-abstract": "^6.0",
99
+ "@xyo-network/sdk-js": "^7.0",
100
+ "@xyo-network/sdk-protocol-js": "^7.0",
101
+ "@xyo-network/witness-evm-abstract": "~7.0",
110
102
  "ajv": "^8.20",
111
103
  "async-mutex": "^0.5",
112
104
  "debug": "~4.4",