diff --git a/hub/instruction_handling/copy/specifics/codecopy.tex b/hub/instruction_handling/copy/specifics/codecopy.tex index 678eb74..4ba8cb7 100644 --- a/hub/instruction_handling/copy/specifics/codecopy.tex +++ b/hub/instruction_handling/copy/specifics/codecopy.tex @@ -79,15 +79,20 @@ We may nonetheless include some ``sanity check'' constraints labeled by (\sanityCheck) to make the intent explicit: \[ \left\{ \begin{array}{lcll} - \accDeploymentNumber _{i + \locCopyCurrentAccountRow} & = & \cnCodeDepNum _{i + \locCopyCurrentContextRow} & (\sanityCheck) \\ - \accDeploymentStatus _{i + \locCopyCurrentAccountRow} & = & \cnCodeDepStatus _{i + \locCopyCurrentContextRow} & (\sanityCheck) \\ - \accCfi _{i + \locCopyCurrentAccountRow} & = & \cnCodeCfi _{i + \locCopyCurrentContextRow} & (\sanityCheck) \\ - \accCfi _{i + \locCopyCurrentAccountRow} & = & \cfi_{i} & (\sanityCheck) \vspace{2mm} \\ - \accRomLexFlag _{i + \locCopyCurrentAccountRow} & = & \rOne & (\sanityCheck) ~ (\trash) \\ + \accDeploymentNumber _{i + \locCopyCurrentAccountRow} & = & \cnCodeDepNum _{i + \locCopyCurrentContextRow} & (\sanityCheck) \\ + \accDeploymentStatus _{i + \locCopyCurrentAccountRow} & = & \cnCodeDepStatus _{i + \locCopyCurrentContextRow} & (\sanityCheck) \\ + \accCfi _{i + \locCopyCurrentAccountRow} & = & \cnCodeCfi _{i + \locCopyCurrentContextRow} & (\sanityCheck) \\ + \accCfi _{i + \locCopyCurrentAccountRow} & = & \cfi_{i} & (\sanityCheck) \vspace{2mm} \\ + \multicolumn{3}{l}{\accRetrieveCodeFragmentIndex {i} {\locCopyCurrentAccountRow}} & (\sanityCheck) \\ \end{array} \right. \] These constraints confront \textbf{account data} with \textbf{context data}. One constraint confronts \textbf{account data} with \textbf{shared data}. Note furthermore that turning on the \accRomLexFlag{} also leads to a confrontation between \textbf{account data} and \romMod{} module data. + + \saNote{} + If one wants to implement these ``sanity check'' constraints, + in particular that involving $\accCfi$, on \textbf{must} force $\accCfi$ to be the right one one. + For this it is \textbf{necessary} that one turn on the relevant $\accRomLexFlag$ via $\accRetrieveCodeFragmentIndex {i} {\locCopyCurrentAccountRow}$. \end{description} \end{description} diff --git a/hub/instruction_handling/copy/specifics/extcodecopy.tex b/hub/instruction_handling/copy/specifics/extcodecopy.tex index d3b6de4..d17a698 100644 --- a/hub/instruction_handling/copy/specifics/extcodecopy.tex +++ b/hub/instruction_handling/copy/specifics/extcodecopy.tex @@ -109,7 +109,7 @@ {i}{\locCopyOutsideAccountRowFirst} {\locAddressParamHi} {\locAddressParamLo}} \\ - \accRomLexFlag _{i + 2} & = & \locTriggerCfi \vspace{2mm} \\ + \accRomLexFlag _{i + \locCopyOutsideAccountRowFirst} & = & \locTriggerCfi \vspace{2mm} \\ \multicolumn{4}{l}{\accSameBalance {i}{\locCopyOutsideAccountRowFirst}} \\ \multicolumn{4}{l}{\accSameNonce {i}{\locCopyOutsideAccountRowFirst}} \\ \multicolumn{4}{l}{\accSameCode {i}{\locCopyOutsideAccountRowFirst}} \\ diff --git a/hub/instruction_handling/halt/return/specialized/deployment_nontrivial.tex b/hub/instruction_handling/halt/return/specialized/deployment_nontrivial.tex index 440622b..a8b3696 100644 --- a/hub/instruction_handling/halt/return/specialized/deployment_nontrivial.tex +++ b/hub/instruction_handling/halt/return/specialized/deployment_nontrivial.tex @@ -89,7 +89,8 @@ \accDeploymentStatus\new _{i + \locNonemptyDeploymentFirstAccountRowOffset} & = & 0 \vspace{2mm} \\ \multicolumn{3}{l}{\accSameWarmth {i} {\locNonemptyDeploymentFirstAccountRowOffset}} \\ \multicolumn{3}{l}{\accSameMarkedForSelfdestructFlag {i} {\locNonemptyDeploymentFirstAccountRowOffset}} \\ - \accRomLexFlag _{i + \locNonemptyDeploymentFirstAccountRowOffset} & = & \rOne \\ + \multicolumn{3}{l}{\accRetrieveCodeFragmentIndex {i} {\locNonemptyDeploymentFirstAccountRowOffset}} \\ + % \accRomLexFlag _{i + \locNonemptyDeploymentFirstAccountRowOffset} & = & \rOne \\ \accTrmFlag _{i + \locNonemptyDeploymentFirstAccountRowOffset} & = & \gZero \\ \multicolumn{3}{l}{ \standardDomSubStamps { diff --git a/pkg/env.sty b/pkg/env.sty index 88f994a..7b7576d 100644 --- a/pkg/env.sty +++ b/pkg/env.sty @@ -244,8 +244,8 @@ \newcommand{\accTrimAddress} [4] {\accountSignifier\texttt{trimAddress} _{#1} \left[ \begin{array}{ll} \utt{Rel. row offset:} & #2 \\ -\utt{Raw address (high part):} & #3 \\ -\utt{Raw address (low part):} & #4 \\ +\utt{Raw address (hi part):} & #3 \\ +\utt{Raw address (lo part):} & #4 \\ \end{array} \right]} \newcommand{\accIsntPrecompile} [2] {\accountSignifier\texttt{isntPrecompile} _{#1} \big[ #2 \big] }