Address Contract Partially Verified
Address
0x7712c34205737192402172409a8F7ccef8aA2AEc
Balance
0 ETH
Nonce
1
Code Size
703 bytes
Creator
0x9908d94b...B5f4 at tx 0xe97ab240...e6ff27
Indexed Transactions
0
Contract Bytecode
703 bytes
0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806313af4035146100c2578063776d1a01146100d55780638da5cb5b146100e8578063d4b8399214610117575b6001546001600160a01b03168061009b5760405162461bcd60e51b815260206004820152600e60248201526d15185c99d95d081b9bdd081cd95d60921b60448201526064015b60405180910390fd5b60405136600082376000803683855af43d806000843e8180156100bc578184f35b8184fd5b005b6100c06100d0366004610259565b61012a565b6100c06100e3366004610259565b6101c5565b6000546100fb906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6001546100fb906001600160a01b031681565b6000546001600160a01b031633146101705760405162461bcd60e51b81526020600482015260096024820152682737ba1037bbb732b960b91b6044820152606401610092565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527fe543d3a077035cec99b732bad2c4cf1c0fdee02ddf561ae543106ccc31cf35a3906020015b60405180910390a150565b6000546001600160a01b0316331461020b5760405162461bcd60e51b81526020600482015260096024820152682737ba1037bbb732b960b91b6044820152606401610092565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527ff1b1e874978309afba903baec19abf568b0337fcedc05dde58cfea25ec25b94d906020016101ba565b60006020828403121561026b57600080fd5b81356001600160a01b038116811461028257600080fd5b939250505056fea26469706673582212208571e44d10b28fe06365e4ff3378d5931e12d387c20bf8a1073cb2eea9fe514864736f6c634300080d0033
Verified Source Code Partial Match
Compiler: v0.8.13+commit.abaa5c0e
EVM: london
Optimization: Yes (200 runs)
Proxy.sol 53 lines
pragma solidity ^0.8.13;
//SPDX-License-Identifier: UNLICENSED
contract Proxy {
address public owner;
address public target;
event ProxyTargetSet(address target);
event ProxyOwnerChanged(address owner);
constructor() {
owner = msg.sender;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(msg.sender == owner, "Not owner");
_;
}
function setTarget(address _target) public onlyOwner {
target = _target;
emit ProxyTargetSet(_target);
}
function setOwner(address _owner) public onlyOwner {
owner = _owner;
emit ProxyOwnerChanged(_owner);
}
fallback() external {
address _impl = target;
require(_impl != address(0), "Target not set");
assembly {
let ptr := mload(0x40)
calldatacopy(ptr, 0, calldatasize())
let result := delegatecall(gas(), _impl, ptr, calldatasize(), 0, 0)
let size := returndatasize()
returndatacopy(ptr, 0, size)
switch result
case 0 {
revert(ptr, size)
}
default {
return(ptr, size)
}
}
}
}
Read Contract
owner 0x8da5cb5b → address
target 0xd4b83992 → address
Write Contract 2 functions
These functions modify contract state and require a wallet transaction to execute.
setOwner 0x13af4035
address _owner
setTarget 0x776d1a01
address _target
Token Balances (2)
View Transfers →Recent Transactions
No transactions found for this address