Compare commits

..
Author SHA1 Message Date
nabarun 588f22e645 Support fragments in GQL queries (#11)
Part of [Regenerate ajna watcher with updated subgraph config](https://www.notion.so/Regenerate-ajna-watcher-with-updated-subgraph-config-c9bbecb033024c13a7515c7f1efc3363)

Reviewed-on: #11
Co-authored-by: Nabarun <nabarun@deepstacksoft.com>
Co-committed-by: Nabarun <nabarun@deepstacksoft.com>
2024-05-17 11:58:02 +00:00
prathamesh 93167340d0 Update package version (#10)
Reviewed-on: #10
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-05-16 11:51:23 +00:00
prathamesh 8cbdd51b0d Upgrade watcher-ts packages (#9)
Part of [Regenerate ajna watcher with updated subgraph config](https://www.notion.so/Regenerate-ajna-watcher-with-updated-subgraph-config-c9bbecb033024c13a7515c7f1efc3363)

Upgrade `watcher-ts` packages to:
- Allow filtering event logs by topics
- Fix for job queue counts exported in the metrics

Reviewed-on: #9
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-05-16 11:48:00 +00:00
prathamesh 701dce23db Upgrade watcher-ts packages to export metrics on ETH RPC requests (#8)
Part of [Regenerate ajna watcher with updated subgraph config
](https://www.notion.so/Regenerate-ajna-watcher-with-updated-subgraph-config-c9bbecb033024c13a7515c7f1efc3363)

Reviewed-on: #8
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-05-15 13:48:07 +00:00
prathamesh 10156ae4a3 Regenerate watcher with updated subgraph and latest codegen (#7)
Part of [Regenerate ajna watcher with updated subgraph config
](https://www.notion.so/Regenerate-ajna-watcher-with-updated-subgraph-config-c9bbecb033024c13a7515c7f1efc3363)

Reviewed-on: #7
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-05-14 08:02:34 +00:00
nabarun b5a3556319 Upgrade watcher-ts packages to configure failover RPC endpoints (#6)
Part of [Ability to configure watchers with multiple RPC endpoints](https://www.notion.so/Ability-to-configure-watchers-with-multiple-RPC-endpoints-dc8d3ff4d647404ab718dfd5a4c9035c)

Reviewed-on: #6
Co-authored-by: Nabarun <nabarun@deepstacksoft.com>
Co-committed-by: Nabarun <nabarun@deepstacksoft.com>
2024-05-09 11:02:05 +00:00
14 changed files with 211 additions and 329 deletions
+4
View File
@@ -1,5 +1,9 @@
# ajna-watcher-ts
## Source
* Subgraph: [ajna-subgraph v0.1.1](https://github.com/cerc-io/ajna-subgraph/releases/tag/v0.1.1)
## Setup
* Run the following command to install required packages:
+8 -3
View File
@@ -58,7 +58,9 @@
[upstream]
[upstream.ethServer]
rpcProviderEndpoint = "http://127.0.0.1:8081"
rpcProviderEndpoints = [
"http://127.0.0.1:8081"
]
# Boolean flag to specify if rpc-eth-client should be used for RPC endpoint instead of ipld-eth-client (ipld-eth-server GQL client)
rpcClient = true
@@ -67,9 +69,9 @@
isFEVM = true
# Boolean flag to filter event logs by contracts
filterLogsByAddresses = false
filterLogsByAddresses = true
# Boolean flag to filter event logs by topics
filterLogsByTopics = false
filterLogsByTopics = true
[upstream.cache]
name = "requests"
@@ -95,3 +97,6 @@
# Max block range of historical processing after which it waits for completion of events processing
# If set to -1 historical processing does not wait for events processing and completes till latest canonical block
historicalMaxFetchAhead = 10000
# Max number of retries to fetch new block after which watcher will failover to other RPC endpoints
maxNewBlockRetries = 3
+6 -6
View File
@@ -1,6 +1,6 @@
{
"name": "@cerc-io/ajna-watcher-ts",
"version": "0.1.3",
"version": "0.1.8",
"description": "ajna-watcher-ts",
"private": true,
"main": "dist/index.js",
@@ -39,11 +39,11 @@
"homepage": "https://github.com/cerc-io/watcher-ts#readme",
"dependencies": {
"@apollo/client": "^3.3.19",
"@cerc-io/cli": "^0.2.85",
"@cerc-io/ipld-eth-client": "^0.2.85",
"@cerc-io/solidity-mapper": "^0.2.85",
"@cerc-io/util": "^0.2.85",
"@cerc-io/graph-node": "^0.2.85",
"@cerc-io/cli": "^0.2.89",
"@cerc-io/ipld-eth-client": "^0.2.89",
"@cerc-io/solidity-mapper": "^0.2.89",
"@cerc-io/util": "^0.2.89",
"@cerc-io/graph-node": "^0.2.89",
"@ethersproject/providers": "^5.4.4",
"debug": "^4.3.1",
"decimal.js": "^10.3.1",
+12 -5
View File
@@ -6,7 +6,7 @@ import assert from 'assert';
import { DeepPartial, FindConditions, FindManyOptions, ObjectLiteral } from 'typeorm';
import debug from 'debug';
import { ethers, constants } from 'ethers';
import { SelectionNode } from 'graphql';
import { GraphQLResolveInfo } from 'graphql';
import { JsonFragment } from '@ethersproject/abi';
import { BaseProvider } from '@ethersproject/providers';
@@ -326,6 +326,13 @@ export class Indexer implements IndexerInterface {
await this._baseIndexer.fetchStateStatus();
}
switchClients ({ ethClient, ethProvider }: { ethClient: EthClient, ethProvider: BaseProvider }): void {
this._ethClient = ethClient;
this._ethProvider = ethProvider;
this._baseIndexer.switchClients({ ethClient, ethProvider });
this._graphWatcher.switchClients({ ethClient, ethProvider });
}
async getMetaData (block: BlockHeight): Promise<ResultMeta | null> {
return this._baseIndexer.getMetaData(block);
}
@@ -457,9 +464,9 @@ export class Indexer implements IndexerInterface {
entity: new () => Entity,
id: string,
block: BlockHeight,
selections: ReadonlyArray<SelectionNode> = []
queryInfo: GraphQLResolveInfo
): Promise<any> {
const data = await this._graphWatcher.getEntity(entity, id, this._relationsMap, block, selections);
const data = await this._graphWatcher.getEntity(entity, id, this._relationsMap, block, queryInfo);
return data;
}
@@ -469,9 +476,9 @@ export class Indexer implements IndexerInterface {
block: BlockHeight,
where: { [key: string]: any } = {},
queryOptions: QueryOptions = {},
selections: ReadonlyArray<SelectionNode> = []
queryInfo: GraphQLResolveInfo
): Promise<any[]> {
return this._graphWatcher.getEntities(entity, this._relationsMap, block, where, queryOptions, selections);
return this._graphWatcher.getEntities(entity, this._relationsMap, block, where, queryOptions, queryInfo);
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
+134 -268
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+47 -47
View File
@@ -176,10 +176,10 @@
binaryen "101.0.0-nightly.20210723"
long "^4.0.0"
"@cerc-io/cache@^0.2.85":
version "0.2.85"
resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fcache/-/0.2.85/cache-0.2.85.tgz#687240f5364d9a18e0903857515e8d89e4f769f5"
integrity sha512-JbMhZ2lLelpHZ7+CIJQ1jwyNlrCbAXlN+sI+YQlRbFcnFwzGLKNYGMshQzZBlh5fb908oKXMALJcxIGOcNu1Zw==
"@cerc-io/cache@^0.2.89":
version "0.2.89"
resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fcache/-/0.2.89/cache-0.2.89.tgz#89bddf8e1e9ae40939315cd8aec5dd9138feb85a"
integrity sha512-cF565BA7vltlecC7AG+Ih0hzEyAS89MLxLMFnCdYzObGqM0vyBP7RruC6RNu304Jg1zV/T2ablb6qh4VBPgCvQ==
dependencies:
canonical-json "^0.0.4"
debug "^4.3.1"
@@ -187,19 +187,19 @@
fs-extra "^10.0.0"
level "^7.0.0"
"@cerc-io/cli@^0.2.85":
version "0.2.85"
resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fcli/-/0.2.85/cli-0.2.85.tgz#cc4e0a210a94bfb4ee0105125fa4ebb8d1909ec3"
integrity sha512-arQ1SwhDTgMeEHPlowXhFXBMuIK4drV8AW4x4aisZp49/A/ceJYhNkW0sbiVTm4uwBMGFioRxfo+fmRUtim4nw==
"@cerc-io/cli@^0.2.89":
version "0.2.89"
resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fcli/-/0.2.89/cli-0.2.89.tgz#9b67bd9add6f1f6ca67e947b38cc544ad6108c4c"
integrity sha512-Jduv4PCa8+Lru1VRYM+EudWXT9UE7uy+hRaHfWi4wGhWLKGd6S8A7WymbJtjA9NC0sNinBbfZmOLQ8xeiIypZA==
dependencies:
"@apollo/client" "^3.7.1"
"@cerc-io/cache" "^0.2.85"
"@cerc-io/ipld-eth-client" "^0.2.85"
"@cerc-io/cache" "^0.2.89"
"@cerc-io/ipld-eth-client" "^0.2.89"
"@cerc-io/libp2p" "^0.42.2-laconic-0.1.4"
"@cerc-io/nitro-node" "^0.1.15"
"@cerc-io/peer" "^0.2.85"
"@cerc-io/rpc-eth-client" "^0.2.85"
"@cerc-io/util" "^0.2.85"
"@cerc-io/peer" "^0.2.89"
"@cerc-io/rpc-eth-client" "^0.2.89"
"@cerc-io/util" "^0.2.89"
"@ethersproject/providers" "^5.4.4"
"@graphql-tools/utils" "^9.1.1"
"@ipld/dag-cbor" "^8.0.0"
@@ -220,16 +220,16 @@
typeorm "0.2.37"
yargs "^17.0.1"
"@cerc-io/graph-node@^0.2.85":
version "0.2.85"
resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fgraph-node/-/0.2.85/graph-node-0.2.85.tgz#1d715a3bab5d9e8fa1bd42bb649d7c8d11393701"
integrity sha512-8xn5gbZrxHTH17et07y7CZcquXj0W13NHTrawujlMeNkLziDeBTQJMeePaWAoyGR0WMjxvGV60lk4AM7D/OI+A==
"@cerc-io/graph-node@^0.2.89":
version "0.2.89"
resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fgraph-node/-/0.2.89/graph-node-0.2.89.tgz#ee536a33a109cb470551190505ed16616fdb279f"
integrity sha512-Jolu16pGpx9L9I/GBP1vY08Gvcv+imDKvttIeH4AHbWeMvPAAFYSh57PJGYwVO3T1/Sbg5o9xU6po+rYRDhqTw==
dependencies:
"@apollo/client" "^3.3.19"
"@cerc-io/assemblyscript" "0.19.10-watcher-ts-0.1.2"
"@cerc-io/cache" "^0.2.85"
"@cerc-io/ipld-eth-client" "^0.2.85"
"@cerc-io/util" "^0.2.85"
"@cerc-io/cache" "^0.2.89"
"@cerc-io/ipld-eth-client" "^0.2.89"
"@cerc-io/util" "^0.2.89"
"@types/json-diff" "^0.5.2"
"@types/yargs" "^17.0.0"
bn.js "^4.11.9"
@@ -246,14 +246,14 @@
typeorm-naming-strategies "^2.0.0"
yargs "^17.0.1"
"@cerc-io/ipld-eth-client@^0.2.85":
version "0.2.85"
resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fipld-eth-client/-/0.2.85/ipld-eth-client-0.2.85.tgz#c3ac789d4c803d627fed68e962fc3bc43f911b6a"
integrity sha512-ewCPbMAUi0pfFsLz5+dRaGAtmBW6vOlXmnzKFZ/aCqtlqF36g+dg7y6In4PpOqleGAHUGOfEssfl5Om10wjacg==
"@cerc-io/ipld-eth-client@^0.2.89":
version "0.2.89"
resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fipld-eth-client/-/0.2.89/ipld-eth-client-0.2.89.tgz#c0e969207cafb853d82989fe354ef86c54790e40"
integrity sha512-NVW8ro5Is6YlBLZUw2LRxB3r1Wig23XO49iKYSPKl3NHD9vb8DuhSn2ZKTEnH5PQ23LmjeaOPUOe6iD83OC/qg==
dependencies:
"@apollo/client" "^3.7.1"
"@cerc-io/cache" "^0.2.85"
"@cerc-io/util" "^0.2.85"
"@cerc-io/cache" "^0.2.89"
"@cerc-io/util" "^0.2.89"
cross-fetch "^3.1.4"
debug "^4.3.1"
ethers "^5.4.4"
@@ -406,10 +406,10 @@
unique-names-generator "^4.7.1"
yargs "^17.0.1"
"@cerc-io/peer@^0.2.85":
version "0.2.85"
resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fpeer/-/0.2.85/peer-0.2.85.tgz#edfb193e0054e148c513abf4cc44cfceb6a4ff2b"
integrity sha512-qP/ruyHNMhLSi5yUwUTtZ53E388RCrWKIafmQ9Zn3req2ZU1FCd2r5hBtUv0tnboy2AgB76wpvxrPNG3E8+yAQ==
"@cerc-io/peer@^0.2.89":
version "0.2.89"
resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fpeer/-/0.2.89/peer-0.2.89.tgz#0e91ff1d84bdc30011c25caebafe0a509d4a6676"
integrity sha512-N0bi5HowDxWJ8H1klIJrqLsZSpcmvP1g4lpfM4lEcnmTmc3j0IchKO4Z4OelPLlWZWqHCSXsTzD2p1KnxkIKDw==
dependencies:
"@cerc-io/libp2p" "^0.42.2-laconic-0.1.4"
"@cerc-io/prometheus-metrics" "1.1.4"
@@ -448,23 +448,23 @@
it-stream-types "^1.0.4"
promjs "^0.4.2"
"@cerc-io/rpc-eth-client@^0.2.85":
version "0.2.85"
resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Frpc-eth-client/-/0.2.85/rpc-eth-client-0.2.85.tgz#0131d631b1ca241928a5d28a3fab18201b93f821"
integrity sha512-sj4p89C7STw/Tbg+HdDCs9ZMnnK5dkqdmFkwL0SwUiHoEoxny/D6tWigIpLqucqdBIwB4HvsRlLforL8wEWBzQ==
"@cerc-io/rpc-eth-client@^0.2.89":
version "0.2.89"
resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Frpc-eth-client/-/0.2.89/rpc-eth-client-0.2.89.tgz#8f0750677598395d15b70e55d3730ee40e143ab5"
integrity sha512-N/s2OMIszD+7NQwCbC4m8R+AjnIG4W4/V9q/4//H6EIgfNYno+mnjYi3qU+nFlZe2gbWR4JiOU6JT7R4hm16kw==
dependencies:
"@cerc-io/cache" "^0.2.85"
"@cerc-io/ipld-eth-client" "^0.2.85"
"@cerc-io/util" "^0.2.85"
"@cerc-io/cache" "^0.2.89"
"@cerc-io/ipld-eth-client" "^0.2.89"
"@cerc-io/util" "^0.2.89"
chai "^4.3.4"
ethers "^5.4.4"
left-pad "^1.3.0"
mocha "^8.4.0"
"@cerc-io/solidity-mapper@^0.2.85":
version "0.2.85"
resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fsolidity-mapper/-/0.2.85/solidity-mapper-0.2.85.tgz#9c7c8a3122da6a4f8c69f3cc100aeafc22ede48a"
integrity sha512-4KqNi8IBVK52KpWBwydZw/kitglOAf6TkoQ1sDOiGfp51Yd/UAeI9eM+nluH4NVrZ1Nb/s/3i5h7Di5wHObNcA==
"@cerc-io/solidity-mapper@^0.2.89":
version "0.2.89"
resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fsolidity-mapper/-/0.2.89/solidity-mapper-0.2.89.tgz#9cf1cfb125d9f275fd6c3d8a09571e65ac80475f"
integrity sha512-gBecAbjpnvi+i/EEhgkJc5BXHV+U9ZsvEWESdO7Hse+GW4EVb0nwEAVHcWAUp+MfcBFz5XcH/6oEHnCselk4Ew==
dependencies:
dotenv "^10.0.0"
@@ -473,15 +473,15 @@
resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fts-channel/-/1.0.3-ts-nitro-0.1.1/ts-channel-1.0.3-ts-nitro-0.1.1.tgz#0768781313a167295c0bf21307f47e02dc17e936"
integrity sha512-2jFICUSyffuZ+8+qRhXuLSJq4GJ6Y02wxiXoubH0Kzv2lIKkJtWICY1ZQQhtXAvP0ncAQB85WJHqtqwH8l7J3Q==
"@cerc-io/util@^0.2.85":
version "0.2.85"
resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Futil/-/0.2.85/util-0.2.85.tgz#6fb3668e3b3f9fa9e893614f65f17d76696c7c8a"
integrity sha512-/6GDN0yhZVaDNmET2fuYBsY46lFyWEd8OoRhK+ZNpEAluhAePZ5UHMFLlHlRmPNVAqkSWtvuL8fFX4ss7I/Aew==
"@cerc-io/util@^0.2.89":
version "0.2.89"
resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Futil/-/0.2.89/util-0.2.89.tgz#ab12302e503723bdb86c80979abd5ba7640ba5ff"
integrity sha512-NdiyNKOMXVUEchVQ7cjwfGg57v664NXAML6RXakxnkk1KoD1WIO9EeZHilvCCnEK9aDDyu3Wz3hVW3y/6TCEwQ==
dependencies:
"@apollo/utils.keyvaluecache" "^1.0.1"
"@cerc-io/nitro-node" "^0.1.15"
"@cerc-io/peer" "^0.2.85"
"@cerc-io/solidity-mapper" "^0.2.85"
"@cerc-io/peer" "^0.2.89"
"@cerc-io/solidity-mapper" "^0.2.89"
"@cerc-io/ts-channel" "1.0.3-ts-nitro-0.1.1"
"@ethersproject/properties" "^5.7.0"
"@ethersproject/providers" "^5.4.4"