More Info
Private Name Tags
ContractCreator
Latest 11 from a total of 11 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw | 3979711 | 69 days ago | IN | 0 S | 0.00523472 | ||||
Lock | 3944919 | 69 days ago | IN | 0 S | 0.00610592 | ||||
Lock | 3857766 | 70 days ago | IN | 0 S | 0.0008378 | ||||
Lock | 3857498 | 70 days ago | IN | 0 S | 0.00083773 | ||||
Lock | 3856763 | 70 days ago | IN | 0 S | 0.000932 | ||||
Lock | 3856218 | 70 days ago | IN | 0 S | 0.00101758 | ||||
Withdraw | 3849232 | 70 days ago | IN | 0 S | 0.0005149 | ||||
Lock | 3846506 | 70 days ago | IN | 0 S | 0.00139438 | ||||
Lock | 3828500 | 70 days ago | IN | 0 S | 0.00124421 | ||||
Set Lp Token | 3711368 | 71 days ago | IN | 0 S | 0.00028833 | ||||
Initialize | 3711303 | 71 days ago | IN | 0 S | 0.0016483 |
Loading...
Loading
Contract Name:
EIP173Proxy
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.7.0; import "./Proxy.sol"; interface ERC165 { function supportsInterface(bytes4 id) external view returns (bool); } ///@notice Proxy implementing EIP173 for ownership management contract EIP173Proxy is Proxy { // ////////////////////////// EVENTS /////////////////////////////////////////////////////////////////////// event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); // /////////////////////// CONSTRUCTOR ////////////////////////////////////////////////////////////////////// constructor( address implementationAddress, address ownerAddress, bytes memory data ) payable { _setImplementation(implementationAddress, data); _setOwner(ownerAddress); } // ///////////////////// EXTERNAL /////////////////////////////////////////////////////////////////////////// function owner() external view returns (address) { return _owner(); } function supportsInterface(bytes4 id) external view returns (bool) { if (id == 0x01ffc9a7 || id == 0x7f5828d0) { return true; } if (id == 0xFFFFFFFF) { return false; } ERC165 implementation; // solhint-disable-next-line security/no-inline-assembly assembly { implementation := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc) } // Technically this is not standard compliant as ERC-165 require 30,000 gas which that call cannot ensure // because it is itself inside `supportsInterface` that might only get 30,000 gas. // In practise this is unlikely to be an issue. try implementation.supportsInterface(id) returns (bool support) { return support; } catch { return false; } } function transferOwnership(address newOwner) external onlyOwner { _setOwner(newOwner); } function upgradeTo(address newImplementation) external onlyOwner { _setImplementation(newImplementation, ""); } function upgradeToAndCall(address newImplementation, bytes calldata data) external payable onlyOwner { _setImplementation(newImplementation, data); } // /////////////////////// MODIFIERS //////////////////////////////////////////////////////////////////////// modifier onlyOwner() { require(msg.sender == _owner(), "NOT_AUTHORIZED"); _; } // ///////////////////////// INTERNAL ////////////////////////////////////////////////////////////////////// function _owner() internal view returns (address adminAddress) { // solhint-disable-next-line security/no-inline-assembly assembly { adminAddress := sload(0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103) } } function _setOwner(address newOwner) internal { address previousOwner = _owner(); // solhint-disable-next-line security/no-inline-assembly assembly { sstore(0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, newOwner) } emit OwnershipTransferred(previousOwner, newOwner); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.7.0; // EIP-1967 abstract contract Proxy { // /////////////////////// EVENTS /////////////////////////////////////////////////////////////////////////// event ProxyImplementationUpdated(address indexed previousImplementation, address indexed newImplementation); // ///////////////////// EXTERNAL /////////////////////////////////////////////////////////////////////////// receive() external payable virtual { revert("ETHER_REJECTED"); // explicit reject by default } fallback() external payable { _fallback(); } // ///////////////////////// INTERNAL ////////////////////////////////////////////////////////////////////// function _fallback() internal { // solhint-disable-next-line security/no-inline-assembly assembly { let implementationAddress := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc) calldatacopy(0x0, 0x0, calldatasize()) let success := delegatecall(gas(), implementationAddress, 0x0, calldatasize(), 0, 0) let retSz := returndatasize() returndatacopy(0, 0, retSz) switch success case 0 { revert(0, retSz) } default { return(0, retSz) } } } function _setImplementation(address newImplementation, bytes memory data) internal { address previousImplementation; // solhint-disable-next-line security/no-inline-assembly assembly { previousImplementation := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc) } // solhint-disable-next-line security/no-inline-assembly assembly { sstore(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, newImplementation) } emit ProxyImplementationUpdated(previousImplementation, newImplementation); if (data.length > 0) { (bool success, ) = newImplementation.delegatecall(data); if (!success) { assembly { // This assembly ensure the revert contains the exact string data let returnDataSize := returndatasize() returndatacopy(0, 0, returnDataSize) revert(0, returnDataSize) } } } } }
{ "evmVersion": "istanbul", "libraries": {}, "metadata": { "bytecodeHash": "ipfs", "useLiteralContent": true }, "optimizer": { "enabled": true, "runs": 200 }, "remappings": [], "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"implementationAddress","type":"address"},{"internalType":"address","name":"ownerAddress","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousImplementation","type":"address"},{"indexed":true,"internalType":"address","name":"newImplementation","type":"address"}],"name":"ProxyImplementationUpdated","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"id","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526040516109953803806109958339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b506040525050506100f1838261010260201b60201c565b6100fa82610225565b505050610299565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8054908390556040516001600160a01b0380851691908316907f5570d70a002632a7b0b3c9304cc89efb62d8da9eca0dbd7752c83b737906829690600090a3815115610220576000836001600160a01b0316836040518082805190602001908083835b602083106101a55780518252601f199092019160209182019101610186565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610205576040519150601f19603f3d011682016040523d82523d6000602084013e61020a565b606091505b505090508061021e573d806000803e806000fd5b505b505050565b600061022f610286565b90508160008051602061097583398151915255816001600160a01b0316816001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000805160206109758339815191525490565b6106cd806102a86000396000f3fe60806040526004361061004e5760003560e01c806301ffc9a71461009b5780633659cfe6146100e35780634f1ef286146101165780638da5cb5b14610196578063f2fde38b146101c757610091565b36610091576040805162461bcd60e51b815260206004820152600e60248201526d115512115497d491529150d5115160921b604482015290519081900360640190fd5b6100996101fa565b005b3480156100a757600080fd5b506100cf600480360360208110156100be57600080fd5b50356001600160e01b031916610245565b604080519115158252519081900360200190f35b3480156100ef57600080fd5b506100996004803603602081101561010657600080fd5b50356001600160a01b0316610350565b6100996004803603604081101561012c57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561015757600080fd5b82018360208201111561016957600080fd5b8035906020019184600183028401116401000000008311171561018b57600080fd5b5090925090506103ca565b3480156101a257600080fd5b506101ab61046d565b604080516001600160a01b039092168252519081900360200190f35b3480156101d357600080fd5b50610099600480360360208110156101ea57600080fd5b50356001600160a01b031661047c565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460003681823780813683855af491503d8082833e82801561023b578183f35b8183fd5b50505050565b60006301ffc9a760e01b6001600160e01b03198316148061027657506307f5828d60e41b6001600160e01b03198316145b156102835750600161034b565b6001600160e01b0319808316141561029d5750600061034b565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54604080516301ffc9a760e01b81526001600160e01b03198516600482015290516001600160a01b038316916301ffc9a7916024808301926020929190829003018186803b15801561030f57600080fd5b505afa92505050801561033457506040513d602081101561032f57600080fd5b505160015b61034257600091505061034b565b915061034b9050565b919050565b6103586104e3565b6001600160a01b0316336001600160a01b0316146103ae576040805162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b604482015290519081900360640190fd5b6103c78160405180602001604052806000815250610508565b50565b6103d26104e3565b6001600160a01b0316336001600160a01b031614610428576040805162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b604482015290519081900360640190fd5b6104688383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061050892505050565b505050565b60006104776104e3565b905090565b6104846104e3565b6001600160a01b0316336001600160a01b0316146104da576040805162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b604482015290519081900360640190fd5b6103c781610624565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8054908390556040516001600160a01b0380851691908316907f5570d70a002632a7b0b3c9304cc89efb62d8da9eca0dbd7752c83b737906829690600090a3815115610468576000836001600160a01b0316836040518082805190602001908083835b602083106105ab5780518252601f19909201916020918201910161058c565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461060b576040519150601f19603f3d011682016040523d82523d6000602084013e610610565b606091505b505090508061023f573d806000803e806000fd5b600061062e6104e3565b9050817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355816001600160a01b0316816001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505056fea264697066735822122000175ad3bc207dcfbbb639ee195d2aacbaf0b1a6c141dc2f48218e4c625d4e5364736f6c63430007060033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000003536997ca04e53f64909dc892d948bc727d9f4370000000000000000000000009e253c592f65feb76396181935c0b63f5c4cfd0700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x60806040526004361061004e5760003560e01c806301ffc9a71461009b5780633659cfe6146100e35780634f1ef286146101165780638da5cb5b14610196578063f2fde38b146101c757610091565b36610091576040805162461bcd60e51b815260206004820152600e60248201526d115512115497d491529150d5115160921b604482015290519081900360640190fd5b6100996101fa565b005b3480156100a757600080fd5b506100cf600480360360208110156100be57600080fd5b50356001600160e01b031916610245565b604080519115158252519081900360200190f35b3480156100ef57600080fd5b506100996004803603602081101561010657600080fd5b50356001600160a01b0316610350565b6100996004803603604081101561012c57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561015757600080fd5b82018360208201111561016957600080fd5b8035906020019184600183028401116401000000008311171561018b57600080fd5b5090925090506103ca565b3480156101a257600080fd5b506101ab61046d565b604080516001600160a01b039092168252519081900360200190f35b3480156101d357600080fd5b50610099600480360360208110156101ea57600080fd5b50356001600160a01b031661047c565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460003681823780813683855af491503d8082833e82801561023b578183f35b8183fd5b50505050565b60006301ffc9a760e01b6001600160e01b03198316148061027657506307f5828d60e41b6001600160e01b03198316145b156102835750600161034b565b6001600160e01b0319808316141561029d5750600061034b565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54604080516301ffc9a760e01b81526001600160e01b03198516600482015290516001600160a01b038316916301ffc9a7916024808301926020929190829003018186803b15801561030f57600080fd5b505afa92505050801561033457506040513d602081101561032f57600080fd5b505160015b61034257600091505061034b565b915061034b9050565b919050565b6103586104e3565b6001600160a01b0316336001600160a01b0316146103ae576040805162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b604482015290519081900360640190fd5b6103c78160405180602001604052806000815250610508565b50565b6103d26104e3565b6001600160a01b0316336001600160a01b031614610428576040805162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b604482015290519081900360640190fd5b6104688383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061050892505050565b505050565b60006104776104e3565b905090565b6104846104e3565b6001600160a01b0316336001600160a01b0316146104da576040805162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b604482015290519081900360640190fd5b6103c781610624565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8054908390556040516001600160a01b0380851691908316907f5570d70a002632a7b0b3c9304cc89efb62d8da9eca0dbd7752c83b737906829690600090a3815115610468576000836001600160a01b0316836040518082805190602001908083835b602083106105ab5780518252601f19909201916020918201910161058c565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461060b576040519150601f19603f3d011682016040523d82523d6000602084013e610610565b606091505b505090508061023f573d806000803e806000fd5b600061062e6104e3565b9050817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355816001600160a01b0316816001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505056fea264697066735822122000175ad3bc207dcfbbb639ee195d2aacbaf0b1a6c141dc2f48218e4c625d4e5364736f6c63430007060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000003536997ca04e53f64909dc892d948bc727d9f4370000000000000000000000009e253c592f65feb76396181935c0b63f5c4cfd0700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : implementationAddress (address): 0x3536997ca04e53f64909dc892D948Bc727d9F437
Arg [1] : ownerAddress (address): 0x9E253C592f65FEB76396181935c0B63F5C4cfD07
Arg [2] : data (bytes): 0x
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000003536997ca04e53f64909dc892d948bc727d9f437
Arg [1] : 0000000000000000000000009e253c592f65feb76396181935c0b63f5c4cfd07
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
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.