Luke Parker
b53759c6ec
Have the machine respond to advances made by an external sync loop
2022-11-12 05:35:41 -05:00
Luke Parker
ca3a29f616
Correct time-adjustment code on round skip
2022-11-12 05:12:20 -05:00
Luke Parker
ecde185bbf
Correct the Duration timing
...
The proposer will build it, send it, then process it (on the first
round). Accordingly, it's / 3, not / 2, as / 2 only accounted for the
latter events.
2022-11-12 05:03:45 -05:00
Luke Parker
32ad6de00c
Properly define and pass around the block size
2022-11-11 06:38:06 -05:00
Luke Parker
43b43bdbd9
Support running TendermintMachine when not a validator
...
This supports validators who leave the current set, without crashing
their nodes, along with nodes trying to become validators (who will now
seamlessly transition in).
2022-11-11 06:04:37 -05:00
Luke Parker
dbcddb2fb0
Don't spam slash
...
Also adds a slash condition of failing to propose.
2022-11-11 05:53:20 -05:00
Luke Parker
354bcefeb0
Add notes to the runtime
2022-11-11 05:43:36 -05:00
Luke Parker
fffb7a6914
Separate the block processing time from the latency
2022-11-11 05:42:13 -05:00
Luke Parker
2411660bd8
Update to the latest substrate
2022-11-11 03:49:02 -05:00
Luke Parker
6f74bade8b
Only recheck blocks with non-fatal inherent transaction errors
2022-11-11 02:17:10 -05:00
Luke Parker
7d46daa36e
Use futures pin instead of tokio
2022-11-08 22:56:46 -05:00
Luke Parker
f7b1ff9f3b
Update Substrate to the new TendermintHandle
2022-11-08 22:51:31 -05:00
Luke Parker
1c8192218a
Move from a yielding loop to select in tendermint-machine
2022-11-08 22:37:06 -05:00
Luke Parker
2cb1d35d89
Timeout futures
2022-11-08 21:14:57 -05:00
Luke Parker
56a21ca6a6
Use futures mpsc instead of tokio
2022-11-08 21:14:03 -05:00
Luke Parker
16a2c9a2dc
Correct protocol name handling
2022-11-08 02:14:49 -05:00
Luke Parker
5dab3352f2
Move from polling loops to a pure IO model for sc_tendermint's gossip
2022-11-08 02:14:39 -05:00
Luke Parker
ea646c8984
Add missing trait
2022-11-03 00:58:45 -04:00
Luke Parker
1ff51c1a37
Add a version to sp-runtime in tendermint-machine
2022-11-03 00:24:04 -04:00
Luke Parker
2315b3c79b
Localize the LibP2P protocol to the blockchain
...
Follows convention by doing so. Theoretically enables running multiple
blockchains over a single LibP2P connection.
2022-11-03 00:20:50 -04:00
Luke Parker
bd08cd3c9b
Add message expiry to the Tendermint gossip
2022-11-02 23:46:21 -04:00
Luke Parker
63df908d3b
Rename dev to devnet
...
--dev still works thanks to the |. Acheieves a personal preference of
mine with some historical meaning.
2022-11-02 23:32:52 -04:00
Luke Parker
131355b10f
Correct Dave, Eve, and Ferdie to not run as validators
2022-11-02 23:31:19 -04:00
Luke Parker
cf8bdf2126
Stop returning errors on already existing blocks entirely
2022-11-02 22:52:20 -04:00
Luke Parker
de0e6724bf
Remove error case which shouldn't be an error
2022-11-02 22:39:49 -04:00
Luke Parker
f4d622a34c
Restore cache
2022-11-02 22:39:39 -04:00
Luke Parker
2b503b6f42
Update sc_tendermint per previous commit
2022-11-02 21:37:06 -04:00
Luke Parker
f3e177109d
Reduce Arcs in TendermintMachine, split Signer from SignatureScheme
2022-11-02 21:04:26 -04:00
Luke Parker
083198ecf2
Make the dev profile a local testnet profile
...
Restores a dev profile which only has one validator, locally running.
2022-11-02 19:58:37 -04:00
Luke Parker
83caa8b413
Add a _ to the validator arg in slash
2022-11-02 05:03:00 -04:00
Luke Parker
40b6cb7106
Add an already in chain check to block import
...
While the inner should do this for us, we call verify_order on our end
*before* inner to ensure sequential import. Accordingly, we need to
provide our own check.
Removes errors of "non-sequential import" when trying to re-import an
existing block.
2022-11-02 03:35:46 -04:00
Luke Parker
16065ccd4e
Remove an attempt at caching I don't believe would ever hit
2022-11-02 03:29:04 -04:00
Luke Parker
ca043f55ad
Use a rounded genesis to obtain sufficient synchrony within the Docker env
2022-11-02 03:05:04 -04:00
Luke Parker
38cee041d6
Fix handling of the GossipEngine
2022-11-02 02:43:08 -04:00
Luke Parker
e3fc3f28fb
Configure node for a multi-node testnet
2022-11-01 23:10:36 -04:00
Luke Parker
86aaadaea0
Update node to latest sc_tendermint
2022-11-01 21:32:18 -04:00
Luke Parker
9a26ac6899
Remove unnecessary PhantomDatas
2022-11-01 20:58:59 -04:00
Luke Parker
5832007a45
Take in a Keystore and validator ID
2022-11-01 20:06:42 -04:00
Luke Parker
aa0a4cf106
Implement proper checking of inherents
2022-11-01 16:37:50 -04:00
Luke Parker
19154cf8e1
Move sc_tendermint to async sign
2022-11-01 16:28:08 -04:00
Luke Parker
2947ef08e3
Make sign asynchronous
...
Some relation to https://github.com/serai-dex/serai/issues/95 .
2022-11-01 15:10:50 -04:00
Luke Parker
45a5d3eb1d
Add another missing comment
2022-10-31 23:56:13 -04:00
Luke Parker
8f065533dc
Add documentation to public structs/functions in sc_tendermint
2022-10-30 12:27:16 -04:00
Luke Parker
c4976ff97d
Consolidate references to sr25519 in sc_tendermint
2022-10-30 11:24:52 -04:00
Luke Parker
503adfee2f
Replace best_* with finalized_*
...
We test their equivalency yet still better to use finalized_* in
general.
2022-10-30 11:13:47 -04:00
Luke Parker
c0056643c8
Consolidate file structure in sc_tendermint
2022-10-30 11:08:12 -04:00
Luke Parker
91ae2b7112
Move serai_runtime specific code from tendermint/client to node
...
Renames serai-consensus to sc_tendermint
2022-10-30 10:54:17 -04:00
Luke Parker
a0e0545c49
Deleted comment code related to PoW
2022-10-30 10:10:17 -04:00
Luke Parker
3d7c12adcd
Create a dedicated file for being a Tendermint authority
2022-10-30 10:08:35 -04:00
Luke Parker
066bc40a88
Merge Verifier into block_import.rs
...
These two files were largely the same, just hooking into sync structs
with almost identical imports. As this project shapes up, removing dead
weight is appreciated.
2022-10-30 06:30:44 -04:00