Overview
ETH Balance
9.495983665214099531 ETH
Eth Value
$31,573.29 (@ $3,324.91/ETH)Token Holdings
Latest 25 from a total of 66,284 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 21246662 | 33 secs ago | IN | 0.05381593 ETH | 0.00025891 | ||||
Transfer | 21246660 | 57 secs ago | IN | 0.02861319 ETH | 0.00026701 | ||||
Transfer | 21246507 | 31 mins ago | IN | 0.04780354 ETH | 0.00029017 | ||||
Transfer | 21246491 | 35 mins ago | IN | 0.02282881 ETH | 0.000275 | ||||
Transfer | 21246449 | 43 mins ago | IN | 0.0182149 ETH | 0.00030361 | ||||
Transfer | 21246431 | 47 mins ago | IN | 0.03057116 ETH | 0.00030685 | ||||
Transfer | 21246425 | 48 mins ago | IN | 0.0174787 ETH | 0.00031696 | ||||
Transfer | 21246415 | 50 mins ago | IN | 0.02853318 ETH | 0.00030791 | ||||
Transfer | 21246251 | 1 hr ago | IN | 0.0333002 ETH | 0.00034142 | ||||
Transfer | 21246224 | 1 hr ago | IN | 0.04784093 ETH | 0.00034956 | ||||
Transfer | 21246205 | 1 hr ago | IN | 0.02060019 ETH | 0.00039314 | ||||
Transfer | 21246195 | 1 hr ago | IN | 0.02244738 ETH | 0.00041887 | ||||
Transfer | 21245978 | 2 hrs ago | IN | 0.15580087 ETH | 0.00041989 | ||||
Transfer | 21245890 | 2 hrs ago | IN | 0.05023338 ETH | 0.0003049 | ||||
Transfer | 21245725 | 3 hrs ago | IN | 0.03396665 ETH | 0.00022404 | ||||
Transfer | 21245698 | 3 hrs ago | IN | 0.02036901 ETH | 0.00023369 | ||||
Transfer | 21245447 | 4 hrs ago | IN | 0.05598909 ETH | 0.00023701 | ||||
Transfer | 21245410 | 4 hrs ago | IN | 0.02430559 ETH | 0.00027825 | ||||
Transfer | 21245381 | 4 hrs ago | IN | 0.064175 ETH | 0.00024115 | ||||
Transfer | 21245306 | 4 hrs ago | IN | 0.07376168 ETH | 0.00029198 | ||||
Transfer | 21245151 | 5 hrs ago | IN | 0.05332417 ETH | 0.00033582 | ||||
Transfer | 21245147 | 5 hrs ago | IN | 0.17781477 ETH | 0.00035013 | ||||
Transfer | 21245091 | 5 hrs ago | IN | 0.05525284 ETH | 0.0003882 | ||||
Transfer | 21244878 | 5 hrs ago | IN | 0.03940957 ETH | 0.00024686 | ||||
Transfer | 21244877 | 5 hrs ago | IN | 0.02570337 ETH | 0.00025235 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
21244751 | 6 hrs ago | 0.03121391 ETH | ||||
21234274 | 41 hrs ago | 0.0001 ETH | ||||
21234149 | 41 hrs ago | 71.98861116 ETH | ||||
21234149 | 41 hrs ago | 114.01498874 ETH | ||||
21216409 | 4 days ago | 0.01723864 ETH | ||||
21213920 | 4 days ago | 0.00022284 ETH | ||||
21213920 | 4 days ago | 0.0003803 ETH | ||||
21210389 | 5 days ago | 0.01419054 ETH | ||||
21203812 | 5 days ago | 0.00005607 ETH | ||||
21203812 | 5 days ago | 0.00062672 ETH | ||||
21111506 | 18 days ago | 0.01532476 ETH | ||||
21100566 | 20 days ago | 0.01869006 ETH | ||||
21050587 | 27 days ago | 0.00038563 ETH | ||||
21050587 | 27 days ago | 0.00039585 ETH | ||||
21050587 | 27 days ago | 0.00068385 ETH | ||||
21050587 | 27 days ago | 0.00264168 ETH | ||||
21033520 | 29 days ago | 65.85225176 ETH | ||||
21033520 | 29 days ago | 97.85696568 ETH | ||||
21027861 | 30 days ago | 0.02548778 ETH | ||||
21022435 | 31 days ago | 0.00025657 ETH | ||||
21022435 | 31 days ago | 0.001 ETH | ||||
21022435 | 31 days ago | 0.005 ETH | ||||
21018770 | 31 days ago | 0.001 ETH | ||||
20993826 | 35 days ago | 0.001 ETH | ||||
20993826 | 35 days ago | 0.00314618 ETH |
Loading...
Loading
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 10,791 blocks with 490.01 Ether produced)
Block | Transaction | Difficulty | Gas Used | Reward | |
---|---|---|---|---|---|
21245390 | 4 hrs ago | 124 | 0.00 TH | 8,949,014 (29.83%) | 0.010073519710219275 ETH |
21242802 | 12 hrs ago | 94 | 0.00 TH | 6,735,723 (22.45%) | 0.008191316765080216 ETH |
21241063 | 18 hrs ago | 154 | 0.00 TH | 9,593,811 (31.98%) | 0.014632439851695805 ETH |
21241039 | 18 hrs ago | 120 | 0.00 TH | 7,941,857 (26.47%) | 0.012166941433411052 ETH |
21239981 | 22 hrs ago | 120 | 0.00 TH | 7,872,539 (26.24%) | 0.007020415050426477 ETH |
21239870 | 22 hrs ago | 98 | 0.00 TH | 8,604,818 (28.68%) | 0.010718786192439473 ETH |
21236077 | 35 hrs ago | 68 | 0.00 TH | 4,501,208 (15.00%) | 0.010257660167861285 ETH |
21235995 | 35 hrs ago | 77 | 0.00 TH | 4,753,613 (15.85%) | 0.009905183238307623 ETH |
21235004 | 39 hrs ago | 180 | 0.00 TH | 16,357,449 (54.52%) | 0.008141494911061285 ETH |
21234274 | 41 hrs ago | 94 | 0.00 TH | 10,999,583 (36.67%) | 0.007774483136400919 ETH |
21234137 | 41 hrs ago | 37 | 0.00 TH | 1,848,459 (6.16%) | 0.002003000197028783 ETH |
21233160 | 45 hrs ago | 106 | 0.00 TH | 8,080,012 (26.93%) | 0.014984888306497411 ETH |
21230872 | 2 days ago | 138 | 0.00 TH | 10,731,679 (35.77%) | 0.017107341082742595 ETH |
21228083 | 2 days ago | 62 | 0.00 TH | 4,831,623 (16.11%) | 0.00659783850681562 ETH |
21224195 | 3 days ago | 151 | 0.00 TH | 9,711,149 (32.37%) | 0.012172916285342743 ETH |
21223797 | 3 days ago | 69 | 0.00 TH | 4,342,807 (14.48%) | 0.005260011657237538 ETH |
21223255 | 3 days ago | 92 | 0.00 TH | 6,543,639 (21.81%) | 0.047459424787532062 ETH |
21216532 | 4 days ago | 119 | 0.00 TH | 6,926,533 (23.09%) | 0.011951418660976686 ETH |
21213920 | 4 days ago | 199 | 0.00 TH | 18,970,030 (63.23%) | 0.134183764308635937 ETH |
21212985 | 4 days ago | 79 | 0.00 TH | 6,164,790 (20.55%) | 0.010078417812395018 ETH |
21210686 | 5 days ago | 93 | 0.00 TH | 6,920,442 (23.07%) | 0.007304984758585555 ETH |
21206412 | 5 days ago | 160 | 0.00 TH | 11,388,885 (37.96%) | 0.021509784139054224 ETH |
21203812 | 5 days ago | 180 | 0.00 TH | 29,986,859 (99.96%) | 0.043686294237127922 ETH |
21203099 | 6 days ago | 107 | 0.00 TH | 5,187,624 (17.29%) | 0.007463307242365621 ETH |
21200635 | 6 days ago | 121 | 0.00 TH | 8,457,591 (28.19%) | 0.013690758667617442 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.