Description:
Smart contract deployed on Ethereum with Factory features.
Blockchain: Ethereum
Source Code: View Code On The Blockchain
Solidity Source Code:
{{
"language": "Solidity",
"sources": {
"WorkingDelegate.sol": {
"content": "// SPDX-License-Identifier: MIT\r
pragma solidity ^0.8.19;\r
\r
/**\r
* @title WorkingDelegate\r
* @notice EIP-7702 Delegate that works like your friend's bot\r
* \r
* @dev KEY INSIGHT:\r
* - Uses onlyOwner checking msg.sender (the sponsor)\r
* - Uses low-level call instead of typed interface\r
* - Sweeps ETH after execution\r
*/\r
contract WorkingDelegate {\r
address public immutable owner;\r
\r
event Executed(address target, bytes data, bool success);\r
event ETHSwept(address to, uint256 amount);\r
\r
constructor(address _owner) {\r
owner = _owner;\r
}\r
\r
modifier onlyOwner() {\r
require(msg.sender == owner, "only owner");\r
_;\r
}\r
\r
/**\r
* @notice Execute arbitrary call + sweep ETH\r
* @dev This is how your friend's bot works:\r
* 1. Makes a low-level call to any contract\r
* 2. Automatically sweeps remaining ETH balance\r
* \r
* With EIP-7702:\r
* - msg.sender = sponsor (owner)\r
* - address(this) = compromised account\r
* - The call is made FROM the compromised account context\r
*/\r
function executeCall(\r
address target,\r
bytes calldata data,\r
address ethReceiver\r
) external onlyOwner {\r
// Execute the call\r
(bool success, ) = target.call(data);\r
require(success, "call failed");\r
\r
emit Executed(target, data, success);\r
\r
// Sweep remaining ETH to specified address\r
uint256 balance = address(this).balance;\r
if (balance > 0 && ethReceiver != address(0)) {\r
(bool sent, ) = ethReceiver.call{value: balance}("");\r
require(sent, "ETH sweep failed");\r
emit ETHSwept(ethReceiver, balance);\r
}\r
}\r
\r
/**\r
* @notice Helper to encode transferFrom call\r
* @dev Call this off-chain to generate the data parameter\r
*/\r
function encodeTransferFrom(\r
address from,\r
address to,\r
uint256 tokenId\r
) external pure returns (bytes memory) {\r
return abi.encodeWithSignature(\r
"transferFrom(address,address,uint256)",\r
from,\r
to,\r
tokenId\r
);\r
}\r
\r
// Allow receiving ETH\r
receive() external payable {}\r
}"
}
},
"settings": {
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"remappings": [],
"evmVersion": "cancun"
}
}}
Submitted on: 2025-11-01 10:15:46
Comments
Log in to comment.
No comments yet.