@apibara/indexer 0.4.1 → 2.0.0-beta.3
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/README.md +2 -9
- package/package.json +66 -45
- package/src/context.ts +19 -0
- package/src/hooks/index.ts +2 -0
- package/src/hooks/useKVStore.ts +12 -0
- package/src/hooks/useSink.ts +13 -0
- package/src/index.ts +7 -1
- package/src/indexer.test.ts +491 -0
- package/src/indexer.ts +322 -0
- package/src/otel.ts +3 -0
- package/src/plugins/config.ts +11 -0
- package/src/plugins/kv.test.ts +120 -0
- package/src/plugins/kv.ts +132 -0
- package/src/plugins/persistence.test.ts +151 -0
- package/src/plugins/persistence.ts +202 -0
- package/src/sink.ts +36 -0
- package/src/sinks/csv.test.ts +65 -0
- package/src/sinks/csv.ts +159 -0
- package/src/sinks/drizzle/Int8Range.ts +52 -0
- package/src/sinks/drizzle/delete.ts +42 -0
- package/src/sinks/drizzle/drizzle.test.ts +239 -0
- package/src/sinks/drizzle/drizzle.ts +115 -0
- package/src/sinks/drizzle/index.ts +6 -0
- package/src/sinks/drizzle/insert.ts +39 -0
- package/src/sinks/drizzle/select.ts +44 -0
- package/src/sinks/drizzle/transaction.ts +49 -0
- package/src/sinks/drizzle/update.ts +47 -0
- package/src/sinks/drizzle/utils.ts +36 -0
- package/src/sinks/sqlite.test.ts +99 -0
- package/src/sinks/sqlite.ts +170 -0
- package/src/testing/helper.ts +13 -0
- package/src/testing/index.ts +3 -0
- package/src/testing/indexer.ts +35 -0
- package/src/testing/setup.ts +59 -0
- package/src/testing/vcr.ts +54 -0
- package/src/vcr/config.ts +11 -0
- package/src/vcr/helper.ts +27 -0
- package/src/vcr/index.ts +4 -0
- package/src/vcr/record.ts +45 -0
- package/src/vcr/replay.ts +51 -0
- package/LICENSE.txt +0 -202
- package/dist/config.d.ts +0 -35
- package/dist/config.js +0 -2
- package/dist/config.js.map +0 -1
- package/dist/config.test-d.d.ts +0 -1
- package/dist/config.test-d.js +0 -38
- package/dist/config.test-d.js.map +0 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -1
- package/dist/sink/console.d.ts +0 -10
- package/dist/sink/console.js +0 -2
- package/dist/sink/console.js.map +0 -1
- package/dist/sink/console.test-d.d.ts +0 -1
- package/dist/sink/console.test-d.js +0 -12
- package/dist/sink/console.test-d.js.map +0 -1
- package/dist/sink/mongo.d.ts +0 -14
- package/dist/sink/mongo.js +0 -2
- package/dist/sink/mongo.js.map +0 -1
- package/dist/sink/parquet.d.ts +0 -9
- package/dist/sink/parquet.js +0 -2
- package/dist/sink/parquet.js.map +0 -1
- package/dist/sink/postgres.d.ts +0 -10
- package/dist/sink/postgres.js +0 -2
- package/dist/sink/postgres.js.map +0 -1
- package/dist/sink/webhook.d.ts +0 -12
- package/dist/sink/webhook.js +0 -2
- package/dist/sink/webhook.js.map +0 -1
- package/dist/starknet/block.d.ts +0 -409
- package/dist/starknet/block.js +0 -2
- package/dist/starknet/block.js.map +0 -1
- package/dist/starknet/block.test-d.d.ts +0 -1
- package/dist/starknet/block.test-d.js +0 -95
- package/dist/starknet/block.test-d.js.map +0 -1
- package/dist/starknet/felt.d.ts +0 -11
- package/dist/starknet/felt.js +0 -25
- package/dist/starknet/felt.js.map +0 -1
- package/dist/starknet/felt.test.d.ts +0 -1
- package/dist/starknet/felt.test.js +0 -16
- package/dist/starknet/felt.test.js.map +0 -1
- package/dist/starknet/filter.d.ts +0 -175
- package/dist/starknet/filter.js +0 -2
- package/dist/starknet/filter.js.map +0 -1
- package/dist/starknet/filter.test-d.d.ts +0 -1
- package/dist/starknet/filter.test-d.js +0 -166
- package/dist/starknet/filter.test-d.js.map +0 -1
- package/dist/starknet/index.d.ts +0 -10
- package/dist/starknet/index.js +0 -5
- package/dist/starknet/index.js.map +0 -1
- package/dist/starknet/parser.d.ts +0 -16
- package/dist/starknet/parser.js +0 -49
- package/dist/starknet/parser.js.map +0 -1
- package/dist/starknet/parser.test.d.ts +0 -1
- package/dist/starknet/parser.test.js +0 -50
- package/dist/starknet/parser.test.js.map +0 -1
- package/src/config.test-d.ts +0 -55
- package/src/config.ts +0 -47
- package/src/sink/console.test-d.ts +0 -14
- package/src/sink/console.ts +0 -11
- package/src/sink/mongo.ts +0 -14
- package/src/sink/parquet.ts +0 -9
- package/src/sink/postgres.ts +0 -10
- package/src/sink/webhook.ts +0 -12
- package/src/starknet/block.test-d.ts +0 -112
- package/src/starknet/block.ts +0 -469
- package/src/starknet/felt.test.ts +0 -25
- package/src/starknet/felt.ts +0 -30
- package/src/starknet/filter.test-d.ts +0 -197
- package/src/starknet/filter.ts +0 -205
- package/src/starknet/index.ts +0 -12
- package/src/starknet/parser.test.ts +0 -67
- package/src/starknet/parser.ts +0 -69
- /package/{dist/index.d.ts → src/plugins/index.ts} +0 -0
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { assertType, describe, test } from "vitest";
|
|
2
|
-
import { FieldElement } from "./felt";
|
|
3
|
-
const address = "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7";
|
|
4
|
-
const entryPointSelector = "0x03943907ef0ef6f9d2e2408b05e520a66daaf74293dbf665e5a20b117676170e";
|
|
5
|
-
const calldata = [FieldElement.parse("0x01"), FieldElement.parse("0x02")];
|
|
6
|
-
const meta = {
|
|
7
|
-
hash: FieldElement.parse("0x01"),
|
|
8
|
-
maxFee: FieldElement.parse("0x02"),
|
|
9
|
-
signature: [FieldElement.parse("0x03")],
|
|
10
|
-
nonce: FieldElement.parse("0x04"),
|
|
11
|
-
version: "0",
|
|
12
|
-
};
|
|
13
|
-
const invokeV0 = {
|
|
14
|
-
contractAddress: FieldElement.parse(address),
|
|
15
|
-
entryPointSelector: FieldElement.parse(entryPointSelector),
|
|
16
|
-
calldata,
|
|
17
|
-
};
|
|
18
|
-
const invokeV1 = {
|
|
19
|
-
senderAddress: FieldElement.parse(address),
|
|
20
|
-
calldata,
|
|
21
|
-
};
|
|
22
|
-
const deploy = {
|
|
23
|
-
constructorCalldata: calldata,
|
|
24
|
-
contractAddressSalt: FieldElement.parse("0x01"),
|
|
25
|
-
classHash: FieldElement.parse("0x02"),
|
|
26
|
-
};
|
|
27
|
-
const declare = {
|
|
28
|
-
classHash: FieldElement.parse("0x01"),
|
|
29
|
-
senderAddress: FieldElement.parse(address),
|
|
30
|
-
compiledClassHash: FieldElement.parse("0x02"),
|
|
31
|
-
};
|
|
32
|
-
describe("Block", () => {
|
|
33
|
-
test("all optional", () => {
|
|
34
|
-
assertType({});
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
describe("BlockHeader", () => {
|
|
38
|
-
test("all fields", () => {
|
|
39
|
-
assertType({
|
|
40
|
-
blockHash: FieldElement.parse("0x01"),
|
|
41
|
-
parentBlockHash: FieldElement.parse("0x00"),
|
|
42
|
-
blockNumber: "1",
|
|
43
|
-
sequencerAddress: FieldElement.parse(address),
|
|
44
|
-
newRoot: FieldElement.parse("0x02"),
|
|
45
|
-
timestamp: "1",
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
describe("Transaction", () => {
|
|
50
|
-
test("only one type", () => {
|
|
51
|
-
// @ts-expect-error - should be one of the types
|
|
52
|
-
assertType({
|
|
53
|
-
meta,
|
|
54
|
-
invokeV0,
|
|
55
|
-
invokeV1,
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
test("invokeV0", () => {
|
|
59
|
-
assertType({
|
|
60
|
-
meta,
|
|
61
|
-
invokeV0,
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
test("invokeV1", () => {
|
|
65
|
-
assertType({
|
|
66
|
-
meta,
|
|
67
|
-
invokeV1,
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
test("deploy", () => {
|
|
71
|
-
assertType({
|
|
72
|
-
meta,
|
|
73
|
-
deploy,
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
test("declare", () => {
|
|
77
|
-
assertType({
|
|
78
|
-
meta,
|
|
79
|
-
declare,
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
test("l1Handler", () => {
|
|
83
|
-
assertType({
|
|
84
|
-
meta,
|
|
85
|
-
l1Handler: invokeV0,
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
test("deployAccount", () => {
|
|
89
|
-
assertType({
|
|
90
|
-
meta,
|
|
91
|
-
deployAccount: deploy,
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
//# sourceMappingURL=block.test-d.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"block.test-d.js","sourceRoot":"","sources":["../../src/starknet/block.test-d.ts"],"names":[],"mappings":"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"}
|
package/dist/starknet/felt.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
export type FieldElement = `0x${string}`;
|
|
3
|
-
export declare const FieldElement: z.ZodEffects<z.ZodString, `0x${string}`, string>;
|
|
4
|
-
/**
|
|
5
|
-
* Compute the selector from a function or event name.
|
|
6
|
-
*
|
|
7
|
-
* The return value is padded to 32 bytes.
|
|
8
|
-
* @param name the function/event name
|
|
9
|
-
* @returns a field element
|
|
10
|
-
*/
|
|
11
|
-
export declare function getSelector(name: string): FieldElement;
|
package/dist/starknet/felt.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { hash } from "starknet";
|
|
3
|
-
export const FieldElement = z.string().transform((value, ctx) => {
|
|
4
|
-
const regex = /^0x[0-9a-fA-F]{1,64}$/;
|
|
5
|
-
if (!regex.test(value)) {
|
|
6
|
-
ctx.addIssue({
|
|
7
|
-
code: z.ZodIssueCode.custom,
|
|
8
|
-
message: `FieldElement must be a hex string with a 0x prefix, got ${value}`,
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
const bn = BigInt(value);
|
|
12
|
-
const padded = bn.toString(16).padStart(64, "0");
|
|
13
|
-
return `0x${padded}`;
|
|
14
|
-
});
|
|
15
|
-
/**
|
|
16
|
-
* Compute the selector from a function or event name.
|
|
17
|
-
*
|
|
18
|
-
* The return value is padded to 32 bytes.
|
|
19
|
-
* @param name the function/event name
|
|
20
|
-
* @returns a field element
|
|
21
|
-
*/
|
|
22
|
-
export function getSelector(name) {
|
|
23
|
-
return FieldElement.parse(hash.getSelectorFromName(name));
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=felt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"felt.js","sourceRoot":"","sources":["../../src/starknet/felt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAIhC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC9D,MAAM,KAAK,GAAG,uBAAuB,CAAC;IAEtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACtB,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,2DAA2D,KAAK,EAAE;SAC5E,CAAC,CAAC;KACJ;IAED,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACjD,OAAO,KAAK,MAAM,EAAkB,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { describe, expect, test } from "vitest";
|
|
2
|
-
import { FieldElement } from "./felt";
|
|
3
|
-
describe("FieldElement", () => {
|
|
4
|
-
test("parse address", () => {
|
|
5
|
-
const output = FieldElement.parse("0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7");
|
|
6
|
-
expect(output).toEqual("0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7");
|
|
7
|
-
});
|
|
8
|
-
test("parse value", () => {
|
|
9
|
-
const output = FieldElement.parse("0x1");
|
|
10
|
-
expect(output).toEqual("0x0000000000000000000000000000000000000000000000000000000000000001");
|
|
11
|
-
});
|
|
12
|
-
test("parse invalid value", () => {
|
|
13
|
-
expect(() => FieldElement.parse("0x")).toThrowError();
|
|
14
|
-
});
|
|
15
|
-
});
|
|
16
|
-
//# sourceMappingURL=felt.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"felt.test.js","sourceRoot":"","sources":["../../src/starknet/felt.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE;QACzB,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAC/B,oEAAoE,CACrE,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CACpB,oEAAoE,CACrE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE;QACvB,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CACpB,oEAAoE,CACrE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import type { FieldElement } from "./felt";
|
|
2
|
-
export type Filter = {
|
|
3
|
-
/** Header information. */
|
|
4
|
-
header?: HeaderFilter;
|
|
5
|
-
/** Include transactions. */
|
|
6
|
-
transactions?: TransactionFilter[];
|
|
7
|
-
/** Include events. */
|
|
8
|
-
events?: EventFilter[];
|
|
9
|
-
/** Include messages from L2 to L1. */
|
|
10
|
-
messages?: L2ToL1MessageFilter[];
|
|
11
|
-
/** Include state updates. */
|
|
12
|
-
stateUpdate?: StateUpdateFilter;
|
|
13
|
-
};
|
|
14
|
-
export type HeaderFilter = {
|
|
15
|
-
weak?: boolean;
|
|
16
|
-
};
|
|
17
|
-
export type TransactionFilterCommon = {
|
|
18
|
-
/*** Include reverted transactions. */
|
|
19
|
-
includeReverted?: boolean;
|
|
20
|
-
};
|
|
21
|
-
export type InvokeTransactionV0Filter = {
|
|
22
|
-
invokeV0?: {
|
|
23
|
-
/** Filter by contract address. */
|
|
24
|
-
contractAddress?: FieldElement;
|
|
25
|
-
/** Filter by function selector. */
|
|
26
|
-
entryPointSelector?: FieldElement;
|
|
27
|
-
/** Filter by function arguments. */
|
|
28
|
-
calldata?: FieldElement[];
|
|
29
|
-
};
|
|
30
|
-
invokeV1?: never;
|
|
31
|
-
deploy?: never;
|
|
32
|
-
declare?: never;
|
|
33
|
-
l1Handler?: never;
|
|
34
|
-
deployAccount?: never;
|
|
35
|
-
};
|
|
36
|
-
export type InvokeTransactionV1Filter = {
|
|
37
|
-
invokeV1?: {
|
|
38
|
-
/** Filter by sender address. */
|
|
39
|
-
senderAddress?: FieldElement;
|
|
40
|
-
/** Filter by function arguments. */
|
|
41
|
-
calldata?: FieldElement[];
|
|
42
|
-
};
|
|
43
|
-
invokeV0?: never;
|
|
44
|
-
deploy?: never;
|
|
45
|
-
declare?: never;
|
|
46
|
-
l1Handler?: never;
|
|
47
|
-
deployAccount?: never;
|
|
48
|
-
};
|
|
49
|
-
export type DeployTransactionFilter = {
|
|
50
|
-
deploy?: {
|
|
51
|
-
/** Filter by contract address salt. */
|
|
52
|
-
contractAddressSalt?: FieldElement;
|
|
53
|
-
/** Filter by class hash. */
|
|
54
|
-
classHash?: FieldElement;
|
|
55
|
-
/** Filter by constructor arguments. */
|
|
56
|
-
constructorCalldata?: FieldElement[];
|
|
57
|
-
};
|
|
58
|
-
invokeV0?: never;
|
|
59
|
-
invokeV1?: never;
|
|
60
|
-
declare?: never;
|
|
61
|
-
l1Handler?: never;
|
|
62
|
-
deployAccount?: never;
|
|
63
|
-
};
|
|
64
|
-
export type DeclareTransactionFilter = {
|
|
65
|
-
declare?: {
|
|
66
|
-
/** Filter by class hash. */
|
|
67
|
-
classHash?: FieldElement;
|
|
68
|
-
/** Filter by sender address. */
|
|
69
|
-
senderAddress?: FieldElement;
|
|
70
|
-
};
|
|
71
|
-
invokeV0?: never;
|
|
72
|
-
invokeV1?: never;
|
|
73
|
-
deploy?: never;
|
|
74
|
-
l1Handler?: never;
|
|
75
|
-
deployAccount?: never;
|
|
76
|
-
};
|
|
77
|
-
export type L1HandlerTransactionFilter = {
|
|
78
|
-
l1Handler?: {
|
|
79
|
-
/** Filter by contract address. */
|
|
80
|
-
contractAddress?: FieldElement;
|
|
81
|
-
/** Filter by function selector. */
|
|
82
|
-
entryPointSelector?: FieldElement;
|
|
83
|
-
/** Filter by function arguments. */
|
|
84
|
-
calldata?: FieldElement[];
|
|
85
|
-
};
|
|
86
|
-
invokeV0?: never;
|
|
87
|
-
invokeV1?: never;
|
|
88
|
-
deploy?: never;
|
|
89
|
-
declare?: never;
|
|
90
|
-
deployAccount?: never;
|
|
91
|
-
};
|
|
92
|
-
export type DeployAccountTransactionFilter = {
|
|
93
|
-
deployAccount?: {
|
|
94
|
-
/** Filter by contract address salt. */
|
|
95
|
-
contractAddressSalt?: FieldElement;
|
|
96
|
-
/** Filter by class hash. */
|
|
97
|
-
classHash?: FieldElement;
|
|
98
|
-
/** Filter by constructor arguments. */
|
|
99
|
-
constructorCalldata?: FieldElement[];
|
|
100
|
-
};
|
|
101
|
-
invokeV0?: never;
|
|
102
|
-
invokeV1?: never;
|
|
103
|
-
deploy?: never;
|
|
104
|
-
declare?: never;
|
|
105
|
-
l1Handler?: never;
|
|
106
|
-
};
|
|
107
|
-
export type TransactionFilter = TransactionFilterCommon & (InvokeTransactionV0Filter | InvokeTransactionV1Filter | DeployTransactionFilter | DeclareTransactionFilter | L1HandlerTransactionFilter | DeployAccountTransactionFilter);
|
|
108
|
-
export type EventFilter = {
|
|
109
|
-
/** Filter by contract address. */
|
|
110
|
-
fromAddress?: FieldElement;
|
|
111
|
-
/** Filter by event keys (selector). */
|
|
112
|
-
keys?: FieldElement[];
|
|
113
|
-
/** Filter by event data. */
|
|
114
|
-
data?: FieldElement[];
|
|
115
|
-
/** Include events from reverted transactions. */
|
|
116
|
-
includeReverted?: boolean;
|
|
117
|
-
/** Include the transaction that emitted the event. Defaults to true. */
|
|
118
|
-
includeTransaction?: boolean;
|
|
119
|
-
/** Include the receipt of the transaction that emitted the event. Defaults to true. */
|
|
120
|
-
includeReceipt?: boolean;
|
|
121
|
-
};
|
|
122
|
-
export type L2ToL1MessageFilter = {
|
|
123
|
-
/** Filter by destination address. */
|
|
124
|
-
toAddress?: FieldElement;
|
|
125
|
-
/** Filter by payload. */
|
|
126
|
-
payload?: FieldElement[];
|
|
127
|
-
/** Include messages from reverted transactions. */
|
|
128
|
-
includeReverted?: boolean;
|
|
129
|
-
};
|
|
130
|
-
export type StateUpdateFilter = {
|
|
131
|
-
/** Filter storage diffs. */
|
|
132
|
-
storageDiffs?: StorageDiffFilter[];
|
|
133
|
-
/** Filter declared contracts. */
|
|
134
|
-
declaredContracts?: DeclaredContractFilter[];
|
|
135
|
-
/** Filter deployed contracts. */
|
|
136
|
-
deployedContracts?: DeployedContractFilter[];
|
|
137
|
-
/** Filter nonce updates. */
|
|
138
|
-
nonces?: NonceUpdateFilter[];
|
|
139
|
-
/** Filter declared classes. */
|
|
140
|
-
declaredClasses?: DeclaredClassFilter[];
|
|
141
|
-
/** Filter replaced classes. */
|
|
142
|
-
replacedClasses?: ReplacedClassFilter[];
|
|
143
|
-
};
|
|
144
|
-
export type StorageDiffFilter = {
|
|
145
|
-
/** Filter by contract address. */
|
|
146
|
-
contractAddress?: FieldElement;
|
|
147
|
-
};
|
|
148
|
-
export type DeclaredContractFilter = {
|
|
149
|
-
/** Filter by class hash. */
|
|
150
|
-
classHash?: FieldElement;
|
|
151
|
-
};
|
|
152
|
-
export type DeployedContractFilter = {
|
|
153
|
-
/** Filter by contract address. */
|
|
154
|
-
contractAddress?: FieldElement;
|
|
155
|
-
/** Filter by class hash. */
|
|
156
|
-
classHash?: FieldElement;
|
|
157
|
-
};
|
|
158
|
-
export type NonceUpdateFilter = {
|
|
159
|
-
/** Filter by contract address. */
|
|
160
|
-
contractAddress?: FieldElement;
|
|
161
|
-
/** Filter by nonce value. */
|
|
162
|
-
nonce?: FieldElement;
|
|
163
|
-
};
|
|
164
|
-
export type DeclaredClassFilter = {
|
|
165
|
-
/** Filter by class hash. */
|
|
166
|
-
classHash?: FieldElement;
|
|
167
|
-
/** Filter by compiled class hash. */
|
|
168
|
-
compiledClassHash?: FieldElement;
|
|
169
|
-
};
|
|
170
|
-
export type ReplacedClassFilter = {
|
|
171
|
-
/** Filter by contract address. */
|
|
172
|
-
contractAddress?: FieldElement;
|
|
173
|
-
/** Filter by class hash. */
|
|
174
|
-
classHash?: FieldElement;
|
|
175
|
-
};
|
package/dist/starknet/filter.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/starknet/filter.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import { assertType, describe, test } from "vitest";
|
|
2
|
-
import { FieldElement } from "./felt";
|
|
3
|
-
const address = "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7";
|
|
4
|
-
const entryPointSelector = "0x03943907ef0ef6f9d2e2408b05e520a66daaf74293dbf665e5a20b117676170e";
|
|
5
|
-
const calldata = [FieldElement.parse("0x01"), FieldElement.parse("0x02")];
|
|
6
|
-
describe("Filter", () => {
|
|
7
|
-
test("all optional", () => {
|
|
8
|
-
assertType({});
|
|
9
|
-
});
|
|
10
|
-
});
|
|
11
|
-
describe("TransactionFilter", () => {
|
|
12
|
-
test("all optional", () => {
|
|
13
|
-
assertType({});
|
|
14
|
-
});
|
|
15
|
-
test("includeReverted", () => {
|
|
16
|
-
assertType({ includeReverted: true });
|
|
17
|
-
});
|
|
18
|
-
test("only one inner filter", () => {
|
|
19
|
-
// @ts-expect-error - multiple inner filters
|
|
20
|
-
assertType({
|
|
21
|
-
invokeV0: {},
|
|
22
|
-
deployAccount: {},
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
test("filter invoke transaction v0", () => {
|
|
26
|
-
assertType({
|
|
27
|
-
invokeV0: {
|
|
28
|
-
contractAddress: address,
|
|
29
|
-
entryPointSelector,
|
|
30
|
-
calldata,
|
|
31
|
-
},
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
test("filter invoke transaction v1", () => {
|
|
35
|
-
assertType({
|
|
36
|
-
invokeV1: {
|
|
37
|
-
senderAddress: address,
|
|
38
|
-
calldata,
|
|
39
|
-
},
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
test("filter deploy transaction", () => {
|
|
43
|
-
assertType({
|
|
44
|
-
deploy: {
|
|
45
|
-
contractAddressSalt: address,
|
|
46
|
-
classHash: address,
|
|
47
|
-
constructorCalldata: calldata,
|
|
48
|
-
},
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
test("filter declare transaction", () => {
|
|
52
|
-
assertType({
|
|
53
|
-
declare: {
|
|
54
|
-
senderAddress: address,
|
|
55
|
-
classHash: address,
|
|
56
|
-
},
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
test("filter l1 handler transaction", () => {
|
|
60
|
-
assertType({
|
|
61
|
-
l1Handler: {
|
|
62
|
-
contractAddress: address,
|
|
63
|
-
entryPointSelector,
|
|
64
|
-
calldata,
|
|
65
|
-
},
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
test("filter deploy account transaction", () => {
|
|
69
|
-
assertType({
|
|
70
|
-
deployAccount: {
|
|
71
|
-
contractAddressSalt: address,
|
|
72
|
-
classHash: address,
|
|
73
|
-
constructorCalldata: calldata,
|
|
74
|
-
},
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
describe("EventFilter", () => {
|
|
79
|
-
test("all optional", () => {
|
|
80
|
-
assertType({});
|
|
81
|
-
});
|
|
82
|
-
test("with properties", () => {
|
|
83
|
-
assertType({
|
|
84
|
-
fromAddress: address,
|
|
85
|
-
keys: [entryPointSelector],
|
|
86
|
-
includeReverted: true,
|
|
87
|
-
data: calldata,
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
describe("L2ToL1MessageFilter", () => {
|
|
92
|
-
test("all optional", () => {
|
|
93
|
-
assertType({});
|
|
94
|
-
});
|
|
95
|
-
test("with properties", () => {
|
|
96
|
-
assertType({
|
|
97
|
-
toAddress: address,
|
|
98
|
-
includeReverted: true,
|
|
99
|
-
payload: calldata,
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
describe("StateUpdateFilter", () => {
|
|
104
|
-
test("all optional", () => {
|
|
105
|
-
assertType({});
|
|
106
|
-
});
|
|
107
|
-
test("with storage diffs", () => {
|
|
108
|
-
assertType({
|
|
109
|
-
storageDiffs: [
|
|
110
|
-
{
|
|
111
|
-
contractAddress: address,
|
|
112
|
-
},
|
|
113
|
-
],
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
test("with declared contracts", () => {
|
|
117
|
-
assertType({
|
|
118
|
-
declaredContracts: [
|
|
119
|
-
{
|
|
120
|
-
classHash: address,
|
|
121
|
-
},
|
|
122
|
-
],
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
test("with deployed contracts", () => {
|
|
126
|
-
assertType({
|
|
127
|
-
deployedContracts: [
|
|
128
|
-
{
|
|
129
|
-
classHash: address,
|
|
130
|
-
contractAddress: address,
|
|
131
|
-
},
|
|
132
|
-
],
|
|
133
|
-
});
|
|
134
|
-
});
|
|
135
|
-
test("with nonces", () => {
|
|
136
|
-
assertType({
|
|
137
|
-
nonces: [
|
|
138
|
-
{
|
|
139
|
-
contractAddress: address,
|
|
140
|
-
nonce: "0x1",
|
|
141
|
-
},
|
|
142
|
-
],
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
test("with declared classes", () => {
|
|
146
|
-
assertType({
|
|
147
|
-
declaredClasses: [
|
|
148
|
-
{
|
|
149
|
-
compiledClassHash: address,
|
|
150
|
-
classHash: address,
|
|
151
|
-
},
|
|
152
|
-
],
|
|
153
|
-
});
|
|
154
|
-
});
|
|
155
|
-
test("with replaced classes", () => {
|
|
156
|
-
assertType({
|
|
157
|
-
replacedClasses: [
|
|
158
|
-
{
|
|
159
|
-
contractAddress: address,
|
|
160
|
-
classHash: address,
|
|
161
|
-
},
|
|
162
|
-
],
|
|
163
|
-
});
|
|
164
|
-
});
|
|
165
|
-
});
|
|
166
|
-
//# sourceMappingURL=filter.test-d.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter.test-d.js","sourceRoot":"","sources":["../../src/starknet/filter.test-d.ts"],"names":[],"mappings":"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"}
|
package/dist/starknet/index.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from "./filter";
|
|
2
|
-
export * from "./block";
|
|
3
|
-
export { FieldElement, getSelector } from "./felt";
|
|
4
|
-
export { Contract } from "./parser";
|
|
5
|
-
import type { Filter } from "./filter";
|
|
6
|
-
/** Starknet network type and data filter. */
|
|
7
|
-
export type Starknet = {
|
|
8
|
-
network: "starknet";
|
|
9
|
-
filter: Filter;
|
|
10
|
-
};
|
package/dist/starknet/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/starknet/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { Abi } from "starknet";
|
|
2
|
-
import { type FieldElement } from "./felt";
|
|
3
|
-
import type { EventFilter } from "./filter";
|
|
4
|
-
/** Build a stream filter from a contract ABI. */
|
|
5
|
-
export declare class Contract {
|
|
6
|
-
readonly address: FieldElement;
|
|
7
|
-
readonly abi: Abi;
|
|
8
|
-
private selectorToEvent;
|
|
9
|
-
constructor(contractAddress: FieldElement, contractAbi: Abi);
|
|
10
|
-
private _findEvent;
|
|
11
|
-
private _populateSelectorToEvent;
|
|
12
|
-
/** Filter events based on their name from the contract's ABI. */
|
|
13
|
-
eventFilter(name: string, opts?: Pick<EventFilter, "includeReceipt" | "includeTransaction" | "includeReverted">): EventFilter;
|
|
14
|
-
/** Returns the event name based on its selector. */
|
|
15
|
-
lookupEventFromSelector(selector: FieldElement): string | undefined;
|
|
16
|
-
}
|
package/dist/starknet/parser.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { getSelector } from "./felt";
|
|
2
|
-
/** Build a stream filter from a contract ABI. */
|
|
3
|
-
export class Contract {
|
|
4
|
-
// Read-only properties for the contract's address and its ABI.
|
|
5
|
-
address;
|
|
6
|
-
abi;
|
|
7
|
-
selectorToEvent;
|
|
8
|
-
constructor(contractAddress, contractAbi) {
|
|
9
|
-
this.address = contractAddress;
|
|
10
|
-
this.abi = contractAbi;
|
|
11
|
-
this.selectorToEvent = {};
|
|
12
|
-
this._populateSelectorToEvent();
|
|
13
|
-
}
|
|
14
|
-
_findEvent(name) {
|
|
15
|
-
// Find the event in the ABI matching the provided name.
|
|
16
|
-
const event = this.abi.find((item) => item.type === "event" && item.name === name);
|
|
17
|
-
return event;
|
|
18
|
-
}
|
|
19
|
-
_populateSelectorToEvent() {
|
|
20
|
-
this.selectorToEvent = {};
|
|
21
|
-
for (const event of this.abi) {
|
|
22
|
-
if (event.type !== "event") {
|
|
23
|
-
continue;
|
|
24
|
-
}
|
|
25
|
-
this.selectorToEvent[getSelector(event.name)] = event.name;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
/** Filter events based on their name from the contract's ABI. */
|
|
29
|
-
eventFilter(name, opts = {}) {
|
|
30
|
-
const event = this._findEvent(name);
|
|
31
|
-
// Throw an error if the event is not found in the ABI
|
|
32
|
-
if (!event) {
|
|
33
|
-
throw new Error(`Event ${name} not found in contract ABI`);
|
|
34
|
-
}
|
|
35
|
-
// Return the found event.
|
|
36
|
-
return {
|
|
37
|
-
fromAddress: this.address,
|
|
38
|
-
keys: [getSelector(event.name)],
|
|
39
|
-
includeTransaction: opts.includeTransaction ?? false,
|
|
40
|
-
includeReceipt: opts.includeReceipt ?? false,
|
|
41
|
-
includeReverted: opts.includeReverted ?? false,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
/** Returns the event name based on its selector. */
|
|
45
|
-
lookupEventFromSelector(selector) {
|
|
46
|
-
return this.selectorToEvent[selector];
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/starknet/parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGxD,iDAAiD;AACjD,MAAM,OAAO,QAAQ;IACnB,+DAA+D;IACtD,OAAO,CAAe;IACtB,GAAG,CAAM;IAEV,eAAe,CAA+B;IAEtD,YAAY,eAA6B,EAAE,WAAgB;QACzD,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC;QAC/B,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAEO,UAAU,CAAC,IAAY;QAC7B,wDAAwD;QACxD,MAAM,KAAK,GAAyB,IAAI,CAAC,GAAG,CAAC,IAAI,CAC/C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CACtD,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,wBAAwB;QAC9B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE;YAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;gBAC1B,SAAS;aACV;YACD,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;SAC5D;IACH,CAAC;IAED,iEAAiE;IACjE,WAAW,CACT,IAAY,EACZ,OAGI,EAAE;QAEN,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEpC,sDAAsD;QACtD,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,4BAA4B,CAAC,CAAC;SAC5D;QAED,0BAA0B;QAC1B,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,OAAO;YACzB,IAAI,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,KAAK;YACpD,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK;YAC5C,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,KAAK;SAC/C,CAAC;IACJ,CAAC;IAED,oDAAoD;IACpD,uBAAuB,CAAC,QAAsB;QAC5C,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|