Skip to content

pre.fund_eoa() should be able to internally discern between execute and fill modes #1892

@CPerezz

Description

@CPerezz

In the convo I had with Louis reg. #1885, the following was mentioned:

I think this is why the current `execute remote` flow is failing. From my understanding of the implementation, here we intend to fund 1 wei to `aux_address`. However, `pre.fund_eoa()` does not work this way, it creates a new EOA instead of funding an existing account.

I experimented with manually injecting the account, but this only works in `fill` mode:
```python
pre[aux_address] = Account(address=aux_address, balance=1)

The correct solution might be to create funding transactions instead:

funding_tx = Transaction(
    to=aux_address,
    value=1,  # 1 wei to create the account in the trie
    gas_limit=21_000,
    sender=deployer_eoa,
)
funding_txs.append(funding_tx)
_Originally posted by @LouisTsai-Csie in https://github.com/ethereum/execution-specs/pull/1885#discussion_r2605687417_
            

It's a bit odd that something that the framework could handle behind the scenes is enforced to be defined in the test directly. 
In this case, the `pre.fund_eoa()` doesn't allow to after fund accounts for which we want a specific address.
This is something that breaks the `fill/execute` compat. As I'm now forced to make my scenario only `execute-viable` vs  only `fill-viable`.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions