More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 130 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Input Cphx For I... | 17054630 | 649 days ago | IN | 0 ETH | 0.00800252 | ||||
Input Cphx For I... | 16669190 | 704 days ago | IN | 0 ETH | 0.00745011 | ||||
Claimphx Expired... | 16625214 | 710 days ago | IN | 0 ETH | 0.00103459 | ||||
Claimphx Expired... | 16415845 | 739 days ago | IN | 0 ETH | 0.00128888 | ||||
Claimphx Expired... | 16195637 | 770 days ago | IN | 0 ETH | 0.00106304 | ||||
Claimphx Expired... | 15988967 | 799 days ago | IN | 0 ETH | 0.00102359 | ||||
Claimphx Expired... | 15766940 | 830 days ago | IN | 0 ETH | 0.00082431 | ||||
Input Cphx For I... | 15585605 | 855 days ago | IN | 0 ETH | 0.00025369 | ||||
Input Cphx For I... | 15585602 | 855 days ago | IN | 0 ETH | 0.00195498 | ||||
Input Cphx For I... | 15549377 | 860 days ago | IN | 0 ETH | 0.00169185 | ||||
Claimphx Expired... | 15394593 | 885 days ago | IN | 0 ETH | 0.00037649 | ||||
Claimphx Expired... | 15394575 | 885 days ago | IN | 0 ETH | 0.00048381 | ||||
Claimphx Expired... | 15370699 | 889 days ago | IN | 0 ETH | 0.00142064 | ||||
Claimphx Expired... | 15364327 | 890 days ago | IN | 0 ETH | 0.00032324 | ||||
Claimphx Expired... | 15364321 | 890 days ago | IN | 0 ETH | 0.00028314 | ||||
Claimphx Expired... | 15364319 | 890 days ago | IN | 0 ETH | 0.00034292 | ||||
Claimphx Expired... | 14779311 | 985 days ago | IN | 0 ETH | 0.00161193 | ||||
Claimphx Expired... | 14672518 | 1002 days ago | IN | 0 ETH | 0.00164829 | ||||
Claimphx Expired... | 14672511 | 1002 days ago | IN | 0 ETH | 0.00181141 | ||||
Claimphx Expired... | 14672503 | 1002 days ago | IN | 0 ETH | 0.0020999 | ||||
Claimphx Expired... | 14672495 | 1002 days ago | IN | 0 ETH | 0.00223466 | ||||
Input Cphx For I... | 14672492 | 1002 days ago | IN | 0 ETH | 0.00981379 | ||||
Claimphx Expired... | 14672489 | 1002 days ago | IN | 0 ETH | 0.00262942 | ||||
Input Cphx For I... | 14664276 | 1003 days ago | IN | 0 ETH | 0.01443163 | ||||
Claimphx Expired... | 14621166 | 1010 days ago | IN | 0 ETH | 0.00402668 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
phxProxy
Compiler Version
v0.5.16+commit.9c3226ce
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-08-04 */ // File: contracts\PhoenixModules\multiSignature\multiSignatureClient.sol pragma solidity =0.5.16; /** * SPDX-License-Identifier: GPL-3.0-or-later * Phoenix * Copyright (C) 2020 Phoenix Options Protocol */ interface IMultiSignature{ function getValidSignature(bytes32 msghash,uint256 lastIndex) external view returns(uint256); } contract multiSignatureClient{ uint256 private constant multiSignaturePositon = uint256(keccak256("org.Phoenix.multiSignature.storage")); event DebugEvent(address indexed from,bytes32 msgHash,uint256 value,uint256 value1); constructor(address multiSignature) public { require(multiSignature != address(0),"multiSignatureClient : Multiple signature contract address is zero!"); saveValue(multiSignaturePositon,uint256(multiSignature)); } function getMultiSignatureAddress()public view returns (address){ return address(getValue(multiSignaturePositon)); } modifier validCall(){ checkMultiSignature(); _; } function checkMultiSignature() internal { uint256 value; assembly { value := callvalue() } bytes32 msgHash = keccak256(abi.encodePacked(msg.sender, address(this),value,msg.data)); address multiSign = getMultiSignatureAddress(); uint256 index = getValue(uint256(msgHash)); uint256 newIndex = IMultiSignature(multiSign).getValidSignature(msgHash,index); require(newIndex > index, "multiSignatureClient : This tx is not aprroved"); saveValue(uint256(msgHash),newIndex); } function saveValue(uint256 position,uint256 value) internal { assembly { sstore(position, value) } } function getValue(uint256 position) internal view returns (uint256 value) { assembly { value := sload(position) } } } // File: contracts\PhoenixModules\proxyModules\proxyOwner.sol pragma solidity =0.5.16; /** * @title proxyOwner Contract */ contract proxyOwner is multiSignatureClient{ bytes32 private constant ownerExpiredPosition = keccak256("org.Phoenix.ownerExpired.storage"); bytes32 private constant versionPositon = keccak256("org.Phoenix.version.storage"); bytes32 private constant proxyOwnerPosition = keccak256("org.Phoenix.Owner.storage"); bytes32 private constant proxyOriginPosition = keccak256("org.Phoenix.Origin.storage"); uint256 private constant oncePosition = uint256(keccak256("org.Phoenix.Once.storage")); uint256 private constant ownerExpired = 90 days; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); event OriginTransferred(address indexed previousOrigin, address indexed newOrigin); constructor(address multiSignature) multiSignatureClient(multiSignature) public{ _setProxyOwner(msg.sender); _setProxyOrigin(tx.origin); } /** * @dev Allows the current owner to transfer ownership * @param _newOwner The address to transfer ownership to */ function transferOwnership(address _newOwner) public onlyOwner { _setProxyOwner(_newOwner); } function _setProxyOwner(address _newOwner) internal { emit OwnershipTransferred(owner(),_newOwner); bytes32 position = proxyOwnerPosition; assembly { sstore(position, _newOwner) } position = ownerExpiredPosition; uint256 expired = now+ownerExpired; assembly { sstore(position, expired) } } function owner() public view returns (address _owner) { bytes32 position = proxyOwnerPosition; assembly { _owner := sload(position) } } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require (isOwner(),"proxyOwner: caller must be the proxy owner and a contract and not expired"); _; } function transferOrigin(address _newOrigin) public onlyOrigin { _setProxyOrigin(_newOrigin); } function _setProxyOrigin(address _newOrigin) internal { emit OriginTransferred(txOrigin(),_newOrigin); bytes32 position = proxyOriginPosition; assembly { sstore(position, _newOrigin) } } function txOrigin() public view returns (address _origin) { bytes32 position = proxyOriginPosition; assembly { _origin := sload(position) } } function ownerExpiredTime() public view returns (uint256 _expired) { bytes32 position = ownerExpiredPosition; assembly { _expired := sload(position) } } modifier originOnce() { require (msg.sender == txOrigin(),"proxyOwner: caller is not the tx origin!"); uint256 key = oncePosition+uint32(msg.sig); require (getValue(key)==0, "proxyOwner : This function must be invoked only once!"); saveValue(key,1); _; } function isOwner() public view returns (bool) { return msg.sender == owner() && isContract(msg.sender); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOrigin() { require (msg.sender == txOrigin(),"proxyOwner: caller is not the tx origin!"); checkMultiSignature(); _; } modifier OwnerOrOrigin(){ if (isOwner()){ }else if(msg.sender == txOrigin()){ checkMultiSignature(); }else{ require(false,"proxyOwner: caller is not owner or origin"); } _; } function _setVersion(uint256 version_) internal { bytes32 position = versionPositon; assembly { sstore(position, version_) } } function version() public view returns(uint256 version_){ bytes32 position = versionPositon; assembly { version_ := sload(position) } } function isContract(address account) internal view returns (bool) { // This method relies on extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } } // File: contracts\PhoenixModules\proxy\phxProxy.sol pragma solidity =0.5.16; /** * SPDX-License-Identifier: GPL-3.0-or-later * Phoenix * Copyright (C) 2020 Phoenix Options Protocol */ /** * @title phxProxy Contract */ contract phxProxy is proxyOwner { bytes32 private constant implementPositon = keccak256("org.Phoenix.implementation.storage"); event Upgraded(address indexed implementation,uint256 indexed version); constructor(address implementation_,address multiSignature) proxyOwner(multiSignature) public { // Creator of the contract is admin during initialization (bool success,) = implementation_.delegatecall(abi.encodeWithSignature("initialize()")); _setImplementation(implementation_); require(success); } function proxyType() public pure returns (uint256){ return 2; } /** * @dev Tells the address of the current implementation * @return address of the current implementation */ function implementation() public view returns (address impl) { bytes32 position = implementPositon; assembly { impl := sload(position) } } function _setImplementation(address _newImplementation) internal { (bool success, bytes memory returnData) = _newImplementation.delegatecall(abi.encodeWithSignature("implementationVersion()")); assembly { if eq(success, 0) { revert(add(returnData, 0x20), returndatasize) } } uint256 version_ = abi.decode(returnData, (uint256)); require (version_>version(),"upgrade version number must be greater than current version"); bytes32 position = implementPositon; assembly { sstore(position, _newImplementation) } _setVersion(version_); emit Upgraded(_newImplementation,version_); } function upgradeTo(address _newImplementation)public OwnerOrOrigin{ address currentImplementation = implementation(); require(currentImplementation != _newImplementation,"upgrade implementation is not changed!"); (bool success,) = _newImplementation.delegatecall(abi.encodeWithSignature("update()")); _setImplementation(_newImplementation); require(success); } function () 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) } } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"implementation_","type":"address"},{"internalType":"address","name":"multiSignature","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"bytes32","name":"msgHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value1","type":"uint256"}],"name":"DebugEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOrigin","type":"address"},{"indexed":true,"internalType":"address","name":"newOrigin","type":"address"}],"name":"OriginTransferred","type":"event"},{"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":"implementation","type":"address"},{"indexed":true,"internalType":"uint256","name":"version","type":"uint256"}],"name":"Upgraded","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"getMultiSignatureAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"impl","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"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":"_owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ownerExpiredTime","outputs":[{"internalType":"uint256","name":"_expired","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proxyType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newOrigin","type":"address"}],"name":"transferOrigin","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":true,"inputs":[],"name":"txOrigin","outputs":[{"internalType":"address","name":"_origin","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"version_","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620012d5380380620012d5833981810160405260408110156200003757600080fd5b50805160209091015180806001600160a01b038116620000895760405162461bcd60e51b8152600401808060200182810382526043815260200180620012926043913960600191505060405180910390fd5b620000c16040518080620012706022913960405190819003602201902090506001600160a01b0383166001600160e01b03620001df16565b50620000d6336001600160e01b03620001e316565b620000ea326001600160e01b03620002a216565b5060408051600481526024810182526020810180516001600160e01b031663204a7f0760e21b178152915181516000936001600160a01b0387169392918291908083835b602083106200014f5780518252601f1990920191602091820191016200012e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114620001b1576040519150601f19603f3d011682016040523d82523d6000602084013e620001b6565b606091505b50509050620001cb836200032960201b60201c565b80620001d657600080fd5b505050620005c6565b9055565b6001600160a01b038116620002006001600160e01b03620004ef16565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517f6f72672e50686f656e69782e4f776e65722e73746f726167650000000000000081528151908190036019018120929092557f6f72672e50686f656e69782e6f776e6572457870697265642e73746f72616765825251908190036020019020426276a700019055565b6001600160a01b038116620002bf6001600160e01b036200052516565b6001600160a01b03167f6b0ba40b63fe0a4e591f25c6d723a40b532ff7cf536f3ce5abc7f6fb9969418060405160405180910390a3604080517f6f72672e50686f656e69782e4f726967696e2e73746f726167650000000000008152905190819003601a01902055565b60408051600481526024810182526020810180516001600160e01b031663035fe76360e11b178152915181516000936060936001600160a01b038716939092909182918083835b60208310620003915780518252601f19909201916020918201910162000370565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114620003f3576040519150601f19603f3d011682016040523d82523d6000602084013e620003f8565b606091505b509150915060008214156200040e573d60208201fd5b60008180602001905160208110156200042657600080fd5b505190506200043d6001600160e01b036200055b16565b81116200047c5760405162461bcd60e51b815260040180806020018281038252603b81526020018062001235603b913960400191505060405180910390fd5b6000604051808062001213602291396040519081900360220190208681559150620004b29050826001600160e01b036200059116565b60405182906001600160a01b038716907f5887ab9161c3be2fe962b73e068a9f29082efb6daf2bfcbd3f064bc34d1ef1b790600090a35050505050565b604080517f6f72672e50686f656e69782e4f776e65722e73746f7261676500000000000000815290519081900360190190205490565b604080517f6f72672e50686f656e69782e4f726967696e2e73746f726167650000000000008152905190819003601a0190205490565b604080517f6f72672e50686f656e69782e76657273696f6e2e73746f7261676500000000008152905190819003601b0190205490565b604080517f6f72672e50686f656e69782e76657273696f6e2e73746f7261676500000000008152905190819003601b01902055565b610c3d80620005d66000396000f3fe60806040526004361061009c5760003560e01c8063638c7e1711610064578063638c7e17146101975780638da5cb5b146101ac5780638f32d59b146101c1578063c55b3cbc146101ea578063f2fde38b1461021d578063f96757d1146102505761009c565b8063059a4c18146100e05780633659cfe6146101075780634555d5c91461013c57806354fd4d50146101515780635c60da1b14610166575b60006100a6610265565b90506001600160a01b0381166100bb57600080fd5b60405136600082376000803683855af43d806000843e8180156100dc578184f35b8184fd5b3480156100ec57600080fd5b506100f5610288565b60408051918252519081900360200190f35b34801561011357600080fd5b5061013a6004803603602081101561012a57600080fd5b50356001600160a01b03166102be565b005b34801561014857600080fd5b506100f5610475565b34801561015d57600080fd5b506100f561047a565b34801561017257600080fd5b5061017b610265565b604080516001600160a01b039092168252519081900360200190f35b3480156101a357600080fd5b5061017b6104b0565b3480156101b857600080fd5b5061017b6104d9565b3480156101cd57600080fd5b506101d661050b565b604080519115158252519081900360200190f35b3480156101f657600080fd5b5061013a6004803603602081101561020d57600080fd5b50356001600160a01b0316610539565b34801561022957600080fd5b5061013a6004803603602081101561024057600080fd5b50356001600160a01b03166105a4565b34801561025c57600080fd5b5061017b6105f0565b6000806040518080610a9c60229139604051908190036022019020549392505050565b604080517f6f72672e50686f656e69782e6f776e6572457870697265642e73746f72616765815290519081900360200190205490565b6102c661050b565b156102d057610335565b6102d86105f0565b6001600160a01b0316336001600160a01b031614156102fe576102f9610626565b610335565b60405162461bcd60e51b8152600401808060200182810382526029815260200180610b706029913960400191505060405180910390fd5b600061033f610265565b9050816001600160a01b0316816001600160a01b031614156103925760405162461bcd60e51b8152600401808060200182810382526026815260200180610b996026913960400191505060405180910390fd5b60408051600481526024810182526020810180516001600160e01b031663a2e6204560e01b178152915181516000936001600160a01b0387169392918291908083835b602083106103f45780518252601f1990920191602091820191016103d5565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610454576040519150601f19603f3d011682016040523d82523d6000602084013e610459565b606091505b5050905061046683610786565b8061047057600080fd5b505050565b600290565b604080517f6f72672e50686f656e69782e76657273696f6e2e73746f7261676500000000008152905190819003601b0190205490565b60006104d46040518080610bbf60229139604051908190036022019020905061092c565b905090565b60408051786f72672e50686f656e69782e4f776e65722e73746f7261676560381b815290519081900360190190205490565b60006105156104d9565b6001600160a01b0316336001600160a01b03161480156104d457506104d433610930565b6105416105f0565b6001600160a01b0316336001600160a01b0316146105905760405162461bcd60e51b8152600401808060200182810382526028815260200180610be16028913960400191505060405180910390fd5b610598610626565b6105a181610936565b50565b6105ac61050b565b6105e75760405162461bcd60e51b8152600401808060200182810382526049815260200180610af96049913960600191505060405180910390fd5b6105a1816109b2565b604080517f6f72672e50686f656e69782e4f726967696e2e73746f726167650000000000008152905190819003601a0190205490565b6000349050600033308360003660405160200180866001600160a01b03166001600160a01b031660601b8152601401856001600160a01b03166001600160a01b031660601b8152601401848152602001838380828437808301925050509550505050505060405160208183030381529060405280519060200120905060006106ac6104b0565b905060006106b98361092c565b90506000826001600160a01b0316631ebaa16685846040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561070957600080fd5b505afa15801561071d573d6000803e3d6000fd5b505050506040513d602081101561073357600080fd5b505190508181116107755760405162461bcd60e51b815260040180806020018281038252602e815260200180610b42602e913960400191505060405180910390fd5b61077f8482610a62565b5050505050565b60408051600481526024810182526020810180516001600160e01b031663035fe76360e11b178152915181516000936060936001600160a01b038716939092909182918083835b602083106107ec5780518252601f1990920191602091820191016107cd565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461084c576040519150601f19603f3d011682016040523d82523d6000602084013e610851565b606091505b50915091506000821415610866573d60208201fd5b600081806020019051602081101561087d57600080fd5b5051905061088961047a565b81116108c65760405162461bcd60e51b815260040180806020018281038252603b815260200180610abe603b913960400191505060405180910390fd5b60006040518080610a9c602291396022019050604051809103902090508481556108ef82610a66565b60405182906001600160a01b038716907f5887ab9161c3be2fe962b73e068a9f29082efb6daf2bfcbd3f064bc34d1ef1b790600090a35050505050565b5490565b3b151590565b806001600160a01b03166109486105f0565b6001600160a01b03167f6b0ba40b63fe0a4e591f25c6d723a40b532ff7cf536f3ce5abc7f6fb9969418060405160405180910390a3604080517f6f72672e50686f656e69782e4f726967696e2e73746f726167650000000000008152905190819003601a01902055565b806001600160a01b03166109c46104d9565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360408051786f72672e50686f656e69782e4f776e65722e73746f7261676560381b81528151908190036019018120929092557f6f72672e50686f656e69782e6f776e6572457870697265642e73746f72616765825251908190036020019020426276a700019055565b9055565b604080517f6f72672e50686f656e69782e76657273696f6e2e73746f7261676500000000008152905190819003601b0190205556fe6f72672e50686f656e69782e696d706c656d656e746174696f6e2e73746f72616765757067726164652076657273696f6e206e756d626572206d7573742062652067726561746572207468616e2063757272656e742076657273696f6e70726f78794f776e65723a2063616c6c6572206d757374206265207468652070726f7879206f776e657220616e64206120636f6e747261637420616e64206e6f7420657870697265646d756c74695369676e6174757265436c69656e74203a2054686973207478206973206e6f7420617072726f76656470726f78794f776e65723a2063616c6c6572206973206e6f74206f776e6572206f72206f726967696e7570677261646520696d706c656d656e746174696f6e206973206e6f74206368616e676564216f72672e50686f656e69782e6d756c74695369676e61747572652e73746f7261676570726f78794f776e65723a2063616c6c6572206973206e6f7420746865207478206f726967696e21a265627a7a72315820ef9681872df15e42cc2d86fde82329106db82945a5b1a6c64b6fa2741cb591da64736f6c634300051000326f72672e50686f656e69782e696d706c656d656e746174696f6e2e73746f72616765757067726164652076657273696f6e206e756d626572206d7573742062652067726561746572207468616e2063757272656e742076657273696f6e6f72672e50686f656e69782e6d756c74695369676e61747572652e73746f726167656d756c74695369676e6174757265436c69656e74203a204d756c7469706c65207369676e617475726520636f6e74726163742061646472657373206973207a65726f21000000000000000000000000e0f5bd87e939235eb3bc9d81c6d9f0cdcb3480b3000000000000000000000000994a8c8d38718dc67fa2514cfcfeb16f96b2a144
Deployed Bytecode
0x60806040526004361061009c5760003560e01c8063638c7e1711610064578063638c7e17146101975780638da5cb5b146101ac5780638f32d59b146101c1578063c55b3cbc146101ea578063f2fde38b1461021d578063f96757d1146102505761009c565b8063059a4c18146100e05780633659cfe6146101075780634555d5c91461013c57806354fd4d50146101515780635c60da1b14610166575b60006100a6610265565b90506001600160a01b0381166100bb57600080fd5b60405136600082376000803683855af43d806000843e8180156100dc578184f35b8184fd5b3480156100ec57600080fd5b506100f5610288565b60408051918252519081900360200190f35b34801561011357600080fd5b5061013a6004803603602081101561012a57600080fd5b50356001600160a01b03166102be565b005b34801561014857600080fd5b506100f5610475565b34801561015d57600080fd5b506100f561047a565b34801561017257600080fd5b5061017b610265565b604080516001600160a01b039092168252519081900360200190f35b3480156101a357600080fd5b5061017b6104b0565b3480156101b857600080fd5b5061017b6104d9565b3480156101cd57600080fd5b506101d661050b565b604080519115158252519081900360200190f35b3480156101f657600080fd5b5061013a6004803603602081101561020d57600080fd5b50356001600160a01b0316610539565b34801561022957600080fd5b5061013a6004803603602081101561024057600080fd5b50356001600160a01b03166105a4565b34801561025c57600080fd5b5061017b6105f0565b6000806040518080610a9c60229139604051908190036022019020549392505050565b604080517f6f72672e50686f656e69782e6f776e6572457870697265642e73746f72616765815290519081900360200190205490565b6102c661050b565b156102d057610335565b6102d86105f0565b6001600160a01b0316336001600160a01b031614156102fe576102f9610626565b610335565b60405162461bcd60e51b8152600401808060200182810382526029815260200180610b706029913960400191505060405180910390fd5b600061033f610265565b9050816001600160a01b0316816001600160a01b031614156103925760405162461bcd60e51b8152600401808060200182810382526026815260200180610b996026913960400191505060405180910390fd5b60408051600481526024810182526020810180516001600160e01b031663a2e6204560e01b178152915181516000936001600160a01b0387169392918291908083835b602083106103f45780518252601f1990920191602091820191016103d5565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610454576040519150601f19603f3d011682016040523d82523d6000602084013e610459565b606091505b5050905061046683610786565b8061047057600080fd5b505050565b600290565b604080517f6f72672e50686f656e69782e76657273696f6e2e73746f7261676500000000008152905190819003601b0190205490565b60006104d46040518080610bbf60229139604051908190036022019020905061092c565b905090565b60408051786f72672e50686f656e69782e4f776e65722e73746f7261676560381b815290519081900360190190205490565b60006105156104d9565b6001600160a01b0316336001600160a01b03161480156104d457506104d433610930565b6105416105f0565b6001600160a01b0316336001600160a01b0316146105905760405162461bcd60e51b8152600401808060200182810382526028815260200180610be16028913960400191505060405180910390fd5b610598610626565b6105a181610936565b50565b6105ac61050b565b6105e75760405162461bcd60e51b8152600401808060200182810382526049815260200180610af96049913960600191505060405180910390fd5b6105a1816109b2565b604080517f6f72672e50686f656e69782e4f726967696e2e73746f726167650000000000008152905190819003601a0190205490565b6000349050600033308360003660405160200180866001600160a01b03166001600160a01b031660601b8152601401856001600160a01b03166001600160a01b031660601b8152601401848152602001838380828437808301925050509550505050505060405160208183030381529060405280519060200120905060006106ac6104b0565b905060006106b98361092c565b90506000826001600160a01b0316631ebaa16685846040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561070957600080fd5b505afa15801561071d573d6000803e3d6000fd5b505050506040513d602081101561073357600080fd5b505190508181116107755760405162461bcd60e51b815260040180806020018281038252602e815260200180610b42602e913960400191505060405180910390fd5b61077f8482610a62565b5050505050565b60408051600481526024810182526020810180516001600160e01b031663035fe76360e11b178152915181516000936060936001600160a01b038716939092909182918083835b602083106107ec5780518252601f1990920191602091820191016107cd565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461084c576040519150601f19603f3d011682016040523d82523d6000602084013e610851565b606091505b50915091506000821415610866573d60208201fd5b600081806020019051602081101561087d57600080fd5b5051905061088961047a565b81116108c65760405162461bcd60e51b815260040180806020018281038252603b815260200180610abe603b913960400191505060405180910390fd5b60006040518080610a9c602291396022019050604051809103902090508481556108ef82610a66565b60405182906001600160a01b038716907f5887ab9161c3be2fe962b73e068a9f29082efb6daf2bfcbd3f064bc34d1ef1b790600090a35050505050565b5490565b3b151590565b806001600160a01b03166109486105f0565b6001600160a01b03167f6b0ba40b63fe0a4e591f25c6d723a40b532ff7cf536f3ce5abc7f6fb9969418060405160405180910390a3604080517f6f72672e50686f656e69782e4f726967696e2e73746f726167650000000000008152905190819003601a01902055565b806001600160a01b03166109c46104d9565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360408051786f72672e50686f656e69782e4f776e65722e73746f7261676560381b81528151908190036019018120929092557f6f72672e50686f656e69782e6f776e6572457870697265642e73746f72616765825251908190036020019020426276a700019055565b9055565b604080517f6f72672e50686f656e69782e76657273696f6e2e73746f7261676500000000008152905190819003601b0190205556fe6f72672e50686f656e69782e696d706c656d656e746174696f6e2e73746f72616765757067726164652076657273696f6e206e756d626572206d7573742062652067726561746572207468616e2063757272656e742076657273696f6e70726f78794f776e65723a2063616c6c6572206d757374206265207468652070726f7879206f776e657220616e64206120636f6e747261637420616e64206e6f7420657870697265646d756c74695369676e6174757265436c69656e74203a2054686973207478206973206e6f7420617072726f76656470726f78794f776e65723a2063616c6c6572206973206e6f74206f776e6572206f72206f726967696e7570677261646520696d706c656d656e746174696f6e206973206e6f74206368616e676564216f72672e50686f656e69782e6d756c74695369676e61747572652e73746f7261676570726f78794f776e65723a2063616c6c6572206973206e6f7420746865207478206f726967696e21a265627a7a72315820ef9681872df15e42cc2d86fde82329106db82945a5b1a6c64b6fa2741cb591da64736f6c63430005100032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000e0f5bd87e939235eb3bc9d81c6d9f0cdcb3480b3000000000000000000000000994a8c8d38718dc67fa2514cfcfeb16f96b2a144
-----Decoded View---------------
Arg [0] : implementation_ (address): 0xe0f5bd87e939235Eb3BC9D81c6D9F0CdcB3480b3
Arg [1] : multiSignature (address): 0x994a8c8D38718DC67fA2514cFCfEb16f96B2a144
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000e0f5bd87e939235eb3bc9d81c6d9f0cdcb3480b3
Arg [1] : 000000000000000000000000994a8c8d38718dc67fa2514cfcfeb16f96b2a144
Deployed Bytecode Sourcemap
6825:2602:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8987:13;9003:16;:14;:16::i;:::-;8987:32;-1:-1:-1;;;;;;9038:19:0;;9030:28;;;;;;9108:4;9102:11;9144:12;9141:1;9136:3;9123:34;9228:1;9225;9211:12;9206:3;9199:5;9194:3;9181:49;9252:14;9299:4;9296:1;9291:3;9276:28;9323:6;9339:28;;;;9399:4;9394:3;9387:17;9339:28;9360:4;9355:3;9348:17;4634:197;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4634:197:0;;;:::i;:::-;;;;;;;;;;;;;;;;8531:410;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8531:410:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8531:410:0;-1:-1:-1;;;;;8531:410:0;;:::i;:::-;;7387:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7387:77:0;;;:::i;5962:180::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5962:180:0;;;:::i;7603:183::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7603:183:0;;;:::i;:::-;;;;-1:-1:-1;;;;;7603:183:0;;;;;;;;;;;;;;833:130;;8:9:-1;5:2;;;30:1;27;20:12;5:2;833:130:0;;;:::i;3649:180::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3649:180:0;;;:::i;5147:119::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5147:119:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;4071:113;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4071:113:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4071:113:0;-1:-1:-1;;;;;4071:113:0;;:::i;3127:112::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3127:112:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3127:112:0;-1:-1:-1;;;;;3127:112:0;;:::i;4442:186::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4442:186:0;;;:::i;7603:183::-;7650:12;7675:16;6908:47;;;;;;;;;;;;;;;;;;7753:15;;7730:49;-1:-1:-1;;;7730:49:0:o;4634:197::-;2163:45;;;;;;;;;;;;;;;;4798:15;;4771:53::o;8531:410::-;5562:9;:7;:9::i;:::-;5558:196;;;;;;5606:10;:8;:10::i;:::-;-1:-1:-1;;;;;5592:24:0;:10;-1:-1:-1;;;;;5592:24:0;;5589:165;;;5632:21;:19;:21::i;:::-;5589:165;;;5684:58;;-1:-1:-1;;;5684:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8608:29;8640:16;:14;:16::i;:::-;8608:48;;8700:18;-1:-1:-1;;;;;8675:43:0;:21;-1:-1:-1;;;;;8675:43:0;;;8667:93;;;;-1:-1:-1;;;8667:93:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8821:35;;;22:32:-1;6:49;;8821:35:0;;;;;49:4:-1;25:18;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;8789:68:0;;;;8772:12;;-1:-1:-1;;;;;8789:31:0;;;8821:35;8789:68;;;25:18:-1;8789:68:0;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;8789:68:0;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;8771:86:0;;;8868:38;8887:18;8868;:38::i;:::-;8925:7;8917:16;;;;;;5764:1;;8531:410;:::o;7387:77::-;7455:1;7387:77;:::o;5962:180::-;2257:40;;;;;;;;;;;;;;;;6109:15;;6082:53::o;833:130::-;889:7;923:31;442:47;;;;;;;;;;;;;;;;;;;-1:-1:-1;923:8:0;:31::i;:::-;908:47;;833:130;:::o;3649:180::-;2351:38;;;-1:-1:-1;;;2351:38:0;;;;;;;;;;;;3796:15;;3771:51::o;5147:119::-;5187:4;5225:7;:5;:7::i;:::-;-1:-1:-1;;;;;5211:21:0;:10;-1:-1:-1;;;;;5211:21:0;;:47;;;;;5236:22;5247:10;5236;:22::i;4071:113::-;5411:10;:8;:10::i;:::-;-1:-1:-1;;;;;5397:24:0;:10;-1:-1:-1;;;;;5397:24:0;;5388:77;;;;-1:-1:-1;;;5388:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5476:21;:19;:21::i;:::-;4149:27;4165:10;4149:15;:27::i;:::-;4071:113;:::o;3127:112::-;3959:9;:7;:9::i;:::-;3950:95;;;;-1:-1:-1;;;3950:95:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3206:25;3221:9;3206:14;:25::i;4442:186::-;2444:39;;;;;;;;;;;;;;;;4595:15;;4569:52::o;1047:567::-;1098:13;1155:11;1146:20;;1187:15;1232:10;1252:4;1258:5;1264:8;;1215:58;;;;;;-1:-1:-1;;;;;1215:58:0;-1:-1:-1;;;;;1215:58:0;;;;;;;;-1:-1:-1;;;;;1215:58:0;-1:-1:-1;;;;;1215:58:0;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;1215:58:0;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1215:58:0;;;1205:69;;;;;;1187:87;;1285:17;1305:26;:24;:26::i;:::-;1285:46;-1:-1:-1;1342:13:0;1358:26;1375:7;1358:8;:26::i;:::-;1342:42;;1395:16;1430:9;-1:-1:-1;;;;;1414:44:0;;1459:7;1467:5;1414:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1414:59:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1414:59:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1414:59:0;;-1:-1:-1;1492:16:0;;;1484:75;;;;-1:-1:-1;;;1484:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:36;1588:7;1597:8;1570:9;:36::i;:::-;1047:567;;;;;:::o;7792:733::-;7948:50;;;22:32:-1;6:49;;7948:50:0;;;;;49:4:-1;25:18;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;7916:83:0;;;;7875:12;;7889:23;;-1:-1:-1;;;;;7916:31:0;;;7948:50;;7916:83;;;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;7916:83:0;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;7874:125:0;;;;8049:1;8040:7;8037:14;8034:2;;;8101:14;8094:4;8082:10;8078:21;8071:45;8034:2;8152:16;8182:10;8171:33;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8171:33:0;;-1:-1:-1;8233:9:0;:7;:9::i;:::-;8224:8;:18;8215:90;;;;-1:-1:-1;;;8215:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8316:16;6908:47;;;;;;;;;;;;;;;;;;;8316:35;;8403:18;8393:8;8386:36;8443:21;8455:8;8443:11;:21::i;:::-;8480:37;;8508:8;;-1:-1:-1;;;;;8480:37:0;;;;;;;;7792:733;;;;;:::o;1768:151::-;1886:15;;1862:50::o;6154:422::-;6521:20;6560:8;;;6154:422::o;4190:246::-;4295:10;-1:-1:-1;;;;;4266:40:0;4284:10;:8;:10::i;:::-;-1:-1:-1;;;;;4266:40:0;;;;;;;;;;;2444:39;;;;;;;;;;;;;;;;4390:28;4375:54::o;3245:398::-;3348:9;-1:-1:-1;;;;;3319:39:0;3340:7;:5;:7::i;:::-;-1:-1:-1;;;;;3319:39:0;;;;;;;;;;;2351:38;;;-1:-1:-1;;;2351:38:0;;;;;;;;;;;;3441:27;;;;2163:45;;;;;;;;;;;;3549:3;2625:7;3549:16;3600:25;;3585:51::o;1620:142::-;1721:23;;1706:49::o;5779:177::-;2257:40;;;;;;;;;;;;;;;;5912:26;5897:52::o
Swarm Source
bzzr://ef9681872df15e42cc2d86fde82329106db82945a5b1a6c64b6fa2741cb591da
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.000712 | 87,222.7577 | $62.13 |
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.