Luke Parker
6508957cbc
Make a proper nonReentrant modifier
...
A transaction couldn't call execute twice within a single TX prior. Now, it
can.
Also adds a bit more context to the escape hatch events/errors.
2025-01-23 00:04:44 -05:00
Luke Parker
373e794d2c
Check the escaped to address has code set
...
Document choice not to use a confirmation flow there as well.
2025-01-22 22:45:51 -05:00
Luke Parker
c8f3a32fdf
Replace custom read/write impls in router with borsh
2025-01-21 03:49:29 -05:00
Luke Parker
f690bf831f
Remove old code still marked TODO
2025-01-19 02:36:34 -05:00
Luke Parker
0b30ac175e
Restore workspace-wide clippy
...
Fixes accumulated errors in the Substrate code. Modifies the runtime build to
work with a modern clippy. Removes e2e tests from the workspace.
2025-01-19 02:27:35 -05:00
Luke Parker
47560fa9a9
Test manually implemented serializations in the Router lib
2025-01-19 00:45:26 -05:00
Luke Parker
9d57c4eb4d
Downscope dependencies in serai-processor-ethereum-primitives, const-hex decode bytecode in ethereum-schnorr-contract
2025-01-19 00:16:50 -05:00
Luke Parker
642ba00952
Update Deployer README, 80-character line length
2025-01-19 00:03:56 -05:00
Luke Parker
3c9c12d320
Test the Deployer contract
2025-01-18 23:58:38 -05:00
Luke Parker
f6b52b3fd3
Maximum line length of 80 in Deployer.sol
2025-01-18 15:22:58 -05:00
Luke Parker
0d906363a0
Simplify and test deterministically_sign
2025-01-18 15:13:39 -05:00
Luke Parker
8222ce78d8
Correct accumulated errors in the processor
2025-01-18 12:41:57 -05:00
Luke Parker
cb906242e7
2025 nightly
...
Supersedes #640 .
2025-01-18 12:41:25 -05:00
Luke Parker
f36bbcba25
Flatten the map of preprocesses/shares, send Participant index with DkgParticipation
2025-01-15 14:24:51 -05:00
Luke Parker
7312fa8d3c
Spawn PublishSlashReportTask
...
Updates it so that it'll try for every network instead of returning after any
network fails.
Uses the SlashReport type throughout the codebase.
2025-01-15 12:08:28 -05:00
Luke Parker
b5a6b0693e
Add a proper error type to ContinuallyRan
...
This isn't necessary. Because we just log the error, we never match off of it,
we don't need any structure beyond String (or now Debug, which still gives us
a way to print the error). This is for the ergonomics of not having to
constantly write `.map_err(|e| format!("{e:?}"))`.
2025-01-12 18:29:08 -05:00
Luke Parker
0ce9aad9b2
Add flow to add transactions onto Tributaries
2025-01-12 07:32:45 -05:00
Luke Parker
e7de5125a2
Have processor-messages use CosignIntent/SignedCosign, not the historic cosign format
...
Has yet to update the processor accordingly.
2025-01-12 05:52:33 -05:00
Luke Parker
d854807edd
Make message_queue::client::Client::send fallible
...
Allows tasks to report the errors themselves and handle retry in our
standardized way.
2025-01-11 21:57:58 -05:00
Luke Parker
c05b0c9eba
Handle Canonical, NewSet from serai-coordinator-substrate
2025-01-11 03:07:15 -05:00
Luke Parker
542bf2170a
Provide Cosign/CosignIntent for Tributaries
2025-01-11 01:31:28 -05:00
Luke Parker
47a4e534ef
Update serai-processor-signers to VariantSignid::Batch([u8; 32])
2025-01-07 15:26:23 -05:00
Luke Parker
0a611cb155
Further flesh out tributary scanning
...
Renames `label` to `round` since `Label` was renamed to `SigningProtocolRound`.
Adds some more context-less validation to transactions which used to be done
within the custom decode function which was simplified via the usage of borsh.
Documents in processor-messages where the Coordinator sends each of its
messages.
2025-01-03 06:57:28 -05:00
Luke Parker
bcd3f14f4f
Start work on cleaning up the coordinator's tributary handling
2025-01-02 09:11:04 -05:00
Luke Parker
6272c40561
Restore block_hash to Batch
...
It's not only helpful (to easily check where Serai's view of the external
network is) but it's necessary in case of a non-trivial chain fork to determine
which blockchain Serai considers canonical.
2024-12-31 18:10:47 -05:00
Luke Parker
8c9441a1a5
Redo coordinator's Substrate scanner
2024-12-31 10:37:19 -05:00
Luke Parker
5a42f66dc2
alloy 0.9
2024-12-30 11:09:09 -05:00
Luke Parker
b584a2beab
Remove old DB entry from the scanner
...
We read from it but never writ to it.
It was used to check we didn't flag a block as notable after reporting it, but
it was called by the scan task as it scanned a block. We only batch/report
blocks after the scan task after scanning them, so it was very redundant.
2024-12-30 11:07:05 -05:00
Luke Parker
26ccff25a1
Split reporting Batches to the signer from the Batch test
2024-12-30 11:03:52 -05:00
Luke Parker
f0094b3c7c
Rename Report task to Batch task
2024-12-30 10:49:35 -05:00
Luke Parker
458f4fe170
Move where we check if we should delay reporting of Batches
2024-12-30 10:18:38 -05:00
Luke Parker
1de8136739
Remove Session from VariantSignId::SlashReport
...
It's only there to make the VariantSignid unique across Sessions. By localizing
the VariantSignid to a Session, we avoid this, and can better ensure we don't
queue work for historic sessions.
2024-12-30 06:16:03 -05:00
Luke Parker
445c49f030
Have the scanner's report task ensure handovers only occur if Batchs are valid
...
This is incomplete at this time. The logic is fine, but needs to be moved to a
distinct location to handle singular blocks which produce multiple Batches.
2024-12-30 06:11:47 -05:00
Luke Parker
5b74fc8ac1
Merge ExternalKeyForSessionToSignBatch into InfoForBatch
2024-12-30 05:34:13 -05:00
Luke Parker
e67e301fc2
Have the processor verify the published Batches match expectations
2024-12-30 05:21:26 -05:00
Luke Parker
147a6e43d0
Split task from serai-processor-primitives into serai-task
2024-12-19 10:08:13 -05:00
Luke Parker
9593a428e3
alloy 0.8
2024-12-11 01:02:58 -05:00
Luke Parker
5b3c5ec02b
Basic Ethereum escapeHatch test
2024-12-09 02:00:17 -05:00
Luke Parker
3192370484
Add Serai key confirmation to prevent rotating to an unusable key
...
Also updates alloy to the latest version
2024-12-08 20:42:37 -05:00
Luke Parker
8013c56195
Add/correct msrv labels
2024-12-08 18:27:15 -05:00
Luke Parker
834c16930b
Add a bitmask of OutInstruction events to Executed
...
Allows explorers to provide clarity on what occurred.
2024-11-02 21:00:01 -04:00
Luke Parker
2920987173
Add a re-entrancy guard to Router.execute
2024-11-02 20:12:48 -04:00
Luke Parker
26230377b0
Define IRouterWithoutCollisions which Router inherits from
...
This ensures Router implements most of IRouterWithoutCollisions. It solely
leaves us to confirm Router implements the extensions defined in IRouter.
2024-11-02 19:10:39 -04:00
Luke Parker
2f5c0c68d0
Add selector collisions to Router to make it IRouter compatible
2024-11-02 18:13:02 -04:00
Luke Parker
8de42cc2d4
Add IRouter
2024-11-02 13:19:07 -04:00
Luke Parker
cf4123b0f8
Update how signatures are handled by the Router
2024-11-02 10:47:09 -04:00
Luke Parker
6a520a7412
Work on testing the Router
2024-10-31 02:23:59 -04:00
Luke Parker
b2ec58a445
Update serai-ethereum-processor to compile
2024-10-30 21:48:40 -04:00
Luke Parker
8e800885fb
Simplify deterministic signing process in serai-processor-ethereum-primitives
...
This should be easier to specify/do an alternative implementation of.
2024-10-30 21:36:31 -04:00
Luke Parker
2a427382f1
Natspec, slither Deployer, Router
2024-10-30 21:35:43 -04:00