mirror of
https://github.com/status-im/nimbus-eth2.git
synced 2025-02-04 18:54:56 +00:00
apply latest EIP-6404 field renames
In https://github.com/ethereum/EIPs/pull/8886 certain fields related to the `from` address and signature have been renamed. Sync those changes.
This commit is contained in:
parent
dcb268e307
commit
d31f4cde3a
2
.gitmodules
vendored
2
.gitmodules
vendored
@ -44,7 +44,7 @@
|
|||||||
path = vendor/nim-web3
|
path = vendor/nim-web3
|
||||||
url = https://github.com/status-im/nim-web3.git
|
url = https://github.com/status-im/nim-web3.git
|
||||||
ignore = untracked
|
ignore = untracked
|
||||||
branch = feat/eip-6493
|
branch = feat/fusaka-light
|
||||||
[submodule "vendor/nim-nat-traversal"]
|
[submodule "vendor/nim-nat-traversal"]
|
||||||
path = vendor/nim-nat-traversal
|
path = vendor/nim-nat-traversal
|
||||||
url = https://github.com/status-im/nim-nat-traversal.git
|
url = https://github.com/status-im/nim-nat-traversal.git
|
||||||
|
@ -150,9 +150,9 @@ func asConsensusType*(payload: engine_api.GetPayloadV3Response):
|
|||||||
func asConsensusType*(rpcExecutionPayload: ExecutionPayloadV4):
|
func asConsensusType*(rpcExecutionPayload: ExecutionPayloadV4):
|
||||||
electra.ExecutionPayload =
|
electra.ExecutionPayload =
|
||||||
template getTransaction(
|
template getTransaction(
|
||||||
tt: engine_api_types.Transaction): electra.Eip6493Transaction =
|
tt: engine_api_types.Transaction): electra.Eip6404Transaction =
|
||||||
electra.Eip6493Transaction(
|
electra.Eip6404Transaction(
|
||||||
payload: Eip6493TransactionPayload(
|
payload: Eip6404TransactionPayload(
|
||||||
`type`:
|
`type`:
|
||||||
if tt.payload.`type`.isSome:
|
if tt.payload.`type`.isSome:
|
||||||
Opt.some(tt.payload.`type`.get.uint64.uint8)
|
Opt.some(tt.payload.`type`.get.uint64.uint8)
|
||||||
@ -170,7 +170,7 @@ func asConsensusType*(rpcExecutionPayload: ExecutionPayloadV4):
|
|||||||
Opt.none(uint64),
|
Opt.none(uint64),
|
||||||
max_fees_per_gas:
|
max_fees_per_gas:
|
||||||
if tt.payload.maxFeesPerGas.isSome:
|
if tt.payload.maxFeesPerGas.isSome:
|
||||||
Opt.some(Eip6493FeesPerGas(
|
Opt.some(Eip6404FeesPerGas(
|
||||||
regular:
|
regular:
|
||||||
if tt.payload.maxFeesPerGas.get.regular.isSome:
|
if tt.payload.maxFeesPerGas.get.regular.isSome:
|
||||||
Opt.some(tt.payload.maxFeesPerGas.get.regular.get)
|
Opt.some(tt.payload.maxFeesPerGas.get.regular.get)
|
||||||
@ -182,7 +182,7 @@ func asConsensusType*(rpcExecutionPayload: ExecutionPayloadV4):
|
|||||||
else:
|
else:
|
||||||
Opt.none(Uint256)))
|
Opt.none(Uint256)))
|
||||||
else:
|
else:
|
||||||
Opt.none(Eip6493FeesPerGas),
|
Opt.none(Eip6404FeesPerGas),
|
||||||
gas:
|
gas:
|
||||||
if tt.payload.gas.isSome:
|
if tt.payload.gas.isSome:
|
||||||
Opt.some(tt.payload.gas.get.uint64)
|
Opt.some(tt.payload.gas.get.uint64)
|
||||||
@ -206,19 +206,19 @@ func asConsensusType*(rpcExecutionPayload: ExecutionPayloadV4):
|
|||||||
Opt.none(List[byte, Limit MAX_CALLDATA_SIZE]),
|
Opt.none(List[byte, Limit MAX_CALLDATA_SIZE]),
|
||||||
access_list:
|
access_list:
|
||||||
if tt.payload.accessList.isSome:
|
if tt.payload.accessList.isSome:
|
||||||
Opt.some(List[Eip6493AccessTuple, Limit MAX_ACCESS_LIST_SIZE].init(
|
Opt.some(List[Eip6404AccessTuple, Limit MAX_ACCESS_LIST_SIZE].init(
|
||||||
tt.payload.accessList.get.mapIt(
|
tt.payload.accessList.get.mapIt(
|
||||||
Eip6493AccessTuple(
|
Eip6404AccessTuple(
|
||||||
address: ExecutionAddress(data: distinctBase(it.address)),
|
address: ExecutionAddress(data: distinctBase(it.address)),
|
||||||
storage_keys:
|
storage_keys:
|
||||||
List[Eth2Digest, Limit MAX_ACCESS_LIST_STORAGE_KEYS]
|
List[Eth2Digest, Limit MAX_ACCESS_LIST_STORAGE_KEYS]
|
||||||
.init(it.storage_keys.mapIt(
|
.init(it.storage_keys.mapIt(
|
||||||
Eth2Digest(data: distinctBase(it))))))))
|
Eth2Digest(data: distinctBase(it))))))))
|
||||||
else:
|
else:
|
||||||
Opt.none(List[Eip6493AccessTuple, Limit MAX_ACCESS_LIST_SIZE]),
|
Opt.none(List[Eip6404AccessTuple, Limit MAX_ACCESS_LIST_SIZE]),
|
||||||
max_priority_fees_per_gas:
|
max_priority_fees_per_gas:
|
||||||
if tt.payload.maxPriorityFeesPerGas.isSome:
|
if tt.payload.maxPriorityFeesPerGas.isSome:
|
||||||
Opt.some(Eip6493FeesPerGas(
|
Opt.some(Eip6404FeesPerGas(
|
||||||
regular:
|
regular:
|
||||||
if tt.payload.maxPriorityFeesPerGas.get.regular.isSome:
|
if tt.payload.maxPriorityFeesPerGas.get.regular.isSome:
|
||||||
Opt.some(tt.payload.maxPriorityFeesPerGas.get.regular.get)
|
Opt.some(tt.payload.maxPriorityFeesPerGas.get.regular.get)
|
||||||
@ -230,7 +230,7 @@ func asConsensusType*(rpcExecutionPayload: ExecutionPayloadV4):
|
|||||||
else:
|
else:
|
||||||
Opt.none(Uint256)))
|
Opt.none(Uint256)))
|
||||||
else:
|
else:
|
||||||
Opt.none(Eip6493FeesPerGas),
|
Opt.none(Eip6404FeesPerGas),
|
||||||
blob_versioned_hashes:
|
blob_versioned_hashes:
|
||||||
if tt.payload.blobVersionedHashes.isSome:
|
if tt.payload.blobVersionedHashes.isSome:
|
||||||
Opt.some(
|
Opt.some(
|
||||||
@ -241,16 +241,16 @@ func asConsensusType*(rpcExecutionPayload: ExecutionPayloadV4):
|
|||||||
Opt.none(
|
Opt.none(
|
||||||
List[stable.VersionedHash,
|
List[stable.VersionedHash,
|
||||||
Limit MAX_BLOB_COMMITMENTS_PER_BLOCK])),
|
Limit MAX_BLOB_COMMITMENTS_PER_BLOCK])),
|
||||||
signature: Eip6493TransactionSignature(
|
`from`: Eip6404ExecutionSignature(
|
||||||
`from`:
|
address:
|
||||||
if tt.signature.`from`.isSome:
|
if tt.`from`.address.isSome:
|
||||||
Opt.some(ExecutionAddress(
|
Opt.some(ExecutionAddress(
|
||||||
data: distinctBase(tt.signature.`from`.get)))
|
data: distinctBase(tt.`from`.address.get)))
|
||||||
else:
|
else:
|
||||||
Opt.none(ExecutionAddress),
|
Opt.none(ExecutionAddress),
|
||||||
ecdsa_signature:
|
secp256k1_signature:
|
||||||
if tt.signature.ecdsaSignature.isSome:
|
if tt.`from`.secp256k1Signature.isSome:
|
||||||
Opt.some(array[65, byte](tt.signature.ecdsaSignature.get))
|
Opt.some(array[65, byte](tt.`from`.secp256k1Signature.get))
|
||||||
else:
|
else:
|
||||||
Opt.none(array[65, byte])))
|
Opt.none(array[65, byte])))
|
||||||
|
|
||||||
@ -293,7 +293,7 @@ func asConsensusType*(rpcExecutionPayload: ExecutionPayloadV4):
|
|||||||
rpcExecutionPayload.extraData.bytes),
|
rpcExecutionPayload.extraData.bytes),
|
||||||
base_fee_per_gas: rpcExecutionPayload.baseFeePerGas,
|
base_fee_per_gas: rpcExecutionPayload.baseFeePerGas,
|
||||||
block_hash: rpcExecutionPayload.blockHash.asEth2Digest,
|
block_hash: rpcExecutionPayload.blockHash.asEth2Digest,
|
||||||
transactions: List[Eip6493Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(
|
transactions: List[Eip6404Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(
|
||||||
mapIt(rpcExecutionPayload.transactions, it.getTransaction)),
|
mapIt(rpcExecutionPayload.transactions, it.getTransaction)),
|
||||||
withdrawals: List[capella.Withdrawal, MAX_WITHDRAWALS_PER_PAYLOAD].init(
|
withdrawals: List[capella.Withdrawal, MAX_WITHDRAWALS_PER_PAYLOAD].init(
|
||||||
mapIt(rpcExecutionPayload.withdrawals, it.asConsensusWithdrawal)),
|
mapIt(rpcExecutionPayload.withdrawals, it.asConsensusWithdrawal)),
|
||||||
@ -409,7 +409,7 @@ func asEngineExecutionPayload*(executionPayload: deneb.ExecutionPayload):
|
|||||||
func asEngineExecutionPayload*(executionPayload: electra.ExecutionPayload):
|
func asEngineExecutionPayload*(executionPayload: electra.ExecutionPayload):
|
||||||
ExecutionPayloadV4 =
|
ExecutionPayloadV4 =
|
||||||
template getTypedTransaction(
|
template getTypedTransaction(
|
||||||
tt: electra.Eip6493Transaction): engine_api_types.Transaction =
|
tt: electra.Eip6404Transaction): engine_api_types.Transaction =
|
||||||
engine_api_types.Transaction(
|
engine_api_types.Transaction(
|
||||||
payload: engine_api_types.TransactionPayload(
|
payload: engine_api_types.TransactionPayload(
|
||||||
`type`:
|
`type`:
|
||||||
@ -429,7 +429,7 @@ func asEngineExecutionPayload*(executionPayload: electra.ExecutionPayload):
|
|||||||
Opt.none(Quantity),
|
Opt.none(Quantity),
|
||||||
maxFeesPerGas:
|
maxFeesPerGas:
|
||||||
if tt.payload.max_fees_per_gas.isSome:
|
if tt.payload.max_fees_per_gas.isSome:
|
||||||
Opt.some(engine_api_types.TransactionFeesPerGas(
|
Opt.some(engine_api_types.FeesPerGas(
|
||||||
regular:
|
regular:
|
||||||
if tt.payload.max_fees_per_gas.get.regular.isSome:
|
if tt.payload.max_fees_per_gas.get.regular.isSome:
|
||||||
Opt.some(tt.payload.max_fees_per_gas.get.regular.get)
|
Opt.some(tt.payload.max_fees_per_gas.get.regular.get)
|
||||||
@ -441,7 +441,7 @@ func asEngineExecutionPayload*(executionPayload: electra.ExecutionPayload):
|
|||||||
else:
|
else:
|
||||||
Opt.none(UInt256)))
|
Opt.none(UInt256)))
|
||||||
else:
|
else:
|
||||||
Opt.none(engine_api_types.TransactionFeesPerGas),
|
Opt.none(engine_api_types.FeesPerGas),
|
||||||
gas:
|
gas:
|
||||||
if tt.payload.gas.isSome:
|
if tt.payload.gas.isSome:
|
||||||
Opt.some(tt.payload.gas.get.Quantity)
|
Opt.some(tt.payload.gas.get.Quantity)
|
||||||
@ -473,7 +473,7 @@ func asEngineExecutionPayload*(executionPayload: electra.ExecutionPayload):
|
|||||||
Opt.none(seq[AccessTuple]),
|
Opt.none(seq[AccessTuple]),
|
||||||
maxPriorityFeesPerGas:
|
maxPriorityFeesPerGas:
|
||||||
if tt.payload.max_priority_fees_per_gas.isSome:
|
if tt.payload.max_priority_fees_per_gas.isSome:
|
||||||
Opt.some(engine_api_types.TransactionFeesPerGas(
|
Opt.some(engine_api_types.FeesPerGas(
|
||||||
regular:
|
regular:
|
||||||
if tt.payload.max_priority_fees_per_gas.get.regular.isSome:
|
if tt.payload.max_priority_fees_per_gas.get.regular.isSome:
|
||||||
Opt.some(
|
Opt.some(
|
||||||
@ -487,22 +487,22 @@ func asEngineExecutionPayload*(executionPayload: electra.ExecutionPayload):
|
|||||||
else:
|
else:
|
||||||
Opt.none(UInt256)))
|
Opt.none(UInt256)))
|
||||||
else:
|
else:
|
||||||
Opt.none(engine_api_types.TransactionFeesPerGas),
|
Opt.none(engine_api_types.FeesPerGas),
|
||||||
blobVersionedHashes:
|
blobVersionedHashes:
|
||||||
if tt.payload.blob_versioned_hashes.isSome:
|
if tt.payload.blob_versioned_hashes.isSome:
|
||||||
Opt.some(distinctBase(tt.payload.blob_versioned_hashes.get)
|
Opt.some(distinctBase(tt.payload.blob_versioned_hashes.get)
|
||||||
.mapIt(FixedBytes[32](it)))
|
.mapIt(FixedBytes[32](it)))
|
||||||
else:
|
else:
|
||||||
Opt.none(seq[FixedBytes[32]])),
|
Opt.none(seq[FixedBytes[32]])),
|
||||||
signature: engine_api_types.TransactionSignature(
|
`from`: engine_api_types.ExecutionSignature(
|
||||||
`from`:
|
address:
|
||||||
if tt.signature.`from`.isSome:
|
if tt.`from`.address.isSome:
|
||||||
Opt.some(Address(tt.signature.`from`.get.data))
|
Opt.some(Address(tt.`from`.address.get.data))
|
||||||
else:
|
else:
|
||||||
Opt.none(Address),
|
Opt.none(Address),
|
||||||
ecdsaSignature:
|
secp256k1Signature:
|
||||||
if tt.signature.ecdsa_signature.isSome:
|
if tt.`from`.secp256k1_signature.isSome:
|
||||||
Opt.some(FixedBytes[65](tt.signature.ecdsa_signature.get))
|
Opt.some(FixedBytes[65](tt.`from`.secp256k1_signature.get))
|
||||||
else:
|
else:
|
||||||
Opt.none(FixedBytes[65])))
|
Opt.none(FixedBytes[65])))
|
||||||
|
|
||||||
|
@ -129,7 +129,7 @@ type
|
|||||||
|
|
||||||
# Extra payload fields
|
# Extra payload fields
|
||||||
block_hash*: Eth2Digest # Hash of execution block
|
block_hash*: Eth2Digest # Hash of execution block
|
||||||
transactions*: List[Eip6493Transaction, MAX_TRANSACTIONS_PER_PAYLOAD]
|
transactions*: List[Eip6404Transaction, MAX_TRANSACTIONS_PER_PAYLOAD]
|
||||||
withdrawals*: List[Withdrawal, MAX_WITHDRAWALS_PER_PAYLOAD]
|
withdrawals*: List[Withdrawal, MAX_WITHDRAWALS_PER_PAYLOAD]
|
||||||
blob_gas_used*: uint64
|
blob_gas_used*: uint64
|
||||||
excess_blob_gas*: uint64
|
excess_blob_gas*: uint64
|
||||||
|
@ -21,7 +21,7 @@ const
|
|||||||
MAX_BEACON_BLOCK_BODY_FIELDS* = 64
|
MAX_BEACON_BLOCK_BODY_FIELDS* = 64
|
||||||
MAX_BEACON_STATE_FIELDS* = 128
|
MAX_BEACON_STATE_FIELDS* = 128
|
||||||
|
|
||||||
# https://eips.ethereum.org/EIPS/eip-6493
|
# https://eips.ethereum.org/EIPS/eip-6404
|
||||||
MAX_CALLDATA_SIZE* = 16_777_216
|
MAX_CALLDATA_SIZE* = 16_777_216
|
||||||
MAX_ACCESS_LIST_STORAGE_KEYS* = 524_288
|
MAX_ACCESS_LIST_STORAGE_KEYS* = 524_288
|
||||||
MAX_ACCESS_LIST_SIZE* = 524_288
|
MAX_ACCESS_LIST_SIZE* = 524_288
|
||||||
@ -37,17 +37,17 @@ type
|
|||||||
|
|
||||||
ChainId* = uint64
|
ChainId* = uint64
|
||||||
|
|
||||||
Eip6493FeesPerGas* {.sszStableContainer: 16.} = object
|
Eip6404FeesPerGas* {.sszStableContainer: 16.} = object
|
||||||
regular*: Opt[UInt256]
|
regular*: Opt[UInt256]
|
||||||
|
|
||||||
# EIP-4844
|
# EIP-4844
|
||||||
blob*: Opt[UInt256]
|
blob*: Opt[UInt256]
|
||||||
|
|
||||||
Eip6493AccessTuple* = object
|
Eip6404AccessTuple* = object
|
||||||
address*: ExecutionAddress
|
address*: ExecutionAddress
|
||||||
storage_keys*: List[Eth2Digest, Limit MAX_ACCESS_LIST_STORAGE_KEYS]
|
storage_keys*: List[Eth2Digest, Limit MAX_ACCESS_LIST_STORAGE_KEYS]
|
||||||
|
|
||||||
Eip6493TransactionPayload* {.sszStableContainer: 32.} = object
|
Eip6404TransactionPayload* {.sszStableContainer: 32.} = object
|
||||||
# EIP-2718
|
# EIP-2718
|
||||||
`type`*: Opt[uint8]
|
`type`*: Opt[uint8]
|
||||||
|
|
||||||
@ -55,29 +55,29 @@ type
|
|||||||
chain_id*: Opt[ChainId]
|
chain_id*: Opt[ChainId]
|
||||||
|
|
||||||
nonce*: Opt[uint64]
|
nonce*: Opt[uint64]
|
||||||
max_fees_per_gas*: Opt[Eip6493FeesPerGas]
|
max_fees_per_gas*: Opt[Eip6404FeesPerGas]
|
||||||
gas*: Opt[uint64]
|
gas*: Opt[uint64]
|
||||||
to*: Opt[ExecutionAddress]
|
to*: Opt[ExecutionAddress]
|
||||||
value*: Opt[UInt256]
|
value*: Opt[UInt256]
|
||||||
input*: Opt[List[byte, Limit MAX_CALLDATA_SIZE]]
|
input*: Opt[List[byte, Limit MAX_CALLDATA_SIZE]]
|
||||||
|
|
||||||
# EIP-2930
|
# EIP-2930
|
||||||
access_list*: Opt[List[Eip6493AccessTuple, Limit MAX_ACCESS_LIST_SIZE]]
|
access_list*: Opt[List[Eip6404AccessTuple, Limit MAX_ACCESS_LIST_SIZE]]
|
||||||
|
|
||||||
# EIP-1559
|
# EIP-1559
|
||||||
max_priority_fees_per_gas*: Opt[Eip6493FeesPerGas]
|
max_priority_fees_per_gas*: Opt[Eip6404FeesPerGas]
|
||||||
|
|
||||||
# EIP-4844
|
# EIP-4844
|
||||||
blob_versioned_hashes*:
|
blob_versioned_hashes*:
|
||||||
Opt[List[VersionedHash, Limit MAX_BLOB_COMMITMENTS_PER_BLOCK]]
|
Opt[List[VersionedHash, Limit MAX_BLOB_COMMITMENTS_PER_BLOCK]]
|
||||||
|
|
||||||
Eip6493TransactionSignature* {.sszStableContainer: 16.} = object
|
Eip6404ExecutionSignature* {.sszStableContainer: 16.} = object
|
||||||
`from`*: Opt[ExecutionAddress]
|
address*: Opt[ExecutionAddress]
|
||||||
ecdsa_signature*: Opt[array[65, byte]]
|
secp256k1_signature*: Opt[array[65, byte]]
|
||||||
|
|
||||||
Eip6493Transaction* = object
|
Eip6404Transaction* = object
|
||||||
payload*: Eip6493TransactionPayload
|
payload*: Eip6404TransactionPayload
|
||||||
signature*: Eip6493TransactionSignature
|
`from`*: Eip6404ExecutionSignature
|
||||||
|
|
||||||
# https://eips.ethereum.org/EIPS/eip-7688
|
# https://eips.ethereum.org/EIPS/eip-7688
|
||||||
StableAttestation* {.
|
StableAttestation* {.
|
||||||
@ -119,7 +119,7 @@ type
|
|||||||
|
|
||||||
# Extra payload fields
|
# Extra payload fields
|
||||||
block_hash*: Opt[Eth2Digest] # Hash of execution block
|
block_hash*: Opt[Eth2Digest] # Hash of execution block
|
||||||
transactions*: Opt[List[Eip6493Transaction, MAX_TRANSACTIONS_PER_PAYLOAD]]
|
transactions*: Opt[List[Eip6404Transaction, MAX_TRANSACTIONS_PER_PAYLOAD]]
|
||||||
withdrawals*: Opt[List[Withdrawal, MAX_WITHDRAWALS_PER_PAYLOAD]]
|
withdrawals*: Opt[List[Withdrawal, MAX_WITHDRAWALS_PER_PAYLOAD]]
|
||||||
blob_gas_used*: Opt[uint64]
|
blob_gas_used*: Opt[uint64]
|
||||||
excess_blob_gas*: Opt[uint64]
|
excess_blob_gas*: Opt[uint64]
|
||||||
|
@ -67,11 +67,11 @@ RestJson.useDefaultSerializationFor(
|
|||||||
DepositRequest,
|
DepositRequest,
|
||||||
DepositTreeSnapshot,
|
DepositTreeSnapshot,
|
||||||
DistributedKeystoreInfo,
|
DistributedKeystoreInfo,
|
||||||
Eip6493AccessTuple,
|
Eip6404AccessTuple,
|
||||||
Eip6493FeesPerGas,
|
Eip6404FeesPerGas,
|
||||||
Eip6493Transaction,
|
Eip6404Transaction,
|
||||||
Eip6493TransactionPayload,
|
Eip6404TransactionPayload,
|
||||||
Eip6493TransactionSignature,
|
Eip6404ExecutionSignature,
|
||||||
ElectraSignedBlockContents,
|
ElectraSignedBlockContents,
|
||||||
EmptyBody,
|
EmptyBody,
|
||||||
Eth1Data,
|
Eth1Data,
|
||||||
|
@ -303,7 +303,7 @@ type
|
|||||||
bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD]
|
bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD]
|
||||||
of RestTransactionsKind.Electra:
|
of RestTransactionsKind.Electra:
|
||||||
electraData*: List[
|
electraData*: List[
|
||||||
electra.Eip6493Transaction, MAX_TRANSACTIONS_PER_PAYLOAD]
|
electra.Eip6404Transaction, MAX_TRANSACTIONS_PER_PAYLOAD]
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.3/specs/capella/beacon-chain.md#executionpayload
|
# https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.3/specs/capella/beacon-chain.md#executionpayload
|
||||||
RestExecutionPayload* = object
|
RestExecutionPayload* = object
|
||||||
|
2
vendor/nim-web3
vendored
2
vendor/nim-web3
vendored
@ -1 +1 @@
|
|||||||
Subproject commit c6ab73f485c9db140b47012621ad0b775d70124e
|
Subproject commit 3a5afc8ea7c42cb3e62646f13e0c21ddf2c08797
|
Loading…
x
Reference in New Issue
Block a user