Luke Parker
86cbf6e02e
Bind the signature scheme for tendermint-machine
2023-04-12 16:06:14 -04:00
Luke Parker
8c8232516d
Only allow designated participants to send transactions
2023-04-12 12:42:23 -04:00
Luke Parker
be947ce152
Add a mempool
2023-04-12 12:15:38 -04:00
Luke Parker
7c7f17aac6
Test the blockchain
2023-04-12 11:13:48 -04:00
Luke Parker
ff5c240fcc
Fix a bug in the merkle algorithm
2023-04-12 10:52:28 -04:00
Luke Parker
d5a12a9b97
Make TransactionKind have a reference to Signed
...
Broken commit due to partial staging of one file.
2023-04-12 09:38:20 -04:00
Luke Parker
354ac856a5
Extensively test transactions
2023-04-12 08:51:40 -04:00
Luke Parker
402a7be966
Block contructor and tests
2023-04-11 20:24:27 -04:00
Luke Parker
119d25be49
Clarify transaction length sizing
2023-04-11 19:18:26 -04:00
Luke Parker
2cfee536f6
Define all coordinator transaction types
2023-04-11 19:04:53 -04:00
Luke Parker
90f67b5e54
Slight merkle improvements
2023-04-11 19:04:27 -04:00
Luke Parker
4d17b922fe
Sign the genesis when signing transactions
...
Prevents replaying across tributaries, which is a risk for BTC/ETH (regarding key gen).
2023-04-11 19:03:52 -04:00
Luke Parker
7488d23e0d
Add basic transaction/block code to Tributary
2023-04-11 13:42:18 -04:00
Luke Parker
a290b74805
Tweak processor's slice handling due to a CI failure
...
The prior code worked without issue for me locally, but apparently it didn't
always.
2023-04-11 10:37:50 -04:00
Luke Parker
61757d5e19
Remove the substrate feature from tendermint
2023-04-11 10:34:41 -04:00
Luke Parker
09f8ac37c4
Create a folder for tributary, the micro-blockchain
...
Moves tendermint again, this time under tributary.
2023-04-11 10:18:31 -04:00
Luke Parker
c46cf47736
Move tendermint under the coordinator
...
We're planning to use it in the micro-blockchain the coordinator will run.
2023-04-11 09:28:32 -04:00
Luke Parker
defce32ff1
Remove k256/p256 git revision patch
...
New releases of k256 and p256 make it no longer necessary.
2023-04-11 09:23:57 -04:00
Luke Parker
de52c4db7f
Add empty coordinator
2023-04-11 09:21:35 -04:00
Luke Parker
d74cbe2cce
Have the Scanner assign batch IDs
2023-04-11 08:47:15 -04:00
Luke Parker
caa695511b
Improve log statements in processor
2023-04-11 06:06:17 -04:00
Luke Parker
7538c10159
Update processor README
2023-04-11 05:53:19 -04:00
Luke Parker
90f2b03595
Finish routing eventualities
...
Also corrects some misc TODOs and tidies up some log statements.
2023-04-11 05:49:27 -04:00
Luke Parker
9e78c8fc9e
Test the processor's Substrate signer
2023-04-10 12:48:48 -04:00
Luke Parker
d323fc8b7b
Handle signing batches in the processor
...
Duplicates the existing signer for one tailored to batch signing.
2023-04-10 11:11:46 -04:00
Luke Parker
82c34dcc76
Implement a FROST variant of Schnorrkel ( #274 )
...
* Minor lint
* Update frost-schnorrkel to the latest modular-frost
* Tidy up the schnorrkel library
2023-04-10 06:05:17 -04:00
Luke Parker
bc19975a8a
Update Bitcoin confirmations from 3 to 6
...
While Bitcoin practically doesn't have long re-orgs, it is possible for a
single miner to build a long chain. Recently, a miner found 5 blocks in a row,
which would be enough to re-org a transaction Serai considered finalized.
2023-04-10 02:51:44 -04:00
Luke Parker
b9f38fb354
Update processor message flow around the new SignedBatch flow
2023-04-10 02:51:36 -04:00
Luke Parker
ccec529cee
cargo update
...
Removes yanked crate.
2023-04-10 00:27:17 -04:00
Luke Parker
1c31ca7187
Correct deny.toml
2023-04-09 02:34:31 -04:00
Luke Parker
f6206b60ec
Update to bitcoin 0.30
...
Also performs a general update with a variety of upgraded Substrate depends.
2023-04-09 02:31:13 -04:00
Luke Parker
96525330c2
cargo update
2023-04-08 04:44:28 -04:00
Luke Parker
7abc8f19cd
Move substrate/serai/* to substrate/*
2023-04-08 03:01:14 -04:00
GitHub Actions
bd06b95c05
Update nightly
2023-04-01 05:44:42 -04:00
Luke Parker
648d237df5
Finish updating to the latest Rust/handle broken cargo update
2023-04-01 05:44:18 -04:00
Luke Parker
3f4bab7f7b
cargo update
...
Resolves yanked crate.
2023-03-31 23:15:32 -04:00
Luke Parker
426346dd5a
Have the processor DKG output a Ristretto key
...
This will be used to sign InInstructions.
2023-03-31 10:15:07 -04:00
Luke Parker
a4f64e2651
Expand work done in provide_batch
2023-03-31 08:13:45 -04:00
Luke Parker
6fa405a728
Update Monero README
2023-03-31 07:02:57 -04:00
Luke Parker
ae4e98c052
Verify Batch signatures
...
Starts further fleshing out the Serai client tests with common utils.
2023-03-31 06:34:09 -04:00
Luke Parker
30b8636641
Update to the latest Substrate commit
...
Enables building with only the stable toolchain. The nightly toolchain is still
used for clippy in order to access additional checks.
2023-03-31 02:34:52 -04:00
Luke Parker
1610383649
Test validator set's voting on a key
...
Needed for the in-instructions pallet to verify in-instructions are
appropriately signed and continue developing that.
Fixes a bug in the validator-sets pallet, moves several items from the pallet
to primitives.
2023-03-30 20:32:05 -04:00
Luke Parker
9615caf3bb
Move validator-sets from Key to (RistrettoPublic, Key)
...
Part of #241 .
2023-03-30 20:32:05 -04:00
Luke Parker
8a70416fd0
Attempt to the fix Bitcoin CI's cache statement
2023-03-28 07:33:11 -04:00
Luke Parker
4f28a38ce1
Implement #212
2023-03-28 05:34:21 -04:00
Luke Parker
47be373eb0
Resolve #268 by adding a Zeroize to DigestTranscript which writes a full block
...
This is a 'better-than-nothing' attempt to invalidate its state.
Also replaces black_box features with usage of the rustversion crate.
2023-03-28 04:43:10 -04:00
Luke Parker
79aff5d4c8
ff 0.13 ( #269 )
...
* Partial move to ff 0.13
It turns out the newly released k256 0.12 isn't on ff 0.13, preventing further
work at this time.
* Update all crates to work on ff 0.13
The provided curves still need to be expanded to fit the new API.
* Finish adding dalek-ff-group ff 0.13 constants
* Correct FieldElement::product definition
Also stops exporting macros.
* Test most new parts of ff 0.13
* Additionally test ff-group-tests with BLS12-381 and the pasta curves
We only tested curves from RustCrypto. Now we test a curve offered by zk-crypto,
the group behind ff/group, and the pasta curves, which is by Zcash (though
Zcash developers are also behind zk-crypto).
* Finish Ed448
Fully specifies all constants, passes all tests in ff-group-tests, and finishes moving to ff-0.13.
* Add RustCrypto/elliptic-curves to allowed git repos
Needed due to k256/p256 incorrectly defining product.
* Finish writing ff 0.13 tests
* Add additional comments to dalek
* Further comments
* Update ethereum-serai to ff 0.13
2023-03-28 04:38:01 -04:00
Luke Parker
a9f6300e86
Remove unused dependencies from runtime/node
2023-03-26 23:10:16 -04:00
Luke Parker
ff70cbb223
Remove the genesis volume added for Tendermint
2023-03-26 20:20:32 -04:00
Luke Parker
17818c2a02
Default to the wasm executor
...
https://github.com/paritytech/substrate/issues/ 10579 has the rationale for this.
2023-03-26 18:57:49 -04:00