Skip to content

Commit

Permalink
deploy: 640e0f8
Browse files Browse the repository at this point in the history
  • Loading branch information
tynes committed Jan 16, 2025
1 parent 0e4fbe9 commit 4b17fdf
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 2 deletions.
28 changes: 28 additions & 0 deletions interop/derivation.html
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,11 @@ <h1 id="derivation"><a class="header" href="#derivation">Derivation</a></h1>
</li>
</ul>
</li>
<li><a href="#replacing-invalid-blocks">Replacing Invalid Blocks</a>
<ul>
<li><a href="#optimistic-block-deposited-transaction">Optimistic Block Deposited Transaction</a></li>
</ul>
</li>
<li><a href="#security-considerations">Security Considerations</a>
<ul>
<li><a href="#gas-considerations">Gas Considerations</a></li>
Expand Down Expand Up @@ -265,6 +270,29 @@ <h5 id="deposits-complete-source-hash"><a class="header" href="#deposits-complet
And <code>seqNumber = l2BlockNum - l2EpochStartBlockNum</code>,
where <code>l2BlockNum</code> is the L2 block number of the inclusion of the deposit tx in L2,
and <code>l2EpochStartBlockNum</code> is the L2 block number of the first L2 block in the epoch.</p>
<h2 id="replacing-invalid-blocks"><a class="header" href="#replacing-invalid-blocks">Replacing Invalid Blocks</a></h2>
<p>When the <a href="./messaging.html#resolving-cross-chain-safety">cross chain dependency resolution</a> determines
that a block contains an <a href="./messaging.html#invalid-messages">invalid message</a>, the block is replaced
by a block with the same inputs, except for the transactions included. The transactions from the
original block are trimmed to include only deposit transactions plus an
<a href="#optimistic-block-deposited-transaction">optimistic block info deposit transaction</a> which is appended
to the trimmed transaction list.</p>
<h3 id="optimistic-block-deposited-transaction"><a class="header" href="#optimistic-block-deposited-transaction">Optimistic Block Deposited Transaction</a></h3>
<p>An [L1 attributes deposited transaction][g-l1-attr-deposit] is a deposit transaction sent to the zero address.</p>
<p>This transaction MUST have the following values:</p>
<ol>
<li><code>from</code> is <code>0xdeaddeaddeaddeaddeaddeaddeaddeaddead0002</code> (the address of the
[L1 Attributes depositor account][depositor-account])</li>
<li><code>to</code> is <code>0x0000000000000000000000000000000000000000</code> (the zero address as no EVM code execution is expected).</li>
<li><code>mint</code> is <code>0</code></li>
<li><code>value</code> is <code>0</code></li>
<li><code>gasLimit</code> is set <code>36000</code> gas, to cover intrinsic costs, processing costs, and margin for change.</li>
<li><code>isSystemTx</code> is set to <code>false</code>.</li>
<li><code>data</code> is the preimage of the <a href="../glossary.html#l2-output-root-proposals">L2 output root</a>
of the replaced block. i.e. <code>version_byte || payload</code> without applying the <code>keccak256</code> hashing.</li>
</ol>
<p>This system-initiated transaction for L1 attributes is not charged any ETH for its allocated
<code>gasLimit</code>, as it is considered part of state-transition processing.</p>
<h2 id="security-considerations"><a class="header" href="#security-considerations">Security Considerations</a></h2>
<h3 id="gas-considerations"><a class="header" href="#gas-considerations">Gas Considerations</a></h3>
<p>There must be sufficient gas available in the block to destroy deposit context. Depending on the
Expand Down
28 changes: 28 additions & 0 deletions print.html
Original file line number Diff line number Diff line change
Expand Up @@ -11982,6 +11982,11 @@ <h1 id="derivation-3"><a class="header" href="#derivation-3">Derivation</a></h1>
</li>
</ul>
</li>
<li><a href="interop/derivation.html#replacing-invalid-blocks">Replacing Invalid Blocks</a>
<ul>
<li><a href="interop/derivation.html#optimistic-block-deposited-transaction">Optimistic Block Deposited Transaction</a></li>
</ul>
</li>
<li><a href="interop/derivation.html#security-considerations">Security Considerations</a>
<ul>
<li><a href="interop/derivation.html#gas-considerations">Gas Considerations</a></li>
Expand Down Expand Up @@ -12059,6 +12064,29 @@ <h5 id="deposits-complete-source-hash"><a class="header" href="#deposits-complet
And <code>seqNumber = l2BlockNum - l2EpochStartBlockNum</code>,
where <code>l2BlockNum</code> is the L2 block number of the inclusion of the deposit tx in L2,
and <code>l2EpochStartBlockNum</code> is the L2 block number of the first L2 block in the epoch.</p>
<h2 id="replacing-invalid-blocks"><a class="header" href="#replacing-invalid-blocks">Replacing Invalid Blocks</a></h2>
<p>When the <a href="interop/./messaging.html#resolving-cross-chain-safety">cross chain dependency resolution</a> determines
that a block contains an <a href="interop/./messaging.html#invalid-messages">invalid message</a>, the block is replaced
by a block with the same inputs, except for the transactions included. The transactions from the
original block are trimmed to include only deposit transactions plus an
<a href="interop/derivation.html#optimistic-block-deposited-transaction">optimistic block info deposit transaction</a> which is appended
to the trimmed transaction list.</p>
<h3 id="optimistic-block-deposited-transaction"><a class="header" href="#optimistic-block-deposited-transaction">Optimistic Block Deposited Transaction</a></h3>
<p>An [L1 attributes deposited transaction][g-l1-attr-deposit] is a deposit transaction sent to the zero address.</p>
<p>This transaction MUST have the following values:</p>
<ol>
<li><code>from</code> is <code>0xdeaddeaddeaddeaddeaddeaddeaddeaddead0002</code> (the address of the
[L1 Attributes depositor account][depositor-account])</li>
<li><code>to</code> is <code>0x0000000000000000000000000000000000000000</code> (the zero address as no EVM code execution is expected).</li>
<li><code>mint</code> is <code>0</code></li>
<li><code>value</code> is <code>0</code></li>
<li><code>gasLimit</code> is set <code>36000</code> gas, to cover intrinsic costs, processing costs, and margin for change.</li>
<li><code>isSystemTx</code> is set to <code>false</code>.</li>
<li><code>data</code> is the preimage of the <a href="interop/../glossary.html#l2-output-root-proposals">L2 output root</a>
of the replaced block. i.e. <code>version_byte || payload</code> without applying the <code>keccak256</code> hashing.</li>
</ol>
<p>This system-initiated transaction for L1 attributes is not charged any ETH for its allocated
<code>gasLimit</code>, as it is considered part of state-transition processing.</p>
<h2 id="security-considerations-13"><a class="header" href="#security-considerations-13">Security Considerations</a></h2>
<h3 id="gas-considerations"><a class="header" href="#gas-considerations">Gas Considerations</a></h3>
<p>There must be sufficient gas available in the block to destroy deposit context. Depending on the
Expand Down
2 changes: 1 addition & 1 deletion searchindex.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion searchindex.json

Large diffs are not rendered by default.

0 comments on commit 4b17fdf

Please sign in to comment.