Commit Graph

144 Commits

Author SHA1 Message Date
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
Luke Parker
f37adf4feb Remove machine from TendermintImport
It's not used there at all.
2022-10-30 06:29:37 -04:00
Luke Parker
aee0bde45d Connect broadcast 2022-10-30 05:37:23 -04:00
Luke Parker
6c54289fb4 Connect the Tendermint machine to a GossipEngine 2022-10-30 05:16:25 -04:00
Luke Parker
1af6117155 Move TendermintMachine from start_num, time to last_num, time
Provides an explicitly clear API clearer to program around.

Also adds additional time code to handle an edge case.
2022-10-30 04:27:15 -04:00
Luke Parker
edb2e00db7 Remove the Future triggering the machine for an async fn
Enables passing data in, such as the network.
2022-10-30 04:08:33 -04:00
Luke Parker
6838d5c922 Clean generics in Tendermint with a monolith with associated types 2022-10-30 03:26:31 -04:00
Luke Parker
8d3efd6259 Correct Substrate Tendermint start block
The Tendermint machine uses the passed in number as the block's being 
worked on number. Substrate passed in the already finalized block's 
number.

Also updates misc comments.
2022-10-30 01:22:11 -04:00