More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 31,835 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Trade | 20453360 | 159 days ago | IN | 0.0001 ETH | 0.00004243 | ||||
Trade | 20453312 | 159 days ago | IN | 0.0001 ETH | 0.00004194 | ||||
Trade | 20408234 | 165 days ago | IN | 0 ETH | 0.00010298 | ||||
Trade | 20408234 | 165 days ago | IN | 0 ETH | 0.00006482 | ||||
Trade | 20408234 | 165 days ago | IN | 0 ETH | 0.00005974 | ||||
Trade | 20408234 | 165 days ago | IN | 0 ETH | 0.00005974 | ||||
Trade | 20408234 | 165 days ago | IN | 0 ETH | 0.00005915 | ||||
Trade V2 | 20251075 | 187 days ago | IN | 0.015 ETH | 0.00012968 | ||||
Trade V2 | 20251075 | 187 days ago | IN | 0.00044 ETH | 0.00007353 | ||||
Trade V2 | 20251075 | 187 days ago | IN | 0.00044 ETH | 0.00007353 | ||||
Trade V2 | 20251075 | 187 days ago | IN | 0.00044 ETH | 0.00007353 | ||||
Transfer Proxy O... | 20181163 | 197 days ago | IN | 0 ETH | 0.00011108 | ||||
Trade V2 | 20150264 | 201 days ago | IN | 0.00011 ETH | 0.0000484 | ||||
Trade V2 | 20145245 | 202 days ago | IN | 0.0001 ETH | 0.00007025 | ||||
Upgrade To | 20134034 | 204 days ago | IN | 0 ETH | 0.00051497 | ||||
Upgrade To | 20134000 | 204 days ago | IN | 0 ETH | 0.00037276 | ||||
0x92e6f807 | 19750101 | 257 days ago | IN | 0.008 ETH | 0.00022782 | ||||
Trade V2 | 19750075 | 257 days ago | IN | 0.045 ETH | 0.00024482 | ||||
Transfer Ownersh... | 18883119 | 379 days ago | IN | 0 ETH | 0.00123776 | ||||
0x92e6f807 | 18335011 | 456 days ago | IN | 0.1998 ETH | 0.00587453 | ||||
0x92e6f807 | 18326693 | 457 days ago | IN | 0 ETH | 0.00526764 | ||||
0x92e6f807 | 18326642 | 457 days ago | IN | 0 ETH | 0.00523598 | ||||
0x92e6f807 | 18302167 | 460 days ago | IN | 0.0098 ETH | 0.00252446 | ||||
0x92e6f807 | 18266293 | 465 days ago | IN | 0.0032 ETH | 0.00452098 | ||||
0x92e6f807 | 18265189 | 465 days ago | IN | 0.02 ETH | 0.00719452 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
19994536 | 223 days ago | 0.0006 ETH | ||||
19750075 | 257 days ago | 0.045 ETH | ||||
18335011 | 456 days ago | 0.05 ETH | ||||
18335011 | 456 days ago | 0.05 ETH | ||||
18335011 | 456 days ago | 0.05 ETH | ||||
18335011 | 456 days ago | 0.0498 ETH | ||||
18326693 | 457 days ago | 0.0001 ETH | ||||
18326693 | 457 days ago | 0.0001 ETH | ||||
18326693 | 457 days ago | 0.0001 ETH | ||||
18326693 | 457 days ago | 0.0001 ETH | ||||
18326642 | 457 days ago | 0.0001 ETH | ||||
18326642 | 457 days ago | 0.0001 ETH | ||||
18326642 | 457 days ago | 0.0001 ETH | ||||
18302167 | 460 days ago | 0.0049 ETH | ||||
18302167 | 460 days ago | 0.0049 ETH | ||||
18266293 | 465 days ago | 0.0008 ETH | ||||
18266293 | 465 days ago | 0.0008 ETH | ||||
18266293 | 465 days ago | 0.0008 ETH | ||||
18266293 | 465 days ago | 0.0008 ETH | ||||
18265189 | 465 days ago | 0.015 ETH | ||||
18265189 | 465 days ago | 0.005 ETH | ||||
18247646 | 468 days ago | 0.0029 ETH | ||||
18247646 | 468 days ago | 0.0029 ETH | ||||
18247646 | 468 days ago | 0.0035 ETH | ||||
18240538 | 469 days ago | 0.0023 ETH |
Loading...
Loading
Contract Name:
OwnedUpgradeabilityProxy
Compiler Version
v0.5.16+commit.9c3226ce
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-05-12 */ pragma solidity ^0.5.0; /** * @title Proxy * @dev Gives the possibility to delegate any call to a foreign implementation. */ contract Proxy { /** * @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 _impl = implementation(); require(_impl != address(0)); 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) } } } /** * @dev Tells the address of the implementation where every call will be delegated. * @return address of the implementation to which it will be delegated */ function implementation() public view returns (address); } /** * @title UpgradeabilityProxy * @dev This contract represents a proxy where the implementation address to which it will delegate can be upgraded */ contract UpgradeabilityProxy is Proxy { /** * @dev This event will be emitted every time the implementation gets upgraded * @param implementation representing the address of the upgraded implementation */ event Upgraded(address indexed implementation); // Storage position of the address of the current implementation bytes32 private constant IMPLEMENTATION_POSITION = keccak256("offchain.proxy.implementation"); /** * @dev Constructor function */ constructor() public {} /** * @dev Tells the address of the current implementation * @return address of the current implementation */ function implementation() public view returns (address impl) { bytes32 position = IMPLEMENTATION_POSITION; assembly { impl := sload(position) } } /** * @dev Sets the address of the current implementation * @param _newImplementation address representing the new implementation to be set */ function _setImplementation(address _newImplementation) internal { bytes32 position = IMPLEMENTATION_POSITION; assembly { sstore(position, _newImplementation) } } /** * @dev Upgrades the implementation address * @param _newImplementation representing the address of the new implementation to be set */ function _upgradeTo(address _newImplementation) internal { address currentImplementation = implementation(); require(currentImplementation != _newImplementation); _setImplementation(_newImplementation); emit Upgraded(_newImplementation); } } /** * @title OwnedUpgradeabilityProxy * @dev This contract combines an upgradeability proxy with basic authorization control functionalities */ contract OwnedUpgradeabilityProxy is UpgradeabilityProxy { /** * @dev Event to show ownership has been transferred * @param previousOwner representing the address of the previous owner * @param newOwner representing the address of the new owner */ event ProxyOwnershipTransferred(address previousOwner, address newOwner); // Storage position of the owner of the contract bytes32 private constant PROXY_OWNER_POSITION = keccak256("offchain.proxy.owner"); /** * @dev the constructor sets the original owner of the contract to the sender account. */ constructor(address _implementation) public { _setUpgradeabilityOwner(msg.sender); _upgradeTo(_implementation); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyProxyOwner() { require(msg.sender == proxyOwner()); _; } /** * @dev Tells the address of the owner * @return the address of the owner */ function proxyOwner() public view returns (address owner) { bytes32 position = PROXY_OWNER_POSITION; assembly { owner := sload(position) } } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function transferProxyOwnership(address _newOwner) public onlyProxyOwner { require(_newOwner != address(0)); _setUpgradeabilityOwner(_newOwner); emit ProxyOwnershipTransferred(proxyOwner(), _newOwner); } /** * @dev Allows the proxy owner to upgrade the current version of the proxy. * @param _implementation representing the address of the new implementation to be set. */ function upgradeTo(address _implementation) public onlyProxyOwner { _upgradeTo(_implementation); } /** * @dev Sets the address of the owner */ function _setUpgradeabilityOwner(address _newProxyOwner) internal { bytes32 position = PROXY_OWNER_POSITION; assembly { sstore(position, _newProxyOwner) } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_implementation","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"ProxyOwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"impl","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proxyOwner","outputs":[{"internalType":"address","name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferProxyOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_implementation","type":"address"}],"name":"upgradeTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516104e23803806104e28339818101604052602081101561003357600080fd5b5051610047336001600160e01b0361005f16565b610059816001600160e01b0361009416565b5061017d565b604080517f6f6666636861696e2e70726f78792e6f776e65720000000000000000000000008152905190819003601401902055565b60006100a76001600160e01b0361011216565b9050816001600160a01b0316816001600160a01b031614156100c857600080fd5b6100da826001600160e01b0361014816565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b604080517f6f6666636861696e2e70726f78792e696d706c656d656e746174696f6e0000008152905190819003601d0190205490565b604080517f6f6666636861696e2e70726f78792e696d706c656d656e746174696f6e0000008152905190819003601d01902055565b6103568061018c6000396000f3fe60806040526004361061003f5760003560e01c8063025313a2146100835780633659cfe6146100b45780635c60da1b146100e9578063f1739cae146100fe575b6000610049610131565b90506001600160a01b03811661005e57600080fd5b60405136600082376000803683855af43d806000843e81801561007f578184f35b8184fd5b34801561008f57600080fd5b50610098610167565b604080516001600160a01b039092168252519081900360200190f35b3480156100c057600080fd5b506100e7600480360360208110156100d757600080fd5b50356001600160a01b0316610194565b005b3480156100f557600080fd5b50610098610131565b34801561010a57600080fd5b506100e76004803603602081101561012157600080fd5b50356001600160a01b03166101c5565b604080517f6f6666636861696e2e70726f78792e696d706c656d656e746174696f6e0000008152905190819003601d0190205490565b604080517337b33331b430b4b717383937bc3c9737bbb732b960611b815290519081900360140190205490565b61019c610167565b6001600160a01b0316336001600160a01b0316146101b957600080fd5b6101c281610254565b50565b6101cd610167565b6001600160a01b0316336001600160a01b0316146101ea57600080fd5b6001600160a01b0381166101fd57600080fd5b610206816102c0565b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd961022f610167565b604080516001600160a01b03928316815291841660208301528051918290030190a150565b600061025e610131565b9050816001600160a01b0316816001600160a01b0316141561027f57600080fd5b610288826102ec565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b604080517337b33331b430b4b717383937bc3c9737bbb732b960611b8152905190819003601401902055565b604080517f6f6666636861696e2e70726f78792e696d706c656d656e746174696f6e0000008152905190819003601d0190205556fea265627a7a7231582024f2095d57b5b31bdfe10c98e4f5a150d653757982155d2e40a83c8482cfaa7a64736f6c634300051000320000000000000000000000003bbf7b863f4ca90987a415a2bdf54cc9e9e1e3cf
Deployed Bytecode
0x60806040526004361061003f5760003560e01c8063025313a2146100835780633659cfe6146100b45780635c60da1b146100e9578063f1739cae146100fe575b6000610049610131565b90506001600160a01b03811661005e57600080fd5b60405136600082376000803683855af43d806000843e81801561007f578184f35b8184fd5b34801561008f57600080fd5b50610098610167565b604080516001600160a01b039092168252519081900360200190f35b3480156100c057600080fd5b506100e7600480360360208110156100d757600080fd5b50356001600160a01b0316610194565b005b3480156100f557600080fd5b50610098610131565b34801561010a57600080fd5b506100e76004803603602081101561012157600080fd5b50356001600160a01b03166101c5565b604080517f6f6666636861696e2e70726f78792e696d706c656d656e746174696f6e0000008152905190819003601d0190205490565b604080517337b33331b430b4b717383937bc3c9737bbb732b960611b815290519081900360140190205490565b61019c610167565b6001600160a01b0316336001600160a01b0316146101b957600080fd5b6101c281610254565b50565b6101cd610167565b6001600160a01b0316336001600160a01b0316146101ea57600080fd5b6001600160a01b0381166101fd57600080fd5b610206816102c0565b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd961022f610167565b604080516001600160a01b03928316815291841660208301528051918290030190a150565b600061025e610131565b9050816001600160a01b0316816001600160a01b0316141561027f57600080fd5b610288826102ec565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b604080517337b33331b430b4b717383937bc3c9737bbb732b960611b8152905190819003601401902055565b604080517f6f6666636861696e2e70726f78792e696d706c656d656e746174696f6e0000008152905190819003601d0190205556fea265627a7a7231582024f2095d57b5b31bdfe10c98e4f5a150d653757982155d2e40a83c8482cfaa7a64736f6c63430005100032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000003bbf7b863f4ca90987a415a2bdf54cc9e9e1e3cf
-----Decoded View---------------
Arg [0] : _implementation (address): 0x3bbF7B863f4ca90987a415A2BDF54cc9E9E1e3cF
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000003bbf7b863f4ca90987a415a2bdf54cc9e9e1e3cf
Deployed Bytecode Sourcemap
3103:2214:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;384:13;400:16;:14;:16::i;:::-;384:32;-1:-1:-1;;;;;;435:19:0;;427:28;;;;;;509:4;503:11;549:12;546:1;541:3;528:34;637:1;634;620:12;615:3;608:5;603:3;590:49;665:14;716:4;713:1;708:3;693:28;744:6;764:28;;;;828:4;823:3;816:17;764:28;785:4;780:3;773:17;4141:185;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4141:185:0;;;:::i;:::-;;;;-1:-1:-1;;;;;4141:185:0;;;;;;;;;;;;;;4933:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4933:112:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4933:112:0;-1:-1:-1;;;;;4933:112:0;;:::i;:::-;;1930:190;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1930:190:0;;;:::i;4501:235::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4501:235:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4501:235:0;-1:-1:-1;;;;;4501:235:0;;:::i;1930:190::-;1668:42;;;;;;;;;;;;;;;;2087:15;;2064:49::o;4141:185::-;3564:33;;;-1:-1:-1;;;3564:33:0;;;;;;;;;;;;4293:15;;4269:50::o;4933:112::-;4000:12;:10;:12::i;:::-;-1:-1:-1;;;;;3986:26:0;:10;-1:-1:-1;;;;;3986:26:0;;3978:35;;;;;;5010:27;5021:15;5010:10;:27::i;:::-;4933:112;:::o;4501:235::-;4000:12;:10;:12::i;:::-;-1:-1:-1;;;;;3986:26:0;:10;-1:-1:-1;;;;;3986:26:0;;3978:35;;;;;;-1:-1:-1;;;;;4593:23:0;;4585:32;;;;;;4628:34;4652:9;4628:23;:34::i;:::-;4678:50;4704:12;:10;:12::i;:::-;4678:50;;;-1:-1:-1;;;;;4678:50:0;;;;;;;;;;;;;;;;;;;;;4501:235;:::o;2665:280::-;2733:29;2765:16;:14;:16::i;:::-;2733:48;;2825:18;-1:-1:-1;;;;;2800:43:0;:21;-1:-1:-1;;;;;2800:43:0;;;2792:52;;;;;;2855:38;2874:18;2855;:38::i;:::-;2909:28;;-1:-1:-1;;;;;2909:28:0;;;;;;;;2665:280;;:::o;5113:201::-;3564:33;;;-1:-1:-1;;;3564:33:0;;;;;;;;;;;;5264:32;5249:58::o;2291:207::-;1668:42;;;;;;;;;;;;;;;;2444:36;2429:62::o
Swarm Source
bzzr://24f2095d57b5b31bdfe10c98e4f5a150d653757982155d2e40a83c8482cfaa7a
Loading...
Loading
Loading...
Loading
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.