Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #1331

Open
wants to merge 171 commits into
base: master
Choose a base branch
from
Open

Develop #1331

wants to merge 171 commits into from

Conversation

TheNewAutonomy
Copy link
Member

New Pull Request Submissions:

  1. Have you followed the guidelines in our Contributing document?
  2. Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  3. I have added tests to cover my changes.
  4. All new and existing tests passed.
  5. Have you lint your code locally prior to submission?
  6. Does your code follows the code style of this project?
  7. Does your change require a change to the documentation.
    • I have updated the documentation accordingly.
  8. Have you added an explanation of what your changes do and why you'd like us to include them?
  9. Have you inserted a keyword and link to the issues the PR closes in its descriptions (ex closes #1) ?
  10. Is you branch up to date, have you integrated all the latest changes from develop and resolved conflicts ?
  • What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

  • What is the current behavior? (You can also link to an open issue here)

  • What is the new behavior (if this is a feature change)?

  • Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

  • Other information:

nshCore and others added 30 commits November 16, 2019 00:19
* Add ConfigValueParser tests

* Add test on empty config

* remove unused imports
* Benchmarks added

* Non-allocating extensions added

* A few usages of ToByteArray replaced with the new extensions for hashing

* ICryptoContext got extensions to directly work on messages

* Tests amended to use the proper Verify method

* File headers

* Tests use now IMessage based overloads

* Review remarks amended.

* API span field

* KeySigner just lost two more ToByteArray

* Benchmarks amended to comply to code rules

* C# bumped up to 8.0 which allows using ref struct for scoping lifetime of serialized messages.
Alex and others added 26 commits May 5, 2020 14:26
* remove duplicate import

* add missing library

* test for linux

* remove pipeline step add project reference

* Init commit

* Extract publickey from dfs peer id

* Refactor to move POATestNode to TestUtils

* add method

* add correct tag to test

* add snappy for linux

* fix indent

* add snappy for mac

* add underscore to library link

* User dfs keystore instead of cat

* Update keyapi

* Use dfs key registry, key store and proxy key signer

* Refactor some code

* Refactor more classes

* Add change to id and public key of peer

* Use 32 pub key of libp2p pksi, update cli to base 58 from 32

* Add reference to poa.node.tests to core.lib

* Revert GetPeersByIpAndPublicKey

* Restore key registry

* Update key signer to add key to registry on request

* fixed disposal of containers creating rocksdb

* Comment out randomly failing test

* Update KeySigner Tests

Co-authored-by: fran <[email protected]>
Co-authored-by: Tomasz Kajetan Stanczak <[email protected]>
Co-authored-by: franssl <[email protected]>
* Skip tests which fail intermittently.
Adds Catalyst.Modules.UPnP project for automatic port forwarding
* removed submodule

* Remove rust build from pipelines
* Start of libp2p intergration in catalyst

* Refactor LibP2P use interfaces and more DI

* Update PoaNode and Tests

* Update ip/port to use multiaddress in more places

* Update unit tests

* Update more unit tests

* Add multi address in cli

* Update proto submodule

* Update PoaConsensus intergration

* Update POA Concensus

* Update get peers by repo

* Rename PeerId to Address, Add more PeerRepo signatures, Find POA nodes using PublicKey instead of PeerId

* Get POA nodes by PublicKey

* Use string instead of bytearray for publicKey

* Create custom libp2p protocol

* Backup before updating protobuf ver

* Use catalyst-protocol libp2p in peer client for testing

* Update minimum peers

* Use multi-address instead of peerid libp2p

* Add try catch to peer client

* Use peer client broadcast method

* Remove Dto

* Revert "Remove Dto"

This reverts commit f723bbe.

* Remove Dto

* Fix sync tests

* Update sync

* Add cancellation tokens and better async

* Fix POA peer repository get peer by public key

* Blacklist peers that cannot be connected to but remove the black list entry if they connect into you

* Update Catalyst LibP2P protocol intergration tests

* Add handlers to libp2p networking

* Add handlers to broadcast

* Update peer client

* Fix bug with sending signed message

* Update POA nodes config

* Remove RPC Server and Client from Project, as EthController has been discussed as a replacement

* Comment out test to test pipeline

* Add trait to CatalystProtocol intergration tests

* Update protocol and refactor

* Comment out unit tests

* Add rpc projects back to sln

* Peer info request

* Update rpc unit tests

* Comment out unit test for verify rpc

* Comment out unit test for sign rpc

* Remove channel handler in rpc

* Update ports for Catalyst libp2p protocol

* Uncomment some todo tests and update PeerId handler to use MultiAddress

* Fix FavouriteByHashAndVoterComparerTests

* Variable name refactor

* Remove inmemory sharp repo from Catalyst.Abstraction packages

* Update protocol submodule

* Revert ignore attribute on IntergrationTest for 1241

* Remove unused DI from PeerService

* Refactor catalyst node

* Use peer client instead of broadcast manager on TransactionReceivedEvent

* Remove submodule ffi

* Uncomment depricated tests

* Refactor some codacy issues

* Refactor for codacy

* Refactor more issues for codacy

* Refactor for codacy

* Refactor for codacy

* Update for some autofac issues
* Start of libp2p intergration in catalyst

* Refactor LibP2P use interfaces and more DI

* Update PoaNode and Tests

* Update ip/port to use multiaddress in more places

* Update unit tests

* Update more unit tests

* Add multi address in cli

* Update proto submodule

* Update PoaConsensus intergration

* Update POA Concensus

* Update get peers by repo

* Rename PeerId to Address, Add more PeerRepo signatures, Find POA nodes using PublicKey instead of PeerId

* Get POA nodes by PublicKey

* Use string instead of bytearray for publicKey

* Create custom libp2p protocol

* Backup before updating protobuf ver

* Use catalyst-protocol libp2p in peer client for testing

* Update minimum peers

* Use multi-address instead of peerid libp2p

* Add try catch to peer client

* Use peer client broadcast method

* Remove Dto

* Revert "Remove Dto"

This reverts commit f723bbe.

* Remove Dto

* Fix sync tests

* Update sync

* Add cancellation tokens and better async

* Fix POA peer repository get peer by public key

* Blacklist peers that cannot be connected to but remove the black list entry if they connect into you

* Update Catalyst LibP2P protocol intergration tests

* Add handlers to libp2p networking

* Add handlers to broadcast

* Update peer client

* Fix bug with sending signed message

* Update POA nodes config

* Remove RPC Server and Client from Project, as EthController has been discussed as a replacement

* Comment out test to test pipeline

* Add trait to CatalystProtocol intergration tests

* Update protocol and refactor

* Comment out unit tests

* Add rpc projects back to sln

* Peer info request

* Update rpc unit tests

* Comment out unit test for verify rpc

* Comment out unit test for sign rpc

* Remove channel handler in rpc

* Update ports for Catalyst libp2p protocol

* Uncomment some todo tests and update PeerId handler to use MultiAddress

* Fix FavouriteByHashAndVoterComparerTests

* Variable name refactor

* Remove inmemory sharp repo from Catalyst.Abstraction packages

* Update protocol submodule

* Add self signed cert to ApiModule

* Revert ignore attribute on IntergrationTest for 1241

* Remove unused DI from PeerService

* Refactor catalyst node

* DI endpoint and cert into ApiModule

* Update POATestNode

* Use http if no cert

* Use peer client instead of broadcast manager on TransactionReceivedEvent

* Remove FFI submodule

* Remove submodule ffi

* Allow selfsigned cert for unix

* Uncomment depricated tests

* Refactor some codacy issues

* Refactor for codacy

* Refactor more issues for codacy

* Refactor for codacy

* Refactor for codacy

* Update for some autofac issues

* Add http and https options

* Don't force http to redirect to https

* Uncomment blacklist on peer register

* Remove peer from blacklist on connection
* Start of libp2p intergration in catalyst

* Refactor LibP2P use interfaces and more DI

* Update PoaNode and Tests

* Update ip/port to use multiaddress in more places

* Update unit tests

* Update more unit tests

* Add multi address in cli

* Update proto submodule

* Update PoaConsensus intergration

* Update POA Concensus

* Update get peers by repo

* Rename PeerId to Address, Add more PeerRepo signatures, Find POA nodes using PublicKey instead of PeerId

* Get POA nodes by PublicKey

* Use string instead of bytearray for publicKey

* Create custom libp2p protocol

* Backup before updating protobuf ver

* Use catalyst-protocol libp2p in peer client for testing

* Update minimum peers

* Use multi-address instead of peerid libp2p

* Add try catch to peer client

* Use peer client broadcast method

* Remove Dto

* Revert "Remove Dto"

This reverts commit f723bbe.

* Remove Dto

* Fix sync tests

* Update sync

* Add cancellation tokens and better async

* Fix POA peer repository get peer by public key

* Blacklist peers that cannot be connected to but remove the black list entry if they connect into you

* Update Catalyst LibP2P protocol intergration tests

* Add handlers to libp2p networking

* Add handlers to broadcast

* Update peer client

* Fix bug with sending signed message

* Update POA nodes config

* Remove RPC Server and Client from Project, as EthController has been discussed as a replacement

* Comment out test to test pipeline

* Add trait to CatalystProtocol intergration tests

* Update protocol and refactor

* Comment out unit tests

* Add rpc projects back to sln

* Peer info request

* Update rpc unit tests

* Comment out unit test for verify rpc

* Comment out unit test for sign rpc

* Remove channel handler in rpc

* Update ports for Catalyst libp2p protocol

* Uncomment some todo tests and update PeerId handler to use MultiAddress

* Fix FavouriteByHashAndVoterComparerTests

* Variable name refactor

* Remove inmemory sharp repo from Catalyst.Abstraction packages

* Update protocol submodule

* Add self signed cert to ApiModule

* Revert ignore attribute on IntergrationTest for 1241

* Remove unused DI from PeerService

* Refactor catalyst node

* DI endpoint and cert into ApiModule

* Update POATestNode

* Use http if no cert

* Use peer client instead of broadcast manager on TransactionReceivedEvent

* Remove submodule ffi

* Uncomment depricated tests

* Refactor some codacy issues

* Refactor for codacy

* Refactor more issues for codacy

* Refactor for codacy

* Refactor for codacy

* Update for some autofac issues

* Only select delta from highest ranked producer

* Fix consensus cycle timings

* Turn sync back on

* Turn off blacklist

* Timing test

* Add start method to cycle event provider

* Turn on sync

* Turn off delta rank in hash observer

* Sync update

* Readd blacklist

* Update peer connection est

* SwarmService update

* Add additional logging

* Remove blacklist

* Comment out download deltas

* Remove while loop from CatalystProtocol

* Fix CycleEvent tests and DFS SecioStream

* Fix POA node and update DeltaDfsHash to check fav candidate

* Use new cycle event provider

* Download one delta at a time sync, until dfs batching upgrade

* Increase ask time of DistributedQuery

* Update boolean logic in CycleEventsProvider

* Update syncroniser

* Debug end of stream exception in dfs

* Force allow on remote connect

* Update SwarmService interface

* Codacy refactor

* Codacy refactor

* Codacy refactor

* Codacy refactor

* Codacy refactor

* Temp Remove sig validation from SecioStream

* Dont close socket on InvalidDataException

* Refacor and add comments to the CycleEventProvider

* Refacor - remove exception params that are not used
* Create CatalystTestPlan.md

* Add 1 space between block quote and content

* Add new line after list items

* remove 1 space before bullets

* Indent change for codacy

* More codacy changes

* Add space for codacy

* Try again with the codacy indent.

* One more space
* Start of libp2p intergration in catalyst

* Refactor LibP2P use interfaces and more DI

* Update PoaNode and Tests

* Update ip/port to use multiaddress in more places

* Update unit tests

* Update more unit tests

* Add multi address in cli

* Update proto submodule

* Update PoaConsensus intergration

* Update POA Concensus

* Update get peers by repo

* Rename PeerId to Address, Add more PeerRepo signatures, Find POA nodes using PublicKey instead of PeerId

* Get POA nodes by PublicKey

* Use string instead of bytearray for publicKey

* Create custom libp2p protocol

* Backup before updating protobuf ver

* Use catalyst-protocol libp2p in peer client for testing

* Update minimum peers

* Use multi-address instead of peerid libp2p

* Add try catch to peer client

* Use peer client broadcast method

* Remove Dto

* Revert "Remove Dto"

This reverts commit f723bbe.

* Remove Dto

* Fix sync tests

* Update sync

* Add cancellation tokens and better async

* Fix POA peer repository get peer by public key

* Blacklist peers that cannot be connected to but remove the black list entry if they connect into you

* Update Catalyst LibP2P protocol intergration tests

* Add handlers to libp2p networking

* Add handlers to broadcast

* Update peer client

* Fix bug with sending signed message

* Update POA nodes config

* Remove RPC Server and Client from Project, as EthController has been discussed as a replacement

* Comment out test to test pipeline

* Add trait to CatalystProtocol intergration tests

* Update protocol and refactor

* Comment out unit tests

* Add rpc projects back to sln

* Peer info request

* Update rpc unit tests

* Comment out unit test for verify rpc

* Comment out unit test for sign rpc

* Remove channel handler in rpc

* Update ports for Catalyst libp2p protocol

* Uncomment some todo tests and update PeerId handler to use MultiAddress

* Fix FavouriteByHashAndVoterComparerTests

* Variable name refactor

* Remove inmemory sharp repo from Catalyst.Abstraction packages

* Update protocol submodule

* Add self signed cert to ApiModule

* Revert ignore attribute on IntergrationTest for 1241

* Remove unused DI from PeerService

* Refactor catalyst node

* DI endpoint and cert into ApiModule

* Update POATestNode

* Use http if no cert

* Use peer client instead of broadcast manager on TransactionReceivedEvent

* Remove submodule ffi

* Uncomment depricated tests

* Refactor some codacy issues

* Refactor for codacy

* Refactor more issues for codacy

* Refactor for codacy

* Refactor for codacy

* Update for some autofac issues

* Only select delta from highest ranked producer

* Fix consensus cycle timings

* Turn sync back on

* Turn off blacklist

* Timing test

* Add start method to cycle event provider

* Turn on sync

* Turn off delta rank in hash observer

* Sync update

* Readd blacklist

* Update peer connection est

* SwarmService update

* Add additional logging

* Remove blacklist

* Comment out download deltas

* Remove while loop from CatalystProtocol

* Fix CycleEvent tests and DFS SecioStream

* Fix POA node and update DeltaDfsHash to check fav candidate

* Use new cycle event provider

* Download one delta at a time sync, until dfs batching upgrade

* Increase ask time of DistributedQuery

* Update boolean logic in CycleEventsProvider

* Update syncroniser

* Debug end of stream exception in dfs

* Force allow on remote connect

* Update SwarmService interface

* Codacy refactor

* Codacy refactor

* Codacy refactor

* Codacy refactor

* Codacy refactor

* Temp Remove sig validation from SecioStream

* Dont close socket on InvalidDataException

* Refacor and add comments to the CycleEventProvider

* Refacor - remove exception params that are not used

* Add unit tests to cycle event provider

* Update for codacy

* Add IDisposable

* Uncomment IsAllowed for swarm in DhtService

Co-authored-by: sudhirtibrewal <[email protected]>
* Add password repeater functionality

* Add unit tests to password repeater

* Fix peer validation unit test
* Add modules for dotnetty and libp2p

* Remove IChannelHandlerContext

* Update unit tests to use PeerClient interface without dotnetty

* Move network specific files into their own network module projects

* Cli unit test fixes

* Fixes to cli commands

* Add seperate observable channel for rpc

* Remove depricated project from catalyst solution

* Refactor Observers and PeerClient and Service for codacy

* Update pipeline to only run tests in solution

* Update reference

* Update reference

* Remove deprecated projects from solution

* Move observers in the specific module

* Comment out time race condition tests

* Restore cli projects

* Update pipeline

* Update peer settings

* Remove unneeded reference to autofac

* Add password repeater functionality

* Add unit tests to password repeater

* Remove partial class

* Fix peer validation unit test

* Make T parameter covarient

* Codacy fixed
* Add modules for dotnetty and libp2p

* Remove IChannelHandlerContext

* Update unit tests to use PeerClient interface without dotnetty

* Move network specific files into their own network module projects

* Cli unit test fixes

* Fixes to cli commands

* Add seperate observable channel for rpc

* Remove depricated project from catalyst solution

* Refactor Observers and PeerClient and Service for codacy

* Update pipeline to only run tests in solution

* Update reference

* Update reference

* Remove deprecated projects from solution

* Move observers in the specific module

* Comment out time race condition tests

* Restore cli projects

* Update pipeline

* Update peer settings

* Remove unneeded reference to autofac

* Add password repeater functionality

* Add unit tests to password repeater

* Remove partial class

* Fix peer validation unit test

* Make T parameter covarient

* Codacy fixed

* Fix refs
* add bool to rpc method

* includes full txs vs hash of txs

* remove unused references

Co-authored-by: Alex <[email protected]>
* Add boolean to turn off broadcasting from TransactionReceivedEvent

* Restore packages on pipeline

* Add projects
* Reject transactions from mempool if they are under minimum gas limit

* Add comment to tranaction validator tests

* Remove the field '_logger' and declare it as a local variable in the relevant methods.
Network type set via commandline
* Use KVM Address in Producer selection instead of Public Key

* Comment out rep manager in concensus process

* Update unit tests around peer rep manager

* Update protocol submodule
* Add validator set classes

* Add validator set classes and updates

* Remove validators config from TestUtils

* Codacy fixes

* Remove reset command line arg

* Get validators from current block height in POA Producer Provider

* Update protocol submodule
…EVM Code state restore. (#1320)

* Add validator set classes

* Add validator set classes and updates

* Remove validators config from TestUtils

* Codacy fixes

* Remove reset command line arg

* Get validators from current block height in POA Producer Provider

* Update protocol submodule

* Add proxy smart contract class, Validator smart contract, Fix EVM Code state not saving and restoring

* Autofac refactor

* Update validator json file with devnet

* Start contract validator set at block 90 instead of 900

* Fix eth rpc block controllers and correct author address
* Add Uninstall option, delete IPFS password

* Try implement uninstall in Program.cs

* Implement uninstall option

* Delete unnecessary changes

* Rename variables
Part of a series of updates to bring Catalyst and its dependencies up to date.
Updates to C# 10 and .NET 6.0. A number of Nuget packages updated to the latest, necessary since some have had security improvements.
Tested with a locally updated Nethermind code base. The Nethermind code base will be tested further and then updated to match.

CICD to be overhauled but for now these changes are necessary as part of an ongoing update programme.
@TheNewAutonomy TheNewAutonomy added the Enhancement 👷 New feature or request label Jan 22, 2022
@TheNewAutonomy TheNewAutonomy self-assigned this Jan 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement 👷 New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants