More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 167 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 21306755 | 77 days ago | IN | 0.0468566 ETH | 0.00020003 | ||||
Transfer | 21221930 | 89 days ago | IN | 0.04600204 ETH | 0.00050625 | ||||
Transfer | 21191586 | 93 days ago | IN | 0.0446025 ETH | 0.00026364 | ||||
Transfer | 21189746 | 94 days ago | IN | 0.05416629 ETH | 0.00035463 | ||||
Transfer | 21126536 | 102 days ago | IN | 0.28057568 ETH | 0.00047847 | ||||
Transfer | 21126536 | 102 days ago | IN | 1 wei | 0.02433958 | ||||
Transfer | 21040725 | 114 days ago | IN | 0.02270364 ETH | 0.00008917 | ||||
Transfer | 21021867 | 117 days ago | IN | 0.04864182 ETH | 0.00027957 | ||||
Transfer | 21009792 | 119 days ago | IN | 0.02633504 ETH | 0.00014831 | ||||
Transfer | 21004344 | 120 days ago | IN | 0.01734391 ETH | 0.0001242 | ||||
Transfer | 21003077 | 120 days ago | IN | 0.04088851 ETH | 0.00012011 | ||||
Transfer | 20951192 | 127 days ago | IN | 0.09827578 ETH | 0.00133631 | ||||
Transfer | 20790759 | 149 days ago | IN | 0.06831403 ETH | 0.00034134 | ||||
Transfer | 20782960 | 150 days ago | IN | 0.11128477 ETH | 0.00018214 | ||||
Transfer | 20778282 | 151 days ago | IN | 0.04932163 ETH | 0.00023814 | ||||
Transfer | 20692020 | 163 days ago | IN | 0.1035576 ETH | 0.00063043 | ||||
Transfer | 20680540 | 165 days ago | IN | 0.09768236 ETH | 0.00004449 | ||||
Transfer | 20586726 | 178 days ago | IN | 0.02774768 ETH | 0.00002352 | ||||
Transfer | 20467856 | 194 days ago | IN | 0.04985717 ETH | 0.00006681 | ||||
Transfer | 20467025 | 195 days ago | IN | 0.32747475 ETH | 0.00003553 | ||||
Transfer | 20459165 | 196 days ago | IN | 0.9148704 ETH | 0.00615795 | ||||
Transfer | 20405391 | 203 days ago | IN | 0.15927656 ETH | 0.00004008 | ||||
Transfer | 20375333 | 207 days ago | IN | 0.0187722 ETH | 0.00005208 | ||||
Transfer | 20116547 | 243 days ago | IN | 0.03649452 ETH | 0.00011409 | ||||
Transfer | 20043677 | 254 days ago | IN | 0.22686898 ETH | 0.00014926 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
21368721 | 69 days ago | 0.0468566 ETH | ||||
21228881 | 88 days ago | 0.04600204 ETH | ||||
21193027 | 93 days ago | 0.0987688 ETH | ||||
21128541 | 102 days ago | 0.28057568 ETH | ||||
21042560 | 114 days ago | 0.02270364 ETH | ||||
21028216 | 116 days ago | 0.04864182 ETH | ||||
21013883 | 118 days ago | 0.02633504 ETH | ||||
21006722 | 119 days ago | 0.05823243 ETH | ||||
20956579 | 126 days ago | 0.09827578 ETH | ||||
20791730 | 149 days ago | 0.06831403 ETH | ||||
20784572 | 150 days ago | 0.1606064 ETH | ||||
20698652 | 162 days ago | 0.1035576 ETH | ||||
20684313 | 164 days ago | 0.09768236 ETH | ||||
20634168 | 171 days ago | 0.00420876 ETH | ||||
20591228 | 177 days ago | 0.02774768 ETH | ||||
20469463 | 194 days ago | 0.37733193 ETH | ||||
20462948 | 195 days ago | 0.9148704 ETH | ||||
20412149 | 202 days ago | 0.15927656 ETH | ||||
20376334 | 207 days ago | 0.0187722 ETH | ||||
20118570 | 243 days ago | 0.03649452 ETH | ||||
20047041 | 253 days ago | 0.22686898 ETH | ||||
19990864 | 261 days ago | 0.02229851 ETH | ||||
19882469 | 276 days ago | 0.02986828 ETH | ||||
19825272 | 284 days ago | 0.06132597 ETH | ||||
19810975 | 286 days ago | 0.01857236 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
StafiFeePool
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-10-27 */ pragma solidity 0.7.6; // SPDX-License-Identifier: GPL-3.0-only 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; } } interface IStafiFeePool { function withdrawEther(address _to, uint256 _amount) external; } interface IStafiStorage { // 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; } abstract contract StafiBase { // Version of the contract uint8 public version; // The main storage contract where primary persistant storage is maintained IStafiStorage stafiStorage = IStafiStorage(0); /** * @dev Throws if called by any sender that doesn't match a 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 trusted node */ modifier onlyTrustedNode(address _nodeAddress) { require(getBool(keccak256(abi.encodePacked("node.trusted", _nodeAddress))), "Invalid trusted node"); _; } /** * @dev Throws if called by any sender that isn't a super node */ modifier onlySuperNode(address _nodeAddress) { require(getBool(keccak256(abi.encodePacked("node.super", _nodeAddress))), "Invalid super node"); _; } /** * @dev Throws if called by any sender that isn't a registered staking pool */ modifier onlyRegisteredStakingPool(address _stakingPoolAddress) { require(getBool(keccak256(abi.encodePacked("stakingpool.exists", _stakingPoolAddress))), "Invalid staking pool"); _; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(roleHas("owner", msg.sender), "Account is not the owner"); _; } /** * @dev Modifier to scope access to admins */ modifier onlyAdmin() { require(roleHas("admin", msg.sender), "Account is not an admin"); _; } /** * @dev Modifier to scope access to admins */ modifier onlySuperUser() { require(roleHas("owner", msg.sender) || roleHas("admin", msg.sender), "Account is not a super user"); _; } /** * @dev Reverts if the address doesn't have this role */ modifier onlyRole(string memory _role) { require(roleHas(_role, msg.sender), "Account does not match the specified role"); _; } /// @dev Set the main Storage address constructor(address _stafiStorageAddress) { // Update the contract address stafiStorage = IStafiStorage(_stafiStorageAddress); } /// @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 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(keccak256(abi.encodePacked(contractName)) != keccak256(abi.encodePacked("")), "Contract not found"); // Return return contractName; } /// @dev Storage get methods function getAddress(bytes32 _key) internal view returns (address) { return stafiStorage.getAddress(_key); } function getUint(bytes32 _key) internal view returns (uint256) { return stafiStorage.getUint(_key); } function getString(bytes32 _key) internal view returns (string memory) { return stafiStorage.getString(_key); } function getBytes(bytes32 _key) internal view returns (bytes memory) { return stafiStorage.getBytes(_key); } function getBool(bytes32 _key) internal view returns (bool) { return stafiStorage.getBool(_key); } function getInt(bytes32 _key) internal view returns (int256) { return stafiStorage.getInt(_key); } function getBytes32(bytes32 _key) internal view returns (bytes32) { return stafiStorage.getBytes32(_key); } function getAddressS(string memory _key) internal view returns (address) { return stafiStorage.getAddress(keccak256(abi.encodePacked(_key))); } function getUintS(string memory _key) internal view returns (uint256) { return stafiStorage.getUint(keccak256(abi.encodePacked(_key))); } function getStringS(string memory _key) internal view returns (string memory) { return stafiStorage.getString(keccak256(abi.encodePacked(_key))); } function getBytesS(string memory _key) internal view returns (bytes memory) { return stafiStorage.getBytes(keccak256(abi.encodePacked(_key))); } function getBoolS(string memory _key) internal view returns (bool) { return stafiStorage.getBool(keccak256(abi.encodePacked(_key))); } function getIntS(string memory _key) internal view returns (int256) { return stafiStorage.getInt(keccak256(abi.encodePacked(_key))); } function getBytes32S(string memory _key) internal view returns (bytes32) { return stafiStorage.getBytes32(keccak256(abi.encodePacked(_key))); } /// @dev Storage set methods function setAddress(bytes32 _key, address _value) internal { stafiStorage.setAddress(_key, _value); } function setUint(bytes32 _key, uint256 _value) internal { stafiStorage.setUint(_key, _value); } function setString(bytes32 _key, string memory _value) internal { stafiStorage.setString(_key, _value); } function setBytes(bytes32 _key, bytes memory _value) internal { stafiStorage.setBytes(_key, _value); } function setBool(bytes32 _key, bool _value) internal { stafiStorage.setBool(_key, _value); } function setInt(bytes32 _key, int256 _value) internal { stafiStorage.setInt(_key, _value); } function setBytes32(bytes32 _key, bytes32 _value) internal { stafiStorage.setBytes32(_key, _value); } function setAddressS(string memory _key, address _value) internal { stafiStorage.setAddress(keccak256(abi.encodePacked(_key)), _value); } function setUintS(string memory _key, uint256 _value) internal { stafiStorage.setUint(keccak256(abi.encodePacked(_key)), _value); } function setStringS(string memory _key, string memory _value) internal { stafiStorage.setString(keccak256(abi.encodePacked(_key)), _value); } function setBytesS(string memory _key, bytes memory _value) internal { stafiStorage.setBytes(keccak256(abi.encodePacked(_key)), _value); } function setBoolS(string memory _key, bool _value) internal { stafiStorage.setBool(keccak256(abi.encodePacked(_key)), _value); } function setIntS(string memory _key, int256 _value) internal { stafiStorage.setInt(keccak256(abi.encodePacked(_key)), _value); } function setBytes32S(string memory _key, bytes32 _value) internal { stafiStorage.setBytes32(keccak256(abi.encodePacked(_key)), _value); } /// @dev Storage delete methods function deleteAddress(bytes32 _key) internal { stafiStorage.deleteAddress(_key); } function deleteUint(bytes32 _key) internal { stafiStorage.deleteUint(_key); } function deleteString(bytes32 _key) internal { stafiStorage.deleteString(_key); } function deleteBytes(bytes32 _key) internal { stafiStorage.deleteBytes(_key); } function deleteBool(bytes32 _key) internal { stafiStorage.deleteBool(_key); } function deleteInt(bytes32 _key) internal { stafiStorage.deleteInt(_key); } function deleteBytes32(bytes32 _key) internal { stafiStorage.deleteBytes32(_key); } function deleteAddressS(string memory _key) internal { stafiStorage.deleteAddress(keccak256(abi.encodePacked(_key))); } function deleteUintS(string memory _key) internal { stafiStorage.deleteUint(keccak256(abi.encodePacked(_key))); } function deleteStringS(string memory _key) internal { stafiStorage.deleteString(keccak256(abi.encodePacked(_key))); } function deleteBytesS(string memory _key) internal { stafiStorage.deleteBytes(keccak256(abi.encodePacked(_key))); } function deleteBoolS(string memory _key) internal { stafiStorage.deleteBool(keccak256(abi.encodePacked(_key))); } function deleteIntS(string memory _key) internal { stafiStorage.deleteInt(keccak256(abi.encodePacked(_key))); } function deleteBytes32S(string memory _key) internal { stafiStorage.deleteBytes32(keccak256(abi.encodePacked(_key))); } /** * @dev Check if an address has this role */ function roleHas(string memory _role, address _address) internal view returns (bool) { return getBool(keccak256(abi.encodePacked("access.role", _role, _address))); } } // receive priority fee contract StafiFeePool is StafiBase, IStafiFeePool { // Libs using SafeMath for uint256; // Events event EtherWithdrawn(string indexed by, address indexed to, uint256 amount, uint256 time); // Construct constructor(address _stafiStorageAddress) StafiBase(_stafiStorageAddress) { // Version version = 1; } // Allow receiving ETH receive() payable external {} // Withdraws ETH to given address // Only accepts calls from 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); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_stafiStorageAddress","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
608060405260008060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561005157600080fd5b506040516108be3803806108be8339818101604052602081101561007457600080fd5b81019080805190602001909291905050508080600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060016000806101000a81548160ff021916908360ff160217905550506107cb806100f36000396000f3fe60806040526004361061002d5760003560e01c8063522f68151461003957806354fd4d501461009457610034565b3661003457005b600080fd5b34801561004557600080fd5b506100926004803603604081101561005c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506100c2565b005b3480156100a057600080fd5b506100a9610386565b604051808260ff16815260200191505060405180910390f35b6101323360405160200180807f636f6e74726163742e6578697374730000000000000000000000000000000000815250600f018273ffffffffffffffffffffffffffffffffffffffff1660601b815260140191505060405160208183030381529060405280519060200120610397565b610187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061074a6024913960400191505060405180910390fd5b600081116101e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061076e6028913960400191505060405180910390fd5b60006101eb3361044d565b905060008373ffffffffffffffffffffffffffffffffffffffff168360405180600001905060006040518083038185875af1925050503d806000811461024d576040519150601f19603f3d011682016040523d82523d6000602084013e610252565b606091505b50509050806102c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4661696c656420746f207769746864726177204554480000000000000000000081525060200191505060405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff16826040518082805190602001908083835b6020831061031457805182526020820191506020810190506020830392506102f1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390207fff381a086696de98df05e634263390296dd1d097ef34a1be9a91daead07fb01d8542604051808381526020018281526020019250505060405180910390a350505050565b60008054906101000a900460ff1681565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637ae1cfca836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561040b57600080fd5b505afa15801561041f573d6000803e3d6000fd5b505050506040513d602081101561043557600080fd5b81019080805190602001909291905050509050919050565b606060006104c18360405160200180807f636f6e74726163742e6e616d6500000000000000000000000000000000000000815250600d018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401915050604051602081830303815290604052805190602001206105d4565b905060405160200180600001905060405160208183030381529060405280519060200120816040516020018082805190602001908083835b6020831061051c57805182526020820191506020810190506020830392506104f9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014156105cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e7472616374206e6f7420666f756e64000000000000000000000000000081525060200191505060405180910390fd5b80915050919050565b6060600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663986e791a836040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561064957600080fd5b505afa15801561065d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561068757600080fd5b81019080805160405193929190846401000000008211156106a757600080fd5b838201915060208201858111156106bd57600080fd5b82518660018202830111640100000000821117156106da57600080fd5b8083526020830192505050908051906020019080838360005b8381101561070e5780820151818401526020810190506106f3565b50505050905090810190601f16801561073b5780820380516001836020036101000a031916815260200191505b50604052505050905091905056fe496e76616c6964206f72206f75746461746564206e6574776f726b20636f6e74726163744e6f2076616c696420616d6f756e74206f662045544820676976656e20746f207769746864726177a26469706673582212200f03519e3f86d2342b531cb3eca12b251ac7dc92f4e25244aff0bc8cfb6cafba64736f6c634300070600330000000000000000000000006c2f7b6110a37b3b0fbdd811876be368df02e8b0
Deployed Bytecode
0x60806040526004361061002d5760003560e01c8063522f68151461003957806354fd4d501461009457610034565b3661003457005b600080fd5b34801561004557600080fd5b506100926004803603604081101561005c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506100c2565b005b3480156100a057600080fd5b506100a9610386565b604051808260ff16815260200191505060405180910390f35b6101323360405160200180807f636f6e74726163742e6578697374730000000000000000000000000000000000815250600f018273ffffffffffffffffffffffffffffffffffffffff1660601b815260140191505060405160208183030381529060405280519060200120610397565b610187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061074a6024913960400191505060405180910390fd5b600081116101e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061076e6028913960400191505060405180910390fd5b60006101eb3361044d565b905060008373ffffffffffffffffffffffffffffffffffffffff168360405180600001905060006040518083038185875af1925050503d806000811461024d576040519150601f19603f3d011682016040523d82523d6000602084013e610252565b606091505b50509050806102c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4661696c656420746f207769746864726177204554480000000000000000000081525060200191505060405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff16826040518082805190602001908083835b6020831061031457805182526020820191506020810190506020830392506102f1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390207fff381a086696de98df05e634263390296dd1d097ef34a1be9a91daead07fb01d8542604051808381526020018281526020019250505060405180910390a350505050565b60008054906101000a900460ff1681565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637ae1cfca836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561040b57600080fd5b505afa15801561041f573d6000803e3d6000fd5b505050506040513d602081101561043557600080fd5b81019080805190602001909291905050509050919050565b606060006104c18360405160200180807f636f6e74726163742e6e616d6500000000000000000000000000000000000000815250600d018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401915050604051602081830303815290604052805190602001206105d4565b905060405160200180600001905060405160208183030381529060405280519060200120816040516020018082805190602001908083835b6020831061051c57805182526020820191506020810190506020830392506104f9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014156105cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e7472616374206e6f7420666f756e64000000000000000000000000000081525060200191505060405180910390fd5b80915050919050565b6060600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663986e791a836040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561064957600080fd5b505afa15801561065d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561068757600080fd5b81019080805160405193929190846401000000008211156106a757600080fd5b838201915060208201858111156106bd57600080fd5b82518660018202830111640100000000821117156106da57600080fd5b8083526020830192505050908051906020019080838360005b8381101561070e5780820151818401526020810190506106f3565b50505050905090810190601f16801561073b5780820380516001836020036101000a031916815260200191505b50604052505050905091905056fe496e76616c6964206f72206f75746461746564206e6574776f726b20636f6e74726163744e6f2076616c696420616d6f756e74206f662045544820676976656e20746f207769746864726177a26469706673582212200f03519e3f86d2342b531cb3eca12b251ac7dc92f4e25244aff0bc8cfb6cafba64736f6c63430007060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000006c2f7b6110a37b3b0fbdd811876be368df02e8b0
-----Decoded View---------------
Arg [0] : _stafiStorageAddress (address): 0x6c2f7b6110a37b3B0fbdd811876be368df02E8B0
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006c2f7b6110a37b3b0fbdd811876be368df02e8b0
Deployed Bytecode Sourcemap
17522:1077:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18046:550;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8416:20;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18046:550;8736:67;8790:10;8754:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8744:58;;;;;;8736:7;:67::i;:::-;8728:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18198:1:::1;18188:7;:11;18180:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18285:26;18314:27;18330:10;18314:15;:27::i;:::-;18285:56;;18378:11;18394:3;:8;;18410:7;18394:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18377:45;;;18441:6;18433:41;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;18558:3;18529:59;;18544:12;18529:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18563:7;18572:15;18529:59;;;;;;;;;;;;;;;;;;;;;;;;8855:1;;18046:550:::0;;:::o;8416:20::-;;;;;;;;;;;;:::o;12662:98::-;12716:4;12731:12;;;;;;;;;;;:20;;;12752:4;12731:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12724:33;;12662:98;;;:::o;11735:432::-;11809:13;11869:26;11898:73;11952:16;11918:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11908:62;;;;;;11898:9;:73::i;:::-;11869:102;;12066:20;;;;;;;;;;;;;;;;;;;;;12056:31;;;;;;12038:12;12021:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12011:41;;;;;;:76;;12003:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12147:12;12140:19;;;11735:432;;;:::o;12431:111::-;12487:13;12511:12;;;;;;;;;;;:22;;;12534:4;12511:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12504:35;;12431:111;;;:::o
Swarm Source
ipfs://0f03519e3f86d2342b531cb3eca12b251ac7dc92f4e25244aff0bc8cfb6cafba
Latest 25 blocks (From a total of 37 blocks with 2.39 Ether produced)
Block | Transaction | Difficulty | Gas Used | Reward | |
---|---|---|---|---|---|
20631039 | 172 days ago | 89 | 0.00 TH | 6,725,746 (22.42%) | 0.004208768129174647 ETH |
19333750 | 353 days ago | 228 | 0.00 TH | 17,466,533 (58.22%) | 0.084494087778304475 ETH |
19185816 | 374 days ago | 133 | 0.00 TH | 10,423,526 (34.75%) | 0.086055174663324627 ETH |
18392317 | 485 days ago | 289 | 0.00 TH | 26,351,716 (87.84%) | 0.064486663430664116 ETH |
18128790 | 522 days ago | 136 | 0.00 TH | 11,719,151 (39.06%) | 0.057343989666530624 ETH |
18035284 | 535 days ago | 132 | 0.00 TH | 12,608,802 (42.03%) | 0.022247479134064325 ETH |
18004262 | 539 days ago | 86 | 0.00 TH | 6,852,660 (22.84%) | 0.01190710697922715 ETH |
17929292 | 550 days ago | 141 | 0.00 TH | 18,080,840 (60.27%) | 0.066022650735919197 ETH |
17850798 | 561 days ago | 118 | 0.00 TH | 17,163,762 (57.21%) | 0.017322738120783763 ETH |
17763040 | 573 days ago | 138 | 0.00 TH | 22,233,537 (74.11%) | 0.056571633486878336 ETH |
17720840 | 579 days ago | 162 | 0.00 TH | 18,748,726 (62.50%) | 0.043894714321159664 ETH |
17703416 | 582 days ago | 100 | 0.00 TH | 10,975,240 (36.58%) | 0.130527657107242848 ETH |
17649717 | 589 days ago | 115 | 0.00 TH | 9,345,674 (31.15%) | 0.042574553275616209 ETH |
17555047 | 602 days ago | 103 | 0.00 TH | 29,772,315 (99.24%) | 0.051016398372952529 ETH |
17422689 | 621 days ago | 135 | 0.00 TH | 9,263,835 (30.88%) | 0.047713931524225023 ETH |
17393313 | 625 days ago | 126 | 0.00 TH | 13,890,477 (46.30%) | 0.100753210178943112 ETH |
17374306 | 628 days ago | 116 | 0.00 TH | 11,669,888 (38.90%) | 0.127283700838529588 ETH |
17340382 | 633 days ago | 125 | 0.00 TH | 12,695,567 (42.32%) | 0.079773569557754211 ETH |
17333372 | 634 days ago | 127 | 0.00 TH | 11,493,445 (38.31%) | 0.092824617646500117 ETH |
17313451 | 636 days ago | 177 | 0.00 TH | 12,891,632 (42.97%) | 0.048301248247030084 ETH |
17196929 | 653 days ago | 156 | 0.00 TH | 11,830,171 (39.43%) | 0.347815634490591454 ETH |
17161727 | 658 days ago | 190 | 0.00 TH | 16,763,363 (55.88%) | 0.037669508784588929 ETH |
17143099 | 660 days ago | 104 | 0.00 TH | 9,158,106 (30.53%) | 0.027783881845349052 ETH |
17109303 | 665 days ago | 140 | 0.00 TH | 11,990,033 (39.97%) | 0.096400326849943353 ETH |
17053808 | 673 days ago | 209 | 0.00 TH | 14,431,514 (48.11%) | 0.071051238773581892 ETH |
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $2,665.58 | 0.0484 | $129.06 |
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.