Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
227 changes: 227 additions & 0 deletions docs/api/api.abc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,227 @@
ABC
===

Abstract base classes for documented interfaces

MiningHeaderAPI
---------------

.. autoclass:: eth.abc.MiningHeaderAPI
:members:


BlockHeaderAPI
--------------

.. autoclass:: eth.abc.BlockHeaderAPI
:members:


LogAPI
------

.. autoclass:: eth.abc.LogAPI
:members:


ReceiptAPI
----------

.. autoclass:: eth.abc.ReceiptAPI
:members:


BaseTransactionAPI
------------------

.. autoclass:: eth.abc.BaseTransactionAPI
:members:


TransactionFieldsAPI
--------------------

.. autoclass:: eth.abc.TransactionFieldsAPI
:members:


UnsignedTransactionAPI
----------------------

.. autoclass:: eth.abc.UnsignedTransactionAPI
:members:


SignedTransactionAPI
--------------------

.. autoclass:: eth.abc.SignedTransactionAPI
:members:


BlockAPI
--------

.. autoclass:: eth.abc.BlockAPI
:members:


DatabaseAPI
-----------

.. autoclass:: eth.abc.DatabaseAPI
:members:


AtomicDatabaseAPI
-----------------

.. autoclass:: eth.abc.AtomicDatabaseAPI
:members:


HeaderDatabaseAPI
-----------------

.. autoclass:: eth.abc.HeaderDatabaseAPI
:members:


ChainDatabaseAPI
----------------

.. autoclass:: eth.abc.ChainDatabaseAPI
:members:


GasMeterAPI
-----------

.. autoclass:: eth.abc.GasMeterAPI
:members:


MessageAPI
----------

.. autoclass:: eth.abc.MessageAPI
:members:


OpcodeAPI
---------

.. autoclass:: eth.abc.OpcodeAPI
:members:


TransactionContextAPI
---------------------

.. autoclass:: eth.abc.TransactionContextAPI
:members:


MemoryAPI
---------

.. autoclass:: eth.abc.MemoryAPI
:members:


StackAPI
--------

.. autoclass:: eth.abc.StackAPI
:members:


CodeStreamAPI
-------------

.. autoclass:: eth.abc.CodeStreamAPI
:members:


StackManipulationAPI
--------------------

.. autoclass:: eth.abc.StackManipulationAPI
:members:


ExecutionContextAPI
-------------------

.. autoclass:: eth.abc.ExecutionContextAPI
:members:


ComputationAPI
--------------

.. autoclass:: eth.abc.ComputationAPI
:members:


AccountStorageDatabaseAPI
-------------------------

.. autoclass:: eth.abc.AccountStorageDatabaseAPI
:members:


AccountDatabaseAPI
------------------

.. autoclass:: eth.abc.AccountDatabaseAPI
:members:


TransactionExecutorAPI
----------------------

.. autoclass:: eth.abc.TransactionExecutorAPI
:members:


ConfigurableAPI
---------------

.. autoclass:: eth.abc.ConfigurableAPI
:members:


StateAPI
--------

.. autoclass:: eth.abc.StateAPI
:members:


VirtualMachineAPI
-----------------

.. autoclass:: eth.abc.VirtualMachineAPI
:members:


HeaderChainAPI
--------------

.. autoclass:: eth.abc.HeaderChainAPI
:members:


ChainAPI
--------

.. autoclass:: eth.abc.ChainAPI
:members:


MiningChainAPI
--------------

.. autoclass:: eth.abc.MiningChainAPI
:members:
6 changes: 0 additions & 6 deletions docs/api/db/api.db.account.rst
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
Account
========

BaseAccountDB
-------------

.. autoclass:: eth.db.account.BaseAccountDB
:members:

AccountDB
-------------

Expand Down
6 changes: 0 additions & 6 deletions docs/api/db/api.db.chain.rst
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
Chain
=====

BaseChainDB
~~~~~~~~~~~

.. autoclass:: eth.db.chain.BaseChainDB
:members:

ChainDB
~~~~~~~

Expand Down
1 change: 1 addition & 0 deletions docs/api/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ This section aims to provide a detailed description of all APIs. If you are look
:name: toc-api-eth


api.abc
api.chain
api.db
api.exceptions
Expand Down
7 changes: 0 additions & 7 deletions docs/api/vm/api.vm.vm.rst
Original file line number Diff line number Diff line change
@@ -1,13 +1,6 @@
VM
==

BaseVM
------

.. autoclass:: eth.vm.base.BaseVM
:members:


VM
--

Expand Down
2 changes: 1 addition & 1 deletion docs/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ All parameters as well as the return type of defs are expected to be typed with

.. code:: python

def __init__(self, wrapped_db: BaseDB) -> None:
def __init__(self, wrapped_db: DatabaseAPI) -> None:
self.wrapped_db = wrapped_db
self.reset()

Expand Down
4 changes: 3 additions & 1 deletion eth/_utils/datatypes.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@

from typing import Any, Dict, Tuple, Type, TypeVar, Iterator, List

from eth.abc import ConfigurableAPI


def _is_local_prop(prop: str) -> bool:
return len(prop.split('.')) == 1
Expand Down Expand Up @@ -64,7 +66,7 @@ def _get_top_level_keys(overrides: Dict[str, Any]) -> Iterator[str]:
T = TypeVar('T')


class Configurable(object):
class Configurable(ConfigurableAPI):
"""
Base class for simple inline subclassing
"""
Expand Down
22 changes: 7 additions & 15 deletions eth/_utils/db.py
Original file line number Diff line number Diff line change
@@ -1,40 +1,32 @@
from typing import (
TYPE_CHECKING,
)

from eth_typing import (
Hash32,
)

from eth.rlp.headers import (
BlockHeader,
from eth.abc import (
BlockHeaderAPI,
ChainDatabaseAPI,
StateAPI,
)
from eth.typing import (
AccountState,
)
from eth.vm.state import (
BaseState,
)

if TYPE_CHECKING:
from eth.db.chain import BaseChainDB # noqa: F401


def get_parent_header(block_header: BlockHeader, db: 'BaseChainDB') -> BlockHeader:
def get_parent_header(block_header: BlockHeaderAPI, db: ChainDatabaseAPI) -> BlockHeaderAPI:
"""
Returns the header for the parent block.
"""
return db.get_block_header_by_hash(block_header.parent_hash)


def get_block_header_by_hash(block_hash: Hash32, db: 'BaseChainDB') -> BlockHeader:
def get_block_header_by_hash(block_hash: Hash32, db: ChainDatabaseAPI) -> BlockHeaderAPI:
"""
Returns the header for the parent block.
"""
return db.get_block_header_by_hash(block_hash)


def apply_state_dict(state: BaseState, state_dict: AccountState) -> None:
def apply_state_dict(state: StateAPI, state_dict: AccountState) -> None:
for account, account_data in state_dict.items():
state.set_balance(account, account_data["balance"])
state.set_nonce(account, account_data["nonce"])
Expand Down
8 changes: 4 additions & 4 deletions eth/_utils/spoof.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
DEFAULT_SPOOF_S,
)

from eth.rlp.transactions import (
BaseTransaction,
BaseUnsignedTransaction,
from eth.abc import (
SignedTransactionAPI,
UnsignedTransactionAPI,
)

SPOOF_ATTRIBUTES_DEFAULTS = {
Expand All @@ -31,7 +31,7 @@
class SpoofAttributes:
def __init__(
self,
spoof_target: Union[BaseTransaction, BaseUnsignedTransaction],
spoof_target: Union[SignedTransactionAPI, UnsignedTransactionAPI],
**overrides: Any) -> None:
self.spoof_target = spoof_target
self.overrides = overrides
Expand Down
Loading