Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
this PR target for exex connection initalization & minimal compliance example ( not full sophisticate logic ) - and tried to evaluate what UX is required for
hdp-sp1
, what additional macros are required.read()
macronow we have
client.write(v)
method onDataProcessorClient
and the value passed as v will be captured in program withhdp::read()
macro. Reasoning behind is again, we need to abstract behavior ofonline
mode andzkvm
mode.v
will be just assigned as value during online mode through stdio pipeline. during zkvm mode,v
will be deliver to zkvm program viaSP1Stdin
. and this macro is abstracting this two behaviors in conditional compilation.hdp-sp1/hdp-macro/src/lib.rs
Lines 25 to 45 in f688939
exex
connection withhdp-sp1
For compilance example, exex need to pass
block_number
and potentially some context related transaction ( for now simplicity i just passed tx length) to the hdp program. So base on the ability given byread()
macro above, exex will keep stream dynamic values into hdp program thatDataProcessorClient
abstracted running online -> zkvm mode.hdp-sp1/examples/compliance/compliance/src/main.rs
Lines 25 to 34 in f688939