@ensnode/ensnode-schema 0.35.0 → 0.36.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.
@@ -1,7 +1,7 @@
1
- // src/subgraph.schema.ts
1
+ // src/schemas/subgraph.schema.ts
2
2
  import { index, onchainTable, relations } from "ponder";
3
3
 
4
- // src/collate.ts
4
+ // src/lib/collate.ts
5
5
  function monkeypatchCollate(col, collation) {
6
6
  col.getSQLType = function() {
7
7
  return Object.getPrototypeOf(this).getSQLType.call(this) + " COLLATE " + collation;
@@ -9,122 +9,140 @@ function monkeypatchCollate(col, collation) {
9
9
  return col;
10
10
  }
11
11
 
12
- // src/subgraph.schema.ts
13
- var domain = onchainTable("domains", (t) => ({
14
- // The namehash of the name
15
- id: t.hex().primaryKey(),
16
- /**
17
- * The human readable name that this Domain represents.
18
- *
19
- * If REPLACE_UNNORMALIZED is true, this value is guaranteed to be an Interpreted Name, which is either:
20
- * a) a normalized Name, or
21
- * b) a Name entirely consisting of Interpreted Labels.
22
- *
23
- * Note that the type of the column will remain string | null, for legacy subgraph compatibility,
24
- * but in practice will never be null. The Root node's name will be '' (empty string).
25
- *
26
- * @see https://ensnode.io/docs/reference/terminology#interpreted-name
27
- *
28
- * If REPLACE_UNNORMALIZED is false, this value may contain:
29
- * a) null (in the case of the root node), or
30
- * b) a Literal Name that may or may not be normalized and may or may not contain Encoded LabelHashes.
31
- *
32
- * @see https://ensnode.io/docs/reference/terminology#literal-name
33
- */
34
- name: t.text(),
35
- /**
36
- * The Label associated with the Domain.
37
- *
38
- * If REPLACE_UNNORMALIZED is true, this value is guaranteed to be an Interpreted Label which is either:
39
- * a) null, exclusively in the case of the root Node,
40
- * b) a normalized Label, or
41
- * c) an Encoded LabelHash of the Literal Label value found onchain.
42
- *
43
- * @see https://ensnode.io/docs/reference/terminology#interpreted-label
44
- *
45
- * If REPLACE_UNNORMALIZED is false, this value my contain:
46
- * a) null, exclusively in the case of the root Node, or
47
- * b) a Literal Label that may or may not be normalized and may or may not be an Encoded LabelHash.
48
- *
49
- * @see https://ensnode.io/docs/reference/terminology#literal-label
50
- */
51
- labelName: t.text(),
52
- // keccak256(labelName)
53
- labelhash: t.hex(),
54
- // The namehash (id) of the parent name
55
- parentId: t.hex(),
56
- // The number of subdomains
57
- subdomainCount: t.integer().notNull().default(0),
58
- // Address logged from current resolver, if any
59
- resolvedAddressId: t.hex(),
60
- // The resolver that controls the domain's settings
61
- resolverId: t.text(),
62
- // The time-to-live (TTL) value of the domain's records
63
- ttl: t.bigint(),
64
- // Indicates whether the domain has been migrated to a new registrar
65
- isMigrated: t.boolean().notNull().default(false),
66
- // The time when the domain was created
67
- createdAt: t.bigint().notNull(),
68
- // The account that owns the domain
69
- ownerId: t.hex().notNull(),
70
- // The account that owns the ERC721 NFT for the domain
71
- registrantId: t.hex(),
72
- // The account that owns the wrapped domain
73
- wrappedOwnerId: t.hex(),
74
- // The expiry date for the domain, from either the registration, or the wrapped domain if PCC is burned
75
- expiryDate: t.bigint()
76
- }));
77
- monkeypatchCollate(domain.name, '"C"');
78
- monkeypatchCollate(domain.labelName, '"C"');
79
- var domainRelations = relations(domain, ({ one, many }) => ({
80
- resolvedAddress: one(account, {
81
- fields: [domain.resolvedAddressId],
82
- references: [account.id]
12
+ // src/schemas/subgraph.schema.ts
13
+ var subgraph_domain = onchainTable(
14
+ "subgraph_domains",
15
+ (t) => ({
16
+ // The namehash of the name
17
+ id: t.hex().primaryKey(),
18
+ /**
19
+ * The ENS Name that this Domain represents.
20
+ *
21
+ * If {@link ENSIndexerConfig#isSubgraphCompatible}, this value is guaranteed to be either:
22
+ * a) null (in the case of the root node), or
23
+ * b) a Subgraph Interpreted Name.
24
+ *
25
+ * @see https://ensnode.io/docs/reference/terminology#subgraph-indexability--labelname-interpretation
26
+ *
27
+ * Otherwise, this value is guaranteed to be an Interpreted Name, which is either:
28
+ * a) a normalized Name, or
29
+ * b) a Name entirely consisting of Interpreted Labels.
30
+ *
31
+ * Note that the type of the column will remain string | null, for legacy subgraph compatibility,
32
+ * but in practice will never be null. The Root node's name will be '' (empty string).
33
+ *
34
+ * @see https://ensnode.io/docs/reference/terminology#interpreted-name
35
+ */
36
+ name: t.text(),
37
+ /**
38
+ * The Label associated with the Domain.
39
+ *
40
+ * If {@link ENSIndexerConfig#isSubgraphCompatible}, this value is guaranteed to be either:
41
+ * a) null, in the case of the root Node or a name whose childmost label is subgraph-unindexable, or
42
+ * b) a subgraph-indexable Subgraph Interpreted Label (i.e. a Literal Label of undefined normalization).
43
+ *
44
+ * @see https://ensnode.io/docs/reference/terminology#subgraph-indexability--labelname-interpretation
45
+ *
46
+ * Otherwise, this value is guaranteed to be an Interpreted Label which is either:
47
+ * a) null, exclusively in the case of the root Node,
48
+ * b) a normalized Label, or
49
+ * c) an Encoded LabelHash, which encodes either
50
+ * i. in the case of an Unknown Label, the LabelHash emitted onchain, or
51
+ * ii. in the case of an Unnormalized Label, the LabelHash of the Literal Label value found onchain.
52
+ *
53
+ * @see https://ensnode.io/docs/reference/terminology#interpreted-label
54
+ */
55
+ labelName: t.text(),
56
+ // keccak256(labelName)
57
+ labelhash: t.hex(),
58
+ // The namehash (id) of the parent name
59
+ parentId: t.hex(),
60
+ // The number of subdomains
61
+ subdomainCount: t.integer().notNull().default(0),
62
+ // Address logged from current resolver, if any
63
+ resolvedAddressId: t.hex(),
64
+ // The resolver that controls the domain's settings
65
+ resolverId: t.text(),
66
+ // The time-to-live (TTL) value of the domain's records
67
+ ttl: t.bigint(),
68
+ // Indicates whether the domain has been migrated to a new registrar
69
+ isMigrated: t.boolean().notNull().default(false),
70
+ // The time when the domain was created
71
+ createdAt: t.bigint().notNull(),
72
+ // The account that owns the domain
73
+ ownerId: t.hex().notNull(),
74
+ // The account that owns the ERC721 NFT for the domain
75
+ registrantId: t.hex(),
76
+ // The account that owns the wrapped domain
77
+ wrappedOwnerId: t.hex(),
78
+ // The expiry date for the domain, from either the registration, or the wrapped domain if PCC is burned
79
+ expiryDate: t.bigint()
83
80
  }),
84
- owner: one(account, { fields: [domain.ownerId], references: [account.id] }),
85
- parent: one(domain, { fields: [domain.parentId], references: [domain.id] }),
86
- resolver: one(resolver, {
87
- fields: [domain.resolverId],
88
- references: [resolver.id]
81
+ (t) => ({
82
+ byLabelhash: index().on(t.labelhash),
83
+ byParentId: index().on(t.parentId),
84
+ byOwnerId: index().on(t.ownerId),
85
+ byRegistrantId: index().on(t.registrantId),
86
+ byWrappedOwnerId: index().on(t.wrappedOwnerId)
87
+ })
88
+ );
89
+ monkeypatchCollate(subgraph_domain.name, '"C"');
90
+ monkeypatchCollate(subgraph_domain.labelName, '"C"');
91
+ var subgraph_domainRelations = relations(subgraph_domain, ({ one, many }) => ({
92
+ resolvedAddress: one(subgraph_account, {
93
+ fields: [subgraph_domain.resolvedAddressId],
94
+ references: [subgraph_account.id]
95
+ }),
96
+ owner: one(subgraph_account, {
97
+ fields: [subgraph_domain.ownerId],
98
+ references: [subgraph_account.id]
99
+ }),
100
+ parent: one(subgraph_domain, {
101
+ fields: [subgraph_domain.parentId],
102
+ references: [subgraph_domain.id]
89
103
  }),
90
- subdomains: many(domain, { relationName: "parent" }),
91
- registrant: one(account, {
92
- fields: [domain.registrantId],
93
- references: [account.id]
104
+ resolver: one(subgraph_resolver, {
105
+ fields: [subgraph_domain.resolverId],
106
+ references: [subgraph_resolver.id]
94
107
  }),
95
- wrappedOwner: one(account, {
96
- fields: [domain.wrappedOwnerId],
97
- references: [account.id]
108
+ subdomains: many(subgraph_domain, { relationName: "parent" }),
109
+ registrant: one(subgraph_account, {
110
+ fields: [subgraph_domain.registrantId],
111
+ references: [subgraph_account.id]
98
112
  }),
99
- wrappedDomain: one(wrappedDomain, {
100
- fields: [domain.id],
101
- references: [wrappedDomain.domainId]
113
+ wrappedOwner: one(subgraph_account, {
114
+ fields: [subgraph_domain.wrappedOwnerId],
115
+ references: [subgraph_account.id]
102
116
  }),
103
- registration: one(registration, {
104
- fields: [domain.id],
105
- references: [registration.domainId]
117
+ wrappedDomain: one(subgraph_wrappedDomain, {
118
+ fields: [subgraph_domain.id],
119
+ references: [subgraph_wrappedDomain.domainId]
120
+ }),
121
+ registration: one(subgraph_registration, {
122
+ fields: [subgraph_domain.id],
123
+ references: [subgraph_registration.domainId]
106
124
  }),
107
125
  // event relations
108
- transfers: many(transfer),
109
- newOwners: many(newOwner),
110
- newResolvers: many(newResolver),
111
- newTTLs: many(newTTL),
112
- wrappedTransfers: many(wrappedTransfer),
113
- nameWrappeds: many(nameWrapped),
114
- nameUnwrappeds: many(nameUnwrapped),
115
- fusesSets: many(fusesSet),
116
- expiryExtendeds: many(expiryExtended)
126
+ transfers: many(subgraph_transfer),
127
+ newOwners: many(subgraph_newOwner),
128
+ newResolvers: many(subgraph_newResolver),
129
+ newTTLs: many(subgraph_newTTL),
130
+ wrappedTransfers: many(subgraph_wrappedTransfer),
131
+ nameWrappeds: many(subgraph_nameWrapped),
132
+ nameUnwrappeds: many(subgraph_nameUnwrapped),
133
+ fusesSets: many(subgraph_fusesSet),
134
+ expiryExtendeds: many(subgraph_expiryExtended)
117
135
  }));
118
- var account = onchainTable("accounts", (t) => ({
136
+ var subgraph_account = onchainTable("subgraph_accounts", (t) => ({
119
137
  id: t.hex().primaryKey()
120
138
  }));
121
- var accountRelations = relations(account, ({ many }) => ({
122
- domains: many(domain),
123
- wrappedDomains: many(wrappedDomain),
124
- registrations: many(registration)
139
+ var subgraph_accountRelations = relations(subgraph_account, ({ many }) => ({
140
+ domains: many(subgraph_domain),
141
+ wrappedDomains: many(subgraph_wrappedDomain),
142
+ registrations: many(subgraph_registration)
125
143
  }));
126
- var resolver = onchainTable(
127
- "resolvers",
144
+ var subgraph_resolver = onchainTable(
145
+ "subgraph_resolvers",
128
146
  (t) => ({
129
147
  // The unique identifier for this resolver, which is a concatenation of the domain namehash and the resolver address
130
148
  id: t.text().primaryKey(),
@@ -141,43 +159,35 @@ var resolver = onchainTable(
141
159
  texts: t.text().array(),
142
160
  // The set of observed SLIP-44 coin types for this resolver
143
161
  // NOTE: we avoid .notNull.default([]) to match subgraph behavior
144
- coinTypes: t.bigint().array(),
145
- /**
146
- * Represents the value of the reverse-resolution (ENSIP-3) name() record.
147
- *
148
- * The emitted record values are interpreted according to `interpretNameRecordValue` — unnormalized
149
- * names and empty string values are interpreted as a deletion of the associated record (represented
150
- * here as `null`).
151
- *
152
- * If set, the value of this field is guaranteed to be a non-empty-string normalized ENS name
153
- * (see `interpretNameRecordValue` for guarantees).
154
- *
155
- * Note that this is an extension to the original subgraph schema and legacy subgraph compatibility
156
- * is not relevant.
157
- */
158
- name: t.text()
162
+ coinTypes: t.bigint().array()
159
163
  }),
160
164
  (t) => ({
161
- idx: index().on(t.domainId)
165
+ byDomainId: index().on(t.domainId)
162
166
  })
163
167
  );
164
- var resolverRelations = relations(resolver, ({ one, many }) => ({
165
- addr: one(account, { fields: [resolver.addrId], references: [account.id] }),
166
- domain: one(domain, { fields: [resolver.domainId], references: [domain.id] }),
168
+ var subgraph_resolverRelations = relations(subgraph_resolver, ({ one, many }) => ({
169
+ addr: one(subgraph_account, {
170
+ fields: [subgraph_resolver.addrId],
171
+ references: [subgraph_account.id]
172
+ }),
173
+ domain: one(subgraph_domain, {
174
+ fields: [subgraph_resolver.domainId],
175
+ references: [subgraph_domain.id]
176
+ }),
167
177
  // event relations
168
- addrChangeds: many(addrChanged),
169
- multicoinAddrChangeds: many(multicoinAddrChanged),
170
- nameChangeds: many(nameChanged),
171
- abiChangeds: many(abiChanged),
172
- pubkeyChangeds: many(pubkeyChanged),
173
- textChangeds: many(textChanged),
174
- contenthashChangeds: many(contenthashChanged),
175
- interfaceChangeds: many(interfaceChanged),
176
- authorisationChangeds: many(authorisationChanged),
177
- versionChangeds: many(versionChanged)
178
+ addrChangeds: many(subgraph_addrChanged),
179
+ multicoinAddrChangeds: many(subgraph_multicoinAddrChanged),
180
+ nameChangeds: many(subgraph_nameChanged),
181
+ abiChangeds: many(subgraph_abiChanged),
182
+ pubkeyChangeds: many(subgraph_pubkeyChanged),
183
+ textChangeds: many(subgraph_textChanged),
184
+ contenthashChangeds: many(subgraph_contenthashChanged),
185
+ interfaceChangeds: many(subgraph_interfaceChanged),
186
+ authorisationChangeds: many(subgraph_authorisationChanged),
187
+ versionChangeds: many(subgraph_versionChanged)
178
188
  }));
179
- var registration = onchainTable(
180
- "registrations",
189
+ var subgraph_registration = onchainTable(
190
+ "subgraph_registrations",
181
191
  (t) => ({
182
192
  // The unique identifier of the registration
183
193
  id: t.hex().primaryKey(),
@@ -194,44 +204,45 @@ var registration = onchainTable(
194
204
  /**
195
205
  * The Label associated with the domain registration.
196
206
  *
197
- * If REPLACE_UNNORMALIZED is true, this value is guaranteed to be an Interpreted Label which is either:
207
+ * If {@link ENSIndexerConfig#isSubgraphCompatible}, this value is guaranteed to be either:
208
+ * a) null, in the case of the root Node or a Domain whose label is subgraph-unindexable, or
209
+ * b) a subgraph-indexable Subgraph Interpreted Label (i.e. a Literal Label of undefined normalization).
210
+ *
211
+ * @see https://ensnode.io/docs/reference/terminology#subgraph-indexability--labelname-interpretation
212
+ *
213
+ * Otherwise, this value is guaranteed to be an Interpreted Label which is either:
198
214
  * a) a normalized Label, or
199
- * b) an Encoded LabelHash of the Literal Label value found onchain.
215
+ * b) in the case of an Unnormalized Label, an Encoded LabelHash of the Literal Label value found onchain.
200
216
  *
201
217
  * Note that the type of the column will remain string | null, for legacy subgraph compatibility.
202
- * In practice however, when REPLACE_UNNORMALIZED is true, because there is no Registration entity
203
- * for the root Node—the only Node with a null labelNamethis field will never be null.
218
+ * In practice however, because there is no Registration entity for the root Node (the only Node
219
+ * with a null labelName) this field will never be null.
204
220
  *
205
221
  * @see https://ensnode.io/docs/reference/terminology#interpreted-label
206
- *
207
- * If REPLACE_UNNORMALIZED is false, this value may contain:
208
- * a) null, or
209
- * b) a Literal Label that may or may not be normalized and may or may not be an Encoded LabelHash.
210
- *
211
- * @see https://ensnode.io/docs/reference/terminology#literal-label
212
222
  */
213
223
  labelName: t.text()
214
224
  }),
215
225
  (t) => ({
216
- idx: index().on(t.domainId)
226
+ byDomainId: index().on(t.domainId),
227
+ byRegistrationDate: index().on(t.registrationDate)
217
228
  })
218
229
  );
219
- var registrationRelations = relations(registration, ({ one, many }) => ({
220
- domain: one(domain, {
221
- fields: [registration.domainId],
222
- references: [domain.id]
230
+ var subgraph_registrationRelations = relations(subgraph_registration, ({ one, many }) => ({
231
+ domain: one(subgraph_domain, {
232
+ fields: [subgraph_registration.domainId],
233
+ references: [subgraph_domain.id]
223
234
  }),
224
- registrant: one(account, {
225
- fields: [registration.registrantId],
226
- references: [account.id]
235
+ registrant: one(subgraph_account, {
236
+ fields: [subgraph_registration.registrantId],
237
+ references: [subgraph_account.id]
227
238
  }),
228
239
  // event relations
229
- nameRegistereds: many(nameRegistered),
230
- nameReneweds: many(nameRenewed),
231
- nameTransferreds: many(nameTransferred)
240
+ nameRegistereds: many(subgraph_nameRegistered),
241
+ nameReneweds: many(subgraph_nameRenewed),
242
+ nameTransferreds: many(subgraph_nameTransferred)
232
243
  }));
233
- var wrappedDomain = onchainTable(
234
- "wrapped_domains",
244
+ var subgraph_wrappedDomain = onchainTable(
245
+ "subgraph_wrapped_domains",
235
246
  (t) => ({
236
247
  // The unique identifier for each instance of the WrappedDomain entity
237
248
  id: t.hex().primaryKey(),
@@ -244,37 +255,35 @@ var wrappedDomain = onchainTable(
244
255
  // The account that owns this WrappedDomain
245
256
  ownerId: t.hex().notNull(),
246
257
  /**
247
- * The Name that this WrappedDomain represents.
248
- *
249
- * If REPLACE_UNNORMALIZED is true, this value is guaranteed to be an Interpreted Name, which is either:
250
- * a) a normalized Name, or
251
- * b) a Name entirely consisting of Interpreted Labels.
258
+ * The Name that this WrappedDomain represents. Names are emitted by the NameWrapper contract as
259
+ * DNS-Encoded Names which may be malformed, which will result in this field being `null`.
252
260
  *
253
- * Note that the type of the column will remain string | null, for legacy subgraph compatibility,
254
- * but in practice will never be null.
261
+ * If {@link ENSIndexerConfig#isSubgraphCompatible}, this value is guaranteed to be either:
262
+ * a) null (in the case of a DNS-Encoded Name that is malformed or contains subgraph-unindexable labels), or
263
+ * b) a subgraph-indexable Subgraph Interpreted Label (i.e. a Literal Label of undefined normalization).
255
264
  *
256
- * @see https://ensnode.io/docs/reference/terminology#interpreted-name
265
+ * @see https://ensnode.io/docs/reference/terminology#subgraph-indexability--labelname-interpretation
257
266
  *
258
- * If REPLACE_UNNORMALIZED is false, this value may contain:
259
- * a) null (in the case of the root node or invalid Name), or
260
- * b) a Literal Name that may or may not be normalized and may or may not contain Encoded LabelHashes.
267
+ * Otherwise, this value is guaranteed to be either:
268
+ * a) null (in the case of a malformed DNS-Encoded Name),
269
+ * b) an Interpreted Name.
261
270
  *
262
- * @see https://ensnode.io/docs/reference/terminology#literal-name
271
+ * @see https://ensnode.io/docs/reference/terminology#interpreted-name
263
272
  */
264
273
  name: t.text()
265
274
  }),
266
275
  (t) => ({
267
- idx: index().on(t.domainId)
276
+ byDomainId: index().on(t.domainId)
268
277
  })
269
278
  );
270
- var wrappedDomainRelations = relations(wrappedDomain, ({ one }) => ({
271
- domain: one(domain, {
272
- fields: [wrappedDomain.domainId],
273
- references: [domain.id]
279
+ var subgraph_wrappedDomainRelations = relations(subgraph_wrappedDomain, ({ one }) => ({
280
+ domain: one(subgraph_domain, {
281
+ fields: [subgraph_wrappedDomain.domainId],
282
+ references: [subgraph_domain.id]
274
283
  }),
275
- owner: one(account, {
276
- fields: [wrappedDomain.ownerId],
277
- references: [account.id]
284
+ owner: one(subgraph_account, {
285
+ fields: [subgraph_wrappedDomain.ownerId],
286
+ references: [subgraph_account.id]
278
287
  })
279
288
  }));
280
289
  var sharedEventColumns = (t) => ({
@@ -292,16 +301,16 @@ var domainEventIndex = (t) => ({
292
301
  // sorting index
293
302
  idx_compound: index().on(t.domainId, t.id)
294
303
  });
295
- var transfer = onchainTable(
296
- "transfers",
304
+ var subgraph_transfer = onchainTable(
305
+ "subgraph_transfers",
297
306
  (t) => ({
298
307
  ...domainEvent(t),
299
308
  ownerId: t.hex().notNull()
300
309
  }),
301
310
  domainEventIndex
302
311
  );
303
- var newOwner = onchainTable(
304
- "new_owners",
312
+ var subgraph_newOwner = onchainTable(
313
+ "subgraph_new_owners",
305
314
  (t) => ({
306
315
  ...domainEvent(t),
307
316
  ownerId: t.hex().notNull(),
@@ -309,32 +318,32 @@ var newOwner = onchainTable(
309
318
  }),
310
319
  domainEventIndex
311
320
  );
312
- var newResolver = onchainTable(
313
- "new_resolvers",
321
+ var subgraph_newResolver = onchainTable(
322
+ "subgraph_new_resolvers",
314
323
  (t) => ({
315
324
  ...domainEvent(t),
316
325
  resolverId: t.text().notNull()
317
326
  }),
318
327
  domainEventIndex
319
328
  );
320
- var newTTL = onchainTable(
321
- "new_ttls",
329
+ var subgraph_newTTL = onchainTable(
330
+ "subgraph_new_ttls",
322
331
  (t) => ({
323
332
  ...domainEvent(t),
324
333
  ttl: t.bigint().notNull()
325
334
  }),
326
335
  domainEventIndex
327
336
  );
328
- var wrappedTransfer = onchainTable(
329
- "wrapped_transfers",
337
+ var subgraph_wrappedTransfer = onchainTable(
338
+ "subgraph_wrapped_transfers",
330
339
  (t) => ({
331
340
  ...domainEvent(t),
332
341
  ownerId: t.hex().notNull()
333
342
  }),
334
343
  domainEventIndex
335
344
  );
336
- var nameWrapped = onchainTable(
337
- "name_wrapped",
345
+ var subgraph_nameWrapped = onchainTable(
346
+ "subgraph_name_wrapped",
338
347
  (t) => ({
339
348
  ...domainEvent(t),
340
349
  name: t.text(),
@@ -344,24 +353,24 @@ var nameWrapped = onchainTable(
344
353
  }),
345
354
  domainEventIndex
346
355
  );
347
- var nameUnwrapped = onchainTable(
348
- "name_unwrapped",
356
+ var subgraph_nameUnwrapped = onchainTable(
357
+ "subgraph_name_unwrapped",
349
358
  (t) => ({
350
359
  ...domainEvent(t),
351
360
  ownerId: t.hex().notNull()
352
361
  }),
353
362
  domainEventIndex
354
363
  );
355
- var fusesSet = onchainTable(
356
- "fuses_set",
364
+ var subgraph_fusesSet = onchainTable(
365
+ "subgraph_fuses_set",
357
366
  (t) => ({
358
367
  ...domainEvent(t),
359
368
  fuses: t.integer().notNull()
360
369
  }),
361
370
  domainEventIndex
362
371
  );
363
- var expiryExtended = onchainTable(
364
- "expiry_extended",
372
+ var subgraph_expiryExtended = onchainTable(
373
+ "subgraph_expiry_extended",
365
374
  (t) => ({
366
375
  ...domainEvent(t),
367
376
  expiryDate: t.bigint().notNull()
@@ -378,8 +387,8 @@ var registrationEventIndex = (t) => ({
378
387
  // sorting index
379
388
  idx_compound: index().on(t.registrationId, t.id)
380
389
  });
381
- var nameRegistered = onchainTable(
382
- "name_registered",
390
+ var subgraph_nameRegistered = onchainTable(
391
+ "subgraph_name_registered",
383
392
  (t) => ({
384
393
  ...registrationEvent(t),
385
394
  registrantId: t.hex().notNull(),
@@ -387,16 +396,16 @@ var nameRegistered = onchainTable(
387
396
  }),
388
397
  registrationEventIndex
389
398
  );
390
- var nameRenewed = onchainTable(
391
- "name_renewed",
399
+ var subgraph_nameRenewed = onchainTable(
400
+ "subgraph_name_renewed",
392
401
  (t) => ({
393
402
  ...registrationEvent(t),
394
403
  expiryDate: t.bigint().notNull()
395
404
  }),
396
405
  registrationEventIndex
397
406
  );
398
- var nameTransferred = onchainTable(
399
- "name_transferred",
407
+ var subgraph_nameTransferred = onchainTable(
408
+ "subgraph_name_transferred",
400
409
  (t) => ({
401
410
  ...registrationEvent(t),
402
411
  newOwnerId: t.hex().notNull()
@@ -413,16 +422,16 @@ var resolverEventIndex = (t) => ({
413
422
  // sorting index
414
423
  idx_compound: index().on(t.resolverId, t.id)
415
424
  });
416
- var addrChanged = onchainTable(
417
- "addr_changed",
425
+ var subgraph_addrChanged = onchainTable(
426
+ "subgraph_addr_changed",
418
427
  (t) => ({
419
428
  ...resolverEvent(t),
420
429
  addrId: t.hex().notNull()
421
430
  }),
422
431
  resolverEventIndex
423
432
  );
424
- var multicoinAddrChanged = onchainTable(
425
- "multicoin_addr_changed",
433
+ var subgraph_multicoinAddrChanged = onchainTable(
434
+ "subgraph_multicoin_addr_changed",
426
435
  (t) => ({
427
436
  ...resolverEvent(t),
428
437
  coinType: t.bigint().notNull(),
@@ -430,24 +439,24 @@ var multicoinAddrChanged = onchainTable(
430
439
  }),
431
440
  resolverEventIndex
432
441
  );
433
- var nameChanged = onchainTable(
434
- "name_changed",
442
+ var subgraph_nameChanged = onchainTable(
443
+ "subgraph_name_changed",
435
444
  (t) => ({
436
445
  ...resolverEvent(t),
437
446
  name: t.text().notNull()
438
447
  }),
439
448
  resolverEventIndex
440
449
  );
441
- var abiChanged = onchainTable(
442
- "abi_changed",
450
+ var subgraph_abiChanged = onchainTable(
451
+ "subgraph_abi_changed",
443
452
  (t) => ({
444
453
  ...resolverEvent(t),
445
454
  contentType: t.bigint().notNull()
446
455
  }),
447
456
  resolverEventIndex
448
457
  );
449
- var pubkeyChanged = onchainTable(
450
- "pubkey_changed",
458
+ var subgraph_pubkeyChanged = onchainTable(
459
+ "subgraph_pubkey_changed",
451
460
  (t) => ({
452
461
  ...resolverEvent(t),
453
462
  x: t.hex().notNull(),
@@ -455,8 +464,8 @@ var pubkeyChanged = onchainTable(
455
464
  }),
456
465
  resolverEventIndex
457
466
  );
458
- var textChanged = onchainTable(
459
- "text_changed",
467
+ var subgraph_textChanged = onchainTable(
468
+ "subgraph_text_changed",
460
469
  (t) => ({
461
470
  ...resolverEvent(t),
462
471
  key: t.text().notNull(),
@@ -464,16 +473,16 @@ var textChanged = onchainTable(
464
473
  }),
465
474
  resolverEventIndex
466
475
  );
467
- var contenthashChanged = onchainTable(
468
- "contenthash_changed",
476
+ var subgraph_contenthashChanged = onchainTable(
477
+ "subgraph_contenthash_changed",
469
478
  (t) => ({
470
479
  ...resolverEvent(t),
471
480
  hash: t.hex().notNull()
472
481
  }),
473
482
  resolverEventIndex
474
483
  );
475
- var interfaceChanged = onchainTable(
476
- "interface_changed",
484
+ var subgraph_interfaceChanged = onchainTable(
485
+ "subgraph_interface_changed",
477
486
  (t) => ({
478
487
  ...resolverEvent(t),
479
488
  interfaceID: t.hex().notNull(),
@@ -481,8 +490,8 @@ var interfaceChanged = onchainTable(
481
490
  }),
482
491
  resolverEventIndex
483
492
  );
484
- var authorisationChanged = onchainTable(
485
- "authorisation_changed",
493
+ var subgraph_authorisationChanged = onchainTable(
494
+ "subgraph_authorisation_changed",
486
495
  (t) => ({
487
496
  ...resolverEvent(t),
488
497
  owner: t.hex().notNull(),
@@ -491,229 +500,410 @@ var authorisationChanged = onchainTable(
491
500
  }),
492
501
  resolverEventIndex
493
502
  );
494
- var versionChanged = onchainTable(
495
- "version_changed",
503
+ var subgraph_versionChanged = onchainTable(
504
+ "subgraph_version_changed",
496
505
  (t) => ({
497
506
  ...resolverEvent(t),
498
507
  version: t.bigint().notNull()
499
508
  }),
500
509
  resolverEventIndex
501
510
  );
502
- var transferRelations = relations(transfer, ({ one }) => ({
503
- domain: one(domain, { fields: [transfer.domainId], references: [domain.id] }),
504
- owner: one(account, { fields: [transfer.ownerId], references: [account.id] })
511
+ var subgraph_transferRelations = relations(subgraph_transfer, ({ one }) => ({
512
+ domain: one(subgraph_domain, {
513
+ fields: [subgraph_transfer.domainId],
514
+ references: [subgraph_domain.id]
515
+ }),
516
+ owner: one(subgraph_account, {
517
+ fields: [subgraph_transfer.ownerId],
518
+ references: [subgraph_account.id]
519
+ })
505
520
  }));
506
- var newOwnerRelations = relations(newOwner, ({ one }) => ({
507
- domain: one(domain, { fields: [newOwner.domainId], references: [domain.id] }),
508
- owner: one(account, { fields: [newOwner.ownerId], references: [account.id] }),
509
- parentDomain: one(domain, {
510
- fields: [newOwner.parentDomainId],
511
- references: [domain.id]
521
+ var subgraph_newOwnerRelations = relations(subgraph_newOwner, ({ one }) => ({
522
+ domain: one(subgraph_domain, {
523
+ fields: [subgraph_newOwner.domainId],
524
+ references: [subgraph_domain.id]
525
+ }),
526
+ owner: one(subgraph_account, {
527
+ fields: [subgraph_newOwner.ownerId],
528
+ references: [subgraph_account.id]
529
+ }),
530
+ parentDomain: one(subgraph_domain, {
531
+ fields: [subgraph_newOwner.parentDomainId],
532
+ references: [subgraph_domain.id]
512
533
  })
513
534
  }));
514
- var newResolverRelations = relations(newResolver, ({ one }) => ({
515
- domain: one(domain, {
516
- fields: [newResolver.domainId],
517
- references: [domain.id]
535
+ var subgraph_newResolverRelations = relations(subgraph_newResolver, ({ one }) => ({
536
+ domain: one(subgraph_domain, {
537
+ fields: [subgraph_newResolver.domainId],
538
+ references: [subgraph_domain.id]
518
539
  }),
519
- resolver: one(resolver, {
520
- fields: [newResolver.resolverId],
521
- references: [resolver.id]
540
+ resolver: one(subgraph_resolver, {
541
+ fields: [subgraph_newResolver.resolverId],
542
+ references: [subgraph_resolver.id]
522
543
  })
523
544
  }));
524
- var newTTLRelations = relations(newTTL, ({ one }) => ({
525
- domain: one(domain, { fields: [newTTL.domainId], references: [domain.id] })
545
+ var subgraph_newTTLRelations = relations(subgraph_newTTL, ({ one }) => ({
546
+ domain: one(subgraph_domain, {
547
+ fields: [subgraph_newTTL.domainId],
548
+ references: [subgraph_domain.id]
549
+ })
526
550
  }));
527
- var wrappedTransferRelations = relations(wrappedTransfer, ({ one }) => ({
528
- domain: one(domain, {
529
- fields: [wrappedTransfer.domainId],
530
- references: [domain.id]
551
+ var subgraph_wrappedTransferRelations = relations(subgraph_wrappedTransfer, ({ one }) => ({
552
+ domain: one(subgraph_domain, {
553
+ fields: [subgraph_wrappedTransfer.domainId],
554
+ references: [subgraph_domain.id]
531
555
  }),
532
- owner: one(account, {
533
- fields: [wrappedTransfer.ownerId],
534
- references: [account.id]
556
+ owner: one(subgraph_account, {
557
+ fields: [subgraph_wrappedTransfer.ownerId],
558
+ references: [subgraph_account.id]
535
559
  })
536
560
  }));
537
- var nameWrappedRelations = relations(nameWrapped, ({ one }) => ({
538
- domain: one(domain, {
539
- fields: [nameWrapped.domainId],
540
- references: [domain.id]
561
+ var subgraph_nameWrappedRelations = relations(subgraph_nameWrapped, ({ one }) => ({
562
+ domain: one(subgraph_domain, {
563
+ fields: [subgraph_nameWrapped.domainId],
564
+ references: [subgraph_domain.id]
541
565
  }),
542
- owner: one(account, {
543
- fields: [nameWrapped.ownerId],
544
- references: [account.id]
566
+ owner: one(subgraph_account, {
567
+ fields: [subgraph_nameWrapped.ownerId],
568
+ references: [subgraph_account.id]
545
569
  })
546
570
  }));
547
- var nameUnwrappedRelations = relations(nameUnwrapped, ({ one }) => ({
548
- domain: one(domain, {
549
- fields: [nameUnwrapped.domainId],
550
- references: [domain.id]
571
+ var subgraph_nameUnwrappedRelations = relations(subgraph_nameUnwrapped, ({ one }) => ({
572
+ domain: one(subgraph_domain, {
573
+ fields: [subgraph_nameUnwrapped.domainId],
574
+ references: [subgraph_domain.id]
551
575
  }),
552
- owner: one(account, {
553
- fields: [nameUnwrapped.ownerId],
554
- references: [account.id]
576
+ owner: one(subgraph_account, {
577
+ fields: [subgraph_nameUnwrapped.ownerId],
578
+ references: [subgraph_account.id]
555
579
  })
556
580
  }));
557
- var fusesSetRelations = relations(fusesSet, ({ one }) => ({
558
- domain: one(domain, { fields: [fusesSet.domainId], references: [domain.id] })
581
+ var subgraph_fusesSetRelations = relations(subgraph_fusesSet, ({ one }) => ({
582
+ domain: one(subgraph_domain, {
583
+ fields: [subgraph_fusesSet.domainId],
584
+ references: [subgraph_domain.id]
585
+ })
559
586
  }));
560
- var expiryExtendedRelations = relations(expiryExtended, ({ one }) => ({
561
- domain: one(domain, {
562
- fields: [expiryExtended.domainId],
563
- references: [domain.id]
587
+ var subgraph_expiryExtendedRelations = relations(subgraph_expiryExtended, ({ one }) => ({
588
+ domain: one(subgraph_domain, {
589
+ fields: [subgraph_expiryExtended.domainId],
590
+ references: [subgraph_domain.id]
564
591
  })
565
592
  }));
566
- var nameRegisteredRelations = relations(nameRegistered, ({ one }) => ({
567
- registration: one(registration, {
568
- fields: [nameRegistered.registrationId],
569
- references: [registration.id]
593
+ var subgraph_nameRegisteredRelations = relations(subgraph_nameRegistered, ({ one }) => ({
594
+ registration: one(subgraph_registration, {
595
+ fields: [subgraph_nameRegistered.registrationId],
596
+ references: [subgraph_registration.id]
570
597
  }),
571
- registrant: one(account, {
572
- fields: [nameRegistered.registrantId],
573
- references: [account.id]
598
+ registrant: one(subgraph_account, {
599
+ fields: [subgraph_nameRegistered.registrantId],
600
+ references: [subgraph_account.id]
574
601
  })
575
602
  }));
576
- var nameRenewedRelations = relations(nameRenewed, ({ one }) => ({
577
- registration: one(registration, {
578
- fields: [nameRenewed.registrationId],
579
- references: [registration.id]
603
+ var subgraph_nameRenewedRelations = relations(subgraph_nameRenewed, ({ one }) => ({
604
+ registration: one(subgraph_registration, {
605
+ fields: [subgraph_nameRenewed.registrationId],
606
+ references: [subgraph_registration.id]
580
607
  })
581
608
  }));
582
- var nameTransferredRelations = relations(nameTransferred, ({ one }) => ({
583
- registration: one(registration, {
584
- fields: [nameTransferred.registrationId],
585
- references: [registration.id]
609
+ var subgraph_nameTransferredRelations = relations(subgraph_nameTransferred, ({ one }) => ({
610
+ registration: one(subgraph_registration, {
611
+ fields: [subgraph_nameTransferred.registrationId],
612
+ references: [subgraph_registration.id]
586
613
  }),
587
- newOwner: one(account, {
588
- fields: [nameTransferred.newOwnerId],
589
- references: [account.id]
614
+ newOwner: one(subgraph_account, {
615
+ fields: [subgraph_nameTransferred.newOwnerId],
616
+ references: [subgraph_account.id]
590
617
  })
591
618
  }));
592
- var addrChangedRelations = relations(addrChanged, ({ one }) => ({
593
- resolver: one(resolver, {
594
- fields: [addrChanged.resolverId],
595
- references: [resolver.id]
619
+ var subgraph_addrChangedRelations = relations(subgraph_addrChanged, ({ one }) => ({
620
+ resolver: one(subgraph_resolver, {
621
+ fields: [subgraph_addrChanged.resolverId],
622
+ references: [subgraph_resolver.id]
596
623
  }),
597
- addr: one(account, {
598
- fields: [addrChanged.addrId],
599
- references: [account.id]
624
+ addr: one(subgraph_account, {
625
+ fields: [subgraph_addrChanged.addrId],
626
+ references: [subgraph_account.id]
600
627
  })
601
628
  }));
602
- var multicoinAddrChangedRelations = relations(multicoinAddrChanged, ({ one }) => ({
603
- resolver: one(resolver, {
604
- fields: [multicoinAddrChanged.resolverId],
605
- references: [resolver.id]
629
+ var subgraph_multicoinAddrChangedRelations = relations(
630
+ subgraph_multicoinAddrChanged,
631
+ ({ one }) => ({
632
+ resolver: one(subgraph_resolver, {
633
+ fields: [subgraph_multicoinAddrChanged.resolverId],
634
+ references: [subgraph_resolver.id]
635
+ })
606
636
  })
607
- }));
608
- var nameChangedRelations = relations(nameChanged, ({ one }) => ({
609
- resolver: one(resolver, {
610
- fields: [nameChanged.resolverId],
611
- references: [resolver.id]
637
+ );
638
+ var subgraph_nameChangedRelations = relations(subgraph_nameChanged, ({ one }) => ({
639
+ resolver: one(subgraph_resolver, {
640
+ fields: [subgraph_nameChanged.resolverId],
641
+ references: [subgraph_resolver.id]
612
642
  })
613
643
  }));
614
- var abiChangedRelations = relations(abiChanged, ({ one }) => ({
615
- resolver: one(resolver, {
616
- fields: [abiChanged.resolverId],
617
- references: [resolver.id]
644
+ var subgraph_abiChangedRelations = relations(subgraph_abiChanged, ({ one }) => ({
645
+ resolver: one(subgraph_resolver, {
646
+ fields: [subgraph_abiChanged.resolverId],
647
+ references: [subgraph_resolver.id]
618
648
  })
619
649
  }));
620
- var pubkeyChangedRelations = relations(pubkeyChanged, ({ one }) => ({
621
- resolver: one(resolver, {
622
- fields: [pubkeyChanged.resolverId],
623
- references: [resolver.id]
650
+ var subgraph_pubkeyChangedRelations = relations(subgraph_pubkeyChanged, ({ one }) => ({
651
+ resolver: one(subgraph_resolver, {
652
+ fields: [subgraph_pubkeyChanged.resolverId],
653
+ references: [subgraph_resolver.id]
624
654
  })
625
655
  }));
626
- var textChangedRelations = relations(textChanged, ({ one }) => ({
627
- resolver: one(resolver, {
628
- fields: [textChanged.resolverId],
629
- references: [resolver.id]
656
+ var subgraph_textChangedRelations = relations(subgraph_textChanged, ({ one }) => ({
657
+ resolver: one(subgraph_resolver, {
658
+ fields: [subgraph_textChanged.resolverId],
659
+ references: [subgraph_resolver.id]
630
660
  })
631
661
  }));
632
- var contenthashChangedRelations = relations(contenthashChanged, ({ one }) => ({
633
- resolver: one(resolver, {
634
- fields: [contenthashChanged.resolverId],
635
- references: [resolver.id]
662
+ var subgraph_contenthashChangedRelations = relations(
663
+ subgraph_contenthashChanged,
664
+ ({ one }) => ({
665
+ resolver: one(subgraph_resolver, {
666
+ fields: [subgraph_contenthashChanged.resolverId],
667
+ references: [subgraph_resolver.id]
668
+ })
636
669
  })
637
- }));
638
- var interfaceChangedRelations = relations(interfaceChanged, ({ one }) => ({
639
- resolver: one(resolver, {
640
- fields: [interfaceChanged.resolverId],
641
- references: [resolver.id]
670
+ );
671
+ var subgraph_interfaceChangedRelations = relations(
672
+ subgraph_interfaceChanged,
673
+ ({ one }) => ({
674
+ resolver: one(subgraph_resolver, {
675
+ fields: [subgraph_interfaceChanged.resolverId],
676
+ references: [subgraph_resolver.id]
677
+ })
642
678
  })
643
- }));
644
- var authorisationChangedRelations = relations(authorisationChanged, ({ one }) => ({
645
- resolver: one(resolver, {
646
- fields: [authorisationChanged.resolverId],
647
- references: [resolver.id]
679
+ );
680
+ var subgraph_authorisationChangedRelations = relations(
681
+ subgraph_authorisationChanged,
682
+ ({ one }) => ({
683
+ resolver: one(subgraph_resolver, {
684
+ fields: [subgraph_authorisationChanged.resolverId],
685
+ references: [subgraph_resolver.id]
686
+ })
648
687
  })
649
- }));
650
- var versionChangedRelations = relations(versionChanged, ({ one }) => ({
651
- resolver: one(resolver, {
652
- fields: [versionChanged.resolverId],
653
- references: [resolver.id]
688
+ );
689
+ var subgraph_versionChangedRelations = relations(subgraph_versionChanged, ({ one }) => ({
690
+ resolver: one(subgraph_resolver, {
691
+ fields: [subgraph_versionChanged.resolverId],
692
+ references: [subgraph_resolver.id]
654
693
  })
655
694
  }));
656
695
 
657
- // src/resolver-records.schema.ts
658
- import { onchainTable as onchainTable2, relations as relations2, uniqueIndex } from "ponder";
659
- var ext_resolverRecords_resolver_relations = relations2(resolver, ({ one, many }) => ({
660
- // resolver has many address records
661
- addressRecords: many(ext_resolverAddressRecords),
662
- // resolver has many text records
663
- // NOTE: can't use `texts` because Resolver.texts is used by subgraph schema
664
- textRecords: many(ext_resolverTextRecords)
696
+ // src/schemas/protocol-acceleration.schema.ts
697
+ import { onchainTable as onchainTable2, primaryKey, relations as relations2 } from "ponder";
698
+ var reverseNameRecord = onchainTable2(
699
+ "reverse_name_records",
700
+ (t) => ({
701
+ // keyed by (address, coinType)
702
+ address: t.hex().notNull(),
703
+ coinType: t.bigint().notNull(),
704
+ /**
705
+ * Represents the ENSIP-19 Reverse Name Record for a given (address, coinType).
706
+ *
707
+ * The value of this field is guaranteed to be a non-empty-string normalized ENS name (see
708
+ * `interpretNameRecordValue` for additional context and specific guarantees). Unnormalized
709
+ * names and empty string values are interpreted as a deletion of the associated Reverse Name
710
+ * Record entity (represented in the schema as the _absence_ of a relevant Reverse Name Record
711
+ * entity).
712
+ */
713
+ value: t.text().notNull()
714
+ }),
715
+ (t) => ({
716
+ pk: primaryKey({ columns: [t.address, t.coinType] })
717
+ })
718
+ );
719
+ var nodeResolverRelation = onchainTable2(
720
+ "node_resolver_relations",
721
+ (t) => ({
722
+ // keyed by (chainId, registry, node)
723
+ chainId: t.integer().notNull(),
724
+ registry: t.hex().notNull(),
725
+ node: t.hex().notNull(),
726
+ /**
727
+ * The Address of the Resolver contract this `node` has set (via Registry#NewResolver) within
728
+ * the Registry on `chainId`.
729
+ */
730
+ resolver: t.hex().notNull()
731
+ }),
732
+ (t) => ({
733
+ pk: primaryKey({ columns: [t.chainId, t.registry, t.node] })
734
+ })
735
+ );
736
+ var resolverRecords = onchainTable2(
737
+ "resolver_records",
738
+ (t) => ({
739
+ // keyed by (chainId, resolver, node)
740
+ chainId: t.integer().notNull(),
741
+ resolver: t.hex().notNull(),
742
+ node: t.hex().notNull(),
743
+ /**
744
+ * Represents the value of the reverse-resolution (ENSIP-3) name() record, used for Reverse Resolution.
745
+ *
746
+ * The emitted record values are interpreted according to `interpretNameRecordValue` — unnormalized
747
+ * names and empty string values are interpreted as a deletion of the associated record (represented
748
+ * here as `null`).
749
+ *
750
+ * If set, the value of this field is guaranteed to be a non-empty-string normalized ENS name
751
+ * (see `interpretNameRecordValue` for additional context and specific guarantees).
752
+ */
753
+ name: t.text()
754
+ }),
755
+ (t) => ({
756
+ pk: primaryKey({ columns: [t.chainId, t.resolver, t.node] })
757
+ })
758
+ );
759
+ var resolverRecords_relations = relations2(resolverRecords, ({ one, many }) => ({
760
+ // resolverRecord has many address records
761
+ addressRecords: many(resolverAddressRecord),
762
+ // resolverRecord has many text records
763
+ textRecords: many(resolverTextRecord)
665
764
  }));
666
- var ext_resolverAddressRecords = onchainTable2(
667
- "ext_resolver_address_records",
765
+ var resolverAddressRecord = onchainTable2(
766
+ "resolver_address_records",
668
767
  (t) => ({
669
- // keyed by (resolverId, coinType)
670
- id: t.text().primaryKey(),
671
- resolverId: t.text().notNull(),
768
+ // keyed by ((chainId, resolver, node), coinType)
769
+ chainId: t.integer().notNull(),
770
+ resolver: t.hex().notNull(),
771
+ node: t.hex().notNull(),
672
772
  coinType: t.bigint().notNull(),
773
+ /**
774
+ * Represents the value of the Addresss Record specified by ((chainId, resolver, node), coinType).
775
+ *
776
+ * The value of this field is interpreted by `interpretAddressRecordValue` — see its implementation
777
+ * for additional context and specific guarantees.
778
+ */
673
779
  address: t.text().notNull()
674
780
  }),
675
781
  (t) => ({
676
- byResolverIdAndCoinType: uniqueIndex().on(t.resolverId, t.coinType)
782
+ pk: primaryKey({ columns: [t.chainId, t.resolver, t.node, t.coinType] })
677
783
  })
678
784
  );
679
- var ext_resolverAddressRecordsRelations = relations2(
680
- ext_resolverAddressRecords,
681
- ({ one, many }) => ({
682
- // belongs to resolver
683
- resolver: one(resolver, {
684
- fields: [ext_resolverAddressRecords.resolverId],
685
- references: [resolver.id]
686
- })
785
+ var resolverAddressRecordRelations = relations2(resolverAddressRecord, ({ one, many }) => ({
786
+ // belongs to resolverRecord
787
+ resolver: one(resolverRecords, {
788
+ fields: [
789
+ resolverAddressRecord.chainId,
790
+ resolverAddressRecord.resolver,
791
+ resolverAddressRecord.node
792
+ ],
793
+ references: [resolverRecords.chainId, resolverRecords.resolver, resolverRecords.node]
687
794
  })
688
- );
689
- var ext_resolverTextRecords = onchainTable2(
690
- "ext_resolver_text_records",
795
+ }));
796
+ var resolverTextRecord = onchainTable2(
797
+ "resolver_trecords",
691
798
  (t) => ({
692
- // keyed by (resolverId, key)
693
- id: t.text().primaryKey(),
694
- resolverId: t.text().notNull(),
799
+ // keyed by ((chainId, resolver, node), key)
800
+ chainId: t.integer().notNull(),
801
+ resolver: t.hex().notNull(),
802
+ node: t.hex().notNull(),
695
803
  key: t.text().notNull(),
804
+ /**
805
+ * Represents the value of the Text Record specified by ((chainId, resolver, node), key).
806
+ *
807
+ * The value of this field is interpreted by `interpretTextRecordValue` — see its implementation
808
+ * for additional context and specific guarantees.
809
+ */
696
810
  value: t.text().notNull()
697
811
  }),
698
812
  (t) => ({
699
- byResolverIdAndKey: uniqueIndex().on(t.resolverId, t.key)
813
+ pk: primaryKey({ columns: [t.chainId, t.resolver, t.node, t.key] })
700
814
  })
701
815
  );
702
- var ext_resolverTextRecordsRelations = relations2(
703
- ext_resolverTextRecords,
704
- ({ one, many }) => ({
705
- // belongs to resolver
706
- resolver: one(resolver, {
707
- fields: [ext_resolverTextRecords.resolverId],
708
- references: [resolver.id]
709
- })
816
+ var resolverTextRecordRelations = relations2(resolverTextRecord, ({ one, many }) => ({
817
+ // belongs to resolverRecord
818
+ resolver: one(resolverRecords, {
819
+ fields: [resolverTextRecord.chainId, resolverTextRecord.resolver, resolverTextRecord.node],
820
+ references: [resolverRecords.chainId, resolverRecords.resolver, resolverRecords.node]
821
+ })
822
+ }));
823
+ var migratedNode = onchainTable2("migrated_nodes", (t) => ({
824
+ node: t.hex().primaryKey()
825
+ }));
826
+
827
+ // src/schemas/referrals.schema.ts
828
+ import { index as index2, onchainTable as onchainTable3, relations as relations3 } from "ponder";
829
+ var registrationReferral = onchainTable3(
830
+ "registration_referral",
831
+ (t) => ({
832
+ // keyed by any arbitrary unique id, usually `event.id`
833
+ id: t.text().primaryKey(),
834
+ referrer: t.hex().notNull(),
835
+ node: t.hex().notNull(),
836
+ referee: t.hex().notNull(),
837
+ baseCost: t.bigint().notNull(),
838
+ premium: t.bigint().notNull(),
839
+ total: t.bigint().notNull(),
840
+ // chainId the transaction occurred on
841
+ chainId: t.integer().notNull(),
842
+ // transaction's hash
843
+ transactionHash: t.hex().notNull(),
844
+ // block's Unix timestamp in seconds
845
+ timestamp: t.bigint().notNull()
846
+ }),
847
+ (t) => ({
848
+ byReferee: index2().on(t.referee),
849
+ byReferrer: index2().on(t.referrer)
710
850
  })
711
851
  );
852
+ var registrationReferral_relations = relations3(registrationReferral, ({ one, many }) => ({
853
+ // RegistrationReferral belongs to Referrer
854
+ referrer: one(referrer, {
855
+ fields: [registrationReferral.referrer],
856
+ references: [referrer.id]
857
+ })
858
+ }));
859
+ var renewalReferral = onchainTable3(
860
+ "renewal_referral",
861
+ (t) => ({
862
+ // keyed by any arbitrary unique id, usually `event.id`
863
+ id: t.text().primaryKey(),
864
+ referrer: t.hex().notNull(),
865
+ referee: t.hex().notNull(),
866
+ node: t.hex().notNull(),
867
+ cost: t.bigint().notNull(),
868
+ // chainId the transaction occurred on
869
+ chainId: t.integer().notNull(),
870
+ // transaction's hash
871
+ transactionHash: t.hex().notNull(),
872
+ // Block's Unix timestamp in seconds
873
+ timestamp: t.bigint().notNull()
874
+ }),
875
+ (t) => ({
876
+ byReferee: index2().on(t.referee),
877
+ byReferrer: index2().on(t.referrer)
878
+ })
879
+ );
880
+ var renewalReferral_relations = relations3(renewalReferral, ({ one, many }) => ({
881
+ // RenewalReferral belongs to Referrer
882
+ referrer: one(referrer, {
883
+ fields: [renewalReferral.referrer],
884
+ references: [referrer.id]
885
+ })
886
+ }));
887
+ var referrer = onchainTable3(
888
+ "referral_totals",
889
+ (t) => ({
890
+ // keyed by Referrer's id (bytes32 hex)
891
+ id: t.hex().primaryKey(),
892
+ valueWei: t.bigint().notNull()
893
+ }),
894
+ (t) => ({})
895
+ );
896
+ var referrer_relations = relations3(referrer, ({ one, many }) => ({
897
+ // Referrer has many RegistrationReferrals
898
+ registrationReferrals: many(registrationReferral),
899
+ // Referrer has many RenewalReferrals
900
+ renewalReferrals: many(renewalReferral)
901
+ }));
712
902
 
713
- // src/tokenscope.schema.ts
714
- import { index as index2, onchainTable as onchainTable3 } from "ponder";
715
- var ext_nameSales = onchainTable3(
716
- "ext_name_sales",
903
+ // src/schemas/tokenscope.schema.ts
904
+ import { index as index3, onchainTable as onchainTable4 } from "ponder";
905
+ var nameSales = onchainTable4(
906
+ "name_sales",
717
907
  (t) => ({
718
908
  /**
719
909
  * Unique and deterministic identifier of the onchain event associated with the sale.
@@ -801,15 +991,15 @@ var ext_nameSales = onchainTable3(
801
991
  timestamp: t.bigint().notNull()
802
992
  }),
803
993
  (t) => ({
804
- idx_domainId: index2().on(t.domainId),
805
- idx_assetId: index2().on(t.assetId),
806
- idx_buyer: index2().on(t.buyer),
807
- idx_seller: index2().on(t.seller),
808
- idx_timestamp: index2().on(t.timestamp)
994
+ idx_domainId: index3().on(t.domainId),
995
+ idx_assetId: index3().on(t.assetId),
996
+ idx_buyer: index3().on(t.buyer),
997
+ idx_seller: index3().on(t.seller),
998
+ idx_timestamp: index3().on(t.timestamp)
809
999
  })
810
1000
  );
811
- var ext_nameTokens = onchainTable3(
812
- "ext_name_tokens",
1001
+ var nameTokens = onchainTable4(
1002
+ "name_tokens",
813
1003
  (t) => ({
814
1004
  /**
815
1005
  * The CAIP-19 Asset ID of the token.
@@ -888,261 +1078,81 @@ var ext_nameTokens = onchainTable3(
888
1078
  mintStatus: t.text().notNull()
889
1079
  }),
890
1080
  (t) => ({
891
- idx_domainId: index2().on(t.domainId),
892
- idx_owner: index2().on(t.owner)
893
- })
894
- );
895
-
896
- // src/resolver-relations.schema.ts
897
- import { onchainTable as onchainTable4, relations as relations3, uniqueIndex as uniqueIndex2 } from "ponder";
898
- var ext_resolverRelations_domain_relations = relations3(domain, ({ one, many }) => ({
899
- // domain has many resolver relations (i.e. one per chain, see above)
900
- resolverRelations: many(ext_domainResolverRelation)
901
- }));
902
- var ext_resolverRelations_resolver_relations = relations3(resolver, ({ one, many }) => ({
903
- // resolver has many domain relations
904
- domainRelations: many(ext_domainResolverRelation)
905
- }));
906
- var ext_domainResolverRelation = onchainTable4(
907
- "ext_domain_resolver_relations",
908
- (t) => ({
909
- // keyed by (chainId, domainId)
910
- id: t.text().primaryKey(),
911
- chainId: t.integer().notNull(),
912
- domainId: t.text().notNull(),
913
- resolverId: t.text().notNull()
914
- }),
915
- (t) => ({
916
- byChainIdAndDomain: uniqueIndex2().on(t.chainId, t.domainId)
917
- })
918
- );
919
- var ext_domainResolverRelationsRelations = relations3(
920
- ext_domainResolverRelation,
921
- ({ one, many }) => ({
922
- // belongs to domain
923
- domain: one(domain, {
924
- fields: [ext_domainResolverRelation.domainId],
925
- references: [domain.id]
926
- }),
927
- // belongs to resolver
928
- resolver: one(resolver, {
929
- fields: [ext_domainResolverRelation.resolverId],
930
- references: [resolver.id]
931
- })
932
- })
933
- );
934
-
935
- // src/referrals.schema.ts
936
- import { index as index3, onchainTable as onchainTable5, relations as relations4 } from "ponder";
937
- var ext_registrationReferral = onchainTable5(
938
- "ext_registration_referral",
939
- (t) => ({
940
- // keyed by any arbitrary unique id, usually `event.id`
941
- id: t.text().primaryKey(),
942
- referrerId: t.hex().notNull(),
943
- domainId: t.text().notNull(),
944
- refereeId: t.hex().notNull(),
945
- baseCost: t.bigint().notNull(),
946
- premium: t.bigint().notNull(),
947
- total: t.bigint().notNull(),
948
- // chainId the transaction occurred on
949
- chainId: t.integer().notNull(),
950
- // transaction's hash
951
- transactionHash: t.hex().notNull(),
952
- // block's Unix timestamp in seconds
953
- timestamp: t.bigint().notNull()
954
- }),
955
- (t) => ({
956
- byRefereeId: index3().on(t.refereeId),
957
- byReferrerId: index3().on(t.referrerId)
1081
+ idx_domainId: index3().on(t.domainId),
1082
+ idx_owner: index3().on(t.owner)
958
1083
  })
959
1084
  );
960
- var ext_registrationReferral_relations = relations4(
961
- ext_registrationReferral,
962
- ({ one, many }) => ({
963
- // RegistrationReferral references one Referrer
964
- referrer: one(ext_referrer, {
965
- fields: [ext_registrationReferral.referrerId],
966
- references: [ext_referrer.id]
967
- }),
968
- // RegistrationReferral references one Account (as referee)
969
- referee: one(account, {
970
- fields: [ext_registrationReferral.refereeId],
971
- references: [account.id]
972
- }),
973
- // RegistrationReferral references one Domain
974
- domain: one(domain, {
975
- fields: [ext_registrationReferral.domainId],
976
- references: [domain.id]
977
- })
978
- })
979
- );
980
- var ext_renewalReferral = onchainTable5(
981
- "ext_renewal_referral",
982
- (t) => ({
983
- // keyed by any arbitrary unique id, usually `event.id`
984
- id: t.text().primaryKey(),
985
- referrerId: t.hex().notNull(),
986
- refereeId: t.hex().notNull(),
987
- domainId: t.text().notNull(),
988
- cost: t.bigint().notNull(),
989
- // chainId the transaction occurred on
990
- chainId: t.integer().notNull(),
991
- // transaction's hash
992
- transactionHash: t.hex().notNull(),
993
- // Block's Unix timestamp in seconds
994
- timestamp: t.bigint().notNull()
995
- }),
996
- (t) => ({
997
- byRefereeId: index3().on(t.refereeId),
998
- byReferrerId: index3().on(t.referrerId)
999
- })
1000
- );
1001
- var ext_renewalReferral_relations = relations4(ext_renewalReferral, ({ one, many }) => ({
1002
- // RenewalReferral references one Referrer
1003
- referrer: one(ext_referrer, {
1004
- fields: [ext_renewalReferral.referrerId],
1005
- references: [ext_referrer.id]
1006
- }),
1007
- // RenewalReferral references one Account (as referee)
1008
- referee: one(account, {
1009
- fields: [ext_renewalReferral.refereeId],
1010
- references: [account.id]
1011
- }),
1012
- // RenewalReferral references one Domain
1013
- domain: one(domain, {
1014
- fields: [ext_renewalReferral.domainId],
1015
- references: [domain.id]
1016
- })
1017
- }));
1018
- var ext_referrals_domain_relations = relations4(domain, ({ one, many }) => ({
1019
- // Domain has many RegistrationReferrals
1020
- registrationReferrals: many(ext_registrationReferral),
1021
- // Domain has many RenewalReferrals
1022
- renewalReferrals: many(ext_renewalReferral)
1023
- }));
1024
- var ext_referrer = onchainTable5(
1025
- "ext_referral_totals",
1026
- (t) => ({
1027
- // keyed by Referrer's id (bytes32 hex)
1028
- id: t.hex().primaryKey(),
1029
- valueWei: t.bigint().notNull()
1030
- }),
1031
- (t) => ({})
1032
- );
1033
- var ext_referrer_relations = relations4(ext_referrer, ({ one, many }) => ({
1034
- // Referrer has many RegistrationReferrals
1035
- registrationReferrals: many(ext_registrationReferral),
1036
- // Referrer has many RenewalReferrals
1037
- renewalReferrals: many(ext_renewalReferral)
1038
- }));
1039
-
1040
- // src/primary-names.schema.ts
1041
- import { onchainTable as onchainTable6, relations as relations5, uniqueIndex as uniqueIndex3 } from "ponder";
1042
- var ext_primaryNames_domain_relations = relations5(account, ({ one, many }) => ({
1043
- // account has many primary names
1044
- primaryNames: many(ext_primaryName)
1045
- }));
1046
- var ext_primaryName = onchainTable6(
1047
- "ext_primary_names",
1048
- (t) => ({
1049
- // keyed by (address, coinType)
1050
- id: t.text().primaryKey(),
1051
- address: t.hex().notNull(),
1052
- coinType: t.bigint().notNull(),
1053
- /**
1054
- * Represents the ENSIP-19 Primary Name value for a given (address, coinType).
1055
- *
1056
- * The value of this field is guaranteed to be a non-empty-string normalized ENS name.
1057
- */
1058
- name: t.text().notNull()
1059
- }),
1060
- (t) => ({
1061
- byAddressAndCoinType: uniqueIndex3().on(t.address, t.coinType)
1062
- })
1063
- );
1064
- var ext_primaryNameRelations = relations5(ext_primaryName, ({ one, many }) => ({
1065
- // belongs to account
1066
- account: one(account, {
1067
- fields: [ext_primaryName.address],
1068
- references: [account.id]
1069
- })
1070
- }));
1071
1085
  export {
1072
- abiChanged,
1073
- abiChangedRelations,
1074
- account,
1075
- accountRelations,
1076
- addrChanged,
1077
- addrChangedRelations,
1078
- authorisationChanged,
1079
- authorisationChangedRelations,
1080
- contenthashChanged,
1081
- contenthashChangedRelations,
1082
- domain,
1083
- domainRelations,
1084
- expiryExtended,
1085
- expiryExtendedRelations,
1086
- ext_domainResolverRelation,
1087
- ext_domainResolverRelationsRelations,
1088
- ext_nameSales,
1089
- ext_nameTokens,
1090
- ext_primaryName,
1091
- ext_primaryNameRelations,
1092
- ext_primaryNames_domain_relations,
1093
- ext_referrals_domain_relations,
1094
- ext_referrer,
1095
- ext_referrer_relations,
1096
- ext_registrationReferral,
1097
- ext_registrationReferral_relations,
1098
- ext_renewalReferral,
1099
- ext_renewalReferral_relations,
1100
- ext_resolverAddressRecords,
1101
- ext_resolverAddressRecordsRelations,
1102
- ext_resolverRecords_resolver_relations,
1103
- ext_resolverRelations_domain_relations,
1104
- ext_resolverRelations_resolver_relations,
1105
- ext_resolverTextRecords,
1106
- ext_resolverTextRecordsRelations,
1107
- fusesSet,
1108
- fusesSetRelations,
1109
- interfaceChanged,
1110
- interfaceChangedRelations,
1111
- multicoinAddrChanged,
1112
- multicoinAddrChangedRelations,
1113
- nameChanged,
1114
- nameChangedRelations,
1115
- nameRegistered,
1116
- nameRegisteredRelations,
1117
- nameRenewed,
1118
- nameRenewedRelations,
1119
- nameTransferred,
1120
- nameTransferredRelations,
1121
- nameUnwrapped,
1122
- nameUnwrappedRelations,
1123
- nameWrapped,
1124
- nameWrappedRelations,
1125
- newOwner,
1126
- newOwnerRelations,
1127
- newResolver,
1128
- newResolverRelations,
1129
- newTTL,
1130
- newTTLRelations,
1131
- pubkeyChanged,
1132
- pubkeyChangedRelations,
1133
- registration,
1134
- registrationRelations,
1135
- resolver,
1136
- resolverRelations,
1137
- textChanged,
1138
- textChangedRelations,
1139
- transfer,
1140
- transferRelations,
1141
- versionChanged,
1142
- versionChangedRelations,
1143
- wrappedDomain,
1144
- wrappedDomainRelations,
1145
- wrappedTransfer,
1146
- wrappedTransferRelations
1086
+ migratedNode,
1087
+ nameSales,
1088
+ nameTokens,
1089
+ nodeResolverRelation,
1090
+ referrer,
1091
+ referrer_relations,
1092
+ registrationReferral,
1093
+ registrationReferral_relations,
1094
+ renewalReferral,
1095
+ renewalReferral_relations,
1096
+ resolverAddressRecord,
1097
+ resolverAddressRecordRelations,
1098
+ resolverRecords,
1099
+ resolverRecords_relations,
1100
+ resolverTextRecord,
1101
+ resolverTextRecordRelations,
1102
+ reverseNameRecord,
1103
+ subgraph_abiChanged,
1104
+ subgraph_abiChangedRelations,
1105
+ subgraph_account,
1106
+ subgraph_accountRelations,
1107
+ subgraph_addrChanged,
1108
+ subgraph_addrChangedRelations,
1109
+ subgraph_authorisationChanged,
1110
+ subgraph_authorisationChangedRelations,
1111
+ subgraph_contenthashChanged,
1112
+ subgraph_contenthashChangedRelations,
1113
+ subgraph_domain,
1114
+ subgraph_domainRelations,
1115
+ subgraph_expiryExtended,
1116
+ subgraph_expiryExtendedRelations,
1117
+ subgraph_fusesSet,
1118
+ subgraph_fusesSetRelations,
1119
+ subgraph_interfaceChanged,
1120
+ subgraph_interfaceChangedRelations,
1121
+ subgraph_multicoinAddrChanged,
1122
+ subgraph_multicoinAddrChangedRelations,
1123
+ subgraph_nameChanged,
1124
+ subgraph_nameChangedRelations,
1125
+ subgraph_nameRegistered,
1126
+ subgraph_nameRegisteredRelations,
1127
+ subgraph_nameRenewed,
1128
+ subgraph_nameRenewedRelations,
1129
+ subgraph_nameTransferred,
1130
+ subgraph_nameTransferredRelations,
1131
+ subgraph_nameUnwrapped,
1132
+ subgraph_nameUnwrappedRelations,
1133
+ subgraph_nameWrapped,
1134
+ subgraph_nameWrappedRelations,
1135
+ subgraph_newOwner,
1136
+ subgraph_newOwnerRelations,
1137
+ subgraph_newResolver,
1138
+ subgraph_newResolverRelations,
1139
+ subgraph_newTTL,
1140
+ subgraph_newTTLRelations,
1141
+ subgraph_pubkeyChanged,
1142
+ subgraph_pubkeyChangedRelations,
1143
+ subgraph_registration,
1144
+ subgraph_registrationRelations,
1145
+ subgraph_resolver,
1146
+ subgraph_resolverRelations,
1147
+ subgraph_textChanged,
1148
+ subgraph_textChangedRelations,
1149
+ subgraph_transfer,
1150
+ subgraph_transferRelations,
1151
+ subgraph_versionChanged,
1152
+ subgraph_versionChangedRelations,
1153
+ subgraph_wrappedDomain,
1154
+ subgraph_wrappedDomainRelations,
1155
+ subgraph_wrappedTransfer,
1156
+ subgraph_wrappedTransferRelations
1147
1157
  };
1148
1158
  //# sourceMappingURL=ponder.schema.js.map