Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
EventsHubProxy
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-03-26 */ // File: contracts/common/misc/ERCProxy.sol /* * SPDX-License-Identitifer: MIT */ pragma solidity ^0.5.2; // See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-897.md interface ERCProxy { function proxyType() external pure returns (uint256 proxyTypeId); function implementation() external view returns (address codeAddr); } // File: contracts/common/misc/DelegateProxyForwarder.sol pragma solidity ^0.5.2; contract DelegateProxyForwarder { function delegatedFwd(address _dst, bytes memory _calldata) internal { // solium-disable-next-line security/no-inline-assembly assembly { let result := delegatecall( sub(gas, 10000), _dst, add(_calldata, 0x20), mload(_calldata), 0, 0 ) let size := returndatasize let ptr := mload(0x40) returndatacopy(ptr, 0, size) // revert instead of invalid() bc if the underlying call failed with invalid() it already wasted gas. // if the call returned error data, forward it switch result case 0 { revert(ptr, size) } default { return(ptr, size) } } } function isContract(address _target) internal view returns (bool) { if (_target == address(0)) { return false; } uint256 size; assembly { size := extcodesize(_target) } return size > 0; } } // File: contracts/common/misc/DelegateProxy.sol pragma solidity ^0.5.2; contract DelegateProxy is ERCProxy, DelegateProxyForwarder { function proxyType() external pure returns (uint256 proxyTypeId) { // Upgradeable proxy proxyTypeId = 2; } function implementation() external view returns (address); } // File: contracts/common/misc/UpgradableProxy.sol pragma solidity ^0.5.2; contract UpgradableProxy is DelegateProxy { event ProxyUpdated(address indexed _new, address indexed _old); event OwnerUpdate(address _new, address _old); bytes32 constant IMPLEMENTATION_SLOT = keccak256("matic.network.proxy.implementation"); bytes32 constant OWNER_SLOT = keccak256("matic.network.proxy.owner"); constructor(address _proxyTo) public { setOwner(msg.sender); setImplementation(_proxyTo); } function() external payable { // require(currentContract != 0, "If app code has not been set yet, do not call"); // Todo: filter out some calls or handle in the end fallback delegatedFwd(loadImplementation(), msg.data); } modifier onlyProxyOwner() { require(loadOwner() == msg.sender, "NOT_OWNER"); _; } function owner() external view returns(address) { return loadOwner(); } function loadOwner() internal view returns(address) { address _owner; bytes32 position = OWNER_SLOT; assembly { _owner := sload(position) } return _owner; } function implementation() external view returns (address) { return loadImplementation(); } function loadImplementation() internal view returns(address) { address _impl; bytes32 position = IMPLEMENTATION_SLOT; assembly { _impl := sload(position) } return _impl; } function transferOwnership(address newOwner) public onlyProxyOwner { require(newOwner != address(0), "ZERO_ADDRESS"); emit OwnerUpdate(newOwner, loadOwner()); setOwner(newOwner); } function setOwner(address newOwner) private { bytes32 position = OWNER_SLOT; assembly { sstore(position, newOwner) } } function updateImplementation(address _newProxyTo) public onlyProxyOwner { require(_newProxyTo != address(0x0), "INVALID_PROXY_ADDRESS"); require(isContract(_newProxyTo), "DESTINATION_ADDRESS_IS_NOT_A_CONTRACT"); emit ProxyUpdated(_newProxyTo, loadImplementation()); setImplementation(_newProxyTo); } function updateAndCall(address _newProxyTo, bytes memory data) payable public onlyProxyOwner { updateImplementation(_newProxyTo); (bool success, bytes memory returnData) = address(this).call.value(msg.value)(data); require(success, string(returnData)); } function setImplementation(address _newProxyTo) private { bytes32 position = IMPLEMENTATION_SLOT; assembly { sstore(position, _newProxyTo) } } } // File: contracts/staking/EventsHubProxy.sol pragma solidity 0.5.17; contract EventsHubProxy is UpgradableProxy { constructor(address _proxyTo) public UpgradableProxy(_proxyTo) {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_proxyTo","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_new","type":"address"},{"indexed":false,"internalType":"address","name":"_old","type":"address"}],"name":"OwnerUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_new","type":"address"},{"indexed":true,"internalType":"address","name":"_old","type":"address"}],"name":"ProxyUpdated","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proxyType","outputs":[{"internalType":"uint256","name":"proxyTypeId","type":"uint256"}],"payable":false,"stateMutability":"pure","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":"_newProxyTo","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"updateAndCall","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newProxyTo","type":"address"}],"name":"updateImplementation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516108633803806108638339818101604052602081101561003357600080fd5b505180610048336001600160e01b0361006116565b61005a816001600160e01b0361009616565b50506100b8565b604080517f6d617469632e6e6574776f726b2e70726f78792e6f776e6572000000000000008152905190819003601901902055565b6000604051808061084160229139604051908190036022019020929092555050565b61077a806100c76000396000f3fe6080604052600436106100555760003560e01c8063025b22bc1461009f5780634555d5c9146100d25780635c60da1b146100f95780638da5cb5b1461012a578063d88ca2c81461013f578063f2fde38b146101f5575b61009d610060610228565b6000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061024e92505050565b005b3480156100ab57600080fd5b5061009d600480360360208110156100c257600080fd5b50356001600160a01b0316610276565b3480156100de57600080fd5b506100e76103b0565b60408051918252519081900360200190f35b34801561010557600080fd5b5061010e6103b5565b604080516001600160a01b039092168252519081900360200190f35b34801561013657600080fd5b5061010e6103c4565b61009d6004803603604081101561015557600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561018057600080fd5b82018360208201111561019257600080fd5b803590602001918460018302840111640100000000831117156101b457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103ce945050505050565b34801561020157600080fd5b5061009d6004803603602081101561021857600080fd5b50356001600160a01b0316610564565b600080600060405180806107246022913960405190819003602201902054935050505090565b600080825160208401856127105a03f43d604051816000823e828015610272578282f35b8282fd5b3361027f610656565b6001600160a01b0316146102c6576040805162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b604482015290519081900360640190fd5b6001600160a01b038116610319576040805162461bcd60e51b8152602060048201526015602482015274494e56414c49445f50524f58595f4144445245535360581b604482015290519081900360640190fd5b61032281610688565b61035d5760405162461bcd60e51b81526004018080602001828103825260258152602001806106ff6025913960400191505060405180910390fd5b610365610228565b6001600160a01b0316816001600160a01b03167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36103ad816106ab565b50565b600290565b60006103bf610228565b905090565b60006103bf610656565b336103d7610656565b6001600160a01b03161461041e576040805162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b604482015290519081900360640190fd5b61042782610276565b60006060306001600160a01b031634846040518082805190602001908083835b602083106104665780518252601f199092019160209182019101610447565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146104c8576040519150601f19603f3d011682016040523d82523d6000602084013e6104cd565b606091505b509150915081819061055d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561052257818101518382015260200161050a565b50505050905090810190601f16801561054f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b3361056d610656565b6001600160a01b0316146105b4576040805162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b604482015290519081900360640190fd5b6001600160a01b0381166105fe576040805162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b604482015290519081900360640190fd5b7f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a81610628610656565b604080516001600160a01b03938416815291909216602082015281519081900390910190a16103ad816106cd565b604080517836b0ba34b1973732ba3bb7b93597383937bc3c9737bbb732b960391b815290519081900360190190205490565b60006001600160a01b0382166106a0575060006106a6565b50803b15155b919050565b6000604051808061072460229139604051908190036022019020929092555050565b604080517836b0ba34b1973732ba3bb7b93597383937bc3c9737bbb732b960391b815290519081900360190190205556fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e54524143546d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6ea265627a7a72315820df5419aa87c257a142eeb43b9642f0c4ce538f504a5e161a2640503182dcfaae64736f6c634300051100326d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6e0000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106100555760003560e01c8063025b22bc1461009f5780634555d5c9146100d25780635c60da1b146100f95780638da5cb5b1461012a578063d88ca2c81461013f578063f2fde38b146101f5575b61009d610060610228565b6000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061024e92505050565b005b3480156100ab57600080fd5b5061009d600480360360208110156100c257600080fd5b50356001600160a01b0316610276565b3480156100de57600080fd5b506100e76103b0565b60408051918252519081900360200190f35b34801561010557600080fd5b5061010e6103b5565b604080516001600160a01b039092168252519081900360200190f35b34801561013657600080fd5b5061010e6103c4565b61009d6004803603604081101561015557600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561018057600080fd5b82018360208201111561019257600080fd5b803590602001918460018302840111640100000000831117156101b457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103ce945050505050565b34801561020157600080fd5b5061009d6004803603602081101561021857600080fd5b50356001600160a01b0316610564565b600080600060405180806107246022913960405190819003602201902054935050505090565b600080825160208401856127105a03f43d604051816000823e828015610272578282f35b8282fd5b3361027f610656565b6001600160a01b0316146102c6576040805162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b604482015290519081900360640190fd5b6001600160a01b038116610319576040805162461bcd60e51b8152602060048201526015602482015274494e56414c49445f50524f58595f4144445245535360581b604482015290519081900360640190fd5b61032281610688565b61035d5760405162461bcd60e51b81526004018080602001828103825260258152602001806106ff6025913960400191505060405180910390fd5b610365610228565b6001600160a01b0316816001600160a01b03167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36103ad816106ab565b50565b600290565b60006103bf610228565b905090565b60006103bf610656565b336103d7610656565b6001600160a01b03161461041e576040805162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b604482015290519081900360640190fd5b61042782610276565b60006060306001600160a01b031634846040518082805190602001908083835b602083106104665780518252601f199092019160209182019101610447565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146104c8576040519150601f19603f3d011682016040523d82523d6000602084013e6104cd565b606091505b509150915081819061055d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561052257818101518382015260200161050a565b50505050905090810190601f16801561054f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b3361056d610656565b6001600160a01b0316146105b4576040805162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b604482015290519081900360640190fd5b6001600160a01b0381166105fe576040805162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b604482015290519081900360640190fd5b7f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a81610628610656565b604080516001600160a01b03938416815291909216602082015281519081900390910190a16103ad816106cd565b604080517836b0ba34b1973732ba3bb7b93597383937bc3c9737bbb732b960391b815290519081900360190190205490565b60006001600160a01b0382166106a0575060006106a6565b50803b15155b919050565b6000604051808061072460229139604051908190036022019020929092555050565b604080517836b0ba34b1973732ba3bb7b93597383937bc3c9737bbb732b960391b815290519081900360190190205556fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e54524143546d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6ea265627a7a72315820df5419aa87c257a142eeb43b9642f0c4ce538f504a5e161a2640503182dcfaae64736f6c63430005110032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _proxyTo (address): 0x0000000000000000000000000000000000000000
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
4941:118:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2775:44;2788:20;:18;:20::i;:::-;2810:8;;2775:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;2775:12:0;;-1:-1:-1;;;2775:44:0:i;:::-;4941:118;4012:353;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4012:353:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4012:353:0;-1:-1:-1;;;;;4012:353:0;;:::i;1825:129::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1825:129:0;;;:::i;:::-;;;;;;;;;;;;;;;;3267:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3267:104:0;;;:::i;:::-;;;;-1:-1:-1;;;;;3267:104:0;;;;;;;;;;;;;;2947:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2947:85:0;;;:::i;4373:288::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;4373:288:0;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;4373:288:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4373:288:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4373:288:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4373:288:0;;-1:-1:-1;4373:288:0;;-1:-1:-1;;;;;4373:288:0:i;3621:212::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3621:212:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3621:212:0;-1:-1:-1;;;;;3621:212:0;;:::i;3379:234::-;3431:7;3451:13;3475:16;2321:47;;;;;;;;;;;;;;;;;;3557:15;;-1:-1:-1;;;;3379:234:0;:::o;491:892::-;856:1;836;807:9;801:16;777:4;766:9;762:20;739:4;714:5;709:3;705:15;674:198;898:14;945:4;939:11;987:4;984:1;979:3;964:28;1190:6;1214:66;;;;1341:4;1336:3;1329:17;1214:66;1256:4;1251:3;1244:17;4012:353;2895:10;2880:11;:9;:11::i;:::-;-1:-1:-1;;;;;2880:25:0;;2872:47;;;;;-1:-1:-1;;;2872:47:0;;;;;;;;;;;;-1:-1:-1;;;2872:47:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;4104:27:0;;4096:61;;;;;-1:-1:-1;;;4096:61:0;;;;;;;;;;;;-1:-1:-1;;;4096:61:0;;;;;;;;;;;;;;;4176:23;4187:11;4176:10;:23::i;:::-;4168:73;;;;-1:-1:-1;;;4168:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4285:20;:18;:20::i;:::-;-1:-1:-1;;;;;4259:47:0;4272:11;-1:-1:-1;;;;;4259:47:0;;;;;;;;;;;4327:30;4345:11;4327:17;:30::i;:::-;4012:353;:::o;1825:129::-;1945:1;;1825:129::o;3267:104::-;3316:7;3343:20;:18;:20::i;:::-;3336:27;;3267:104;:::o;2947:85::-;2986:7;3013:11;:9;:11::i;4373:288::-;2895:10;2880:11;:9;:11::i;:::-;-1:-1:-1;;;;;2880:25:0;;2872:47;;;;;-1:-1:-1;;;2872:47:0;;;;;;;;;;;;-1:-1:-1;;;2872:47:0;;;;;;;;;;;;;;;4477:33;4498:11;4477:20;:33::i;:::-;4524:12;4538:23;4573:4;-1:-1:-1;;;;;4565:18:0;4590:9;4601:4;4565:41;;;;;;;;;;;;;36:153:-1;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;;;4565:41: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;;4523:83:0;;;;4625:7;4641:10;4617:36;;;;;-1:-1:-1;;;4617:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4617:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2930:1;;4373:288;;:::o;3621:212::-;2895:10;2880:11;:9;:11::i;:::-;-1:-1:-1;;;;;2880:25:0;;2872:47;;;;;-1:-1:-1;;;2872:47:0;;;;;;;;;;;;-1:-1:-1;;;2872:47:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3707:22:0;;3699:47;;;;;-1:-1:-1;;;3699:47:0;;;;;;;;;;;;-1:-1:-1;;;3699:47:0;;;;;;;;;;;;;;;3762:34;3774:8;3784:11;:9;:11::i;:::-;3762:34;;;-1:-1:-1;;;;;3762:34:0;;;;;;;;;;;;;;;;;;;;;;;;3807:18;3816:8;3807;:18::i;3040:219::-;2405:38;;;-1:-1:-1;;;2405:38:0;;;;;;;;;;;;3202:15;3040:219;:::o;1395:274::-;1455:4;-1:-1:-1;;;;;1476:21:0;;1472:66;;-1:-1:-1;1521:5:0;1514:12;;1472:66;-1:-1:-1;1605:20:0;;1653:8;;1395:274;;;;:::o;4669:187::-;4736:16;2321:47;;;;;;;;;;;;;;;;;;4809:29;;;;-1:-1:-1;;4794:55:0:o;3841:163::-;2405:38;;;-1:-1:-1;;;2405:38:0;;;;;;;;;;;;3960:26;3945:52::o
Swarm Source
bzzr://df5419aa87c257a142eeb43b9642f0c4ce538f504a5e161a2640503182dcfaae
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
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.