@o1-labs/mina-archive-node-graphql 0.0.6

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 (138) hide show
  1. package/README.md +321 -0
  2. package/build/benchmark/setup.js +32 -0
  3. package/build/benchmark/setup.js.map +1 -0
  4. package/build/src/blockchain/constants.js +2 -0
  5. package/build/src/blockchain/constants.js.map +1 -0
  6. package/build/src/blockchain/types.js +7 -0
  7. package/build/src/blockchain/types.js.map +1 -0
  8. package/build/src/blockchain/utils.js +39 -0
  9. package/build/src/blockchain/utils.js.map +1 -0
  10. package/build/src/consensus/mina-consensus.js +59 -0
  11. package/build/src/consensus/mina-consensus.js.map +1 -0
  12. package/build/src/context.js +10 -0
  13. package/build/src/context.js.map +1 -0
  14. package/build/src/db/archive-node-adapter/archive-node-adapter.interface.js +2 -0
  15. package/build/src/db/archive-node-adapter/archive-node-adapter.interface.js.map +1 -0
  16. package/build/src/db/archive-node-adapter/archive-node-adapter.js +47 -0
  17. package/build/src/db/archive-node-adapter/archive-node-adapter.js.map +1 -0
  18. package/build/src/db/sql/events-actions/queries.js +438 -0
  19. package/build/src/db/sql/events-actions/queries.js.map +1 -0
  20. package/build/src/db/sql/events-actions/types.js +2 -0
  21. package/build/src/db/sql/events-actions/types.js.map +1 -0
  22. package/build/src/errors/error.js +17 -0
  23. package/build/src/errors/error.js.map +1 -0
  24. package/build/src/index.js +27 -0
  25. package/build/src/index.js.map +1 -0
  26. package/build/src/resolvers-types.js +8 -0
  27. package/build/src/resolvers-types.js.map +1 -0
  28. package/build/src/resolvers.js +67 -0
  29. package/build/src/resolvers.js.map +1 -0
  30. package/build/src/server/plugins.js +39 -0
  31. package/build/src/server/plugins.js.map +1 -0
  32. package/build/src/server/server.js +25 -0
  33. package/build/src/server/server.js.map +1 -0
  34. package/build/src/services/actions-service/actions-service.interface.js +2 -0
  35. package/build/src/services/actions-service/actions-service.interface.js.map +1 -0
  36. package/build/src/services/actions-service/actions-service.js +94 -0
  37. package/build/src/services/actions-service/actions-service.js.map +1 -0
  38. package/build/src/services/blocks-service/blocks-service.interface.js +2 -0
  39. package/build/src/services/blocks-service/blocks-service.interface.js.map +1 -0
  40. package/build/src/services/blocks-service/blocks-service.js +263 -0
  41. package/build/src/services/blocks-service/blocks-service.js.map +1 -0
  42. package/build/src/services/data-adapters/database-row-adapters.js +116 -0
  43. package/build/src/services/data-adapters/database-row-adapters.js.map +1 -0
  44. package/build/src/services/events-service/events-service.interface.js +2 -0
  45. package/build/src/services/events-service/events-service.interface.js.map +1 -0
  46. package/build/src/services/events-service/events-service.js +64 -0
  47. package/build/src/services/events-service/events-service.js.map +1 -0
  48. package/build/src/services/network-service/network-service.interface.js +2 -0
  49. package/build/src/services/network-service/network-service.interface.js.map +1 -0
  50. package/build/src/services/network-service/network-service.js +31 -0
  51. package/build/src/services/network-service/network-service.js.map +1 -0
  52. package/build/src/tracing/jaeger-setup.js +39 -0
  53. package/build/src/tracing/jaeger-setup.js.map +1 -0
  54. package/build/src/tracing/jaeger-tracing.js +29 -0
  55. package/build/src/tracing/jaeger-tracing.js.map +1 -0
  56. package/build/src/tracing/tracer.js +31 -0
  57. package/build/src/tracing/tracer.js.map +1 -0
  58. package/build/tests/__mocks__/generate_mock_data.js +13 -0
  59. package/build/tests/__mocks__/generate_mock_data.js.map +1 -0
  60. package/build/tests/consensus/run-compare.js +40 -0
  61. package/build/tests/consensus/run-compare.js.map +1 -0
  62. package/build/tests/consensus/select-consensus-precomputed.js +80 -0
  63. package/build/tests/consensus/select-consensus-precomputed.js.map +1 -0
  64. package/build/tests/consensus/types.js +15 -0
  65. package/build/tests/consensus/types.js.map +1 -0
  66. package/build/tests/devnet-dump/devnet-dump.test.js +311 -0
  67. package/build/tests/devnet-dump/devnet-dump.test.js.map +1 -0
  68. package/build/tests/devnet-dump/setup.js +58 -0
  69. package/build/tests/devnet-dump/setup.js.map +1 -0
  70. package/build/tests/integration/integration.test.js +226 -0
  71. package/build/tests/integration/integration.test.js.map +1 -0
  72. package/build/tests/integration/setup.js +82 -0
  73. package/build/tests/integration/setup.js.map +1 -0
  74. package/build/tests/live-api/actions.test.js +4 -0
  75. package/build/tests/live-api/actions.test.js.map +1 -0
  76. package/build/tests/live-api/blocks.test.js +116 -0
  77. package/build/tests/live-api/blocks.test.js.map +1 -0
  78. package/build/tests/live-api/events.test.js +97 -0
  79. package/build/tests/live-api/events.test.js.map +1 -0
  80. package/build/tests/live-api/networkState.test.js +27 -0
  81. package/build/tests/live-api/networkState.test.js.map +1 -0
  82. package/build/tests/live-network/live-network.test.js +144 -0
  83. package/build/tests/live-network/live-network.test.js.map +1 -0
  84. package/build/tests/live-network/setup.js +206 -0
  85. package/build/tests/live-network/setup.js.map +1 -0
  86. package/build/tests/resolvers.test.js +475 -0
  87. package/build/tests/resolvers.test.js.map +1 -0
  88. package/build/tests/services/actions-service/actions-service.test.js +124 -0
  89. package/build/tests/services/actions-service/actions-service.test.js.map +1 -0
  90. package/build/tests/services/blocks-service/blocks-service.test.js +348 -0
  91. package/build/tests/services/blocks-service/blocks-service.test.js.map +1 -0
  92. package/build/tests/services/events-service/events-service.test.js +185 -0
  93. package/build/tests/services/events-service/events-service.test.js.map +1 -0
  94. package/build/tests/test-helpers.js +11 -0
  95. package/build/tests/test-helpers.js.map +1 -0
  96. package/build/tests/unit/blockchain-utils.test.js +106 -0
  97. package/build/tests/unit/blockchain-utils.test.js.map +1 -0
  98. package/build/tests/unit/consensus.test.js +154 -0
  99. package/build/tests/unit/consensus.test.js.map +1 -0
  100. package/build/tests/unit/error-handling.test.js +52 -0
  101. package/build/tests/unit/error-handling.test.js.map +1 -0
  102. package/build/tests/utils.test.js +313 -0
  103. package/build/tests/utils.test.js.map +1 -0
  104. package/build/zkapp/contract.js +144 -0
  105. package/build/zkapp/contract.js.map +1 -0
  106. package/build/zkapp/utils.js +174 -0
  107. package/build/zkapp/utils.js.map +1 -0
  108. package/package.json +85 -0
  109. package/schema.graphql +221 -0
  110. package/src/blockchain/constants.ts +2 -0
  111. package/src/blockchain/types.ts +121 -0
  112. package/src/blockchain/utils.ts +54 -0
  113. package/src/consensus/mina-consensus.ts +137 -0
  114. package/src/context.ts +18 -0
  115. package/src/db/archive-node-adapter/archive-node-adapter.interface.ts +23 -0
  116. package/src/db/archive-node-adapter/archive-node-adapter.ts +101 -0
  117. package/src/db/sql/events-actions/queries.ts +490 -0
  118. package/src/db/sql/events-actions/types.ts +208 -0
  119. package/src/envionment.d.ts +18 -0
  120. package/src/errors/error.ts +20 -0
  121. package/src/index.ts +31 -0
  122. package/src/resolvers-types.ts +754 -0
  123. package/src/resolvers.ts +102 -0
  124. package/src/server/plugins.ts +56 -0
  125. package/src/server/server.ts +30 -0
  126. package/src/services/actions-service/actions-service.interface.ts +9 -0
  127. package/src/services/actions-service/actions-service.ts +195 -0
  128. package/src/services/blocks-service/blocks-service.interface.ts +11 -0
  129. package/src/services/blocks-service/blocks-service.ts +407 -0
  130. package/src/services/data-adapters/database-row-adapters.ts +261 -0
  131. package/src/services/events-service/events-service.interface.ts +6 -0
  132. package/src/services/events-service/events-service.ts +118 -0
  133. package/src/services/network-service/network-service.interface.ts +5 -0
  134. package/src/services/network-service/network-service.ts +53 -0
  135. package/src/tracing/jaeger-setup.ts +65 -0
  136. package/src/tracing/jaeger-tracing.ts +44 -0
  137. package/src/tracing/tracer.ts +52 -0
  138. package/tsconfig.json +104 -0
@@ -0,0 +1,754 @@
1
+ import { BlockStatusFilter } from './blockchain/types.js';
2
+ import {
3
+ GraphQLResolveInfo,
4
+ GraphQLScalarType,
5
+ GraphQLScalarTypeConfig,
6
+ } from 'graphql';
7
+ import { GraphQLContext } from './context.js';
8
+ export type Maybe<T> = T | null;
9
+ export type InputMaybe<T> = Maybe<T>;
10
+ export type Exact<T extends { [key: string]: unknown }> = {
11
+ [K in keyof T]: T[K];
12
+ };
13
+ export type MakeOptional<T, K extends keyof T> = Omit<T, K> & {
14
+ [SubKey in K]?: Maybe<T[SubKey]>;
15
+ };
16
+ export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {
17
+ [SubKey in K]: Maybe<T[SubKey]>;
18
+ };
19
+ export type MakeEmpty<
20
+ T extends { [key: string]: unknown },
21
+ K extends keyof T,
22
+ > = { [_ in K]?: never };
23
+ export type Incremental<T> =
24
+ | T
25
+ | {
26
+ [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never;
27
+ };
28
+ export type EnumResolverSignature<T, AllowedValues = any> = {
29
+ [key in keyof T]?: AllowedValues;
30
+ };
31
+ export type RequireFields<T, K extends keyof T> = Omit<T, K> & {
32
+ [P in K]-?: NonNullable<T[P]>;
33
+ };
34
+ /** All built-in and custom scalars, mapped to their actual values */
35
+ export type Scalars = {
36
+ ID: { input: string; output: string };
37
+ String: { input: string; output: string };
38
+ Boolean: { input: boolean; output: boolean };
39
+ Int: { input: number; output: number };
40
+ Float: { input: number; output: number };
41
+ DateTime: { input: string; output: string };
42
+ };
43
+
44
+ export type ActionData = {
45
+ __typename?: 'ActionData';
46
+ accountUpdateId: Scalars['String']['output'];
47
+ data: Array<Maybe<Scalars['String']['output']>>;
48
+ transactionInfo?: Maybe<TransactionInfo>;
49
+ };
50
+
51
+ /**
52
+ * Filter actions from a specific account
53
+ *
54
+ * **WARNING**: The graphQL schema server will limit the block scan range to a fixed number of blocks. The default is 10,000 blocks, but can be changed by the host.
55
+ * It is the responsibility of the client to use a block range that is within the limit, which will guarantee that all actions are eventually returned. It is possible to get a partial result if you do not specify both a `from` and a `to` parameter.
56
+ */
57
+ export type ActionFilterOptionsInput = {
58
+ address: Scalars['String']['input'];
59
+ /** Filter for actions that happened before this action state, inclusive */
60
+ endActionState?: InputMaybe<Scalars['String']['input']>;
61
+ /** Mina block height to filter actions from, inclusive */
62
+ from?: InputMaybe<Scalars['Int']['input']>;
63
+ /** Filter for actions that happened after this action state, inclusive */
64
+ fromActionState?: InputMaybe<Scalars['String']['input']>;
65
+ status?: InputMaybe<BlockStatusFilter>;
66
+ /** Mina block height to filter actions to, exclusive */
67
+ to?: InputMaybe<Scalars['Int']['input']>;
68
+ tokenId?: InputMaybe<Scalars['String']['input']>;
69
+ };
70
+
71
+ export type ActionOutput = {
72
+ __typename?: 'ActionOutput';
73
+ actionData?: Maybe<Array<Maybe<ActionData>>>;
74
+ actionState: ActionStates;
75
+ blockInfo?: Maybe<BlockInfo>;
76
+ transactionInfo?: Maybe<TransactionInfo>;
77
+ };
78
+
79
+ export type ActionStates = {
80
+ __typename?: 'ActionStates';
81
+ actionStateFive?: Maybe<Scalars['String']['output']>;
82
+ actionStateFour?: Maybe<Scalars['String']['output']>;
83
+ actionStateOne?: Maybe<Scalars['String']['output']>;
84
+ actionStateThree?: Maybe<Scalars['String']['output']>;
85
+ actionStateTwo?: Maybe<Scalars['String']['output']>;
86
+ };
87
+
88
+ export type Block = {
89
+ __typename?: 'Block';
90
+ blockHeight: Scalars['Int']['output'];
91
+ creator: Scalars['String']['output'];
92
+ dateTime: Scalars['DateTime']['output'];
93
+ parentHash: Scalars['String']['output'];
94
+ stateHash: Scalars['String']['output'];
95
+ transactions: BlockTransactions;
96
+ };
97
+
98
+ export type BlockInfo = {
99
+ __typename?: 'BlockInfo';
100
+ chainStatus: Scalars['String']['output'];
101
+ distanceFromMaxBlockHeight: Scalars['Int']['output'];
102
+ globalSlotSinceGenesis: Scalars['Int']['output'];
103
+ globalSlotSinceHardfork: Scalars['Int']['output'];
104
+ height: Scalars['Int']['output'];
105
+ ledgerHash: Scalars['String']['output'];
106
+ parentHash: Scalars['String']['output'];
107
+ stateHash: Scalars['String']['output'];
108
+ timestamp: Scalars['String']['output'];
109
+ };
110
+
111
+ /** Filter for blocks by date range, canonical status, and other criteria */
112
+ export type BlockQueryInput = {
113
+ /** Filter blocks from this height, inclusive */
114
+ blockHeight_gte?: InputMaybe<Scalars['Int']['input']>;
115
+ /** Filter blocks to this height, exclusive */
116
+ blockHeight_lt?: InputMaybe<Scalars['Int']['input']>;
117
+ /** Filter for canonical (finalized) blocks only */
118
+ canonical?: InputMaybe<Scalars['Boolean']['input']>;
119
+ /** Filter blocks from this date/time, inclusive */
120
+ dateTime_gte?: InputMaybe<Scalars['DateTime']['input']>;
121
+ /** Filter blocks to this date/time, exclusive */
122
+ dateTime_lt?: InputMaybe<Scalars['DateTime']['input']>;
123
+ /** Filter for blocks in best chain only */
124
+ inBestChain?: InputMaybe<Scalars['Boolean']['input']>;
125
+ };
126
+
127
+ export enum BlockSortByInput {
128
+ BlockheightAsc = 'BLOCKHEIGHT_ASC',
129
+ BlockheightDesc = 'BLOCKHEIGHT_DESC',
130
+ }
131
+
132
+ export { BlockStatusFilter };
133
+
134
+ export type BlockTransactions = {
135
+ __typename?: 'BlockTransactions';
136
+ coinbase: Scalars['String']['output'];
137
+ feeTransfer: Array<FeeTransfer>;
138
+ userCommands: Array<UserCommand>;
139
+ zkappCommands: Array<ZkAppCommand>;
140
+ };
141
+
142
+ export type EventData = {
143
+ __typename?: 'EventData';
144
+ accountUpdateId: Scalars['String']['output'];
145
+ data: Array<Maybe<Scalars['String']['output']>>;
146
+ transactionInfo?: Maybe<TransactionInfo>;
147
+ };
148
+
149
+ /**
150
+ * Filter events from a specific account
151
+ *
152
+ * **WARNING**: The graphQL schema server will limit the block scan range to a fixed number of blocks. The default is 10,000 blocks, but can be changed by the host.
153
+ * It is the responsibility of the client to use a block range that is within the limit, which will guarantee that all events are eventually returned. It is possible to get a partial result if you do not specify both a `from` and a `to` parameter.
154
+ */
155
+ export type EventFilterOptionsInput = {
156
+ address: Scalars['String']['input'];
157
+ /** Mina block height to filter events from, inclusive */
158
+ from?: InputMaybe<Scalars['Int']['input']>;
159
+ status?: InputMaybe<BlockStatusFilter>;
160
+ /** Mina block height to filter events to, exclusive */
161
+ to?: InputMaybe<Scalars['Int']['input']>;
162
+ tokenId?: InputMaybe<Scalars['String']['input']>;
163
+ };
164
+
165
+ export type EventOutput = {
166
+ __typename?: 'EventOutput';
167
+ blockInfo?: Maybe<BlockInfo>;
168
+ eventData?: Maybe<Array<Maybe<EventData>>>;
169
+ };
170
+
171
+ export type FeeTransfer = {
172
+ __typename?: 'FeeTransfer';
173
+ fee: Scalars['String']['output'];
174
+ recipient: Scalars['String']['output'];
175
+ type: Scalars['String']['output'];
176
+ };
177
+
178
+ export type MaxBlockHeightInfo = {
179
+ __typename?: 'MaxBlockHeightInfo';
180
+ canonicalMaxBlockHeight: Scalars['Int']['output'];
181
+ pendingMaxBlockHeight: Scalars['Int']['output'];
182
+ };
183
+
184
+ /** Metadata about the network */
185
+ export type NetworkStateOutput = {
186
+ __typename?: 'NetworkStateOutput';
187
+ /** Returns the latest pending and canonical block heights that are synced by the archive node. If the archive node is not fully synced, the pending block height will be lower than the actual network state. Wait some time for the archive node to get back in sync. */
188
+ maxBlockHeight?: Maybe<MaxBlockHeightInfo>;
189
+ };
190
+
191
+ export type Query = {
192
+ __typename?: 'Query';
193
+ actions: Array<Maybe<ActionOutput>>;
194
+ blocks: Array<Maybe<Block>>;
195
+ events: Array<Maybe<EventOutput>>;
196
+ networkState: NetworkStateOutput;
197
+ };
198
+
199
+ export type QueryActionsArgs = {
200
+ input: ActionFilterOptionsInput;
201
+ };
202
+
203
+ export type QueryBlocksArgs = {
204
+ limit?: InputMaybe<Scalars['Int']['input']>;
205
+ query?: InputMaybe<BlockQueryInput>;
206
+ sortBy?: InputMaybe<BlockSortByInput>;
207
+ };
208
+
209
+ export type QueryEventsArgs = {
210
+ input: EventFilterOptionsInput;
211
+ };
212
+
213
+ export type TransactionInfo = {
214
+ __typename?: 'TransactionInfo';
215
+ authorizationKind: Scalars['String']['output'];
216
+ hash: Scalars['String']['output'];
217
+ memo: Scalars['String']['output'];
218
+ sequenceNumber: Scalars['Int']['output'];
219
+ status: Scalars['String']['output'];
220
+ zkappAccountUpdateIds: Array<Maybe<Scalars['Int']['output']>>;
221
+ };
222
+
223
+ export type UserCommand = {
224
+ __typename?: 'UserCommand';
225
+ amount: Scalars['String']['output'];
226
+ failureReason?: Maybe<Scalars['String']['output']>;
227
+ fee: Scalars['String']['output'];
228
+ from: Scalars['String']['output'];
229
+ hash: Scalars['String']['output'];
230
+ kind: Scalars['String']['output'];
231
+ memo: Scalars['String']['output'];
232
+ nonce: Scalars['Int']['output'];
233
+ status: Scalars['String']['output'];
234
+ to: Scalars['String']['output'];
235
+ };
236
+
237
+ export type ZkAppCommand = {
238
+ __typename?: 'ZkAppCommand';
239
+ failureReason?: Maybe<Scalars['String']['output']>;
240
+ fee: Scalars['String']['output'];
241
+ feePayer: Scalars['String']['output'];
242
+ hash: Scalars['String']['output'];
243
+ memo: Scalars['String']['output'];
244
+ status: Scalars['String']['output'];
245
+ };
246
+
247
+ export type ResolverTypeWrapper<T> = Promise<T> | T;
248
+
249
+ export type ResolverWithResolve<TResult, TParent, TContext, TArgs> = {
250
+ resolve: ResolverFn<TResult, TParent, TContext, TArgs>;
251
+ };
252
+ export type Resolver<
253
+ TResult,
254
+ TParent = Record<PropertyKey, never>,
255
+ TContext = Record<PropertyKey, never>,
256
+ TArgs = Record<PropertyKey, never>,
257
+ > =
258
+ | ResolverFn<TResult, TParent, TContext, TArgs>
259
+ | ResolverWithResolve<TResult, TParent, TContext, TArgs>;
260
+
261
+ export type ResolverFn<TResult, TParent, TContext, TArgs> = (
262
+ parent: TParent,
263
+ args: TArgs,
264
+ context: TContext,
265
+ info: GraphQLResolveInfo
266
+ ) => Promise<TResult> | TResult;
267
+
268
+ export type SubscriptionSubscribeFn<TResult, TParent, TContext, TArgs> = (
269
+ parent: TParent,
270
+ args: TArgs,
271
+ context: TContext,
272
+ info: GraphQLResolveInfo
273
+ ) => AsyncIterable<TResult> | Promise<AsyncIterable<TResult>>;
274
+
275
+ export type SubscriptionResolveFn<TResult, TParent, TContext, TArgs> = (
276
+ parent: TParent,
277
+ args: TArgs,
278
+ context: TContext,
279
+ info: GraphQLResolveInfo
280
+ ) => TResult | Promise<TResult>;
281
+
282
+ export interface SubscriptionSubscriberObject<
283
+ TResult,
284
+ TKey extends string,
285
+ TParent,
286
+ TContext,
287
+ TArgs,
288
+ > {
289
+ subscribe: SubscriptionSubscribeFn<
290
+ { [key in TKey]: TResult },
291
+ TParent,
292
+ TContext,
293
+ TArgs
294
+ >;
295
+ resolve?: SubscriptionResolveFn<
296
+ TResult,
297
+ { [key in TKey]: TResult },
298
+ TContext,
299
+ TArgs
300
+ >;
301
+ }
302
+
303
+ export interface SubscriptionResolverObject<TResult, TParent, TContext, TArgs> {
304
+ subscribe: SubscriptionSubscribeFn<any, TParent, TContext, TArgs>;
305
+ resolve: SubscriptionResolveFn<TResult, any, TContext, TArgs>;
306
+ }
307
+
308
+ export type SubscriptionObject<
309
+ TResult,
310
+ TKey extends string,
311
+ TParent,
312
+ TContext,
313
+ TArgs,
314
+ > =
315
+ | SubscriptionSubscriberObject<TResult, TKey, TParent, TContext, TArgs>
316
+ | SubscriptionResolverObject<TResult, TParent, TContext, TArgs>;
317
+
318
+ export type SubscriptionResolver<
319
+ TResult,
320
+ TKey extends string,
321
+ TParent = Record<PropertyKey, never>,
322
+ TContext = Record<PropertyKey, never>,
323
+ TArgs = Record<PropertyKey, never>,
324
+ > =
325
+ | ((
326
+ ...args: any[]
327
+ ) => SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>)
328
+ | SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>;
329
+
330
+ export type TypeResolveFn<
331
+ TTypes,
332
+ TParent = Record<PropertyKey, never>,
333
+ TContext = Record<PropertyKey, never>,
334
+ > = (
335
+ parent: TParent,
336
+ context: TContext,
337
+ info: GraphQLResolveInfo
338
+ ) => Maybe<TTypes> | Promise<Maybe<TTypes>>;
339
+
340
+ export type IsTypeOfResolverFn<
341
+ T = Record<PropertyKey, never>,
342
+ TContext = Record<PropertyKey, never>,
343
+ > = (
344
+ obj: T,
345
+ context: TContext,
346
+ info: GraphQLResolveInfo
347
+ ) => boolean | Promise<boolean>;
348
+
349
+ export type NextResolverFn<T> = () => Promise<T>;
350
+
351
+ export type DirectiveResolverFn<
352
+ TResult = Record<PropertyKey, never>,
353
+ TParent = Record<PropertyKey, never>,
354
+ TContext = Record<PropertyKey, never>,
355
+ TArgs = Record<PropertyKey, never>,
356
+ > = (
357
+ next: NextResolverFn<TResult>,
358
+ parent: TParent,
359
+ args: TArgs,
360
+ context: TContext,
361
+ info: GraphQLResolveInfo
362
+ ) => TResult | Promise<TResult>;
363
+
364
+ /** Mapping between all available schema types and the resolvers types */
365
+ export type ResolversTypes = {
366
+ ActionData: ResolverTypeWrapper<ActionData>;
367
+ ActionFilterOptionsInput: ActionFilterOptionsInput;
368
+ ActionOutput: ResolverTypeWrapper<ActionOutput>;
369
+ ActionStates: ResolverTypeWrapper<ActionStates>;
370
+ Block: ResolverTypeWrapper<Block>;
371
+ BlockInfo: ResolverTypeWrapper<BlockInfo>;
372
+ BlockQueryInput: BlockQueryInput;
373
+ BlockSortByInput: BlockSortByInput;
374
+ BlockStatusFilter: BlockStatusFilter;
375
+ BlockTransactions: ResolverTypeWrapper<BlockTransactions>;
376
+ Boolean: ResolverTypeWrapper<Scalars['Boolean']['output']>;
377
+ DateTime: ResolverTypeWrapper<Scalars['DateTime']['output']>;
378
+ EventData: ResolverTypeWrapper<EventData>;
379
+ EventFilterOptionsInput: EventFilterOptionsInput;
380
+ EventOutput: ResolverTypeWrapper<EventOutput>;
381
+ FeeTransfer: ResolverTypeWrapper<FeeTransfer>;
382
+ Int: ResolverTypeWrapper<Scalars['Int']['output']>;
383
+ MaxBlockHeightInfo: ResolverTypeWrapper<MaxBlockHeightInfo>;
384
+ NetworkStateOutput: ResolverTypeWrapper<NetworkStateOutput>;
385
+ Query: ResolverTypeWrapper<Record<PropertyKey, never>>;
386
+ String: ResolverTypeWrapper<Scalars['String']['output']>;
387
+ TransactionInfo: ResolverTypeWrapper<TransactionInfo>;
388
+ UserCommand: ResolverTypeWrapper<UserCommand>;
389
+ ZkAppCommand: ResolverTypeWrapper<ZkAppCommand>;
390
+ };
391
+
392
+ /** Mapping between all available schema types and the resolvers parents */
393
+ export type ResolversParentTypes = {
394
+ ActionData: ActionData;
395
+ ActionFilterOptionsInput: ActionFilterOptionsInput;
396
+ ActionOutput: ActionOutput;
397
+ ActionStates: ActionStates;
398
+ Block: Block;
399
+ BlockInfo: BlockInfo;
400
+ BlockQueryInput: BlockQueryInput;
401
+ BlockTransactions: BlockTransactions;
402
+ Boolean: Scalars['Boolean']['output'];
403
+ DateTime: Scalars['DateTime']['output'];
404
+ EventData: EventData;
405
+ EventFilterOptionsInput: EventFilterOptionsInput;
406
+ EventOutput: EventOutput;
407
+ FeeTransfer: FeeTransfer;
408
+ Int: Scalars['Int']['output'];
409
+ MaxBlockHeightInfo: MaxBlockHeightInfo;
410
+ NetworkStateOutput: NetworkStateOutput;
411
+ Query: Record<PropertyKey, never>;
412
+ String: Scalars['String']['output'];
413
+ TransactionInfo: TransactionInfo;
414
+ UserCommand: UserCommand;
415
+ ZkAppCommand: ZkAppCommand;
416
+ };
417
+
418
+ export type ActionDataResolvers<
419
+ ContextType = GraphQLContext,
420
+ ParentType extends
421
+ ResolversParentTypes['ActionData'] = ResolversParentTypes['ActionData'],
422
+ > = {
423
+ accountUpdateId?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
424
+ data?: Resolver<
425
+ Array<Maybe<ResolversTypes['String']>>,
426
+ ParentType,
427
+ ContextType
428
+ >;
429
+ transactionInfo?: Resolver<
430
+ Maybe<ResolversTypes['TransactionInfo']>,
431
+ ParentType,
432
+ ContextType
433
+ >;
434
+ };
435
+
436
+ export type ActionOutputResolvers<
437
+ ContextType = GraphQLContext,
438
+ ParentType extends
439
+ ResolversParentTypes['ActionOutput'] = ResolversParentTypes['ActionOutput'],
440
+ > = {
441
+ actionData?: Resolver<
442
+ Maybe<Array<Maybe<ResolversTypes['ActionData']>>>,
443
+ ParentType,
444
+ ContextType
445
+ >;
446
+ actionState?: Resolver<
447
+ ResolversTypes['ActionStates'],
448
+ ParentType,
449
+ ContextType
450
+ >;
451
+ blockInfo?: Resolver<
452
+ Maybe<ResolversTypes['BlockInfo']>,
453
+ ParentType,
454
+ ContextType
455
+ >;
456
+ transactionInfo?: Resolver<
457
+ Maybe<ResolversTypes['TransactionInfo']>,
458
+ ParentType,
459
+ ContextType
460
+ >;
461
+ };
462
+
463
+ export type ActionStatesResolvers<
464
+ ContextType = GraphQLContext,
465
+ ParentType extends
466
+ ResolversParentTypes['ActionStates'] = ResolversParentTypes['ActionStates'],
467
+ > = {
468
+ actionStateFive?: Resolver<
469
+ Maybe<ResolversTypes['String']>,
470
+ ParentType,
471
+ ContextType
472
+ >;
473
+ actionStateFour?: Resolver<
474
+ Maybe<ResolversTypes['String']>,
475
+ ParentType,
476
+ ContextType
477
+ >;
478
+ actionStateOne?: Resolver<
479
+ Maybe<ResolversTypes['String']>,
480
+ ParentType,
481
+ ContextType
482
+ >;
483
+ actionStateThree?: Resolver<
484
+ Maybe<ResolversTypes['String']>,
485
+ ParentType,
486
+ ContextType
487
+ >;
488
+ actionStateTwo?: Resolver<
489
+ Maybe<ResolversTypes['String']>,
490
+ ParentType,
491
+ ContextType
492
+ >;
493
+ };
494
+
495
+ export type BlockResolvers<
496
+ ContextType = GraphQLContext,
497
+ ParentType extends
498
+ ResolversParentTypes['Block'] = ResolversParentTypes['Block'],
499
+ > = {
500
+ blockHeight?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;
501
+ creator?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
502
+ dateTime?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>;
503
+ parentHash?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
504
+ stateHash?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
505
+ transactions?: Resolver<
506
+ ResolversTypes['BlockTransactions'],
507
+ ParentType,
508
+ ContextType
509
+ >;
510
+ };
511
+
512
+ export type BlockInfoResolvers<
513
+ ContextType = GraphQLContext,
514
+ ParentType extends
515
+ ResolversParentTypes['BlockInfo'] = ResolversParentTypes['BlockInfo'],
516
+ > = {
517
+ chainStatus?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
518
+ distanceFromMaxBlockHeight?: Resolver<
519
+ ResolversTypes['Int'],
520
+ ParentType,
521
+ ContextType
522
+ >;
523
+ globalSlotSinceGenesis?: Resolver<
524
+ ResolversTypes['Int'],
525
+ ParentType,
526
+ ContextType
527
+ >;
528
+ globalSlotSinceHardfork?: Resolver<
529
+ ResolversTypes['Int'],
530
+ ParentType,
531
+ ContextType
532
+ >;
533
+ height?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;
534
+ ledgerHash?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
535
+ parentHash?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
536
+ stateHash?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
537
+ timestamp?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
538
+ };
539
+
540
+ export type BlockStatusFilterResolvers = EnumResolverSignature<
541
+ { ALL?: any; CANONICAL?: any; PENDING?: any },
542
+ ResolversTypes['BlockStatusFilter']
543
+ >;
544
+
545
+ export type BlockTransactionsResolvers<
546
+ ContextType = GraphQLContext,
547
+ ParentType extends
548
+ ResolversParentTypes['BlockTransactions'] = ResolversParentTypes['BlockTransactions'],
549
+ > = {
550
+ coinbase?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
551
+ feeTransfer?: Resolver<
552
+ Array<ResolversTypes['FeeTransfer']>,
553
+ ParentType,
554
+ ContextType
555
+ >;
556
+ userCommands?: Resolver<
557
+ Array<ResolversTypes['UserCommand']>,
558
+ ParentType,
559
+ ContextType
560
+ >;
561
+ zkappCommands?: Resolver<
562
+ Array<ResolversTypes['ZkAppCommand']>,
563
+ ParentType,
564
+ ContextType
565
+ >;
566
+ };
567
+
568
+ export interface DateTimeScalarConfig
569
+ extends GraphQLScalarTypeConfig<ResolversTypes['DateTime'], any> {
570
+ name: 'DateTime';
571
+ }
572
+
573
+ export type EventDataResolvers<
574
+ ContextType = GraphQLContext,
575
+ ParentType extends
576
+ ResolversParentTypes['EventData'] = ResolversParentTypes['EventData'],
577
+ > = {
578
+ accountUpdateId?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
579
+ data?: Resolver<
580
+ Array<Maybe<ResolversTypes['String']>>,
581
+ ParentType,
582
+ ContextType
583
+ >;
584
+ transactionInfo?: Resolver<
585
+ Maybe<ResolversTypes['TransactionInfo']>,
586
+ ParentType,
587
+ ContextType
588
+ >;
589
+ };
590
+
591
+ export type EventOutputResolvers<
592
+ ContextType = GraphQLContext,
593
+ ParentType extends
594
+ ResolversParentTypes['EventOutput'] = ResolversParentTypes['EventOutput'],
595
+ > = {
596
+ blockInfo?: Resolver<
597
+ Maybe<ResolversTypes['BlockInfo']>,
598
+ ParentType,
599
+ ContextType
600
+ >;
601
+ eventData?: Resolver<
602
+ Maybe<Array<Maybe<ResolversTypes['EventData']>>>,
603
+ ParentType,
604
+ ContextType
605
+ >;
606
+ };
607
+
608
+ export type FeeTransferResolvers<
609
+ ContextType = GraphQLContext,
610
+ ParentType extends
611
+ ResolversParentTypes['FeeTransfer'] = ResolversParentTypes['FeeTransfer'],
612
+ > = {
613
+ fee?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
614
+ recipient?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
615
+ type?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
616
+ };
617
+
618
+ export type MaxBlockHeightInfoResolvers<
619
+ ContextType = GraphQLContext,
620
+ ParentType extends
621
+ ResolversParentTypes['MaxBlockHeightInfo'] = ResolversParentTypes['MaxBlockHeightInfo'],
622
+ > = {
623
+ canonicalMaxBlockHeight?: Resolver<
624
+ ResolversTypes['Int'],
625
+ ParentType,
626
+ ContextType
627
+ >;
628
+ pendingMaxBlockHeight?: Resolver<
629
+ ResolversTypes['Int'],
630
+ ParentType,
631
+ ContextType
632
+ >;
633
+ };
634
+
635
+ export type NetworkStateOutputResolvers<
636
+ ContextType = GraphQLContext,
637
+ ParentType extends
638
+ ResolversParentTypes['NetworkStateOutput'] = ResolversParentTypes['NetworkStateOutput'],
639
+ > = {
640
+ maxBlockHeight?: Resolver<
641
+ Maybe<ResolversTypes['MaxBlockHeightInfo']>,
642
+ ParentType,
643
+ ContextType
644
+ >;
645
+ };
646
+
647
+ export type QueryResolvers<
648
+ ContextType = GraphQLContext,
649
+ ParentType extends
650
+ ResolversParentTypes['Query'] = ResolversParentTypes['Query'],
651
+ > = {
652
+ actions?: Resolver<
653
+ Array<Maybe<ResolversTypes['ActionOutput']>>,
654
+ ParentType,
655
+ ContextType,
656
+ RequireFields<QueryActionsArgs, 'input'>
657
+ >;
658
+ blocks?: Resolver<
659
+ Array<Maybe<ResolversTypes['Block']>>,
660
+ ParentType,
661
+ ContextType,
662
+ Partial<QueryBlocksArgs>
663
+ >;
664
+ events?: Resolver<
665
+ Array<Maybe<ResolversTypes['EventOutput']>>,
666
+ ParentType,
667
+ ContextType,
668
+ RequireFields<QueryEventsArgs, 'input'>
669
+ >;
670
+ networkState?: Resolver<
671
+ ResolversTypes['NetworkStateOutput'],
672
+ ParentType,
673
+ ContextType
674
+ >;
675
+ };
676
+
677
+ export type TransactionInfoResolvers<
678
+ ContextType = GraphQLContext,
679
+ ParentType extends
680
+ ResolversParentTypes['TransactionInfo'] = ResolversParentTypes['TransactionInfo'],
681
+ > = {
682
+ authorizationKind?: Resolver<
683
+ ResolversTypes['String'],
684
+ ParentType,
685
+ ContextType
686
+ >;
687
+ hash?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
688
+ memo?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
689
+ sequenceNumber?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;
690
+ status?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
691
+ zkappAccountUpdateIds?: Resolver<
692
+ Array<Maybe<ResolversTypes['Int']>>,
693
+ ParentType,
694
+ ContextType
695
+ >;
696
+ };
697
+
698
+ export type UserCommandResolvers<
699
+ ContextType = GraphQLContext,
700
+ ParentType extends
701
+ ResolversParentTypes['UserCommand'] = ResolversParentTypes['UserCommand'],
702
+ > = {
703
+ amount?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
704
+ failureReason?: Resolver<
705
+ Maybe<ResolversTypes['String']>,
706
+ ParentType,
707
+ ContextType
708
+ >;
709
+ fee?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
710
+ from?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
711
+ hash?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
712
+ kind?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
713
+ memo?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
714
+ nonce?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;
715
+ status?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
716
+ to?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
717
+ };
718
+
719
+ export type ZkAppCommandResolvers<
720
+ ContextType = GraphQLContext,
721
+ ParentType extends
722
+ ResolversParentTypes['ZkAppCommand'] = ResolversParentTypes['ZkAppCommand'],
723
+ > = {
724
+ failureReason?: Resolver<
725
+ Maybe<ResolversTypes['String']>,
726
+ ParentType,
727
+ ContextType
728
+ >;
729
+ fee?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
730
+ feePayer?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
731
+ hash?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
732
+ memo?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
733
+ status?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
734
+ };
735
+
736
+ export type Resolvers<ContextType = GraphQLContext> = {
737
+ ActionData?: ActionDataResolvers<ContextType>;
738
+ ActionOutput?: ActionOutputResolvers<ContextType>;
739
+ ActionStates?: ActionStatesResolvers<ContextType>;
740
+ Block?: BlockResolvers<ContextType>;
741
+ BlockInfo?: BlockInfoResolvers<ContextType>;
742
+ BlockStatusFilter?: BlockStatusFilterResolvers;
743
+ BlockTransactions?: BlockTransactionsResolvers<ContextType>;
744
+ DateTime?: GraphQLScalarType;
745
+ EventData?: EventDataResolvers<ContextType>;
746
+ EventOutput?: EventOutputResolvers<ContextType>;
747
+ FeeTransfer?: FeeTransferResolvers<ContextType>;
748
+ MaxBlockHeightInfo?: MaxBlockHeightInfoResolvers<ContextType>;
749
+ NetworkStateOutput?: NetworkStateOutputResolvers<ContextType>;
750
+ Query?: QueryResolvers<ContextType>;
751
+ TransactionInfo?: TransactionInfoResolvers<ContextType>;
752
+ UserCommand?: UserCommandResolvers<ContextType>;
753
+ ZkAppCommand?: ZkAppCommandResolvers<ContextType>;
754
+ };