Luke Parker
6d5851a9ee
Use lz4 instead of zstd for the DB
...
zstd was recommended for the base layer only, due to its CPU requirements. That
was a misreading on mhy behalf.
lz4 gets ~5% better compression than snappy with ~30% faster performance. zstd
does ~25% better than lz4 yet at ~30% of the performance.
2023-07-26 14:05:10 -04:00
Luke Parker
64c309f8db
Test Batches with Instructions
2023-07-26 14:02:17 -04:00
Luke Parker
e00aa3031c
Have Shorthand::Raw contain RefundableInInstruction, not an encoded RII
2023-07-26 14:00:30 -04:00
Luke Parker
f8afb040dc
Remove ApplicationCall
...
We can simply inline `Dex` into the InInstruction enum.
2023-07-26 12:45:51 -04:00
Luke Parker
7823ece4fe
Test multiple batches, re-attempts, randomized selected signers
2023-07-26 05:55:47 -04:00
Luke Parker
b205391b28
Add libssl-dev to message-queue build packages
2023-07-26 04:33:36 -04:00
Luke Parker
32a937ddb9
Move the Monero Dockerfile to alpine
2023-07-26 04:22:41 -04:00
Luke Parker
bdbeedc723
Add pkg-config to Dockerfiles
2023-07-26 03:57:13 -04:00
Steven Chang
f306618e84
docs/protocol/Staking.md: delete
2023-07-26 03:46:55 -04:00
Luke Parker
89865b549c
Update Serai node Dockerfile
2023-07-26 03:45:30 -04:00
Luke Parker
39eae2795f
Update Dockerfiles to bookworm, successfully
...
Removes use of the Parity CI image. Always uses slim variants.
2023-07-26 03:06:01 -04:00
Luke Parker
0eb56406a4
Further dependency minimization for build times
2023-07-26 03:03:44 -04:00
Luke Parker
afb385fba4
Use spin's Once for OnceLock
2023-07-26 02:59:24 -04:00
Luke Parker
821f5d8de4
Restore create_if_missing to RocksDB code
2023-07-25 23:00:10 -04:00
Luke Parker
3862731a12
Minimize features pulled in to try and reduce build times
2023-07-25 22:29:39 -04:00
Luke Parker
42eb674d1a
Print docker build
2023-07-25 22:18:20 -04:00
Luke Parker
1af5f1bcdc
Revert from bookworm to bullseye
...
Parity's CI uses bullseye and bullseye has an incompatible, dynamically linked
openssl.
2023-07-25 22:15:33 -04:00
Luke Parker
32435d8a4c
Consolidate RockDB code
...
Moves explicitly to zstd. RockDB recommends zstd, or at least lz4 over snappy,
and this minimizes which dependencies we pull in.
2023-07-25 21:43:27 -04:00
Luke Parker
49ce792b91
Move from bullseye-slim to bookworm-slim
...
Also moves from bullseye in the processor to bullseye-slim. This requires
adding back the apt intall, yet the tests/docker cache should handle it.
Minimizes processor image surface, hopefully also shrinks the CI down a bit.
2023-07-25 21:10:28 -04:00
Luke Parker
4949793c3f
Clear docker cache after building in CI
...
We're at the CI storage limits, so hopefully this helps.
2023-07-25 21:09:40 -04:00
Luke Parker
61d46dccd4
Rename scan_test to batch_test
2023-07-25 18:10:05 -04:00
Luke Parker
88a1fce15c
Test the processor's batch signing
...
Updates message-queue ot try recv every second, not 5.
2023-07-25 18:09:23 -04:00
Luke Parker
a2493cfafc
Sub-CoordinatorMessage -> CoordinatorMessage via From/Into
2023-07-25 17:33:05 -04:00
Luke Parker
e3de64d5ff
Check the processors picked up the received input
2023-07-24 22:11:58 -04:00
Luke Parker
ecd0457d5b
clippy fixes
2023-07-24 21:49:51 -04:00
Luke Parker
7990ee689a
Send to a processor from a test
...
Mainly here to build out the infra. Does not automate checking
recipience/batch creation yet.
2023-07-24 20:06:05 -04:00
Luke Parker
f05e909d0e
Fix which key is used to index substrate_signers on ScannerEvent::Block
...
First notably bug found by docker tests.
2023-07-24 19:38:31 -04:00
Luke Parker
5e565fa3ef
Correct when the Processor starts using the first key
...
It waited for CONFIRMATIONS + 1 confirmations, instead of CONFIRMATIONS
confirmations.
Also adds a lib interface to access the coin traits and its constants.
2023-07-24 15:36:35 -04:00
Luke Parker
6df1b46313
Don't use dbg for printing stdout/stderr
...
They are byte buffers, not strings. A pretty print has been added accordingly.
2023-07-24 15:35:43 -04:00
Luke Parker
24dba66bad
cargo update
2023-07-24 04:54:13 -04:00
Luke Parker
fd585d496c
Resolve #321
2023-07-24 04:53:59 -04:00
Luke Parker
5703591eb2
Extend critria to run Docker tests
...
The unit tests should be sufficient for these cases, making this exraneous, yet
better to be complete than at risk.
2023-07-24 02:56:58 -04:00
Luke Parker
9ac3b203c8
Fix panic causable by remote node
2023-07-24 02:53:54 -04:00
Luke Parker
23e1c9769c
dalek 4.0
2023-07-23 14:32:14 -04:00
Luke Parker
8e6e05ae2d
Set better logging defaults for Docker tests
2023-07-23 10:13:11 -04:00
Luke Parker
713660c79c
Make key_gen a gadget, add ConfirmKeyPair
2023-07-22 05:10:40 -04:00
Luke Parker
cb8c8031b0
Correct retrieval of LastTagTime when the Docker image doesn't already exist
2023-07-22 04:37:45 -04:00
Luke Parker
d07447fe97
Implement an (almost) full Key Gen test for processor's Docker tests
...
It doesn't confirm the key pair yet.
Adds the infra neded to test processors against each other.
2023-07-22 04:06:44 -04:00
Luke Parker
c26beae0f9
Only rebuild Docker images when their source has been modified
2023-07-22 02:40:14 -04:00
Luke Parker
818215b570
Correct Dockerfile caching
2023-07-22 01:12:39 -04:00
Luke Parker
79943c3a6c
MessageQueue::new
2023-07-22 01:12:15 -04:00
Luke Parker
076a8e4d62
Add the requirement for a debug Serai node to running tests documentation
2023-07-21 15:11:22 -04:00
Luke Parker
ffd1457927
Correct message-queue Dockerfile
...
It worked with my cache yet not without cache.
2023-07-21 15:08:37 -04:00
Luke Parker
523a055b74
Add processor Docker tests
...
Adds tests/docker for code common to Docker-based tests.
2023-07-21 14:08:42 -04:00
Luke Parker
624fb2781d
Update how RPCs are handled
...
The processor now takes three vars and joins them itself. message-queue uses a
single argument, with defaults, as it's a service we control.
2023-07-21 14:01:42 -04:00
Luke Parker
641077a089
Use non-slim variants to remove needing to apt additional packages
...
Prevents needing to rebuild all the time via allowing cache hits.
2023-07-21 13:58:54 -04:00
Luke Parker
298d1fd3ba
Slim coins and processor Dockerfiles
2023-07-21 04:27:14 -04:00
Luke Parker
92c3403698
Slim down the message-queue Dockerfile
...
While I tried Alpine, RocksDB won't build unless it's statically linked. Then
async-trait (and proc-macro's in general) won't compile when statically linked.
2023-07-21 04:07:32 -04:00
Luke Parker
37af8b51b3
Fallback to pgrep if pidof is unavailable
2023-07-21 03:37:48 -04:00
Luke Parker
900298b94b
CI tweaks
2023-07-20 19:34:10 -04:00