Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 686 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 24409549 | 26 days ago | IN | 0 ETH | 0.00000534 | ||||
| Approve | 24264801 | 46 days ago | IN | 0 ETH | 0.00000068 | ||||
| Approve | 23992808 | 84 days ago | IN | 0 ETH | 0.00000534 | ||||
| Approve | 23366962 | 172 days ago | IN | 0 ETH | 0.0000195 | ||||
| Approve | 23313085 | 179 days ago | IN | 0 ETH | 0.00003499 | ||||
| Claim Stake | 23313073 | 179 days ago | IN | 0 ETH | 0.0000627 | ||||
| Approve | 20025277 | 638 days ago | IN | 0 ETH | 0.00054991 | ||||
| Transfer | 20022672 | 639 days ago | IN | 0 ETH | 0.00036899 | ||||
| Transfer | 19950554 | 649 days ago | IN | 0 ETH | 0.00033142 | ||||
| Approve | 19735406 | 679 days ago | IN | 0 ETH | 0.00027051 | ||||
| Approve | 19714820 | 682 days ago | IN | 0 ETH | 0.00060195 | ||||
| Approve | 19629782 | 694 days ago | IN | 0 ETH | 0.00040936 | ||||
| Approve | 19028732 | 778 days ago | IN | 0 ETH | 0.00170709 | ||||
| Approve | 19022034 | 779 days ago | IN | 0 ETH | 0.00068356 | ||||
| Approve | 18610043 | 837 days ago | IN | 0 ETH | 0.00094558 | ||||
| Approve | 18360671 | 872 days ago | IN | 0 ETH | 0.00026308 | ||||
| Approve | 18343370 | 874 days ago | IN | 0 ETH | 0.00050709 | ||||
| Approve | 18343368 | 874 days ago | IN | 0 ETH | 0.00061198 | ||||
| Approve | 17701749 | 964 days ago | IN | 0 ETH | 0.00066824 | ||||
| Claim Stake | 17417785 | 1004 days ago | IN | 0 ETH | 0.00133368 | ||||
| Approve | 17250715 | 1027 days ago | IN | 0 ETH | 0.00197827 | ||||
| Approve | 17229159 | 1031 days ago | IN | 0 ETH | 0.00281979 | ||||
| Approve | 17166075 | 1039 days ago | IN | 0 ETH | 0.00313137 | ||||
| Approve | 17149603 | 1042 days ago | IN | 0 ETH | 0.00184942 | ||||
| Approve | 16292888 | 1162 days ago | IN | 0 ETH | 0.00097814 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Kek
Compiler Version
v0.4.18+commit.9cf6e910
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2020-08-05
*/
pragma solidity ^0.4.18;
/**
* @title ERC20Basic
* @dev Simpler version of ERC20 interface
*/
contract ERC20Basic {
uint256 public totalSupply;
function balanceOf(address who) public view returns (uint256);
function transfer(address to, uint256 value) public returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
}
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
*/
contract Ownable {
address public owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
function Ownable() public {
owner = msg.sender;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
}
/**************************************************************
* @title Kek Token Contract
* @file Kek.sol
* @version 1.0
*
* @section LICENSE
*
* Contact for licensing details. All rights reserved.
*
* @section DESCRIPTION
*
* This is an ERC20-based token with staking functionality.
*
*************************************************************/
//////////////////////////////////
/// OpenZeppelin library imports
//////////////////////////////////
///* Truffle format
/**
* @title SafeMath
* @dev Math operations with safety checks that throw on error
*/
library SafeMath {
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
assert(c / a == b);
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
// assert(b > 0); // Solidity automatically throws 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;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
}
/**
* @title Basic token
* @dev Basic version of StandardToken, with no allowances.
*/
contract BasicToken is ERC20Basic {
using SafeMath for uint256;
mapping(address => uint256) balances;
/**
* @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) {
require(_to != address(0));
require(_value <= balances[msg.sender]);
// SafeMath.sub will throw if there is not enough balance.
balances[msg.sender] = balances[msg.sender].sub(_value);
balances[_to] = balances[_to].add(_value);
Transfer(msg.sender, _to, _value);
return true;
}
/**
* @dev Gets the balance of the specified address.
* @param _owner The address to query the the balance of.
* @return An uint256 representing the amount owned by the passed address.
*/
function balanceOf(address _owner) public view returns (uint256 balance) {
return balances[_owner];
}
}
/**
* @title ERC20 interface
*/
contract ERC20 is ERC20Basic {
function allowance(address owner, address spender) public view returns (uint256);
function transferFrom(address from, address to, uint256 value) public returns (bool);
function approve(address spender, uint256 value) public returns (bool);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
/**
* @title Standard ERC20 token
*
* @dev Implementation of the basic standard token.
*/
contract StandardToken is ERC20, BasicToken {
mapping (address => mapping (address => uint256)) internal allowed;
/**
* @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(_to != address(0));
require(_value <= balances[_from]);
require(_value <= allowed[_from][msg.sender]);
balances[_from] = balances[_from].sub(_value);
balances[_to] = balances[_to].add(_value);
allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
Transfer(_from, _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:
* @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) {
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}
/**
* @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 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 increaseApproval(address _spender, uint _addedValue) public returns (bool) {
allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
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 decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
uint oldValue = allowed[msg.sender][_spender];
if (_subtractedValue > oldValue) {
allowed[msg.sender][_spender] = 0;
} else {
allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
}
Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
}
/**
* @title Mintable token
* @dev Simple ERC20 Token example, with mintable token creation
*/
contract MintableToken is StandardToken, Ownable {
event Mint(address indexed to, uint256 amount);
//event MintFinished();
//bool public mintingFinished = false;
/*
modifier canMint() {
require(!mintingFinished);
_;
}
*/
/**
* @dev Function to mint tokens
* @param _to The address that will receive the minted tokens.
* @param _amount The amount of tokens to mint.
* @return A boolean that indicates if the operation was successful.
*/
function mint(address _to, uint256 _amount) internal returns (bool) {
totalSupply = totalSupply.add(_amount);
balances[_to] = balances[_to].add(_amount);
Mint(_to, _amount);
Transfer(address(0), _to, _amount);
return true;
}
/**
* @dev Function to stop minting new tokens.
* @return True if the operation was successful.
function finishMinting() onlyOwner canMint public returns (bool) {
mintingFinished = true;
MintFinished();
return true;
}
*/
}
/**
* @title Contracts that should not own Ether
* @dev This tries to block incoming ether to prevent accidental loss of Ether. Should Ether end up
* in the contract, it will allow the owner to reclaim this ether.
* @notice Ether can still be send to this contract by:
* calling functions labeled `payable`
* `selfdestruct(contract_address)`
* mining directly to the contract address
*/
contract HasNoEther is Ownable {
/**
* @dev Constructor that rejects incoming Ether
* @dev The `payable` flag is added so we can access `msg.value` without compiler warning. If we
* leave out payable, then Solidity will allow inheriting contracts to implement a payable
* constructor. By doing it this way we prevent a payable constructor from working. Alternatively
* we could use assembly to access msg.value.
*/
function HasNoEther() public payable {
require(msg.value == 0);
}
/**
* @dev Disallows direct send by settings a default function without the `payable` flag.
*/
function() external {
}
/**
* @dev Transfer all Ether held by the contract to the owner.
*/
function reclaimEther() external onlyOwner {
assert(owner.send(this.balance));
}
}
///* Remix format
//import "./MintableToken.sol";
//import "./HasNoEther.sol";
contract Kek is MintableToken, HasNoEther
{
// Using libraries
using SafeMath for uint;
//////////////////////////////////////////////////
/// State Variables for the Kek token contract
//////////////////////////////////////////////////
//////////////////////
// ERC20 token state
//////////////////////
/**
These state vars are handled in the OpenZeppelin libraries;
we display them here for the developer's information.
***
// ERC20Basic - Store account balances
mapping (address => uint256) public balances;
// StandardToken - Owner of account approves transfer of an amount to another account
mapping (address => mapping (address => uint256)) public allowed;
//
uint256 public totalSupply;
*/
//////////////////////
// Human token state
//////////////////////
string public constant name = "Kek.finance";
string public constant symbol = "KEK";
uint8 public constant decimals = 18;
///////////////////////////////////////////////////////////
// State vars for custom staking and budget functionality
///////////////////////////////////////////////////////////
// Owner last minted time
uint public ownerTimeLastMinted;
// Owner minted tokens per second
uint public ownerMintRate;
/// Stake minting
// Minted tokens per second for all stakers
uint private globalMintRate;
// Total tokens currently staked
uint public totalKekStaked;
// struct that will hold user stake
struct TokenStakeData {
uint initialStakeBalance;
uint initialStakeTime;
uint initialStakePercentage;
address stakeSplitAddress;
}
// Track all tokens staked
mapping (address => TokenStakeData) public stakeBalances;
// Fire a loggable event when tokens are staked
event Stake(address indexed staker, address indexed stakeSplitAddress, uint256 value);
// Fire a loggable event when staked tokens are vested
event Vest(address indexed vester, address indexed stakeSplitAddress, uint256 stakedAmount, uint256 stakingGains);
//////////////////////////////////////////////////
/// Begin Kek token functionality
//////////////////////////////////////////////////
/// @dev Kek token constructor
function Kek() public
{
// Define owner
owner = msg.sender;
// Define initial owner supply. (ether here is used only to get the decimals right)
uint _initOwnerSupply = 82000 ether;
// One-time bulk mint given to owner
bool _success = mint(msg.sender, _initOwnerSupply);
// Abort if initial minting failed for whatever reason
require(_success);
////////////////////////////////////
// Set up state minting variables
////////////////////////////////////
// Set last minted to current block.timestamp ('now')
ownerTimeLastMinted = now;
// 4100 minted tokens per day, 86400 seconds in a day
ownerMintRate = calculateFraction(4100, 86400, decimals);
// 5,000,000 targeted minted tokens per year via staking; 31,536,000 seconds per year
globalMintRate = calculateFraction(5000000, 31536000, decimals);
}
/// @dev staking function which allows users to stake an amount of tokens to gain interest for up to 10 days
function stakeKek(uint _stakeAmount) external
{
// Require that tokens are staked successfully
require(stakeTokens(_stakeAmount));
}
/// @dev staking function which allows users to split the interest earned with another address
function stakeKekSplit(uint _stakeAmount, address _stakeSplitAddress) external
{
// Require that a Kek split actually be split with an address
require(_stakeSplitAddress > 0);
// Store split address into stake mapping
stakeBalances[msg.sender].stakeSplitAddress = _stakeSplitAddress;
// Require that tokens are staked successfully
require(stakeTokens(_stakeAmount));
}
/// @dev allows users to reclaim any staked tokens
/// @return bool on success
function claimStake() external returns (bool success)
{
/// Sanity checks:
// require that there was some amount vested
require(stakeBalances[msg.sender].initialStakeBalance > 0);
// require that time has elapsed
require(now > stakeBalances[msg.sender].initialStakeTime);
// Calculate the time elapsed since the tokens were originally staked
uint _timePassedSinceStake = now.sub(stakeBalances[msg.sender].initialStakeTime);
// Calculate tokens to mint
uint _tokensToMint = calculateStakeGains(_timePassedSinceStake);
// Add the original stake back to the user's balance
balances[msg.sender] += stakeBalances[msg.sender].initialStakeBalance;
// Subtract stake balance from totalKekStaked
totalKekStaked -= stakeBalances[msg.sender].initialStakeBalance;
// Mint the new tokens; the new tokens are added to the user's balance
if (stakeBalances[msg.sender].stakeSplitAddress > 0)
{
// Splitting stake, so mint half to sender and half to stakeSplitAddress
mint(msg.sender, _tokensToMint.div(2));
mint(stakeBalances[msg.sender].stakeSplitAddress, _tokensToMint.div(2));
} else {
// Not spliting stake; mint all new tokens and give them to msg.sender
mint(msg.sender, _tokensToMint);
}
// Fire an event to tell the world of the newly vested tokens
Vest(msg.sender, stakeBalances[msg.sender].stakeSplitAddress, stakeBalances[msg.sender].initialStakeBalance, _tokensToMint);
// Clear out stored data from mapping
stakeBalances[msg.sender].initialStakeBalance = 0;
stakeBalances[msg.sender].initialStakeTime = 0;
stakeBalances[msg.sender].initialStakePercentage = 0;
stakeBalances[msg.sender].stakeSplitAddress = 0;
return true;
}
/// @dev Allows user to check their staked balance
function getStakedBalance() view external returns (uint stakedBalance)
{
return stakeBalances[msg.sender].initialStakeBalance;
}
/// @dev allows contract owner to claim their mint
function ownerClaim() external onlyOwner
{
// Sanity check: ensure that we didn't travel back in time
require(now > ownerTimeLastMinted);
uint _timePassedSinceLastMint;
uint _tokenMintCount;
bool _mintingSuccess;
// Calculate the number of seconds that have passed since the owner last took a claim
_timePassedSinceLastMint = now.sub(ownerTimeLastMinted);
// Sanity check: ensure that some time has passed since the owner last claimed
assert(_timePassedSinceLastMint > 0);
// Determine the token mint amount, determined from the number of seconds passed and the ownerMintRate
_tokenMintCount = calculateMintTotal(_timePassedSinceLastMint, ownerMintRate);
// Mint the owner's tokens; this also increases totalSupply
_mintingSuccess = mint(msg.sender, _tokenMintCount);
// Sanity check: ensure that the minting was successful
require(_mintingSuccess);
// New minting was a success! Set last time minted to current block.timestamp (now)
ownerTimeLastMinted = now;
}
/// @dev stake function reduces the user's total available balance. totalSupply is unaffected
/// @param _value determines how many tokens a user wants to stake
function stakeTokens(uint256 _value) private returns (bool success)
{
/// Sanity Checks:
// You can only stake as many tokens as you have
require(_value <= balances[msg.sender]);
// You can only stake tokens if you have not already staked tokens
require(stakeBalances[msg.sender].initialStakeBalance == 0);
// Subtract stake amount from regular token balance
balances[msg.sender] = balances[msg.sender].sub(_value);
// Add stake amount to staked balance
stakeBalances[msg.sender].initialStakeBalance = _value;
// Increment the global staked tokens value
totalKekStaked += _value;
/// Determine percentage of global stake
stakeBalances[msg.sender].initialStakePercentage = calculateFraction(_value, totalKekStaked, decimals);
// Save the time that the stake started
stakeBalances[msg.sender].initialStakeTime = now;
// Fire an event to tell the world of the newly staked tokens
Stake(msg.sender, stakeBalances[msg.sender].stakeSplitAddress, _value);
return true;
}
/// @dev Helper function to claimStake that modularizes the minting via staking calculation
function calculateStakeGains(uint _timePassedSinceStake) view private returns (uint mintTotal)
{
// Store seconds in a day (need it in variable to use SafeMath)
uint _secondsPerDay = 86400;
uint _finalStakePercentage; // store our stake percentage at the time of stake claim
uint _stakePercentageAverage; // store our calculated average minting rate ((initial+final) / 2)
uint _finalMintRate; // store our calculated final mint rate (in Kek-per-second)
uint _tokensToMint = 0; // store number of new tokens to be minted
// Determine the amount to be newly minted upon vesting, if any
if (_timePassedSinceStake > _secondsPerDay) {
/// We've passed the minimum staking time; calculate minting rate average ((initialRate + finalRate) / 2)
// First, calculate our final stake percentage based upon the total amount of Kek staked
_finalStakePercentage = calculateFraction(stakeBalances[msg.sender].initialStakeBalance, totalKekStaked, decimals);
// Second, calculate average of initial and final stake percentage
_stakePercentageAverage = calculateFraction((stakeBalances[msg.sender].initialStakePercentage.add(_finalStakePercentage)), 2, 0);
// Finally, calculate our final mint rate (in Kek-per-second)
_finalMintRate = globalMintRate.mul(_stakePercentageAverage);
_finalMintRate = _finalMintRate.div(1 ether);
// Tokens were staked for enough time to mint new tokens; determine how many
if (_timePassedSinceStake > _secondsPerDay.mul(10)) {
// Tokens were staked for the maximum amount of time (10 days)
_tokensToMint = calculateMintTotal(_secondsPerDay.mul(10), _finalMintRate);
} else {
// Tokens were staked for a mintable amount of time, but less than the 10-day max
_tokensToMint = calculateMintTotal(_timePassedSinceStake, _finalMintRate);
}
}
// Return the amount of new tokens to be minted
return _tokensToMint;
}
/// @dev calculateFraction allows us to better handle the Solidity ugliness of not having decimals as a native type
/// @param _numerator is the top part of the fraction we are calculating
/// @param _denominator is the bottom part of the fraction we are calculating
/// @param _precision tells the function how many significant digits to calculate out to
/// @return quotient returns the result of our fraction calculation
function calculateFraction(uint _numerator, uint _denominator, uint _precision) pure private returns(uint quotient)
{
// Take passed value and expand it to the required precision
_numerator = _numerator.mul(10 ** (_precision + 1));
// handle last-digit rounding
uint _quotient = ((_numerator.div(_denominator)) + 5) / 10;
return (_quotient);
}
/// @dev Determines mint total based upon how many seconds have passed
/// @param _timeInSeconds takes the time that has elapsed since the last minting
/// @return uint with the calculated number of new tokens to mint
function calculateMintTotal(uint _timeInSeconds, uint _mintRate) pure private returns(uint mintAmount)
{
// Calculates the amount of tokens to mint based upon the number of seconds passed
return(_timeInSeconds.mul(_mintRate));
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":true,"inputs":[],"name":"totalKekStaked","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":true,"inputs":[{"name":"","type":"address"}],"name":"stakeBalances","outputs":[{"name":"initialStakeBalance","type":"uint256"},{"name":"initialStakeTime","type":"uint256"},{"name":"initialStakePercentage","type":"uint256"},{"name":"stakeSplitAddress","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"ownerClaim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getStakedBalance","outputs":[{"name":"stakedBalance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_stakeAmount","type":"uint256"}],"name":"stakeKek","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"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":"reclaimEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ownerMintRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"ownerTimeLastMinted","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_stakeAmount","type":"uint256"},{"name":"_stakeSplitAddress","type":"address"}],"name":"stakeKekSplit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","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"},{"constant":false,"inputs":[],"name":"claimStake","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"staker","type":"address"},{"indexed":true,"name":"stakeSplitAddress","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Stake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"vester","type":"address"},{"indexed":true,"name":"stakeSplitAddress","type":"address"},{"indexed":false,"name":"stakedAmount","type":"uint256"},{"indexed":false,"name":"stakingGains","type":"uint256"}],"name":"Vest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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"},{"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"}]Contract Creation Code
606060405234156200001057600080fd5b60008033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000341415156200006457600080fd5b33600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555069115d3a99a9614f4000009150620000d23383620001526401000000000262001ef2176401000000009004565b9050801515620000e157600080fd5b426004819055506200011261100462015180601260ff16620002e26401000000000262002514176401000000009004565b60058190555062000144624c4b406301e13380601260ff16620002e26401000000000262002514176401000000009004565b6006819055505050620003ca565b60006200017982600054620003506401000000000262001eb7179091906401000000009004565b600081905550620001e182600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620003506401000000000262001eb7179091906401000000009004565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000806200030e60018401600a0a866200036f64010000000002620024d9179091906401000000009004565b9450600a6005620003378688620003ae64010000000002620024be179091906401000000009004565b018115156200034257fe5b049050809150509392505050565b60008082840190508381101515156200036557fe5b8091505092915050565b6000806000841415620003865760009150620003a7565b82840290508284828115156200039857fe5b04141515620003a357fe5b8091505b5092915050565b6000808284811515620003bd57fe5b0490508091505092915050565b61258d80620003da6000396000f300606060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610140578063095ea7b3146101ce57806318160ddd146102285780632202e31e1461025157806323b872dd1461027a578063313ce567146102f35780633b317dab146103225780634dbe5889146103b057806366188463146103c557806370a082311461041f578063769658671461046c578063866059c7146104955780638da5cb5b146104b857806395d89b411461050d5780639f727c271461059b578063a0d8b4e9146105b0578063a9059cbb146105d9578063ac18564414610633578063c30a051c1461065c578063d73dd6231461069e578063dd62ed3e146106f8578063eb32117314610764578063f2fde38b14610791575b341561013e57600080fd5b005b341561014b57600080fd5b6101536107ca565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610193578082015181840152602081019050610178565b50505050905090810190601f1680156101c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d957600080fd5b61020e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610803565b604051808215151515815260200191505060405180910390f35b341561023357600080fd5b61023b6108f5565b6040518082815260200191505060405180910390f35b341561025c57600080fd5b6102646108fb565b6040518082815260200191505060405180910390f35b341561028557600080fd5b6102d9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610901565b604051808215151515815260200191505060405180910390f35b34156102fe57600080fd5b610306610cc0565b604051808260ff1660ff16815260200191505060405180910390f35b341561032d57600080fd5b610359600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610cc5565b604051808581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405180910390f35b34156103bb57600080fd5b6103c3610d15565b005b34156103d057600080fd5b610405600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ddb565b604051808215151515815260200191505060405180910390f35b341561042a57600080fd5b610456600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061106c565b6040518082815260200191505060405180910390f35b341561047757600080fd5b61047f6110b5565b6040518082815260200191505060405180910390f35b34156104a057600080fd5b6104b660048080359060200190919050506110ff565b005b34156104c357600080fd5b6104cb611116565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561051857600080fd5b61052061113c565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610560578082015181840152602081019050610545565b50505050905090810190601f16801561058d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105a657600080fd5b6105ae611175565b005b34156105bb57600080fd5b6105c3611249565b6040518082815260200191505060405180910390f35b34156105e457600080fd5b610619600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061124f565b604051808215151515815260200191505060405180910390f35b341561063e57600080fd5b610646611473565b6040518082815260200191505060405180910390f35b341561066757600080fd5b61069c600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611479565b005b34156106a957600080fd5b6106de600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611537565b604051808215151515815260200191505060405180910390f35b341561070357600080fd5b61074e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611733565b6040518082815260200191505060405180910390f35b341561076f57600080fd5b6107776117ba565b604051808215151515815260200191505060405180910390f35b341561079c57600080fd5b6107c8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611d46565b005b6040805190810160405280600b81526020017f4b656b2e66696e616e636500000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60075481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561093e57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561098c57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610a1757600080fd5b610a6982600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610afe82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eb790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bd082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9e90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b60086020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905084565b6000806000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d7657600080fd5b60045442111515610d8657600080fd5b610d9b60045442611e9e90919063ffffffff16565b9250600083111515610da957fe5b610db583600554611ed5565b9150610dc13383611ef2565b9050801515610dcf57600080fd5b42600481905550505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610eec576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f80565b610eff8382611e9e90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154905090565b61110881612062565b151561111357600080fd5b50565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600381526020017f4b454b000000000000000000000000000000000000000000000000000000000081525081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111d157600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561124757fe5b565b60055481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561128c57600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156112da57600080fd5b61132c82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9e90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113c182600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eb790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60045481565b60008173ffffffffffffffffffffffffffffffffffffffff1611151561149e57600080fd5b80600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061152882612062565b151561153357600080fd5b5050565b60006115c882600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eb790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080600080600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015411151561180f57600080fd5b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101544211151561185f57600080fd5b6118b4600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015442611e9e90919063ffffffff16565b91506118bf8261235d565b9050600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546007600082825403925050819055506000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161115611ac657611a4033611a3b6002846124be90919063ffffffff16565b611ef2565b50611ac0600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611abb6002846124be90919063ffffffff16565b611ef2565b50611ad2565b611ad03382611ef2565b505b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd9c1851563fe01face9bb04f31b9adad0fb3db6ed6f78845f9c04eadedb494d2600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015484604051808381526020018281526020019250505060405180910390a36000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055506000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019250505090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611da257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611dde57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211151515611eac57fe5b818303905092915050565b6000808284019050838110151515611ecb57fe5b8091505092915050565b6000611eea82846124d990919063ffffffff16565b905092915050565b6000611f0982600054611eb790919063ffffffff16565b600081905550611f6182600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eb790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156120b257600080fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414151561210357600080fd5b61215582600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9e90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055508160076000828254019250508190555061220082600754601260ff16612514565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018190555042600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f99039fcf0a98f484616c5196ee8b2ecfa971babf0b519848289ea4db381f85f7846040518082815260200191505060405180910390a360019050919050565b60008060008060008062015180945060009050848711156124b1576123cb600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600754601260ff16612514565b935061242e61242585600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154611eb790919063ffffffff16565b60026000612514565b9250612445836006546124d990919063ffffffff16565b9150612462670de0b6b3a7640000836124be90919063ffffffff16565b9150612478600a866124d990919063ffffffff16565b8711156124a35761249c612496600a876124d990919063ffffffff16565b83611ed5565b90506124b0565b6124ad8783611ed5565b90505b5b8095505050505050919050565b60008082848115156124cc57fe5b0490508091505092915050565b60008060008414156124ee576000915061250d565b82840290508284828115156124ff57fe5b0414151561250957fe5b8091505b5092915050565b60008061253060018401600a0a866124d990919063ffffffff16565b9450600a600561254986886124be90919063ffffffff16565b0181151561255357fe5b0490508091505093925050505600a165627a7a72305820d333ece7f4bc1162ddf8e8189b3a55a9ae92cb93eb5e801c0513907086712b580029
Deployed Bytecode
0x606060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610140578063095ea7b3146101ce57806318160ddd146102285780632202e31e1461025157806323b872dd1461027a578063313ce567146102f35780633b317dab146103225780634dbe5889146103b057806366188463146103c557806370a082311461041f578063769658671461046c578063866059c7146104955780638da5cb5b146104b857806395d89b411461050d5780639f727c271461059b578063a0d8b4e9146105b0578063a9059cbb146105d9578063ac18564414610633578063c30a051c1461065c578063d73dd6231461069e578063dd62ed3e146106f8578063eb32117314610764578063f2fde38b14610791575b341561013e57600080fd5b005b341561014b57600080fd5b6101536107ca565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610193578082015181840152602081019050610178565b50505050905090810190601f1680156101c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d957600080fd5b61020e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610803565b604051808215151515815260200191505060405180910390f35b341561023357600080fd5b61023b6108f5565b6040518082815260200191505060405180910390f35b341561025c57600080fd5b6102646108fb565b6040518082815260200191505060405180910390f35b341561028557600080fd5b6102d9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610901565b604051808215151515815260200191505060405180910390f35b34156102fe57600080fd5b610306610cc0565b604051808260ff1660ff16815260200191505060405180910390f35b341561032d57600080fd5b610359600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610cc5565b604051808581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405180910390f35b34156103bb57600080fd5b6103c3610d15565b005b34156103d057600080fd5b610405600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ddb565b604051808215151515815260200191505060405180910390f35b341561042a57600080fd5b610456600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061106c565b6040518082815260200191505060405180910390f35b341561047757600080fd5b61047f6110b5565b6040518082815260200191505060405180910390f35b34156104a057600080fd5b6104b660048080359060200190919050506110ff565b005b34156104c357600080fd5b6104cb611116565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561051857600080fd5b61052061113c565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610560578082015181840152602081019050610545565b50505050905090810190601f16801561058d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105a657600080fd5b6105ae611175565b005b34156105bb57600080fd5b6105c3611249565b6040518082815260200191505060405180910390f35b34156105e457600080fd5b610619600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061124f565b604051808215151515815260200191505060405180910390f35b341561063e57600080fd5b610646611473565b6040518082815260200191505060405180910390f35b341561066757600080fd5b61069c600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611479565b005b34156106a957600080fd5b6106de600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611537565b604051808215151515815260200191505060405180910390f35b341561070357600080fd5b61074e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611733565b6040518082815260200191505060405180910390f35b341561076f57600080fd5b6107776117ba565b604051808215151515815260200191505060405180910390f35b341561079c57600080fd5b6107c8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611d46565b005b6040805190810160405280600b81526020017f4b656b2e66696e616e636500000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60075481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561093e57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561098c57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610a1757600080fd5b610a6982600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610afe82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eb790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bd082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9e90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b60086020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905084565b6000806000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d7657600080fd5b60045442111515610d8657600080fd5b610d9b60045442611e9e90919063ffffffff16565b9250600083111515610da957fe5b610db583600554611ed5565b9150610dc13383611ef2565b9050801515610dcf57600080fd5b42600481905550505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610eec576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f80565b610eff8382611e9e90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154905090565b61110881612062565b151561111357600080fd5b50565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600381526020017f4b454b000000000000000000000000000000000000000000000000000000000081525081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111d157600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561124757fe5b565b60055481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561128c57600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156112da57600080fd5b61132c82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9e90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113c182600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eb790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60045481565b60008173ffffffffffffffffffffffffffffffffffffffff1611151561149e57600080fd5b80600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061152882612062565b151561153357600080fd5b5050565b60006115c882600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eb790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080600080600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015411151561180f57600080fd5b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101544211151561185f57600080fd5b6118b4600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015442611e9e90919063ffffffff16565b91506118bf8261235d565b9050600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546007600082825403925050819055506000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161115611ac657611a4033611a3b6002846124be90919063ffffffff16565b611ef2565b50611ac0600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611abb6002846124be90919063ffffffff16565b611ef2565b50611ad2565b611ad03382611ef2565b505b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd9c1851563fe01face9bb04f31b9adad0fb3db6ed6f78845f9c04eadedb494d2600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015484604051808381526020018281526020019250505060405180910390a36000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055506000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019250505090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611da257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611dde57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211151515611eac57fe5b818303905092915050565b6000808284019050838110151515611ecb57fe5b8091505092915050565b6000611eea82846124d990919063ffffffff16565b905092915050565b6000611f0982600054611eb790919063ffffffff16565b600081905550611f6182600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eb790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156120b257600080fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414151561210357600080fd5b61215582600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9e90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055508160076000828254019250508190555061220082600754601260ff16612514565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018190555042600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f99039fcf0a98f484616c5196ee8b2ecfa971babf0b519848289ea4db381f85f7846040518082815260200191505060405180910390a360019050919050565b60008060008060008062015180945060009050848711156124b1576123cb600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600754601260ff16612514565b935061242e61242585600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154611eb790919063ffffffff16565b60026000612514565b9250612445836006546124d990919063ffffffff16565b9150612462670de0b6b3a7640000836124be90919063ffffffff16565b9150612478600a866124d990919063ffffffff16565b8711156124a35761249c612496600a876124d990919063ffffffff16565b83611ed5565b90506124b0565b6124ad8783611ed5565b90505b5b8095505050505050919050565b60008082848115156124cc57fe5b0490508091505092915050565b60008060008414156124ee576000915061250d565b82840290508284828115156124ff57fe5b0414151561250957fe5b8091505b5092915050565b60008061253060018401600a0a866124d990919063ffffffff16565b9450600a600561254986886124be90919063ffffffff16565b0181151561255357fe5b0490508091505093925050505600a165627a7a72305820d333ece7f4bc1162ddf8e8189b3a55a9ae92cb93eb5e801c0513907086712b580029
Deployed Bytecode Sourcemap
10522:12759:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11429:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5796:187:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;131:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12049;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4784:449;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11523:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12341:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17078:1155;;;;;;;;;;;;;;7642:407;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3743:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16866:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14031:160;;;;;;;;;;;;;;;;;;;;;;;;;;599:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11479:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10339:88:0;;;;;;;;;;;;;;11871:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3146:388;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11794:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14299:434;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6907:261;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6310:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14830:1972;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1223:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;11429:43;;;;;;;;;;;;;;;;;;;;:::o;5796:187::-;5863:4;5908:6;5876:7;:19;5884:10;5876:19;;;;;;;;;;;;;;;:29;5896:8;5876:29;;;;;;;;;;;;;;;:38;;;;5942:8;5921:38;;5930:10;5921:38;;;5952:6;5921:38;;;;;;;;;;;;;;;;;;5973:4;5966:11;;5796:187;;;;:::o;131:26::-;;;;:::o;12049:::-;;;;:::o;4784:449::-;4866:4;4902:1;4887:17;;:3;:17;;;;4879:26;;;;;;;;4930:8;:15;4939:5;4930:15;;;;;;;;;;;;;;;;4920:6;:25;;4912:34;;;;;;;;4971:7;:14;4979:5;4971:14;;;;;;;;;;;;;;;:26;4986:10;4971:26;;;;;;;;;;;;;;;;4961:6;:36;;4953:45;;;;;;;;5025:27;5045:6;5025:8;:15;5034:5;5025:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;5007:8;:15;5016:5;5007:15;;;;;;;;;;;;;;;:45;;;;5075:25;5093:6;5075:8;:13;5084:3;5075:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;5059:8;:13;5068:3;5059:13;;;;;;;;;;;;;;;:41;;;;5136:38;5167:6;5136:7;:14;5144:5;5136:14;;;;;;;;;;;;;;;:26;5151:10;5136:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;5107:7;:14;5115:5;5107:14;;;;;;;;;;;;;;;:26;5122:10;5107:26;;;;;;;;;;;;;;;:67;;;;5197:3;5181:28;;5190:5;5181:28;;;5202:6;5181:28;;;;;;;;;;;;;;;;;;5223:4;5216:11;;4784:449;;;;;:::o;11523:36::-;11557:2;11523:36;:::o;12341:56::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17078:1155::-;17258:29;17298:20;17329;1034:5;;;;;;;;;;;1020:19;;:10;:19;;;1012:28;;;;;;;;17217:19;;17211:3;:25;17203:34;;;;;;;;17484:28;17492:19;;17484:3;:7;;:28;;;;:::i;:::-;17457:55;;17647:1;17620:24;:28;17613:36;;;;;;17792:59;17811:24;17837:13;;17792:18;:59::i;:::-;17774:77;;17951:33;17956:10;17968:15;17951:4;:33::i;:::-;17933:51;;18070:15;18062:24;;;;;;;;18222:3;18200:19;:25;;;;17078:1155;;;:::o;7642:407::-;7725:4;7738:13;7754:7;:19;7762:10;7754:19;;;;;;;;;;;;;;;:29;7774:8;7754:29;;;;;;;;;;;;;;;;7738:45;;7813:8;7794:16;:27;7790:168;;;7864:1;7832:7;:19;7840:10;7832:19;;;;;;;;;;;;;;;:29;7852:8;7832:29;;;;;;;;;;;;;;;:33;;;;7790:168;;;7920:30;7933:16;7920:8;:12;;:30;;;;:::i;:::-;7888:7;:19;7896:10;7888:19;;;;;;;;;;;;;;;:29;7908:8;7888:29;;;;;;;;;;;;;;;:62;;;;7790:168;7985:8;7964:61;;7973:10;7964:61;;;7995:7;:19;8003:10;7995:19;;;;;;;;;;;;;;;:29;8015:8;7995:29;;;;;;;;;;;;;;;;7964:61;;;;;;;;;;;;;;;;;;8039:4;8032:11;;7642:407;;;;;:::o;3743:109::-;3799:15;3830:8;:16;3839:6;3830:16;;;;;;;;;;;;;;;;3823:23;;3743:109;;;:::o;16866:148::-;16917:18;16961:13;:25;16975:10;16961:25;;;;;;;;;;;;;;;:45;;;16954:52;;16866:148;:::o;14031:160::-;14157:25;14169:12;14157:11;:25::i;:::-;14149:34;;;;;;;;14031:160;:::o;599:20::-;;;;;;;;;;;;;:::o;11479:37::-;;;;;;;;;;;;;;;;;;;;:::o;10339:88::-;1034:5;;;;;;;;;;;1020:19;;:10;:19;;;1012:28;;;;;;;;10396:5;;;;;;;;;;;:10;;:24;10407:4;:12;;;10396:24;;;;;;;;;;;;;;;;;;;;;;;10389:32;;;;;;10339:88::o;11871:25::-;;;;:::o;3146:388::-;3209:4;3245:1;3230:17;;:3;:17;;;;3222:26;;;;;;;;3273:8;:20;3282:10;3273:20;;;;;;;;;;;;;;;;3263:6;:30;;3255:39;;;;;;;;3390:32;3415:6;3390:8;:20;3399:10;3390:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3367:8;:20;3376:10;3367:20;;;;;;;;;;;;;;;:55;;;;3445:25;3463:6;3445:8;:13;3454:3;3445:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;3429:8;:13;3438:3;3429:13;;;;;;;;;;;;;;;:41;;;;3498:3;3477:33;;3486:10;3477:33;;;3503:6;3477:33;;;;;;;;;;;;;;;;;;3524:4;3517:11;;3146:388;;;;:::o;11794:31::-;;;;:::o;14299:434::-;14494:1;14473:18;:22;;;14465:31;;;;;;;;14604:18;14558:13;:25;14572:10;14558:25;;;;;;;;;;;;;;;:43;;;:64;;;;;;;;;;;;;;;;;;14697:25;14709:12;14697:11;:25::i;:::-;14689:34;;;;;;;;14299:434;;:::o;6907:261::-;6985:4;7030:46;7064:11;7030:7;:19;7038:10;7030:19;;;;;;;;;;;;;;;:29;7050:8;7030:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;6998:7;:19;7006:10;6998:19;;;;;;;;;;;;;;;:29;7018:8;6998:29;;;;;;;;;;;;;;;:78;;;;7104:8;7083:61;;7092:10;7083:61;;;7114:7;:19;7122:10;7114:19;;;;;;;;;;;;;;;:29;7134:8;7114:29;;;;;;;;;;;;;;;;7083:61;;;;;;;;;;;;;;;;;;7158:4;7151:11;;6907:261;;;;:::o;6310:128::-;6384:7;6407;:15;6415:6;6407:15;;;;;;;;;;;;;;;:25;6423:8;6407:25;;;;;;;;;;;;;;;;6400:32;;6310:128;;;;:::o;14830:1972::-;14870:12;15243:26;15373:18;15039:1;14991:13;:25;15005:10;14991:25;;;;;;;;;;;;;;;:45;;;:49;14983:58;;;;;;;;15108:13;:25;15122:10;15108:25;;;;;;;;;;;;;;;:42;;;15102:3;:48;15094:57;;;;;;;;15272:51;15280:13;:25;15294:10;15280:25;;;;;;;;;;;;;;;:42;;;15272:3;:7;;:51;;;;:::i;:::-;15243:80;;15394:42;15414:21;15394:19;:42::i;:::-;15373:63;;15535:13;:25;15549:10;15535:25;;;;;;;;;;;;;;;:45;;;15511:8;:20;15520:10;15511:20;;;;;;;;;;;;;;;;:69;;;;;;;;;;;15674:13;:25;15688:10;15674:25;;;;;;;;;;;;;;;:45;;;15656:14;;:63;;;;;;;;;;;15870:1;15824:13;:25;15838:10;15824:25;;;;;;;;;;;;;;;:43;;;;;;;;;;;;:47;;;15820:449;;;15984:38;15989:10;16001:20;16019:1;16001:13;:17;;:20;;;;:::i;:::-;15984:4;:38::i;:::-;;16037:71;16042:13;:25;16056:10;16042:25;;;;;;;;;;;;;;;:43;;;;;;;;;;;;16087:20;16105:1;16087:13;:17;;:20;;;;:::i;:::-;16037:4;:71::i;:::-;;15820:449;;;16226:31;16231:10;16243:13;16226:4;:31::i;:::-;;15820:449;16377:13;:25;16391:10;16377:25;;;;;;;;;;;;;;;:43;;;;;;;;;;;;16360:123;;16365:10;16360:123;;;16422:13;:25;16436:10;16422:25;;;;;;;;;;;;;;;:45;;;16469:13;16360:123;;;;;;;;;;;;;;;;;;;;;;;;16591:1;16543:13;:25;16557:10;16543:25;;;;;;;;;;;;;;;:45;;:49;;;;16648:1;16603:13;:25;16617:10;16603:25;;;;;;;;;;;;;;;:42;;:46;;;;16711:1;16660:13;:25;16674:10;16660:25;;;;;;;;;;;;;;;:48;;:52;;;;16769:1;16723:13;:25;16737:10;16723:25;;;;;;;;;;;;;;;:43;;;:47;;;;;;;;;;;;;;;;;;16790:4;16783:11;;14830:1972;;;:::o;1223:173::-;1034:5;;;;;;;;;;;1020:19;;:10;:19;;;1012:28;;;;;;;;1320:1;1300:22;;:8;:22;;;;1292:31;;;;;;;;1358:8;1330:37;;1351:5;;;;;;;;;;;1330:37;;;;;;;;;;;;1382:8;1374:5;;:16;;;;;;;;;;;;;;;;;;1223:173;:::o;2519:113::-;2577:7;2605:1;2600;:6;;2593:14;;;;;;2625:1;2621;:5;2614:12;;2519:113;;;;:::o;2638:133::-;2696:7;2712:9;2728:1;2724;:5;2712:17;;2748:1;2743;:6;;2736:14;;;;;;2764:1;2757:8;;2638:133;;;;;:::o;23020:256::-;23106:15;23238:29;23257:9;23238:14;:18;;:29;;;;:::i;:::-;23231:37;;23020:256;;;;:::o;8669:252::-;8731:4;8758:24;8774:7;8758:11;;:15;;:24;;;;:::i;:::-;8744:11;:38;;;;8805:26;8823:7;8805:8;:13;8814:3;8805:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;8789:8;:13;8798:3;8789:13;;;;;;;;;;;;;;;:42;;;;8843:3;8838:18;;;8848:7;8838:18;;;;;;;;;;;;;;;;;;8884:3;8863:34;;8880:1;8863:34;;;8889:7;8863:34;;;;;;;;;;;;;;;;;;8911:4;8904:11;;8669:252;;;;:::o;18412:1157::-;18466:12;18600:8;:20;18609:10;18600:20;;;;;;;;;;;;;;;;18590:6;:30;;18582:39;;;;;;;;18765:1;18716:13;:25;18730:10;18716:25;;;;;;;;;;;;;;;:45;;;:50;18708:59;;;;;;;;18864:32;18889:6;18864:8;:20;18873:10;18864:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;18841:8;:20;18850:10;18841:20;;;;;;;;;;;;;;;:55;;;;19004:6;18956:13;:25;18970:10;18956:25;;;;;;;;;;;;;;;:45;;:54;;;;19094:6;19076:14;;:24;;;;;;;;;;;19214:51;19232:6;19240:14;;11557:2;19214:51;;:17;:51::i;:::-;19163:13;:25;19177:10;19163:25;;;;;;;;;;;;;;;:48;;:102;;;;19380:3;19335:13;:25;19349:10;19335:25;;;;;;;;;;;;;;;:42;;:48;;;;19485:13;:25;19499:10;19485:25;;;;;;;;;;;;;;;:43;;;;;;;;;;;;19467:70;;19473:10;19467:70;;;19530:6;19467:70;;;;;;;;;;;;;;;;;;19557:4;19550:11;;18412:1157;;;:::o;19675:2247::-;19754:14;19859:19;19897:26;19995:28;20103:19;20204:18;19881:5;19859:27;;20225:1;20204:22;;20399:14;20375:21;:38;20371:1443;;;20703:90;20721:13;:25;20735:10;20721:25;;;;;;;;;;;;;;;:45;;;20768:14;;11557:2;20703:90;;:17;:90::i;:::-;20679:114;;20916:102;20935:75;20988:21;20935:13;:25;20949:10;20935:25;;;;;;;;;;;;;;;:48;;;:52;;:75;;;;:::i;:::-;21013:1;21016;20916:17;:102::i;:::-;20890:128;;21127:43;21146:23;21127:14;;:18;;:43;;;;:::i;:::-;21110:60;;21203:27;21222:7;21203:14;:18;;:27;;;;:::i;:::-;21186:44;;21377:22;21396:2;21377:14;:18;;:22;;;;:::i;:::-;21353:21;:46;21349:454;;;21516:58;21535:22;21554:2;21535:14;:18;;:22;;;;:::i;:::-;21559:14;21516:18;:58::i;:::-;21500:74;;21349:454;;;21730:57;21749:21;21772:14;21730:18;:57::i;:::-;21714:73;;21349:454;20371:1443;21899:13;21892:20;;19675:2247;;;;;;;;:::o;2243:270::-;2301:7;2392:9;2408:1;2404;:5;;;;;;;;2392:17;;2506:1;2499:8;;2243:270;;;;;:::o;2057:180::-;2115:7;2174:9;2140:1;2135;:6;2131:37;;;2159:1;2152:8;;;;2131:37;2190:1;2186;:5;2174:17;;2214:1;2209;2205;:5;;;;;;;;:10;2198:18;;;;;;2230:1;2223:8;;2057:180;;;;;;:::o;22380:399::-;22481:13;22684:14;22596:38;22631:1;22618:10;:14;22611:2;:22;22596:10;:14;;:38;;;;:::i;:::-;22583:51;;22740:2;22735:1;22703:28;22718:12;22703:10;:14;;:28;;;;:::i;:::-;22702:34;22701:41;;;;;;;;22684:58;;22761:9;22753:18;;22380:399;;;;;;:::o
Swarm Source
bzzr://d333ece7f4bc1162ddf8e8189b3a55a9ae92cb93eb5e801c0513907086712b58
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.