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
e78236276a
Remove async-trait from processor/
...
Part of https://github.com/serai-dex/issues/607 .
2024-09-19 23:36:32 -07:00
Luke Parker
2d4b775b6e
Add bitcoin Block trait impl
2024-09-19 23:36:32 -07:00
Luke Parker
247cc8f0cc
Bitcoin Output/Transaction definitions
2024-09-19 23:36:32 -07:00
Luke Parker
f07ec7bee0
Route the coordinator, fix race conditions in the signers library
2024-09-19 23:36:32 -07:00
Luke Parker
7484eadbbb
Expand task management
...
These extensions are necessary for the signers task management.
2024-09-19 23:36:32 -07:00
Luke Parker
a353f9e2da
Further work on transaction signing
2024-09-19 23:36:32 -07:00
Luke Parker
b62fc3a1fa
Minor work on the transaction signing task
2024-09-19 23:36:32 -07:00
Luke Parker
6e9cb74022
Add non-transaction-chaining scheduler
2024-09-19 23:36:32 -07:00
Luke Parker
653ead1e8c
Finish the tree logic in the transaction-chaining scheduler
...
Also completes the DB functions, makes Scheduler never instantiated, and
ensures tree roots have change outputs.
2024-09-19 23:36:32 -07:00
Luke Parker
f11a6b4ff1
Better document the forwarded output flow
2024-09-19 23:36:32 -07:00
Luke Parker
c88ebe985e
Outline of the transaction-chaining scheduler
2024-09-19 23:36:32 -07:00
Luke Parker
6deb60513c
Expand primitives/scanner with niceties needed for the scheduler
2024-09-19 23:36:32 -07:00
Luke Parker
76cbe6cf1e
Have acknowledge_block take in the results of the InInstructions executed
...
If any failed, the scanner now creates a Burn for the return.
2024-09-19 23:36:32 -07:00
Luke Parker
04a971a024
Fill in various DB functions
2024-09-19 23:36:32 -07:00
Luke Parker
7c1025dbcb
Implement key retiry
2024-09-19 23:36:32 -07:00
Luke Parker
2bddf00222
Don't expose IndexDb throughout the crate
2024-09-19 23:36:32 -07:00
Luke Parker
7e71840822
Add helper methods
...
Has fetched blocks checked to be the indexed blocks. Has scanned outputs be
sorted, meaning they aren't subject to implicit order/may be non-deterministic
(such as if handled by a threadpool).
2024-09-19 23:36:32 -07:00
Luke Parker
b65dbacd6a
Move ContinuallyRan into primitives
...
I'm unsure where else it'll be used within the processor, yet it's generally
useful and I don't want to make a dedicated crate yet.
2024-09-19 23:36:32 -07:00
Luke Parker
379780a3c9
Flesh out eventuality task
2024-09-19 23:36:32 -07:00
Luke Parker
d5d1fc3eea
Flesh out report task
2024-09-19 23:36:32 -07:00
Luke Parker
ce805c8cc8
Correct compilation errors
2024-09-19 23:36:32 -07:00
Luke Parker
f2ee4daf43
Add Eventuality back to processor primitives
...
Also splits crate into modules.
2024-09-19 23:36:32 -07:00
Luke Parker
155ad48f4c
Handle dust
2024-09-19 23:36:32 -07:00
Luke Parker
951872b026
Differentiate BlockHeader from Block
2024-09-19 23:36:32 -07:00
Luke Parker
8763ef23ed
Definition and delineation of tasks within the scanner
...
Also defines primitives for the processor.
2024-09-19 23:36:32 -07:00