Commit Graph
100 Commits
Author SHA1 Message Date
nabarun 1cf1a3baa2 Upgrade package versions to 0.2.80 (#500) 2023-12-28 15:17:06 +05:30
nabarun 33e4455f92 Fix pruning of canonical block if null block is encountered (#499) 2023-12-28 15:07:12 +05:30
nabarun a6deed9c27 Fix block processing during chain reorg (#498)
* Fix block processing during chain reorg

* Add new method in test dummy indexer

* Add missing semicolon
2023-12-28 15:06:47 +05:30
nabarunandneeraj ceb0a3de23 Add CLI tool to compare watcher GQL responses (#494)
* Integrate gql response compare tool

* Add README for compare-gql tool

* Update readme

* Update CLI output logs

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-11-28 09:51:26 +05:30
nabarun dab2d6d3e7 Publish events for GQL subscription in historical processing (#492)
* Add realtime block complete event

* Use realtime block complete event for realtime processing

* Refactor realtimeBlockComplete event interface
2023-11-27 14:13:02 +05:30
nabarun 220f3ddf24 Fix events processing error check in historical processing (#491)
* Fix events queue error check in historical processing

* Upgrade package version
2023-11-26 12:42:43 +05:30
nabarun 3fa3cc7068 Upgrade package versions to 0.2.76 (#490) 2023-11-24 12:04:11 +05:30
nabarun 9ee423f38e Fix update in sync status (#489) 2023-11-24 11:54:45 +05:30
6decf61d4c Update subgraph watcher demo readme (#480)
* Update subgraph watcher demo readme

* Pass extra block data required in subgraph block handler (#486)

* Use codegen config directory name instead of file path

* Get block data from extra event data

* Add extra event data in processBlockAfterEvents

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>

* Update example subgraph mapping code for graph-cli upgrade

* Return 0 value for block size in ipld-eth-client

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2023-11-24 11:13:40 +05:30
nabarun 937aed139f Fix sync status update in historical processing job (#488)
* Fill watcher start block only in active mode

* Fix sync status update in historical processing

* Upgrade package versions

* Upgrade package versions in codegen template

* Fix graph-node test indexer
2023-11-23 20:25:39 +05:30
nabarun 729d862aac Fix fetching blocks near chain head in job-runner (#485)
* Fix null blocks check in job-runner when fetching near chain head

* Upgrade package versions
2023-11-21 17:44:54 +05:30
nabarun 8c44fbbe6d Add gqlPath in config for GQL server URL (#483) 2023-11-21 15:21:10 +05:30
nabarunandneeraj 4a88ff76e0 Remove check for blocks count in eventsInRange query and check sync status instead (#482)
* Add check for from and to block in eventsInRange query

* Update sync status query for more fields

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-11-21 14:14:36 +05:30
nabarunandneeraj 7b19d383ec Run block fill for watcher automatically (#479)
* Find minimum start block number

* Perform fill if db is empty

* Make getStartBlock method public in GraphWatcher

* Use dataSources property

* Update server template to fill block on start

* Avoid passing graphWatcher from generated watcher

* Ensure block filling for non-subgraph watchers as well

* Remove getStartBlock method from GraphWatcher

* Remove graphWatcher property from ServerCmd

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-11-20 17:13:49 +05:30
nabarun 07c0827a2a Automate steps in codegen to build subgraph (#478)
* Use shelljs to run graph-cli codegen command

* Replace graph-cli and graph-ts with cerc-io forks

* Add steps to build subgraph

* Add config packageManager for different subgraph repo setup

* Copy over the subgraph build to generated watcher

* Remove TODO

* Change subgraph path in generated watcher config
2023-11-20 17:09:51 +05:30
nabarun c2070a80cb Handle null block error in rpc-eth-client (#477)
* Remove block-size-cache util methods as full block with size fetched already

* Handle null block error in rpc-eth-client

* Upgrade package versions
2023-11-17 11:58:43 +05:30
nabarunandneeraj e54f4c9276 Implement host API for big decimal equals (#476)
* Implement host api for big decimal equals

* Add test cases for big decimal equals

* Use boolean type conversion

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-11-17 10:26:03 +05:30
nabarunandneeraj 7c8f84b1dc Remove prefetchBlocksInMem flag along with functionality (#474)
* Remove prefetchBlocksInMem flag

* Remove Indexer method fetchEventsAndSaveBlocks

* Throw error if pruning not safe

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-11-16 19:03:13 +05:30
nabarunandprathamesh 3e898914ba Add GQL where filter and nested order by params based on entity fields (#472)
* Add where filter equals fields based on entity fields

* Add different where filter operations for entity fields

* Add nested where filter for relation fields and filter params or & and

* Remove filters not required for derived fields

* Add nested order by params in schema

* Throw error on trying to sort by array or derived type fields

* Handle array fields while generating order by and where clauses

* Upgrade package versions

---------

Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2023-11-16 12:38:47 +05:30
nabarunandneeraj 5b95335fde Filter logs by events specified in subgraph config (#473)
* Use topic hash of events from config file

* Add eventSignaturesMap field in IndexerInterface

* Add eventSignaturesMap property in Indexer class

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-11-16 11:54:49 +05:30
nabarun 8e9d5092fc Fix generated watcher GQL query name and add _change_block filter (#471)
* Add lower case method for camel case entity names

* Add BlockChangedFilter required in where filter

* Use lower camel case in resolvers and fix lower case transformation
2023-11-15 10:14:14 +05:30
nabarun 7c4f9fb797 Fix events queue job retry by resetting watcher in job-runner (#470)
* Reset watcher after events job retry in job-runner

* Push next historical job from job-runner instead of event-watcher
2023-11-14 18:43:17 +05:30
nabarun 6ce8d4746d Upgrade package versions before release (#469) 2023-11-14 15:01:52 +05:30
nabarun 803f7c3b3d Fix retry on error for events processing job with exponential backoff (#468)
* Throw error in job-runner events processing queue for retry

* Restart block processing after completion of retried events queue job

* Check events queue size in retry state from active historical processing job

* Clear watched contracts from memory map on reset

* Update sync status with zero hash during historical processing

* Update codegen for changes

* Add clearProcessedBlockData in graph-node test dummy indexer
2023-11-14 14:53:23 +05:30
nabarun 7b5fbf3d13 Implement new graph-node host API for BigDecimal exponentiation (#467)
* Implement host API for BigDecimal pow

* Handle FEVM future block error in rpc-eth-client getFullBlocks

* Handle future block error in rpc-eth-client getBlockWithTransactions

* Upgrade package versions
2023-11-13 12:22:23 +05:30
nabarun 66d613767e Upgrade version to 0.2.69 (#466) 2023-11-10 19:36:21 +05:30
nabarun c01c1d07db Fix switch from historical to realtime processing when template create block exists near head (#465)
* Fix duplicate historical processing jobs created on template create

* Fix switch from historical to realtime processing when template create block is near head
2023-11-10 19:13:17 +05:30
nabarun edf72c1dd6 Update indexer template in codegen for block optimization changes (#464)
* Update indexer template for block optimization

* Trim address strings in graph-node host API
2023-11-10 12:14:38 +05:30
nabarun 695723955f Prefetch block and txs in historical processing instead of fetching them in events processing (#460)
* Set gzip true in ethersjs provider

* Add timer logs and use StaticJsonRpcProvider

* Fetch block data in historical processing and cache in map

* Fetch txs required for event logs in historical processing

* Process events with prefetched block and txs data in realtime processing

* Clear old TODOs
2023-11-09 18:42:37 +05:30
nabarun 5aa98326cb Send transaction data directly in rpc-eth-client instead of serialization (#457)
* Fix tx serialization using ethers v6

* Send tx data directly in rpc-eth-client instead of serializing it
2023-11-08 17:32:26 +05:30
nabarun f2c5f67777 Handle restarts during historical processing in watcher (#455)
* Reset to latest processed block on restarting job-runner

* Update sync status during historical processing in job-runner

* Codegen changes

* Use sync status latest processed block for subgraph _meta GQL query

* Set job per interval for subscribing events queue to 1

* Fix events processing skipped for blocks after template create
2023-11-08 14:28:53 +05:30
nabarun 8547876764 Add isFEVM flag in config to avoid filtering event logs by topics (#454)
* Pass upstream config to indexer instance

* Add isFEVM flag and refactor watcher config fields

* Codegen changes for indexer

* Add missing getter in dummy indexer for graph-node tests
2023-11-07 12:07:49 +05:30
nabarun dd92b4feb2 Fix bigint and decimal transformers not added for null type entity field in codegen (#451) 2023-11-06 15:01:48 +05:30
nabarun 8a720ef175 Wait for events processing to complete before continuing historical blocks processing (#450)
* Wait for events queue to be empty before continuing historical processing

* Make historicalLogsBlockRange and historicalMaxFetchAhead configurable

* Perform single RPC request for multiple addresses
2023-11-06 11:34:48 +05:30
nabarun 0d7e3ddc8b Handle subgraph template create when filterLogsByAddresses set to true (#447)
* Handle subgraph template create when filterLogsByAddresses set to true

* Fix historical processing stopping after running for multiple batches

* Add new method in graph-node test dummy indexer
2023-11-03 14:08:55 +05:30
nabarun 9fb51e89f6 Implement fetch and save of filtered event logs and required blocks (#445)
* Fix async block size caching for missing blocks in historical processing

* Start historical block processing only if filter logs is set to true

* Fetch filtered logs by topics and save required blocks

* Fix realtime processing start block after historical processing

* Avoid publishing events and blocks in historical processing

* Add new method to graph-node test indexer

* Get full block data for subgraph block handler only if configured

* Add useBlockRanges flag for switching between historical and realtime processing
2023-11-01 19:07:06 +05:30
nabarun 6c17662cad Add new job queue for historical blocks processing (#442)
* Add TODOs for historical blocks processing

* Add new job for historical blocks processing

* Handle historical job completion

* Fetch latest block in chain and start historical block processing

* Fix starting realtime block processing from latest canonical block

* Refactor historical block processing method and add logs

* Add dummy indexer methods in graph-node to pass test

* Changes in codegen for historical processing in generated watcher
2023-11-01 10:38:59 +05:30
nabarun 43463af1f2 Avoid updating StateSyncStatus table when enableState flag is set to false (#440)
* Handle zero hash canonical block incase of FEVM null block

* Fix json-bigint parse in processBatchEvents

* Avoid updating SyncStatus table when enableState is false
2023-10-26 15:14:46 +05:30
nabarun b63a93d8a0 Skip checking of events order while processing due to incorrect logIndex in FEVM (#438)
* Skip log index order in events processing

* Use json-bigint stringify in processBatchEvents

* Set eventSignature in event processing for contracts watched later

* Check for null block in async caching of block sizes
2023-10-26 11:21:48 +05:30
nabarun 07887c160e Use block number for eth_call in rpc-eth-client (#435)
* Update subgraph readme to run fill before job-runner

* Fix getContractEntitiesMap incase of template data sources

* Use rpcSupportsBlockHashParam flag to use blockNumber for rpc client eth_call

* Fix optional baseFeePerGas in rpc-eth-client

* Fix graph-node tests after changes

* Remove completed TODO
2023-10-25 11:04:12 +05:30
nabarun 45b7489115 Update codegen reamde for subgraph build using cerc-io dependencies (#434) 2023-10-23 12:21:38 +05:30
nabarun f8d5404c25 Fix codegen for creating subgraph watcher for Sushiswap (#432)
* Fix EthClient import in codegen and graph-node package

* Fix codegen for resolving common events between contracts
2023-10-23 09:23:20 +05:30
nabarunandShreerang Kale dc06ada7c4 Add validation methods for watcher config (#425)
* Add validation for config file

* Add support for websocket endpoints to be checked for contract deployment

* Add flag to toggle validation

* Update log message for paid rpc method validation

* Update log message for validation

* Rename enableValidation to enableConfigValidation

* Check deployment only if contract address is in a valid format

* Update httpValidateEndpoint method to check if endpoint is up instead of response as ok

* Update log messages

* Update log messages

---------

Co-authored-by: Shreerang Kale <shreerangkale@gmail.com>
2023-10-16 16:39:21 +05:30
nabarunandneeraj 75b177cffd Add useDurableStore flag in Nitro setupNode (#428)
* Add useDurableStore flag in seUpNode

* Upgrade nitro-node to 0.1.14

* Change payment amount to string

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-10-13 12:47:23 +05:30
nabarun 2b83f38ab6 Upgrade package version to 0.2.64 (#427)
* Upgrade package version to 0.2.64

* Comment CI workflow to publish docker image

* Update CI workflow names
2023-10-12 11:43:17 +05:30
nabarun 8515630f49 Add validateGQLRequest method in PaymentsManager (#426)
* Refactor GQL validation for payment

* Export payment util const PAYMENT_HEADER_KEY

* Check payment header only for paid queries
2023-10-12 10:58:13 +05:30
nabarunandneeraj 77312a2f95 Add yamux stream multiplexer in peer package (#413)
* Add yamux muxer to peer

* Upgrade version to 0.2.58

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-09-15 12:19:51 +05:30
nabarun f89eea0d2f Upgrade package versions (#407) 2023-08-30 15:55:35 +05:30
nabarunandneeraj 1d3bbf89c8 Update graph-cli version to fix concat-stream dependency issue (#405)
* Update yarn lock

* Upgrade @cerc-io/graph-cli version to 0.22.4-watcher-ts-0.1.2

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-08-25 14:26:00 +05:30
nabarunandneeraj 444901eb87 Upgrade package versions to 0.2.54 (#403)
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-08-16 19:07:30 +05:30
nabarunandneeraj f2bc054c19 Rename nitro-client to nitro-node (#402)
* Rename nitro-client to nitro-node

* Upgrade package versions to 0.2.53

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-08-16 17:57:15 +05:30
nabarun b600524c8c Fix dependencies in cli and eth-client packages (#401)
* Fix dependencies in cli and eth-client packages

* Upgrade package versions
2023-08-10 09:58:50 +05:30
nabarun c06330dd06 Implement rpc-eth-client for Ethereum compatible JSON-RPC endpoint (#398)
* Implement rpc-eth-client with getStorageAt method

* Add test for comparing RPC and GQL eth-client getStorageAt method

* Add getBlockWithTransactions and getBlocks method

* Implement getFullBlocks with RLP encoded data

* Implement getFullTransaction method with raw tx

* Implement getBlockByHash and getLogs methods

* Add flag and interface to switch between RPC and GQL eth clients

* Fix getBlocks to return empty array when block not present

* Return empty array in getBlocks for missing block and use blockNumber in getLogs

* Fix getRawTransaction method for zero signature.v value

* Remove duplicate util from rpc-eth-client
2023-08-08 18:48:55 +05:30
nabarun 10fa9d6b4b Wait for receiving voucher on GQL query (#392)
* Wait for receiving voucher on GQL query

* Add timeout while authenticating voucher and remove listener channel

* Clear timeout after payment received

* Rename variable to paymentListener

* Upgrade package versions

* Add rpcSupportsBlockHashParam flag in config
2023-07-24 13:36:13 +05:30
nabarunandprathamesh 11930c0107 Expose peer instance in server CLI and add nitro config options (#390)
* Expose peer instance in server CLI and add nitro config options

* Update package versions

---------

Co-authored-by: prathamesh0 <prathamesh.musale0@gmail.com>
2023-07-13 15:30:31 +05:30
nabarun c6e685fc13 Use local lerna for publishing package in CI (#389)
* Use local lerna for publishing package in CI

* Upgrade package versions

* Add new line at EOF
2023-06-28 12:14:51 +05:30
nabarun b0780da52f Upgrade package versions before publish (#388) 2023-06-28 11:38:07 +05:30
nabarun 1b6c2a486a Add peer config options for transports and peerDiscovery (#387)
* Add peer config options for transports and peerDiscovery

* Add yamux muxer to peer libp2p
2023-06-28 11:25:03 +05:30
nabarun dfd38d3329 Upgrade package versions (#384)
* Upgrade package versions

* Use node 18.x in github CI
2023-05-15 12:30:24 +05:30
nabarun 76522afa8d Implement CLI to create checkpoint state from existing GQL endpoint (#382)
* Add util method for preparing state from GQL response entity

* Refactor method to create or update state data

* Fix typeorm bigint transformer and convert to checksum contract address

* Skip resetting to previous block in job-runner if isComplete set to true

* Fix creating subgraph event with struct params

* Use quotes for table names in custom queries

* Fix indexer prepareStateEntry method

* Fix toEthereumValue method when used with ethereum.decode

* Add CLI for creating snapshot checkpoint state from GQL endpoint

* Skip import-state if block is already indexed

* Review changes
2023-05-15 12:10:27 +05:30
nabarunandprathamesh 2b4d98b9c6 Fix watch contract to update checksum address in stateStatusMap (#377)
* Fix comment for codegen config contract kind property

* Update stateStatusMap with checksum address of contract

* Use non-null object composer for object types

---------

Co-authored-by: prathamesh0 <prathamesh.musale0@gmail.com>
2023-05-10 18:49:11 +05:30
nabarun f2595d7ae4 Support DB caching for multiple and array return types in eth_call queries (#372)
* Generate indexer and entities with DB caching for multiple return types

* Generate database file code for multiple return types

* Remove returnType from client codegen as not required

* Changes for fixing lint warnings

* Handle mapping type values in storage mode

* Generate entities for array return type queries

* Refactor visitor for DB caching of array return types

* Fix saving bigint array type in DB
2023-04-27 18:27:54 +05:30
nabarunandDhruv Srivastava 26c1607663 Create queries for only inherited contract methods in codegen generated watchers (#371)
* Codegen create queries only for inherited contracts

* Refactor recursive method to filter inherited contracts

* Comment code and refactor

---------

Co-authored-by: Dhruv Srivastava <dhruvdhs.ds@gmail.com>
2023-04-27 09:37:27 +05:30
nabarun ca844dbe47 Upgrade package version before release (#370) 2023-04-25 18:29:07 +05:30
nabarun 11cab24505 Handle multiple return type contract functions in codegen (#369)
* Genrate schema GQL for multiple return types

* Generate indexer file for multiple return types

* Fix whitespaces in generated watcher

* Refactor storage mode queries after multiple return type changes
2023-04-25 18:18:01 +05:30
nabarunandDhruv Srivastava 096a0081e6 Changes in codegen to remove lint warnings in generated watcher (#368)
* Codegen declare resultDataTypes before queries in gql schema

* Update codegen templates to remove lint warnings

* Add flag to overwrite existing watcher in target directory

* Codegen set up pre-commit lint

* Codegen generate .npmrc

* Codegen refactor  code for pre-commit lint

* Update codegen templates with eslint rule exceptions

* Fix missing comma in codegen template

* Set husky preCommit file permission to executable

---------

Co-authored-by: Dhruv Srivastava <dhruvdhs.ds@gmail.com>
2023-04-24 12:04:24 +05:30
nabarunandDhruv Srivastava 49d67899be Support basic array return types of contract methods in codegen (#363)
* Fix ValueTransformers to check for undefined value

* Create Result types if needed

* Update codegen to include array return type queries in schema

* Update codegen to include array return type queries in resolvers

* Update codegen to include array return type queries in indexers

* Codegen skip db caching methods for queries returning unhandled types

* Codegen handle bigint array in indexer

* Update codegen to handle basic array types

* Remove redundant code and refactor

* Codegen map Solidity types directly to GraphQL types

* Codegen get TS from GQL types

* Codegen handle ethers BigNumber array in indexer template

* Fix GQL type returned in client queries

* Codegen unused method isElementaryType should not be exported

* Codegen update README with solc version in config

* Codegen update README with continue-on-error flag

* Codegen add continue-on-error flag for storage mode

* Codegen generate gitignore and license for watchers

* Codegen refactor gitignore and license generation utils

---------

Co-authored-by: Dhruv Srivastava <dhruvdhs.ds@gmail.com>
2023-04-20 13:31:41 +05:30
nabarun aaa60430e4 Update readme content and package versions (#366)
* Upgrade package versions

* Update readme for watchers
2023-04-14 18:11:15 +05:30
nabarun 7f91fa7ed8 Remove watchers after moving them out to their own repos (#365)
* Remove all watchers after moving them out

* Add missing dependencies
2023-04-14 17:22:44 +05:30
nabarun e841b6a7c3 Publish package for tracing-client (#364)
* Publish tracing-client package

* Upgrade package versions
2023-04-14 15:43:15 +05:30
nabarun 3f2dc56261 Fix json-bigint package version in yarn.lock file (#361)
* Fix json-bigint package version in lock file

* Upgrade package versions
2023-04-13 17:38:50 +05:30
nabarun 72ec6c8e5b Upgrade package versions (#360)
* Set eslint max-warnings to 0 in codegen generated watcher

* Upgrade package versions
2023-04-13 17:07:09 +05:30
nabarunandDhruv Srivastava 25df38ace2 Add log for handling muliple returned values (#359)
Co-authored-by: Dhruv Srivastava <dhruvdhs.ds@gmail.com>
2023-04-12 14:46:43 +05:30
nabarun 7dada71fa3 Add boolean flag to enable sending L2 txs from watcher peer (#354) 2023-04-10 09:56:55 +05:30
nabarunandDhruv Srivastava 754db311f0 Add flag in codegen to ignore errors for unhandled types (#350)
* Add --continue-on-error flag to codegen for skipping unhandled data types

* Use solc version defined in config

* Fix codegen log for unhandled array types

* Log solc compilation errors

---------

Co-authored-by: Dhruv Srivastava <dhruvdhs.ds@gmail.com>
2023-04-06 15:24:11 +05:30
nabarun 8c928516f8 Remove peer listener (#349) 2023-03-30 12:57:23 +05:30
nabarunandDhruv Srivastava 622e49915f Update codegen templates (#347)
Co-authored-by: Dhruv Srivastava <dhruvdhs.ds@gmail.com>
2023-03-30 11:47:39 +05:30
nabarun 0c2e432c80 Upgrade all package versions (#345) 2023-03-28 13:43:15 +05:30
nabarunandDhruv Srivastava 9e53b1a498 Upgrade dependency versions to remove vulnerabilities from dependabot (#343)
* Dependency patch updates

* Minor update @apollo/client 3.3.19 -> 3.7.10

* Minor update @nomiclabs/hardhat-ethers 2.0.2 -> 2.2.2

* Minor update @openzeppelin/contracts 4.3.2 -> 4.8.2

* Minor update @types/chai 4.2.19 -> 4.3.4

* Minor update decimal 10.3.1 -> 10.4.3

* Minor update @graphql-tools/utils 9.1.1 -> 9.2.1

* Minor update @graphql, graphql-ws, graphql-request

* Minor update yargs

* Minor update @types/node

* Minor update graph-ts

* Minor updates graphql-tools, multiaddr

* Update dependencies with minor updates

* Minor updates to eslint and related dependencies

* Update solidity compiler version for erc721-watcher

* Fix ESLint indent rule

---------

Co-authored-by: Dhruv Srivastava <dhruvdhs.ds@gmail.com>
2023-03-28 13:17:53 +05:30
nabarunandprathamesh ac5e030b13 Integrate peer in watcher server and send txs to L2 chain (#344)
* Integrate peer in watcher and send txs to L2

* Remove passing debug log in functions

* Remove unnecessary relay advertise config option

---------

Co-authored-by: prathamesh0 <prathamesh.musale0@gmail.com>
2023-03-24 16:49:16 +04:00
nabarunandDhruv Srivastava ee63e33cc5 Upgrade Typescript and ESLint (#337) (#342)
* Upgrade eslint and additional lint changes

* Upgrade typescript version to v5

---------

Co-authored-by: Dhruv Srivastava <dhruvdhs.ds@gmail.com>
2023-03-24 10:31:33 +04:00
nabarunandDhruv Srivastava d221704baa Add timestamp to mobymask p2p messages (#340)
* Add timestamps to mobymask logs

* Fix getCurrentTime method calls

---------

Co-authored-by: Dhruv Srivastava <dhruvdhs.ds@gmail.com>
2023-03-17 15:08:15 +05:30
nabarun c44eff36b4 Send mobymask p2p messages to laconicd (#339)
* Use laconic ETH RPC endpoint for querying

* Run peer with message handler to send tx to laconic

* Handle revoke messages in mobymask p2p

* Set tx gasLimit explicitly for slow eth_estimateGas call

* Convert delegationHash to hex string before broadcasting json
2023-03-17 10:26:47 +05:30
nabarun 1ba731915d Log pseudonyms with peer id (#334)
* Log pseudonyms with peer id

* Upgrade package version
2023-03-06 16:26:38 +05:30
nabarunandprathamesh 90d60f54a6 Improve connection check with peers by retrying ping on failures (#330)
* Improve connection check with peers by retrying ping on failures

* Use DEFAULT_PING_INTERVAL in cli

* Log only error message

* Add config option to pass peer id file path

* Finish retrying pings before connection check interval duration

* Handle duplicate connections to relay nodes

* Increase default max dial retries from one relay to another

* Update connection manager config for relay nodes

* Use debug for logs in relay node

---------

Co-authored-by: prathamesh0 <prathamesh.musale0@gmail.com>
2023-02-27 12:47:49 +05:30
nabarun 054600ccc4 Use browser metrics package in peer (#322)
* Use browser metrics package

* Get latency from heartbeat check

* Use metrics in nodejs CLI

* Avoid disconnect from primary relay on reaching limit

* Fix relay connections count
2023-02-20 11:19:57 +05:30
nabarun 91c1c35da8 Maintain connection between relay nodes in federated relay network (#315)
* Maintain connection between relay nodes in federated relay network

* Stop heartbeat check in relay node for disconnected peers

* Add maxDialRetry option in relay node
2023-02-15 18:59:34 +05:30
nabarun 40fd5f8ab8 Add heartbeat checks in relay node to hangup disconnected peers (#314)
* Close connections from relay node to disconnected peers

* Review changes and update libp2p version

* Update package version
2023-02-07 20:04:41 +08:00
nabarun 453ee6a473 Use scoped libp2p package after publishing to gitea (#309) 2023-02-02 19:50:27 +05:30
nabarun cc445d5caf Prioritize direct webrtc connection between peers (#306)
* Prioritize direct webrtc connection between peers

* Close event listener and add comment
2023-02-02 19:50:27 +05:30
nabarun a5658c6344 Fix for multiple connections between two peers (#305)
* Close existing connection

* Fix closing existing connections

* Close new connections from only peer

* Refresh in intervals to update UI stats
2023-02-02 19:50:27 +05:30
nabarun f619c71b42 Add connection check for all remote peers 2023-02-02 19:50:27 +05:30
nabarun 69e9402dc1 Fix getting bytes value length from storage slot in solidity mapper (#313)
* Add failing test case for bytes with leading zeros

* Fix getting bytes value length from storage slot
2023-02-02 17:49:31 +05:30
nabarun 28023d834a Remove peer-test-app react app (#312) 2023-02-02 12:39:55 +05:30
nabarun abb47fc7cc Upgrade version to 0.2.25 (#311) 2023-02-01 19:07:45 +05:30
nabarun 30dd2521e3 Fix yarn lock file libp2p package (#310) 2023-02-01 16:16:40 +05:30
nabarun dfc3f5a63e Move out react-peer package to its own repo (#308) 2023-02-01 09:54:52 +05:30
nabarun b07e288756 Ensure connection with peers after going offline (#297)
* Redial relay node on failure and after going offline

* Redial only relay node if not connected

* Refactor and rename methods

* Only close existing connection to relay node

* Hearbeat check only for relay node

* Refactor startHeartbeatCheck method
2023-01-19 15:01:40 +05:30
nabarun 55884a8ecd Fix publish failing for react-peer package (#292)
* Remove empty repository from package.json

* Update version to 0.2.21
2023-01-10 22:11:40 +05:30
nabarun 4f82dfbf74 Update version to 0.2.20 (#291) 2023-01-10 20:32:05 +05:30