serai/processor
Luke Parker 8f2a9301cf Don't have the router drop transactions which may have top-level transfers
The router will now match the top-level transfer so it isn't used as the
justification for the InInstruction it's handling. This allows the theoretical
case where a top-level transfer occurs (to any entity) and an internal call
performs a transfer to Serai.

Also uses a JoinSet for fetching transactions' top-level transfers in the ERC20
crate. This does add a dependency on tokio yet improves performance, and it's
scoped under serai-processor (which is always presumed to be tokio-based).
While we could instead import futures for join_all,
https://github.com/smol-rs/futures-lite/issues/6 summarizes why that wouldn't
be a good idea. While we could prefer async-executor over tokio's JoinSet,
JoinSet doesn't share the same issues as FuturesUnordered. That means our
question is solely if we want the async-executor executor or the tokio
executor, when we've already established the Serai processor is always presumed
to be tokio-based.
2024-09-19 23:36:32 -07:00
..
bin Allow scheduler's creation of transactions to be async and error 2024-09-19 23:36:32 -07:00
bitcoin Monero Planner 2024-09-19 23:36:32 -07:00
ethereum Don't have the router drop transactions which may have top-level transfers 2024-09-19 23:36:32 -07:00
frost-attempt-manager Route the coordinator, fix race conditions in the signers library 2024-09-19 23:36:32 -07:00
key-gen Misc continuances on the Monero processor 2024-09-19 23:36:32 -07:00
messages Note better message structure in messages 2024-09-19 23:36:32 -07:00
monero Outline the Ethereum processor 2024-09-19 23:36:32 -07:00
primitives Remove OutInstruction's data field 2024-09-19 23:36:32 -07:00
scanner Remove OutInstruction's data field 2024-09-19 23:36:32 -07:00
scheduler Remove OutInstruction's data field 2024-09-19 23:36:32 -07:00
signers cargo fmt signers/scanner 2024-09-19 23:36:32 -07:00
src Remove OutInstruction's data field 2024-09-19 23:36:32 -07:00
view-keys Move additional_key.rs to serai-processor-view-keys 2024-09-19 23:36:32 -07:00
README.md Split processor into bitcoin-processor, ethereum-processor, monero-processor 2024-09-19 23:36:32 -07:00

Processor

The Serai processors, built from the libraries here, scan an external network and report the indexed data to the coordinator. For details on its exact messaging flow, and overall policies, please view docs/processor.