Skip to content

Commit 26b8ee1

Browse files
committed
refactor: reorganize directory structure
1 parent cf4a50e commit 26b8ee1

28 files changed

+45
-52
lines changed

erever/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from .assemble import assemble
2-
from .context import Context
2+
from .data_structure.context import Context
33
from .disassemble import disassemble
44
from .disassemble_mermaid import disassemble_mermaid
55
from .disassemble_symbolic import disassemble_symbolic

erever/__main__.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
import tomllib
66

77
from .assemble import assemble
8-
from .colors import Colors
9-
from .context import Context
8+
from .data_structure.context import Context
109
from .disassemble import MemoryDisplay, disassemble
1110
from .disassemble_mermaid import disassemble_mermaid
1211
from .disassemble_symbolic import disassemble_symbolic
1312
from .find_gadgets import find_gadgets
14-
from .utils import UINT256_MAX
13+
from .utils.colors import Colors
14+
from .utils.general import UINT256_MAX
1515

1616

1717
class CustomHelpFormatter(argparse.HelpFormatter):

erever/assemble.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from .opcodes import OPCODES
1+
from .opcodes.cancun import OPCODES
22

33

44
def assemble(mnemonics_str: str) -> bytes:

erever/data_structure/__init__.py

Whitespace-only changes.

erever/context.py erever/data_structure/context.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
from web3 import HTTPProvider, Web3
55
from web3.types import BlockData, TxData
66

7-
from .eof import EOF
8-
from .precompiled_contracts import PRECOMPILED_CONTRACTS
7+
from ..eof import EOF
8+
from ..precompiled_contracts.shanghai import PRECOMPILED_CONTRACTS
9+
from ..types import AddressInt, Gas
10+
from ..utils.general import UINT256_MAX, int_to_check_sum_address
911
from .storage import Storage
10-
from .types import AddressInt, Gas
11-
from .utils import UINT256_MAX, int_to_check_sum_address
1212

1313
StateDict = dict[str, dict[str, str | int | dict[str, str]]]
1414

erever/memory.py erever/data_structure/memory.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from Crypto.Util.number import bytes_to_long
22

3-
from .colors import Colors
4-
from .types import Gas
5-
from .utils import decode_printable_with_color, is_overlapping
3+
from ..types import Gas
4+
from ..utils.colors import Colors
5+
from ..utils.general import decode_printable_with_color, is_overlapping
66

77

88
class Memory:

erever/node.py erever/data_structure/node.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from .colors import Colors
2-
from .utils import pad_even
1+
from ..utils.colors import Colors
2+
from ..utils.general import pad_even
33

44
NodeValue = str | int | list["Node"]
55

erever/stack.py erever/data_structure/stack.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from .colors import Colors
2-
from .utils import UINT256_MAX, decode_printable_with_color, pad_even
1+
from ..utils.colors import Colors
2+
from ..utils.general import UINT256_MAX, decode_printable_with_color, pad_even
33

44

55
class Stack:

erever/storage.py erever/data_structure/storage.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from .utils import UINT256_MAX
1+
from ..utils.general import UINT256_MAX
22

33

44
class Storage:
File renamed without changes.

erever/disassemble.py

+8-18
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,16 @@
66
from Crypto.Hash import SHA256, keccak
77
from Crypto.Util.number import bytes_to_long
88

9-
from .colors import Colors
10-
from .context import Context
9+
from .data_structure.context import Context
10+
from .data_structure.memory import Memory
11+
from .data_structure.stack import Stack
1112
from .eof import EOF, parse_eof_body, parse_eof_header
1213
from .gas import GAS_CODE_WARM_COLD_DIFF, calculate_message_call_gas
13-
from .memory import Memory
14-
from .opcodes import OPCODES
15-
from .opcodes_eof import OPCODES_EOF
16-
from .precompiled_contracts import PRECOMPILED_CONTRACTS
17-
from .stack import Stack
18-
from .utils import (
19-
SIGN_MASK,
20-
TAB_SIZE,
21-
UINT256_MAX,
22-
compute_contract_address,
23-
int256,
24-
is_invocation_mnemonic,
25-
pad,
26-
pad_even,
27-
uint256,
28-
)
14+
from .opcodes.cancun import OPCODES
15+
from .opcodes.eof import OPCODES_EOF
16+
from .precompiled_contracts.shanghai import PRECOMPILED_CONTRACTS
17+
from .utils.colors import Colors
18+
from .utils.general import SIGN_MASK, TAB_SIZE, UINT256_MAX, compute_contract_address, int256, is_invocation_mnemonic, pad, pad_even, uint256
2919

3020

3121
@dataclass

erever/disassemble_mermaid.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
from enum import Enum
22

3-
from .context import Context
3+
from .data_structure.context import Context
44
from .disassemble import disassemble
5-
from .opcodes import OPCODES
6-
from .utils import UINT256_MAX, pad
5+
from .opcodes.cancun import OPCODES
6+
from .utils.general import UINT256_MAX, pad
77

88

99
class ControlType(Enum):

erever/disassemble_symbolic.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33

44
from Crypto.Util.number import bytes_to_long
55

6-
from .colors import Colors
7-
from .context import Context
8-
from .node import Node
9-
from .opcodes import OPCODES
10-
from .symbolic_stack import SymbolicStack
11-
from .utils import TAB_SIZE, UINT256_MAX, pad
6+
from .data_structure.context import Context
7+
from .data_structure.node import Node
8+
from .data_structure.symbolic_stack import SymbolicStack
9+
from .opcodes.cancun import OPCODES
10+
from .utils.colors import Colors
11+
from .utils.general import TAB_SIZE, UINT256_MAX, pad
1212

1313
Gadget = tuple[int, Node | None, int, SymbolicStack, list[Node], list[tuple[Node, int, bool]]]
1414

erever/find_gadgets.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
from .colors import Colors
2-
from .context import Context
1+
from .data_structure.context import Context
32
from .disassemble import disassemble
43
from .disassemble_symbolic import disassemble_symbolic
5-
from .utils import pad
4+
from .utils.colors import Colors
5+
from .utils.general import pad
66

77

88
def find_gadgets(

erever/opcodes/__init__.py

Whitespace-only changes.
File renamed without changes.
File renamed without changes.

erever/precompiled_contracts/__init__.py

Whitespace-only changes.
File renamed without changes.

erever/utils/__init__.py

Whitespace-only changes.
File renamed without changes.
File renamed without changes.

erever/utils.py erever/utils/general.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from eth_typing import ChecksumAddress
55
from web3 import Web3
66

7+
from ..types import AddressInt
78
from .colors import Colors
8-
from .types import AddressInt
99

1010
UINT256_MAX = (1 << 256) - 1
1111
SIGN_MASK = 1 << 255
File renamed without changes.

pyproject.toml

+4-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ dependencies = [
1717
requires-python = ">=3.12"
1818

1919
[project.scripts]
20-
erever = "erever.__main__:main"
20+
erever = "__main__:main"
2121

2222
[build-system]
2323
requires = ["hatchling"]
@@ -41,5 +41,8 @@ precommit = { chain = ["fix", "type-check-strict"] }
4141
[tool.hatch.metadata]
4242
allow-direct-references = true
4343

44+
[tool.hatch.build.targets.wheel]
45+
packages = ["erever"]
46+
4447
[tool.ruff]
4548
line-length = 120

tests/test_compute_contract_address.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from erever.utils import compute_contract_address
1+
from erever.utils.general import compute_contract_address
22

33

44
def test() -> None:

tests/test_opcodes.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from erever.context import Context
1+
from erever.data_structure.context import Context
22
from erever.disassemble import disassemble
33

44

tests/test_secp256k1.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from erever.secp256k1 import ECDSA, ECPoint, Fp, G, n
1+
from erever.utils.secp256k1 import ECDSA, ECPoint, Fp, G, n
22

33

44
def test_key_pair() -> None:

0 commit comments

Comments
 (0)