ethereum.frontier.utils.addressethereum.homestead.utils.address
Hardfork Utility Functions For Addresses ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. contents:: Table of Contents :backlinks: none :local:
Introduction
Address specific functions used in this frontier version of specification.Address specific functions used in this homestead version of specification.
to_address
Convert a Uint or U256 value to a valid address (20 bytes).
Parameters
data : The string to be converted to bytes.
Returns
address : Address
The obtained address.
def to_address(data: Union[Uint, U256]) -> Address:
25 | """ |
---|---|
26 | Convert a Uint or U256 value to a valid address (20 bytes). |
27 |
|
28 | Parameters |
29 | ---------- |
30 | data : |
31 | The string to be converted to bytes. |
32 |
|
33 | Returns |
34 | ------- |
35 | address : `Address` |
36 | The obtained address. |
37 | """ |
38 | return Address(data.to_be_bytes32()[-20:]) |
compute_contract_address
Computes address of the new account that needs to be created.
Parameters
address : The address of the account that wants to create the new account. nonce : The transaction count of the account that wants to create the new account.
Returns
address:
The computed address of the new account.ethereum.frontier.fork_types.Addressethereum.homestead.fork_types.Address
def compute_contract_address(address: Address, nonce: Uint) -> Address:
42 | """ |
---|---|
43 | Computes address of the new account that needs to be created. |
44 |
|
45 | Parameters |
46 | ---------- |
47 | address : |
48 | The address of the account that wants to create the new account. |
49 | nonce : |
50 | The transaction count of the account that wants to create the new |
51 | account. |
52 |
|
53 | Returns |
54 | ------- |
55 | address: `ethereum.frontier.fork_types.Address` |
55 | address: `ethereum.homestead.fork_types.Address` |
56 | The computed address of the new account. |
57 | """ |
58 | computed_address = keccak256(rlp.encode([address, nonce])) |
59 | canonical_address = computed_address[-20:] |
60 | padded_address = left_pad_zero_bytes(canonical_address, 20) |
61 | return Address(padded_address) |