I know the logic of using an escrow contract in which 2 or more users send their wagered ETH to a smart contract acting as escrow proxy, and then after some decision contract executes we release the funds according to that decision logic.
But what I want to know is if there's any way of not transferring any ETH to the escrow contract, but to actually lock the particular amount directly inside the user's wallet? Let's say user A bids 1 ETH so then the smart contract gains access to their wallet only over said amount and locks it without any transfer of the bid amount.
For example, user A could execute this smart contract by sending a tremendously small amount of WEI to it only to send a message stating the bid amount. Then the smart contract gains access to lock the bid amount from the user's message, directly inside the user's wallet. Is this possible?
No, I don't know how you imagined this, but as long as a user has
Nothing can stop him from spending his ETH. So whatever you do, locking ETH can only happen if ETH is transferred, be it to an escrow contract or maybe an off-chain multisig EOA.