serai/processor/ethereum
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
..
contracts Trim dead code 2024-09-19 23:36:32 -07:00
deployer Don't have the Deployer store the deployment block 2024-09-19 23:36:32 -07:00
erc20 Don't have the router drop transactions which may have top-level transfers 2024-09-19 23:36:32 -07:00
ethereum-serai Trim dead code 2024-09-19 23:36:32 -07:00
primitives Break Ethereum Deployer into crate 2024-09-19 23:36:32 -07:00
router Don't have the router drop transactions which may have top-level transfers 2024-09-19 23:36:32 -07:00
src Don't use a different address for DAI in test 2024-09-19 23:36:32 -07:00
Cargo.toml Move ethereum-serai under the processor 2024-09-19 23:36:32 -07:00
LICENSE Split processor into bitcoin-processor, ethereum-processor, monero-processor 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

Serai Ethereum Processor