@subsquid/portal-client 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/client.d.ts +40 -18
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +166 -188
- package/lib/client.js.map +1 -1
- package/lib/query/common/data.d.ts +21 -0
- package/lib/query/common/data.d.ts.map +1 -0
- package/lib/query/common/data.js +3 -0
- package/lib/query/common/data.js.map +1 -0
- package/lib/query/common/query.d.ts +7 -0
- package/lib/query/common/query.d.ts.map +1 -0
- package/lib/query/common/query.js +3 -0
- package/lib/query/common/query.js.map +1 -0
- package/lib/query/evm/data.d.ts +159 -0
- package/lib/query/evm/data.d.ts.map +1 -0
- package/lib/query/evm/data.js +3 -0
- package/lib/query/evm/data.js.map +1 -0
- package/lib/query/evm/fields.d.ts +50 -0
- package/lib/query/evm/fields.d.ts.map +1 -0
- package/lib/query/evm/fields.js +3 -0
- package/lib/query/evm/fields.js.map +1 -0
- package/lib/query/evm/index.d.ts +4 -0
- package/lib/query/evm/index.d.ts.map +1 -0
- package/lib/query/evm/index.js +7 -0
- package/lib/query/evm/index.js.map +1 -0
- package/lib/query/evm/query.d.ts +54 -0
- package/lib/query/evm/query.d.ts.map +1 -0
- package/lib/query/evm/query.js +3 -0
- package/lib/query/evm/query.js.map +1 -0
- package/lib/query/evm/schema.d.ts +322 -0
- package/lib/query/evm/schema.d.ts.map +1 -0
- package/lib/query/evm/schema.js +224 -0
- package/lib/query/evm/schema.js.map +1 -0
- package/lib/query/index.d.ts +576 -8
- package/lib/query/index.d.ts.map +1 -1
- package/lib/query/index.js +15 -24
- package/lib/query/index.js.map +1 -1
- package/lib/query/solana/data.d.ts +115 -0
- package/lib/query/solana/data.d.ts.map +1 -0
- package/lib/query/solana/data.js +3 -0
- package/lib/query/solana/data.js.map +1 -0
- package/lib/query/solana/fields.d.ts +31 -0
- package/lib/query/solana/fields.d.ts.map +1 -0
- package/lib/query/solana/fields.js +3 -0
- package/lib/query/solana/fields.js.map +1 -0
- package/lib/query/solana/index.d.ts +4 -0
- package/lib/query/solana/index.d.ts.map +1 -0
- package/lib/query/solana/index.js +7 -0
- package/lib/query/solana/index.js.map +1 -0
- package/lib/query/solana/query.d.ts +74 -0
- package/lib/query/solana/query.d.ts.map +1 -0
- package/lib/query/solana/query.js +3 -0
- package/lib/query/solana/query.js.map +1 -0
- package/lib/query/solana/schema.d.ts +160 -0
- package/lib/query/solana/schema.d.ts.map +1 -0
- package/lib/query/solana/schema.js +130 -0
- package/lib/query/solana/schema.js.map +1 -0
- package/lib/query/substrate/data.d.ts +98 -0
- package/lib/query/substrate/data.d.ts.map +1 -0
- package/lib/query/substrate/data.js +3 -0
- package/lib/query/substrate/data.js.map +1 -0
- package/lib/query/substrate/fields.d.ts +22 -0
- package/lib/query/substrate/fields.d.ts.map +1 -0
- package/lib/query/substrate/fields.js +3 -0
- package/lib/query/substrate/fields.js.map +1 -0
- package/lib/query/substrate/index.d.ts +4 -0
- package/lib/query/substrate/index.d.ts.map +1 -0
- package/lib/query/substrate/index.js +7 -0
- package/lib/query/substrate/index.js.map +1 -0
- package/lib/query/substrate/query.d.ts +50 -0
- package/lib/query/substrate/query.d.ts.map +1 -0
- package/lib/query/substrate/query.js +3 -0
- package/lib/query/substrate/query.js.map +1 -0
- package/lib/query/substrate/schema.d.ts +102 -0
- package/lib/query/substrate/schema.d.ts.map +1 -0
- package/lib/query/substrate/schema.js +88 -0
- package/lib/query/substrate/schema.js.map +1 -0
- package/lib/query/type-util.d.ts +13 -0
- package/lib/query/type-util.d.ts.map +1 -0
- package/lib/query/type-util.js +3 -0
- package/lib/query/type-util.js.map +1 -0
- package/lib/query/util.d.ts +5 -0
- package/lib/query/util.d.ts.map +1 -0
- package/lib/query/util.js +23 -0
- package/lib/query/util.js.map +1 -0
- package/lib/util.d.ts +19 -0
- package/lib/util.d.ts.map +1 -0
- package/lib/util.js +57 -0
- package/lib/util.js.map +1 -0
- package/package.json +3 -3
- package/src/client.ts +231 -247
- package/src/query/common/data.ts +24 -0
- package/src/query/common/query.ts +6 -0
- package/src/query/evm/data.ts +182 -0
- package/src/query/evm/fields.ts +105 -0
- package/src/query/evm/index.ts +3 -0
- package/src/query/evm/query.ts +59 -0
- package/src/query/evm/schema.ts +277 -0
- package/src/query/index.ts +19 -36
- package/src/query/solana/data.ts +132 -0
- package/src/query/solana/fields.ts +42 -0
- package/src/query/solana/index.ts +3 -0
- package/src/query/solana/query.ts +89 -0
- package/src/query/solana/schema.ts +164 -0
- package/src/query/substrate/data.ts +101 -0
- package/src/query/substrate/fields.ts +30 -0
- package/src/query/substrate/index.ts +3 -0
- package/src/query/substrate/query.ts +60 -0
- package/src/query/substrate/schema.ts +114 -0
- package/src/query/type-util.ts +25 -0
- package/src/query/util.ts +23 -0
- package/src/util.ts +56 -0
- package/lib/query/common.d.ts +0 -56
- package/lib/query/common.d.ts.map +0 -1
- package/lib/query/common.js +0 -16
- package/lib/query/common.js.map +0 -1
- package/lib/query/evm.d.ts +0 -267
- package/lib/query/evm.d.ts.map +0 -1
- package/lib/query/evm.js +0 -245
- package/lib/query/evm.js.map +0 -1
- package/lib/query/solana.d.ts +0 -224
- package/lib/query/solana.d.ts.map +0 -1
- package/lib/query/solana.js +0 -121
- package/lib/query/solana.js.map +0 -1
- package/lib/query/substrate.d.ts +0 -173
- package/lib/query/substrate.d.ts.map +0 -1
- package/lib/query/substrate.js +0 -71
- package/lib/query/substrate.js.map +0 -1
- package/src/query/common.ts +0 -83
- package/src/query/evm.ts +0 -677
- package/src/query/solana.ts +0 -438
- package/src/query/substrate.ts +0 -288
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ANY,
|
|
3
|
+
ANY_OBJECT,
|
|
4
|
+
array,
|
|
5
|
+
BIG_NAT,
|
|
6
|
+
BOOLEAN,
|
|
7
|
+
BYTES,
|
|
8
|
+
constant,
|
|
9
|
+
NAT,
|
|
10
|
+
nullable,
|
|
11
|
+
object,
|
|
12
|
+
oneOf,
|
|
13
|
+
option,
|
|
14
|
+
STRING,
|
|
15
|
+
withDefault,
|
|
16
|
+
} from '@subsquid/util-internal-validation'
|
|
17
|
+
import {isEmpty, project} from '../util'
|
|
18
|
+
import type {FieldSelection} from './fields'
|
|
19
|
+
|
|
20
|
+
export function patchQueryFields(fields: FieldSelection): FieldSelection {
|
|
21
|
+
fields = {...fields}
|
|
22
|
+
|
|
23
|
+
let {number, hash, ...block} = (fields.block as any) ?? {}
|
|
24
|
+
fields.block = {
|
|
25
|
+
...block,
|
|
26
|
+
number: true,
|
|
27
|
+
hash: true,
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return fields
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export function getBlockSchema(fields: FieldSelection) {
|
|
34
|
+
return object({
|
|
35
|
+
header: getBlockHeaderSchema(fields.block),
|
|
36
|
+
extrinsics: withDefault([], array(getExtrinsicSchema(fields.extrinsic))),
|
|
37
|
+
calls: withDefault([], array(getCallSchema(fields.call))),
|
|
38
|
+
events: withDefault([], array(getEventSchema(fields.event))),
|
|
39
|
+
})
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function getBlockHeaderSchema(fields: FieldSelection['block']) {
|
|
43
|
+
return object({
|
|
44
|
+
number: NAT,
|
|
45
|
+
hash: BYTES,
|
|
46
|
+
...project(fields, {
|
|
47
|
+
parentHash: BYTES,
|
|
48
|
+
stateRoot: BYTES,
|
|
49
|
+
extrinsicsRoot: BYTES,
|
|
50
|
+
digest: object({
|
|
51
|
+
logs: array(BYTES),
|
|
52
|
+
}),
|
|
53
|
+
specName: STRING,
|
|
54
|
+
specVersion: NAT,
|
|
55
|
+
implName: STRING,
|
|
56
|
+
implVersion: NAT,
|
|
57
|
+
timestamp: option(NAT),
|
|
58
|
+
validator: option(BYTES),
|
|
59
|
+
}),
|
|
60
|
+
})
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const ExtrinsicSignature = object({
|
|
64
|
+
address: BYTES,
|
|
65
|
+
signature: ANY_OBJECT,
|
|
66
|
+
signedExtensions: ANY_OBJECT,
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
function getExtrinsicSchema(fields: FieldSelection['extrinsic']) {
|
|
70
|
+
return object(
|
|
71
|
+
project(fields, {
|
|
72
|
+
index: NAT,
|
|
73
|
+
version: NAT,
|
|
74
|
+
signature: option(ExtrinsicSignature),
|
|
75
|
+
fee: option(BIG_NAT),
|
|
76
|
+
tip: option(BIG_NAT),
|
|
77
|
+
error: nullable(ANY),
|
|
78
|
+
success: option(BOOLEAN),
|
|
79
|
+
hash: option(BYTES),
|
|
80
|
+
})
|
|
81
|
+
)
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function getCallSchema(fields: FieldSelection['call']) {
|
|
85
|
+
return object(
|
|
86
|
+
project(fields, {
|
|
87
|
+
extrinsicIndex: NAT,
|
|
88
|
+
address: array(NAT),
|
|
89
|
+
name: STRING,
|
|
90
|
+
args: ANY,
|
|
91
|
+
origin: option(ANY),
|
|
92
|
+
error: nullable(ANY),
|
|
93
|
+
success: option(BOOLEAN),
|
|
94
|
+
})
|
|
95
|
+
)
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function getEventSchema(fields: FieldSelection['event']) {
|
|
99
|
+
return object(
|
|
100
|
+
project(fields, {
|
|
101
|
+
index: NAT,
|
|
102
|
+
name: STRING,
|
|
103
|
+
args: ANY,
|
|
104
|
+
phase: oneOf({
|
|
105
|
+
Initialization: constant('Initialization'),
|
|
106
|
+
ApplyExtrinsic: constant('ApplyExtrinsic'),
|
|
107
|
+
Finalization: constant('Finalization'),
|
|
108
|
+
}),
|
|
109
|
+
extrinsicIndex: option(NAT),
|
|
110
|
+
callAddress: option(array(NAT)),
|
|
111
|
+
topics: array(BYTES),
|
|
112
|
+
})
|
|
113
|
+
)
|
|
114
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type Simplify<T> = {
|
|
2
|
+
[K in keyof T]: T[K]
|
|
3
|
+
} & {}
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
export type Selector<Fields extends string | number | symbol> = {
|
|
7
|
+
[P in Fields]?: boolean
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
export type Select<T, F> = T extends any ? Simplify<Pick<T, Extract<keyof T, F>>> : never
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
export type GetFields<F> = keyof {
|
|
15
|
+
[K in keyof F as true extends F[K] ? K : never]: true
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
export type AddPrefix<Prefix extends string, S extends string> = `${Prefix}${Capitalize<S>}`
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
export type RemovePrefix<Prefix extends string, T>
|
|
23
|
+
= T extends `${Prefix}${infer S}`
|
|
24
|
+
? Uncapitalize<S>
|
|
25
|
+
: never
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
|
|
2
|
+
export function project<T extends object, F extends { [K in keyof T]?: boolean }>(
|
|
3
|
+
fields: F | undefined,
|
|
4
|
+
obj: T
|
|
5
|
+
): Partial<T> {
|
|
6
|
+
if (fields == null) return {}
|
|
7
|
+
let result: Partial<T> = {}
|
|
8
|
+
let key: keyof T
|
|
9
|
+
for (key in obj) {
|
|
10
|
+
if (fields[key]) {
|
|
11
|
+
result[key] = obj[key]
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return result
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
export function isEmpty(obj: object): boolean {
|
|
19
|
+
for (let _ in obj) {
|
|
20
|
+
return false
|
|
21
|
+
}
|
|
22
|
+
return true
|
|
23
|
+
}
|
package/src/util.ts
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import {createFuture, type Future} from '@subsquid/util-internal'
|
|
2
|
+
|
|
3
|
+
export class Timer {
|
|
4
|
+
private timeout?: any
|
|
5
|
+
|
|
6
|
+
constructor(private ms: number, private cb: () => void) {}
|
|
7
|
+
|
|
8
|
+
start(ms?: number): void {
|
|
9
|
+
if (this.timeout != null) return
|
|
10
|
+
this.timeout = setTimeout(() => {
|
|
11
|
+
this.timeout = undefined
|
|
12
|
+
this.cb()
|
|
13
|
+
}, ms ?? this.ms)
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
stop(): void {
|
|
17
|
+
if (this.timeout == null) return
|
|
18
|
+
clearTimeout(this.timeout)
|
|
19
|
+
this.timeout = undefined
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
reset(): void {
|
|
23
|
+
this.stop()
|
|
24
|
+
this.start()
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export class Semaphore {
|
|
29
|
+
private future?: Future<void>
|
|
30
|
+
|
|
31
|
+
constructor(private isReady: boolean) {}
|
|
32
|
+
|
|
33
|
+
wait(): Promise<void> | void {
|
|
34
|
+
if (this.isReady) return
|
|
35
|
+
this.future = this.future || createFuture()
|
|
36
|
+
return this.future.promise()
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
ready(): void {
|
|
40
|
+
this.isReady = true
|
|
41
|
+
this.future?.resolve()
|
|
42
|
+
this.future = undefined
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
unready(): void {
|
|
46
|
+
this.isReady = false
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
reject(err: Error) {
|
|
50
|
+
let future = this.future
|
|
51
|
+
if (future) {
|
|
52
|
+
this.future = undefined
|
|
53
|
+
future.reject(err)
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
package/lib/query/common.d.ts
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { Validator } from '@subsquid/util-internal-validation';
|
|
2
|
-
/**
|
|
3
|
-
* @example '0x0123456789abcdef'
|
|
4
|
-
*/
|
|
5
|
-
export type Hex = string & {};
|
|
6
|
-
/**
|
|
7
|
-
* @example '123456789ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
|
|
8
|
-
*/
|
|
9
|
-
export type Base58 = string & {};
|
|
10
|
-
/**
|
|
11
|
-
* @example '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/='
|
|
12
|
-
*/
|
|
13
|
-
export type Base64 = string & {};
|
|
14
|
-
export type Simplify<T> = {
|
|
15
|
-
[K in keyof T]: T[K];
|
|
16
|
-
} & {};
|
|
17
|
-
export type ConditionalKeys<T, V> = {
|
|
18
|
-
[Key in keyof T]-?: T[Key] extends V ? (T[Key] extends never ? (V extends never ? Key : never) : Key) : never;
|
|
19
|
-
}[keyof T];
|
|
20
|
-
export type ConditionalPick<T, V> = Simplify<Pick<T, ConditionalKeys<T, V>>>;
|
|
21
|
-
export type ConditionalOmit<T, V> = Simplify<Omit<T, ConditionalKeys<T, V>>>;
|
|
22
|
-
export type Selector<Props extends PropertyKey = PropertyKey, Required extends Props = never> = Simplify<{
|
|
23
|
-
[P in Exclude<Props, Required>]?: boolean;
|
|
24
|
-
} & {
|
|
25
|
-
[P in Required]-?: boolean;
|
|
26
|
-
}>;
|
|
27
|
-
export type Select<T, S> = S extends any ? {
|
|
28
|
-
[K in keyof T as K extends keyof S ? (true extends S[K] ? K : never) : never]: T[K];
|
|
29
|
-
} : never;
|
|
30
|
-
export type Selection = {
|
|
31
|
-
[P in string]?: boolean | Selection;
|
|
32
|
-
};
|
|
33
|
-
export type Trues<T extends Selection> = Simplify<{
|
|
34
|
-
[K in keyof T]-?: [T[K] & {}] extends [Selection] ? Trues<T[K] & {}> : true;
|
|
35
|
-
}>;
|
|
36
|
-
export type Selected<T, K extends keyof T> = NonNullable<T[K]>;
|
|
37
|
-
export type SelectionOf<T> = {
|
|
38
|
-
[K in keyof T]?: T[K] extends object ? true | SelectionOf<T[K]> : true;
|
|
39
|
-
};
|
|
40
|
-
export type PortalQuery = {
|
|
41
|
-
fromBlock?: number;
|
|
42
|
-
toBlock?: number;
|
|
43
|
-
parentBlockHash?: string;
|
|
44
|
-
[key: string]: unknown;
|
|
45
|
-
};
|
|
46
|
-
export type PortalBlock = {
|
|
47
|
-
header: {
|
|
48
|
-
number: number;
|
|
49
|
-
hash: string;
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
export declare function project<T, S extends keyof T>(obj: T, fields: Selector<S> | undefined): Partial<T>;
|
|
53
|
-
export type ObjectValidatorShape<T> = Simplify<{
|
|
54
|
-
[K in keyof T as [T[K]] extends [undefined] ? never : K]-?: Validator<T[K], any>;
|
|
55
|
-
}>;
|
|
56
|
-
//# sourceMappingURL=common.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/query/common.ts"],"names":[],"mappings":"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"}
|
package/lib/query/common.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.project = project;
|
|
4
|
-
function project(obj, fields) {
|
|
5
|
-
let result = {};
|
|
6
|
-
if (fields == null)
|
|
7
|
-
return result;
|
|
8
|
-
let key;
|
|
9
|
-
for (key in obj) {
|
|
10
|
-
if (!fields[key])
|
|
11
|
-
continue;
|
|
12
|
-
result[key] = obj[key];
|
|
13
|
-
}
|
|
14
|
-
return result;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=common.js.map
|
package/lib/query/common.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/query/common.ts"],"names":[],"mappings":";;AAqEA,0BASC;AATD,SAAgB,OAAO,CAAuB,GAAM,EAAE,MAA+B;IACjF,IAAI,MAAM,GAAG,EAAgB,CAAA;IAC7B,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,MAAM,CAAA;IACjC,IAAI,GAAY,CAAA;IAChB,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,CAAE,MAAM,CAAC,GAAG,CAAa;YAAE,SAAQ;QACvC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC"}
|
package/lib/query/evm.d.ts
DELETED
|
@@ -1,267 +0,0 @@
|
|
|
1
|
-
import { Validator } from '@subsquid/util-internal-validation';
|
|
2
|
-
import { Select, Selector, Trues, Hex, ConditionalOmit, Simplify, PortalQuery, type Selected } from './common';
|
|
3
|
-
type AddPrefix<Prefix extends string, S> = S extends string ? `${Prefix}${Capitalize<S>}` : never;
|
|
4
|
-
type RemovePrefix<Prefix extends string, T> = T extends `${Prefix}${infer S}` ? Uncapitalize<S> : never;
|
|
5
|
-
type RemoveKeysPrefix<Prefix extends string, T> = {
|
|
6
|
-
[K in keyof T as RemovePrefix<Prefix, K>]: T[K];
|
|
7
|
-
};
|
|
8
|
-
export type BlockHeaderFields = {
|
|
9
|
-
number: number;
|
|
10
|
-
hash: Hex;
|
|
11
|
-
parentHash: Hex;
|
|
12
|
-
timestamp: number;
|
|
13
|
-
transactionsRoot: Hex;
|
|
14
|
-
receiptsRoot: Hex;
|
|
15
|
-
stateRoot: Hex;
|
|
16
|
-
logsBloom: Hex;
|
|
17
|
-
sha3Uncles: Hex;
|
|
18
|
-
extraData: Hex;
|
|
19
|
-
miner: Hex;
|
|
20
|
-
nonce: Hex;
|
|
21
|
-
mixHash: Hex;
|
|
22
|
-
size: number;
|
|
23
|
-
gasLimit: bigint;
|
|
24
|
-
gasUsed: bigint;
|
|
25
|
-
difficulty: bigint;
|
|
26
|
-
totalDifficulty?: bigint;
|
|
27
|
-
baseFeePerGas: bigint;
|
|
28
|
-
blobGasUsed: bigint;
|
|
29
|
-
excessBlobGas: bigint;
|
|
30
|
-
l1BlockNumber?: number;
|
|
31
|
-
};
|
|
32
|
-
export type TransactionFields = {
|
|
33
|
-
transactionIndex: number;
|
|
34
|
-
hash: Hex;
|
|
35
|
-
nonce: number;
|
|
36
|
-
from: Hex;
|
|
37
|
-
to?: Hex;
|
|
38
|
-
input: Hex;
|
|
39
|
-
value: bigint;
|
|
40
|
-
gas: bigint;
|
|
41
|
-
gasPrice: bigint;
|
|
42
|
-
maxFeePerGas?: bigint;
|
|
43
|
-
maxPriorityFeePerGas?: bigint;
|
|
44
|
-
v: bigint;
|
|
45
|
-
r: Hex;
|
|
46
|
-
s: Hex;
|
|
47
|
-
yParity?: number;
|
|
48
|
-
chainId?: number;
|
|
49
|
-
sighash?: Hex;
|
|
50
|
-
contractAddress?: Hex;
|
|
51
|
-
gasUsed: bigint;
|
|
52
|
-
cumulativeGasUsed: bigint;
|
|
53
|
-
effectiveGasPrice: bigint;
|
|
54
|
-
type: number;
|
|
55
|
-
status: number;
|
|
56
|
-
blobVersionedHashes?: Hex[];
|
|
57
|
-
l1Fee?: bigint;
|
|
58
|
-
l1FeeScalar?: number;
|
|
59
|
-
l1GasPrice?: bigint;
|
|
60
|
-
l1GasUsed?: bigint;
|
|
61
|
-
l1BlobBaseFee?: bigint;
|
|
62
|
-
l1BlobBaseFeeScalar?: number;
|
|
63
|
-
l1BaseFeeScalar?: number;
|
|
64
|
-
};
|
|
65
|
-
export type LogFields = {
|
|
66
|
-
logIndex: number;
|
|
67
|
-
transactionIndex: number;
|
|
68
|
-
transactionHash: Hex;
|
|
69
|
-
address: Hex;
|
|
70
|
-
data: Hex;
|
|
71
|
-
topics: Hex[];
|
|
72
|
-
};
|
|
73
|
-
export type TraceType = 'create' | 'call' | 'suicide' | 'reward';
|
|
74
|
-
export type TraceBaseFields = {
|
|
75
|
-
type: TraceType;
|
|
76
|
-
transactionIndex: number;
|
|
77
|
-
traceAddress: number[];
|
|
78
|
-
subtraces: number;
|
|
79
|
-
error: string | null;
|
|
80
|
-
revertReason?: string;
|
|
81
|
-
};
|
|
82
|
-
export type TraceCreateFields = TraceBaseFields & {
|
|
83
|
-
type: 'create';
|
|
84
|
-
};
|
|
85
|
-
export type TraceCreateActionFields = {
|
|
86
|
-
from: Hex;
|
|
87
|
-
value: bigint;
|
|
88
|
-
gas: bigint;
|
|
89
|
-
init: Hex;
|
|
90
|
-
};
|
|
91
|
-
export type TraceCreateResultFields = {
|
|
92
|
-
gasUsed: bigint;
|
|
93
|
-
code?: Hex;
|
|
94
|
-
address: Hex;
|
|
95
|
-
};
|
|
96
|
-
export type TraceCallFields = TraceBaseFields & {
|
|
97
|
-
type: 'call';
|
|
98
|
-
};
|
|
99
|
-
export type TraceCallActionFields = {
|
|
100
|
-
callType: string;
|
|
101
|
-
from: Hex;
|
|
102
|
-
to: Hex;
|
|
103
|
-
value?: bigint;
|
|
104
|
-
gas: bigint;
|
|
105
|
-
input: Hex;
|
|
106
|
-
sighash?: Hex;
|
|
107
|
-
};
|
|
108
|
-
export type TraceCallResultFields = {
|
|
109
|
-
gasUsed: bigint;
|
|
110
|
-
output?: Hex;
|
|
111
|
-
};
|
|
112
|
-
export type TraceSuicideFields = TraceBaseFields & {
|
|
113
|
-
type: 'suicide';
|
|
114
|
-
};
|
|
115
|
-
export type TraceSuicideActionFields = {
|
|
116
|
-
address: Hex;
|
|
117
|
-
refundAddress: Hex;
|
|
118
|
-
balance: bigint;
|
|
119
|
-
};
|
|
120
|
-
export type TraceRewardFields = TraceBaseFields & {
|
|
121
|
-
type: 'reward';
|
|
122
|
-
};
|
|
123
|
-
export type TraceRewardActionFields = {
|
|
124
|
-
author: Hex;
|
|
125
|
-
value: bigint;
|
|
126
|
-
type: string;
|
|
127
|
-
};
|
|
128
|
-
export type StateDiffBaseFields = {
|
|
129
|
-
transactionIndex: number;
|
|
130
|
-
address: Hex;
|
|
131
|
-
key: 'balance' | 'code' | 'nonce' | Hex;
|
|
132
|
-
kind: string;
|
|
133
|
-
};
|
|
134
|
-
export type StateDiffAddFields = StateDiffBaseFields & {
|
|
135
|
-
kind: '+';
|
|
136
|
-
prev?: undefined;
|
|
137
|
-
next: Hex;
|
|
138
|
-
};
|
|
139
|
-
export type StateDiffNoChangeFields = StateDiffBaseFields & {
|
|
140
|
-
kind: '=';
|
|
141
|
-
prev?: undefined;
|
|
142
|
-
next?: undefined;
|
|
143
|
-
};
|
|
144
|
-
export type StateDiffChangeFields = StateDiffBaseFields & {
|
|
145
|
-
kind: '*';
|
|
146
|
-
prev: Hex;
|
|
147
|
-
next: Hex;
|
|
148
|
-
};
|
|
149
|
-
export type StateDiffDeleteFields = StateDiffBaseFields & {
|
|
150
|
-
kind: '-';
|
|
151
|
-
prev: Hex;
|
|
152
|
-
next?: undefined;
|
|
153
|
-
};
|
|
154
|
-
export type BlockHeaderFieldSelection = Selector<keyof BlockHeaderFields, 'number' | 'hash'>;
|
|
155
|
-
export type BlockHeader<T extends BlockHeaderFieldSelection = Trues<BlockHeaderFieldSelection>> = Select<BlockHeaderFields, T>;
|
|
156
|
-
export type TransactionFieldSelection = Selector<keyof TransactionFields>;
|
|
157
|
-
export type Transaction<T extends TransactionFieldSelection = Trues<TransactionFieldSelection>> = Select<TransactionFields, T>;
|
|
158
|
-
export type LogFieldSelection = Selector<keyof LogFields>;
|
|
159
|
-
export type Log<T extends LogFieldSelection = Trues<LogFieldSelection>> = Select<LogFields, T>;
|
|
160
|
-
export type TraceCreateFieldSelection = Selector<keyof TraceBaseFields | AddPrefix<'create', keyof TraceCreateActionFields> | AddPrefix<'createResult', keyof TraceCreateResultFields>>;
|
|
161
|
-
export type TraceCallFieldSelection = Selector<keyof TraceBaseFields | AddPrefix<'call', keyof TraceCallActionFields> | AddPrefix<'callResult', keyof TraceCallResultFields>>;
|
|
162
|
-
export type TraceSuicideFieldSelection = Selector<keyof TraceBaseFields | AddPrefix<'suicide', keyof TraceSuicideActionFields>>;
|
|
163
|
-
export type TraceRewardFieldSelection = Selector<keyof TraceBaseFields | AddPrefix<'reward', keyof TraceRewardActionFields>>;
|
|
164
|
-
export type TraceFieldSelection = Simplify<TraceCreateFieldSelection & TraceCallFieldSelection & TraceSuicideFieldSelection & TraceRewardFieldSelection>;
|
|
165
|
-
export type TraceCreateAction<F extends TraceFieldSelection = Trues<TraceFieldSelection>> = Select<TraceCreateActionFields, RemoveKeysPrefix<'create', F>>;
|
|
166
|
-
export type TraceCreateResult<F extends TraceCreateFieldSelection = Trues<TraceCreateFieldSelection>> = Select<TraceCreateResultFields, RemoveKeysPrefix<'createResult', F>>;
|
|
167
|
-
export type TraceCallAction<F extends TraceCallFieldSelection = Trues<TraceCallFieldSelection>> = Select<TraceCallActionFields, RemoveKeysPrefix<'call', F>>;
|
|
168
|
-
export type TraceCallResult<F extends TraceCallFieldSelection = Trues<TraceCallFieldSelection>> = Select<TraceCallResultFields, RemoveKeysPrefix<'callResult', F>>;
|
|
169
|
-
export type TraceSuicideAction<F extends TraceSuicideFieldSelection = Trues<TraceSuicideFieldSelection>> = Select<TraceSuicideActionFields, RemoveKeysPrefix<'suicide', F>>;
|
|
170
|
-
export type TraceRewardAction<F extends TraceRewardFieldSelection = Trues<TraceRewardFieldSelection>> = Select<TraceRewardActionFields, RemoveKeysPrefix<'reward', F>>;
|
|
171
|
-
export type TraceCreate<F extends TraceCreateFieldSelection = Trues<TraceCreateFieldSelection>> = Simplify<Select<TraceCreateFields, F> & ConditionalOmit<{
|
|
172
|
-
action: TraceCreateAction<F>;
|
|
173
|
-
result?: TraceCreateResult<F>;
|
|
174
|
-
}, {
|
|
175
|
-
[k: string]: never;
|
|
176
|
-
} | undefined>>;
|
|
177
|
-
export type TraceCall<F extends TraceCallFieldSelection = Trues<TraceCallFieldSelection>> = Simplify<Select<TraceCallFields, F> & ConditionalOmit<{
|
|
178
|
-
action: TraceCallAction<F>;
|
|
179
|
-
result?: TraceCallResult<F>;
|
|
180
|
-
}, {
|
|
181
|
-
[k: string]: never;
|
|
182
|
-
} | undefined>>;
|
|
183
|
-
export type TraceSuicide<F extends TraceSuicideFieldSelection = Trues<TraceSuicideFieldSelection>> = Simplify<Select<TraceSuicideFields, F> & ConditionalOmit<{
|
|
184
|
-
action: TraceSuicideAction<F>;
|
|
185
|
-
}, {
|
|
186
|
-
[k: string]: never;
|
|
187
|
-
} | undefined>>;
|
|
188
|
-
export type TraceReward<F extends TraceRewardFieldSelection = Trues<TraceRewardFieldSelection>> = Simplify<Select<TraceRewardFields, F> & ConditionalOmit<{
|
|
189
|
-
action: TraceRewardAction<F>;
|
|
190
|
-
}, {
|
|
191
|
-
[k: string]: never;
|
|
192
|
-
} | undefined>>;
|
|
193
|
-
export type Trace<F extends TraceFieldSelection = Trues<TraceFieldSelection>> = F extends any ? TraceCreate<F> | TraceCall<F> | TraceSuicide<F> | TraceReward<F> : never;
|
|
194
|
-
export type StateDiffFieldSelection = Selector<keyof StateDiffBaseFields>;
|
|
195
|
-
export type StateDiffNoChange<F extends StateDiffFieldSelection = Trues<StateDiffFieldSelection>> = Select<StateDiffNoChangeFields, F>;
|
|
196
|
-
export type StateDiffAdd<F extends StateDiffFieldSelection = Trues<StateDiffFieldSelection>> = Select<StateDiffAddFields, F>;
|
|
197
|
-
export type StateDiffChange<F extends StateDiffFieldSelection = Trues<StateDiffFieldSelection>> = Select<StateDiffChangeFields, F>;
|
|
198
|
-
export type StateDiffDelete<F extends StateDiffFieldSelection = Trues<StateDiffFieldSelection>> = Select<StateDiffDeleteFields, F>;
|
|
199
|
-
export type StateDiff<F extends StateDiffFieldSelection = Trues<StateDiffFieldSelection>> = F extends any ? StateDiffNoChange<F> | StateDiffAdd<F> | StateDiffChange<F> | StateDiffDelete<F> : never;
|
|
200
|
-
export type FieldSelection = {
|
|
201
|
-
block?: BlockHeaderFieldSelection;
|
|
202
|
-
transaction?: TransactionFieldSelection;
|
|
203
|
-
log?: LogFieldSelection;
|
|
204
|
-
trace?: TraceFieldSelection;
|
|
205
|
-
stateDiff?: StateDiffFieldSelection;
|
|
206
|
-
};
|
|
207
|
-
export type LogRequest = {
|
|
208
|
-
address?: Hex[];
|
|
209
|
-
topic0?: Hex[];
|
|
210
|
-
topic1?: Hex[];
|
|
211
|
-
topic2?: Hex[];
|
|
212
|
-
topic3?: Hex[];
|
|
213
|
-
transaction?: boolean;
|
|
214
|
-
transactionTraces?: boolean;
|
|
215
|
-
transactionLogs?: boolean;
|
|
216
|
-
transactionStateDiffs?: boolean;
|
|
217
|
-
};
|
|
218
|
-
export type TransactionRequest = {
|
|
219
|
-
to?: Hex[];
|
|
220
|
-
from?: Hex[];
|
|
221
|
-
sighash?: Hex[];
|
|
222
|
-
type?: number[];
|
|
223
|
-
logs?: boolean;
|
|
224
|
-
traces?: boolean;
|
|
225
|
-
stateDiffs?: boolean;
|
|
226
|
-
};
|
|
227
|
-
export type TraceRequest = {
|
|
228
|
-
type?: TraceType[];
|
|
229
|
-
createFrom?: Hex[];
|
|
230
|
-
callTo?: Hex[];
|
|
231
|
-
callFrom?: Hex[];
|
|
232
|
-
callSighash?: Hex[];
|
|
233
|
-
suicideRefundAddress?: Hex[];
|
|
234
|
-
rewardAuthor?: Hex[];
|
|
235
|
-
transaction?: boolean;
|
|
236
|
-
transactionLogs?: boolean;
|
|
237
|
-
subtraces?: boolean;
|
|
238
|
-
parents?: boolean;
|
|
239
|
-
};
|
|
240
|
-
export type StateDiffRequest = {
|
|
241
|
-
address?: Hex[];
|
|
242
|
-
key?: Hex[];
|
|
243
|
-
kind?: string[];
|
|
244
|
-
transaction?: boolean;
|
|
245
|
-
};
|
|
246
|
-
export type DataRequest = {
|
|
247
|
-
logs?: LogRequest[];
|
|
248
|
-
transactions?: TransactionRequest[];
|
|
249
|
-
traces?: TraceRequest[];
|
|
250
|
-
stateDiffs?: StateDiffRequest[];
|
|
251
|
-
includeAllBlocks?: boolean;
|
|
252
|
-
};
|
|
253
|
-
export type Query<F extends FieldSelection = FieldSelection> = Simplify<PortalQuery & {
|
|
254
|
-
type: 'evm';
|
|
255
|
-
fields: F;
|
|
256
|
-
} & DataRequest>;
|
|
257
|
-
export type Block<F extends FieldSelection> = Simplify<{
|
|
258
|
-
header: BlockHeader<Selected<F, 'block'>>;
|
|
259
|
-
logs: Log<Selected<F, 'log'>>[];
|
|
260
|
-
transactions: Transaction<Selected<F, 'transaction'>>[];
|
|
261
|
-
traces: Trace<Selected<F, 'trace'>>[];
|
|
262
|
-
stateDiffs: StateDiff<Selected<F, 'stateDiff'>>[];
|
|
263
|
-
}>;
|
|
264
|
-
export declare const getBlockSchema: <F extends FieldSelection>(fields: F) => Validator<Block<F>, unknown>;
|
|
265
|
-
export declare function isEmpty(obj: object): boolean;
|
|
266
|
-
export {};
|
|
267
|
-
//# sourceMappingURL=evm.d.ts.map
|
package/lib/query/evm.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../src/query/evm.ts"],"names":[],"mappings":"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"}
|