* Use webrtc-direct transport with pubsub based discovery
* Use changes to integrate signalling using relay node
* Add an indicator for peer connection type (direct/relayed)
* Catch errors while creting a libp2p node
* Catch errors while dialling peers
* Catch errors when dialling from relay node
* Pass CLI arg for port to listen on for relay node
* Subscribe chat CLI to pubsub topic
* Update yarn lockfile
* Update webrtc-direct dependency in package json
* Update webrtc-direct version
* Update yarn lockfile
* Upgrade js-libp2p and related dependencies
* Dial all multiaddr of a discovered peer in parallel
* Dial using peer id instead of dialling individual multiaddr
* Log peer id on discovery
* Initial implementation of class and discoving other peers
* Implement peer connection and sending messages between peers
* Add react app and use peer package for broadcasting
* Maintain stream for each remote peer
* Refactor code in peer package
* Add serve package for react-app
* Add readme for running react app
* Add peer package readme
* Add logs for events with details
* Add a chat CLI using peer package (#280)
* Add a flag to instantiate Peer for nodejs
* Add a basic chat CLI using peer
* Add a signal server arg to chat CLI
* Add instructions for chat CLI
* Fix typescript and ESM issues after adding peer package (#282)
* Fix build issues in util package
* Update eslint TS plugins
* Scope react app package name
* Convert cli package back to CJS and dynamically import ESM
* Upgrade ts-node version
* Fix tests
* Setup a relay node and pubsub based discovery (#284)
* Add a script to setup a relay node
* Use pubsub based peer discovery
* Add peer multiaddr to connection log
* Catch relay node dial errors
* Increase discovery interval and dial all mutiaddr
* Add UI to display self peer ID and multiaddrs
* Add UI for displaying live remote connections
* Send js objects in peer broadcast messages
* Add react-peer package for using peer in react app
* Reduce disconnect frequency between peers (#287)
* Restrict number of max concurrent dials per peer
* Increase hop relay timeout to 1 day
* Self review changes
* Review changes
* Increase pubsub discovery interval and add steps to create a peer id (#290)
* Increase pubsub discovery interval
* Disable autodial to avoid peer dials without protocol on a reconnect
* Add steps to create a peer id and use for relay node
* Add back dependency to run signalling server
* Avoid bootstrapping and dial to relay node directly
Co-authored-by: prathamesh0 <42446521+prathamesh0@users.noreply.github.com>
Co-authored-by: prathamesh0 <prathamesh.musale0@gmail.com>
* Use watch-contract CLI from cli package in codegen
* Use reset CLIs from cli package in codegen
* Use create checkpoint CLI from cli package in codegen
* Use inspect-cid CLI from cli package in codegen
* Use import state CLI from cli package in codegen
* Use export-state and verify-checkpoint CLI from cli package in codegen
* Use server CLI from cli package in codegen
* Use job-runner CLI from cli package in codegen
* Use index-block CLI from cli package in codegen
* Use fill CLI from cli package in codegen
* Minor codegen fixes
* Update watcher instructions to run job-runner before server
* Refactor watch-contract CLI to cli package
* Use watch-contract from cli in eden and erc721 watchers
* Use watch-contract from cli in all watchers
* Pass an object containing clients to refactored CLI
Co-authored-by: nabarun <nabarun@deepstacksoft.com>
* Upgrade apollo server to v3 in eden-watcher
* Upgrade apollo server to v3 in other watchers and codegen
* Refactor common server code to util
* Pass express application object in the method to create server
* Remove unnecessary import
* Clear cache of latest entities on event processing error
* Remove lighthouse-watcher and update ethersjs version
* Handle GraphDecimal type in state entity
* Add option for comparing all entities using paginate
* Clear pruned cached entities at intervals
* Move ipld-demo to graph-node package and remove reset-dbs script
* Implement changes in all watchers and codegen
* Import entities from checkpoint
* Fix IPLD state when updating subgraph entity
* Changes in codegen and other watchers
* Update IPLD state with all Block entities
* Add verify and create sub commands to checkpoint
* Add option for specifying snapshot block in export state CLI
* Implement query for multiple entities in eden-watcher
* Implement nested relation queries
* Implement GQL query params first, skip, orderBy, orderDirection
* Add blockNumber index to subgraph entities
* Add logs for timing eth-calls and storage calls
* Add prometheus metrics to monitor GQL queries
* Fix default limit and order of 1-N related field in GQL entitiy query
* Add timer logs for block processing
* Run transpiled js in all watchers
Co-authored-by: prathamesh0 <prathamesh.musale0@gmail.com>
* Change compare CLI to verify only updated entities
* Implement IPLD state verification in compare CLI
* Changes to IPLD state to match with GQL result entity
* 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
* Add prometheus metrics endpoint in watcher
* Add event, sync status and DB size metrics
* Fix subgraph watchers DB entities directory path
* Make watcher metrics optional using config
* Remove using graph-node from mobymask-watcher
* Parse batched transactions for MobyMask events
* Update to use same ethers package version
* Add CLI for processing block out of order
* Fix job-runner for already processed blocks out of order
* Add CLI to compare entities from two GQL endpoints
* Print out result diffs in compare-entity CLI
* Get the colorized result diff in compare-entity CLI
* Read query dir from config file or as an arg
* Make config file arg required
* Make queries in Example schema similar to that in graph-node
* Get non-colorized output on choosing raw-json diff option
* Make queries in eden-watcher similar to that in graph-node
* Add subgraph schema types to the generated schema
* Add queries for subgraph entities
* Add entity generation for subgraph entities
* Call subgraph event handler in indexer
* Refactor subgraph schema and entity generation
* Add resolvers generation for subgraph entities
* Get event signature in the event
* Add NonNullType check for field type in entity generation
* Auto-diff based on store set
* Use contract address from data source in loader
* Change subgraph-schema arg to subgraph-path arg
* Implement store get api without blockHash and blockNumber
* Pass database instance to GraphWatcher
* Implement store set without block data
* Store blockHash and blockNumber in database entity table
* Implement getting entity in subgraph from store.get
* Add block data present in postgraphile
* Pass db and context to instantiate method in tests
* GQL API in graph-test-watcher to test store.set
* Remove contract address from subgraph file
* Fix block in dummy event data
* Pass just blockHash to get an entity from the database
* Review changes and add TODOs
Co-authored-by: prathamesh <prathamesh.musale0@gmail.com>
* Invoke handlers based on watcher-ts events
* Read subgraph yaml and listen to events from watcher-ts
* Create GraphWatcher class to use in generated example contract watcher
* Call graph-node event handler from generated watcher
* Test case for calling EdenNetwork event handler
* Test cases for calling EdenNetwork event handlers
* Test cases for calling event handlers in EdenNetworkDistribution
* Test cases for calling event handlers in EdenNetworkGovernance
* Perform eth-calls according to contract name in param
* Pass function params in eth-call host API
* Return value from eth-call to wasm
* Add instructions for running tests
* Install assemblyscript from github packages
* Add instrcutions for installing private github packages
* Use vulcanize assemblyscript package
* Code for running wasm file.
* Add test for wasm exported function.
* Use target names for build files.
Co-authored-by: nabarun <nabarun@deepstacksoft.com>
* Add GQL client generation
* Add subscription, events, eventsInRange in client gen
* Add mutation in client gen and return event tx info from indexer
* Capitalize class names for storage-mode entities
* Remove fields no longer present in schema.
* Refactor code to work with log_cids change in eth-server.
* Refactor process event to save events from logs.
* Use constants for erc20 event names.
* Implement watch blocks in erc20-watcher similar to uni-watcher.
* Moved common methods to util.
* Implement eventsInRange query in erc20-watcher.
* Filter unknown event in database query.
* Change dependencies version to be same in all packages.
Co-authored-by: nabarun <nabarun@deepstacksoft.com>
* Add schema generation.
* Use yargs and add a script to generate schema.
* Add command to generate schema to README.md
* Remove use of arrow functions in visitor.
* Add function to export schema in visitor.
* Create Event union while adding to it.
* Add bool to typemappings.
* Add method descriptions and remove output type mappings.
* Add storage mode.
* Add URL support and a flattening script.
* Fix parameter for flattening in README.md.
* Add setup and references to README.md.
Co-authored-by: prathamesh <prathamesh.musale0@gmail.com>