Skip to content
This repository was archived by the owner on Jan 9, 2025. It is now read-only.
This repository was archived by the owner on Jan 9, 2025. It is now read-only.

bug: gas_limit lower than intrinsic gas should not increase sender nonce #956

Closed
@enitrat

Description

@enitrat

Bug Report

Kakarot version

In Geth https://github.com/ethereum/go-ethereum/blob/16ce7bf50fa71c907d1dc6504ed32a9161e71351/core/state_transition.go#L432-L436 the nonce of the sender is only increased after a check that the gas_limit of the tx is higher than the intrinsic gas. Otherwise, the execution of transaction doesn't even begin and the nonce is not increased.

Globally, in these following cases, the validation should fail and the nonce should not be increased:

	// 1. the nonce of the message caller is correct
	// 2. caller has enough balance to cover transaction fee(gaslimit * gasprice)
	// 3. the amount of gas required is available in the block
	// 4. the purchased gas is enough to cover intrinsic usage
	// 5. there is no overflow when calculating intrinsic gas
	// 6. caller has enough balance to cover asset transfer for **topmost** call

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions