Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 56,179 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Complete Withdra... | 21673752 | 9 days ago | IN | 0 ETH | 0.0007894 | ||||
Check Withdrawal... | 21673750 | 9 days ago | IN | 0 ETH | 0.00131084 | ||||
Verify Blocks | 21673748 | 9 days ago | IN | 0 ETH | 0.00951824 | ||||
Commit Block | 21673140 | 9 days ago | IN | 0 ETH | 0.00294886 | ||||
Verify Blocks | 21670059 | 10 days ago | IN | 0 ETH | 0.0072928 | ||||
Commit Block | 21669460 | 10 days ago | IN | 0 ETH | 0.00295096 | ||||
Verify Blocks | 21667443 | 10 days ago | IN | 0 ETH | 0.02686736 | ||||
Commit Block | 21666838 | 10 days ago | IN | 0 ETH | 0.01274373 | ||||
Deposit ETH | 21665025 | 11 days ago | IN | 0.49745255 ETH | 0.00362387 | ||||
Complete Withdra... | 21518653 | 31 days ago | IN | 0 ETH | 0.00088451 | ||||
Check Withdrawal... | 21518652 | 31 days ago | IN | 0 ETH | 0.00071852 | ||||
Verify Blocks | 21518649 | 31 days ago | IN | 0 ETH | 0.0041987 | ||||
Commit Block | 21518070 | 31 days ago | IN | 0 ETH | 0.0026137 | ||||
Verify Blocks | 21446926 | 41 days ago | IN | 0 ETH | 0.00704056 | ||||
Commit Block | 21446319 | 41 days ago | IN | 0 ETH | 0.00315768 | ||||
Deposit ERC20 | 21444526 | 41 days ago | IN | 0 ETH | 0.00991077 | ||||
Deposit ETH | 21444505 | 41 days ago | IN | 0.015 ETH | 0.00613807 | ||||
Complete Withdra... | 21417265 | 45 days ago | IN | 0 ETH | 0.00141196 | ||||
Check Withdrawal... | 21417263 | 45 days ago | IN | 0 ETH | 0.00228356 | ||||
Verify Blocks | 21417261 | 45 days ago | IN | 0 ETH | 0.01791343 | ||||
Commit Block | 21416654 | 45 days ago | IN | 0 ETH | 0.00663549 | ||||
Complete Withdra... | 21358777 | 53 days ago | IN | 0 ETH | 0.0013984 | ||||
Check Withdrawal... | 21358776 | 53 days ago | IN | 0 ETH | 0.00126984 | ||||
Verify Blocks | 21358775 | 53 days ago | IN | 0 ETH | 0.00825522 | ||||
Commit Block | 21358169 | 53 days ago | IN | 0 ETH | 0.00234202 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
21673752 | 9 days ago | 0.4930043 ETH | ||||
21417265 | 45 days ago | 0.00876195 ETH | ||||
21210122 | 74 days ago | 0.0061611 ETH | ||||
21201633 | 75 days ago | 0.06479669 ETH | ||||
21201633 | 75 days ago | 0.00460306 ETH | ||||
21068678 | 94 days ago | 19.11048986 ETH | ||||
20191931 | 216 days ago | 0.00202268 ETH | ||||
19533954 | 308 days ago | 85.7 ETH | ||||
19519264 | 310 days ago | 0.09342379 ETH | ||||
19408521 | 326 days ago | 0.02129466 ETH | ||||
19118037 | 367 days ago | 0.14 ETH | ||||
19027973 | 379 days ago | 0.03811565 ETH | ||||
18992793 | 384 days ago | 60 ETH | ||||
18941559 | 391 days ago | 0.59953127 ETH | ||||
18880786 | 400 days ago | 0.0088 ETH | ||||
18723505 | 422 days ago | 0.00857993 ETH | ||||
18613455 | 437 days ago | 9.69250829 ETH | ||||
18613455 | 437 days ago | 288.81921054 ETH | ||||
18613455 | 437 days ago | 2,618.1956555 ETH | ||||
18539449 | 448 days ago | 80 ETH | ||||
18489071 | 455 days ago | 0.013 ETH | ||||
18441484 | 461 days ago | 0.00542188 ETH | ||||
18417065 | 465 days ago | 100 ETH | ||||
18273564 | 485 days ago | 93 ETH | ||||
18147001 | 503 days ago | 1.46679706 ETH |
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x6dE5bDC5...040A247e3 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
Proxy
Compiler Version
v0.5.16+commit.9c3226ce
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity ^0.5.0; import "./Ownable.sol"; import "./Upgradeable.sol"; import "./UpgradeableMaster.sol"; /// @title Proxy Contract /// @dev NOTICE: Proxy must implement UpgradeableMaster interface to prevent calling some function of it not by master of proxy /// @author Matter Labs /// @author ZKSwap L2 Labs contract Proxy is Upgradeable, UpgradeableMaster, Ownable { /// @notice Storage position of "target" (actual implementation address: keccak256('eip1967.proxy.implementation') - 1) bytes32 private constant targetPosition = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; /// @notice Contract constructor /// @dev Calls Ownable contract constructor and initialize target /// @param target Initial implementation address /// @param targetInitializationParameters Target initialization parameters constructor(address target, bytes memory targetInitializationParameters) Ownable(msg.sender) public { setTarget(target); (bool initializationSuccess, ) = getTarget().delegatecall( abi.encodeWithSignature("initialize(bytes)", targetInitializationParameters) ); require(initializationSuccess, "uin11"); // uin11 - target initialization failed } /// @notice Intercepts initialization calls function initialize(bytes calldata) external pure { revert("ini11"); // ini11 - interception of initialization call } /// @notice Intercepts upgrade calls function upgrade(bytes calldata) external pure { revert("upg11"); // upg11 - interception of upgrade call } /// @notice Returns target of contract /// @return Actual implementation address function getTarget() public view returns (address target) { bytes32 position = targetPosition; assembly { target := sload(position) } } /// @notice Sets new target of contract /// @param _newTarget New actual implementation address function setTarget(address _newTarget) internal { bytes32 position = targetPosition; assembly { sstore(position, _newTarget) } } /// @notice Upgrades target /// @param newTarget New target /// @param newTargetUpgradeParameters New target upgrade parameters function upgradeTarget(address newTarget, bytes calldata newTargetUpgradeParameters) external { requireMaster(msg.sender); setTarget(newTarget); (bool upgradeSuccess, ) = getTarget().delegatecall( abi.encodeWithSignature("upgrade(bytes)", newTargetUpgradeParameters) ); require(upgradeSuccess, "ufu11"); // ufu11 - target upgrade failed } /// @notice Performs a delegatecall to the contract implementation /// @dev Fallback function allowing to perform a delegatecall to the given implementation /// This function will return whatever the implementation call returns function() external payable { address _target = getTarget(); assembly { // The pointer to the free memory slot let ptr := mload(0x40) // Copy function signature and arguments from calldata at zero position into memory at pointer position calldatacopy(ptr, 0x0, calldatasize) // Delegatecall method of the implementation contract, returns 0 on error let result := delegatecall( gas, _target, ptr, calldatasize, 0x0, 0 ) // Get the size of the last return data let size := returndatasize // Copy the size length of bytes from return data at zero position to pointer position returndatacopy(ptr, 0x0, size) // Depending on result value switch result case 0 { // End execution and revert state changes revert(ptr, size) } default { // Return data with length of size at pointers position return(ptr, size) } } } /// UpgradeableMaster functions /// @notice Notice period before activation preparation status of upgrade mode function getNoticePeriod() external returns (uint) { (bool success, bytes memory result) = getTarget().delegatecall(abi.encodeWithSignature("getNoticePeriod()")); require(success, "unp11"); // unp11 - upgradeNoticePeriod delegatecall failed return abi.decode(result, (uint)); } /// @notice Notifies proxy contract that notice period started function upgradeNoticePeriodStarted() external { requireMaster(msg.sender); (bool success, ) = getTarget().delegatecall(abi.encodeWithSignature("upgradeNoticePeriodStarted()")); require(success, "nps11"); // nps11 - upgradeNoticePeriodStarted delegatecall failed } /// @notice Notifies proxy contract that upgrade preparation status is activated function upgradePreparationStarted() external { requireMaster(msg.sender); (bool success, ) = getTarget().delegatecall(abi.encodeWithSignature("upgradePreparationStarted()")); require(success, "ups11"); // ups11 - upgradePreparationStarted delegatecall failed } /// @notice Notifies proxy contract that upgrade canceled function upgradeCanceled() external { requireMaster(msg.sender); (bool success, ) = getTarget().delegatecall(abi.encodeWithSignature("upgradeCanceled()")); require(success, "puc11"); // puc11 - upgradeCanceled delegatecall failed } /// @notice Notifies proxy contract that upgrade finishes function upgradeFinishes() external { requireMaster(msg.sender); (bool success, ) = getTarget().delegatecall(abi.encodeWithSignature("upgradeFinishes()")); require(success, "puf11"); // puf11 - upgradeFinishes delegatecall failed } /// @notice Checks that contract is ready for upgrade /// @return bool flag indicating that contract is ready for upgrade function isReadyForUpgrade() external returns (bool) { (bool success, bytes memory result) = getTarget().delegatecall(abi.encodeWithSignature("isReadyForUpgrade()")); require(success, "rfu11"); // rfu11 - readyForUpgrade delegatecall failed return abi.decode(result, (bool)); } }
pragma solidity ^0.5.0; /// @title Ownable Contract /// @author Matter Labs /// @author ZKSwap L2 Labs contract Ownable { /// @notice Storage position of the masters address (keccak256('eip1967.proxy.admin') - 1) bytes32 private constant masterPosition = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103; /// @notice Contract constructor /// @dev Sets msg sender address as masters address /// @param masterAddress Master address constructor(address masterAddress) public { setMaster(masterAddress); } /// @notice Check if specified address is master /// @param _address Address to check function requireMaster(address _address) internal view { require(_address == getMaster(), "oro11"); // oro11 - only by master } /// @notice Returns contract masters address /// @return Masters address function getMaster() public view returns (address master) { bytes32 position = masterPosition; assembly { master := sload(position) } } /// @notice Sets new masters address /// @param _newMaster New masters address function setMaster(address _newMaster) internal { bytes32 position = masterPosition; assembly { sstore(position, _newMaster) } } /// @notice Transfer mastership of the contract to new master /// @param _newMaster New masters address function transferMastership(address _newMaster) external { requireMaster(msg.sender); require(_newMaster != address(0), "otp11"); // otp11 - new masters address can't be zero address setMaster(_newMaster); } }
pragma solidity ^0.5.0; /// @title Interface of the upgradeable contract /// @author Matter Labs /// @author ZKSwap L2 Labs interface Upgradeable { /// @notice Upgrades target of upgradeable contract /// @param newTarget New target /// @param newTargetInitializationParameters New target initialization parameters function upgradeTarget(address newTarget, bytes calldata newTargetInitializationParameters) external; }
pragma solidity ^0.5.0; /// @title Interface of the upgradeable master contract (defines notice period duration and allows finish upgrade during preparation of it) /// @author Matter Labs /// @author ZKSwap L2 Labs interface UpgradeableMaster { /// @notice Notice period before activation preparation status of upgrade mode function getNoticePeriod() external returns (uint); /// @notice Notifies contract that notice period started function upgradeNoticePeriodStarted() external; /// @notice Notifies contract that upgrade preparation status is activated function upgradePreparationStarted() external; /// @notice Notifies contract that upgrade canceled function upgradeCanceled() external; /// @notice Notifies contract that upgrade finishes function upgradeFinishes() external; /// @notice Checks that contract is ready for upgrade /// @return bool flag indicating that contract is ready for upgrade function isReadyForUpgrade() external returns (bool); }
{ "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "optimizer": { "enabled": true, "runs": 200 } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"targetInitializationParameters","type":"bytes"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"getMaster","outputs":[{"internalType":"address","name":"master","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"getNoticePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTarget","outputs":[{"internalType":"address","name":"target","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[],"name":"isReadyForUpgrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newMaster","type":"address"}],"name":"transferMastership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[],"name":"upgradeCanceled","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"upgradeFinishes","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"upgradeNoticePeriodStarted","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"upgradePreparationStarted","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newTarget","type":"address"},{"internalType":"bytes","name":"newTargetUpgradeParameters","type":"bytes"}],"name":"upgradeTarget","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Deployed Bytecode
0x6080604052600436106100a75760003560e01c806378b91e701161006457806378b91e70146102ce578063871b8ff1146102e35780638773334c146102f8578063b269b9ae14610321578063c3f5968714610336578063f00e6a2a14610369576100a7565b806325394645146100d85780632a3174f4146101575780633b154b731461017e578063439fab91146101935780635a99719e146102105780636fc4914014610241575b60006100b161037a565b905060405136600082376000803683855af43d806000843e8180156100d4578184f35b8184fd5b3480156100e457600080fd5b50610155600480360360208110156100fb57600080fd5b81019060208101813564010000000081111561011657600080fd5b82018360208201111561012857600080fd5b8035906020019184600183028401116401000000008311171561014a57600080fd5b50909250905061039f565b005b34801561016357600080fd5b5061016c6103d4565b60408051918252519081900360200190f35b34801561018a57600080fd5b50610155610506565b34801561019f57600080fd5b50610155600480360360208110156101b657600080fd5b8101906020810181356401000000008111156101d157600080fd5b8201836020820111156101e357600080fd5b8035906020019184600183028401116401000000008311171561020557600080fd5b509092509050610622565b34801561021c57600080fd5b50610225610657565b604080516001600160a01b039092168252519081900360200190f35b34801561024d57600080fd5b506101556004803603604081101561026457600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561028f57600080fd5b8201836020820111156102a157600080fd5b803590602001918460018302840111640100000000831117156102c357600080fd5b50909250905061067c565b3480156102da57600080fd5b506101556107dc565b3480156102ef57600080fd5b506101556108f5565b34801561030457600080fd5b5061030d610a0e565b604080519115158252519081900360200190f35b34801561032d57600080fd5b50610155610b22565b34801561034257600080fd5b506101556004803603602081101561035957600080fd5b50356001600160a01b0316610c3b565b34801561037557600080fd5b506102255b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6040805162461bcd60e51b8152602060048201526005602482015264757067313160d81b604482015290519081900360640190fd5b60008060606103e161037a565b60408051600481526024810182526020810180516001600160e01b0316630a8c5d3d60e21b178152915181516001600160a01b039490941693919290918291908083835b602083106104445780518252601f199092019160209182019101610425565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146104a4576040519150601f19603f3d011682016040523d82523d6000602084013e6104a9565b606091505b5091509150816104e8576040805162461bcd60e51b8152602060048201526005602482015264756e70313160d81b604482015290519081900360640190fd5b8080602001905160208110156104fd57600080fd5b50519250505090565b61050f33610c90565b600061051961037a565b60408051600481526024810182526020810180516001600160e01b0316633b154b7360e01b178152915181516001600160a01b039490941693919290918291908083835b6020831061057c5780518252601f19909201916020918201910161055d565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146105dc576040519150601f19603f3d011682016040523d82523d6000602084013e6105e1565b606091505b505090508061061f576040805162461bcd60e51b81526020600482015260056024820152646e7073313160d81b604482015290519081900360640190fd5b50565b6040805162461bcd60e51b8152602060048201526005602482015264696e69313160d81b604482015290519081900360640190fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b61068533610c90565b61068e83610ce5565b600061069861037a565b6001600160a01b031683836040516024018080602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b0316632539464560e01b17815292518151919750955085945091925081905083835b602083106107335780518252601f199092019160209182019101610714565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610793576040519150601f19603f3d011682016040523d82523d6000602084013e610798565b606091505b50509050806107d6576040805162461bcd60e51b8152602060048201526005602482015264756675313160d81b604482015290519081900360640190fd5b50505050565b6107e533610c90565b60006107ef61037a565b60408051600481526024810182526020810180516001600160e01b031663078b91e760e41b178152915181516001600160a01b039490941693919290918291908083835b602083106108525780518252601f199092019160209182019101610833565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146108b2576040519150601f19603f3d011682016040523d82523d6000602084013e6108b7565b606091505b505090508061061f576040805162461bcd60e51b8152602060048201526005602482015264757073313160d81b604482015290519081900360640190fd5b6108fe33610c90565b600061090861037a565b60408051600481526024810182526020810180516001600160e01b031663871b8ff160e01b178152915181516001600160a01b039490941693919290918291908083835b6020831061096b5780518252601f19909201916020918201910161094c565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146109cb576040519150601f19603f3d011682016040523d82523d6000602084013e6109d0565b606091505b505090508061061f576040805162461bcd60e51b8152602060048201526005602482015264707563313160d81b604482015290519081900360640190fd5b6000806060610a1b61037a565b60408051600481526024810182526020810180516001600160e01b03166321dcccd360e21b178152915181516001600160a01b039490941693919290918291908083835b60208310610a7e5780518252601f199092019160209182019101610a5f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610ade576040519150601f19603f3d011682016040523d82523d6000602084013e610ae3565b606091505b5091509150816104e8576040805162461bcd60e51b8152602060048201526005602482015264726675313160d81b604482015290519081900360640190fd5b610b2b33610c90565b6000610b3561037a565b60408051600481526024810182526020810180516001600160e01b0316635934dcd760e11b178152915181516001600160a01b039490941693919290918291908083835b60208310610b985780518252601f199092019160209182019101610b79565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610bf8576040519150601f19603f3d011682016040523d82523d6000602084013e610bfd565b606091505b505090508061061f576040805162461bcd60e51b8152602060048201526005602482015264707566313160d81b604482015290519081900360640190fd5b610c4433610c90565b6001600160a01b038116610c87576040805162461bcd60e51b81526020600482015260056024820152646f7470313160d81b604482015290519081900360640190fd5b61061f81610d09565b610c98610657565b6001600160a01b0316816001600160a01b03161461061f576040805162461bcd60e51b81526020600482015260056024820152646f726f313160d81b604482015290519081900360640190fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035556fea265627a7a72315820887822604a75792d7c61bc7a541a82b76130e7c9f7c392be6ad0b665d0c7c37064736f6c63430005100032
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 54.61% | $3,327.44 | 44.8238 | $149,148.67 |
ETH | 35.59% | $104,528 | 0.9298 | $97,188.44 | |
ETH | 7.52% | $0.999936 | 20,539.6568 | $20,538.34 | |
ETH | 0.72% | $1 | 1,957.7339 | $1,957.73 | |
ETH | 0.09% | $0.999859 | 239.318 | $239.28 | |
ETH | 0.08% | $12.01 | 19.3093 | $231.9 | |
ETH | <0.01% | $0.166262 | 30 | $4.99 | |
ETH | <0.01% | $0.021343 | 50.0029 | $1.07 | |
ETH | <0.01% | $0.000753 | 1,000 | $0.7526 | |
ZKSYNC | 1.22% | $3,327.44 | 0.9978 | $3,319.99 | |
OP | 0.12% | $3,325.94 | 0.1005 | $334.26 | |
ARB | 0.05% | $3,326.93 | 0.0431 | $143.38 | |
BSC | <0.01% | $682.27 | 0.006 | $4.09 | |
POL | <0.01% | $0.418058 | 7.4747 | $3.12 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.