Implement consensus mechanism using mokka (#412)

* Add Consensus class with placeholders

* Implement Consensus constructor

* Move PubsubType to peer package

* Implement remaining methods in Consensus class

* Use existing consensus stream if it exists

* Setup send and receive pipes on consensus streams

* Refactor P2P and consensus setup in server command

* Add Nitro node initialization in server command

* Return objects from server initializations

* Use dynamic imports for ES modules in util package

* Fix util deps

* Change target to es6 to allow creating a Mokka instance

* Set moduleResolution to node16 in util for dynamic imports

* Upgrade @cerc-io/nitro-node package

* Implement retries while sending consensus messages

* Use bunyan for consensus logs and subscribe to state changes

* Use debug for logging state change events

* Handle empty watcher party file path

* Return object from initP2P

* Upgrade @cerc-io/nitro-node package

* Update package versions
This commit is contained in:
prathamesh0
2023-09-14 13:47:31 +05:30
committed by GitHub
parent c80e4d0ab7
commit bd73dae1b1
32 changed files with 513 additions and 218 deletions
@@ -41,12 +41,12 @@
"homepage": "https://github.com/cerc-io/watcher-ts#readme",
"dependencies": {
"@apollo/client": "^3.3.19",
"@cerc-io/cli": "^0.2.56",
"@cerc-io/ipld-eth-client": "^0.2.56",
"@cerc-io/solidity-mapper": "^0.2.56",
"@cerc-io/util": "^0.2.56",
"@cerc-io/cli": "^0.2.57",
"@cerc-io/ipld-eth-client": "^0.2.57",
"@cerc-io/solidity-mapper": "^0.2.57",
"@cerc-io/util": "^0.2.57",
{{#if (subgraphPath)}}
"@cerc-io/graph-node": "^0.2.56",
"@cerc-io/graph-node": "^0.2.57",
{{/if}}
"@ethersproject/providers": "^5.4.4",
"apollo-type-bigint": "^0.1.3",