Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Governance
Compiler Version
v0.5.17+commit.d19bba13
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-08-07
*/
pragma solidity ^0.5.2;
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
*/
contract Ownable {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
constructor () internal {
_owner = msg.sender;
emit OwnershipTransferred(address(0), _owner);
}
/**
* @return the address of the owner.
*/
function owner() public view returns (address) {
return _owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(isOwner());
_;
}
/**
* @return true if `msg.sender` is the owner of the contract.
*/
function isOwner() public view returns (bool) {
return msg.sender == _owner;
}
/**
* @dev Allows the current owner to relinquish control of the contract.
* It will not be possible to call the functions with the `onlyOwner`
* modifier anymore.
* @notice Renouncing ownership will leave the contract without an owner,
* thereby removing any functionality that is only available to the owner.
*/
function renounceOwnership() public onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function transferOwnership(address newOwner) public onlyOwner {
_transferOwnership(newOwner);
}
/**
* @dev Transfers control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function _transferOwnership(address newOwner) internal {
require(newOwner != address(0));
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
contract ProxyStorage is Ownable {
address internal proxyTo;
}
interface IGovernance {
function update(address target, bytes calldata data) external;
}
contract Governance is ProxyStorage, IGovernance {
function update(address target, bytes memory data) public onlyOwner {
(bool success, ) = target.call(data); /* bytes memory returnData */
require(success, "Update failed");
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"update","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040819052600080546001600160a01b03191633178082556001600160a01b0316917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36103bc806100576000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806302a688ed1461005c578063715018a6146101145780638da5cb5b1461011c5780638f32d59b14610140578063f2fde38b1461015c575b600080fd5b6101126004803603604081101561007257600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561009d57600080fd5b8201836020820111156100af57600080fd5b803590602001918460018302840111640100000000831117156100d157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610182945050505050565b005b610112610281565b6101246102dc565b604080516001600160a01b039092168252519081900360200190f35b6101486102eb565b604080519115158252519081900360200190f35b6101126004803603602081101561017257600080fd5b50356001600160a01b03166102fc565b61018a6102eb565b61019357600080fd5b6000826001600160a01b0316826040518082805190602001908083835b602083106101cf5780518252601f1990920191602091820191016101b0565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610231576040519150601f19603f3d011682016040523d82523d6000602084013e610236565b606091505b505090508061027c576040805162461bcd60e51b815260206004820152600d60248201526c155c19185d194819985a5b1959609a1b604482015290519081900360640190fd5b505050565b6102896102eb565b61029257600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6103046102eb565b61030d57600080fd5b61031681610319565b50565b6001600160a01b03811661032c57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fea265627a7a72315820319dad9de54e2ac93fa49613cb8fc6af6203ae06590d7dbd063370a8bc0a514e64736f6c63430005110032
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100575760003560e01c806302a688ed1461005c578063715018a6146101145780638da5cb5b1461011c5780638f32d59b14610140578063f2fde38b1461015c575b600080fd5b6101126004803603604081101561007257600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561009d57600080fd5b8201836020820111156100af57600080fd5b803590602001918460018302840111640100000000831117156100d157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610182945050505050565b005b610112610281565b6101246102dc565b604080516001600160a01b039092168252519081900360200190f35b6101486102eb565b604080519115158252519081900360200190f35b6101126004803603602081101561017257600080fd5b50356001600160a01b03166102fc565b61018a6102eb565b61019357600080fd5b6000826001600160a01b0316826040518082805190602001908083835b602083106101cf5780518252601f1990920191602091820191016101b0565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610231576040519150601f19603f3d011682016040523d82523d6000602084013e610236565b606091505b505090508061027c576040805162461bcd60e51b815260206004820152600d60248201526c155c19185d194819985a5b1959609a1b604482015290519081900360640190fd5b505050565b6102896102eb565b61029257600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6103046102eb565b61030d57600080fd5b61031681610319565b50565b6001600160a01b03811661032c57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fea265627a7a72315820319dad9de54e2ac93fa49613cb8fc6af6203ae06590d7dbd063370a8bc0a514e64736f6c63430005110032
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.