Overview
ETH Balance
2.794395273140303032 ETH
Eth Value
$9,241.79 (@ $3,307.26/ETH)Token Holdings
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 545 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 21233937 | 5 days ago | IN | 0.0425026 ETH | 0.00027974 | ||||
Transfer | 21225191 | 7 days ago | IN | 0.03183143 ETH | 0.00019542 | ||||
Transfer | 21190803 | 11 days ago | IN | 0.03775313 ETH | 0.00040433 | ||||
Transfer | 21173095 | 14 days ago | IN | 0.0684308 ETH | 0.00099736 | ||||
Transfer | 21135604 | 19 days ago | IN | 1 wei | 0.01294882 | ||||
Transfer | 21049516 | 31 days ago | IN | 0.05067922 ETH | 0.00013532 | ||||
Transfer | 20980971 | 41 days ago | IN | 0.10540623 ETH | 0.00024574 | ||||
Transfer | 20942159 | 46 days ago | IN | 0.07360604 ETH | 0.00024659 | ||||
Transfer | 20786293 | 68 days ago | IN | 0.09249649 ETH | 0.00044347 | ||||
Transfer | 20761495 | 71 days ago | IN | 5.05713585 ETH | 0.00041316 | ||||
Transfer | 20686281 | 82 days ago | IN | 0.02590128 ETH | 0.00005492 | ||||
Transfer | 20607544 | 93 days ago | IN | 0.02668328 ETH | 0.00001844 | ||||
Transfer | 20596303 | 94 days ago | IN | 0.0076508 ETH | 0.00001584 | ||||
Transfer | 20427266 | 118 days ago | IN | 0.25454566 ETH | 0.00056356 | ||||
Transfer | 20401279 | 122 days ago | IN | 0.02996151 ETH | 0.00002561 | ||||
Transfer | 20391424 | 123 days ago | IN | 0.06459266 ETH | 0.00010837 | ||||
Transfer | 20385372 | 124 days ago | IN | 0.0523988 ETH | 0.00010437 | ||||
Transfer | 20078347 | 167 days ago | IN | 0.1075391 ETH | 0.00032329 | ||||
Transfer | 20065976 | 168 days ago | IN | 0.27857201 ETH | 0.00015133 | ||||
Transfer | 19750420 | 212 days ago | IN | 0.03276244 ETH | 0.00009532 | ||||
Transfer | 19683301 | 222 days ago | IN | 1 wei | 0.00309508 | ||||
Transfer | 19654581 | 226 days ago | IN | 0.07488351 ETH | 0.00025955 | ||||
Transfer | 19648051 | 227 days ago | IN | 0.04768788 ETH | 0.00039972 | ||||
Transfer | 19633530 | 229 days ago | IN | 1 wei | 0.01410685 | ||||
Transfer | 19551949 | 240 days ago | IN | 0.03903688 ETH | 0.00043666 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
21236034 | 5 days ago | 0.0425026 ETH | ||||
21228886 | 6 days ago | 0.03183143 ETH | ||||
21193031 | 11 days ago | 0.03775313 ETH | ||||
21185864 | 12 days ago | 0.01268458 ETH | ||||
21178700 | 13 days ago | 0.0684308 ETH | ||||
21163186 | 15 days ago | 0.0071596 ETH | ||||
21135706 | 19 days ago | 0.01137535 ETH | ||||
21092725 | 25 days ago | 0.00351737 ETH | ||||
21056894 | 30 days ago | 0.00660001 ETH | ||||
21049725 | 31 days ago | 0.06140404 ETH | ||||
20985217 | 40 days ago | 0.11661371 ETH | ||||
20978051 | 41 days ago | 0.01287257 ETH | ||||
20963737 | 43 days ago | 0.00721669 ETH | ||||
20949451 | 45 days ago | 0.0112971 ETH | ||||
20942309 | 46 days ago | 0.08609897 ETH | ||||
20870576 | 56 days ago | 0.01656911 ETH | ||||
20863403 | 57 days ago | 0.00745868 ETH | ||||
20849069 | 59 days ago | 0.01914305 ETH | ||||
20841891 | 60 days ago | 0.00968851 ETH | ||||
20791734 | 67 days ago | 0.09249649 ETH | ||||
20784577 | 68 days ago | 0.03243216 ETH | ||||
20777408 | 69 days ago | 0.00797769 ETH | ||||
20763107 | 71 days ago | 5.07762628 ETH | ||||
20748778 | 73 days ago | 0.0042225 ETH | ||||
20698657 | 80 days ago | 0.0025737 ETH |
Loading...
Loading
Contract Name:
StafiSuperNodeFeePool
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 StafiSuperNodeFeePool 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
608060405260008060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561005157600080fd5b506040516108be3803806108be8339818101604052602081101561007457600080fd5b81019080805190602001909291905050508080600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060016000806101000a81548160ff021916908360ff160217905550506107cb806100f36000396000f3fe60806040526004361061002d5760003560e01c8063522f68151461003957806354fd4d501461009457610034565b3661003457005b600080fd5b34801561004557600080fd5b506100926004803603604081101561005c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506100c2565b005b3480156100a057600080fd5b506100a9610386565b604051808260ff16815260200191505060405180910390f35b6101323360405160200180807f636f6e74726163742e6578697374730000000000000000000000000000000000815250600f018273ffffffffffffffffffffffffffffffffffffffff1660601b815260140191505060405160208183030381529060405280519060200120610397565b610187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061074a6024913960400191505060405180910390fd5b600081116101e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061076e6028913960400191505060405180910390fd5b60006101eb3361044d565b905060008373ffffffffffffffffffffffffffffffffffffffff168360405180600001905060006040518083038185875af1925050503d806000811461024d576040519150601f19603f3d011682016040523d82523d6000602084013e610252565b606091505b50509050806102c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4661696c656420746f207769746864726177204554480000000000000000000081525060200191505060405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff16826040518082805190602001908083835b6020831061031457805182526020820191506020810190506020830392506102f1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390207fff381a086696de98df05e634263390296dd1d097ef34a1be9a91daead07fb01d8542604051808381526020018281526020019250505060405180910390a350505050565b60008054906101000a900460ff1681565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637ae1cfca836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561040b57600080fd5b505afa15801561041f573d6000803e3d6000fd5b505050506040513d602081101561043557600080fd5b81019080805190602001909291905050509050919050565b606060006104c18360405160200180807f636f6e74726163742e6e616d6500000000000000000000000000000000000000815250600d018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401915050604051602081830303815290604052805190602001206105d4565b905060405160200180600001905060405160208183030381529060405280519060200120816040516020018082805190602001908083835b6020831061051c57805182526020820191506020810190506020830392506104f9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014156105cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e7472616374206e6f7420666f756e64000000000000000000000000000081525060200191505060405180910390fd5b80915050919050565b6060600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663986e791a836040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561064957600080fd5b505afa15801561065d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561068757600080fd5b81019080805160405193929190846401000000008211156106a757600080fd5b838201915060208201858111156106bd57600080fd5b82518660018202830111640100000000821117156106da57600080fd5b8083526020830192505050908051906020019080838360005b8381101561070e5780820151818401526020810190506106f3565b50505050905090810190601f16801561073b5780820380516001836020036101000a031916815260200191505b50604052505050905091905056fe496e76616c6964206f72206f75746461746564206e6574776f726b20636f6e74726163744e6f2076616c696420616d6f756e74206f662045544820676976656e20746f207769746864726177a264697066735822122078e3658019a16bc1808e162c9f87c5ad2ad05f1e7c1823b4382357341431c93464736f6c634300070600330000000000000000000000006c2f7b6110a37b3b0fbdd811876be368df02e8b0
Deployed Bytecode
0x60806040526004361061002d5760003560e01c8063522f68151461003957806354fd4d501461009457610034565b3661003457005b600080fd5b34801561004557600080fd5b506100926004803603604081101561005c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506100c2565b005b3480156100a057600080fd5b506100a9610386565b604051808260ff16815260200191505060405180910390f35b6101323360405160200180807f636f6e74726163742e6578697374730000000000000000000000000000000000815250600f018273ffffffffffffffffffffffffffffffffffffffff1660601b815260140191505060405160208183030381529060405280519060200120610397565b610187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061074a6024913960400191505060405180910390fd5b600081116101e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061076e6028913960400191505060405180910390fd5b60006101eb3361044d565b905060008373ffffffffffffffffffffffffffffffffffffffff168360405180600001905060006040518083038185875af1925050503d806000811461024d576040519150601f19603f3d011682016040523d82523d6000602084013e610252565b606091505b50509050806102c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4661696c656420746f207769746864726177204554480000000000000000000081525060200191505060405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff16826040518082805190602001908083835b6020831061031457805182526020820191506020810190506020830392506102f1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390207fff381a086696de98df05e634263390296dd1d097ef34a1be9a91daead07fb01d8542604051808381526020018281526020019250505060405180910390a350505050565b60008054906101000a900460ff1681565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637ae1cfca836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561040b57600080fd5b505afa15801561041f573d6000803e3d6000fd5b505050506040513d602081101561043557600080fd5b81019080805190602001909291905050509050919050565b606060006104c18360405160200180807f636f6e74726163742e6e616d6500000000000000000000000000000000000000815250600d018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401915050604051602081830303815290604052805190602001206105d4565b905060405160200180600001905060405160208183030381529060405280519060200120816040516020018082805190602001908083835b6020831061051c57805182526020820191506020810190506020830392506104f9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014156105cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e7472616374206e6f7420666f756e64000000000000000000000000000081525060200191505060405180910390fd5b80915050919050565b6060600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663986e791a836040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561064957600080fd5b505afa15801561065d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561068757600080fd5b81019080805160405193929190846401000000008211156106a757600080fd5b838201915060208201858111156106bd57600080fd5b82518660018202830111640100000000821117156106da57600080fd5b8083526020830192505050908051906020019080838360005b8381101561070e5780820151818401526020810190506106f3565b50505050905090810190601f16801561073b5780820380516001836020036101000a031916815260200191505b50604052505050905091905056fe496e76616c6964206f72206f75746461746564206e6574776f726b20636f6e74726163744e6f2076616c696420616d6f756e74206f662045544820676976656e20746f207769746864726177a264697066735822122078e3658019a16bc1808e162c9f87c5ad2ad05f1e7c1823b4382357341431c93464736f6c63430007060033
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
17524:1086:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18057:550;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8418:20;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18057:550;8738:67;8792:10;8756:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8746:58;;;;;;8738:7;:67::i;:::-;8730:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18209:1:::1;18199:7;:11;18191:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18296:26;18325:27;18341:10;18325:15;:27::i;:::-;18296:56;;18389:11;18405:3;:8;;18421:7;18405:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18388:45;;;18452:6;18444:41;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;18569:3;18540:59;;18555:12;18540:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18574:7;18583:15;18540:59;;;;;;;;;;;;;;;;;;;;;;;;8857:1;;18057:550:::0;;:::o;8418:20::-;;;;;;;;;;;;:::o;12664:98::-;12718:4;12733:12;;;;;;;;;;;:20;;;12754:4;12733:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12726:33;;12664:98;;;:::o;11737:432::-;11811:13;11871:26;11900:73;11954:16;11920:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11910:62;;;;;;11900:9;:73::i;:::-;11871:102;;12068:20;;;;;;;;;;;;;;;;;;;;;12058:31;;;;;;12040:12;12023:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12013:41;;;;;;:76;;12005:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12149:12;12142:19;;;11737:432;;;:::o;12433:111::-;12489:13;12513:12;;;;;;;;;;;:22;;;12536:4;12513:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12506:35;;12433:111;;;:::o
Swarm Source
ipfs://78e3658019a16bc1808e162c9f87c5ad2ad05f1e7c1823b4382357341431c934
Latest 25 blocks (From a total of 1,676 blocks with 63.14 Ether produced)
Block | Transaction | Difficulty | Gas Used | Reward | |
---|---|---|---|---|---|
21269097 | 22 hrs ago | 48 | 0.00 TH | 2,463,024 (8.21%) | 0.006336380752360572 ETH |
21246644 | 4 days ago | 82 | 0.00 TH | 3,461,128 (11.54%) | 0.007683642240969513 ETH |
21182241 | 13 days ago | 40 | 0.00 TH | 7,131,739 (23.77%) | 0.01268458575792349 ETH |
21175111 | 14 days ago | 81 | 0.00 TH | 6,527,371 (21.76%) | 0.014041214778187818 ETH |
21152485 | 17 days ago | 61 | 0.00 TH | 3,038,913 (10.13%) | 0.007159604513444931 ETH |
21135603 | 19 days ago | 74 | 0.00 TH | 4,678,276 (15.59%) | 0.011375353965719343 ETH |
21089170 | 26 days ago | 25 | 0.00 TH | 1,486,931 (4.96%) | 0.003517375486373079 ETH |
21051600 | 31 days ago | 111 | 0.00 TH | 5,337,624 (17.79%) | 0.006600016412075137 ETH |
21047145 | 31 days ago | 45 | 0.00 TH | 4,021,542 (13.41%) | 0.010724823534944227 ETH |
20980328 | 41 days ago | 86 | 0.00 TH | 6,386,139 (21.29%) | 0.011207476660941297 ETH |
20977622 | 41 days ago | 57 | 0.00 TH | 3,873,184 (12.91%) | 0.007065909774640943 ETH |
20976565 | 41 days ago | 41 | 0.00 TH | 1,881,120 (6.27%) | 0.005806667324597062 ETH |
20970869 | 42 days ago | 60 | 0.00 TH | 3,335,610 (11.12%) | 0.007550167338567997 ETH |
20960037 | 44 days ago | 78 | 0.00 TH | 4,546,374 (15.15%) | 0.00721669274803392 ETH |
20946814 | 45 days ago | 61 | 0.00 TH | 3,091,338 (10.30%) | 0.011297101569076938 ETH |
20942216 | 46 days ago | 63 | 0.00 TH | 4,080,850 (13.60%) | 0.012492932155032021 ETH |
20869555 | 56 days ago | 59 | 0.00 TH | 4,579,492 (15.26%) | 0.009732299911026685 ETH |
20865211 | 57 days ago | 50 | 0.00 TH | 2,828,689 (9.43%) | 0.006836813218701415 ETH |
20857815 | 58 days ago | 63 | 0.00 TH | 3,534,139 (11.78%) | 0.007458688020479315 ETH |
20842065 | 60 days ago | 140 | 0.00 TH | 8,508,077 (28.36%) | 0.019143056071011903 ETH |
20838293 | 61 days ago | 50 | 0.00 TH | 2,542,211 (8.47%) | 0.009688519083513523 ETH |
20782283 | 68 days ago | 46 | 0.00 TH | 3,943,693 (13.15%) | 0.008921504269698065 ETH |
20778671 | 69 days ago | 106 | 0.00 TH | 8,485,593 (28.29%) | 0.023510659684495543 ETH |
20775859 | 69 days ago | 62 | 0.00 TH | 3,981,977 (13.27%) | 0.007977699475967376 ETH |
20761436 | 71 days ago | 53 | 0.00 TH | 4,065,143 (13.55%) | 0.00849018197131487 ETH |
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,307.26 | 2.7944 | $9,241.79 |
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.