Token migration announcement. Reserve Rights token contract has migrated to a new address.
More Info
Private Name Tags
ContractCreator
TokenTracker
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| 0x26d1936c3459bf86c54db4592acbc2e887a424267d10d62c5816bc19e3875844 | Approve | (pending) | 7 days ago | IN | 0 ETH | (Pending) | |||
| Transfer | 24209710 | 45 mins ago | IN | 0 ETH | 0.00000086 | ||||
| Transfer | 24209091 | 2 hrs ago | IN | 0 ETH | 0.00000077 | ||||
| Transfer | 24208453 | 4 hrs ago | IN | 0 ETH | 0.00000082 | ||||
| Transfer | 24207826 | 7 hrs ago | IN | 0 ETH | 0.00000087 | ||||
| Transfer | 24207197 | 9 hrs ago | IN | 0 ETH | 0.000001 | ||||
| Transfer | 24206590 | 11 hrs ago | IN | 0 ETH | 0.00000078 | ||||
| Transfer | 24205946 | 13 hrs ago | IN | 0 ETH | 0.000001 | ||||
| Transfer | 24205305 | 15 hrs ago | IN | 0 ETH | 0.000001 | ||||
| Transfer | 24204637 | 17 hrs ago | IN | 0 ETH | 0.0000009 | ||||
| Approve | 24204287 | 18 hrs ago | IN | 0 ETH | 0.00000321 | ||||
| Transfer | 24203999 | 19 hrs ago | IN | 0 ETH | 0.00000083 | ||||
| Transfer | 24203361 | 22 hrs ago | IN | 0 ETH | 0.00000094 | ||||
| Transfer | 24202719 | 24 hrs ago | IN | 0 ETH | 0.00000094 | ||||
| Transfer | 24202069 | 26 hrs ago | IN | 0 ETH | 0.00000075 | ||||
| Transfer | 24201446 | 28 hrs ago | IN | 0 ETH | 0.0000008 | ||||
| Transfer | 24200815 | 30 hrs ago | IN | 0 ETH | 0.00000096 | ||||
| Transfer | 24200207 | 32 hrs ago | IN | 0 ETH | 0.00000083 | ||||
| Transfer | 24199554 | 34 hrs ago | IN | 0 ETH | 0.00000092 | ||||
| Transfer | 24198920 | 36 hrs ago | IN | 0 ETH | 0.0000027 | ||||
| Transfer | 24198299 | 38 hrs ago | IN | 0 ETH | 0.00000433 | ||||
| Transfer | 24198225 | 39 hrs ago | IN | 0 ETH | 0.00000853 | ||||
| Transfer | 24197150 | 42 hrs ago | IN | 0 ETH | 0.00000117 | ||||
| Transfer | 24196355 | 45 hrs ago | IN | 0 ETH | 0.00000088 | ||||
| Transfer | 24195749 | 47 hrs ago | IN | 0 ETH | 0.00000077 |
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| - | 10429543 | 2011 days ago | 0.15851 ETH |
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ReserveRightsToken
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 1000000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2019-05-17
*/
pragma solidity ^0.4.24;
/**
* @title ERC20 interface
* @dev see https://github.com/ethereum/EIPs/issues/20
*/
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address who) external view returns (uint256);
function allowance(address owner, address spender)
external view returns (uint256);
function transfer(address to, uint256 value) external returns (bool);
function approve(address spender, uint256 value)
external returns (bool);
function transferFrom(address from, address to, uint256 value)
external returns (bool);
event Transfer(
address indexed from,
address indexed to,
uint256 value
);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
/**
* @title SafeMath
* @dev Math operations with safety checks that revert on error
*/
library SafeMath {
/**
* @dev Multiplies two numbers, reverts on 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-solidity/pull/522
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b);
return c;
}
/**
* @dev Integer division of two numbers truncating the quotient, reverts on division by zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
require(b > 0); // Solidity only automatically asserts when dividing by 0
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
/**
* @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= a);
uint256 c = a - b;
return c;
}
/**
* @dev Adds two numbers, reverts on overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a);
return c;
}
/**
* @dev Divides two numbers and returns the remainder (unsigned integer modulo),
* reverts when dividing by zero.
*/
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
require(b != 0);
return a % b;
}
}
/**
* @title Standard ERC20 token
*
* @dev Implementation of the basic standard token.
* https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
* Originally based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
*/
contract ERC20 is IERC20 {
using SafeMath for uint256;
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowed;
uint256 private _totalSupply;
/**
* @dev Total number of tokens in existence
*/
function totalSupply() public view returns (uint256) {
return _totalSupply;
}
/**
* @dev Gets the balance of the specified address.
* @param owner The address to query the balance of.
* @return An uint256 representing the amount owned by the passed address.
*/
function balanceOf(address owner) public view returns (uint256) {
return _balances[owner];
}
/**
* @dev Function to check the amount of tokens that an owner allowed to a spender.
* @param owner address The address which owns the funds.
* @param spender address The address which will spend the funds.
* @return A uint256 specifying the amount of tokens still available for the spender.
*/
function allowance(
address owner,
address spender
)
public
view
returns (uint256)
{
return _allowed[owner][spender];
}
/**
* @dev Transfer token for a specified address
* @param to The address to transfer to.
* @param value The amount to be transferred.
*/
function transfer(address to, uint256 value) public returns (bool) {
_transfer(msg.sender, to, value);
return true;
}
/**
* @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
* Beware that changing an allowance with this method brings the risk that someone may use both the old
* and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
* race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
* @param spender The address which will spend the funds.
* @param value The amount of tokens to be spent.
*/
function approve(address spender, uint256 value) public returns (bool) {
require(spender != address(0));
_allowed[msg.sender][spender] = value;
emit Approval(msg.sender, spender, value);
return true;
}
/**
* @dev Transfer tokens from one address to another
* @param from address The address which you want to send tokens from
* @param to address The address which you want to transfer to
* @param value uint256 the amount of tokens to be transferred
*/
function transferFrom(
address from,
address to,
uint256 value
)
public
returns (bool)
{
require(value <= _allowed[from][msg.sender]);
_allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value);
_transfer(from, to, value);
return true;
}
/**
* @dev Increase the amount of tokens that an owner allowed to a spender.
* approve should be called when allowed_[_spender] == 0. To increment
* allowed value is better to use this function to avoid 2 calls (and wait until
* the first transaction is mined)
* From MonolithDAO Token.sol
* @param spender The address which will spend the funds.
* @param addedValue The amount of tokens to increase the allowance by.
*/
function increaseAllowance(
address spender,
uint256 addedValue
)
public
returns (bool)
{
require(spender != address(0));
_allowed[msg.sender][spender] = (
_allowed[msg.sender][spender].add(addedValue));
emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
return true;
}
/**
* @dev Decrease the amount of tokens that an owner allowed to a spender.
* approve should be called when allowed_[_spender] == 0. To decrement
* allowed value is better to use this function to avoid 2 calls (and wait until
* the first transaction is mined)
* From MonolithDAO Token.sol
* @param spender The address which will spend the funds.
* @param subtractedValue The amount of tokens to decrease the allowance by.
*/
function decreaseAllowance(
address spender,
uint256 subtractedValue
)
public
returns (bool)
{
require(spender != address(0));
_allowed[msg.sender][spender] = (
_allowed[msg.sender][spender].sub(subtractedValue));
emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
return true;
}
/**
* @dev Transfer token for a specified addresses
* @param from The address to transfer from.
* @param to The address to transfer to.
* @param value The amount to be transferred.
*/
function _transfer(address from, address to, uint256 value) internal {
require(value <= _balances[from]);
require(to != address(0));
_balances[from] = _balances[from].sub(value);
_balances[to] = _balances[to].add(value);
emit Transfer(from, to, value);
}
/**
* @dev Internal function that mints an amount of the token and assigns it to
* an account. This encapsulates the modification of balances such that the
* proper events are emitted.
* @param account The account that will receive the created tokens.
* @param value The amount that will be created.
*/
function _mint(address account, uint256 value) internal {
require(account != 0);
_totalSupply = _totalSupply.add(value);
_balances[account] = _balances[account].add(value);
emit Transfer(address(0), account, value);
}
/**
* @dev Internal function that burns an amount of the token of a given
* account.
* @param account The account whose tokens will be burnt.
* @param value The amount that will be burnt.
*/
function _burn(address account, uint256 value) internal {
require(account != 0);
require(value <= _balances[account]);
_totalSupply = _totalSupply.sub(value);
_balances[account] = _balances[account].sub(value);
emit Transfer(account, address(0), value);
}
/**
* @dev Internal function that burns an amount of the token of a given
* account, deducting from the sender's allowance for said account. Uses the
* internal burn function.
* @param account The account whose tokens will be burnt.
* @param value The amount that will be burnt.
*/
function _burnFrom(address account, uint256 value) internal {
require(value <= _allowed[account][msg.sender]);
// Should https://github.com/OpenZeppelin/zeppelin-solidity/issues/707 be accepted,
// this function needs to emit an event with the updated approval.
_allowed[account][msg.sender] = _allowed[account][msg.sender].sub(
value);
_burn(account, value);
}
}
/**
* @title Roles
* @dev Library for managing addresses assigned to a Role.
*/
library Roles {
struct Role {
mapping (address => bool) bearer;
}
/**
* @dev give an account access to this role
*/
function add(Role storage role, address account) internal {
require(account != address(0));
require(!has(role, account));
role.bearer[account] = true;
}
/**
* @dev remove an account's access to this role
*/
function remove(Role storage role, address account) internal {
require(account != address(0));
require(has(role, account));
role.bearer[account] = false;
}
/**
* @dev check if an account has this role
* @return bool
*/
function has(Role storage role, address account)
internal
view
returns (bool)
{
require(account != address(0));
return role.bearer[account];
}
}
contract PauserRole {
using Roles for Roles.Role;
event PauserAdded(address indexed account);
event PauserRemoved(address indexed account);
Roles.Role private pausers;
constructor() internal {
_addPauser(msg.sender);
}
modifier onlyPauser() {
require(isPauser(msg.sender));
_;
}
function isPauser(address account) public view returns (bool) {
return pausers.has(account);
}
function addPauser(address account) public onlyPauser {
_addPauser(account);
}
function renouncePauser() public {
_removePauser(msg.sender);
}
function _addPauser(address account) internal {
pausers.add(account);
emit PauserAdded(account);
}
function _removePauser(address account) internal {
pausers.remove(account);
emit PauserRemoved(account);
}
}
/**
* @title Pausable
* @dev Base contract which allows children to implement an emergency stop mechanism.
*/
contract Pausable is PauserRole {
event Paused(address account);
event Unpaused(address account);
bool private _paused;
constructor() internal {
_paused = false;
}
/**
* @return true if the contract is paused, false otherwise.
*/
function paused() public view returns(bool) {
return _paused;
}
/**
* @dev Modifier to make a function callable only when the contract is not paused.
*/
modifier whenNotPaused() {
require(!_paused);
_;
}
/**
* @dev Modifier to make a function callable only when the contract is paused.
*/
modifier whenPaused() {
require(_paused);
_;
}
/**
* @dev called by the owner to pause, triggers stopped state
*/
function pause() public onlyPauser whenNotPaused {
_paused = true;
emit Paused(msg.sender);
}
/**
* @dev called by the owner to unpause, returns to normal state
*/
function unpause() public onlyPauser whenPaused {
_paused = false;
emit Unpaused(msg.sender);
}
}
/**
* @title Pausable token
* @dev ERC20 modified with pausable transfers.
**/
contract ERC20Pausable is ERC20, Pausable {
function transfer(
address to,
uint256 value
)
public
whenNotPaused
returns (bool)
{
return super.transfer(to, value);
}
function transferFrom(
address from,
address to,
uint256 value
)
public
whenNotPaused
returns (bool)
{
return super.transferFrom(from, to, value);
}
function approve(
address spender,
uint256 value
)
public
whenNotPaused
returns (bool)
{
return super.approve(spender, value);
}
function increaseAllowance(
address spender,
uint addedValue
)
public
whenNotPaused
returns (bool success)
{
return super.increaseAllowance(spender, addedValue);
}
function decreaseAllowance(
address spender,
uint subtractedValue
)
public
whenNotPaused
returns (bool success)
{
return super.decreaseAllowance(spender, subtractedValue);
}
}
contract ReserveRightsToken is ERC20Pausable {
string public name = "Reserve Rights";
string public symbol = "RSR";
uint8 public decimals = 18;
// Tokens belonging to Reserve team members and early investors are locked until network launch.
mapping (address => bool) public reserveTeamMemberOrEarlyInvestor;
event AccountLocked(address indexed lockedAccount);
// Hard-coded addresses from the previous deployment, which should be locked and contain token allocations.
address[] previousAddresses = [
0x8ad9c8ebe26eadab9251b8fc36cd06a1ec399a7f,
0xb268c230720d16c69a61cbee24731e3b2a3330a1,
0x082705fabf49bd30de8f0222821f6d940713b89d,
0xc3aa4ced5dea58a3d1ca76e507515c79ca1e4436,
0x66f25f036eb4463d8a45c6594a325f9e89baa6db,
0x9e454fe7d8e087fcac4ec8c40562de781004477e,
0x4fcc7ca22680aed155f981eeb13089383d624aa9,
0x5a66650e5345d76eb8136ea1490cbcce1c08072e,
0x698a10b5d0972bffea306ba5950bd74d2af3c7ca,
0xdf437625216cca3d7148e18d09f4aab0d47c763b,
0x24b4a6847ccb32972de40170c02fda121ddc6a30,
0x8d29a24f91df381feb4ee7f05405d3fb888c643e,
0x5a7350d95b9e644dcab4bc642707f43a361bf628,
0xfc2e9a5cd1bb9b3953ffa7e6ddf0c0447eb95f11,
0x3ac7a6c3a2ff08613b611485f795d07e785cbb95,
0x47fc47cbcc5217740905e16c4c953b2f247369d2,
0xd282337950ac6e936d0f0ebaaff1ffc3de79f3d5,
0xde59cd3aa43a2bf863723662b31906660c7d12b6,
0x5f84660cabb98f7b7764cd1ae2553442da91984e,
0xefbaaf73fc22f70785515c1e2be3d5ba2fb8e9b0,
0x63c5ffb388d83477a15eb940cfa23991ca0b30f0,
0x14f018cce044f9d3fb1e1644db6f2fab70f6e3cb,
0xbe30069d27a250f90c2ee5507bcaca5f868265f7,
0xcfef27288bedcd587a1ed6e86a996c8c5b01d7c1,
0x5f57bbccc7ffa4c46864b5ed999a271bc36bb0ce,
0xbae85de9858375706dde5907c8c9c6ee22b19212,
0x5cf4bbb0ff093f3c725abec32fba8f34e4e98af1,
0xcb2d434bf72d3cd43d0c368493971183640ffe99,
0x02fc8e99401b970c265480140721b28bb3af85ab,
0xe7ad11517d7254f6a0758cee932bffa328002dd0,
0x6b39195c164d693d3b6518b70d99877d4f7c87ef,
0xc59119d8e4d129890036a108aed9d9fe94db1ba9,
0xd28661e4c75d177d9c1f3c8b821902c1abd103a6,
0xba385610025b1ea8091ae3e4a2e98913e2691ff7,
0xcd74834b8f3f71d2e82c6240ae0291c563785356,
0x657a127639b9e0ccccfbe795a8e394d5ca158526
];
constructor(address previousContract, address reservePrimaryWallet) public {
IERC20 previousToken = IERC20(previousContract);
_mint(reservePrimaryWallet, previousToken.balanceOf(reservePrimaryWallet));
for (uint i = 0; i < previousAddresses.length; i++) {
reserveTeamMemberOrEarlyInvestor[previousAddresses[i]] = true;
_mint(previousAddresses[i], previousToken.balanceOf(previousAddresses[i]));
emit AccountLocked(previousAddresses[i]);
}
}
function transfer(address to, uint256 value) public returns (bool) {
// Tokens belonging to Reserve team members and early investors are locked until network launch.
require(!reserveTeamMemberOrEarlyInvestor[msg.sender]);
return super.transfer(to, value);
}
function transferFrom(address from, address to, uint256 value) public returns (bool) {
// Tokens belonging to Reserve team members and early investors are locked until network launch.
require(!reserveTeamMemberOrEarlyInvestor[from]);
return super.transferFrom(from, to, value);
}
/// This function is intended to be used only by Reserve team members and investors.
/// You can call it yourself, but you almost certainly don’t want to.
/// Anyone who calls this function will cause their own tokens to be subject to
/// a long lockup. Reserve team members and some investors do this to commit
/// ourselves to not dumping tokens early. If you are not a Reserve team member
/// or investor, you don’t need to limit yourself in this way.
///
/// THIS FUNCTION LOCKS YOUR TOKENS. ONLY USE IT IF YOU KNOW WHAT YOU ARE DOING.
function lockMyTokensForever(string consent) public returns (bool) {
require(keccak256(abi.encodePacked(consent)) == keccak256(abi.encodePacked(
"I understand that I am locking my account forever, or at least until the next token upgrade."
)));
reserveTeamMemberOrEarlyInvestor[msg.sender] = true;
emit AccountLocked(msg.sender);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"consent","type":"string"}],"name":"lockMyTokensForever","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"reserveTeamMemberOrEarlyInvestor","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"previousContract","type":"address"},{"name":"reservePrimaryWallet","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"lockedAccount","type":"address"}],"name":"AccountLocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]Contract Creation Code
60c0604052600e60808190527f526573657276652052696768747300000000000000000000000000000000000060a090815262000040916005919062000890565b506040805180820190915260038082527f52535200000000000000000000000000000000000000000000000000000000006020909201918252620000879160069162000890565b506007805460ff191660121790556040805161048081018252738ad9c8ebe26eadab9251b8fc36cd06a1ec399a7f815273b268c230720d16c69a61cbee24731e3b2a3330a1602082015273082705fabf49bd30de8f0222821f6d940713b89d9181019190915273c3aa4ced5dea58a3d1ca76e507515c79ca1e443660608201527366f25f036eb4463d8a45c6594a325f9e89baa6db6080820152739e454fe7d8e087fcac4ec8c40562de781004477e60a0820152734fcc7ca22680aed155f981eeb13089383d624aa960c0820152735a66650e5345d76eb8136ea1490cbcce1c08072e60e082015273698a10b5d0972bffea306ba5950bd74d2af3c7ca61010082015273df437625216cca3d7148e18d09f4aab0d47c763b6101208201527324b4a6847ccb32972de40170c02fda121ddc6a30610140820152738d29a24f91df381feb4ee7f05405d3fb888c643e610160820152735a7350d95b9e644dcab4bc642707f43a361bf62861018082015273fc2e9a5cd1bb9b3953ffa7e6ddf0c0447eb95f116101a0820152733ac7a6c3a2ff08613b611485f795d07e785cbb956101c08201527347fc47cbcc5217740905e16c4c953b2f247369d26101e082015273d282337950ac6e936d0f0ebaaff1ffc3de79f3d561020082015273de59cd3aa43a2bf863723662b31906660c7d12b6610220820152735f84660cabb98f7b7764cd1ae2553442da91984e61024082015273efbaaf73fc22f70785515c1e2be3d5ba2fb8e9b06102608201527363c5ffb388d83477a15eb940cfa23991ca0b30f06102808201527314f018cce044f9d3fb1e1644db6f2fab70f6e3cb6102a082015273be30069d27a250f90c2ee5507bcaca5f868265f76102c082015273cfef27288bedcd587a1ed6e86a996c8c5b01d7c16102e0820152735f57bbccc7ffa4c46864b5ed999a271bc36bb0ce61030082015273bae85de9858375706dde5907c8c9c6ee22b19212610320820152735cf4bbb0ff093f3c725abec32fba8f34e4e98af161034082015273cb2d434bf72d3cd43d0c368493971183640ffe996103608201527302fc8e99401b970c265480140721b28bb3af85ab61038082015273e7ad11517d7254f6a0758cee932bffa328002dd06103a0820152736b39195c164d693d3b6518b70d99877d4f7c87ef6103c082015273c59119d8e4d129890036a108aed9d9fe94db1ba96103e082015273d28661e4c75d177d9c1f3c8b821902c1abd103a661040082015273ba385610025b1ea8091ae3e4a2e98913e2691ff761042082015273cd74834b8f3f71d2e82c6240ae0291c56378535661044082015273657a127639b9e0ccccfbe795a8e394d5ca1585266104608201526200047390600990602462000915565b503480156200048157600080fd5b5060405160408062001b48833981016040528051602090910151600080620004b233640100000000620006d2810204565b6004805460ff19168155604080517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a038087169382019390935290518694506200056b928692908616916370a08231916024808201926020929091908290030181600087803b1580156200052e57600080fd5b505af115801562000543573d6000803e3d6000fd5b505050506040513d60208110156200055a57600080fd5b505164010000000062000724810204565b5060005b600954811015620006c8576001600860006009848154811015156200059057fe5b600091825260208083209190910154600160a060020a031683528201929092526040019020805460ff19169115159190911790556009805462000673919083908110620005d957fe5b60009182526020909120015460098054600160a060020a03928316928616916370a0823191869081106200060957fe5b6000918252602080832090910154604080517c010000000000000000000000000000000000000000000000000000000063ffffffff8716028152600160a060020a0390921660048301525160248083019491928390030190829087803b1580156200052e57600080fd5b60098054829081106200068257fe5b6000918252602082200154604051600160a060020a03909116917f78be06d07afe380e04d6deeba0f33c892db454f303fb739d9b768987a5ec6aca91a26001016200056f565b50505050620009c2565b620006ed60038264010000000062000f64620007e382021704565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b600160a060020a03821615156200073a57600080fd5b60025462000757908264010000000062000ece6200083e82021704565b600255600160a060020a0382166000908152602081905260409020546200078d908264010000000062000ece6200083e82021704565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600160a060020a0381161515620007f957600080fd5b6200080e828264010000000062000858810204565b156200081957600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000828201838110156200085157600080fd5b9392505050565b6000600160a060020a03821615156200087057600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620008d357805160ff191683800117855562000903565b8280016001018555821562000903579182015b8281111562000903578251825591602001919060010190620008e6565b50620009119291506200097b565b5090565b8280548282559060005260206000209081019282156200096d579160200282015b828111156200096d5782518254600160a060020a031916600160a060020a0390911617825560209092019160019091019062000936565b50620009119291506200099b565b6200099891905b8082111562000911576000815560010162000982565b90565b6200099891905b8082111562000911578054600160a060020a0319168155600101620009a2565b61117680620009d26000396000f3006080604052600436106101065763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166303ff0fec811461010b57806306fdde0314610178578063095ea7b31461020257806318160ddd1461023357806323b872dd1461025a578063313ce5671461029157806339509351146102bc5780633f4ba83a146102ed57806346fbf68e146103045780635c975abb146103325780636ef8d66d1461034757806370a082311461035c57806382dc1ec41461038a5780638456cb59146103b857806391cdccec146103cd57806395d89b41146103fb578063a457c2d714610410578063a9059cbb14610441578063dd62ed3e14610472575b600080fd5b34801561011757600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101649436949293602493928401919081908401838280828437509497506104a69650505050505050565b604080519115158252519081900360200190f35b34801561018457600080fd5b5061018d610739565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c75781810151838201526020016101af565b50505050905090810190601f1680156101f45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020e57600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff600435166024356107e5565b34801561023f57600080fd5b50610248610809565b60408051918252519081900360200190f35b34801561026657600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff6004358116906024351660443561080f565b34801561029d57600080fd5b506102a6610855565b6040805160ff9092168252519081900360200190f35b3480156102c857600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff6004351660243561085e565b3480156102f957600080fd5b5061030261087b565b005b34801561031057600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff600435166108fd565b34801561033e57600080fd5b50610164610916565b34801561035357600080fd5b5061030261091f565b34801561036857600080fd5b5061024873ffffffffffffffffffffffffffffffffffffffff6004351661092a565b34801561039657600080fd5b5061030273ffffffffffffffffffffffffffffffffffffffff60043516610952565b3480156103c457600080fd5b50610302610972565b3480156103d957600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff600435166109f6565b34801561040757600080fd5b5061018d610a0b565b34801561041c57600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff60043516602435610a84565b34801561044d57600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff60043516602435610aa1565b34801561047e57600080fd5b5061024873ffffffffffffffffffffffffffffffffffffffff60043581169060243516610ac8565b600060405160200180807f4920756e6465727374616e642074686174204920616d206c6f636b696e67206d81526020017f79206163636f756e7420666f72657665722c206f72206174206c65617374207581526020017f6e74696c20746865206e65787420746f6b656e20757067726164652e00000000815250605c0190506040516020818303038152906040526040518082805190602001908083835b6020831061058157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610544565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930181900381208751909550879450908301928392508401908083835b6020831061061857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105db565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b6020831061069957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161065c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019161415156106d657600080fd5b3360008181526008602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f78be06d07afe380e04d6deeba0f33c892db454f303fb739d9b768987a5ec6aca9190a2919050565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156107dd5780601f106107b2576101008083540402835291602001916107dd565b820191906000526020600020905b8154815290600101906020018083116107c057829003601f168201915b505050505081565b60045460009060ff16156107f857600080fd5b6108028383610b00565b9392505050565b60025490565b73ffffffffffffffffffffffffffffffffffffffff831660009081526008602052604081205460ff161561084257600080fd5b61084d848484610b98565b949350505050565b60075460ff1681565b60045460009060ff161561087157600080fd5b6108028383610bb6565b610884336108fd565b151561088f57600080fd5b60045460ff1615156108a057600080fd5b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b600061091060038363ffffffff610c8d16565b92915050565b60045460ff1690565b61092833610cde565b565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b61095b336108fd565b151561096657600080fd5b61096f81610d33565b50565b61097b336108fd565b151561098657600080fd5b60045460ff161561099657600080fd5b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b60086020526000908152604090205460ff1681565b6006805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156107dd5780601f106107b2576101008083540402835291602001916107dd565b60045460009060ff1615610a9757600080fd5b6108028383610d88565b3360009081526008602052604081205460ff1615610abe57600080fd5b6108028383610ded565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600073ffffffffffffffffffffffffffffffffffffffff83161515610b2457600080fd5b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60045460009060ff1615610bab57600080fd5b61084d848484610e0a565b600073ffffffffffffffffffffffffffffffffffffffff83161515610bda57600080fd5b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152902054610c1b908363ffffffff610ece16565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff89168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600073ffffffffffffffffffffffffffffffffffffffff82161515610cb157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff166000908152602091909152604090205460ff1690565b610cef60038263ffffffff610ee016565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b610d4460038263ffffffff610f6416565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b600073ffffffffffffffffffffffffffffffffffffffff83161515610dac57600080fd5b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152902054610c1b908363ffffffff610fea16565b60045460009060ff1615610e0057600080fd5b6108028383611001565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600160209081526040808320338452909152812054821115610e4757600080fd5b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338452909152902054610e88908363ffffffff610fea16565b73ffffffffffffffffffffffffffffffffffffffff85166000908152600160209081526040808320338452909152902055610ec4848484611017565b5060019392505050565b60008282018381101561080257600080fd5b73ffffffffffffffffffffffffffffffffffffffff81161515610f0257600080fd5b610f0c8282610c8d565b1515610f1757600080fd5b73ffffffffffffffffffffffffffffffffffffffff1660009081526020919091526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b73ffffffffffffffffffffffffffffffffffffffff81161515610f8657600080fd5b610f908282610c8d565b15610f9a57600080fd5b73ffffffffffffffffffffffffffffffffffffffff1660009081526020919091526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60008083831115610ffa57600080fd5b5050900390565b600061100e338484611017565b50600192915050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481111561104957600080fd5b73ffffffffffffffffffffffffffffffffffffffff8216151561106b57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020546110a1908263ffffffff610fea16565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526020819052604080822093909355908416815220546110e3908263ffffffff610ece16565b73ffffffffffffffffffffffffffffffffffffffff8084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35050505600a165627a7a72305820c0d53ccd20cfefd077b56e38eda2288a4b78d4f7e506527797d19f665aa3c3f70029000000000000000000000000c2646eda7c2d4bf131561141c1d5696c4f01eb53000000000000000000000000fa3bd0b2ac6e63f16d16d7e449418837a8a3ae27
Deployed Bytecode
0x6080604052600436106101065763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166303ff0fec811461010b57806306fdde0314610178578063095ea7b31461020257806318160ddd1461023357806323b872dd1461025a578063313ce5671461029157806339509351146102bc5780633f4ba83a146102ed57806346fbf68e146103045780635c975abb146103325780636ef8d66d1461034757806370a082311461035c57806382dc1ec41461038a5780638456cb59146103b857806391cdccec146103cd57806395d89b41146103fb578063a457c2d714610410578063a9059cbb14610441578063dd62ed3e14610472575b600080fd5b34801561011757600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101649436949293602493928401919081908401838280828437509497506104a69650505050505050565b604080519115158252519081900360200190f35b34801561018457600080fd5b5061018d610739565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c75781810151838201526020016101af565b50505050905090810190601f1680156101f45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020e57600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff600435166024356107e5565b34801561023f57600080fd5b50610248610809565b60408051918252519081900360200190f35b34801561026657600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff6004358116906024351660443561080f565b34801561029d57600080fd5b506102a6610855565b6040805160ff9092168252519081900360200190f35b3480156102c857600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff6004351660243561085e565b3480156102f957600080fd5b5061030261087b565b005b34801561031057600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff600435166108fd565b34801561033e57600080fd5b50610164610916565b34801561035357600080fd5b5061030261091f565b34801561036857600080fd5b5061024873ffffffffffffffffffffffffffffffffffffffff6004351661092a565b34801561039657600080fd5b5061030273ffffffffffffffffffffffffffffffffffffffff60043516610952565b3480156103c457600080fd5b50610302610972565b3480156103d957600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff600435166109f6565b34801561040757600080fd5b5061018d610a0b565b34801561041c57600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff60043516602435610a84565b34801561044d57600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff60043516602435610aa1565b34801561047e57600080fd5b5061024873ffffffffffffffffffffffffffffffffffffffff60043581169060243516610ac8565b600060405160200180807f4920756e6465727374616e642074686174204920616d206c6f636b696e67206d81526020017f79206163636f756e7420666f72657665722c206f72206174206c65617374207581526020017f6e74696c20746865206e65787420746f6b656e20757067726164652e00000000815250605c0190506040516020818303038152906040526040518082805190602001908083835b6020831061058157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610544565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930181900381208751909550879450908301928392508401908083835b6020831061061857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105db565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b6020831061069957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161065c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019161415156106d657600080fd5b3360008181526008602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f78be06d07afe380e04d6deeba0f33c892db454f303fb739d9b768987a5ec6aca9190a2919050565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156107dd5780601f106107b2576101008083540402835291602001916107dd565b820191906000526020600020905b8154815290600101906020018083116107c057829003601f168201915b505050505081565b60045460009060ff16156107f857600080fd5b6108028383610b00565b9392505050565b60025490565b73ffffffffffffffffffffffffffffffffffffffff831660009081526008602052604081205460ff161561084257600080fd5b61084d848484610b98565b949350505050565b60075460ff1681565b60045460009060ff161561087157600080fd5b6108028383610bb6565b610884336108fd565b151561088f57600080fd5b60045460ff1615156108a057600080fd5b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b600061091060038363ffffffff610c8d16565b92915050565b60045460ff1690565b61092833610cde565b565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b61095b336108fd565b151561096657600080fd5b61096f81610d33565b50565b61097b336108fd565b151561098657600080fd5b60045460ff161561099657600080fd5b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b60086020526000908152604090205460ff1681565b6006805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156107dd5780601f106107b2576101008083540402835291602001916107dd565b60045460009060ff1615610a9757600080fd5b6108028383610d88565b3360009081526008602052604081205460ff1615610abe57600080fd5b6108028383610ded565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600073ffffffffffffffffffffffffffffffffffffffff83161515610b2457600080fd5b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60045460009060ff1615610bab57600080fd5b61084d848484610e0a565b600073ffffffffffffffffffffffffffffffffffffffff83161515610bda57600080fd5b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152902054610c1b908363ffffffff610ece16565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff89168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600073ffffffffffffffffffffffffffffffffffffffff82161515610cb157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff166000908152602091909152604090205460ff1690565b610cef60038263ffffffff610ee016565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b610d4460038263ffffffff610f6416565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b600073ffffffffffffffffffffffffffffffffffffffff83161515610dac57600080fd5b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152902054610c1b908363ffffffff610fea16565b60045460009060ff1615610e0057600080fd5b6108028383611001565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600160209081526040808320338452909152812054821115610e4757600080fd5b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338452909152902054610e88908363ffffffff610fea16565b73ffffffffffffffffffffffffffffffffffffffff85166000908152600160209081526040808320338452909152902055610ec4848484611017565b5060019392505050565b60008282018381101561080257600080fd5b73ffffffffffffffffffffffffffffffffffffffff81161515610f0257600080fd5b610f0c8282610c8d565b1515610f1757600080fd5b73ffffffffffffffffffffffffffffffffffffffff1660009081526020919091526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b73ffffffffffffffffffffffffffffffffffffffff81161515610f8657600080fd5b610f908282610c8d565b15610f9a57600080fd5b73ffffffffffffffffffffffffffffffffffffffff1660009081526020919091526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60008083831115610ffa57600080fd5b5050900390565b600061100e338484611017565b50600192915050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481111561104957600080fd5b73ffffffffffffffffffffffffffffffffffffffff8216151561106b57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020546110a1908263ffffffff610fea16565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526020819052604080822093909355908416815220546110e3908263ffffffff610ece16565b73ffffffffffffffffffffffffffffffffffffffff8084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35050505600a165627a7a72305820c0d53ccd20cfefd077b56e38eda2288a4b78d4f7e506527797d19f665aa3c3f70029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c2646eda7c2d4bf131561141c1d5696c4f01eb53000000000000000000000000fa3bd0b2ac6e63f16d16d7e449418837a8a3ae27
-----Decoded View---------------
Arg [0] : previousContract (address): 0xc2646Eda7c2d4bF131561141c1D5696C4f01Eb53
Arg [1] : reservePrimaryWallet (address): 0xfa3BD0B2Ac6e63f16d16d7E449418837a8A3ae27
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c2646eda7c2d4bf131561141c1d5696c4f01eb53
Arg [1] : 000000000000000000000000fa3bd0b2ac6e63f16d16d7e449418837a8a3ae27
Deployed Bytecode Sourcemap
13648:4313:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17597:361;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17597:361:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17597:361:0;;-1:-1:-1;17597:361:0;;-1:-1:-1;;;;;;;17597:361:0;;;;;;;;;;;;;;;;;;;13698:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13698:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;13698:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13046:167;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13046:167:0;;;;;;;;;3091:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3091:85:0;;;;;;;;;;;;;;;;;;;;16726:297;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16726:297:0;;;;;;;;;;;;;;13773:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13773:26:0;;;;;;;;;;;;;;;;;;;;;;;13219:202;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13219:202:0;;;;;;;;;12433:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12433:108:0;;;;;;10848:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10848:102:0;;;;;;;11755:71;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11755:71:0;;;;11048;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11048:71:0;;;;3380:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3380:100:0;;;;;;;10956:86;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10956:86:0;;;;;;;12240:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12240:106:0;;;;13906:65;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13906:65:0;;;;;;;13740:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13740:28:0;;;;13427:212;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13427:212:0;;;;;;;;;16445:275;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16445:275:0;;;;;;;;;3805:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3805:159:0;;;;;;;;;;;;17597:361;17658:4;17729:126;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17729:126:0;;;17719:137;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;246:30;;311:9;;295:26;;;340:21;;377:20;365:33;;17719:137:0;;;;;;;;;;;17689:25;;17719:137;;-1:-1:-1;17689:25:0;;-1:-1:-1;17689:25:0;;;;;;-1:-1:-1;17689:25:0;;;;;;36:153:-1;66:2;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;;;17689:25:0;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17689:25:0;;;17679:36;;;;;;;;;;;;;36:153:-1;66:2;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;;;17679:36:0;;;;;;;;;;;;;;;;:177;;;;17671:186;;;;;;;;17897:10;17864:44;;;;:32;:44;;;;;;:51;;;;17911:4;17864:51;;;17927:25;;;17864:44;17927:25;17597:361;;;:::o;13698:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13046:167::-;11973:7;;13155:4;;11973:7;;11972:8;11964:17;;;;;;13178:29;13192:7;13201:5;13178:13;:29::i;:::-;13171:36;13046:167;-1:-1:-1;;;13046:167:0:o;3091:85::-;3158:12;;3091:85;:::o;16726:297::-;16929:38;;;16805:4;16929:38;;;:32;:38;;;;;;;;16928:39;16920:48;;;;;;16982:35;17001:4;17007:2;17011:5;16982:18;:35::i;:::-;16975:42;16726:297;-1:-1:-1;;;;16726:297:0:o;13773:26::-;;;;;;:::o;13219:202::-;11973:7;;13340:12;;11973:7;;11972:8;11964:17;;;;;;13371:44;13395:7;13404:10;13371:23;:44::i;12433:108::-;10807:20;10816:10;10807:8;:20::i;:::-;10799:29;;;;;;;;12134:7;;;;12126:16;;;;;;;;12488:7;:15;;;;;;12515:20;;;12524:10;12515:20;;;;;;;;;;;;;12433:108::o;10848:102::-;10904:4;10924:20;:7;10936;10924:20;:11;:20;:::i;:::-;10917:27;10848:102;-1:-1:-1;;10848:102:0:o;11755:71::-;11813:7;;;;11755:71;:::o;11048:::-;11088:25;11102:10;11088:13;:25::i;:::-;11048:71::o;3380:100::-;3458:16;;3435:7;3458:16;;;;;;;;;;;;3380:100::o;10956:86::-;10807:20;10816:10;10807:8;:20::i;:::-;10799:29;;;;;;;;11017:19;11028:7;11017:10;:19::i;:::-;10956:86;:::o;12240:106::-;10807:20;10816:10;10807:8;:20::i;:::-;10799:29;;;;;;;;11973:7;;;;11972:8;11964:17;;;;;;12296:7;:14;;;;12306:4;12296:14;;;12322:18;;;12329:10;12322:18;;;;;;;;;;;;;12240:106::o;13906:65::-;;;;;;;;;;;;;;;:::o;13740:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13427:212;11973:7;;13553:12;;11973:7;;11972:8;11964:17;;;;;;13584:49;13608:7;13617:15;13584:23;:49::i;16445:275::-;16663:10;16506:4;16630:44;;;:32;:44;;;;;;;;16629:45;16621:54;;;;;;16689:25;16704:2;16708:5;16689:14;:25::i;3805:159::-;3934:15;;;;3908:7;3934:15;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;3805:159::o;4880:226::-;4945:4;4966:21;;;;;4958:30;;;;;;5006:10;4997:20;;;;:8;:20;;;;;;;;;:29;;;;;;;;;;;;:37;;;5046:36;;;;;;;4997:29;;5006:10;5046:36;;;;;;;;;;;-1:-1:-1;5096:4:0;4880:226;;;;:::o;12848:192::-;11973:7;;12976:4;;11973:7;;11972:8;11964:17;;;;;;12999:35;13018:4;13024:2;13028:5;12999:18;:35::i;6149:343::-;6254:4;6278:21;;;;;6270:30;;;;;;6359:10;6350:20;;;;:8;:20;;;;;;;;;:29;;;;;;;;;;:45;;6384:10;6350:45;:33;:45;:::i;:::-;6318:10;6309:20;;;;:8;:20;;;;;;;;;:29;;;;;;;;;;;;:87;;;6408:60;;;;;;6309:29;;6408:60;;;;;;;;;;;-1:-1:-1;6482:4:0;6149:343;;;;:::o;10337:173::-;10424:4;10448:21;;;;;10440:30;;;;;;-1:-1:-1;10484:20:0;;:11;:20;;;;;;;;;;;;;;;10337:173::o;11242:119::-;11298:23;:7;11313;11298:23;:14;:23;:::i;:::-;11333:22;;;;;;;;;;;11242:119;:::o;11125:111::-;11178:20;:7;11190;11178:20;:11;:20;:::i;:::-;11210;;;;;;;;;;;11125:111;:::o;6959:353::-;7069:4;7093:21;;;;;7085:30;;;;;;7174:10;7165:20;;;;:8;:20;;;;;;;;;:29;;;;;;;;;;:50;;7199:15;7165:50;:33;:50;:::i;12683:159::-;11973:7;;12788:4;;11973:7;;11972:8;11964:17;;;;;;12811:25;12826:2;12830:5;12811:14;:25::i;5386:301::-;5528:14;;;5495:4;5528:14;;;:8;:14;;;;;;;;5543:10;5528:26;;;;;;;;5519:35;;;5511:44;;;;;;5593:14;;;;;;;:8;:14;;;;;;;;5608:10;5593:26;;;;;;;;:37;;5624:5;5593:37;:30;:37;:::i;:::-;5564:14;;;;;;;:8;:14;;;;;;;;5579:10;5564:26;;;;;;;:66;5637:26;5573:4;5653:2;5657:5;5637:9;:26::i;:::-;-1:-1:-1;5677:4:0;5386:301;;;;;:::o;2121:136::-;2179:7;2207:5;;;2227:6;;;;2219:15;;;;;10078:175;10154:21;;;;;10146:30;;;;;;10191:18;10195:4;10201:7;10191:3;:18::i;:::-;10183:27;;;;;;;;10219:20;;10242:5;10219:20;;;;;;;;;;;:28;;;;;;10078:175::o;9835:172::-;9908:21;;;;;9900:30;;;;;;9946:18;9950:4;9956:7;9946:3;:18::i;:::-;9945:19;9937:28;;;;;;9974:20;;:11;:20;;;;;;;;;;;:27;;;;9997:4;9974:27;;;9835:172::o;1917:136::-;1975:7;;1999:6;;;;1991:15;;;;;;-1:-1:-1;;2025:5:0;;;1917:136::o;4123:130::-;4184:4;4197:32;4207:10;4219:2;4223:5;4197:9;:32::i;:::-;-1:-1:-1;4243:4:0;4123:130;;;;:::o;7520:284::-;7613:15;;;:9;:15;;;;;;;;;;;7604:24;;;7596:33;;;;;;7644:16;;;;;7636:25;;;;;;7688:15;;;:9;:15;;;;;;;;;;;:26;;7708:5;7688:26;:19;:26;:::i;:::-;7670:15;;;;:9;:15;;;;;;;;;;;:44;;;;7737:13;;;;;;;:24;;7755:5;7737:24;:17;:24;:::i;:::-;7721:13;;;;:9;:13;;;;;;;;;;;;:40;;;;7773:25;;;;;;;7721:13;;7773:25;;;;;;;;;;;;;7520:284;;;:::o
Swarm Source
bzzr://c0d53ccd20cfefd077b56e38eda2288a4b78d4f7e506527797d19f665aa3c3f7
Loading...
Loading
Loading...
Loading
OVERVIEW
Reserve Rights token contract has migrated to 0x320623b8e4ff03373931769a31fc52a4e78b5d70.Net Worth in USD
$9,953.50
Net Worth in ETH
3.219955
Token Allocations
USDC
63.17%
LINK
7.73%
RSR
6.96%
Others
22.14%
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 63.17% | $1 | 6,287.6041 | $6,287.6 | |
| ETH | 7.73% | $13.2 | 58.3145 | $769.75 | |
| ETH | 6.96% | $0.002692 | 257,332.8852 | $692.62 | |
| ETH | 6.48% | $165.58 | 3.898 | $645.43 | |
| ETH | 1.83% | $0.998895 | 182.6528 | $182.45 | |
| ETH | 0.69% | $5.49 | 12.5815 | $69.07 | |
| ETH | 0.06% | $1.25 | 4.934 | $6.17 | |
| ETH | 0.04% | $0.025332 | 141.4761 | $3.58 | |
| ETH | 0.03% | $0.001616 | 1,648.1838 | $2.66 | |
| ETH | <0.01% | $0.024642 | 4.1372 | $0.1019 | |
| BSC | 4.65% | $0.046323 | 10,000 | $463.23 | |
| BSC | 4.16% | $0.998857 | 414.349 | $413.88 | |
| BSC | 2.01% | $0.999579 | 200 | $199.92 | |
| BSC | 1.75% | $913.54 | 0.1909 | $174.36 | |
| BSC | 0.39% | $2.62 | 14.6748 | $38.41 | |
| BASE | 0.03% | $0.019895 | 160 | $3.18 | |
| BASE | 0.01% | $0.00 | 194 | $0.00 |
Loading...
Loading
Loading...
Loading
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.