Address
0xe452e6ea2ddeb012e20db73bf5d3863a3ac8d77aCurrent Holdings
$0.00
TXs sent
not counted
First Active
2024-06-13
block 20,622,193
Last Active
109 days ago
block 26,651,053
Funded By
not identified
Net worth historyi
No net-worth snapshots recorded yet
partial matchProxysolc 0.6.12+commit.27d51765runtime partial · creation partial
proxy·0x7AAc…26A4
// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;
contract Proxy {
// Code position in storage is keccak256("PROXIABLE") = "0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7"
uint256 constant PROXIABLE_MEM_SLOT = 0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7;
// constructor(bytes memory constructData, address contractLogic) public {
constructor(address contractLogic) public {
// Verify a valid address was passed in
require(contractLogic != address(0), "Contract Logic cannot be 0x0");
// save the code address
assembly { // solium-disable-line
sstore(PROXIABLE_MEM_SLOT, contractLogic)
}
}
fallback() external payable {
assembly { // solium-disable-line
let contractLogic := sload(PROXIABLE_MEM_SLOT)
let ptr := mload(0x40)
calldatacopy(ptr, 0x0, calldatasize())
let success := delegatecall(gas(), contractLogic, ptr, calldatasize(), 0, 0)
let retSz := returndatasize()
returndatacopy(ptr, 0, retSz)
switch success
case 0 {
revert(ptr, retSz)
}
default {
return(ptr, retSz)
}
}
}
}