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
5999f5d65a
Route the DB w.r.t. forwarded outputs' information
2024-09-19 23:36:32 -07:00
Luke Parker
775824f373
Impl ScanData serialization in the DB
2024-09-19 23:36:32 -07:00
Luke Parker
41a74cb513
Check a queued key has never been queued before
...
Re-queueing should only happen with a malicious supermajority and breaks
indexing by the key.
2024-09-19 23:36:32 -07:00
Luke Parker
4f6d91037e
Call flush_key
2024-09-19 23:36:32 -07:00
Luke Parker
f9d02d43c2
Route burns through the scanner
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
738636c238
Have Scanner::new spawn tasks
2024-09-19 23:36:32 -07:00
Luke Parker
65f3f48517
Add ReportDb
2024-09-19 23:36:32 -07:00
Luke Parker
fdfe520f9d
Add ScanDb
2024-09-19 23:36:32 -07:00
Luke Parker
7c1025dbcb
Implement key retiry
2024-09-19 23:36:32 -07:00
Luke Parker
a771fbe1c6
Logs, documentation, misc
2024-09-19 23:36:32 -07:00
Luke Parker
75251f04b4
Use a channel for the InInstructions
...
It's still unclear how we'll handle refunding failed InInstructions at this
time. Presumably, extending the InInstruction channel with the associated
output ID?
2024-09-19 23:36:32 -07:00
Luke Parker
6196642beb
Add a DbChannel between scan and eventuality task
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
9ab8ba0215
Add dedicated Eventuality DB and stub missing fns
2024-09-19 23:36:32 -07:00
Luke Parker
1e8f4e6156
Make a dedicated IndexDb
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
945f31dfc7
Have the scan flag blocks with change/branch/forwarded as notable
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
fd12cc0213
Finish scan 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
bc0cc5a754
Decide flow between scan/eventuality/report
...
Scan now only handles External outputs, with an associated essay going over
why. Scan directly creates the InInstruction (prior planned to be done in
Report), and Eventuality is declared to end up yielding the outputs.
That will require making the Eventuality flow two-stage. One stage to evaluate
existing Eventualities and yield outputs, and one stage to incorporate new
Eventualities before advancing the scan window.
2024-09-19 23:36:32 -07:00
Luke Parker
4e29678799
Add bounds for the eventuality task
2024-09-19 23:36:32 -07:00
Luke Parker
74d3075dae
Document expectations on Eventuality task and correct code determining the block safe to scan/report
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
2b47feafed
Correct misc compilation errors
2024-09-19 23:36:32 -07:00
Luke Parker
a2717d73f0
Flesh out new scanner a bit more
...
Adds the task to mark blocks safe to scan, and outlines the task to report
blocks.
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