@merkl/api 0.20.177 → 0.20.179
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/database/engine/.generated/edge.js +48 -3
- package/dist/database/engine/.generated/index-browser.js +45 -0
- package/dist/database/engine/.generated/index.d.ts +3322 -121
- package/dist/database/engine/.generated/index.js +48 -3
- package/dist/database/engine/.generated/package.json +1 -1
- package/dist/database/engine/.generated/schema.prisma +41 -0
- package/dist/database/engine/.generated/wasm.js +45 -0
- package/dist/src/eden/index.d.ts +6 -0
- package/dist/src/engine/implementations/UniswapV4/tvl.js +38 -3
- package/dist/src/index.d.ts +2 -0
- package/dist/src/jobs/reward-breakdowns.js +2 -2
- package/dist/src/jobs/update-dynamic-data.js +3 -1
- package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +2 -0
- package/dist/src/modules/v4/opportunity/opportunity.controller.js +2 -2
- package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +1 -0
- package/dist/src/modules/v4/opportunity/opportunity.model.js +1 -0
- package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +1 -1
- package/dist/src/modules/v4/opportunity/opportunity.service.js +2 -2
- package/dist/src/modules/v4/programPayload/programPayload.repository.d.ts +16 -2
- package/dist/src/modules/v4/programPayload/programPayload.repository.js +118 -1
- package/dist/src/modules/v4/router.d.ts +2 -0
- package/dist/tsconfig.package.tsbuildinfo +1 -1
- package/package.json +1 -1
@@ -219,6 +219,25 @@ exports.Prisma.StateSaveScalarFieldEnum = {
|
|
219
219
|
state: 'state'
|
220
220
|
};
|
221
221
|
|
222
|
+
exports.Prisma.NodesScalarFieldEnum = {
|
223
|
+
id: 'id',
|
224
|
+
chainId: 'chainId',
|
225
|
+
nodeType: 'nodeType',
|
226
|
+
recipient: 'recipient',
|
227
|
+
nodesSourceId: 'nodesSourceId',
|
228
|
+
creationBlockNumber: 'creationBlockNumber',
|
229
|
+
metadata: 'metadata'
|
230
|
+
};
|
231
|
+
|
232
|
+
exports.Prisma.NodesSourcesScalarFieldEnum = {
|
233
|
+
id: 'id',
|
234
|
+
lastFetchedBlockNumber: 'lastFetchedBlockNumber',
|
235
|
+
nodeType: 'nodeType',
|
236
|
+
chainId: 'chainId',
|
237
|
+
source: 'source',
|
238
|
+
topics: 'topics'
|
239
|
+
};
|
240
|
+
|
222
241
|
exports.Prisma.CampaignCreatorsScalarFieldEnum = {
|
223
242
|
address: 'address',
|
224
243
|
tags: 'tags'
|
@@ -233,6 +252,11 @@ exports.Prisma.JsonNullValueInput = {
|
|
233
252
|
JsonNull: Prisma.JsonNull
|
234
253
|
};
|
235
254
|
|
255
|
+
exports.Prisma.NullableJsonNullValueInput = {
|
256
|
+
DbNull: Prisma.DbNull,
|
257
|
+
JsonNull: Prisma.JsonNull
|
258
|
+
};
|
259
|
+
|
236
260
|
exports.Prisma.QueryMode = {
|
237
261
|
default: 'default',
|
238
262
|
insensitive: 'insensitive'
|
@@ -330,6 +354,25 @@ exports.Prisma.StateSaveOrderByRelevanceFieldEnum = {
|
|
330
354
|
id: 'id'
|
331
355
|
};
|
332
356
|
|
357
|
+
exports.Prisma.NullsOrder = {
|
358
|
+
first: 'first',
|
359
|
+
last: 'last'
|
360
|
+
};
|
361
|
+
|
362
|
+
exports.Prisma.NodesOrderByRelevanceFieldEnum = {
|
363
|
+
id: 'id',
|
364
|
+
nodeType: 'nodeType',
|
365
|
+
recipient: 'recipient',
|
366
|
+
nodesSourceId: 'nodesSourceId'
|
367
|
+
};
|
368
|
+
|
369
|
+
exports.Prisma.NodesSourcesOrderByRelevanceFieldEnum = {
|
370
|
+
id: 'id',
|
371
|
+
nodeType: 'nodeType',
|
372
|
+
source: 'source',
|
373
|
+
topics: 'topics'
|
374
|
+
};
|
375
|
+
|
333
376
|
exports.Prisma.CampaignCreatorsOrderByRelevanceFieldEnum = {
|
334
377
|
address: 'address',
|
335
378
|
tags: 'tags'
|
@@ -349,6 +392,8 @@ exports.Prisma.ModelName = {
|
|
349
392
|
ERC20Holders: 'ERC20Holders',
|
350
393
|
Tokens: 'Tokens',
|
351
394
|
StateSave: 'StateSave',
|
395
|
+
Nodes: 'Nodes',
|
396
|
+
NodesSources: 'NodesSources',
|
352
397
|
CampaignCreators: 'CampaignCreators'
|
353
398
|
};
|
354
399
|
/**
|
@@ -414,8 +459,8 @@ const config = {
|
|
414
459
|
}
|
415
460
|
}
|
416
461
|
},
|
417
|
-
"inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n binaryTargets = [\"native\", \"linux-arm64-openssl-3.0.x\", \"linux-arm64-openssl-1.1.x\", \"linux-musl-arm64-openssl-3.0.x\"]\n output = \".generated/\"\n previewFeatures = [\"fullTextSearchPostgres\", \"relationJoins\"]\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_ENGINE_URL\")\n}\n\nmodel TempLeaves {\n chainId Int\n campaignId String\n recipient String @db.Char(42)\n reason String\n rewardToken String @db.Char(42)\n amount String @default(\"0\")\n lastProcessedTimestamp Int\n\n @@id([chainId, campaignId, recipient, reason])\n @@index([chainId])\n @@index([campaignId])\n @@index([recipient])\n @@index([reason])\n @@index([rewardToken])\n}\n\nmodel Leaves {\n chainId Int\n root String\n campaignId String\n recipient String @db.Char(42)\n reason String\n rewardToken String @db.Char(42)\n amount String @default(\"0\")\n lastProcessedTimestamp Int\n\n @@id([chainId, campaignId, recipient, reason, root])\n @@index([campaignId])\n @@index([recipient])\n @@index([reason])\n @@index([rewardToken])\n}\n\nmodel Proofs {\n chainId Int\n root String\n recipient String @db.Char(42)\n rewardToken String @db.Char(42)\n proof String[]\n\n @@id([chainId, root, recipient, rewardToken])\n @@index([chainId])\n @@index([recipient])\n @@index([rewardToken])\n @@index([root])\n}\n\nmodel MerklRoots {\n chainId Int\n epoch Int\n timestamp Int\n root String\n\n @@id([chainId, root])\n @@index([chainId])\n @@index([epoch])\n @@index([root])\n}\n\nmodel Campaigns {\n chainId Int // Chain of the campaign\n computeChainId Int @default(0) // Chain where the compute is done. 0 means it's the same as chainId\n index Int // Index of the campaign\n campaignId String // hash ID of the distrib\n creator String @db.Char(42) // Address of the creator\n campaignType Int // Type of campaign --> univ3, token, univ4\n campaignSubType Int // Subtype of campaign --> UniswapV3, PancakeSwapV3\n rewardToken String // Address of reward token\n amount String\n startTimestamp Int\n endTimestamp Int\n\n // Will be useful for table joins\n mainParameter String @db.Char(42) // TODO: confirm it'll always be an address\n\n // Config of the distrib\n // A JSON with all the configuration specific to the distribution type\n campaignParameters Json\n\n @@id([chainId, campaignId])\n @@index([chainId])\n @@index([rewardToken])\n @@index([startTimestamp])\n @@index([endTimestamp])\n @@index([campaignType])\n @@index([mainParameter])\n}\n\nmodel CampaignsToProcess {\n chainId Int // Chain of the campaign\n computeChainId Int @default(0) // Chain where the compute is done. 0 means it's the same as chainId\n index Int // Index of the campaign\n campaignId String // hash ID of the distrib\n creator String @db.Char(42) // Address of the creator\n campaignType Int // Type of campaign --> univ3, token, univ4\n campaignSubType Int // Subtype of campaign --> UniswapV3, PancakeSwapV3\n rewardToken String // Address of reward token\n amount String\n startTimestamp Int\n endTimestamp Int\n\n // Will be useful for table joins\n mainParameter String @db.Char(42) // TODO: confirm it'll always be an address\n\n // Config of the distrib\n // A JSON with all the configuration specific to the distribution type\n campaignParameters Json\n lastProcessedTimestamp Int\n processUntilTimestamp Int\n jobIndex Int\n\n @@id([chainId, jobIndex])\n @@index([chainId])\n @@index([jobIndex])\n}\n\nmodel Claims {\n chainId Int\n recipient String @db.Char(42)\n campaignId String\n rewardToken String @db.Char(42)\n reason String\n root String\n claimed String @default(\"0\")\n timestamp Int\n\n @@id([chainId, recipient, campaignId, rewardToken, reason])\n @@index([chainId])\n @@index([recipient])\n @@index([campaignId])\n}\n\nmodel ClaimsOverTime {\n chainId Int\n recipient String @db.Char(42)\n campaignId String\n rewardToken String @db.Char(42)\n reason String\n root String\n claimed String @default(\"0\")\n timestamp Int\n\n @@id([chainId, recipient, campaignId, rewardToken, reason, timestamp])\n @@index([chainId])\n @@index([recipient])\n @@index([campaignId])\n @@index([timestamp])\n}\n\nmodel ALMs {\n chainId Int\n campaignId String // hash ID of the distrib\n name String\n type String\n address String @db.Char(42)\n target String @db.Char(42)\n owner String @db.Char(42)\n underlyingPool String @db.Char(42)\n\n @@id([chainId, campaignId, address])\n}\n\nmodel ERC20Holders {\n chainId Int\n token String @db.Char(42)\n holders String[] @db.Char(42)\n blockNumber Int\n\n @@id([chainId, token])\n}\n\nmodel Tokens {\n chainId Int\n address String @db.Char(42)\n symbol String\n decimals Int\n\n @@id([chainId, address])\n}\n\nmodel StateSave {\n id String\n blockNumber Int\n state Json\n\n @@id([id, blockNumber])\n}\n\nmodel CampaignCreators {\n address String @db.Char(42)\n tags String @default(\"\")\n\n @@id([address])\n}\n",
|
418
|
-
"inlineSchemaHash": "
|
462
|
+
"inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n binaryTargets = [\"native\", \"linux-arm64-openssl-3.0.x\", \"linux-arm64-openssl-1.1.x\", \"linux-musl-arm64-openssl-3.0.x\"]\n output = \".generated/\"\n previewFeatures = [\"fullTextSearchPostgres\", \"relationJoins\"]\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_ENGINE_URL\")\n}\n\nmodel TempLeaves {\n chainId Int\n campaignId String\n recipient String @db.Char(42)\n reason String\n rewardToken String @db.Char(42)\n amount String @default(\"0\")\n lastProcessedTimestamp Int\n\n @@id([chainId, campaignId, recipient, reason])\n @@index([chainId])\n @@index([campaignId])\n @@index([recipient])\n @@index([reason])\n @@index([rewardToken])\n}\n\nmodel Leaves {\n chainId Int\n root String\n campaignId String\n recipient String @db.Char(42)\n reason String\n rewardToken String @db.Char(42)\n amount String @default(\"0\")\n lastProcessedTimestamp Int\n\n @@id([chainId, campaignId, recipient, reason, root])\n @@index([campaignId])\n @@index([recipient])\n @@index([reason])\n @@index([rewardToken])\n}\n\nmodel Proofs {\n chainId Int\n root String\n recipient String @db.Char(42)\n rewardToken String @db.Char(42)\n proof String[]\n\n @@id([chainId, root, recipient, rewardToken])\n @@index([chainId])\n @@index([recipient])\n @@index([rewardToken])\n @@index([root])\n}\n\nmodel MerklRoots {\n chainId Int\n epoch Int\n timestamp Int\n root String\n\n @@id([chainId, root])\n @@index([chainId])\n @@index([epoch])\n @@index([root])\n}\n\nmodel Campaigns {\n chainId Int // Chain of the campaign\n computeChainId Int @default(0) // Chain where the compute is done. 0 means it's the same as chainId\n index Int // Index of the campaign\n campaignId String // hash ID of the distrib\n creator String @db.Char(42) // Address of the creator\n campaignType Int // Type of campaign --> univ3, token, univ4\n campaignSubType Int // Subtype of campaign --> UniswapV3, PancakeSwapV3\n rewardToken String // Address of reward token\n amount String\n startTimestamp Int\n endTimestamp Int\n\n // Will be useful for table joins\n mainParameter String @db.Char(42) // TODO: confirm it'll always be an address\n\n // Config of the distrib\n // A JSON with all the configuration specific to the distribution type\n campaignParameters Json\n\n @@id([chainId, campaignId])\n @@index([chainId])\n @@index([rewardToken])\n @@index([startTimestamp])\n @@index([endTimestamp])\n @@index([campaignType])\n @@index([mainParameter])\n}\n\nmodel CampaignsToProcess {\n chainId Int // Chain of the campaign\n computeChainId Int @default(0) // Chain where the compute is done. 0 means it's the same as chainId\n index Int // Index of the campaign\n campaignId String // hash ID of the distrib\n creator String @db.Char(42) // Address of the creator\n campaignType Int // Type of campaign --> univ3, token, univ4\n campaignSubType Int // Subtype of campaign --> UniswapV3, PancakeSwapV3\n rewardToken String // Address of reward token\n amount String\n startTimestamp Int\n endTimestamp Int\n\n // Will be useful for table joins\n mainParameter String @db.Char(42) // TODO: confirm it'll always be an address\n\n // Config of the distrib\n // A JSON with all the configuration specific to the distribution type\n campaignParameters Json\n lastProcessedTimestamp Int\n processUntilTimestamp Int\n jobIndex Int\n\n @@id([chainId, jobIndex])\n @@index([chainId])\n @@index([jobIndex])\n}\n\nmodel Claims {\n chainId Int\n recipient String @db.Char(42)\n campaignId String\n rewardToken String @db.Char(42)\n reason String\n root String\n claimed String @default(\"0\")\n timestamp Int\n\n @@id([chainId, recipient, campaignId, rewardToken, reason])\n @@index([chainId])\n @@index([recipient])\n @@index([campaignId])\n}\n\nmodel ClaimsOverTime {\n chainId Int\n recipient String @db.Char(42)\n campaignId String\n rewardToken String @db.Char(42)\n reason String\n root String\n claimed String @default(\"0\")\n timestamp Int\n\n @@id([chainId, recipient, campaignId, rewardToken, reason, timestamp])\n @@index([chainId])\n @@index([recipient])\n @@index([campaignId])\n @@index([timestamp])\n}\n\nmodel ALMs {\n chainId Int\n campaignId String // hash ID of the distrib\n name String\n type String\n address String @db.Char(42)\n target String @db.Char(42)\n owner String @db.Char(42)\n underlyingPool String @db.Char(42)\n\n @@id([chainId, campaignId, address])\n}\n\nmodel ERC20Holders {\n chainId Int\n token String @db.Char(42)\n holders String[] @db.Char(42)\n blockNumber Int\n\n @@id([chainId, token])\n}\n\nmodel Tokens {\n chainId Int\n address String @db.Char(42)\n symbol String\n decimals Int\n\n @@id([chainId, address])\n}\n\nmodel StateSave {\n id String\n blockNumber Int\n state Json\n\n @@id([id, blockNumber])\n}\n\nmodel Nodes {\n id String @id\n chainId Int\n nodeType String\n recipient String\n nodesSourceId String\n creationBlockNumber Int\n metadata Json?\n\n // Solution for redundancy \n // Many-to-one relationship\n NodesSources NodesSources @relation(fields: [nodesSourceId], references: [id], onDelete: Cascade)\n\n // Deleted nodeType because want to have only one nodeType per recipient\n @@unique([chainId, recipient])\n // Indexes for faster queries\n @@index([chainId])\n @@index([nodeType])\n @@index([recipient])\n}\n\nmodel NodesSources {\n id String @id\n lastFetchedBlockNumber Int\n nodeType String\n chainId Int\n source String @db.Char(42)\n topics String[]\n\n // We could add a count of nodes to know if we deleted some\n // One-to-many relationship back to Nodes\n nodes Nodes[]\n\n // Unique constraint to ensure no duplicate blocks for the same nodeType\n @@unique([chainId, source, topics])\n // Indexes for faster queries\n @@index([nodeType])\n @@index([chainId])\n @@index([source])\n}\n\nmodel CampaignCreators {\n address String @db.Char(42)\n tags String @default(\"\")\n\n @@id([address])\n}\n",
|
463
|
+
"inlineSchemaHash": "01a819efa19c1b071b5fa16b2d5a7d6aa4eab197c344f085b5cd6186f72dbb9a",
|
419
464
|
"copyEngine": true
|
420
465
|
}
|
421
466
|
|
@@ -436,7 +481,7 @@ if (!fs.existsSync(path.join(__dirname, 'schema.prisma'))) {
|
|
436
481
|
config.isBundled = true
|
437
482
|
}
|
438
483
|
|
439
|
-
config.runtimeDataModel = JSON.parse("{\"models\":{\"TempLeaves\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipient\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rewardToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastProcessedTimestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"campaignId\",\"recipient\",\"reason\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Leaves\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"root\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipient\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rewardToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastProcessedTimestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"campaignId\",\"recipient\",\"reason\",\"root\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Proofs\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"root\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipient\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rewardToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"proof\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"root\",\"recipient\",\"rewardToken\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MerklRoots\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"epoch\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"root\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"root\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Campaigns\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"computeChainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"index\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"creator\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignSubType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rewardToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"startTimestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endTimestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mainParameter\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignParameters\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"campaignId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CampaignsToProcess\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"computeChainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"index\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"creator\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignSubType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rewardToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"startTimestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endTimestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mainParameter\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignParameters\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastProcessedTimestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"processUntilTimestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"jobIndex\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"jobIndex\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Claims\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipient\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rewardToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"root\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"claimed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"recipient\",\"campaignId\",\"rewardToken\",\"reason\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ClaimsOverTime\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipient\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rewardToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"root\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"claimed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"recipient\",\"campaignId\",\"rewardToken\",\"reason\",\"timestamp\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ALMs\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"target\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"owner\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"underlyingPool\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"campaignId\",\"address\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ERC20Holders\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"token\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"holders\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"blockNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"token\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Tokens\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"address\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"StateSave\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"blockNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"state\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"id\",\"blockNumber\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CampaignCreators\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tags\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":\"\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"address\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}")
|
484
|
+
config.runtimeDataModel = JSON.parse("{\"models\":{\"TempLeaves\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipient\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rewardToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastProcessedTimestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"campaignId\",\"recipient\",\"reason\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Leaves\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"root\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipient\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rewardToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastProcessedTimestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"campaignId\",\"recipient\",\"reason\",\"root\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Proofs\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"root\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipient\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rewardToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"proof\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"root\",\"recipient\",\"rewardToken\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MerklRoots\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"epoch\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"root\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"root\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Campaigns\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"computeChainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"index\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"creator\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignSubType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rewardToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"startTimestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endTimestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mainParameter\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignParameters\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"campaignId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CampaignsToProcess\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"computeChainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"index\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"creator\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignSubType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rewardToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"startTimestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endTimestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mainParameter\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignParameters\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastProcessedTimestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"processUntilTimestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"jobIndex\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"jobIndex\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Claims\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipient\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rewardToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"root\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"claimed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"recipient\",\"campaignId\",\"rewardToken\",\"reason\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ClaimsOverTime\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipient\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rewardToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"root\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"claimed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"recipient\",\"campaignId\",\"rewardToken\",\"reason\",\"timestamp\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ALMs\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"campaignId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"target\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"owner\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"underlyingPool\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"campaignId\",\"address\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ERC20Holders\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"token\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"holders\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"blockNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"token\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Tokens\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"chainId\",\"address\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"StateSave\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"blockNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"state\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"id\",\"blockNumber\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Nodes\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nodeType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipient\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nodesSourceId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"creationBlockNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"NodesSources\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"NodesSources\",\"nativeType\":null,\"relationName\":\"NodesToNodesSources\",\"relationFromFields\":[\"nodesSourceId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"chainId\",\"recipient\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"chainId\",\"recipient\"]}],\"isGenerated\":false},\"NodesSources\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastFetchedBlockNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nodeType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"chainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"topics\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nodes\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Nodes\",\"nativeType\":null,\"relationName\":\"NodesToNodesSources\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"chainId\",\"source\",\"topics\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"chainId\",\"source\",\"topics\"]}],\"isGenerated\":false},\"CampaignCreators\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Char\",[\"42\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tags\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":\"\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"address\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}")
|
440
485
|
defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
|
441
486
|
config.engineWasm = undefined
|
442
487
|
config.compilerWasm = undefined
|
@@ -199,6 +199,47 @@ model StateSave {
|
|
199
199
|
@@id([id, blockNumber])
|
200
200
|
}
|
201
201
|
|
202
|
+
model Nodes {
|
203
|
+
id String @id
|
204
|
+
chainId Int
|
205
|
+
nodeType String
|
206
|
+
recipient String
|
207
|
+
nodesSourceId String
|
208
|
+
creationBlockNumber Int
|
209
|
+
metadata Json?
|
210
|
+
|
211
|
+
// Solution for redundancy
|
212
|
+
// Many-to-one relationship
|
213
|
+
NodesSources NodesSources @relation(fields: [nodesSourceId], references: [id], onDelete: Cascade)
|
214
|
+
|
215
|
+
// Deleted nodeType because want to have only one nodeType per recipient
|
216
|
+
@@unique([chainId, recipient])
|
217
|
+
// Indexes for faster queries
|
218
|
+
@@index([chainId])
|
219
|
+
@@index([nodeType])
|
220
|
+
@@index([recipient])
|
221
|
+
}
|
222
|
+
|
223
|
+
model NodesSources {
|
224
|
+
id String @id
|
225
|
+
lastFetchedBlockNumber Int
|
226
|
+
nodeType String
|
227
|
+
chainId Int
|
228
|
+
source String @db.Char(42)
|
229
|
+
topics String[]
|
230
|
+
|
231
|
+
// We could add a count of nodes to know if we deleted some
|
232
|
+
// One-to-many relationship back to Nodes
|
233
|
+
nodes Nodes[]
|
234
|
+
|
235
|
+
// Unique constraint to ensure no duplicate blocks for the same nodeType
|
236
|
+
@@unique([chainId, source, topics])
|
237
|
+
// Indexes for faster queries
|
238
|
+
@@index([nodeType])
|
239
|
+
@@index([chainId])
|
240
|
+
@@index([source])
|
241
|
+
}
|
242
|
+
|
202
243
|
model CampaignCreators {
|
203
244
|
address String @db.Char(42)
|
204
245
|
tags String @default("")
|
@@ -246,6 +246,25 @@ exports.Prisma.StateSaveScalarFieldEnum = {
|
|
246
246
|
state: 'state'
|
247
247
|
};
|
248
248
|
|
249
|
+
exports.Prisma.NodesScalarFieldEnum = {
|
250
|
+
id: 'id',
|
251
|
+
chainId: 'chainId',
|
252
|
+
nodeType: 'nodeType',
|
253
|
+
recipient: 'recipient',
|
254
|
+
nodesSourceId: 'nodesSourceId',
|
255
|
+
creationBlockNumber: 'creationBlockNumber',
|
256
|
+
metadata: 'metadata'
|
257
|
+
};
|
258
|
+
|
259
|
+
exports.Prisma.NodesSourcesScalarFieldEnum = {
|
260
|
+
id: 'id',
|
261
|
+
lastFetchedBlockNumber: 'lastFetchedBlockNumber',
|
262
|
+
nodeType: 'nodeType',
|
263
|
+
chainId: 'chainId',
|
264
|
+
source: 'source',
|
265
|
+
topics: 'topics'
|
266
|
+
};
|
267
|
+
|
249
268
|
exports.Prisma.CampaignCreatorsScalarFieldEnum = {
|
250
269
|
address: 'address',
|
251
270
|
tags: 'tags'
|
@@ -260,6 +279,11 @@ exports.Prisma.JsonNullValueInput = {
|
|
260
279
|
JsonNull: Prisma.JsonNull
|
261
280
|
};
|
262
281
|
|
282
|
+
exports.Prisma.NullableJsonNullValueInput = {
|
283
|
+
DbNull: Prisma.DbNull,
|
284
|
+
JsonNull: Prisma.JsonNull
|
285
|
+
};
|
286
|
+
|
263
287
|
exports.Prisma.QueryMode = {
|
264
288
|
default: 'default',
|
265
289
|
insensitive: 'insensitive'
|
@@ -357,6 +381,25 @@ exports.Prisma.StateSaveOrderByRelevanceFieldEnum = {
|
|
357
381
|
id: 'id'
|
358
382
|
};
|
359
383
|
|
384
|
+
exports.Prisma.NullsOrder = {
|
385
|
+
first: 'first',
|
386
|
+
last: 'last'
|
387
|
+
};
|
388
|
+
|
389
|
+
exports.Prisma.NodesOrderByRelevanceFieldEnum = {
|
390
|
+
id: 'id',
|
391
|
+
nodeType: 'nodeType',
|
392
|
+
recipient: 'recipient',
|
393
|
+
nodesSourceId: 'nodesSourceId'
|
394
|
+
};
|
395
|
+
|
396
|
+
exports.Prisma.NodesSourcesOrderByRelevanceFieldEnum = {
|
397
|
+
id: 'id',
|
398
|
+
nodeType: 'nodeType',
|
399
|
+
source: 'source',
|
400
|
+
topics: 'topics'
|
401
|
+
};
|
402
|
+
|
360
403
|
exports.Prisma.CampaignCreatorsOrderByRelevanceFieldEnum = {
|
361
404
|
address: 'address',
|
362
405
|
tags: 'tags'
|
@@ -376,6 +419,8 @@ exports.Prisma.ModelName = {
|
|
376
419
|
ERC20Holders: 'ERC20Holders',
|
377
420
|
Tokens: 'Tokens',
|
378
421
|
StateSave: 'StateSave',
|
422
|
+
Nodes: 'Nodes',
|
423
|
+
NodesSources: 'NodesSources',
|
379
424
|
CampaignCreators: 'CampaignCreators'
|
380
425
|
};
|
381
426
|
|
package/dist/src/eden/index.d.ts
CHANGED
@@ -307,6 +307,7 @@ declare const eden: {
|
|
307
307
|
get: (options: {
|
308
308
|
headers?: Record<string, unknown> | undefined;
|
309
309
|
query: {
|
310
|
+
campaigns?: boolean | undefined;
|
310
311
|
point?: boolean | undefined;
|
311
312
|
test?: boolean | undefined;
|
312
313
|
};
|
@@ -416,6 +417,7 @@ declare const eden: {
|
|
416
417
|
get: (options: {
|
417
418
|
headers?: Record<string, unknown> | undefined;
|
418
419
|
query: {
|
420
|
+
campaigns?: boolean | undefined;
|
419
421
|
point?: boolean | undefined;
|
420
422
|
test?: boolean | undefined;
|
421
423
|
};
|
@@ -6202,6 +6204,7 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
|
|
6202
6204
|
id: string;
|
6203
6205
|
};
|
6204
6206
|
query: {
|
6207
|
+
campaigns?: boolean | undefined;
|
6205
6208
|
point?: boolean | undefined;
|
6206
6209
|
test?: boolean | undefined;
|
6207
6210
|
};
|
@@ -6513,6 +6516,7 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
|
|
6513
6516
|
id: string;
|
6514
6517
|
};
|
6515
6518
|
query: {
|
6519
|
+
campaigns?: boolean | undefined;
|
6516
6520
|
point?: boolean | undefined;
|
6517
6521
|
test?: boolean | undefined;
|
6518
6522
|
};
|
@@ -12354,6 +12358,7 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
|
|
12354
12358
|
get: (options: {
|
12355
12359
|
headers?: Record<string, unknown> | undefined;
|
12356
12360
|
query: {
|
12361
|
+
campaigns?: boolean | undefined;
|
12357
12362
|
point?: boolean | undefined;
|
12358
12363
|
test?: boolean | undefined;
|
12359
12364
|
};
|
@@ -12463,6 +12468,7 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
|
|
12463
12468
|
get: (options: {
|
12464
12469
|
headers?: Record<string, unknown> | undefined;
|
12465
12470
|
query: {
|
12471
|
+
campaigns?: boolean | undefined;
|
12466
12472
|
point?: boolean | undefined;
|
12467
12473
|
test?: boolean | undefined;
|
12468
12474
|
};
|
@@ -13,6 +13,8 @@ async function computeUniV4PoolTVLFromMostRecentStateSave(computeChainId, poolID
|
|
13
13
|
let stateSave;
|
14
14
|
let blockNumber;
|
15
15
|
let states = {};
|
16
|
+
// TEMPORARY: handle Gamma TVL
|
17
|
+
const nodesTVL = {};
|
16
18
|
try {
|
17
19
|
const currentBlock = await ChainInteractionService(computeChainId).getBlockNumber();
|
18
20
|
const mostRecentStateSave = await engineDbClient.stateSave.findFirst({
|
@@ -32,9 +34,14 @@ async function computeUniV4PoolTVLFromMostRecentStateSave(computeChainId, poolID
|
|
32
34
|
}
|
33
35
|
catch {
|
34
36
|
log.warn(`merklDynamic data - failed to read a recent state of pool ${poolID} on ${NETWORK_LABELS[computeChainId]}`);
|
35
|
-
return { amount0: 0n, amount1: 0n, blockNumber: blockNumber ?? 0 };
|
37
|
+
return { amount0: 0n, amount1: 0n, blockNumber: blockNumber ?? 0, nodesTVL };
|
36
38
|
}
|
37
39
|
const { fileName } = states;
|
40
|
+
// Get nodes
|
41
|
+
const nodes = await engineDbClient.nodes.findMany({
|
42
|
+
where: { chainId: computeChainId, nodeType: "GammaUniV4" },
|
43
|
+
select: { nodeType: true, recipient: true },
|
44
|
+
});
|
38
45
|
// Bucket service
|
39
46
|
let amount0 = 0n;
|
40
47
|
let amount1 = 0n;
|
@@ -44,18 +51,31 @@ async function computeUniV4PoolTVLFromMostRecentStateSave(computeChainId, poolID
|
|
44
51
|
for (const [_, { value, params: _params }] of Object.entries(storedStates)) {
|
45
52
|
amount0 += BigInt(value.amount0);
|
46
53
|
amount1 += BigInt(value.amount1);
|
54
|
+
// TEMPORARY: handle Gamma TVL
|
55
|
+
if (nodes.map(node => node.recipient).includes(_params.recipient)) {
|
56
|
+
const node = nodes.find(node => node.recipient === _params.recipient);
|
57
|
+
if (!node) {
|
58
|
+
log.warn(`merklDynamic data - failed to find node ${_params.recipient} for pool ${poolID}`);
|
59
|
+
continue;
|
60
|
+
}
|
61
|
+
if (!nodesTVL[node.nodeType]) {
|
62
|
+
nodesTVL[node.nodeType] = { amount0: 0n, amount1: 0n };
|
63
|
+
}
|
64
|
+
nodesTVL[node.nodeType].amount0 += BigInt(value.amount0);
|
65
|
+
nodesTVL[node.nodeType].amount1 += BigInt(value.amount1);
|
66
|
+
}
|
47
67
|
}
|
48
68
|
}
|
49
69
|
catch {
|
50
70
|
log.warn(`merklDynamic data - failed to decode state of pool ${poolID} on ${NETWORK_LABELS[computeChainId]}`);
|
51
71
|
}
|
52
|
-
return { amount0, amount1, blockNumber: blockNumber };
|
72
|
+
return { amount0, amount1, blockNumber: blockNumber, nodesTVL };
|
53
73
|
}
|
54
74
|
export class UniswapV4TVLBuilder {
|
55
75
|
async build(computeChainId, campaigns) {
|
56
76
|
const tvls = [];
|
57
77
|
for (const campaign of campaigns) {
|
58
|
-
const { amount0: poolBalanceToken0, amount1: poolBalanceToken1 } = await computeUniV4PoolTVLFromMostRecentStateSave(computeChainId, campaign.campaignParameters.poolId);
|
78
|
+
const { amount0: poolBalanceToken0, amount1: poolBalanceToken1, nodesTVL, } = await computeUniV4PoolTVLFromMostRecentStateSave(computeChainId, campaign.campaignParameters.poolId);
|
59
79
|
const token0Id = TokenService.hashId({
|
60
80
|
chainId: computeChainId,
|
61
81
|
address: campaign.campaignParameters.currency0,
|
@@ -64,6 +84,13 @@ export class UniswapV4TVLBuilder {
|
|
64
84
|
chainId: computeChainId,
|
65
85
|
address: campaign.campaignParameters.currency1,
|
66
86
|
});
|
87
|
+
if (Object.keys(nodesTVL).length > 0) {
|
88
|
+
for (const node of Object.values(nodesTVL)) {
|
89
|
+
node.tvl =
|
90
|
+
(await TokenService.getValueByTokenId(token0Id, node.amount0)) +
|
91
|
+
(await TokenService.getValueByTokenId(token1Id, node.amount1));
|
92
|
+
}
|
93
|
+
}
|
67
94
|
tvls.push({
|
68
95
|
campaign,
|
69
96
|
tvl: (await TokenService.getValueByTokenId(token0Id, poolBalanceToken0)) +
|
@@ -79,6 +106,14 @@ export class UniswapV4TVLBuilder {
|
|
79
106
|
type: TvlType.TOKEN,
|
80
107
|
value: BN2Number(poolBalanceToken1, campaign.campaignParameters.decimalsCurrency1),
|
81
108
|
},
|
109
|
+
// TEMPORARY: handle Gamma TVL
|
110
|
+
...(nodesTVL
|
111
|
+
? Object.entries(nodesTVL).map(([nodeType, { tvl }]) => ({
|
112
|
+
identifier: nodeType,
|
113
|
+
type: TvlType.PROTOCOL,
|
114
|
+
value: tvl ?? 0,
|
115
|
+
}))
|
116
|
+
: []),
|
82
117
|
],
|
83
118
|
});
|
84
119
|
}
|
package/dist/src/index.d.ts
CHANGED
@@ -810,6 +810,7 @@ declare const app: Elysia<"", false, {
|
|
810
810
|
id: string;
|
811
811
|
};
|
812
812
|
query: {
|
813
|
+
campaigns?: boolean | undefined;
|
813
814
|
point?: boolean | undefined;
|
814
815
|
test?: boolean | undefined;
|
815
816
|
};
|
@@ -1121,6 +1122,7 @@ declare const app: Elysia<"", false, {
|
|
1121
1122
|
id: string;
|
1122
1123
|
};
|
1123
1124
|
query: {
|
1125
|
+
campaigns?: boolean | undefined;
|
1124
1126
|
point?: boolean | undefined;
|
1125
1127
|
test?: boolean | undefined;
|
1126
1128
|
};
|
@@ -83,10 +83,10 @@ const load = async (rewardBreakdowns, skipSubCampaignReasons = false) => {
|
|
83
83
|
data: rewardBreakdowns.map(breakdown => {
|
84
84
|
// Trying to parse subcampaign reasons only when skipSubCampaignReasons is false because priority is having the breakdowns in the DB
|
85
85
|
if (!skipSubCampaignReasons && breakdown.reason.includes("~")) {
|
86
|
-
// subcampaign reason will have the form <
|
86
|
+
// subcampaign reason will have the form <campaignId>_<protocol>_<reason> outputted by the processor>
|
87
87
|
const subcampaignReason = breakdown.reason.split("~")[breakdown.reason.split("~").length - 1];
|
88
88
|
breakdown.reason = subcampaignReason.split("_").slice(2).join("_");
|
89
|
-
breakdown.subCampaignId = subcampaignReason.split("_")[
|
89
|
+
breakdown.subCampaignId = subcampaignReason.split("_")[0];
|
90
90
|
}
|
91
91
|
return {
|
92
92
|
id: breakdown.id,
|
@@ -52,7 +52,9 @@ const main = async () => {
|
|
52
52
|
// 4. Update the status of the opportunities associated to live campaigns
|
53
53
|
await OpportunityService.updateMany(liveOpportunityIds, { status: "LIVE" });
|
54
54
|
// 5. Update records for all live campaigns
|
55
|
-
const liveCampaigns = (await CampaignService.findMany({ chainId, status: "LIVE", test: true, withOpportunity: true, items:
|
55
|
+
const liveCampaigns = (await CampaignService.findMany({ chainId, status: "LIVE", test: true, withOpportunity: true, items: 0 }))
|
56
|
+
.concat(await CampaignService.findMany({ chainId, status: "SOON", test: true, withOpportunity: true, items: 0 }))
|
57
|
+
.map(campaign => OpportunityConvertorService.convertV4CampaignToV3(CampaignType[campaign.type], campaign, campaign.Opportunity.identifier));
|
56
58
|
const promises = [];
|
57
59
|
for (const type of new Set(liveCampaigns.map(c => c.campaignType))) {
|
58
60
|
promises.push(DynamicDataService.update(chainId, type, liveCampaigns.filter(c => c.campaignType === type)));
|
@@ -665,6 +665,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
|
|
665
665
|
id: string;
|
666
666
|
};
|
667
667
|
query: {
|
668
|
+
campaigns?: boolean | undefined;
|
668
669
|
point?: boolean | undefined;
|
669
670
|
test?: boolean | undefined;
|
670
671
|
};
|
@@ -976,6 +977,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
|
|
976
977
|
id: string;
|
977
978
|
};
|
978
979
|
query: {
|
980
|
+
campaigns?: boolean | undefined;
|
979
981
|
point?: boolean | undefined;
|
980
982
|
test?: boolean | undefined;
|
981
983
|
};
|