Open
Description
7702 thoughts:
- pointer to contract to pointer to contract loop
- pointer to pointer
- push pointer bytes to memory and try to create/create2/tx deploy (btw push eof bytes and create?)
-- attempt to create fails, no contract is created - normal tx do not interact with pointers?
-- Other normal tx can interact with previously assigned pointers - context opcodes, ext context opcodes logic when dealing with pointer account
-- Balance and storage is of a pointer account, the rest seems to be of a target - pointer to precompile/sys
- pointer to eof
- access list interactions (check the disconunt of hot addresses if its in the accesslist or not + if set as a pointer)
- if I call pointer -> contract, set/load storage x. then in the same tx, call contract directly. will it be hot call price? will storage load in contract be hot or cold?
- pointer to static, check static context activated
- static call to pointer to contract check static context is active
- same as above but with reentry to first contract
- contract with storage calls pointer to some contract, check storage modifications. Check tstore modificstions.
- same as above but with reentry check storage/tstorage and no loop (reentry stops)
- check if pointer calls the actual contract too, what happens to storage/tstorage
- check reverts of account data when used multiple pointers and accounts had storages, created new, then all of it reverts
- what if we point delegation to a newly created account that calls selfdestruct, will it remove the pointer contract?
- multiple auth list combinations. Repeat, repeat 2 different auths
- reset pointer back to eoa
- check that new transaction type is rejected before fork transition block X
For test scenarios option (PR #808):
- pointer to contract that revert/oog/suicide/return/errors with exception
- callcode* pointer style account