IBFT2.1 requires that message content be separated, thus concepts
at the message level must not leak into the business logic - eg
RoundChangeCertificate should not be created by the
RoundChangeManager - rather an intermediate type is to be inserted.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
Moving to IBFT2.1 requires that validation be conducted
on the signeddata aspects of a message separately from the
'piggybacked' block.
Move Validators to using Messages
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* upgread all dependencies and gradle plugins
* did not upgrade net.researchgate.release gradle plugin as that is know to break correto JVM
* removed quickstart from module list. It's been gone a while now.
* sorted the modules
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* Create wrapper types for Ibft Signed messages
As future IBFT message will require only subsets of the data to be signed,
the message structures need to be modified such taht the signed-data
aspects can be a component of the message (Rather than the whole
message).
THis chnage starts this process by having a "flat" message which allows
clients to query the required round, and author of the message.
* Updated IbftHeightManager to new msgtypes
* Removed final from interface
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
As future IBFT message will require only subsets of the data to be signed,
the message structures need to be modified such taht the signed-data
aspects can be a component of the message (Rather than the whole
message).
This change starts this process by having a "flat" message which allows
clients to query the required round, and author of the message.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
The IPV6 URL syntax for IPv6 addresses has the addresses enclosed in brackets.
Without the brackets the address could consume the port number. Java's URI class
also won't parse it correctly w/o brackets, and we rely on that parsing.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* Log the milestone blocks in use at startup.
* Remove duplicate word "key" in log message when new key is generated.
* Don't log that mining is paused while behind chain head when mining is not enabled.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* added CLI for permissioning config file path
* added test for --permissions-config-file without param value
* merged changes from NC-1968 and set the config path on the PermissioningConfiguration object when it's created
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* Add PrivateTransactionHandler
* Implementing PrivateTransactionHandler
* Send Privacy Marker Transaction to Privacy Precompile Smart Contract
* Tests Handler
* Fix up Private Transaction Handler Test
* Remove wildcard import
* Remove Orion tests from PrivateTransactionHandler
* Fix test exception
* Return error if orion call fails
* Fix PrivateTransactionHandler implementation
- The whole base64 rlp encoded private transaction should be sent to Orion rather than the base64 encoded input of the private transaction.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* make spotless groovy formatter ignore compilation errors
* move errorprone FieldCanBeFinal to off for performance reasons.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* Download receipts
* store blocks without processing transactions
* Only apply light validation during fast sync.
* Mark fast sync chain download as complete when pivot block has been reached.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>