Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
8686370 | 1808 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Name:
ReserveEternalStorage
Compiler Version
v0.5.7+commit.6da8b019
Optimization Enabled:
Yes with 1000000 runs
Other Settings:
default evmVersion, BSD-2-Clause license
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-10-06 */ pragma solidity 0.5.7; // produced by the Solididy File Flattener (c) David Appleton 2018 // contact : [email protected] // released under Apache 2.0 licence contract Context { // Empty internal constructor, to prevent people from mistakenly deploying // an instance of this contract, which should be used via inheritance. constructor () internal { } // solhint-disable-previous-line no-empty-blocks function _msgSender() internal view returns (address payable) { return msg.sender; } function _msgData() internal view returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } library SafeMath { /** * @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) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. * * NOTE: This is a feature of the next version of OpenZeppelin Contracts. * @dev Get it via `npm install @openzeppelin/contracts@next`. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @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) { // 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 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts 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) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message 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. * NOTE: This is a feature of the next version of OpenZeppelin Contracts. * @dev Get it via `npm install @openzeppelin/contracts@next`. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts 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) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message 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. * * NOTE: This is a feature of the next version of OpenZeppelin Contracts. * @dev Get it via `npm install @openzeppelin/contracts@next`. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; address private _nominatedOwner; event NewOwnerNominated(address indexed previousOwner, address indexed nominee); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Returns the address of the current nominated owner. */ function nominatedOwner() external view returns (address) { return _nominatedOwner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _onlyOwner(); _; } function _onlyOwner() internal view { require(_msgSender() == _owner, "caller is not owner"); } /** * @dev Nominates a new owner `newOwner`. * Requires a follow-up `acceptOwnership`. * Can only be called by the current owner. */ function nominateNewOwner(address newOwner) external onlyOwner { require(newOwner != address(0), "new owner is 0 address"); emit NewOwnerNominated(_owner, newOwner); _nominatedOwner = newOwner; } /** * @dev Accepts ownership of the contract. */ function acceptOwnership() external { require(_nominatedOwner == _msgSender(), "unauthorized"); emit OwnershipTransferred(_owner, _nominatedOwner); _owner = _nominatedOwner; } /** Set `_owner` to the 0 address. * Only do this to deliberately lock in the current permissions. * * THIS CANNOT BE UNDONE! Call this only if you know what you're doing and why you're doing it! */ function renounceOwnership(string calldata declaration) external onlyOwner { string memory requiredDeclaration = "I hereby renounce ownership of this contract forever."; require( keccak256(abi.encodePacked(declaration)) == keccak256(abi.encodePacked(requiredDeclaration)), "declaration incorrect"); emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } contract ReserveEternalStorage is Ownable { using SafeMath for uint256; // ===== auth ===== address public reserveAddress; event ReserveAddressTransferred( address indexed oldReserveAddress, address indexed newReserveAddress ); /// On construction, set auth fields. constructor() public { reserveAddress = _msgSender(); emit ReserveAddressTransferred(address(0), reserveAddress); } /// Only run modified function if sent by `reserveAddress`. modifier onlyReserveAddress() { require(_msgSender() == reserveAddress, "onlyReserveAddress"); _; } /// Set `reserveAddress`. function updateReserveAddress(address newReserveAddress) external { require(newReserveAddress != address(0), "zero address"); require(_msgSender() == reserveAddress || _msgSender() == owner(), "not authorized"); emit ReserveAddressTransferred(reserveAddress, newReserveAddress); reserveAddress = newReserveAddress; } // ===== balance ===== mapping(address => uint256) public balance; /// Add `value` to `balance[key]`, unless this causes integer overflow. /// /// @dev This is a slight divergence from the strict Eternal Storage pattern, but it reduces /// the gas for the by-far most common token usage, it's a *very simple* divergence, and /// `setBalance` is available anyway. function addBalance(address key, uint256 value) external onlyReserveAddress { balance[key] = balance[key].add(value); } /// Subtract `value` from `balance[key]`, unless this causes integer underflow. function subBalance(address key, uint256 value) external onlyReserveAddress { balance[key] = balance[key].sub(value); } /// Set `balance[key]` to `value`. function setBalance(address key, uint256 value) external onlyReserveAddress { balance[key] = value; } // ===== allowed ===== mapping(address => mapping(address => uint256)) public allowed; /// Set `to`'s allowance of `from`'s tokens to `value`. function setAllowed(address from, address to, uint256 value) external onlyReserveAddress { allowed[from][to] = value; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"key","type":"address"},{"name":"value","type":"uint256"}],"name":"addBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"setAllowed","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"declaration","type":"string"}],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"key","type":"address"},{"name":"value","type":"uint256"}],"name":"subBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"key","type":"address"},{"name":"value","type":"uint256"}],"name":"setBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reserveAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newReserveAddress","type":"address"}],"name":"updateReserveAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"oldReserveAddress","type":"address"},{"indexed":true,"name":"newReserveAddress","type":"address"}],"name":"ReserveAddressTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"nominee","type":"address"}],"name":"NewOwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b5060006100216100ca60201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506100796100ca60201b60201c565b600280546001600160a01b0319166001600160a01b0392831617908190556040519116906000907feb667ad87f8e94a71252d18843f339e739a788f5641fd00d1404d93f4e547534908290a36100ce565b3390565b610fe1806100dd6000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c806379ba50971161008c578063e30443bc11610066578063e30443bc146102cc578063e3d670d714610305578063f79ed94b14610338578063f84afd4814610340576100df565b806379ba5097146102835780638da5cb5b1461028b578063cf8eeb7e14610293576100df565b80634fdb7f44116100bd5780634fdb7f441461019557806353a47bb7146102055780635c65816514610236576100df565b80631627540c146100e457806321e5383a1461011957806333dd1b8a14610152575b600080fd5b610117600480360360208110156100fa57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610373565b005b6101176004803603604081101561012f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561048a565b6101176004803603606081101561016857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610590565b610117600480360360208110156101ab57600080fd5b8101906020810181356401000000008111156101c657600080fd5b8201836020820111156101d857600080fd5b803590602001918460018302840111640100000000831117156101fa57600080fd5b50909250905061066c565b61020d61082b565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102716004803603604081101561024c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610847565b60408051918252519081900360200190f35b610117610864565b61020d610988565b610117600480360360408110156102a957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109a4565b610117600480360360408110156102e257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a7d565b6102716004803603602081101561031b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b49565b61020d610b5b565b6101176004803603602081101561035657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b77565b61037b610d6e565b73ffffffffffffffffffffffffffffffffffffffff81166103fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f6e6577206f776e65722069732030206164647265737300000000000000000000604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917fb59bab42c554cfd49f4f001c983b6ed93ede25748b10114b7d1cb1b3c97df7af91a3600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60025473ffffffffffffffffffffffffffffffffffffffff166104ab610e13565b73ffffffffffffffffffffffffffffffffffffffff161461052d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6f6e6c7952657365727665416464726573730000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040902054610563908263ffffffff610e1716565b73ffffffffffffffffffffffffffffffffffffffff90921660009081526003602052604090209190915550565b60025473ffffffffffffffffffffffffffffffffffffffff166105b1610e13565b73ffffffffffffffffffffffffffffffffffffffff161461063357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6f6e6c7952657365727665416464726573730000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff92831660009081526004602090815260408083209490951682529290925291902055565b610674610d6e565b6060604051806060016040528060358152602001610f81603591399050806040516020018082805190602001908083835b602083106106e257805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016106a5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120838360405160200180838380828437808301925050509250505060405160208183030381529060405280519060200120146107b957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f6465636c61726174696f6e20696e636f72726563740000000000000000000000604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35050600080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905550565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b600460209081526000928352604080842090915290825290205481565b61086c610e13565b60015473ffffffffffffffffffffffffffffffffffffffff9081169116146108f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f756e617574686f72697a65640000000000000000000000000000000000000000604482015290519081900360640190fd5b6001546000805460405173ffffffffffffffffffffffffffffffffffffffff93841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600154600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60025473ffffffffffffffffffffffffffffffffffffffff166109c5610e13565b73ffffffffffffffffffffffffffffffffffffffff1614610a4757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6f6e6c7952657365727665416464726573730000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040902054610563908263ffffffff610e9216565b60025473ffffffffffffffffffffffffffffffffffffffff16610a9e610e13565b73ffffffffffffffffffffffffffffffffffffffff1614610b2057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6f6e6c7952657365727665416464726573730000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff909116600090815260036020526040902055565b60036020526000908152604090205481565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff8116610bf957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f7a65726f20616464726573730000000000000000000000000000000000000000604482015290519081900360640190fd5b60025473ffffffffffffffffffffffffffffffffffffffff16610c1a610e13565b73ffffffffffffffffffffffffffffffffffffffff161480610c755750610c3f610988565b73ffffffffffffffffffffffffffffffffffffffff16610c5d610e13565b73ffffffffffffffffffffffffffffffffffffffff16145b610ce057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f6e6f7420617574686f72697a6564000000000000000000000000000000000000604482015290519081900360640190fd5b60025460405173ffffffffffffffffffffffffffffffffffffffff8084169216907feb667ad87f8e94a71252d18843f339e739a788f5641fd00d1404d93f4e54753490600090a3600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff16610d8f610e13565b73ffffffffffffffffffffffffffffffffffffffff1614610e1157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f63616c6c6572206973206e6f74206f776e657200000000000000000000000000604482015290519081900360640190fd5b565b3390565b600082820183811015610e8b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000610e8b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115610f78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f3d578181015183820152602001610f25565b50505050905090810190601f168015610f6a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe49206865726562792072656e6f756e6365206f776e657273686970206f66207468697320636f6e747261637420666f72657665722ea165627a7a723058203f41f21ac65fb659dfc5d43511d3d95725f5541fcedf1e3b55b78f90c97a4eff0029
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100df5760003560e01c806379ba50971161008c578063e30443bc11610066578063e30443bc146102cc578063e3d670d714610305578063f79ed94b14610338578063f84afd4814610340576100df565b806379ba5097146102835780638da5cb5b1461028b578063cf8eeb7e14610293576100df565b80634fdb7f44116100bd5780634fdb7f441461019557806353a47bb7146102055780635c65816514610236576100df565b80631627540c146100e457806321e5383a1461011957806333dd1b8a14610152575b600080fd5b610117600480360360208110156100fa57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610373565b005b6101176004803603604081101561012f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561048a565b6101176004803603606081101561016857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610590565b610117600480360360208110156101ab57600080fd5b8101906020810181356401000000008111156101c657600080fd5b8201836020820111156101d857600080fd5b803590602001918460018302840111640100000000831117156101fa57600080fd5b50909250905061066c565b61020d61082b565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102716004803603604081101561024c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610847565b60408051918252519081900360200190f35b610117610864565b61020d610988565b610117600480360360408110156102a957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109a4565b610117600480360360408110156102e257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a7d565b6102716004803603602081101561031b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b49565b61020d610b5b565b6101176004803603602081101561035657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b77565b61037b610d6e565b73ffffffffffffffffffffffffffffffffffffffff81166103fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f6e6577206f776e65722069732030206164647265737300000000000000000000604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917fb59bab42c554cfd49f4f001c983b6ed93ede25748b10114b7d1cb1b3c97df7af91a3600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60025473ffffffffffffffffffffffffffffffffffffffff166104ab610e13565b73ffffffffffffffffffffffffffffffffffffffff161461052d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6f6e6c7952657365727665416464726573730000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040902054610563908263ffffffff610e1716565b73ffffffffffffffffffffffffffffffffffffffff90921660009081526003602052604090209190915550565b60025473ffffffffffffffffffffffffffffffffffffffff166105b1610e13565b73ffffffffffffffffffffffffffffffffffffffff161461063357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6f6e6c7952657365727665416464726573730000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff92831660009081526004602090815260408083209490951682529290925291902055565b610674610d6e565b6060604051806060016040528060358152602001610f81603591399050806040516020018082805190602001908083835b602083106106e257805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016106a5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120838360405160200180838380828437808301925050509250505060405160208183030381529060405280519060200120146107b957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f6465636c61726174696f6e20696e636f72726563740000000000000000000000604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35050600080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905550565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b600460209081526000928352604080842090915290825290205481565b61086c610e13565b60015473ffffffffffffffffffffffffffffffffffffffff9081169116146108f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f756e617574686f72697a65640000000000000000000000000000000000000000604482015290519081900360640190fd5b6001546000805460405173ffffffffffffffffffffffffffffffffffffffff93841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600154600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60025473ffffffffffffffffffffffffffffffffffffffff166109c5610e13565b73ffffffffffffffffffffffffffffffffffffffff1614610a4757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6f6e6c7952657365727665416464726573730000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040902054610563908263ffffffff610e9216565b60025473ffffffffffffffffffffffffffffffffffffffff16610a9e610e13565b73ffffffffffffffffffffffffffffffffffffffff1614610b2057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6f6e6c7952657365727665416464726573730000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff909116600090815260036020526040902055565b60036020526000908152604090205481565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff8116610bf957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f7a65726f20616464726573730000000000000000000000000000000000000000604482015290519081900360640190fd5b60025473ffffffffffffffffffffffffffffffffffffffff16610c1a610e13565b73ffffffffffffffffffffffffffffffffffffffff161480610c755750610c3f610988565b73ffffffffffffffffffffffffffffffffffffffff16610c5d610e13565b73ffffffffffffffffffffffffffffffffffffffff16145b610ce057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f6e6f7420617574686f72697a6564000000000000000000000000000000000000604482015290519081900360640190fd5b60025460405173ffffffffffffffffffffffffffffffffffffffff8084169216907feb667ad87f8e94a71252d18843f339e739a788f5641fd00d1404d93f4e54753490600090a3600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff16610d8f610e13565b73ffffffffffffffffffffffffffffffffffffffff1614610e1157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f63616c6c6572206973206e6f74206f776e657200000000000000000000000000604482015290519081900360640190fd5b565b3390565b600082820183811015610e8b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000610e8b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115610f78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f3d578181015183820152602001610f25565b50505050905090810190601f168015610f6a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe49206865726562792072656e6f756e6365206f776e657273686970206f66207468697320636f6e747261637420666f72657665722ea165627a7a723058203f41f21ac65fb659dfc5d43511d3d95725f5541fcedf1e3b55b78f90c97a4eff0029
Deployed Bytecode Sourcemap
8489:2306:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8489:2306:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7288:227;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7288:227:0;;;;:::i;:::-;;9963:133;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9963:133:0;;;;;;;;;:::i;10659:::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10659:133:0;;;;;;;;;;;;;;;;;;:::i;8032:450::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8032:450:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;8032:450:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8032:450:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;8032:450:0;;-1:-1:-1;8032:450:0;-1:-1:-1;8032:450:0;:::i;6745:99::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10527:62;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10527:62:0;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7589:207;;;:::i;6575:79::-;;;:::i;10189:133::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10189:133:0;;;;;;;;;:::i;10370:115::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10370:115:0;;;;;;;;;:::i;9591:42::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9591:42:0;;;;:::i;8604:29::-;;;:::i;9192:357::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9192:357:0;;;;:::i;7288:227::-;6969:12;:10;:12::i;:::-;7370:22;;;7362:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7453:6;;;7435:35;;;;;;;7453:6;;;7435:35;;;7481:15;:26;;;;;;;;;;;;;;;7288:227::o;9963:133::-;9096:14;;;;9080:12;:10;:12::i;:::-;:30;;;9072:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10065:12;;;;;;;:7;:12;;;;;;:23;;10082:5;10065:23;:16;:23;:::i;:::-;10050:12;;;;;;;;:7;:12;;;;;:38;;;;-1:-1:-1;9963:133:0:o;10659:::-;9096:14;;;;9080:12;:10;:12::i;:::-;:30;;;9072:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10759:13;;;;;;;;:7;:13;;;;;;;;:17;;;;;;;;;;;;;:25;10659:133::o;8032:450::-;6969:12;:10;:12::i;:::-;8118:33;:91;;;;;;;;;;;;;;;;;;;8326:19;8309:37;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;8309:37:0;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8309:37:0;;;8299:48;;;;;;8269:11;;8252:29;;;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;8252:29:0;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8252:29:0;;;8242:40;;;;;;:105;8220:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8441:1;8425:6;;8404:40;;;8425:6;;;;8404:40;;8441:1;;8404:40;-1:-1:-1;;8472:1:0;8455:19;;;;;;-1:-1:-1;8032:450:0:o;6745:99::-;6821:15;;;;6745:99;:::o;10527:62::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;7589:207::-;7663:12;:10;:12::i;:::-;7644:15;;:31;:15;;;:31;;;7636:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7737:15;;;7729:6;;7708:45;;7737:15;;;;;7729:6;;;;7708:45;;;7773:15;;;7764:24;;;;7773:15;;;;7764:24;;;;;;7589:207::o;6575:79::-;6613:7;6640:6;;;6575:79;:::o;10189:133::-;9096:14;;;;9080:12;:10;:12::i;:::-;:30;;;9072:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10291:12;;;;;;;:7;:12;;;;;;:23;;10308:5;10291:23;:16;:23;:::i;10370:115::-;9096:14;;;;9080:12;:10;:12::i;:::-;:30;;;9072:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10457:12;;;;;;;;:7;:12;;;;;:20;10370:115::o;9591:42::-;;;;;;;;;;;;;:::o;8604:29::-;;;;;;:::o;9192:357::-;9277:31;;;9269:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9360:14;;;;9344:12;:10;:12::i;:::-;:30;;;:57;;;;9394:7;:5;:7::i;:::-;9378:23;;:12;:10;:12::i;:::-;:23;;;9344:57;9336:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9462:14;;9436:60;;;;;;;9462:14;;9436:60;;9462:14;;9436:60;9507:14;:34;;;;;;;;;;;;;;;9192:357::o;7009:109::-;7080:6;;;;7064:12;:10;:12::i;:::-;:22;;;7056:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7009:109::o;429:98::-;509:10;429:98;:::o;1022:181::-;1080:7;1112:5;;;1136:6;;;;1128:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1194:1;1022:181;-1:-1:-1;;;1022:181:0:o;1478:136::-;1536:7;1563:43;1567:1;1570;1563:43;;;;;;;;;;;;;;;;;2150:7;2186:12;2178:6;;;;2170:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2170:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2222:5:0;;;2064:192::o
Swarm Source
bzzr://3f41f21ac65fb659dfc5d43511d3d95725f5541fcedf1e3b55b78f90c97a4eff
Loading...
Loading
Loading...
Loading
OVERVIEW
The Reserve token located at 0x1C5857e110CD8411054660F60B5De6a6958CfAE2 uses an eternal storage, in case the token ever has to be re-deployed.Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.