@apibara/indexer 0.1.1 → 0.2.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/dist/config.d.ts +2 -2
- package/dist/config.test-d.d.ts +1 -0
- package/dist/config.test-d.js +38 -0
- package/dist/config.test-d.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/sink/console.d.ts +1 -1
- package/dist/sink/console.test-d.d.ts +1 -0
- package/dist/sink/console.test-d.js +12 -0
- package/dist/sink/console.test-d.js.map +1 -0
- package/dist/sink/mongo.d.ts +3 -1
- package/dist/sink/parquet.d.ts +1 -1
- package/dist/sink/postgres.d.ts +1 -1
- package/dist/sink/webhook.d.ts +1 -1
- package/dist/starknet/block.d.ts +1 -1
- package/dist/starknet/felt.d.ts +3 -0
- package/dist/starknet/felt.js +12 -0
- package/dist/starknet/felt.js.map +1 -0
- package/dist/starknet/felt.test.d.ts +1 -0
- package/dist/starknet/felt.test.js +14 -0
- package/dist/starknet/felt.test.js.map +1 -0
- package/dist/starknet/filter.d.ts +171 -1
- package/dist/starknet/filter.test-d.d.ts +1 -0
- package/dist/starknet/filter.test-d.js +166 -0
- package/dist/starknet/filter.test-d.js.map +1 -0
- package/dist/starknet/index.d.ts +4 -4
- package/dist/starknet/index.js +2 -2
- package/dist/starknet/index.js.map +1 -1
- package/package.json +51 -10
- package/src/config.test-d.ts +55 -0
- package/src/config.ts +47 -0
- package/src/index.ts +1 -0
- package/src/sink/console.test-d.ts +14 -0
- package/src/sink/console.ts +11 -0
- package/src/sink/mongo.ts +14 -0
- package/src/sink/parquet.ts +9 -0
- package/src/sink/postgres.ts +10 -0
- package/src/sink/webhook.ts +12 -0
- package/src/starknet/block.ts +181 -0
- package/src/starknet/felt.test.ts +19 -0
- package/src/starknet/felt.ts +16 -0
- package/src/starknet/filter.test-d.ts +197 -0
- package/src/starknet/filter.ts +201 -0
- package/src/starknet/index.ts +10 -0
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { FieldElement } from "./felt";
|
|
2
|
+
|
|
3
|
+
export type Filter = {
|
|
4
|
+
/** Header information. */
|
|
5
|
+
header?: HeaderFilter;
|
|
6
|
+
/** Include transactions. */
|
|
7
|
+
transactions?: TransactionFilter[];
|
|
8
|
+
/** Include events. */
|
|
9
|
+
events?: EventFilter[];
|
|
10
|
+
/** Include messages from L2 to L1. */
|
|
11
|
+
messages?: L2ToL1MessageFilter[];
|
|
12
|
+
/** Include state updates. */
|
|
13
|
+
stateUpdate?: StateUpdateFilter;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export type HeaderFilter = {
|
|
17
|
+
/* If true, only include headers if any other filter matches. */
|
|
18
|
+
weak?: boolean;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export type TransactionFilterCommon = {
|
|
22
|
+
/*** Include reverted transactions. */
|
|
23
|
+
includeReverted?: boolean;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
// TODO: add a `OneOf<T1, T2, T3, ..>` to enforce this pattern.
|
|
27
|
+
|
|
28
|
+
export type InvokeTransactionV0Filter = {
|
|
29
|
+
invokeV0?: {
|
|
30
|
+
/** Filter by contract address. */
|
|
31
|
+
contractAddress?: FieldElement;
|
|
32
|
+
/** Filter by function selector. */
|
|
33
|
+
entryPointSelector?: FieldElement;
|
|
34
|
+
/** Filter by function arguments. */
|
|
35
|
+
calldata?: FieldElement[];
|
|
36
|
+
};
|
|
37
|
+
invokeV1?: never;
|
|
38
|
+
deploy?: never;
|
|
39
|
+
declare?: never;
|
|
40
|
+
l1Handler?: never;
|
|
41
|
+
deployAccount?: never;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export type InvokeTransactionV1Filter = {
|
|
45
|
+
invokeV1?: {
|
|
46
|
+
/** Filter by sender address. */
|
|
47
|
+
senderAddress?: FieldElement;
|
|
48
|
+
/** Filter by function arguments. */
|
|
49
|
+
calldata?: FieldElement[];
|
|
50
|
+
};
|
|
51
|
+
invokeV0?: never;
|
|
52
|
+
deploy?: never;
|
|
53
|
+
declare?: never;
|
|
54
|
+
l1Handler?: never;
|
|
55
|
+
deployAccount?: never;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export type DeployTransactionFilter = {
|
|
59
|
+
deploy?: {
|
|
60
|
+
/** Filter by contract address salt. */
|
|
61
|
+
contractAddressSalt?: FieldElement;
|
|
62
|
+
/** Filter by class hash. */
|
|
63
|
+
classHash?: FieldElement;
|
|
64
|
+
/** Filter by constructor arguments. */
|
|
65
|
+
constructorCalldata?: FieldElement[];
|
|
66
|
+
};
|
|
67
|
+
invokeV0?: never;
|
|
68
|
+
invokeV1?: never;
|
|
69
|
+
declare?: never;
|
|
70
|
+
l1Handler?: never;
|
|
71
|
+
deployAccount?: never;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
export type DeclareTransactionFilter = {
|
|
75
|
+
declare?: {
|
|
76
|
+
/** Filter by class hash. */
|
|
77
|
+
classHash?: FieldElement;
|
|
78
|
+
/** Filter by sender address. */
|
|
79
|
+
senderAddress?: FieldElement;
|
|
80
|
+
};
|
|
81
|
+
invokeV0?: never;
|
|
82
|
+
invokeV1?: never;
|
|
83
|
+
deploy?: never;
|
|
84
|
+
l1Handler?: never;
|
|
85
|
+
deployAccount?: never;
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
export type L1HandlerTransactionFilter = {
|
|
89
|
+
l1Handler?: {
|
|
90
|
+
/** Filter by contract address. */
|
|
91
|
+
contractAddress?: FieldElement;
|
|
92
|
+
/** Filter by function selector. */
|
|
93
|
+
entryPointSelector?: FieldElement;
|
|
94
|
+
/** Filter by function arguments. */
|
|
95
|
+
calldata?: FieldElement[];
|
|
96
|
+
};
|
|
97
|
+
invokeV0?: never;
|
|
98
|
+
invokeV1?: never;
|
|
99
|
+
deploy?: never;
|
|
100
|
+
declare?: never;
|
|
101
|
+
deployAccount?: never;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export type DeployAccountTransactionFilter = {
|
|
105
|
+
deployAccount?: {
|
|
106
|
+
/** Filter by contract address salt. */
|
|
107
|
+
contractAddressSalt?: FieldElement;
|
|
108
|
+
/** Filter by class hash. */
|
|
109
|
+
classHash?: FieldElement;
|
|
110
|
+
/** Filter by constructor arguments. */
|
|
111
|
+
constructorCalldata?: FieldElement[];
|
|
112
|
+
};
|
|
113
|
+
invokeV0?: never;
|
|
114
|
+
invokeV1?: never;
|
|
115
|
+
deploy?: never;
|
|
116
|
+
declare?: never;
|
|
117
|
+
l1Handler?: never;
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
export type TransactionFilter = TransactionFilterCommon &
|
|
121
|
+
(
|
|
122
|
+
| InvokeTransactionV0Filter
|
|
123
|
+
| InvokeTransactionV1Filter
|
|
124
|
+
| DeployTransactionFilter
|
|
125
|
+
| DeclareTransactionFilter
|
|
126
|
+
| L1HandlerTransactionFilter
|
|
127
|
+
| DeployAccountTransactionFilter
|
|
128
|
+
);
|
|
129
|
+
|
|
130
|
+
export type EventFilter = {
|
|
131
|
+
/** Filter by contract address. */
|
|
132
|
+
fromAddress?: FieldElement;
|
|
133
|
+
/** Filter by event keys (selector). */
|
|
134
|
+
keys?: FieldElement[];
|
|
135
|
+
/** Filter by event data. */
|
|
136
|
+
data?: FieldElement[];
|
|
137
|
+
/** Include events from reverted transactions. */
|
|
138
|
+
includeReverted?: boolean;
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
export type L2ToL1MessageFilter = {
|
|
142
|
+
/** Filter by destination address. */
|
|
143
|
+
toAddress?: FieldElement;
|
|
144
|
+
/** Filter by payload. */
|
|
145
|
+
payload?: FieldElement[];
|
|
146
|
+
/** Include messages from reverted transactions. */
|
|
147
|
+
includeReverted?: boolean;
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
export type StateUpdateFilter = {
|
|
151
|
+
/** Filter storage diffs. */
|
|
152
|
+
storageDiffs?: StorageDiffFilter[];
|
|
153
|
+
/** Filter declared contracts. */
|
|
154
|
+
declaredContracts?: DeclaredContractFilter[];
|
|
155
|
+
/** Filter deployed contracts. */
|
|
156
|
+
deployedContracts?: DeployedContractFilter[];
|
|
157
|
+
/** Filter nonce updates. */
|
|
158
|
+
nonces?: NonceUpdateFilter[];
|
|
159
|
+
/** Filter declared classes. */
|
|
160
|
+
declaredClasses?: DeclaredClassFilter[];
|
|
161
|
+
/** Filter replaced classes. */
|
|
162
|
+
replacedClasses?: ReplacedClassFilter[];
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
export type StorageDiffFilter = {
|
|
166
|
+
/** Filter by contract address. */
|
|
167
|
+
contractAddress?: FieldElement;
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
export type DeclaredContractFilter = {
|
|
171
|
+
/** Filter by class hash. */
|
|
172
|
+
classHash?: FieldElement;
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
export type DeployedContractFilter = {
|
|
176
|
+
/** Filter by contract address. */
|
|
177
|
+
contractAddress?: FieldElement;
|
|
178
|
+
/** Filter by class hash. */
|
|
179
|
+
classHash?: FieldElement;
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
export type NonceUpdateFilter = {
|
|
183
|
+
/** Filter by contract address. */
|
|
184
|
+
contractAddress?: FieldElement;
|
|
185
|
+
/** Filter by nonce value. */
|
|
186
|
+
nonce?: FieldElement;
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
export type DeclaredClassFilter = {
|
|
190
|
+
/** Filter by class hash. */
|
|
191
|
+
classHash?: FieldElement;
|
|
192
|
+
/** Filter by compiled class hash. */
|
|
193
|
+
compiledClassHash?: FieldElement;
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
export type ReplacedClassFilter = {
|
|
197
|
+
/** Filter by contract address. */
|
|
198
|
+
contractAddress?: FieldElement;
|
|
199
|
+
/** Filter by class hash. */
|
|
200
|
+
classHash?: FieldElement;
|
|
201
|
+
};
|