Add a full-stack mint and burn test for Bitcoin and Monero

Fixes where ram_scanned is updated in processor. The prior version, while safe,
would redo massive amounts of work during periods of inactivity. It also hit an
undocumented invariant where get_eventuality_completions assumes new blocks,
yet redone work wouldn't have new blocks.

Modifies Monero's generate_blocks to return the hashes of the generated blocks.
This commit is contained in:
Luke Parker
2023-08-28 16:18:11 -04:00
parent 1838c37ecf
commit 285422f71a
9 changed files with 723 additions and 40 deletions

View File

@@ -19,9 +19,17 @@ hex = "0.4"
zeroize = { version = "1", default-features = false }
rand_core = { version = "0.6", default-features = false }
curve25519-dalek = { version = "4", features = ["rand_core"] }
bitcoin-serai = { path = "../../coins/bitcoin" }
monero-serai = { path = "../../coins/monero" }
scale = { package = "parity-scale-codec", version = "3" }
serde = "1"
serde_json = "1"
processor = { package = "serai-processor", path = "../../processor", features = ["bitcoin", "monero"] }
serai-client = { path = "../../substrate/client", features = ["serai"] }
tokio = { version = "1", features = ["time"] }