-
Notifications
You must be signed in to change notification settings - Fork 22
EIP 7951 Hub side #310
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EIP 7951 Hub side #310
Conversation
dc56afa to
b447b84
Compare
hub/instruction_handling/call/precompiles/bls/lua/common.lua.tex
Outdated
Show resolved
Hide resolved
dfbbe35 to
e18c08d
Compare
6b03928 to
8826b8f
Compare
a7aba74 to
3bd2df6
Compare
hub/instruction_handling/call/precompiles/ecadd_ecmul_ecpairing_bls_pverify/success.tex
Outdated
Show resolved
Hide resolved
…, specify malformed data from ecdata
…add pVerify in CALL type table for unexc and unab
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Empty Call Data Check Inconsistency
The sanity check enforcing \locOobResultEmptyCallData = 0 is conditioned on \scenPrecompileCommonBls _{i} = 1, but \scenPVerify is not part of \scenPrecompileCommonBls. Since P256_VERIFY actively disallows empty call data (per ecadd_ecmul_ecpairing_bls_pverify/empty.tex), this constraint should also apply to P256_VERIFY but currently won't be enforced. The sanity check needs to include P256_VERIFY explicitly or be restructured to cover all precompiles that disallow empty call data.
hub/instruction_handling/call/precompiles/common/generalities.tex#L139-L145
linea-specification/hub/instruction_handling/call/precompiles/common/generalities.tex
Lines 139 to 145 in a944488
| anchorRow = i , | |
| relOffset = \prcCommonMiscRowOffset , | |
| sourceId = \cn_{i} , | |
| targetId = 1 + \hubStamp_{i} , | |
| sourceOffsetLo = \locPrcCdo , | |
| size = \locPrcCds , | |
| referenceOffset = 0 , |
hub/instruction_handling/call/precompiles/ecadd_ecmul_ecpairing_bls_pverify/success.tex
Outdated
Show resolved
Hide resolved
Signed-off-by: Olivier Bégassat <[email protected]>
Signed-off-by: Olivier Bégassat <[email protected]>
OlivierBBB
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only one concern about a macro containing numerals in its name. LGTM otherwise.
hub/instruction_handling/call/precompiles/ecadd_ecmul_ecpairing_bls_pverify/empty.tex
Show resolved
Hide resolved
hub/scenario/tables/_local.tex
Outdated
| \def\columnPrcBlsPairingCheck {\verticalColumnName{\scenBlsPairingCheck }} | ||
| \def\columnPrcBlsMapFpToGOne {\verticalColumnName{\scenBlsMapFpToGOne }} | ||
| \def\columnPrcBlsMapFpTwoToGTwo {\verticalColumnName{\scenBlsMapFpTwoToGTwo }} | ||
| \def\columnPrcP256Verify {\verticalColumnName{\scenPVerify }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It this accepted by Latex ? I believe you can't have numerals in latex macros.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll change it to be consistent with other naming
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apparently it is. I had no idea ... how many macros I created would be improved by using numerals 😱
| + & \scenEcmul _{i} \\ | ||
| + & \scenEcpairing _{i} \\ | ||
| + & \scenPrecompileCommonBls _{i} \\ | ||
| + & \scenPVerify _{i} \\ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is ok. We may (not sure at this point) change this back as what we discovered this afternoon is that P256_VERIFY can only fail for OOG reasons, which are FKTH.
| only (\emph{c}) requires touching \textsc{ram} in order to detect; | ||
| it is detected by \scenPrcFailureKnownToRam{}; | ||
| if none of these conditions are triggered the output is a 32 byte integer slice $\textbf{o} \in \mathbb{B}_{32}$; | ||
| \end{description} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This we will have to change in light of our new understanding of P256_VERIFY
All requested changed are done :)


CALL/precompile ≡ 1in table unexcept and unaborted call typeNote
Introduces P256_VERIFY precompile across HUB/OOB/MMU with full scenarios, shorthands, and tables; unifies precompile address range and updates BLS/PRECOMPILE docs and diagrams.
P256_VERIFYsupport: new scenario\scenPVerify, success/Failure (FKTH/FKTR) flows, result size, exo-phase wiring, and data transfer logic.P256_VERIFY; enforce non-empty call data like BLS/point-evaluation.\oobInstPVerifyand related predictions.\prcAddressRangeand switch references to it (incl. CALL handling and Tx-skip rules).\numConstand add\prcAddressPVerifyValue.\scenPrecompileWeightedSum) to use address constants; addP256_VERIFYto classification, NSR/flag-sum defs, and tables.P256_VERIFY.P256_VERIFYalongside BLS.Written by Cursor Bugbot for commit dbf81e4. This will update automatically on new commits. Configure here.