* Make sumStaked variable local in eden network mapping * Implement compare CLI to fetch and query by ids * Set filterLogs to true for eden-watcher * Use varchar for bigint array type in eden-watcher * Store subgraph entities by id in IPLD state * Store bigint vales as string in IPLD state * Update eden watcher hook to store single Block entity in IPLD checkpoint * Fix entity enum type property * Fix parsing big numbers in event params * Fix event bigint params parsing in all watchers * Set default limit to query result and process block after events
3.0 KiB
graph-node
Test
-
Run
yarn
to install all dependencies. -
Create .env file
$ cp .env.example .env
-
Run
yarn build:example
to build the wasm files. -
Run
yarn test
.
Run
-
Compare query results from two different GQL endpoints:
-
In a config file (sample:
environments/compare-cli-config.toml
):-
Specify the two GQL endpoints in the endpoints config.
-
Specify the query directory in queries config or pass as an arg. to the CLI.
-
Example:
[endpoints] gqlEndpoint1 = "http://localhost:8000/subgraphs/name/example1" gqlEndpoint2 = "http://localhost:3008/graphql" [queries] queryDir = "../graph-test-watcher/src/gql/queries"
-
-
Fire a query and get the diff of the results from the two GQL endpoints:
./bin/compare-entity --config-file <config-file-path> --query-dir [query-dir] --query-name <query-name> --block-hash <block-hash> --entity-id <entity-id> --raw-json [true | false]
config-file
(alias:cf
): Configuration file path (toml) (required).query-dir
(alias:qf
): Path to queries directory (defualt: taken from the config file).query-name
(alias:q
): Query to be fired (required).block-hash
(alias:b
): Block hash (required).entity-id
(alias:i
): Entity Id (required).raw-json
(alias:j
): Whether to print out a raw diff object (default:false
).
Example:
```bash ./bin/compare-entity --config-file environments/compare-cli-config.toml --query-name author --block-hash 0xceed7ee9d3de97c99db12e42433cae9115bb311c516558539fb7114fa17d545b --entity-id 0xdc7d7a8920c8eecc098da5b7522a5f31509b5bfc ```
-
The program will exit with code
1
if the query results are not equal. -
For comparing queries in a range of blocks:
-
Config file should have the names of queries to be fired.
[queries] queryDir = "../graph-test-watcher/src/gql/queries" names = [ "author", "blog" ]
-
Run the CLI:
./bin/compare-blocks --config-file environments/compare-cli-config.toml --start-block 1 --end-block 10
-
For comparing entities after fetching ids from one of the endpoints and then querying individually by ids:
-
Set the
idsEndpoint
to choose which endpoint the ids should be fetched from.[endpoints] gqlEndpoint1 = "http://localhost:8000/subgraphs/name/example1" gqlEndpoint2 = "http://localhost:3008/graphql" [queries] queryDir = "../graph-test-watcher/src/gql/queries" names = [ "author", "blog" ] idsEndpoint = "gqlEndpoint1"
-
Run the CLI with
fetch-ids
flag set to true:\./bin/compare-blocks --config-file environments/compare-cli-config.toml --start-block 1 --end-block 10 --fetch-ids
-
-
-