Skip to content

Commit b18082b

Browse files
committed
Add addresses to ENS project, add ENS sepolia config, fix CI issues
1 parent c857e49 commit b18082b

File tree

12 files changed

+327
-11
lines changed

12 files changed

+327
-11
lines changed
Lines changed: 313 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,313 @@
1+
import {
2+
EthereumProject,
3+
EthereumDatasourceKind,
4+
EthereumHandlerKind,
5+
} from "@subql/types-ethereum";
6+
7+
// Can expand the Datasource processor types via the generic param
8+
const project: EthereumProject = {
9+
specVersion: "1.0.0",
10+
version: "0.0.1",
11+
name: "subquery-example-ens",
12+
description:
13+
"This project can be use as a starting point for developing your new Ethereum SubQuery project",
14+
runner: {
15+
node: {
16+
name: "@subql/node-ethereum",
17+
version: ">=3.0.0",
18+
},
19+
query: {
20+
name: "@subql/query",
21+
version: "*",
22+
},
23+
},
24+
schema: {
25+
file: "./schema.graphql",
26+
},
27+
network: {
28+
/**
29+
* chainId is the EVM Chain ID, for Ethereum this is 1
30+
* https://chainlist.org/chain/1
31+
*/
32+
chainId: "11155111",
33+
/**
34+
* These endpoint(s) should be public non-pruned archive node
35+
* We recommend providing more than one endpoint for improved reliability, performance, and uptime
36+
* Public nodes may be rate limited, which can affect indexing speed
37+
* When developing your project we suggest getting a private API key
38+
* If you use a rate limited endpoint, adjust the --batch-size and --workers parameters
39+
* These settings can be found in your docker-compose.yaml, they will slow indexing but prevent your project being rate limited
40+
*/
41+
endpoint: ["https://ethereum-sepolia.publicnode.com"],
42+
},
43+
dataSources: [
44+
// ENSRegistry
45+
{
46+
kind: EthereumDatasourceKind.Runtime,
47+
startBlock: 3702728,
48+
49+
options: {
50+
// Must be a key of assets
51+
abi: "EnsRegistry",
52+
address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",
53+
},
54+
assets: new Map([["EnsRegistry", { file: "./abis/Registry.json" }]]),
55+
mapping: {
56+
file: "./dist/index.js",
57+
handlers: [
58+
{
59+
kind: EthereumHandlerKind.Event,
60+
handler: "handleTransfer",
61+
filter: {
62+
topics: ["Transfer(bytes32,address)"],
63+
},
64+
},
65+
{
66+
kind: EthereumHandlerKind.Event,
67+
handler: "handleNewOwner",
68+
filter: {
69+
topics: ["NewOwner(bytes32,bytes32,address)"],
70+
},
71+
},
72+
{
73+
kind: EthereumHandlerKind.Event,
74+
handler: "handleNewResolver",
75+
filter: {
76+
topics: ["NewResolver(bytes32,address)"],
77+
},
78+
},
79+
{
80+
kind: EthereumHandlerKind.Event,
81+
handler: "handleNewTTL",
82+
filter: {
83+
topics: ["NewTTL(bytes32,uint64)"],
84+
},
85+
},
86+
],
87+
},
88+
},
89+
// Resolver
90+
{
91+
kind: EthereumDatasourceKind.Runtime,
92+
startBlock: 3790251,
93+
94+
options: {
95+
// Must be a key of assets
96+
abi: "Resolver",
97+
address: '0x8FADE66B79cC9f707aB26799354482EB93a5B7dD',
98+
},
99+
assets: new Map([["Resolver", { file: "./abis/PublicResolver.json" }]]),
100+
mapping: {
101+
file: "./dist/index.js",
102+
handlers: [
103+
{
104+
kind: EthereumHandlerKind.Event,
105+
handler: "handleABIChanged",
106+
filter: {
107+
topics: ["ABIChanged(bytes32,uint256)"],
108+
},
109+
},
110+
{
111+
kind: EthereumHandlerKind.Event,
112+
handler: "handleAddrChanged",
113+
filter: {
114+
topics: ["AddrChanged(bytes32,address)"],
115+
},
116+
},
117+
{
118+
kind: EthereumHandlerKind.Event,
119+
handler: "handleMulticoinAddrChanged",
120+
filter: {
121+
topics: ["AddressChanged(bytes32,uint256,bytes)"],
122+
},
123+
},
124+
{
125+
kind: EthereumHandlerKind.Event,
126+
handler: "handleAuthorisationChanged",
127+
filter: {
128+
topics: ["AuthorisationChanged(bytes32,address,address,bool)"],
129+
},
130+
},
131+
{
132+
kind: EthereumHandlerKind.Event,
133+
handler: "handleContentHashChanged",
134+
filter: {
135+
topics: ["ContenthashChanged(bytes32,bytes)"],
136+
},
137+
},
138+
{
139+
kind: EthereumHandlerKind.Event,
140+
handler: "handleInterfaceChanged",
141+
filter: {
142+
topics: ["InterfaceChanged(bytes32,bytes4,address)"],
143+
},
144+
},
145+
{
146+
kind: EthereumHandlerKind.Event,
147+
handler: "handleNameChanged",
148+
filter: {
149+
topics: ["NameChanged(bytes32,string)"],
150+
},
151+
},
152+
{
153+
kind: EthereumHandlerKind.Event,
154+
handler: "handlePubkeyChanged",
155+
filter: {
156+
topics: ["PubkeyChanged(bytes32,bytes32,bytes32)"],
157+
},
158+
},
159+
{
160+
kind: EthereumHandlerKind.Event,
161+
handler: "handleTextChanged",
162+
filter: {
163+
topics: ["TextChanged(bytes32,string,string)"],
164+
},
165+
},
166+
{
167+
kind: EthereumHandlerKind.Event,
168+
handler: "handleTextChangedWithValue",
169+
filter: {
170+
topics: ["TextChanged(bytes32,string,string,string)"],
171+
},
172+
},
173+
],
174+
},
175+
},
176+
// BaseRegistrar
177+
{
178+
kind: EthereumDatasourceKind.Runtime,
179+
startBlock: 3702731,
180+
181+
options: {
182+
// Must be a key of assets
183+
abi: "BaseRegistrar",
184+
address: "0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85",
185+
},
186+
assets: new Map([
187+
["BaseRegistrar", { file: "./abis/BaseRegistrar.json" }],
188+
]),
189+
mapping: {
190+
file: "./dist/index.js",
191+
handlers: [
192+
{
193+
kind: EthereumHandlerKind.Event,
194+
handler: "handleNameRegistered",
195+
filter: {
196+
topics: ["NameRegistered(uint256,address,uint256)"],
197+
},
198+
},
199+
{
200+
kind: EthereumHandlerKind.Event,
201+
handler: "handleNameRenewed",
202+
filter: {
203+
topics: ["NameRenewed( uint256,uint256)"],
204+
},
205+
},
206+
{
207+
kind: EthereumHandlerKind.Event,
208+
handler: "handleNameTransferred",
209+
filter: {
210+
topics: ["Transfer(address,address,uint256)"],
211+
},
212+
},
213+
],
214+
},
215+
},
216+
// EthRegistrarController
217+
{
218+
kind: EthereumDatasourceKind.Runtime,
219+
startBlock: 3790244,
220+
options: {
221+
// Must be a key of assets
222+
abi: "EthRegistrarController",
223+
address: "0xFED6a969AaA60E4961FCD3EBF1A2e8913ac65B72"
224+
},
225+
assets: new Map([
226+
[
227+
"EthRegistrarController",
228+
{ file: "./abis/EthRegistrarController.json" },
229+
],
230+
]),
231+
mapping: {
232+
file: "./dist/index.js",
233+
handlers: [
234+
{
235+
kind: EthereumHandlerKind.Event,
236+
handler: "handleNameRegisteredByController",
237+
filter: {
238+
topics: [
239+
"NameRegistered(string, bytes32, address,uint256,uint256,uint256)",
240+
],
241+
},
242+
},
243+
{
244+
kind: EthereumHandlerKind.Event,
245+
handler: "handleNameRenewedByController",
246+
filter: {
247+
topics: ["NameRenewed(string, bytes32,uint256,uint256)"],
248+
},
249+
},
250+
],
251+
},
252+
},
253+
// NameWrapper
254+
{
255+
kind: EthereumDatasourceKind.Runtime,
256+
startBlock: 3790153,
257+
options: {
258+
// Must be a key of assets
259+
abi: "NameWrapper",
260+
address: "0x0635513f179D50A207757E05759CbD106d7dFcE8"
261+
},
262+
assets: new Map([["NameWrapper", { file: "./abis/NameWrapper.json" }]]),
263+
mapping: {
264+
file: "./dist/index.js",
265+
handlers: [
266+
{
267+
kind: EthereumHandlerKind.Event,
268+
handler: "handleNameWrapped",
269+
filter: {
270+
topics: ["NameWrapped( bytes32,bytes,address,uint32,uint64)"],
271+
},
272+
},
273+
{
274+
kind: EthereumHandlerKind.Event,
275+
handler: "handleNameUnwrapped",
276+
filter: {
277+
topics: ["NameUnwrapped( bytes32,address)"],
278+
},
279+
},
280+
{
281+
kind: EthereumHandlerKind.Event,
282+
handler: "handleFusesSet",
283+
filter: {
284+
topics: ["FusesSet( bytes32,uint32,uint64)"],
285+
},
286+
},
287+
{
288+
kind: EthereumHandlerKind.Event,
289+
handler: "handleTransferSingle",
290+
filter: {
291+
topics: [
292+
"TransferSingle( address, address, address,uint256,uint256)",
293+
],
294+
},
295+
},
296+
{
297+
kind: EthereumHandlerKind.Event,
298+
handler: "handleTransferBatch",
299+
filter: {
300+
topics: [
301+
"TransferBatch( address, address, address,uint256[],uint256[])",
302+
],
303+
},
304+
},
305+
],
306+
},
307+
},
308+
],
309+
repository: "https://github.com/subquery/ethereum-subql-starter",
310+
};
311+
312+
// Must set default to the project instance
313+
export default project;

Ethereum/ethereum-ens/project.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ const project: EthereumProject = {
139139
options: {
140140
// Must be a key of assets
141141
abi: "Resolver",
142+
address: '0x231b0Ee14048e9dCcD1d247744d114a4EB5E8E63',
142143
},
143144
assets: new Map([["Resolver", { file: "./abis/PublicResolver.json" }]]),
144145
mapping: {
@@ -301,6 +302,7 @@ const project: EthereumProject = {
301302
options: {
302303
// Must be a key of assets
303304
abi: "EthRegistrarController",
305+
address: '0x253553366Da8546fC250F225fe3d25d0C782303b',
304306
},
305307
assets: new Map([
306308
[
@@ -337,6 +339,7 @@ const project: EthereumProject = {
337339
options: {
338340
// Must be a key of assets
339341
abi: "NameWrapper",
342+
address: '0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401',
340343
},
341344
assets: new Map([["NameWrapper", { file: "./abis/NameWrapper.json" }]]),
342345
mapping: {

Multi-Chain/polygon-plasma-bridge/ethereum.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
specVersion: "1.0.0"
22

3-
name: "polygon-plasma-bridge"
3+
name: "multi-chain-polygon-plasma-bridge-eth"
44
version: "0.0.1"
55
runner:
66
node:

Multi-Chain/polygon-plasma-bridge/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "polygon-plasma-bridge",
2+
"name": "multi-chain-polygon-plasma-bridge",
33
"version": "0.0.1",
44
"description": "This sample project indexes transactions on the Plasma Bridge, transferring assets from Polygon to Ethereum",
55
"main": "dist/index.js",
@@ -34,4 +34,4 @@
3434
"ethers": "^5.7.2",
3535
"typescript": "4.5.5"
3636
}
37-
}
37+
}

Multi-Chain/safe/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "ethereum-snapshot",
2+
"name": "multichain-safe",
33
"version": "0.0.1",
44
"description": "This project indexes Safe multisig signatures data from various chains",
55
"main": "dist/index.js",

Multi-Chain/snapshot/arbitrum.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
specVersion: 1.0.0
22
version: 0.0.1
3-
name: ethereum-snapshot
3+
name: arbitrum-snapshot
44
description: This project indexes the Snapshot Protocol delegation data from various chains
55
runner:
66
node:

Multi-Chain/snapshot/bsc.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
specVersion: 1.0.0
22
version: 0.0.1
3-
name: ethereum-snapshot
3+
name: bsc-snapshot
44
description: This project indexes the Snapshot Protocol delegation data from various chains
55
runner:
66
node:

Multi-Chain/snapshot/fantom.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
specVersion: 1.0.0
22
version: 0.0.1
3-
name: ethereum-snapshot
3+
name: fantom-snapshot
44
description: This project indexes the Snapshot Protocol delegation data from various chains
55
runner:
66
node:

Multi-Chain/snapshot/gnosis.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
specVersion: 1.0.0
22
version: 0.0.1
3-
name: ethereum-snapshot
3+
name: gnosis-snapshot
44
description: This project indexes the Snapshot Protocol delegation data from various chains
55
runner:
66
node:

0 commit comments

Comments
 (0)