From 383fbc3593a602f8a52049d16e7d19f3b9c752f9 Mon Sep 17 00:00:00 2001 From: Dream Wu Date: Tue, 21 Jun 2022 09:08:29 +0800 Subject: [PATCH 1/2] fix_issue_224 --- src/zkevm_specs/evm/instruction.py | 4 ++-- src/zkevm_specs/evm/typing.py | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/zkevm_specs/evm/instruction.py b/src/zkevm_specs/evm/instruction.py index 75b62d839..80c89ce2a 100644 --- a/src/zkevm_specs/evm/instruction.py +++ b/src/zkevm_specs/evm/instruction.py @@ -500,9 +500,9 @@ def tx_log_lookup( RW.Write, RWTableTag.TxLog, key1=tx_id, - key2=log_id, + key2=FQ(index + int(field_tag) << 16 + log_id.expr().n << 32), key3=FQ(field_tag), - key4=FQ(index), + key4=FQ(0), ).value return value diff --git a/src/zkevm_specs/evm/typing.py b/src/zkevm_specs/evm/typing.py index 9e0615e4f..c011f282d 100644 --- a/src/zkevm_specs/evm/typing.py +++ b/src/zkevm_specs/evm/typing.py @@ -374,9 +374,9 @@ def call_context_write( def tx_log_write( self, tx_id: IntOrFQ, - log_id: IntOrFQ, + log_id: int, field_tag: TxLogFieldTag, - index: IntOrFQ, + index: int, value: Union[int, FQ, RLC], ) -> RWDictionary: if isinstance(value, int): @@ -385,9 +385,9 @@ def tx_log_write( RW.Write, RWTableTag.TxLog, key1=FQ(tx_id), - key2=FQ(log_id), + key2=FQ(index + int(field_tag) << 16 + log_id << 32), key3=FQ(field_tag), - key4=FQ(index), + key4=FQ(0), value=value, ) From af72a8e7d76d8e6b8809e132e6e73793b588bde9 Mon Sep 17 00:00:00 2001 From: Dream Wu Date: Wed, 22 Jun 2022 22:02:08 +0800 Subject: [PATCH 2/2] use 32 bits for index --- src/zkevm_specs/evm/instruction.py | 2 +- src/zkevm_specs/evm/typing.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/zkevm_specs/evm/instruction.py b/src/zkevm_specs/evm/instruction.py index 80c89ce2a..67b86d5ec 100644 --- a/src/zkevm_specs/evm/instruction.py +++ b/src/zkevm_specs/evm/instruction.py @@ -500,7 +500,7 @@ def tx_log_lookup( RW.Write, RWTableTag.TxLog, key1=tx_id, - key2=FQ(index + int(field_tag) << 16 + log_id.expr().n << 32), + key2=FQ(index + int(field_tag) << 32 + log_id.expr().n << 48), key3=FQ(field_tag), key4=FQ(0), ).value diff --git a/src/zkevm_specs/evm/typing.py b/src/zkevm_specs/evm/typing.py index c011f282d..56bfa7dbd 100644 --- a/src/zkevm_specs/evm/typing.py +++ b/src/zkevm_specs/evm/typing.py @@ -385,7 +385,7 @@ def tx_log_write( RW.Write, RWTableTag.TxLog, key1=FQ(tx_id), - key2=FQ(index + int(field_tag) << 16 + log_id << 32), + key2=FQ(index + int(field_tag) << 32 + log_id << 48), key3=FQ(field_tag), key4=FQ(0), value=value,