More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 73,262 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 21853795 | 23 mins ago | IN | 0.01463543 ETH | 0.00001637 | ||||
Transfer | 21853793 | 24 mins ago | IN | 0.0109861 ETH | 0.00001613 | ||||
Transfer | 21853680 | 46 mins ago | IN | 0.01406156 ETH | 0.00001738 | ||||
Transfer | 21853626 | 57 mins ago | IN | 0.00773888 ETH | 0.00001713 | ||||
Transfer | 21853480 | 1 hr ago | IN | 0.01541456 ETH | 0.0000172 | ||||
Transfer | 21853313 | 2 hrs ago | IN | 0.01677659 ETH | 0.00001796 | ||||
Transfer | 21853267 | 2 hrs ago | IN | 0.02388111 ETH | 0.00001762 | ||||
Transfer | 21853249 | 2 hrs ago | IN | 0.01057944 ETH | 0.00001687 | ||||
Transfer | 21853137 | 2 hrs ago | IN | 0.01918435 ETH | 0.00001597 | ||||
Transfer | 21853099 | 2 hrs ago | IN | 0.03017026 ETH | 0.00001663 | ||||
Transfer | 21852999 | 3 hrs ago | IN | 0.01285171 ETH | 0.00001595 | ||||
Transfer | 21852972 | 3 hrs ago | IN | 0.03410948 ETH | 0.00001571 | ||||
Transfer | 21852955 | 3 hrs ago | IN | 0.08471039 ETH | 0.0000146 | ||||
Transfer | 21852719 | 4 hrs ago | IN | 0.01207573 ETH | 0.00001561 | ||||
Transfer | 21852710 | 4 hrs ago | IN | 0.00664911 ETH | 0.00001675 | ||||
Transfer | 21852648 | 4 hrs ago | IN | 0.03780926 ETH | 0.00001613 | ||||
Transfer | 21852455 | 4 hrs ago | IN | 0.03470528 ETH | 0.00001903 | ||||
Transfer | 21852337 | 5 hrs ago | IN | 0.02764097 ETH | 0.0000166 | ||||
Transfer | 21852165 | 5 hrs ago | IN | 0.0128291 ETH | 0.00001558 | ||||
Transfer | 21851975 | 6 hrs ago | IN | 0.00913556 ETH | 0.0000153 | ||||
Transfer | 21851813 | 7 hrs ago | IN | 0.00851034 ETH | 0.00001675 | ||||
Transfer | 21851725 | 7 hrs ago | IN | 0.01238594 ETH | 0.00001629 | ||||
Transfer | 21851680 | 7 hrs ago | IN | 0.01828418 ETH | 0.00001526 | ||||
Transfer | 21851520 | 8 hrs ago | IN | 0.0081468 ETH | 0.00001462 | ||||
Transfer | 21851236 | 9 hrs ago | IN | 0.01815411 ETH | 0.00001659 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
21844721 | 30 hrs ago | 0.01 ETH | ||||
21836473 | 2 days ago | 61.52496849 ETH | ||||
21836473 | 2 days ago | 78.33777981 ETH | ||||
21820777 | 4 days ago | 0.00015671 ETH | ||||
21820777 | 4 days ago | 0.0017546 ETH | ||||
21820777 | 4 days ago | 0.0003354 ETH | ||||
21796115 | 8 days ago | 0.11460215 ETH | ||||
21788764 | 9 days ago | 0.00055315 ETH | ||||
21788764 | 9 days ago | 0.00059582 ETH | ||||
21788764 | 9 days ago | 0.00081943 ETH | ||||
21788764 | 9 days ago | 0.0007382 ETH | ||||
21788764 | 9 days ago | 0.00209809 ETH | ||||
21788764 | 9 days ago | 0.00015801 ETH | ||||
21788764 | 9 days ago | 0.00853896 ETH | ||||
21753946 | 13 days ago | 0.00003165 ETH | ||||
21753946 | 13 days ago | 0.00006596 ETH | ||||
21753946 | 13 days ago | 0.00017719 ETH | ||||
21753946 | 13 days ago | 0.00039926 ETH | ||||
21753946 | 13 days ago | 0.00052979 ETH | ||||
21753946 | 13 days ago | 0.0008818 ETH | ||||
21737006 | 16 days ago | 0.00009515 ETH | ||||
21737006 | 16 days ago | 0.00032162 ETH | ||||
21737006 | 16 days ago | 0.00062854 ETH | ||||
21737006 | 16 days ago | 0.00285117 ETH | ||||
21737006 | 16 days ago | 0.01183747 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
RocketSmoothingPool
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity Standard Json-Input format)
/** * . * / \ * |.'.| * |'.'| * ,'| |`. * |,-'-|-'-.| * __|_| | _ _ _____ _ * | ___ \| | | | | | ___ \ | | * | |_/ /|__ ___| | _____| |_ | |_/ /__ ___ | | * | // _ \ / __| |/ / _ \ __| | __/ _ \ / _ \| | * | |\ \ (_) | (__| < __/ |_ | | | (_) | (_) | | * \_| \_\___/ \___|_|\_\___|\__| \_| \___/ \___/|_| * +---------------------------------------------------+ * | DECENTRALISED STAKING PROTOCOL FOR ETHEREUM 2.0 | * +---------------------------------------------------+ * * Rocket Pool is a first-of-its-kind ETH2 Proof of Stake protocol, designed to be community owned, * decentralised, trustless and compatible with staking in Ethereum 2.0. * * For more information about Rocket Pool, visit https://rocketpool.net * * Authors: David Rugendyke, Jake Pospischil, Kane Wallmann, Darren Langley, Joe Clapis, Nick Doherty * */ pragma solidity 0.7.6; pragma abicoder v2; // SPDX-License-Identifier: GPL-3.0-only import "../RocketBase.sol"; import "../../interface/rewards/RocketSmoothingPoolInterface.sol"; import "@openzeppelin/contracts/math/SafeMath.sol"; /* Receives priority fees and MEV via fee_recipient NOTE: This contract intentionally does not use RocketVault to store ETH because there is no way to account for ETH being added to this contract via fee_recipient. This also means if this contract is upgraded, the ETH must be manually transferred from this contract to the upgraded one. */ contract RocketSmoothingPool is RocketBase, RocketSmoothingPoolInterface { // Libs using SafeMath for uint256; // Events event EtherWithdrawn(string indexed by, address indexed to, uint256 amount, uint256 time); // Construct constructor(RocketStorageInterface _rocketStorageAddress) RocketBase(_rocketStorageAddress) { // Version version = 1; } // Allow receiving ETH receive() payable external {} // Withdraws ETH to given address // Only accepts calls from Rocket Pool network contracts function withdrawEther(address _to, uint256 _amount) override external onlyLatestNetworkContract { // Valid amount? require(_amount > 0, "No valid amount of ETH given to withdraw"); // Get contract name string memory contractName = getContractName(msg.sender); // Send the ETH (bool result,) = _to.call{value: _amount}(""); require(result, "Failed to withdraw ETH"); // Emit ether withdrawn event emit EtherWithdrawn(contractName, _to, _amount, block.timestamp); } }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.0 <0.8.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b > a) return (false, 0); return (true, a - b); } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b == 0) return (false, 0); return (true, a / b); } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b == 0) return (false, 0); return (true, a % b); } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) return 0; uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "SafeMath: division by zero"); return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "SafeMath: modulo by zero"); return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); return a - b; } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryDiv}. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); return a % b; } }
/** * . * / \ * |.'.| * |'.'| * ,'| |`. * |,-'-|-'-.| * __|_| | _ _ _____ _ * | ___ \| | | | | | ___ \ | | * | |_/ /|__ ___| | _____| |_ | |_/ /__ ___ | | * | // _ \ / __| |/ / _ \ __| | __/ _ \ / _ \| | * | |\ \ (_) | (__| < __/ |_ | | | (_) | (_) | | * \_| \_\___/ \___|_|\_\___|\__| \_| \___/ \___/|_| * +---------------------------------------------------+ * | DECENTRALISED STAKING PROTOCOL FOR ETHEREUM 2.0 | * +---------------------------------------------------+ * * Rocket Pool is a first-of-its-kind ETH2 Proof of Stake protocol, designed to be community owned, * decentralised, trustless and compatible with staking in Ethereum 2.0. * * For more information about Rocket Pool, visit https://rocketpool.net * * Authors: David Rugendyke, Jake Pospischil, Kane Wallmann, Darren Langley, Joe Clapis, Nick Doherty * */ pragma solidity 0.7.6; // SPDX-License-Identifier: GPL-3.0-only import "../interface/RocketStorageInterface.sol"; /// @title Base settings / modifiers for each contract in Rocket Pool /// @author David Rugendyke abstract contract RocketBase { // Calculate using this as the base uint256 constant calcBase = 1 ether; // Version of the contract uint8 public version; // The main storage contract where primary persistant storage is maintained RocketStorageInterface rocketStorage = RocketStorageInterface(0); /*** Modifiers **********************************************************/ /** * @dev Throws if called by any sender that doesn't match a Rocket Pool network contract */ modifier onlyLatestNetworkContract() { require(getBool(keccak256(abi.encodePacked("contract.exists", msg.sender))), "Invalid or outdated network contract"); _; } /** * @dev Throws if called by any sender that doesn't match one of the supplied contract or is the latest version of that contract */ modifier onlyLatestContract(string memory _contractName, address _contractAddress) { require(_contractAddress == getAddress(keccak256(abi.encodePacked("contract.address", _contractName))), "Invalid or outdated contract"); _; } /** * @dev Throws if called by any sender that isn't a registered node */ modifier onlyRegisteredNode(address _nodeAddress) { require(getBool(keccak256(abi.encodePacked("node.exists", _nodeAddress))), "Invalid node"); _; } /** * @dev Throws if called by any sender that isn't a trusted node DAO member */ modifier onlyTrustedNode(address _nodeAddress) { require(getBool(keccak256(abi.encodePacked("dao.trustednodes.", "member", _nodeAddress))), "Invalid trusted node"); _; } /** * @dev Throws if called by any sender that isn't a registered minipool */ modifier onlyRegisteredMinipool(address _minipoolAddress) { require(getBool(keccak256(abi.encodePacked("minipool.exists", _minipoolAddress))), "Invalid minipool"); _; } /** * @dev Throws if called by any account other than a guardian account (temporary account allowed access to settings before DAO is fully enabled) */ modifier onlyGuardian() { require(msg.sender == rocketStorage.getGuardian(), "Account is not a temporary guardian"); _; } /*** Methods **********************************************************/ /// @dev Set the main Rocket Storage address constructor(RocketStorageInterface _rocketStorageAddress) { // Update the contract address rocketStorage = RocketStorageInterface(_rocketStorageAddress); } /// @dev Get the address of a network contract by name function getContractAddress(string memory _contractName) internal view returns (address) { // Get the current contract address address contractAddress = getAddress(keccak256(abi.encodePacked("contract.address", _contractName))); // Check it require(contractAddress != address(0x0), "Contract not found"); // Return return contractAddress; } /// @dev Get the address of a network contract by name (returns address(0x0) instead of reverting if contract does not exist) function getContractAddressUnsafe(string memory _contractName) internal view returns (address) { // Get the current contract address address contractAddress = getAddress(keccak256(abi.encodePacked("contract.address", _contractName))); // Return return contractAddress; } /// @dev Get the name of a network contract by address function getContractName(address _contractAddress) internal view returns (string memory) { // Get the contract name string memory contractName = getString(keccak256(abi.encodePacked("contract.name", _contractAddress))); // Check it require(bytes(contractName).length > 0, "Contract not found"); // Return return contractName; } /// @dev Get revert error message from a .call method function getRevertMsg(bytes memory _returnData) internal pure returns (string memory) { // If the _res length is less than 68, then the transaction failed silently (without a revert message) if (_returnData.length < 68) return "Transaction reverted silently"; assembly { // Slice the sighash. _returnData := add(_returnData, 0x04) } return abi.decode(_returnData, (string)); // All that remains is the revert string } /*** Rocket Storage Methods ****************************************/ // Note: Unused helpers have been removed to keep contract sizes down /// @dev Storage get methods function getAddress(bytes32 _key) internal view returns (address) { return rocketStorage.getAddress(_key); } function getUint(bytes32 _key) internal view returns (uint) { return rocketStorage.getUint(_key); } function getString(bytes32 _key) internal view returns (string memory) { return rocketStorage.getString(_key); } function getBytes(bytes32 _key) internal view returns (bytes memory) { return rocketStorage.getBytes(_key); } function getBool(bytes32 _key) internal view returns (bool) { return rocketStorage.getBool(_key); } function getInt(bytes32 _key) internal view returns (int) { return rocketStorage.getInt(_key); } function getBytes32(bytes32 _key) internal view returns (bytes32) { return rocketStorage.getBytes32(_key); } /// @dev Storage set methods function setAddress(bytes32 _key, address _value) internal { rocketStorage.setAddress(_key, _value); } function setUint(bytes32 _key, uint _value) internal { rocketStorage.setUint(_key, _value); } function setString(bytes32 _key, string memory _value) internal { rocketStorage.setString(_key, _value); } function setBytes(bytes32 _key, bytes memory _value) internal { rocketStorage.setBytes(_key, _value); } function setBool(bytes32 _key, bool _value) internal { rocketStorage.setBool(_key, _value); } function setInt(bytes32 _key, int _value) internal { rocketStorage.setInt(_key, _value); } function setBytes32(bytes32 _key, bytes32 _value) internal { rocketStorage.setBytes32(_key, _value); } /// @dev Storage delete methods function deleteAddress(bytes32 _key) internal { rocketStorage.deleteAddress(_key); } function deleteUint(bytes32 _key) internal { rocketStorage.deleteUint(_key); } function deleteString(bytes32 _key) internal { rocketStorage.deleteString(_key); } function deleteBytes(bytes32 _key) internal { rocketStorage.deleteBytes(_key); } function deleteBool(bytes32 _key) internal { rocketStorage.deleteBool(_key); } function deleteInt(bytes32 _key) internal { rocketStorage.deleteInt(_key); } function deleteBytes32(bytes32 _key) internal { rocketStorage.deleteBytes32(_key); } /// @dev Storage arithmetic methods function addUint(bytes32 _key, uint256 _amount) internal { rocketStorage.addUint(_key, _amount); } function subUint(bytes32 _key, uint256 _amount) internal { rocketStorage.subUint(_key, _amount); } }
/** * . * / \ * |.'.| * |'.'| * ,'| |`. * |,-'-|-'-.| * __|_| | _ _ _____ _ * | ___ \| | | | | | ___ \ | | * | |_/ /|__ ___| | _____| |_ | |_/ /__ ___ | | * | // _ \ / __| |/ / _ \ __| | __/ _ \ / _ \| | * | |\ \ (_) | (__| < __/ |_ | | | (_) | (_) | | * \_| \_\___/ \___|_|\_\___|\__| \_| \___/ \___/|_| * +---------------------------------------------------+ * | DECENTRALISED STAKING PROTOCOL FOR ETHEREUM 2.0 | * +---------------------------------------------------+ * * Rocket Pool is a first-of-its-kind ETH2 Proof of Stake protocol, designed to be community owned, * decentralised, trustless and compatible with staking in Ethereum 2.0. * * For more information about Rocket Pool, visit https://rocketpool.net * * Authors: David Rugendyke, Jake Pospischil, Kane Wallmann, Darren Langley, Joe Clapis, Nick Doherty * */ pragma solidity 0.7.6; // SPDX-License-Identifier: GPL-3.0-only interface RocketStorageInterface { // Deploy status function getDeployedStatus() external view returns (bool); // Guardian function getGuardian() external view returns(address); function setGuardian(address _newAddress) external; function confirmGuardian() external; // Getters function getAddress(bytes32 _key) external view returns (address); function getUint(bytes32 _key) external view returns (uint); function getString(bytes32 _key) external view returns (string memory); function getBytes(bytes32 _key) external view returns (bytes memory); function getBool(bytes32 _key) external view returns (bool); function getInt(bytes32 _key) external view returns (int); function getBytes32(bytes32 _key) external view returns (bytes32); // Setters function setAddress(bytes32 _key, address _value) external; function setUint(bytes32 _key, uint _value) external; function setString(bytes32 _key, string calldata _value) external; function setBytes(bytes32 _key, bytes calldata _value) external; function setBool(bytes32 _key, bool _value) external; function setInt(bytes32 _key, int _value) external; function setBytes32(bytes32 _key, bytes32 _value) external; // Deleters function deleteAddress(bytes32 _key) external; function deleteUint(bytes32 _key) external; function deleteString(bytes32 _key) external; function deleteBytes(bytes32 _key) external; function deleteBool(bytes32 _key) external; function deleteInt(bytes32 _key) external; function deleteBytes32(bytes32 _key) external; // Arithmetic function addUint(bytes32 _key, uint256 _amount) external; function subUint(bytes32 _key, uint256 _amount) external; // Protected storage function getNodeWithdrawalAddress(address _nodeAddress) external view returns (address); function getNodePendingWithdrawalAddress(address _nodeAddress) external view returns (address); function setWithdrawalAddress(address _nodeAddress, address _newWithdrawalAddress, bool _confirm) external; function confirmWithdrawalAddress(address _nodeAddress) external; }
/** * . * / \ * |.'.| * |'.'| * ,'| |`. * |,-'-|-'-.| * __|_| | _ _ _____ _ * | ___ \| | | | | | ___ \ | | * | |_/ /|__ ___| | _____| |_ | |_/ /__ ___ | | * | // _ \ / __| |/ / _ \ __| | __/ _ \ / _ \| | * | |\ \ (_) | (__| < __/ |_ | | | (_) | (_) | | * \_| \_\___/ \___|_|\_\___|\__| \_| \___/ \___/|_| * +---------------------------------------------------+ * | DECENTRALISED STAKING PROTOCOL FOR ETHEREUM 2.0 | * +---------------------------------------------------+ * * Rocket Pool is a first-of-its-kind ETH2 Proof of Stake protocol, designed to be community owned, * decentralised, trustless and compatible with staking in Ethereum 2.0. * * For more information about Rocket Pool, visit https://rocketpool.net * * Authors: David Rugendyke, Jake Pospischil, Kane Wallmann, Darren Langley, Joe Clapis, Nick Doherty * */ pragma solidity 0.7.6; pragma abicoder v2; // SPDX-License-Identifier: GPL-3.0-only interface RocketSmoothingPoolInterface { function withdrawEther(address _to, uint256 _amount) external; }
{ "remappings": [], "optimizer": { "enabled": true, "runs": 15000 }, "evmVersion": "istanbul", "libraries": {}, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract RocketStorageInterface","name":"_rocketStorageAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"by","type":"string"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"EtherWithdrawn","type":"event"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawEther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260008054610100600160a81b031916905534801561002157600080fd5b506040516107eb3803806107eb83398101604081905261004091610072565b6000805460ff196001600160a01b0390931661010002610100600160a81b0319909116179190911660011790556100a0565b600060208284031215610083578081fd5b81516001600160a01b0381168114610099578182fd5b9392505050565b61073c806100af6000396000f3fe60806040526004361061002d5760003560e01c8063522f68151461003957806354fd4d501461005b57610034565b3661003457005b600080fd5b34801561004557600080fd5b506100596100543660046105b3565b610086565b005b34801561006757600080fd5b50610070610291565b60405161007d91906106d4565b60405180910390f35b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f83015282516023818403018152604390920190925280519101206100dd9061029a565b610132576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806106e36024913960400191505060405180910390fd5b60008111610175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161016c90610669565b60405180910390fd5b600061018033610340565b905060008373ffffffffffffffffffffffffffffffffffffffff16836040516101a89061062f565b60006040518083038185875af1925050503d80600081146101e5576040519150601f19603f3d011682016040523d82523d6000602084013e6101ea565b606091505b5050905080610225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161016c90610632565b8373ffffffffffffffffffffffffffffffffffffffff168260405161024a91906105f6565b60405180910390207fff381a086696de98df05e634263390296dd1d097ef34a1be9a91daead07fb01d85426040516102839291906106c6565b60405180910390a350505050565b60005460ff1681565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637ae1cfca836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561030e57600080fd5b505afa158015610322573d6000803e3d6000fd5b505050506040513d602081101561033857600080fd5b505192915050565b606060006103b48360405160200180807f636f6e74726163742e6e616d6500000000000000000000000000000000000000815250600d018273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040528051906020012061042c565b9050600081511161042657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f436f6e7472616374206e6f7420666f756e640000000000000000000000000000604482015290519081900360640190fd5b92915050565b60008054604080517f986e791a00000000000000000000000000000000000000000000000000000000815260048101859052905160609361010090930473ffffffffffffffffffffffffffffffffffffffff169263986e791a9260248082019391829003018186803b1580156104a157600080fd5b505afa1580156104b5573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405260208110156104fc57600080fd5b810190808051604051939291908464010000000082111561051c57600080fd5b90830190602082018581111561053157600080fd5b825164010000000081118282018810171561054b57600080fd5b82525081516020918201929091019080838360005b83811015610578578181015183820152602001610560565b50505050905090810190601f1680156105a55780820380516001836020036101000a031916815260200191505b506040525050509050919050565b600080604083850312156105c5578182fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146105e8578283fd5b946020939093013593505050565b60008251815b8181101561061657602081860181015185830152016105fc565b818111156106245782828501525b509190910192915050565b90565b60208082526016908201527f4661696c656420746f2077697468647261772045544800000000000000000000604082015260600190565b60208082526028908201527f4e6f2076616c696420616d6f756e74206f662045544820676976656e20746f2060408201527f7769746864726177000000000000000000000000000000000000000000000000606082015260800190565b918252602082015260400190565b60ff9190911681526020019056fe496e76616c6964206f72206f75746461746564206e6574776f726b20636f6e7472616374a264697066735822122042d7480293b151159bef5143e969a6df8ef949cd4e6b63a3e076a36233cf144864736f6c634300070600330000000000000000000000001d8f8f00cfa6758d7be78336684788fb0ee0fa46
Deployed Bytecode
0x60806040526004361061002d5760003560e01c8063522f68151461003957806354fd4d501461005b57610034565b3661003457005b600080fd5b34801561004557600080fd5b506100596100543660046105b3565b610086565b005b34801561006757600080fd5b50610070610291565b60405161007d91906106d4565b60405180910390f35b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f83015282516023818403018152604390920190925280519101206100dd9061029a565b610132576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806106e36024913960400191505060405180910390fd5b60008111610175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161016c90610669565b60405180910390fd5b600061018033610340565b905060008373ffffffffffffffffffffffffffffffffffffffff16836040516101a89061062f565b60006040518083038185875af1925050503d80600081146101e5576040519150601f19603f3d011682016040523d82523d6000602084013e6101ea565b606091505b5050905080610225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161016c90610632565b8373ffffffffffffffffffffffffffffffffffffffff168260405161024a91906105f6565b60405180910390207fff381a086696de98df05e634263390296dd1d097ef34a1be9a91daead07fb01d85426040516102839291906106c6565b60405180910390a350505050565b60005460ff1681565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637ae1cfca836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561030e57600080fd5b505afa158015610322573d6000803e3d6000fd5b505050506040513d602081101561033857600080fd5b505192915050565b606060006103b48360405160200180807f636f6e74726163742e6e616d6500000000000000000000000000000000000000815250600d018273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040528051906020012061042c565b9050600081511161042657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f436f6e7472616374206e6f7420666f756e640000000000000000000000000000604482015290519081900360640190fd5b92915050565b60008054604080517f986e791a00000000000000000000000000000000000000000000000000000000815260048101859052905160609361010090930473ffffffffffffffffffffffffffffffffffffffff169263986e791a9260248082019391829003018186803b1580156104a157600080fd5b505afa1580156104b5573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405260208110156104fc57600080fd5b810190808051604051939291908464010000000082111561051c57600080fd5b90830190602082018581111561053157600080fd5b825164010000000081118282018810171561054b57600080fd5b82525081516020918201929091019080838360005b83811015610578578181015183820152602001610560565b50505050905090810190601f1680156105a55780820380516001836020036101000a031916815260200191505b506040525050509050919050565b600080604083850312156105c5578182fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146105e8578283fd5b946020939093013593505050565b60008251815b8181101561061657602081860181015185830152016105fc565b818111156106245782828501525b509190910192915050565b90565b60208082526016908201527f4661696c656420746f2077697468647261772045544800000000000000000000604082015260600190565b60208082526028908201527f4e6f2076616c696420616d6f756e74206f662045544820676976656e20746f2060408201527f7769746864726177000000000000000000000000000000000000000000000000606082015260800190565b918252602082015260400190565b60ff9190911681526020019056fe496e76616c6964206f72206f75746461746564206e6574776f726b20636f6e7472616374a264697066735822122042d7480293b151159bef5143e969a6df8ef949cd4e6b63a3e076a36233cf144864736f6c63430007060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000001d8f8f00cfa6758d7be78336684788fb0ee0fa46
-----Decoded View---------------
Arg [0] : _rocketStorageAddress (address): 0x1d8f8f00cfa6758d7bE78336684788Fb0ee0Fa46
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000001d8f8f00cfa6758d7be78336684788fb0ee0fa46
Latest 25 blocks (From a total of 11,679 blocks with 499.67 Ether produced)
Block | Transaction | Difficulty | Gas Used | Reward | |
---|---|---|---|---|---|
21853908 | 32 secs ago | 57 | 0.00 TH | 21,938,250 (61.12%) | 0.002926830599502414 ETH |
21852092 | 6 hrs ago | 99 | 0.00 TH | 5,811,347 (16.14%) | 0.00495596235550267 ETH |
21848542 | 18 hrs ago | 75 | 0.00 TH | 5,609,044 (15.61%) | 0.003405209542373341 ETH |
21848264 | 18 hrs ago | 69 | 0.00 TH | 4,803,072 (13.38%) | 0.002796320935815518 ETH |
21847111 | 22 hrs ago | 99 | 0.00 TH | 25,872,899 (71.87%) | 0.007314188117758659 ETH |
21846384 | 25 hrs ago | 98 | 0.00 TH | 5,283,626 (14.89%) | 0.00428123853466537 ETH |
21845088 | 29 hrs ago | 126 | 0.00 TH | 10,061,228 (28.00%) | 0.004410953542749519 ETH |
21844780 | 30 hrs ago | 84 | 0.00 TH | 6,475,872 (17.99%) | 0.006143868771019309 ETH |
21844721 | 30 hrs ago | 90 | 0.00 TH | 5,359,455 (14.99%) | 0.005544566676379035 ETH |
21844101 | 33 hrs ago | 80 | 0.00 TH | 6,157,535 (17.12%) | 0.005312365921245886 ETH |
21841474 | 41 hrs ago | 34 | 0.00 TH | 32,570,137 (90.47%) | 0.001617426778757277 ETH |
21841209 | 42 hrs ago | 76 | 0.00 TH | 34,127,916 (94.89%) | 0.003465112360540149 ETH |
21840791 | 44 hrs ago | 98 | 0.00 TH | 6,259,874 (17.47%) | 0.003659177840347354 ETH |
21838089 | 2 days ago | 113 | 0.00 TH | 8,154,720 (22.70%) | 0.006861450943389947 ETH |
21837790 | 2 days ago | 110 | 0.00 TH | 6,797,865 (18.90%) | 0.004562530929799714 ETH |
21836001 | 2 days ago | 99 | 0.00 TH | 29,975,480 (83.51%) | 0.002940523652163549 ETH |
21835101 | 2 days ago | 87 | 0.00 TH | 7,298,113 (20.29%) | 0.004320788055869347 ETH |
21834863 | 2 days ago | 65 | 0.00 TH | 4,201,524 (11.67%) | 0.00402415418747474 ETH |
21834550 | 2 days ago | 78 | 0.00 TH | 21,043,818 (58.91%) | 0.004200039938537923 ETH |
21834223 | 2 days ago | 107 | 0.00 TH | 6,428,186 (17.94%) | 0.003647771732045893 ETH |
21833995 | 2 days ago | 114 | 0.00 TH | 29,924,550 (83.37%) | 0.021200585996733126 ETH |
21833455 | 2 days ago | 85 | 0.00 TH | 4,715,717 (13.14%) | 0.00908661823807158 ETH |
21831576 | 3 days ago | 116 | 0.00 TH | 7,889,613 (22.02%) | 0.009317335132180363 ETH |
21831289 | 3 days ago | 110 | 0.00 TH | 20,950,221 (58.42%) | 0.008617885612210842 ETH |
21830607 | 3 days ago | 73 | 0.00 TH | 6,111,275 (17.03%) | 0.006244560630544016 ETH |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.