Auto Impersonation

ethui automatically uses anvil_impersonateAccount whenever submitting transactions to an anvil-based chain.

This allows you to submit transactions without having to unlock your wallet, and enables fast mode to work on secure wallets as well.

Why?

This is actually a security feature that happens to be very convenient for development.

Let's say you're spawning the following anvil node:

anvil --chain-id 1

This could open you up for replay attacks, where you end up signing a payload that can actually end up being used on the real mainnet chain to execute a real transaction, either maliciously or by mistake.

By auto-impersonating accounts, you now skip the signing step, but are still able to include transactions on the test chain. In the end:

  • you never have to actually unlock your wallet
  • no signature is ever produced from your private key
  • fast mode can now be available as well, since the confirmation steps that would be needed for a signature is now optional