Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
594df62
ras: 'Rollup team' --> 'Arithmetization team'
OlivierBBB Sep 17, 2025
42df6b7
feat: authorization rlp auto generated macros
OlivierBBB Sep 17, 2025
f4037ed
ras
OlivierBBB Sep 18, 2025
36156b6
design document
OlivierBBB Sep 18, 2025
c804cd7
wip
OlivierBBB Sep 18, 2025
6318e70
ras
OlivierBBB Sep 18, 2025
36842c6
ras
OlivierBBB Sep 18, 2025
e745082
ras
OlivierBBB Sep 18, 2025
cd2cdcc
Merge branch 'main' into RLP_AUTH-module
OlivierBBB Sep 18, 2025
70fbf52
ras
OlivierBBB Sep 18, 2025
b1699e4
design document progress
OlivierBBB Sep 18, 2025
fe02151
more design document progress
OlivierBBB Sep 18, 2025
5a8f171
stuff
OlivierBBB Sep 19, 2025
85b4309
ras
OlivierBBB Sep 19, 2025
b64c5c2
ras
OlivierBBB Sep 22, 2025
3226ebd
ras
OlivierBBB Sep 22, 2025
f2e8f24
feat: mandatory checks
OlivierBBB Sep 23, 2025
78a07d0
ras
OlivierBBB Sep 23, 2025
50ae8f2
feat: more comparisons
OlivierBBB Sep 24, 2025
8ecb909
ras
OlivierBBB Sep 24, 2025
fd98aa5
feat: column replacements for RLP_UTILS instructions
OlivierBBB Sep 24, 2025
1394d4f
ras
OlivierBBB Sep 24, 2025
7ef449c
feat: WCP_UTILS calls
OlivierBBB Sep 24, 2025
d0097e9
ras
OlivierBBB Sep 25, 2025
a709e68
ras: remove forced transactions note
OlivierBBB Sep 26, 2025
4fb92e7
ras: some more stuff
OlivierBBB Sep 26, 2025
b9ba055
Merge branch 'main' into RLP_AUTH-module
OlivierBBB Sep 26, 2025
25bce3e
feat: remove now obsolete utils/IS_XXX columns from RLP_AUTH
OlivierBBB Sep 27, 2025
87bd61a
feat: adding new XTERN perspective (wip)
OlivierBBB Sep 27, 2025
5efda6a
feat: more XTERN stuff
OlivierBBB Sep 27, 2025
2f4e43c
feat: more XTERN (wip, renaming)
OlivierBBB Sep 27, 2025
8ceeadc
feat: some new XTERN columns + first draft of RLP_AUTH --> HUB lookup
OlivierBBB Sep 27, 2025
5faa505
diagrams
OlivierBBB Sep 28, 2025
6c797ae
ras
OlivierBBB Sep 28, 2025
186f6cb
ras: renaming
OlivierBBB Sep 28, 2025
8af5a94
ras
OlivierBBB Sep 28, 2025
76ccf50
ras
OlivierBBB Sep 28, 2025
b9cac71
ras: some simple lookups
OlivierBBB Sep 28, 2025
9a5de0c
ras: more lookup stuff + updating shorthands wrt XTERN perspective
OlivierBBB Sep 28, 2025
1fe0607
stuff
OlivierBBB Sep 30, 2025
b8af22b
feat: stuff ...
OlivierBBB Sep 30, 2025
ce53840
feat: AUTHORITY_IS_SENDER_ACC/TOT constraints
OlivierBBB Sep 30, 2025
fa65580
feat: intro + recovery bit constraints
OlivierBBB Oct 1, 2025
5355264
ras
OlivierBBB Oct 1, 2025
60ee8da
ras
OlivierBBB Oct 2, 2025
3f2ff51
feat: updated diagrams for KECCAK / ECRECOVER data extraction
OlivierBBB Oct 2, 2025
1cce7ef
ras
OlivierBBB Oct 2, 2025
8c696a8
ras
OlivierBBB Oct 2, 2025
7daccc0
feat: lisp for verticalized ECRECOVER data extraction
OlivierBBB Oct 2, 2025
fb49d18
typo: keccak -> ecrecover in ECRECOVER related diagrams
OlivierBBB Oct 2, 2025
9a324e5
ras
OlivierBBB Oct 2, 2025
215b3e3
feat: lisp for verticalized KECCAK related columns
OlivierBBB Oct 2, 2025
d5b9eb5
feat: added lookup to RLP_UTILS file
OlivierBBB Oct 2, 2025
57386b2
ras: intro changes
OlivierBBB Oct 3, 2025
2602fae
ras
OlivierBBB Oct 3, 2025
1c62788
Merge branch 'main' into RLP_AUTH-module
OlivierBBB Oct 3, 2025
4420539
make things compile again
OlivierBBB Oct 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ mxp: view-mxp
oob: view-oob
prc: view-prc
rlp_addr: view-rlp_addr
rlp_auth: view-rlp_auth
rlp_patterns: view-rlp_patterns
rlp_txn: view-rlp_txn
rlp_txnrcpt: view-rlp_txnrcpt
Expand Down Expand Up @@ -70,6 +71,7 @@ rmxp: recompile-mxp
roob: recompile-oob
rprc: recompile-prc
rrlp_addr: recompile-rlp_addr
rrlp_auth: recompile-rlp_auth
rrlp_patterns: recompile-rlp_patterns
rrlp_txn: recompile-rlp_txn
rrlp_txnrcpt: recompile-rlp_txnrcpt
Expand Down
6 changes: 3 additions & 3 deletions gas/lookups/into_wcp.tex
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,23 @@
\item[Source columns:] we use the following:
\begin{multicols}{3}
\begin{enumerate}
\item $\wcpInst _{i}$
\item $0$
\item $\wcpArgOneLo _{i}$
\item $0$
\item $\wcpArgTwoLo _{i}$
\item $\wcpRes _{i}$
\item $\wcpInst _{i}$
\end{enumerate}
\end{multicols}
\item[Target columns:] we use the following:
\begin{multicols}{3}
\begin{enumerate}
\item $\INST _{j}$
\item $\argOneHi _{j}$
\item $\argOneLo _{j}$
\item $\argTwoHi _{j}$
\item $\argTwoLo _{j}$
\item $\resLo _{j}$
\item $\INST _{j}$
\item $\res _{j}$
\end{enumerate}
\end{multicols}
\end{description}
Expand Down
2 changes: 1 addition & 1 deletion mxp/lua/decision_tree.lua.tex
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
\usepackage{../../pkg/flags_stamps_selectors}
\usetikzlibrary{arrows.meta}
\begin{document}
\input{mxp_v3/_local}
\input{mxp/_local}
\input{hub/instruction_handling/create/_local}
\begin{tikzpicture}
\def\BAS {-3}
Expand Down
1 change: 1 addition & 0 deletions pkg/column_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
"invalid": "invalid",
# rlp modules
"rlpAddr": "address Rlp",
"rlpAuth": "authorization Rlp",
"rlpTxn": "transaction Rlp",
"rlpTxnRcpt": "transaction Receipt Rlp",
"rlpUtils": "rlp Utils",
Expand Down
25 changes: 25 additions & 0 deletions pkg/flags_stamps_selectors.sty
Original file line number Diff line number Diff line change
Expand Up @@ -1575,6 +1575,31 @@
\newcommand{\iRlpAddrSelect}{\imported{\rlpAddrSelect}}
\newcommand{\stackDecRlpAddrFlag}{\stackInstructionDecodedColumn{\rlpAddrFlag}}

% authorization rlp columns:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newcommand{\rlpAuthMod}{\col{RLPAUTH}}

\newcommand{\rlpAuthSTAMP}{\col{AUTHORIZATION\_RLP\_STAMP}}
\newcommand{\rlpAuthStamp}{\col{RLPAUTH}\stamp}
\newcommand{\iRlpAuthSTAMP}{\imported{\rlpAuthSTAMP}}
\newcommand{\iRlpAuthStamp}{\imported{\rlpAuthStamp}}
\newcommand{\rlpAuthRevStamp}{\col{RLPAUTH}\stamp\,\col{REV}}
\newcommand{\iRlpAuthRevStamp}{\imported{\rlpAuthRevStamp}}

\newcommand{\rlpAuthFLAG}{\col{AUTHORIZATION\_RLP\_FLAG}}
\newcommand{\rlpAuthFlag}{\col{RLPAUTH}\flag}
\newcommand{\decRlpAuthFLAG}{\decoded{\rlpAuthFLAG}}
\newcommand{\decRlpAuthFlag}{\decoded{\rlpAuthFlag}}
\newcommand{\idecRlpAuthFLAG}{\imported{\decRlpAuthFLAG}}
\newcommand{\idecRlpAuthFlag}{\imported{\decRlpAuthFlag}}

\newcommand{\rlpAuthSELECT}{\col{AUTHORIZATION\_RLP\_SELECTOR}}
\newcommand{\rlpAuthSelect}{\col{RLPAUTH}\select}
\newcommand{\iRlpAuthSELECT}{\imported{\rlpAuthSELECT}}
\newcommand{\iRlpAuthSelect}{\imported{\rlpAuthSelect}}
\newcommand{\stackDecRlpAuthFlag}{\stackInstructionDecodedColumn{\rlpAuthFlag}}

% transaction rlp columns:
%%%%%%%%%%%%%%%%%%%%%%%%%%

Expand Down
104 changes: 104 additions & 0 deletions pkg/rlp_auth.sty
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
\newcommand{\computation} {\col{CMPTN}}
\newcommand{\computationPerspectivePrefix} {\col{computation}}
\newcommand{\macro} {\col{MACRO}}
\newcommand{\macroPerspectivePrefix} {\col{macro}}
\newcommand{\extern} {\col{XTERN}}
\newcommand{\externPerspectivePrefix} {\col{xtern}}
\newcommand{\utils} {\col{UTILS}}
\newcommand{\utilsPerspectivePrefix} {\col{utils}}
\newcommand{\authority} {\col{AUTHORITY}}
\newcommand{\address} {\col{ADDRESS}}
\newcommand{\signature} {\col{SIGNATURE}}
\newcommand{\signatureY} {\col{\signature\_Y}}
\newcommand{\signatureR} {\col{\signature\_R}}
\newcommand{\signatureS} {\col{\signature\_S}}
\newcommand{\transactionFromAddress} {\col{TXN\_FROM\_}\address}
\newcommand{\authorityTupleIndex} {\col{TUPLE\_INDEX}}
\newcommand{\tuple} {TUPLE}
\newcommand{\isValidTupleName} {\authority\col{\_\tuple\_IS\_VALID}}
\newcommand{\authorityEcrecoverAttempt} {\authority\col{\_ECRECOVER\_ATTEMPT}}
\newcommand{\authorityEcrecoverSuccess} {\authority\col{\_ECRECOVER\_SUCCESS}}
\newcommand{\senderIsAuthority} {\col{SENDER\_IS\_}\authority}
\newcommand{\addressIsZeroAddress} {\col{ADDRESS\_IS\_ZERO\_ADDRESS}}
\newcommand{\transactionTypeWithAuthorityLists} {\col{TXN\_WITH\_AUTHORITY\_LIST}}
\newcommand{\transactionTypeSansAuthorityLists} {\col{TXN\_SANS\_AUTHORITY\_LIST}}
\newcommand{\authorityIsSenderAcc} {\col{AUTHORITY\_IS\_SENDER\_ACC}}
\newcommand{\authorityIsSenderTot} {\col{AUTHORITY\_IS\_SENDER\_TOT}}


\newcommand{\chainIdHiName} {\chainId\_HI}
\newcommand{\chainIdLoName} {\chainId\_LO}
\newcommand{\addressHiName} {\address\_HI}
\newcommand{\addressLoName} {\address\_LO}
\newcommand{\yparityName} {\signatureY}
\newcommand{\rhiName} {\signatureR\_HI}
\newcommand{\rloName} {\signatureR\_LO}
\newcommand{\shiName} {\signatureS\_HI}
\newcommand{\sloName} {\signatureS\_LO}
\newcommand{\authorityHiName} {\authority\_HI}
\newcommand{\authorityLoName} {\authority\_LO}
\newcommand{\transactionFromAddressHi} {\transactionFromAddress\_HI}
\newcommand{\transactionFromAddressLo} {\transactionFromAddress\_LO}
\newcommand{\authorityNonce} {\authority\_NONCE}
\newcommand{\authorizationTupleNonce} {\tuple\_NONCE}
\newcommand{\networkChainId} {NETWORK\_\chainId}
\newcommand{\networkChainIdHi} {\networkChainId\_HI}
\newcommand{\networkChainIdLo} {\networkChainId\_LO}


\newcommand{\rlpAuthMacroColumn}[1] {\macroPerspectivePrefix\separator\col{#1}}
\newcommand{\rlpAuthMacroChainIdHi} {\rlpAuthMacroColumn{\tuple\_\chainIdHiName}}
\newcommand{\rlpAuthMacroChainIdLo} {\rlpAuthMacroColumn{\tuple\_\chainIdLoName}}
\newcommand{\rlpAuthMacroAddressHi} {\rlpAuthMacroColumn{\tuple\_\addressHiName}}
\newcommand{\rlpAuthMacroAddressLo} {\rlpAuthMacroColumn{\tuple\_\addressLoName}}
\newcommand{\rlpAuthMacroNonce} {\rlpAuthMacroColumn{\authorizationTupleNonce}}
\newcommand{\rlpAuthMacroSignatureYparity} {\rlpAuthMacroColumn{\tuple\_\yparityName}}
\newcommand{\rlpAuthMacroSignatureRhi} {\rlpAuthMacroColumn{\tuple\_\rhiName}}
\newcommand{\rlpAuthMacroSignatureRlo} {\rlpAuthMacroColumn{\tuple\_\rloName}}
\newcommand{\rlpAuthMacroSignatureShi} {\rlpAuthMacroColumn{\tuple\_\shiName}}
\newcommand{\rlpAuthMacroSignatureSlo} {\rlpAuthMacroColumn{\tuple\_\sloName}}
\newcommand{\rlpAuthMacroAuthorityTupleIndex} {\rlpAuthMacroColumn{\authorityTupleIndex}}


\newcommand{\rlpAuthExternColumn}[1] {\externPerspectivePrefix\separator\col{#1}}
\newcommand{\rlpAuthExternAuthorityEcrecoverAttempt} {\rlpAuthExternColumn{\authorityEcrecoverAttempt}}
\newcommand{\rlpAuthExternAuthorityRecoverySuccess} {\rlpAuthExternColumn{\authorityEcrecoverSuccess}}
\newcommand{\rlpAuthExternAuthorityTupleIsValid} {\rlpAuthExternColumn{\isValidTupleName}}
\newcommand{\rlpAuthExternTupleAddressHi} {\rlpAuthExternColumn{\addressHiName}}
\newcommand{\rlpAuthExternTupleAddressLo} {\rlpAuthExternColumn{\addressLoName}}
\newcommand{\rlpAuthExternAuthorityAddressHi} {\rlpAuthExternColumn{\authorityHiName}}
\newcommand{\rlpAuthExternAuthorityAddressLo} {\rlpAuthExternColumn{\authorityLoName}}
\newcommand{\rlpAuthExternTransactionFromAddressHi} {\rlpAuthExternColumn{\transactionFromAddressHi}}
\newcommand{\rlpAuthExternTransactionFromAddressLo} {\rlpAuthExternColumn{\transactionFromAddressLo}}
\newcommand{\rlpAuthExternSenderIsAuthority} {\rlpAuthExternColumn{\senderIsAuthority}}
\newcommand{\rlpAuthExternAddressIsZeroAddress} {\rlpAuthExternColumn{\addressIsZeroAddress}}
\newcommand{\rlpAuthExternAuthorityNonce} {\rlpAuthExternColumn{\authorityNonce}}
\newcommand{\rlpAuthExternNetworkChainIdHi} {\rlpAuthExternColumn{\networkChainIdHi}}
\newcommand{\rlpAuthExternNetworkChainIdLo} {\rlpAuthExternColumn{\networkChainIdLo}}
\newcommand{\rlpAuthExternPotentialNewCodeHashHi} {\rlpAuthExternColumn{\codeHash}\col{\_HI}}
\newcommand{\rlpAuthExternPotentialNewCodeHashLo} {\rlpAuthExternColumn{\codeHash}\col{\_LO}}



\newcommand{\rlpAuthUtilsColumn}[1] {\utilsPerspectivePrefix\separator\col{#1}}
\newcommand{\rlpAuthUtilsColumnIsMagic} {\rlpAuthUtilsColumn{IS\_MAGIC}}
\newcommand{\rlpAuthUtilsColumnIsPrefix} {\rlpAuthUtilsColumn{IS\_PREFIX}}
\newcommand{\rlpAuthUtilsColumnIsChainId} {\rlpAuthUtilsColumn{IS\_CHAIN\_ID}}
\newcommand{\rlpAuthUtilsColumnIsAddress} {\rlpAuthUtilsColumn{IS\_ADDRESS}}
\newcommand{\rlpAuthUtilsColumnIsNonce} {\rlpAuthUtilsColumn{IS\_NONCE}}
\newcommand{\rlpAuthUtilsColumnLimbBit} {\rlpAuthUtilsColumn{LIMB\_BIT}}
\newcommand{\rlpAuthUtilsColumnLimb} {\rlpAuthUtilsColumn{LIMB}}
\newcommand{\rlpAuthUtilsColumnLimbSize} {\rlpAuthUtilsColumn{LIMB\_SIZE}}
\newcommand{\rlpAuthUtilsColumnExoDataColumn}[1] {\rlpAuthUtilsColumn{DATA\_#1}}
\newcommand{\rlpAuthUtilsColumnRlpUtilsFlag} {\rlpAuthUtilsColumn{\rlpUtilsMod\_FLAG}}
\newcommand{\rlpAuthUtilsColumnRlpUtilsInstruction} {\rlpAuthUtilsColumn{\rlpUtilsMod\_INST}}
\newcommand{\rlpAuthUtilsColumnSizeCountdown} {\rlpAuthUtilsColumn{BYTE\_SIZE\_COUNTDOWN}}


\newcommand{\rlpAuthComputationColumn}[1] {\computationPerspectivePrefix\separator\col{#1}}
\newcommand{\rlpAuthComputationInst} {\rlpAuthComputationColumn{INST}}
\newcommand{\rlpAuthComputationArgOneHi} {\rlpAuthComputationColumn{ARG\_1\_HI}}
\newcommand{\rlpAuthComputationArgOneLo} {\rlpAuthComputationColumn{ARG\_1\_LO}}
\newcommand{\rlpAuthComputationArgTwoHi} {\rlpAuthComputationColumn{ARG\_2\_HI}}
\newcommand{\rlpAuthComputationArgTwoLo} {\rlpAuthComputationColumn{ARG\_2\_LO}}
\newcommand{\rlpAuthComputationRes} {\rlpAuthComputationColumn{RES}}
4 changes: 2 additions & 2 deletions pkg/rlp_tx.sty
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
\newcommand{\indexx} {\col{INDEX\_LX}}
\newcommand{\rlptsize} {\col{RLP\_LT\_BYTESIZE}}
\newcommand{\rlpxsize} {\col{RLP\_LX\_BYTESIZE}}
\newcommand{\ltByteSizeCountDown} {\col{LT\_BYTE\_SIZE\_COUNTDOWN}}
\newcommand{\lxByteSizeCountDown} {\col{LX\_BYTE\_SIZE\_COUNTDOWN}}
\newcommand{\ltByteSizeCountdown} {\col{LT\_BYTE\_SIZE\_COUNTDOWN}}
\newcommand{\lxByteSizeCountdown} {\col{LX\_BYTE\_SIZE\_COUNTDOWN}}
\newcommand{\accsize} {\col{ACC\_BYTESIZE}}
\newcommand{\indexData} {\col{INDEX\_DATA}}
\newcommand{\dataGasCost} {\col{DATA\_GAS\_COST}}
Expand Down
68 changes: 68 additions & 0 deletions rlp_auth/_all_rlp_auth.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
\documentclass[fleqn]{article}
\usepackage[dvipsnames]{xcolor}
\usepackage{xkeyval}
\usepackage{../pkg/xkeyval_macros/context}
\usepackage{../pkg/xkeyval_macros/transient}
% \usepackage{../pkg/xkeyval_macros/dom_sub_stamps}
% \usepackage{../pkg/xkeyval_macros/mmu_instructions}
% \usepackage{../pkg/xkeyval_macros/mxp_instructions}
% \usepackage{../pkg/xkeyval_macros/oob_instructions}
% \usepackage{../pkg/xkeyval_macros/stp_instructions}
% \usepackage{../pkg/xkeyval_macros/misc_flag_sums}
\usepackage{../pkg/xkeyval_macros/wcp_calls}
% \usepackage{../pkg/xkeyval_macros/ext_calls}
% \usepackage{../pkg/xkeyval_macros/euc_calls}
% \usepackage{../pkg/xkeyval_macros/prc_calls}
\usepackage{../pkg/common}
\usepackage{../pkg/std}
\usepackage{../pkg/env}
\usepackage{../pkg/flags_stamps_selectors}
\usepackage{../pkg/instruction_flags}
\usepackage{../pkg/system}
\usepackage{../pkg/call_stack}
\usepackage{../pkg/IEEEtrantools}
\usepackage{../pkg/access}
\usepackage{../pkg/trm}
\usepackage{../pkg/alu_old}
\usepackage{../pkg/bin}
\usepackage{../pkg/call_stack}
\usepackage{../pkg/comparisons}
\usepackage{../pkg/exceptions}
\usepackage{../pkg/expansion}
\usepackage{../pkg/exponent}
\usepackage{../pkg/gas}
\usepackage{../pkg/offset_processor}
\usepackage{../pkg/oob}
\usepackage{../pkg/public}
\usepackage{../pkg/ram}
\usepackage{../pkg/rom}
\usepackage{../pkg/scenario}
\usepackage{../pkg/storage}
\usepackage{../pkg/warm}
\usepackage{../pkg/wc3}
\usepackage{../pkg/shifting}
\usepackage{../pkg/precompiles}
\usepackage{../pkg/rlp_auth}
\usepackage{../pkg/rlp_tx}
\usepackage{../pkg/rlp_txn_v2}
\usepackage{../pkg/rlp_log}
\usepackage{../pkg/rlp_patterns}
\usepackage{../pkg/txn_data}
\usepackage{../pkg/rlp_utils}
\usepackage{../pkg/block_data}
\usepackage{../pkg/subsubsubsection}
\usepackage{../pkg/iomf_done}

\usepackage{../pkg/draculatheme}

\title{Transaction \rlpAuthMod{} module}
\author{\arithmetizationTeam{}}
\date{September 2025}

\begin{document}

\maketitle
\tableofcontents
\input{_inputs}

\end{document}
Loading