Luke Parker
da3095ed15
Remove FieldElement::from_square
...
The new `FieldElement::from_u256` is sufficient to load an unreduced value. The
caller can perform the square themselves, without us explicitly supporting this
special case.
Updates the monero-oxide version used to one which no longer uses
`FieldElement::from_square` (as their use is why it was added).
2025-08-22 18:42:43 -04:00
Luke Parker
9841061b49
Add missing feature in substrate/client
2025-08-20 06:38:25 -04:00
Luke Parker
b63ef32864
Smash Ciphersuite definitions into their own crates
...
Uses dalek-ff-group for Ed25519 and Ristretto. Uses minimal-ed448 for Ed448.
Adds ciphersuite-kp256 for Secp256k1 and P-256.
2025-08-20 05:12:36 -04:00
Luke Parker
ceede14f5c
Fix misc compilation errors
2025-08-18 14:52:29 -04:00
Luke Parker
153f6f2f2f
Update to a monero-oxide patched to dkg 0.6
2025-08-18 14:52:29 -04:00
Luke Parker
72e80c1a3d
Update everything which uses dkg to the new APIs
2025-08-18 14:52:29 -04:00
Luke Parker
0c2f2979a9
Remove monero-serai, migrating to monero-oxide
2025-08-15 11:45:20 -04:00
Luke Parker
a32b97be88
Move to wasm32v1-none from wasm32-unknown-unknown
...
Works towards fixing how the Substrate node Docker image no longer works.
2025-08-15 10:55:05 -04:00
Luke Parker
e3809b2ff1
Remove unnecessary edits to Docker config in an attempt to fix the CI
2025-08-12 01:27:28 -04:00
Luke Parker
8df5aa2e2d
Forward docker stderr to stdout in case stderr is being dropped for some reason
2025-08-12 01:27:28 -04:00
Luke Parker
f51d77d26a
Fix tweaked Substrate connection code in serai-client tests
2025-08-12 01:27:28 -04:00
Luke Parker
f2595c4939
Tweak how subtrate-client tests waits to connect to the Monero node
2025-08-12 01:27:28 -04:00
Luke Parker
23f986f57a
Tweak the Substrate runtime as required by the Rust version bump performed
2025-08-12 01:27:28 -04:00
Luke Parker
188fcc3cb4
Remove potentially-failing unchecked arithmetic operations for ones which error
...
In response to 9.13.3.
Requires a bump to Rust 1.82 to take advantage of `Option::is_none_or`.
2025-08-12 01:27:28 -04:00
Luke Parker
21ce50ecf7
Revert "Forward docker stderr to stdout in case stderr is being dropped for some reason"
...
This was intended for the monero-audit branch.
2025-08-10 20:53:09 -04:00
Luke Parker
a4ceb2e756
Forward docker stderr to stdout in case stderr is being dropped for some reason
2025-08-10 20:50:12 -04:00
Luke Parker
5a7b815e2e
Update nightly version
2025-02-04 07:57:04 -05:00
Luke Parker
22e411981a
Resolve clippy errors from recent merges
2025-01-30 05:04:28 -05:00
akildemir
11d48d0685
add Serai JSON-RPC methods ( #627 )
...
* add serai rpc methods
* fix machete & dex quote price api
* fix validators api
---------
Co-authored-by: Luke Parker <lukeparker5132@gmail.com >
2025-01-30 04:23:03 -05:00
akildemir
e4cc23b72d
add economic security pallet tests ( #623 )
2025-01-30 04:19:12 -05:00
akildemir
52d853c8ba
add validator sets pallet tests ( #614 )
...
* add validator sets pallet tests
* update tests with new types
---------
Co-authored-by: Luke Parker <lukeparker5132@gmail.com >
2025-01-30 04:16:19 -05:00
akildemir
9c33a711d7
add in instructions pallet tests ( #608 )
...
* add pallet tests
* set mock runtime AllowMint to correct type
2025-01-30 04:13:21 -05:00
Luke Parker
a275023cfc
Finish merging in the develop branch
2025-01-30 03:14:24 -05:00
Luke Parker
258c02ff39
Merge branch 'develop' into next
...
This is an initial resolution of conflicts which does not work.
2025-01-30 00:56:29 -05:00
Luke Parker
3892fa30b7
Test an empty execute
2025-01-24 17:13:36 -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
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
2226dd59cc
Comment all dependencies in substrate/node
...
Causes the Cargo.lock to no longer include the substrate dependencies
(including its copy of libp2p).
2025-01-17 04:09:27 -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
cb410cc4e0
Correct how we handle rounding errors within the penalty fn
...
We explicitly no longer slash stakes but we still set the maximum slash to the
allocated stake + the rewards. Now, the reward slash is bound to the rewards
and the stake slash is bound to the stake. This prevents an improperly rounded
reward slash from effecting a stake slash.
2025-01-15 02:46:31 -05:00
Luke Parker
6c145a5ec3
Disable offline, disruptive slashes
...
Reasoning commented in codebase
2025-01-14 11:44:13 -05:00
Luke Parker
a7fef2ba7a
Redesign Slash/SlashReport types with a function to calculate the penalty
2025-01-14 07:51:39 -05:00
Luke Parker
5e0e91c85d
Add tasks to publish data onto Serai
2025-01-14 01:58:26 -05:00
Luke Parker
c6d0fb477c
Inline noise into OnlyValidators
...
libp2p does support (noise, OnlyValidators) but it'll interpret it as either,
not a chain. This will act as the desired chain.
2025-01-05 00:55:25 -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
e67e301fc2
Have the processor verify the published Batches match expectations
2024-12-30 05:21:26 -05:00
Luke Parker
18897978d0
thiserror 2.0, cargo update
2024-12-08 21:55:37 -05:00
Luke Parker
8013c56195
Add/correct msrv labels
2024-12-08 18:27:15 -05: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
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
4292660eda
Have the Ethereum scheduler create Batches as necessary
...
Also introduces the fee logic, despite it being stubbed.
2024-09-19 23:36:32 -07:00
Luke Parker
cc75a92641
Smash out the router library
2024-09-19 23:36:32 -07:00
Luke Parker
eb9bce6862
Remove OutInstruction's data field
...
It makes sense for networks which support arbitrary data to do as part of their
address. This reduces the ability to perform DoSs, achieves better performance,
and better uses the type system (as now networks we don't support data on don't
have a data field).
Updates the Ethereum address definition in serai-client accordingly
2024-09-19 23:36:32 -07:00
Luke Parker
7761798a78
Outline the Ethereum processor
...
This was only half-finished to begin with, unfortunately...
2024-09-19 23:36:32 -07:00
Luke Parker
f2cf03cedf
Monero processor primitives
2024-09-19 23:36:32 -07:00