Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 106 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Ownersh... | 20068862 | 217 days ago | IN | 0 ETH | 0.0008521 | ||||
Add Manager | 20068822 | 217 days ago | IN | 0 ETH | 0.00233118 | ||||
Remove Manager | 20068820 | 217 days ago | IN | 0 ETH | 0.00081432 | ||||
Remove Manager | 20068819 | 217 days ago | IN | 0 ETH | 0.00083192 | ||||
Remove Manager | 20068818 | 217 days ago | IN | 0 ETH | 0.00083192 | ||||
Remove Manager | 20068817 | 217 days ago | IN | 0 ETH | 0.00101684 | ||||
Remove Manager | 20068816 | 217 days ago | IN | 0 ETH | 0.00093685 | ||||
Remove Manager | 20068787 | 217 days ago | IN | 0 ETH | 0.00102699 | ||||
Transact | 19584811 | 285 days ago | IN | 0 ETH | 0.0030666 | ||||
Transact | 18828801 | 391 days ago | IN | 0 ETH | 0.00486749 | ||||
Transact | 18481731 | 439 days ago | IN | 0 ETH | 0.00197448 | ||||
Transact | 18332900 | 460 days ago | IN | 0 ETH | 0.00059948 | ||||
Transact | 18299165 | 465 days ago | IN | 0 ETH | 0.00051532 | ||||
Transact | 15877794 | 805 days ago | IN | 0 ETH | 0.0011812 | ||||
Transact | 15700965 | 829 days ago | IN | 0 ETH | 0.00058926 | ||||
Transact | 15484864 | 861 days ago | IN | 0 ETH | 0.00153619 | ||||
Transact | 15306335 | 889 days ago | IN | 0 ETH | 0.00068 | ||||
Transact | 15234909 | 900 days ago | IN | 0 ETH | 0.00075731 | ||||
Transact | 14781105 | 975 days ago | IN | 0 ETH | 0.00318705 | ||||
Transact | 14753239 | 979 days ago | IN | 0 ETH | 0.00448832 | ||||
Transact | 14603791 | 1003 days ago | IN | 0 ETH | 0.00267152 | ||||
Transact | 14443030 | 1028 days ago | IN | 0 ETH | 0.00343745 | ||||
Transact | 14081004 | 1084 days ago | IN | 0 ETH | 0.00840356 | ||||
Transact | 14020589 | 1093 days ago | IN | 0 ETH | 0.01662309 | ||||
Transact | 13934006 | 1107 days ago | IN | 0 ETH | 0.00809271 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
OwnedUpgradeabilityProxy
Compiler Version
v0.7.0+commit.9e61f92b
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-09-17 */ // SPDX-License-Identifier: UNLICENSED // This code is taken from https://github.com/OpenZeppelin/openzeppelin-labs // with minor modifications. pragma solidity ^0.7.0; // This code is taken from https://github.com/OpenZeppelin/openzeppelin-labs // with minor modifications. // This code is taken from https://github.com/OpenZeppelin/openzeppelin-labs /** * @title Proxy * @dev Gives the possibility to delegate any call to a foreign implementation. */ abstract contract Proxy { /** * @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 virtual returns (address); /** * @dev Fallback function allowing to perform a delegatecall to the given implementation. * This function will return whatever the implementation call returns */ fallback() payable external { 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) } } } receive() payable external {} } /** * @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 implementationPosition = keccak256("org.zeppelinos.proxy.implementation"); /** * @dev Constructor function */ constructor() {} /** * @dev Tells the address of the current implementation * @return impl address of the current implementation */ function implementation() public view override returns (address impl) { bytes32 position = implementationPosition; 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 = implementationPosition; 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 proxyOwnerPosition = keccak256("org.zeppelinos.proxy.owner"); /** * @dev the constructor sets the original owner of the contract to the sender account. */ constructor() { setUpgradeabilityOwner(msg.sender); } /** * @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 owner the address of the owner */ function proxyOwner() public view returns (address owner) { bytes32 position = proxyOwnerPosition; assembly { owner := sload(position) } } /** * @dev Sets the address of the owner */ function setUpgradeabilityOwner(address newProxyOwner) internal { bytes32 position = proxyOwnerPosition; assembly { sstore(position, newProxyOwner) } } /** * @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)); emit ProxyOwnershipTransferred(proxyOwner(), newOwner); setUpgradeabilityOwner(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 Allows the proxy owner to upgrade the current version of the proxy and call the new implementation * to initialize whatever is needed through a low level call. * @param implementation representing the address of the new implementation to be set. * @param data represents the msg.data to bet sent in the low level call. This parameter may include the function * signature of the implementation to be called with the needed payload */ function upgradeToAndCall(address implementation, bytes memory data) payable public onlyProxyOwner { upgradeTo(implementation); (bool success, ) = address(this).call{value: msg.value}(data); require(success); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"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"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"impl","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxyOwner","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferProxyOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b5061001a3361001f565b610043565b7f337c729c04082e3bdd94ba7d2b5a8a642f3a138702366a91707825373a2029ba55565b6104d3806100526000396000f3fe60806040526004361061004e5760003560e01c8063025313a2146100995780633659cfe6146100ca5780634f1ef286146100ff5780635c60da1b146101b5578063f1739cae146101ca57610055565b3661005557005b600061005f6101fd565b90506001600160a01b03811661007457600080fd5b60405136600082376000803683855af43d806000843e818015610095578184f35b8184fd5b3480156100a557600080fd5b506100ae610222565b604080516001600160a01b039092168252519081900360200190f35b3480156100d657600080fd5b506100fd600480360360208110156100ed57600080fd5b50356001600160a01b0316610247565b005b6100fd6004803603604081101561011557600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561014057600080fd5b82018360208201111561015257600080fd5b8035906020019184600183028401116401000000008311171561017457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610278945050505050565b3480156101c157600080fd5b506100ae6101fd565b3480156101d657600080fd5b506100fd600480360360208110156101ed57600080fd5b50356001600160a01b031661035d565b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c35490565b7f337c729c04082e3bdd94ba7d2b5a8a642f3a138702366a91707825373a2029ba5490565b61024f610222565b6001600160a01b0316336001600160a01b03161461026c57600080fd5b610275816103e9565b50565b610280610222565b6001600160a01b0316336001600160a01b03161461029d57600080fd5b6102a682610247565b6000306001600160a01b031634836040518082805190602001908083835b602083106102e35780518252601f1990920191602091820191016102c4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610345576040519150601f19603f3d011682016040523d82523d6000602084013e61034a565b606091505b505090508061035857600080fd5b505050565b610365610222565b6001600160a01b0316336001600160a01b03161461038257600080fd5b6001600160a01b03811661039557600080fd5b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd96103be610222565b604080516001600160a01b03928316815291841660208301528051918290030190a161027581610455565b60006103f36101fd565b9050816001600160a01b0316816001600160a01b0316141561041457600080fd5b61041d82610479565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b7f337c729c04082e3bdd94ba7d2b5a8a642f3a138702366a91707825373a2029ba55565b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c35556fea2646970667358221220907d741e7f985c1e35db91a7340f43846478a44457187d8e7ad58e963461317464736f6c63430007000033
Deployed Bytecode
0x60806040526004361061004e5760003560e01c8063025313a2146100995780633659cfe6146100ca5780634f1ef286146100ff5780635c60da1b146101b5578063f1739cae146101ca57610055565b3661005557005b600061005f6101fd565b90506001600160a01b03811661007457600080fd5b60405136600082376000803683855af43d806000843e818015610095578184f35b8184fd5b3480156100a557600080fd5b506100ae610222565b604080516001600160a01b039092168252519081900360200190f35b3480156100d657600080fd5b506100fd600480360360208110156100ed57600080fd5b50356001600160a01b0316610247565b005b6100fd6004803603604081101561011557600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561014057600080fd5b82018360208201111561015257600080fd5b8035906020019184600183028401116401000000008311171561017457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610278945050505050565b3480156101c157600080fd5b506100ae6101fd565b3480156101d657600080fd5b506100fd600480360360208110156101ed57600080fd5b50356001600160a01b031661035d565b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c35490565b7f337c729c04082e3bdd94ba7d2b5a8a642f3a138702366a91707825373a2029ba5490565b61024f610222565b6001600160a01b0316336001600160a01b03161461026c57600080fd5b610275816103e9565b50565b610280610222565b6001600160a01b0316336001600160a01b03161461029d57600080fd5b6102a682610247565b6000306001600160a01b031634836040518082805190602001908083835b602083106102e35780518252601f1990920191602091820191016102c4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610345576040519150601f19603f3d011682016040523d82523d6000602084013e61034a565b606091505b505090508061035857600080fd5b505050565b610365610222565b6001600160a01b0316336001600160a01b03161461038257600080fd5b6001600160a01b03811661039557600080fd5b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd96103be610222565b604080516001600160a01b03928316815291841660208301528051918290030190a161027581610455565b60006103f36101fd565b9050816001600160a01b0316816001600160a01b0316141561041457600080fd5b61041d82610479565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b7f337c729c04082e3bdd94ba7d2b5a8a642f3a138702366a91707825373a2029ba55565b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c35556fea2646970667358221220907d741e7f985c1e35db91a7340f43846478a44457187d8e7ad58e963461317464736f6c63430007000033
Deployed Bytecode Sourcemap
3440:2708:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;964:13;980:16;:14;:16::i;:::-;964:32;-1:-1:-1;;;;;;1011:19:0;;1003:28;;;;;;1075:4;1069:11;1109:14;1106:1;1101:3;1088:36;1197:1;1194;1178:14;1173:3;1166:5;1159;1146:53;1219:16;1266:4;1263:1;1258:3;1243:28;1288:6;1302:28;;;;1360:4;1355:3;1348:17;1302:28;1323:4;1318:3;1311:17;4364:163;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4364:163:0;;;;;;;;;;;;;;5336:104;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5336:104:0;-1:-1:-1;;;;;5336:104:0;;:::i;:::-;;5917:228;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5917:228:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5917:228:0;;-1:-1:-1;5917:228:0;;-1:-1:-1;;;;;5917:228:0:i;2262:198::-;;;;;;;;;;;;;:::i;4931:216::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4931:216:0;-1:-1:-1;;;;;4931:216:0;;:::i;2262:198::-;1991:48;2427:15;;2404:49::o;4364:163::-;3883:39;4500:15;;4482:40::o;5336:104::-;4230:12;:10;:12::i;:::-;-1:-1:-1;;;;;4216:26:0;:10;-1:-1:-1;;;;;4216:26:0;;4208:35;;;;;;5408:26:::1;5419:14;5408:10;:26::i;:::-;5336:104:::0;:::o;5917:228::-;4230:12;:10;:12::i;:::-;-1:-1:-1;;;;;4216:26:0;:10;-1:-1:-1;;;;;4216:26:0;;4208:35;;;;;;6023:25:::1;6033:14;6023:9;:25::i;:::-;6056:12;6082:4;-1:-1:-1::0;;;;;6074:18:0::1;6100:9;6111:4;6074:42;;;;;;;;;;;;;;;;;;;::::0;;;;-1:-1:-1;;6074:42:0;;;;::::1;::::0;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6055:61;;;6131:7;6123:16;;;::::0;::::1;;4250:1;5917:228:::0;;:::o;4931:216::-;4230:12;:10;:12::i;:::-;-1:-1:-1;;;;;4216:26:0;:10;-1:-1:-1;;;;;4216:26:0;;4208:35;;;;;;-1:-1:-1;;;;;5018:22:0;::::1;5010:31;;;::::0;::::1;;5053:49;5079:12;:10;:12::i;:::-;5053:49;::::0;;-1:-1:-1;;;;;5053:49:0;;::::1;::::0;;;;::::1;;::::0;::::1;::::0;;;;;;;;;::::1;5109:32;5132:8;5109:22;:32::i;3005:275::-:0;3072:29;3104:16;:14;:16::i;:::-;3072:48;;3164:17;-1:-1:-1;;;;;3139:42:0;:21;-1:-1:-1;;;;;3139:42:0;;;3131:51;;;;;;3193:36;3211:17;3193;:36::i;:::-;3245:27;;-1:-1:-1;;;;;3245:27:0;;;;;;;;3005:275;;:::o;4588:176::-;3883:39;4721:31;4712:47::o;2633:203::-;1991:48;2783:35;2768:61::o
Swarm Source
ipfs://907d741e7f985c1e35db91a7340f43846478a44457187d8e7ad58e9634613174
Loading...
Loading
Loading...
Loading
OVERVIEW
Loopring's first official guardian for Loopring Smart Wallet.Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.