Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0xb066a2566cf6a4ab9e7fade1059d1717798c4d4a2c7eee41ee90387ea9c945a7 | Redeem Winning T... | (pending) | 3 days ago | IN | 0 ETH | (Pending) | |||
0x82aaa3c1c02fae727619bc6a89579bf1204f904412447d432310d02477f9fa5c | Redeem Winning T... | (pending) | 5 days ago | IN | 0 ETH | (Pending) | |||
Redeem Winning T... | 14204542 | 907 days ago | IN | 0 ETH | 0.01666518 | ||||
Redeem Winning T... | 14204316 | 907 days ago | IN | 0 ETH | 0.0145564 | ||||
Redeem Winning T... | 14201299 | 908 days ago | IN | 0 ETH | 0.01191253 | ||||
Redeem Winning T... | 14201258 | 908 days ago | IN | 0 ETH | 0.01008567 | ||||
Redeem Winning T... | 14199973 | 908 days ago | IN | 0 ETH | 0.0222594 | ||||
Redeem Winning T... | 14196507 | 908 days ago | IN | 0 ETH | 0.00685848 | ||||
Redeem Winning T... | 14194779 | 909 days ago | IN | 0 ETH | 0.00822618 | ||||
Redeem Winning T... | 14193117 | 909 days ago | IN | 0 ETH | 0.02283696 | ||||
Redeem Winning T... | 14191293 | 909 days ago | IN | 0 ETH | 0.01579181 | ||||
Fund Deposit And... | 14188396 | 910 days ago | IN | 3 ETH | 0.00393672 | ||||
Redeem Winning T... | 14186702 | 910 days ago | IN | 0 ETH | 0.03444632 | ||||
Redeem Winning T... | 14185842 | 910 days ago | IN | 0 ETH | 0.03096643 | ||||
Redeem Winning T... | 14184487 | 910 days ago | IN | 0 ETH | 0.01429581 | ||||
Redeem Winning T... | 14183766 | 910 days ago | IN | 0 ETH | 0.01570077 | ||||
Redeem Winning T... | 14181532 | 911 days ago | IN | 0 ETH | 0.01840859 | ||||
Redeem Winning T... | 14179996 | 911 days ago | IN | 0 ETH | 0.03585819 | ||||
Redeem Winning T... | 14168635 | 913 days ago | IN | 0 ETH | 0.04685393 | ||||
Redeem Winning T... | 14161604 | 914 days ago | IN | 0 ETH | 0.02155049 | ||||
Redeem Winning T... | 14161422 | 914 days ago | IN | 0 ETH | 0.02278083 | ||||
Redeem Winning T... | 14152191 | 915 days ago | IN | 0 ETH | 0.01973943 | ||||
Redeem Winning T... | 14148020 | 916 days ago | IN | 0 ETH | 0.03716052 | ||||
Redeem Winning T... | 14147897 | 916 days ago | IN | 0 ETH | 0.03587314 | ||||
Redeem Winning T... | 14146337 | 916 days ago | IN | 0 ETH | 0.01817812 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
14188396 | 910 days ago | 3 ETH | ||||
14130393 | 918 days ago | 3.99 ETH | ||||
14127848 | 919 days ago | 0.5 ETH | ||||
14127706 | 919 days ago | 0.3 ETH | ||||
14123904 | 920 days ago | 1 ETH | ||||
14064537 | 929 days ago | 5 ETH | ||||
14020257 | 936 days ago | 5 ETH | ||||
13939178 | 948 days ago | 6 ETH | ||||
13852240 | 962 days ago | 5 ETH | ||||
13780262 | 973 days ago | 4 ETH | ||||
13681436 | 988 days ago | 5 ETH | ||||
13604994 | 1001 days ago | 5 ETH | ||||
13545987 | 1010 days ago | 2.9 ETH | ||||
13470878 | 1022 days ago | 4 ETH | ||||
13397777 | 1033 days ago | 4.99 ETH | ||||
13368059 | 1038 days ago | 4.99 ETH | ||||
13304835 | 1048 days ago | 4.99 ETH | ||||
13299040 | 1048 days ago | 0.011 ETH | ||||
13221034 | 1061 days ago | 5 ETH | ||||
13135672 | 1074 days ago | 4.99 ETH | ||||
12918322 | 1107 days ago | 5 ETH | ||||
12910145 | 1109 days ago | 0.72 ETH | ||||
12841982 | 1119 days ago | 4 ETH | ||||
12771177 | 1131 days ago | 5 ETH | ||||
12697581 | 1142 days ago | 0.02 ETH |
Loading...
Loading
Contract Name:
ManagerProxy
Compiler Version
v0.5.11+commit.c082d0b4
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-01-13 */ // File: contracts/IManager.sol pragma solidity ^0.5.11; contract IManager { event SetController(address controller); event ParameterUpdate(string param); function setController(address _controller) external; } // File: contracts/zeppelin/Ownable.sol pragma solidity ^0.5.11; /** * @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 public 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() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @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 { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } // File: contracts/zeppelin/Pausable.sol pragma solidity ^0.5.11; /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() public onlyOwner whenNotPaused { paused = true; emit Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() public onlyOwner whenPaused { paused = false; emit Unpause(); } } // File: contracts/IController.sol pragma solidity ^0.5.11; contract IController is Pausable { event SetContractInfo(bytes32 id, address contractAddress, bytes20 gitCommitHash); function setContractInfo(bytes32 _id, address _contractAddress, bytes20 _gitCommitHash) external; function updateController(bytes32 _id, address _controller) external; function getContract(bytes32 _id) public view returns (address); } // File: contracts/Manager.sol pragma solidity ^0.5.11; contract Manager is IManager { // Controller that contract is registered with IController public controller; // Check if sender is controller modifier onlyController() { require(msg.sender == address(controller), "caller must be Controller"); _; } // Check if sender is controller owner modifier onlyControllerOwner() { require(msg.sender == controller.owner(), "caller must be Controller owner"); _; } // Check if controller is not paused modifier whenSystemNotPaused() { require(!controller.paused(), "system is paused"); _; } // Check if controller is paused modifier whenSystemPaused() { require(controller.paused(), "system is not paused"); _; } constructor(address _controller) public { controller = IController(_controller); } /** * @notice Set controller. Only callable by current controller * @param _controller Controller contract address */ function setController(address _controller) external onlyController { controller = IController(_controller); emit SetController(_controller); } } // File: contracts/ManagerProxyTarget.sol pragma solidity ^0.5.11; /** * @title ManagerProxyTarget * @notice The base contract that target contracts used by a proxy contract should inherit from * @dev Both the target contract and the proxy contract (implemented as ManagerProxy) MUST inherit from ManagerProxyTarget in order to guarantee that both contracts have the same storage layout. Differing storage layouts in a proxy contract and target contract can potentially break the delegate proxy upgradeability mechanism */ contract ManagerProxyTarget is Manager { // Used to look up target contract address in controller's registry bytes32 public targetContractId; } // File: contracts/ManagerProxy.sol pragma solidity ^0.5.11; /** * @title ManagerProxy * @notice A proxy contract that uses delegatecall to execute function calls on a target contract using its own storage context. The target contract is a Manager contract that is registered with the Controller. * @dev Both this proxy contract and its target contract MUST inherit from ManagerProxyTarget in order to guarantee that both contracts have the same storage layout. Differing storage layouts in a proxy contract and target contract can potentially break the delegate proxy upgradeability mechanism. Since this proxy contract inherits from ManagerProxyTarget which inherits from Manager, it implements the setController() function. The target contract will also implement setController() since it also inherits from ManagerProxyTarget. Thus, any transaction sent to the proxy that calls setController() will execute against the proxy instead of the target. As a result, developers should keep in mind that the proxy will always execute the same logic for setController() regardless of the setController() implementation on the target contract. Generally, developers should not add any additional functions to this proxy contract because any function implemented on the proxy will always be executed against the proxy and the call **will not** be forwarded to the target contract */ contract ManagerProxy is ManagerProxyTarget { /** * @notice ManagerProxy constructor. Invokes constructor of base Manager contract with provided Controller address. * Also, sets the contract ID of the target contract that function calls will be executed on. * @param _controller Address of Controller that this contract will be registered with * @param _targetContractId contract ID of the target contract */ constructor(address _controller, bytes32 _targetContractId) public Manager(_controller) { targetContractId = _targetContractId; } /** * @notice Uses delegatecall to execute function calls on this proxy contract's target contract using its own storage context. This fallback function will look up the address of the target contract using the Controller and the target contract ID. It will then use the calldata for a function call as the data payload for a delegatecall on the target contract. The return value of the executed function call will also be returned */ function() external payable { address target = controller.getContract(targetContractId); require( target != address(0), "target contract must be registered" ); assembly { // Solidity keeps a free memory pointer at position 0x40 in memory let freeMemoryPtrPosition := 0x40 // Load the free memory pointer let calldataMemoryOffset := mload(freeMemoryPtrPosition) // Update free memory pointer to after memory space we reserve for calldata mstore(freeMemoryPtrPosition, add(calldataMemoryOffset, calldatasize)) // Copy calldata (method signature and params of the call) to memory calldatacopy(calldataMemoryOffset, 0x0, calldatasize) // Call method on target contract using calldata which is loaded into memory let ret := delegatecall(gas, target, calldataMemoryOffset, calldatasize, 0, 0) // Load the free memory pointer let returndataMemoryOffset := mload(freeMemoryPtrPosition) // Update free memory pointer to after memory space we reserve for returndata mstore(freeMemoryPtrPosition, add(returndataMemoryOffset, returndatasize)) // Copy returndata (result of the method invoked by the delegatecall) to memory returndatacopy(returndataMemoryOffset, 0x0, returndatasize) switch ret case 0 { // Method call failed - revert // Return any error message stored in mem[returndataMemoryOffset..(returndataMemoryOffset + returndatasize)] revert(returndataMemoryOffset, returndatasize) } default { // Return result of method call stored in mem[returndataMemoryOffset..(returndataMemoryOffset + returndatasize)] return(returndataMemoryOffset, returndatasize) } } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"targetContractId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"name":"setController","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"controller","outputs":[{"internalType":"contract IController","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_controller","type":"address"},{"internalType":"bytes32","name":"_targetContractId","type":"bytes32"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"controller","type":"address"}],"name":"SetController","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"param","type":"string"}],"name":"ParameterUpdate","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516103423803806103428339818101604052604081101561003357600080fd5b508051602090910151600080546001600160a01b0319166001600160a01b039093169290921782556001556102d490819061006e90396000f3fe6080604052600436106100345760003560e01c806351720b411461012857806392eefe9b1461014f578063f77c479114610184575b6000805460015460408051631c2d8fb360e31b81526004810192909252516001600160a01b039092169163e16c7d9891602480820192602092909190829003018186803b15801561008457600080fd5b505afa158015610098573d6000803e3d6000fd5b505050506040513d60208110156100ae57600080fd5b505190506001600160a01b0381166100f75760405162461bcd60e51b815260040180806020018281038252602281526020018061027e6022913960400191505060405180910390fd5b60408051368101825236600082376000803683865af482513d810184523d6000823e818015610124573d82f35b3d82fd5b34801561013457600080fd5b5061013d6101b5565b60408051918252519081900360200190f35b34801561015b57600080fd5b506101826004803603602081101561017257600080fd5b50356001600160a01b03166101bb565b005b34801561019057600080fd5b5061019961026e565b604080516001600160a01b039092168252519081900360200190f35b60015481565b6000546001600160a01b0316331461021a576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000546001600160a01b03168156fe74617267657420636f6e7472616374206d7573742062652072656769737465726564a265627a7a723158207d6755ba58f18df7224df8cea30bd7ec958d77f46b6a85677a1177ecf3e5f07864736f6c634300050b0032000000000000000000000000f96d54e490317c557a967abfa5d6e33006be69b3f16f832ef171c8058cbd4a32de7d27c32a1a1ad90bb091b4b7f376f1d95ee254
Deployed Bytecode
0x6080604052600436106100345760003560e01c806351720b411461012857806392eefe9b1461014f578063f77c479114610184575b6000805460015460408051631c2d8fb360e31b81526004810192909252516001600160a01b039092169163e16c7d9891602480820192602092909190829003018186803b15801561008457600080fd5b505afa158015610098573d6000803e3d6000fd5b505050506040513d60208110156100ae57600080fd5b505190506001600160a01b0381166100f75760405162461bcd60e51b815260040180806020018281038252602281526020018061027e6022913960400191505060405180910390fd5b60408051368101825236600082376000803683865af482513d810184523d6000823e818015610124573d82f35b3d82fd5b34801561013457600080fd5b5061013d6101b5565b60408051918252519081900360200190f35b34801561015b57600080fd5b506101826004803603602081101561017257600080fd5b50356001600160a01b03166101bb565b005b34801561019057600080fd5b5061019961026e565b604080516001600160a01b039092168252519081900360200190f35b60015481565b6000546001600160a01b0316331461021a576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000546001600160a01b03168156fe74617267657420636f6e7472616374206d7573742062652072656769737465726564a265627a7a723158207d6755ba58f18df7224df8cea30bd7ec958d77f46b6a85677a1177ecf3e5f07864736f6c634300050b0032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f96d54e490317c557a967abfa5d6e33006be69b3f16f832ef171c8058cbd4a32de7d27c32a1a1ad90bb091b4b7f376f1d95ee254
-----Decoded View---------------
Arg [0] : _controller (address): 0xF96D54E490317c557A967ABfA5d6e33006BE69b3
Arg [1] : _targetContractId (bytes32): 0xf16f832ef171c8058cbd4a32de7d27c32a1a1ad90bb091b4b7f376f1d95ee254
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000f96d54e490317c557a967abfa5d6e33006be69b3
Arg [1] : f16f832ef171c8058cbd4a32de7d27c32a1a1ad90bb091b4b7f376f1d95ee254
Deployed Bytecode Sourcemap
6303:3057:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;7412:14;7429:10;;;7452:16;7429:40;;;-1:-1:-1;;;7429:40:0;;;;;;;;;;-1:-1:-1;;;;;7429:10:0;;;;:22;;:40;;;;;;;;;;;;;;;:10;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;7429:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7429:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7429:40:0;;-1:-1:-1;;;;;;7502:20:0;;7480:104;;;;-1:-1:-1;;;7480:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7730:4;7827:21;7821:28;8008:12;7986:20;7982:39;7959:21;7952:70;8158:12;8153:3;8131:20;8118:53;8353:1;8350;8336:12;8314:20;8306:6;8301:3;8288:67;8452:21;8446:28;8637:14;8613:22;8609:43;8586:21;8579:74;8804:14;8799:3;8775:22;8760:59;8842:3;8859:261;;;;9309:14;9285:22;9278:46;8859:261;9090:14;9066:22;9059:46;4852:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4852:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;4012:168;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4012:168:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4012:168:0;-1:-1:-1;;;;;4012:168:0;;:::i;:::-;;3047:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3047:29:0;;;:::i;:::-;;;;-1:-1:-1;;;;;3047:29:0;;;;;;;;;;;;;;4852:31;;;;:::o;4012:168::-;3190:10;;-1:-1:-1;;;;;3190:10:0;3168;:33;3160:71;;;;;-1:-1:-1;;;3160:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4091:10;:37;;-1:-1:-1;;;;;4091:37:0;;-1:-1:-1;;;;;;4091:37:0;;;;;;;;4146:26;;;;;;;;;;;;;;;;4012:168;:::o;3047:29::-;;;-1:-1:-1;;;;;3047:29:0;;:::o
Swarm Source
bzzr://7d6755ba58f18df7224df8cea30bd7ec958d77f46b6a85677a1177ecf3e5f078
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.