I'm interested in techniques to perform multiple sends/contract calls inside of a single transaction but with the EOA that originates the transaction still being the sender for all operations (not a wallet contract or other non-EOA account).
Is it possible in either solidity or EVM assembly to have a transaction (as opposed to an inter-contract call) use delegatecall? It would be great if an EOA could claim the operations of a library contract as its own while retaining the EOA's msg.sender and msg.value.
Example flow:
My externally owned secp256k1 account delegatecalls a contract library X whose solidity code a) calls some other contract Y to check whether a certain variable is equal to a certain value, and then b) calls the method of a different contract Z if and only if it is, sending along 1 ETH.
Both the call to Y to check the variable in a), and the call to the method of Z in b) should have msg.sender being my externally owned secp256k1 account, and the outward send/call in b) should spend the balance of my externally owned secp256k1 account. Neither X nor Y should think anything different has happened than just that they were directly called by my EOA.