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
1d50792eed
Document serai-db with bounds and intent
2024-12-26 02:35:32 -05:00
Luke Parker
9c92709e62
Delay cosign acknowledgments
2024-12-26 01:04:20 -05:00
Luke Parker
3d15710a43
Only check the cosign is after its start block if faulty
...
We don't have consensus on the session's last block, so we shouldn't check if
the cosign is before the session ends. What matters is that network, within its
set, claims it's still active at that block (on its view of the blockchain).
2024-12-26 00:26:48 -05:00
Luke Parker
df06da5552
Only check if the cosign is stale if it isn't faulty
...
If it is faulty, we want to archive it regardless.
2024-12-26 00:24:48 -05:00
Luke Parker
cef5bc95b0
Revert prior commit
...
An archive of all GlobalSessions is necessary to check for faults. The storage
cost is also minimal. While it should be avoided if it can be, it can't be
here.
2024-12-26 00:15:49 -05:00
Luke Parker
f336ab1ece
Remove GlobalSessions DB entry
...
If we read the currently-being-evaluated session from the evaluator, we can
avoid paying the storage costs on all sessions ad-infinitum.
2024-12-25 23:57:51 -05:00
Luke Parker
2aebfb21af
Remove serai from the cosign evaluator
2024-12-25 23:47:21 -05:00
Luke Parker
56af6c44eb
Remove usage of serai from intake_cosign
2024-12-25 21:19:04 -05:00
Luke Parker
4b34be05bf
rocksdb 0.23
2024-12-25 19:48:48 -05:00
Luke Parker
5b337c3ce8
Prevent a malicious validator set from overwriting a notable cosign
...
Also prevents panics from an invalid Serai node (removing the assumption of an
honest Serai node).
2024-12-25 02:11:05 -05:00
Luke Parker
e119fb4c16
Replace Cosigns by extending NetworksLatestCosignedBlock
...
Cosigns was an archive of every single cosign ever received. By scoping
NetworksLatestCosignedBlock to be by the global session, we have the latest
cosign for each network in a session (valid to replace all prior cosigns by
that network within that session, even for the purposes of fault) and
automatically have the notable cosigns indexed (as they are the latest ones
within their session). This not only saves space yet also allows optimizing
evaluation a bit.
2024-12-25 01:45:37 -05:00
Luke Parker
ef972b2658
Add cosign signature verification
2024-12-25 00:06:46 -05:00
Luke Parker
4de1a5804d
Dedicated library for intending and evaluating cosigns
...
Not only cleans the existing cosign code but enables non-Serai-coordinators to
evaluate cosigns if they gain access to a feed of them (such as over an RPC).
This would let centralized services not only track the finalized chain yet the
cosigned chain without directly running a coordinator.
Still being wrapped up.
2024-12-22 06:41:55 -05:00
Luke Parker
147a6e43d0
Split task from serai-processor-primitives into serai-task
2024-12-19 10:08:13 -05:00
Luke Parker
066aa9eda4
cargo update
...
Resolves RUSTSEC-2024-0421
2024-12-12 00:45:19 -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
9ccfa8a9f5
Fix deny
2024-12-08 22:01:43 -05:00
Luke Parker
18897978d0
thiserror 2.0, cargo update
2024-12-08 21:55:37 -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
Luke Parker
e9c1235b76
Tweak how features are activated in the coins pallet tests
2024-10-30 17:15:39 -04:00
akildemir
dc1b8dfccd
add coins pallet tests ( #606 )
...
* add tests
* remove unused crate
* remove serai_abi
2024-10-30 16:05:56 -04:00
Luke Parker
ce1689b325
Expand tests for ethereum-schnorr-contract
2024-10-28 18:08:31 -04:00
Luke Parker
d0201cf2e5
Remove potentially vartime (due to cache side-channel attacks) table access in dalek-ff-group and minimal-ed448
2024-10-27 08:51:19 -04:00
Luke Parker
f3d20e60b3
Remove --no-deps from docs build to fix linking to deps
2024-10-17 21:14:13 -04:00
Luke Parker
dafba81b40
Add wasm32-unknown-unknown target to docs build
2024-10-17 18:45:34 -04:00
Luke Parker
91f8ec53d9
Add build-dependencies into docs build
2024-10-17 18:29:47 -04:00
Luke Parker
fc9a4a08b8
Correct rust-docs component name
2024-10-17 18:12:35 -04:00
Luke Parker
45fadb21ac
Correct paths in pages.yml
2024-10-17 18:05:54 -04:00
Luke Parker
28619fbee1
CI fixes
...
Mainly corrects for https://github.com/alloy-rs/alloy/issues/1510 yet also
corrects a missing machete ignore.
2024-10-17 18:02:57 -04:00
Luke Parker
bbe014c3a7
Have CI build with doc_auto_cfg
2024-10-17 17:48:14 -04:00
Luke Parker
fb3fadb3d3
Publish Rust docs to GH pages
2024-10-17 17:18:58 -04:00
Luke Parker
f481d20773
Correct licensing for .github
2024-10-17 17:17:36 -04:00
Luke Parker
599b2dec8f
cargo update
...
Should fix the recent CI failures re: Ethereum as well.
2024-10-09 00:39:34 -04:00
akildemir
435f1d9ae1
add specific network/coin/balance types ( #619 )
...
* add specific network/coin/balance types
* misc fixes
* fix clippy
* misc fixes
* fix pr comments
* Make halting for external networks
* fix encode/decode
2024-10-06 22:16:11 -04:00
Luke Parker
0b61a75afc
Add lint against string slicing
...
These are tricky as it panics if the slice doesn't hit a UTF-8 codepoint
boundary.
2024-10-02 21:58:48 -04:00
Luke Parker
2aee21e507
Fix decomposition -> divisor points vartime due to branch prediction/cache rules
2024-09-29 04:19:16 -04:00