authorization_list[chain_id, address, nonce, y_parity, r, s] is signed by an EOA0xef0100 || address (23 bytes)address(0) clears itmsg.sender == address(this) or a signature)tx.origin == msg.sender no longer means "top-level EOA call"tx.origin checks and extcodesize == 0 "is EOA" checksevm_version = "prague", vm.signAndAttachDelegationanvil --hardfork prague, cast send --auth <impl>→ Lab 3