@subsquid/evm-stream 0.0.1-2-0.3887d2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/schema.js ADDED
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBlockHeaderProps = getBlockHeaderProps;
4
+ exports.getTxProps = getTxProps;
5
+ exports.getTxReceiptProps = getTxReceiptProps;
6
+ exports.getLogProps = getLogProps;
7
+ exports.getTraceFrameValidator = getTraceFrameValidator;
8
+ exports.project = project;
9
+ exports.isEmpty = isEmpty;
10
+ exports.assertAssignable = assertAssignable;
11
+ const util_internal_validation_1 = require("@subsquid/util-internal-validation");
12
+ function getBlockHeaderProps(fields, forArchive) {
13
+ let natural = forArchive ? util_internal_validation_1.NAT : util_internal_validation_1.SMALL_QTY;
14
+ return {
15
+ number: natural,
16
+ hash: util_internal_validation_1.BYTES,
17
+ parentHash: util_internal_validation_1.BYTES,
18
+ ...project(fields, {
19
+ nonce: (0, util_internal_validation_1.withSentinel)('BlockHeader.nonce', '0x', util_internal_validation_1.BYTES),
20
+ sha3Uncles: (0, util_internal_validation_1.withSentinel)('BlockHeader.sha3Uncles', '0x', util_internal_validation_1.BYTES),
21
+ logsBloom: (0, util_internal_validation_1.withSentinel)('BlockHeader.logsBloom', '0x', util_internal_validation_1.BYTES),
22
+ transactionsRoot: (0, util_internal_validation_1.withSentinel)('BlockHeader.transactionsRoot', '0x', util_internal_validation_1.BYTES),
23
+ stateRoot: (0, util_internal_validation_1.withSentinel)('BlockHeader.stateRoot', '0x', util_internal_validation_1.BYTES),
24
+ receiptsRoot: (0, util_internal_validation_1.withSentinel)('BlockHeader.receiptsRoot', '0x', util_internal_validation_1.BYTES),
25
+ mixHash: (0, util_internal_validation_1.withSentinel)('BlockHeader.mixHash', '0x', util_internal_validation_1.BYTES),
26
+ miner: (0, util_internal_validation_1.withSentinel)('BlockHeader.miner', '0x', util_internal_validation_1.BYTES),
27
+ difficulty: (0, util_internal_validation_1.withSentinel)('BlockHeader.difficulty', -1n, util_internal_validation_1.QTY),
28
+ totalDifficulty: (0, util_internal_validation_1.withSentinel)('BlockHeader.totalDifficulty', -1n, util_internal_validation_1.QTY),
29
+ extraData: (0, util_internal_validation_1.withSentinel)('BlockHeader.extraData', '0x', util_internal_validation_1.BYTES),
30
+ size: (0, util_internal_validation_1.withSentinel)('BlockHeader.size', -1, natural),
31
+ gasLimit: (0, util_internal_validation_1.withSentinel)('BlockHeader.gasLimit', -1n, util_internal_validation_1.QTY),
32
+ gasUsed: (0, util_internal_validation_1.withSentinel)('BlockHeader.gasUsed', -1n, util_internal_validation_1.QTY),
33
+ baseFeePerGas: (0, util_internal_validation_1.withSentinel)('BlockHeader.baseFeePerGas', -1n, util_internal_validation_1.QTY),
34
+ timestamp: (0, util_internal_validation_1.withSentinel)('BlockHeader.timestamp', 0, natural),
35
+ l1BlockNumber: (0, util_internal_validation_1.withDefault)(0, natural),
36
+ }),
37
+ };
38
+ }
39
+ function getTxProps(fields, forArchive) {
40
+ let natural = forArchive ? util_internal_validation_1.NAT : util_internal_validation_1.SMALL_QTY;
41
+ let Authorization = (0, util_internal_validation_1.object)({
42
+ chainId: natural,
43
+ nonce: natural,
44
+ address: util_internal_validation_1.BYTES,
45
+ yParity: natural,
46
+ r: util_internal_validation_1.BYTES,
47
+ s: util_internal_validation_1.BYTES,
48
+ });
49
+ return {
50
+ transactionIndex: natural,
51
+ ...project(fields, {
52
+ hash: util_internal_validation_1.BYTES,
53
+ from: util_internal_validation_1.BYTES,
54
+ to: (0, util_internal_validation_1.option)(util_internal_validation_1.BYTES),
55
+ gas: (0, util_internal_validation_1.withSentinel)('Transaction.gas', -1n, util_internal_validation_1.QTY),
56
+ gasPrice: (0, util_internal_validation_1.withSentinel)('Transaction.gasPrice', -1n, util_internal_validation_1.QTY),
57
+ maxFeePerGas: (0, util_internal_validation_1.option)(util_internal_validation_1.QTY),
58
+ maxPriorityFeePerGas: (0, util_internal_validation_1.option)(util_internal_validation_1.QTY),
59
+ input: util_internal_validation_1.BYTES,
60
+ nonce: (0, util_internal_validation_1.withSentinel)('Transaction.nonce', -1, natural),
61
+ value: (0, util_internal_validation_1.withSentinel)('Transaction.value', -1n, util_internal_validation_1.QTY),
62
+ v: (0, util_internal_validation_1.withSentinel)('Transaction.v', -1n, util_internal_validation_1.QTY),
63
+ r: (0, util_internal_validation_1.withSentinel)('Transaction.r', '0x', util_internal_validation_1.BYTES),
64
+ s: (0, util_internal_validation_1.withSentinel)('Transaction.s', '0x', util_internal_validation_1.BYTES),
65
+ yParity: (0, util_internal_validation_1.option)(natural),
66
+ chainId: (0, util_internal_validation_1.option)(natural),
67
+ authorizationList: (0, util_internal_validation_1.option)((0, util_internal_validation_1.array)(Authorization)),
68
+ }),
69
+ };
70
+ }
71
+ function getTxReceiptProps(fields, forArchive) {
72
+ let natural = forArchive ? util_internal_validation_1.NAT : util_internal_validation_1.SMALL_QTY;
73
+ return project(fields, {
74
+ gasUsed: (0, util_internal_validation_1.withSentinel)('Receipt.gasUsed', -1n, util_internal_validation_1.QTY),
75
+ cumulativeGasUsed: (0, util_internal_validation_1.withSentinel)('Receipt.cumulativeGasUsed', -1n, util_internal_validation_1.QTY),
76
+ effectiveGasPrice: (0, util_internal_validation_1.withSentinel)('Receipt.effectiveGasPrice', -1n, util_internal_validation_1.QTY),
77
+ contractAddress: (0, util_internal_validation_1.option)(util_internal_validation_1.BYTES),
78
+ type: (0, util_internal_validation_1.withSentinel)('Receipt.type', -1, natural),
79
+ status: (0, util_internal_validation_1.withSentinel)('Receipt.status', -1, natural),
80
+ l1Fee: (0, util_internal_validation_1.option)(util_internal_validation_1.QTY),
81
+ l1FeeScalar: (0, util_internal_validation_1.option)(util_internal_validation_1.STRING_FLOAT),
82
+ l1GasPrice: (0, util_internal_validation_1.option)(util_internal_validation_1.QTY),
83
+ l1GasUsed: (0, util_internal_validation_1.option)(util_internal_validation_1.QTY),
84
+ l1BlobBaseFee: (0, util_internal_validation_1.option)(util_internal_validation_1.QTY),
85
+ l1BlobBaseFeeScalar: (0, util_internal_validation_1.option)(natural),
86
+ l1BaseFeeScalar: (0, util_internal_validation_1.option)(natural),
87
+ });
88
+ }
89
+ function getLogProps(fields, forArchive) {
90
+ let natural = forArchive ? util_internal_validation_1.NAT : util_internal_validation_1.SMALL_QTY;
91
+ return {
92
+ logIndex: natural,
93
+ transactionIndex: natural,
94
+ ...project(fields, {
95
+ transactionHash: util_internal_validation_1.BYTES,
96
+ address: util_internal_validation_1.BYTES,
97
+ data: util_internal_validation_1.BYTES,
98
+ topics: (0, util_internal_validation_1.array)(util_internal_validation_1.BYTES),
99
+ }),
100
+ };
101
+ }
102
+ function getTraceFrameValidator(fields, forArchive) {
103
+ let traceBase = {
104
+ transactionIndex: forArchive ? util_internal_validation_1.NAT : undefined,
105
+ traceAddress: (0, util_internal_validation_1.array)(util_internal_validation_1.NAT),
106
+ ...project(fields, {
107
+ subtraces: util_internal_validation_1.NAT,
108
+ error: (0, util_internal_validation_1.option)(util_internal_validation_1.STRING),
109
+ revertReason: (0, util_internal_validation_1.option)(util_internal_validation_1.STRING),
110
+ }),
111
+ };
112
+ let traceCreateAction = project({
113
+ from: fields?.createFrom || !forArchive,
114
+ value: fields?.createValue,
115
+ gas: fields?.createGas,
116
+ init: fields?.createInit,
117
+ }, {
118
+ from: util_internal_validation_1.BYTES,
119
+ value: util_internal_validation_1.QTY,
120
+ gas: util_internal_validation_1.QTY,
121
+ init: (0, util_internal_validation_1.withDefault)('0x', util_internal_validation_1.BYTES),
122
+ });
123
+ let traceCreateResult = project({
124
+ gasUsed: fields?.createResultGasUsed,
125
+ code: fields?.createResultCode,
126
+ address: fields?.createResultAddress,
127
+ }, {
128
+ gasUsed: util_internal_validation_1.QTY,
129
+ code: (0, util_internal_validation_1.withDefault)('0x', util_internal_validation_1.BYTES),
130
+ address: (0, util_internal_validation_1.withDefault)('0x0000000000000000000000000000000000000000', util_internal_validation_1.BYTES),
131
+ });
132
+ let TraceCreate = (0, util_internal_validation_1.object)({
133
+ ...traceBase,
134
+ action: isEmpty(traceCreateAction) ? undefined : (0, util_internal_validation_1.object)(traceCreateAction),
135
+ result: isEmpty(traceCreateResult) ? undefined : (0, util_internal_validation_1.option)((0, util_internal_validation_1.object)(traceCreateResult)),
136
+ });
137
+ let traceCallAction = project({
138
+ callType: fields?.callCallType,
139
+ from: forArchive ? fields?.callFrom : true,
140
+ to: forArchive ? fields?.callTo : true,
141
+ value: fields?.callValue,
142
+ gas: fields?.callGas,
143
+ input: forArchive ? fields?.callInput : true,
144
+ sighash: forArchive ? fields?.callSighash : false,
145
+ }, {
146
+ callType: util_internal_validation_1.STRING,
147
+ from: util_internal_validation_1.BYTES,
148
+ to: util_internal_validation_1.BYTES,
149
+ value: (0, util_internal_validation_1.option)(util_internal_validation_1.QTY),
150
+ gas: util_internal_validation_1.QTY,
151
+ input: util_internal_validation_1.BYTES,
152
+ sighash: (0, util_internal_validation_1.withDefault)('0x', util_internal_validation_1.BYTES),
153
+ });
154
+ let traceCallResult = project({
155
+ gasUsed: fields?.callResultGasUsed,
156
+ output: fields?.callResultOutput,
157
+ }, {
158
+ gasUsed: util_internal_validation_1.QTY,
159
+ output: (0, util_internal_validation_1.withDefault)('0x', util_internal_validation_1.BYTES),
160
+ });
161
+ let TraceCall = (0, util_internal_validation_1.object)({
162
+ ...traceBase,
163
+ action: isEmpty(traceCallAction) ? undefined : (0, util_internal_validation_1.object)(traceCallAction),
164
+ result: isEmpty(traceCallResult) ? undefined : (0, util_internal_validation_1.option)((0, util_internal_validation_1.object)(traceCallResult)),
165
+ });
166
+ let traceSuicideAction = project({
167
+ address: fields?.suicideAddress,
168
+ refundAddress: forArchive ? fields?.suicideRefundAddress : true,
169
+ balance: fields?.suicideBalance,
170
+ }, {
171
+ address: util_internal_validation_1.BYTES,
172
+ refundAddress: util_internal_validation_1.BYTES,
173
+ balance: util_internal_validation_1.QTY,
174
+ });
175
+ let TraceSuicide = (0, util_internal_validation_1.object)({
176
+ ...traceBase,
177
+ action: isEmpty(traceSuicideAction) ? undefined : (0, util_internal_validation_1.object)(traceSuicideAction),
178
+ });
179
+ let traceRewardAction = project({
180
+ author: forArchive ? fields?.rewardAuthor : true,
181
+ value: fields?.rewardValue,
182
+ type: fields?.rewardType,
183
+ }, {
184
+ author: util_internal_validation_1.BYTES,
185
+ value: util_internal_validation_1.QTY,
186
+ type: util_internal_validation_1.STRING,
187
+ });
188
+ let TraceReward = (0, util_internal_validation_1.object)({
189
+ ...traceBase,
190
+ action: isEmpty(traceRewardAction) ? undefined : (0, util_internal_validation_1.object)(traceRewardAction),
191
+ });
192
+ return (0, util_internal_validation_1.taggedUnion)('type', {
193
+ create: TraceCreate,
194
+ call: TraceCall,
195
+ suicide: TraceSuicide,
196
+ reward: TraceReward,
197
+ });
198
+ }
199
+ function project(fields, obj) {
200
+ if (fields == null)
201
+ return {};
202
+ let result = {};
203
+ let key;
204
+ for (key in obj) {
205
+ if (fields[key]) {
206
+ result[key] = obj[key];
207
+ }
208
+ }
209
+ return result;
210
+ }
211
+ function isEmpty(obj) {
212
+ for (let _ in obj) {
213
+ return false;
214
+ }
215
+ return true;
216
+ }
217
+ function assertAssignable() { }
218
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,348 @@
1
+ import { Range } from '@subsquid/util-internal-range';
2
+ import { PortalClient } from '@subsquid/portal-client';
3
+ import { BlockData, EvmQueryOptions, FieldSelection, MergeFieldSelection } from './query';
4
+ import { DataSource, DataSourceStream } from '@subsquid/data-source';
5
+ export interface EvmPortalDataSourceOptions<Q extends EvmQueryOptions> {
6
+ portal: string | PortalClient;
7
+ query: Q;
8
+ }
9
+ export declare class EvmPortalDataSource<Q extends EvmQueryOptions, B extends BlockData<GetFields<Q['fields']>> = BlockData<GetFields<Q['fields']>>> implements DataSource<B> {
10
+ private portal;
11
+ private fields;
12
+ private requests;
13
+ constructor(options: EvmPortalDataSourceOptions<Q>);
14
+ getHeight(): Promise<number>;
15
+ getFinalizedHeight(): Promise<number>;
16
+ getBlockStream(range?: Range, stopOnHead?: boolean): DataSourceStream<B>;
17
+ }
18
+ export declare const getBlockValidator: <F extends FieldSelection>(obj: F) => import("@subsquid/util-internal-validation").Validator<{
19
+ header: {
20
+ number: number;
21
+ hash: string;
22
+ parentHash: string;
23
+ nonce?: string | undefined;
24
+ sha3Uncles?: string | undefined;
25
+ logsBloom?: string | undefined;
26
+ transactionsRoot?: string | undefined;
27
+ stateRoot?: string | undefined;
28
+ receiptsRoot?: string | undefined;
29
+ mixHash?: string | undefined;
30
+ miner?: string | undefined;
31
+ difficulty?: bigint | undefined;
32
+ totalDifficulty?: bigint | undefined;
33
+ extraData?: string | undefined;
34
+ size?: number | undefined;
35
+ gasLimit?: bigint | undefined;
36
+ gasUsed?: bigint | undefined;
37
+ baseFeePerGas?: bigint | undefined;
38
+ timestamp?: number | undefined;
39
+ l1BlockNumber?: number | undefined;
40
+ };
41
+ transactions: {
42
+ transactionIndex: number;
43
+ gasUsed?: bigint | undefined;
44
+ cumulativeGasUsed?: bigint | undefined;
45
+ effectiveGasPrice?: bigint | undefined;
46
+ contractAddress?: string | undefined;
47
+ type?: number | undefined;
48
+ status?: number | undefined;
49
+ l1Fee?: bigint | undefined;
50
+ l1FeeScalar?: number | undefined;
51
+ l1GasPrice?: bigint | undefined;
52
+ l1GasUsed?: bigint | undefined;
53
+ l1BlobBaseFee?: bigint | undefined;
54
+ l1BlobBaseFeeScalar?: number | undefined;
55
+ l1BaseFeeScalar?: number | undefined;
56
+ sighash?: string | undefined;
57
+ hash?: string | undefined;
58
+ from?: string | undefined;
59
+ to?: string | undefined;
60
+ gas?: bigint | undefined;
61
+ gasPrice?: bigint | undefined;
62
+ maxFeePerGas?: bigint | undefined;
63
+ maxPriorityFeePerGas?: bigint | undefined;
64
+ input?: string | undefined;
65
+ nonce?: number | undefined;
66
+ value?: bigint | undefined;
67
+ v?: bigint | undefined;
68
+ r?: string | undefined;
69
+ s?: string | undefined;
70
+ yParity?: number | undefined;
71
+ chainId?: number | undefined;
72
+ authorizationList?: {
73
+ chainId: number;
74
+ nonce: number;
75
+ address: string;
76
+ yParity: number;
77
+ r: string;
78
+ s: string;
79
+ }[] | undefined;
80
+ }[];
81
+ logs: {
82
+ logIndex: number;
83
+ transactionIndex: number;
84
+ transactionHash?: string | undefined;
85
+ address?: string | undefined;
86
+ data?: string | undefined;
87
+ topics?: string[] | undefined;
88
+ }[];
89
+ traces: ({
90
+ traceAddress: number[];
91
+ action?: {
92
+ from?: string | undefined;
93
+ value?: bigint | undefined;
94
+ gas?: bigint | undefined;
95
+ init?: string | undefined;
96
+ } | undefined;
97
+ result?: {
98
+ gasUsed?: bigint | undefined;
99
+ code?: string | undefined;
100
+ address?: string | undefined;
101
+ } | undefined;
102
+ subtraces?: number | undefined;
103
+ error?: string | undefined;
104
+ revertReason?: string | undefined;
105
+ transactionIndex?: number | undefined;
106
+ type: "create";
107
+ } | {
108
+ traceAddress: number[];
109
+ action?: {
110
+ callType?: string | undefined;
111
+ from?: string | undefined;
112
+ to?: string | undefined;
113
+ value?: bigint | undefined;
114
+ gas?: bigint | undefined;
115
+ input?: string | undefined;
116
+ sighash?: string | undefined;
117
+ } | undefined;
118
+ result?: {
119
+ gasUsed?: bigint | undefined;
120
+ output?: string | undefined;
121
+ } | undefined;
122
+ subtraces?: number | undefined;
123
+ error?: string | undefined;
124
+ revertReason?: string | undefined;
125
+ transactionIndex?: number | undefined;
126
+ type: "call";
127
+ } | {
128
+ traceAddress: number[];
129
+ action?: {
130
+ address?: string | undefined;
131
+ refundAddress?: string | undefined;
132
+ balance?: bigint | undefined;
133
+ } | undefined;
134
+ subtraces?: number | undefined;
135
+ error?: string | undefined;
136
+ revertReason?: string | undefined;
137
+ transactionIndex?: number | undefined;
138
+ type: "suicide";
139
+ } | {
140
+ traceAddress: number[];
141
+ action?: {
142
+ author?: string | undefined;
143
+ value?: bigint | undefined;
144
+ type?: string | undefined;
145
+ } | undefined;
146
+ subtraces?: number | undefined;
147
+ error?: string | undefined;
148
+ revertReason?: string | undefined;
149
+ transactionIndex?: number | undefined;
150
+ type: "reward";
151
+ })[];
152
+ stateDiffs: ({
153
+ transactionIndex: number;
154
+ address: string;
155
+ key: string;
156
+ kind: "=";
157
+ } | {
158
+ transactionIndex: number;
159
+ address: string;
160
+ key: string;
161
+ next?: string | undefined;
162
+ kind: "+";
163
+ } | {
164
+ transactionIndex: number;
165
+ address: string;
166
+ key: string;
167
+ prev?: string | undefined;
168
+ next?: string | undefined;
169
+ kind: "*";
170
+ } | {
171
+ transactionIndex: number;
172
+ address: string;
173
+ key: string;
174
+ prev?: string | undefined;
175
+ kind: "-";
176
+ })[];
177
+ }, {
178
+ header: {
179
+ number: string | number;
180
+ hash: string;
181
+ parentHash: string;
182
+ nonce?: string | null | undefined;
183
+ sha3Uncles?: string | null | undefined;
184
+ logsBloom?: string | null | undefined;
185
+ transactionsRoot?: string | null | undefined;
186
+ stateRoot?: string | null | undefined;
187
+ receiptsRoot?: string | null | undefined;
188
+ mixHash?: string | null | undefined;
189
+ miner?: string | null | undefined;
190
+ difficulty?: string | null | undefined;
191
+ totalDifficulty?: string | null | undefined;
192
+ extraData?: string | null | undefined;
193
+ size?: string | number | null | undefined;
194
+ gasLimit?: string | null | undefined;
195
+ gasUsed?: string | null | undefined;
196
+ baseFeePerGas?: string | null | undefined;
197
+ timestamp?: string | number | null | undefined;
198
+ l1BlockNumber?: string | number | null | undefined;
199
+ };
200
+ transactions?: {
201
+ transactionIndex: string | number;
202
+ gasUsed?: string | null | undefined;
203
+ cumulativeGasUsed?: string | null | undefined;
204
+ effectiveGasPrice?: string | null | undefined;
205
+ contractAddress?: string | null | undefined;
206
+ type?: string | number | null | undefined;
207
+ status?: string | number | null | undefined;
208
+ l1Fee?: string | null | undefined;
209
+ l1FeeScalar?: string | null | undefined;
210
+ l1GasPrice?: string | null | undefined;
211
+ l1GasUsed?: string | null | undefined;
212
+ l1BlobBaseFee?: string | null | undefined;
213
+ l1BlobBaseFeeScalar?: string | number | null | undefined;
214
+ l1BaseFeeScalar?: string | number | null | undefined;
215
+ sighash?: string | null | undefined;
216
+ hash?: string | undefined;
217
+ from?: string | undefined;
218
+ to?: string | null | undefined;
219
+ gas?: string | null | undefined;
220
+ gasPrice?: string | null | undefined;
221
+ maxFeePerGas?: string | null | undefined;
222
+ maxPriorityFeePerGas?: string | null | undefined;
223
+ input?: string | undefined;
224
+ nonce?: string | number | null | undefined;
225
+ value?: string | null | undefined;
226
+ v?: string | null | undefined;
227
+ r?: string | null | undefined;
228
+ s?: string | null | undefined;
229
+ yParity?: string | number | null | undefined;
230
+ chainId?: string | number | null | undefined;
231
+ authorizationList?: {
232
+ chainId: string | number;
233
+ nonce: string | number;
234
+ address: string;
235
+ yParity: string | number;
236
+ r: string;
237
+ s: string;
238
+ }[] | null | undefined;
239
+ }[] | null | undefined;
240
+ logs?: {
241
+ logIndex: string | number;
242
+ transactionIndex: string | number;
243
+ transactionHash?: string | undefined;
244
+ address?: string | undefined;
245
+ data?: string | undefined;
246
+ topics?: string[] | undefined;
247
+ }[] | null | undefined;
248
+ traces?: ({
249
+ traceAddress: number[];
250
+ action?: {
251
+ from?: string | undefined;
252
+ value?: string | undefined;
253
+ gas?: string | undefined;
254
+ init?: string | null | undefined;
255
+ } | undefined;
256
+ result?: {
257
+ gasUsed?: string | undefined;
258
+ code?: string | null | undefined;
259
+ address?: string | null | undefined;
260
+ } | null | undefined;
261
+ subtraces?: number | undefined;
262
+ error?: string | null | undefined;
263
+ revertReason?: string | null | undefined;
264
+ transactionIndex?: number | undefined;
265
+ type: "create";
266
+ } | {
267
+ traceAddress: number[];
268
+ action?: {
269
+ callType?: string | undefined;
270
+ from?: string | undefined;
271
+ to?: string | undefined;
272
+ value?: string | null | undefined;
273
+ gas?: string | undefined;
274
+ input?: string | undefined;
275
+ sighash?: string | null | undefined;
276
+ } | undefined;
277
+ result?: {
278
+ gasUsed?: string | undefined;
279
+ output?: string | null | undefined;
280
+ } | null | undefined;
281
+ subtraces?: number | undefined;
282
+ error?: string | null | undefined;
283
+ revertReason?: string | null | undefined;
284
+ transactionIndex?: number | undefined;
285
+ type: "call";
286
+ } | {
287
+ traceAddress: number[];
288
+ action?: {
289
+ address?: string | undefined;
290
+ refundAddress?: string | undefined;
291
+ balance?: string | undefined;
292
+ } | undefined;
293
+ subtraces?: number | undefined;
294
+ error?: string | null | undefined;
295
+ revertReason?: string | null | undefined;
296
+ transactionIndex?: number | undefined;
297
+ type: "suicide";
298
+ } | {
299
+ traceAddress: number[];
300
+ action?: {
301
+ author?: string | undefined;
302
+ value?: string | undefined;
303
+ type?: string | undefined;
304
+ } | undefined;
305
+ subtraces?: number | undefined;
306
+ error?: string | null | undefined;
307
+ revertReason?: string | null | undefined;
308
+ transactionIndex?: number | undefined;
309
+ type: "reward";
310
+ })[] | null | undefined;
311
+ stateDiffs?: ({
312
+ transactionIndex: number;
313
+ address: string;
314
+ key: string;
315
+ kind: "=";
316
+ } | {
317
+ transactionIndex: number;
318
+ address: string;
319
+ key: string;
320
+ next?: string | undefined;
321
+ kind: "+";
322
+ } | {
323
+ transactionIndex: number;
324
+ address: string;
325
+ key: string;
326
+ prev?: string | undefined;
327
+ next?: string | undefined;
328
+ kind: "*";
329
+ } | {
330
+ transactionIndex: number;
331
+ address: string;
332
+ key: string;
333
+ prev?: string | undefined;
334
+ kind: "-";
335
+ })[] | null | undefined;
336
+ }>;
337
+ export declare function mapBlock<F extends FieldSelection, B extends BlockData<F> = BlockData<F>>(rawBlock: unknown, fields: F): B;
338
+ type GetFields<F extends FieldSelection> = MergeFieldSelection<ReqiredFieldSelection, F>;
339
+ type ReqiredFieldSelection = typeof REQUIRED_FIELDS;
340
+ declare const REQUIRED_FIELDS: {
341
+ readonly block: {
342
+ readonly number: true;
343
+ readonly hash: true;
344
+ readonly parentHash: true;
345
+ };
346
+ };
347
+ export {};
348
+ //# sourceMappingURL=source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../src/source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,EAAe,MAAM,+BAA+B,CAAA;AACtG,OAAO,EAAC,YAAY,EAAmB,MAAM,yBAAyB,CAAA;AAWtE,OAAO,EACH,SAAS,EAET,eAAe,EACf,cAAc,EAEd,mBAAmB,EAGtB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAuB,MAAM,uBAAuB,CAAA;AAExF,MAAM,WAAW,0BAA0B,CAAC,CAAC,SAAS,eAAe;IACjE,MAAM,EAAE,MAAM,GAAG,YAAY,CAAA;IAC7B,KAAK,EAAE,CAAC,CAAA;CACX;AAED,qBAAa,mBAAmB,CAC5B,CAAC,SAAS,eAAe,EACzB,CAAC,SAAS,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACjF,YAAW,UAAU,CAAC,CAAC,CAAC;IAEtB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAA6B;gBAEjC,OAAO,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAMlD,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5B,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIrC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC;CAkD3E;AAED,eAAO,MAAM,iBAAiB,GAAa,CAAC,SAAS,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCjE,CAAA;AAEF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,cAAc,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EACpF,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,CAAC,GACV,CAAC,CAkFH;AAMD,KAAK,SAAS,CAAC,CAAC,SAAS,cAAc,IAAI,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;AAIxF,KAAK,qBAAqB,GAAG,OAAO,eAAe,CAAA;AAEnD,QAAA,MAAM,eAAe;;;;;;CAuBc,CAAA"}