ETH Price: $3,121.88 (-0.53%)

Token

AdEx Loyalty (ADX-LOYALTY)
 

Overview

Max Total Supply

2,989,025.506307425615287951 ADX-LOYALTY

Holders

80 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
834.911834028544389522 ADX-LOYALTY

Value
$0.00
0x1c2d9a2e2b7937409c979afd534bede6d0b625e2
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

AdEx is a display ad network for reduced ad fraud and increased user privacy.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ADXLoyaltyPoolToken

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv2 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-10-04
*/

// SPDX-License-Identifier: agpl-3.0
pragma solidity ^0.6.12;

library SafeMath {

    function mul(uint a, uint b) internal pure returns (uint) {
        uint c = a * b;
        require(a == 0 || c / a == b);
        return c;
    }

    function div(uint a, uint b) internal pure returns (uint) {
        require(b > 0);
        uint c = a / b;
        require(a == b * c + a % b);
        return c;
    }

    function sub(uint a, uint b) internal pure returns (uint) {
        require(b <= a);
        return a - b;
    }

    function add(uint a, uint b) internal pure returns (uint) {
        uint c = a + b;
        require(c >= a);
        return c;
    }

    function max64(uint64 a, uint64 b) internal pure returns (uint64) {
        return a >= b ? a : b;
    }

    function min64(uint64 a, uint64 b) internal pure returns (uint64) {
        return a < b ? a : b;
    }

    function max256(uint a, uint b) internal pure returns (uint) {
        return a >= b ? a : b;
    }

    function min256(uint a, uint b) internal pure returns (uint) {
        return a < b ? a : b;
    }
}


interface ISupplyController {
	function mint(address token, address owner, uint amount) external;
}

interface IADXToken {
	function transfer(address to, uint256 amount) external returns (bool);
	function transferFrom(address from, address to, uint256 amount) external returns (bool);
	function approve(address spender, uint256 amount) external returns (bool);
	function balanceOf(address spender) external view returns (uint);
	function allowance(address owner, address spender) external view returns (uint);
	function supplyController() external view returns (ISupplyController);
}

contract ADXLoyaltyPoolToken {
	using SafeMath for uint;

	// ERC20 stuff
	// Constants
	string public constant name = "AdEx Loyalty";
	uint8 public constant decimals = 18;
	string public symbol = "ADX-LOYALTY";

	// Mutable variables
	uint public totalSupply;
	mapping(address => uint) balances;
	mapping(address => mapping(address => uint)) allowed;

	// EIP 2612
	bytes32 public DOMAIN_SEPARATOR;
	// keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");
	bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;
	mapping(address => uint) public nonces;

	// ERC20 events
	event Approval(address indexed owner, address indexed spender, uint amount);
	event Transfer(address indexed from, address indexed to, uint amount);

	function balanceOf(address owner) external view returns (uint balance) {
		return balances[owner];
	}

	function transfer(address to, uint amount) external returns (bool success) {
		require(to != address(this), 'BAD_ADDRESS');
		balances[msg.sender] = balances[msg.sender].sub(amount);
		balances[to] = balances[to].add(amount);
		emit Transfer(msg.sender, to, amount);
		return true;
	}

	function transferFrom(address from, address to, uint amount) external returns (bool success) {
		balances[from] = balances[from].sub(amount);
		allowed[from][msg.sender] = allowed[from][msg.sender].sub(amount);
		balances[to] = balances[to].add(amount);
		emit Transfer(from, to, amount);
		return true;
	}

	function approve(address spender, uint amount) external returns (bool success) {
		allowed[msg.sender][spender] = amount;
		emit Approval(msg.sender, spender, amount);
		return true;
	}

	function allowance(address owner, address spender) external view returns (uint remaining) {
		return allowed[owner][spender];
	}

	// EIP 2612
	function permit(address owner, address spender, uint amount, uint deadline, uint8 v, bytes32 r, bytes32 s) external {
		require(deadline >= block.timestamp, 'DEADLINE_EXPIRED');
		bytes32 digest = keccak256(abi.encodePacked(
			'\x19\x01',
			DOMAIN_SEPARATOR,
			keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, amount, nonces[owner]++, deadline))
		));
		address recoveredAddress = ecrecover(digest, v, r, s);
		require(recoveredAddress != address(0) && recoveredAddress == owner, 'INVALID_SIGNATURE');
		allowed[owner][spender] = amount;
		emit Approval(owner, spender, amount);
	}

	// Inner
	function innerMint(address owner, uint amount) internal {
		totalSupply = totalSupply.add(amount);
		balances[owner] = balances[owner].add(amount);
		// Because of https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md#transfer-1
		emit Transfer(address(0), owner, amount);
	}
	function innerBurn(address owner, uint amount) internal {
		totalSupply = totalSupply.sub(amount);
		balances[owner] = balances[owner].sub(amount);
		emit Transfer(owner, address(0), amount);
	}


	// Pool functionality
	event LogSetGovernance(address indexed addr, bool hasGovt, uint time);
	event LogSetIncentive(uint incentive, uint time);

	IADXToken public ADXToken;
	uint public incentivePerTokenPerAnnum;
	uint public lastMintTime;
	uint public maxTotalADX;
	mapping (address => bool) public governance;
	constructor(IADXToken token, uint incentive, uint cap) public {
		ADXToken = token;
		incentivePerTokenPerAnnum = incentive;
		maxTotalADX = cap;
		governance[msg.sender] = true;
		lastMintTime = block.timestamp;
		// EIP 2612
		uint chainId;
		assembly {
			chainId := chainid()
		}
		DOMAIN_SEPARATOR = keccak256(
			abi.encode(
				keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'),
				keccak256(bytes(name)),
				keccak256(bytes('1')),
				chainId,
				address(this)
			)
		);

		emit LogSetGovernance(msg.sender, true, block.timestamp);
		emit LogSetIncentive(incentive, block.timestamp);
	}

	// Governance functions
	function setGovernance(address addr, bool hasGovt) external {
		require(governance[msg.sender], 'NOT_GOVERNANCE');
		governance[addr] = hasGovt;
		emit LogSetGovernance(addr, hasGovt, block.timestamp);
	}
	// This doesn't trigger a mint because otherwise we risk of being unable to setIncentive to 0
	// if minting is impossible
	// It's the better tradeoff to make - and the issue of front-running mintIncnetive with setIncentive(0) can
	// be solved by timelocking the governance
	function setIncentive(uint newIncentive) external {
		require(governance[msg.sender], 'NOT_GOVERNANCE');
		incentivePerTokenPerAnnum = newIncentive;
		lastMintTime = block.timestamp;
		emit LogSetIncentive(newIncentive, block.timestamp);
	}
	function setSymbol(string calldata newSymbol) external {
		require(governance[msg.sender], 'NOT_GOVERNANCE');
		symbol = newSymbol;
	}
	function setMaxTotalADX(uint newMaxTotalADX) external {
		require(governance[msg.sender], 'NOT_GOVERNANCE');
		maxTotalADX = newMaxTotalADX;
	}


	// Pool stuff
	// There are a few notable items in how minting works
	// 1) if ADX is sent to the LoyaltyPool in-between mints, it will calculate the incentive as if this amount
	// has been there the whole time since the last mint
	// 2) Compounding is happening when mint is called, so essentially when entities enter/leave/trigger it manually
	function toMint() external view returns (uint) {
		if (block.timestamp <= lastMintTime) return 0;
		uint totalADX = ADXToken.balanceOf(address(this));
		return (block.timestamp - lastMintTime)
			.mul(totalADX)
			.mul(incentivePerTokenPerAnnum)
			.div(365 days * 10e17);
	}

	function shareValue() external view returns (uint) {
		if (totalSupply == 0) return 0;
		return ADXToken.balanceOf(address(this))
			.add(this.toMint())
			.mul(10e17)
			.div(totalSupply);
	}

	function mintIncentive() public {
		if (incentivePerTokenPerAnnum == 0) return;
		uint amountToMint = this.toMint();
		if (amountToMint == 0) return;
		lastMintTime = block.timestamp;
		ADXToken.supplyController().mint(address(ADXToken), address(this), amountToMint);
	}

	function enter(uint256 amount) external {
		// Please note that minting has to be in the beginning so that we take it into account
		// when using ADXToken.balanceOf()
		// Minting makes an external call but it's to a trusted contract (ADXToken)
		mintIncentive();

		uint totalADX = ADXToken.balanceOf(address(this));
		require(totalADX.add(amount) <= maxTotalADX, 'REACHED_MAX_TOTAL_ADX');

		// The totalADX == 0 check here should be redudnant; the only way to get totalSupply to a nonzero val is by adding ADX
		if (totalSupply == 0 || totalADX == 0) {
			innerMint(msg.sender, amount);
		} else {
			uint256 newShares = amount.mul(totalSupply).div(totalADX);
			innerMint(msg.sender, newShares);
		}
		require(ADXToken.transferFrom(msg.sender, address(this), amount));
	}

	function leaveInner(uint256 shares) internal {
		uint256 totalADX = ADXToken.balanceOf(address(this));
		uint256 adxAmount = shares.mul(totalADX).div(totalSupply);
		innerBurn(msg.sender, shares);
		require(ADXToken.transfer(msg.sender, adxAmount));
	}

	function leave(uint256 shares) external {
		mintIncentive();
		leaveInner(shares);
	}

	// Guarantees ADX can be taken out even if minting is failing
	function emergencyLeave(uint256 shares) external {
		leaveInner(shares);
	}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract IADXToken","name":"token","type":"address"},{"internalType":"uint256","name":"incentive","type":"uint256"},{"internalType":"uint256","name":"cap","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"bool","name":"hasGovt","type":"bool"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"LogSetGovernance","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"incentive","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"LogSetIncentive","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"ADXToken","outputs":[{"internalType":"contract IADXToken","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"emergencyLeave","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"enter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"governance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"incentivePerTokenPerAnnum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastMintTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"leave","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTotalADX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintIncentive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"hasGovt","type":"bool"}],"name":"setGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newIncentive","type":"uint256"}],"name":"setIncentive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxTotalADX","type":"uint256"}],"name":"setMaxTotalADX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newSymbol","type":"string"}],"name":"setSymbol","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"shareValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280600b81526020017f4144582d4c4f59414c54590000000000000000000000000000000000000000008152506000908051906020019062000051929190620002fa565b503480156200005f57600080fd5b5060405162002a5938038062002a59833981810160405260608110156200008557600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505082600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600781905550806009819055506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055504260088190555060004690507f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600c81526020017f41644578204c6f79616c74790000000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250805190602001208330604051602001808681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200195505050505050604051602081830303815290604052805190602001206004819055503373ffffffffffffffffffffffffffffffffffffffff167f46238176e8dbe907babf18093f01e438d9187efcb9e6f22c7300f334405c79b76001426040518083151581526020018281526020019250505060405180910390a27fca89a56a0dd8fe7f87a6b55f63e301ccae2379974b466f5721d2152580c78b7d8342604051808381526020018281526020019250505060405180910390a150505050620003a0565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200033d57805160ff19168380011785556200036e565b828001600101855582156200036e579182015b828111156200036d57825182559160200191906001019062000350565b5b5090506200037d919062000381565b5090565b5b808211156200039c57600081600090555060010162000382565b5090565b6126a980620003b06000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806370a08231116100f9578063b84c824611610097578063d18aa27311610071578063d18aa273146107d7578063d505accf14610805578063dd62ed3e1461089e578063ee97def514610916576101c4565b8063b84c82461461070c578063c066f75e14610785578063c678b9c8146107b9576101c4565b806395d89b41116100d357806395d89b41146105d95780639d4635201461065c578063a59f3e0c1461067a578063a9059cbb146106a8576101c4565b806370a08231146104cf5780637ecebe00146105275780638426e6c11461057f576101c4565b80632d3cfcab116101665780633644e515116101405780633644e51514610437578063447b15f4146104555780634ad8567e1461047357806367dfd4c9146104a1576101c4565b80632d3cfcab146103da57806330adf81f146103f8578063313ce56714610416576101c4565b80631564819f116101a25780631564819f146102de578063158a1ca1146102e857806318160ddd1461033857806323b872dd14610356576101c4565b80630129df11146101c957806306fdde03146101f7578063095ea7b31461027a575b600080fd5b6101f5600480360360208110156101df57600080fd5b8101908080359060200190929190505050610934565b005b6101ff610a43565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023f578082015181840152602081019050610224565b50505050905090810190601f16801561026c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c66004803603604081101561029057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a7c565b60405180821515815260200191505060405180910390f35b6102e6610b6e565b005b610336600480360360408110156102fe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610d88565b005b610340610efa565b6040518082815260200191505060405180910390f35b6103c26004803603606081101561036c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f00565b60405180821515815260200191505060405180910390f35b6103e26111ab565b6040518082815260200191505060405180910390f35b6104006112d6565b6040518082815260200191505060405180910390f35b61041e6112fd565b604051808260ff16815260200191505060405180910390f35b61043f611302565b6040518082815260200191505060405180910390f35b61045d611308565b6040518082815260200191505060405180910390f35b61049f6004803603602081101561048957600080fd5b81019080803590602001909291905050506114a7565b005b6104cd600480360360208110156104b757600080fd5b81019080803590602001909291905050506114b3565b005b610511600480360360208110156104e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114c7565b6040518082815260200191505060405180910390f35b6105696004803603602081101561053d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611510565b6040518082815260200191505060405180910390f35b6105c16004803603602081101561059557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611528565b60405180821515815260200191505060405180910390f35b6105e1611548565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610621578082015181840152602081019050610606565b50505050905090810190601f16801561064e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106646115e6565b6040518082815260200191505060405180910390f35b6106a66004803603602081101561069057600080fd5b81019080803590602001909291905050506115ec565b005b6106f4600480360360408110156106be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061189b565b60405180821515815260200191505060405180910390f35b6107836004803603602081101561072257600080fd5b810190808035906020019064010000000081111561073f57600080fd5b82018360208201111561075157600080fd5b8035906020019184600183028401116401000000008311171561077357600080fd5b9091929391929390505050611ad8565b005b61078d611bad565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107c1611bd3565b6040518082815260200191505060405180910390f35b610803600480360360208110156107ed57600080fd5b8101908080359060200190929190505050611bd9565b005b61089c600480360360e081101561081b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff1690602001909291908035906020019092919080359060200190929190505050611ca2565b005b610900600480360360408110156108b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612092565b6040518082815260200191505060405180910390f35b61091e612119565b6040518082815260200191505060405180910390f35b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166109f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e4f545f474f5645524e414e434500000000000000000000000000000000000081525060200191505060405180910390fd5b80600781905550426008819055507fca89a56a0dd8fe7f87a6b55f63e301ccae2379974b466f5721d2152580c78b7d8142604051808381526020018281526020019250505060405180910390a150565b6040518060400160405280600c81526020017f41644578204c6f79616c7479000000000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60006007541415610b7e57610d86565b60003073ffffffffffffffffffffffffffffffffffffffff16632d3cfcab6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc657600080fd5b505afa158015610bda573d6000803e3d6000fd5b505050506040513d6020811015610bf057600080fd5b810190808051906020019092919050505090506000811415610c125750610d86565b42600881905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e7ba10126040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8157600080fd5b505afa158015610c95573d6000803e3d6000fd5b505050506040513d6020811015610cab57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c6c3bbe6600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610d6c57600080fd5b505af1158015610d80573d6000803e3d6000fd5b50505050505b565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e4f545f474f5645524e414e434500000000000000000000000000000000000081525060200191505060405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f46238176e8dbe907babf18093f01e438d9187efcb9e6f22c7300f334405c79b782426040518083151581526020018281526020019250505060405180910390a25050565b60015481565b6000610f5482600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211f90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061102682600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211f90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110f882600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461213990919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600060085442116111bf57600090506112d3565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561124a57600080fd5b505afa15801561125e573d6000803e3d6000fd5b505050506040513d602081101561127457600080fd5b810190808051906020019092919050505090506112cf6a1a1601fc4ea7109e0000006112c16007546112b385600854420361215890919063ffffffff16565b61215890919063ffffffff16565b61218a90919063ffffffff16565b9150505b90565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960001b81565b601281565b60045481565b600080600154141561131d57600090506114a4565b6114a1600154611493670de0b6b3a76400006114853073ffffffffffffffffffffffffffffffffffffffff16632d3cfcab6040518163ffffffff1660e01b815260040160206040518083038186803b15801561137857600080fd5b505afa15801561138c573d6000803e3d6000fd5b505050506040513d60208110156113a257600080fd5b8101908080519060200190929190505050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561143c57600080fd5b505afa158015611450573d6000803e3d6000fd5b505050506040513d602081101561146657600080fd5b810190808051906020019092919050505061213990919063ffffffff16565b61215890919063ffffffff16565b61218a90919063ffffffff16565b90505b90565b6114b0816121c9565b50565b6114bb610b6e565b6114c4816121c9565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60056020528060005260406000206000915090505481565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115de5780601f106115b3576101008083540402835291602001916115de565b820191906000526020600020905b8154815290600101906020018083116115c157829003601f168201915b505050505081565b60085481565b6115f4610b6e565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561167f57600080fd5b505afa158015611693573d6000803e3d6000fd5b505050506040513d60208110156116a957600080fd5b810190808051906020019092919050505090506009546116d2838361213990919063ffffffff16565b1115611746576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f524541434845445f4d41585f544f54414c5f414458000000000000000000000081525060200191505060405180910390fd5b600060015414806117575750600081145b1561176b5761176633836123a2565b6117a2565b6000611794826117866001548661215890919063ffffffff16565b61218a90919063ffffffff16565b90506117a033826123a2565b505b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561185357600080fd5b505af1158015611867573d6000803e3d6000fd5b505050506040513d602081101561187d57600080fd5b810190808051906020019092919050505061189757600080fd5b5050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561193f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f4241445f4144445245535300000000000000000000000000000000000000000081525060200191505060405180910390fd5b61199182600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211f90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a2682600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461213990919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611b97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e4f545f474f5645524e414e434500000000000000000000000000000000000081525060200191505060405180910390fd5b818160009190611ba89291906125d6565b505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e4f545f474f5645524e414e434500000000000000000000000000000000000081525060200191505060405180910390fd5b8060098190555050565b42841015611d18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f444541444c494e455f455850495245440000000000000000000000000000000081525060200191505060405180910390fd5b60006004547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960001b898989600560008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558a604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200196505050505050506040516020818303038152906040528051906020012060405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018286868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611ebb573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015611f2f57508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611fa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f494e56414c49445f5349474e415455524500000000000000000000000000000081525060200191505060405180910390fd5b86600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925896040518082815260200191505060405180910390a3505050505050505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60075481565b60008282111561212e57600080fd5b818303905092915050565b60008082840190508381101561214e57600080fd5b8091505092915050565b6000808284029050600084148061217757508284828161217457fe5b04145b61218057600080fd5b8091505092915050565b600080821161219857600080fd5b60008284816121a357fe5b0490508284816121af57fe5b068184020184146121bf57600080fd5b8091505092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561225457600080fd5b505afa158015612268573d6000803e3d6000fd5b505050506040513d602081101561227e57600080fd5b8101908080519060200190929190505050905060006122ba6001546122ac848661215890919063ffffffff16565b61218a90919063ffffffff16565b90506122c633846124bc565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561235957600080fd5b505af115801561236d573d6000803e3d6000fd5b505050506040513d602081101561238357600080fd5b810190808051906020019092919050505061239d57600080fd5b505050565b6123b78160015461213990919063ffffffff16565b60018190555061240f81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461213990919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6124d18160015461211f90919063ffffffff16565b60018190555061252981600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211f90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061261757803560ff1916838001178555612645565b82800160010185558215612645579182015b82811115612644578235825591602001919060010190612629565b5b5090506126529190612656565b5090565b5b8082111561266f576000816000905550600101612657565b509056fea264697066735822122013103ad6ef487211bbd1d9115f80d2383a57a99425ea65fdabd993d1ede43df164736f6c634300060c0033000000000000000000000000ade00c28244d5ce17d72e40330b1c318cd12b7c30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000108b2a2c28029094000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101c45760003560e01c806370a08231116100f9578063b84c824611610097578063d18aa27311610071578063d18aa273146107d7578063d505accf14610805578063dd62ed3e1461089e578063ee97def514610916576101c4565b8063b84c82461461070c578063c066f75e14610785578063c678b9c8146107b9576101c4565b806395d89b41116100d357806395d89b41146105d95780639d4635201461065c578063a59f3e0c1461067a578063a9059cbb146106a8576101c4565b806370a08231146104cf5780637ecebe00146105275780638426e6c11461057f576101c4565b80632d3cfcab116101665780633644e515116101405780633644e51514610437578063447b15f4146104555780634ad8567e1461047357806367dfd4c9146104a1576101c4565b80632d3cfcab146103da57806330adf81f146103f8578063313ce56714610416576101c4565b80631564819f116101a25780631564819f146102de578063158a1ca1146102e857806318160ddd1461033857806323b872dd14610356576101c4565b80630129df11146101c957806306fdde03146101f7578063095ea7b31461027a575b600080fd5b6101f5600480360360208110156101df57600080fd5b8101908080359060200190929190505050610934565b005b6101ff610a43565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023f578082015181840152602081019050610224565b50505050905090810190601f16801561026c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c66004803603604081101561029057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a7c565b60405180821515815260200191505060405180910390f35b6102e6610b6e565b005b610336600480360360408110156102fe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610d88565b005b610340610efa565b6040518082815260200191505060405180910390f35b6103c26004803603606081101561036c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f00565b60405180821515815260200191505060405180910390f35b6103e26111ab565b6040518082815260200191505060405180910390f35b6104006112d6565b6040518082815260200191505060405180910390f35b61041e6112fd565b604051808260ff16815260200191505060405180910390f35b61043f611302565b6040518082815260200191505060405180910390f35b61045d611308565b6040518082815260200191505060405180910390f35b61049f6004803603602081101561048957600080fd5b81019080803590602001909291905050506114a7565b005b6104cd600480360360208110156104b757600080fd5b81019080803590602001909291905050506114b3565b005b610511600480360360208110156104e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114c7565b6040518082815260200191505060405180910390f35b6105696004803603602081101561053d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611510565b6040518082815260200191505060405180910390f35b6105c16004803603602081101561059557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611528565b60405180821515815260200191505060405180910390f35b6105e1611548565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610621578082015181840152602081019050610606565b50505050905090810190601f16801561064e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106646115e6565b6040518082815260200191505060405180910390f35b6106a66004803603602081101561069057600080fd5b81019080803590602001909291905050506115ec565b005b6106f4600480360360408110156106be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061189b565b60405180821515815260200191505060405180910390f35b6107836004803603602081101561072257600080fd5b810190808035906020019064010000000081111561073f57600080fd5b82018360208201111561075157600080fd5b8035906020019184600183028401116401000000008311171561077357600080fd5b9091929391929390505050611ad8565b005b61078d611bad565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107c1611bd3565b6040518082815260200191505060405180910390f35b610803600480360360208110156107ed57600080fd5b8101908080359060200190929190505050611bd9565b005b61089c600480360360e081101561081b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff1690602001909291908035906020019092919080359060200190929190505050611ca2565b005b610900600480360360408110156108b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612092565b6040518082815260200191505060405180910390f35b61091e612119565b6040518082815260200191505060405180910390f35b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166109f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e4f545f474f5645524e414e434500000000000000000000000000000000000081525060200191505060405180910390fd5b80600781905550426008819055507fca89a56a0dd8fe7f87a6b55f63e301ccae2379974b466f5721d2152580c78b7d8142604051808381526020018281526020019250505060405180910390a150565b6040518060400160405280600c81526020017f41644578204c6f79616c7479000000000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60006007541415610b7e57610d86565b60003073ffffffffffffffffffffffffffffffffffffffff16632d3cfcab6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc657600080fd5b505afa158015610bda573d6000803e3d6000fd5b505050506040513d6020811015610bf057600080fd5b810190808051906020019092919050505090506000811415610c125750610d86565b42600881905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e7ba10126040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8157600080fd5b505afa158015610c95573d6000803e3d6000fd5b505050506040513d6020811015610cab57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c6c3bbe6600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610d6c57600080fd5b505af1158015610d80573d6000803e3d6000fd5b50505050505b565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e4f545f474f5645524e414e434500000000000000000000000000000000000081525060200191505060405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f46238176e8dbe907babf18093f01e438d9187efcb9e6f22c7300f334405c79b782426040518083151581526020018281526020019250505060405180910390a25050565b60015481565b6000610f5482600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211f90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061102682600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211f90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110f882600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461213990919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600060085442116111bf57600090506112d3565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561124a57600080fd5b505afa15801561125e573d6000803e3d6000fd5b505050506040513d602081101561127457600080fd5b810190808051906020019092919050505090506112cf6a1a1601fc4ea7109e0000006112c16007546112b385600854420361215890919063ffffffff16565b61215890919063ffffffff16565b61218a90919063ffffffff16565b9150505b90565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960001b81565b601281565b60045481565b600080600154141561131d57600090506114a4565b6114a1600154611493670de0b6b3a76400006114853073ffffffffffffffffffffffffffffffffffffffff16632d3cfcab6040518163ffffffff1660e01b815260040160206040518083038186803b15801561137857600080fd5b505afa15801561138c573d6000803e3d6000fd5b505050506040513d60208110156113a257600080fd5b8101908080519060200190929190505050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561143c57600080fd5b505afa158015611450573d6000803e3d6000fd5b505050506040513d602081101561146657600080fd5b810190808051906020019092919050505061213990919063ffffffff16565b61215890919063ffffffff16565b61218a90919063ffffffff16565b90505b90565b6114b0816121c9565b50565b6114bb610b6e565b6114c4816121c9565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60056020528060005260406000206000915090505481565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115de5780601f106115b3576101008083540402835291602001916115de565b820191906000526020600020905b8154815290600101906020018083116115c157829003601f168201915b505050505081565b60085481565b6115f4610b6e565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561167f57600080fd5b505afa158015611693573d6000803e3d6000fd5b505050506040513d60208110156116a957600080fd5b810190808051906020019092919050505090506009546116d2838361213990919063ffffffff16565b1115611746576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f524541434845445f4d41585f544f54414c5f414458000000000000000000000081525060200191505060405180910390fd5b600060015414806117575750600081145b1561176b5761176633836123a2565b6117a2565b6000611794826117866001548661215890919063ffffffff16565b61218a90919063ffffffff16565b90506117a033826123a2565b505b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561185357600080fd5b505af1158015611867573d6000803e3d6000fd5b505050506040513d602081101561187d57600080fd5b810190808051906020019092919050505061189757600080fd5b5050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561193f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f4241445f4144445245535300000000000000000000000000000000000000000081525060200191505060405180910390fd5b61199182600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211f90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a2682600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461213990919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611b97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e4f545f474f5645524e414e434500000000000000000000000000000000000081525060200191505060405180910390fd5b818160009190611ba89291906125d6565b505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e4f545f474f5645524e414e434500000000000000000000000000000000000081525060200191505060405180910390fd5b8060098190555050565b42841015611d18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f444541444c494e455f455850495245440000000000000000000000000000000081525060200191505060405180910390fd5b60006004547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960001b898989600560008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558a604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200196505050505050506040516020818303038152906040528051906020012060405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018286868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611ebb573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015611f2f57508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611fa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f494e56414c49445f5349474e415455524500000000000000000000000000000081525060200191505060405180910390fd5b86600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925896040518082815260200191505060405180910390a3505050505050505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60075481565b60008282111561212e57600080fd5b818303905092915050565b60008082840190508381101561214e57600080fd5b8091505092915050565b6000808284029050600084148061217757508284828161217457fe5b04145b61218057600080fd5b8091505092915050565b600080821161219857600080fd5b60008284816121a357fe5b0490508284816121af57fe5b068184020184146121bf57600080fd5b8091505092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561225457600080fd5b505afa158015612268573d6000803e3d6000fd5b505050506040513d602081101561227e57600080fd5b8101908080519060200190929190505050905060006122ba6001546122ac848661215890919063ffffffff16565b61218a90919063ffffffff16565b90506122c633846124bc565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561235957600080fd5b505af115801561236d573d6000803e3d6000fd5b505050506040513d602081101561238357600080fd5b810190808051906020019092919050505061239d57600080fd5b505050565b6123b78160015461213990919063ffffffff16565b60018190555061240f81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461213990919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6124d18160015461211f90919063ffffffff16565b60018190555061252981600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211f90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061261757803560ff1916838001178555612645565b82800160010185558215612645579182015b82811115612644578235825591602001919060010190612629565b5b5090506126529190612656565b5090565b5b8082111561266f576000816000905550600101612657565b509056fea264697066735822122013103ad6ef487211bbd1d9115f80d2383a57a99425ea65fdabd993d1ede43df164736f6c634300060c0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000ade00c28244d5ce17d72e40330b1c318cd12b7c30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000108b2a2c28029094000000

-----Decoded View---------------
Arg [0] : token (address): 0xADE00C28244d5CE17D72E40330B1c318cD12B7c3
Arg [1] : incentive (uint256): 0
Arg [2] : cap (uint256): 20000000000000000000000000

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000ade00c28244d5ce17d72e40330b1c318cd12b7c3
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [2] : 000000000000000000000000000000000000000000108b2a2c28029094000000


Deployed Bytecode Sourcemap

1741:7493:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6273:245;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1835:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3308:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7656:276;;;:::i;:::-;;5781:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1987:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2991:312;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7166:282;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2260:108;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1883:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2123:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7453:198;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9154:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8997:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2588:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2372:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5037:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1922:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4982:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7937:793;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2696:290;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6521:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4912:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5010:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6661:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3651:600;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3502:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4941:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6273:245;6336:10;:22;6347:10;6336:22;;;;;;;;;;;;;;;;;;;;;;;;;6328:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6410:12;6382:25;:40;;;;6442:15;6427:12;:30;;;;6467:46;6483:12;6497:15;6467:46;;;;;;;;;;;;;;;;;;;;;;;;6273:245;:::o;1835:44::-;;;;;;;;;;;;;;;;;;;:::o;3308:189::-;3373:12;3423:6;3392:7;:19;3400:10;3392:19;;;;;;;;;;;;;;;:28;3412:7;3392:28;;;;;;;;;;;;;;;:37;;;;3460:7;3439:37;;3448:10;3439:37;;;3469:6;3439:37;;;;;;;;;;;;;;;;;;3488:4;3481:11;;3308:189;;;;:::o;7656:276::-;7726:1;7697:25;;:30;7693:43;;;7729:7;;7693:43;7740:17;7760:4;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7740:33;;7798:1;7782:12;:17;7778:30;;;7801:7;;;7778:30;7827:15;7812:12;:30;;;;7847:8;;;;;;;;;;;:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:32;;;7888:8;;;;;;;;;;;7907:4;7914:12;7847:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7656:276;;:::o;5781:208::-;5854:10;:22;5865:10;5854:22;;;;;;;;;;;;;;;;;;;;;;;;;5846:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5919:7;5900:10;:16;5911:4;5900:16;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;5953:4;5936:48;;;5959:7;5968:15;5936:48;;;;;;;;;;;;;;;;;;;;;;;;;;5781:208;;:::o;1987:23::-;;;;:::o;2991:312::-;3070:12;3106:26;3125:6;3106:8;:14;3115:4;3106:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;3089:8;:14;3098:4;3089:14;;;;;;;;;;;;;;;:43;;;;3165:37;3195:6;3165:7;:13;3173:4;3165:13;;;;;;;;;;;;;;;:25;3179:10;3165:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;3137:7;:13;3145:4;3137:13;;;;;;;;;;;;;;;:25;3151:10;3137:25;;;;;;;;;;;;;;;:65;;;;3222:24;3239:6;3222:8;:12;3231:2;3222:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;3207:8;:12;3216:2;3207:12;;;;;;;;;;;;;;;:39;;;;3271:2;3256:26;;3265:4;3256:26;;;3275:6;3256:26;;;;;;;;;;;;;;;;;;3294:4;3287:11;;2991:312;;;;;:::o;7166:282::-;7207:4;7241:12;;7222:15;:31;7218:45;;7262:1;7255:8;;;;7218:45;7268:13;7284:8;;;;;;;;;;;:18;;;7311:4;7284:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7268:49;;7329:114;7426:16;7329:87;7390:25;;7329:51;7371:8;7348:12;;7330:15;:30;7329:41;;:51;;;;:::i;:::-;:60;;:87;;;;:::i;:::-;:96;;:114;;;;:::i;:::-;7322:121;;;7166:282;;:::o;2260:108::-;2302:66;2260:108;;;:::o;1883:35::-;1916:2;1883:35;:::o;2123:31::-;;;;:::o;7453:198::-;7498:4;7528:1;7513:11;;:16;7509:30;;;7538:1;7531:8;;;;7509:30;7551:95;7634:11;;7551:73;7618:5;7551:57;7594:4;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7551:8;;;;;;;;;;;:18;;;7578:4;7551:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:42;;:57;;;;:::i;:::-;:66;;:73;;;;:::i;:::-;:82;;:95;;;;:::i;:::-;7544:102;;7453:198;;:::o;9154:77::-;9208:18;9219:6;9208:10;:18::i;:::-;9154:77;:::o;8997:88::-;9042:15;:13;:15::i;:::-;9062:18;9073:6;9062:10;:18::i;:::-;8997:88;:::o;2588:103::-;2645:12;2671:8;:15;2680:5;2671:15;;;;;;;;;;;;;;;;2664:22;;2588:103;;;:::o;2372:38::-;;;;;;;;;;;;;;;;;:::o;5037:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;1922:36::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4982:24::-;;;;:::o;7937:793::-;8189:15;:13;:15::i;:::-;8211:13;8227:8;;;;;;;;;;;:18;;;8254:4;8227:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8211:49;;8297:11;;8273:20;8286:6;8273:8;:12;;:20;;;;:::i;:::-;:35;;8265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8482:1;8467:11;;:16;:33;;;;8499:1;8487:8;:13;8467:33;8463:193;;;8508:29;8518:10;8530:6;8508:9;:29::i;:::-;8463:193;;;8555:17;8575:37;8603:8;8575:23;8586:11;;8575:6;:10;;:23;;;;:::i;:::-;:27;;:37;;;;:::i;:::-;8555:57;;8618:32;8628:10;8640:9;8618;:32::i;:::-;8463:193;;8668:8;;;;;;;;;;;:21;;;8690:10;8710:4;8717:6;8668:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8660:65;;;;;;7937:793;;:::o;2696:290::-;2757:12;2798:4;2784:19;;:2;:19;;;;2776:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2847:32;2872:6;2847:8;:20;2856:10;2847:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;2824:8;:20;2833:10;2824:20;;;;;;;;;;;;;;;:55;;;;2899:24;2916:6;2899:8;:12;2908:2;2899:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;2884:8;:12;2893:2;2884:12;;;;;;;;;;;;;;;:39;;;;2954:2;2933:32;;2942:10;2933:32;;;2958:6;2933:32;;;;;;;;;;;;;;;;;;2977:4;2970:11;;2696:290;;;;:::o;6521:137::-;6589:10;:22;6600:10;6589:22;;;;;;;;;;;;;;;;;;;;;;;;;6581:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6644:9;;6635:6;:18;;;;;;;:::i;:::-;;6521:137;;:::o;4912:25::-;;;;;;;;;;;;;:::o;5010:23::-;;;;:::o;6661:146::-;6728:10;:22;6739:10;6728:22;;;;;;;;;;;;;;;;;;;;;;;;;6720:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6788:14;6774:11;:28;;;;6661:146;:::o;3651:600::-;3792:15;3780:8;:27;;3772:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3833:14;3898:16;;2302:66;3941:15;;3958:5;3965:7;3974:6;3982;:13;3989:5;3982:13;;;;;;;;;;;;;;;;:15;;;;;;;;;;;;3999:8;3930:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3920:89;;;;;;3860:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3850:165;;;;;;3833:182;;4020:24;4047:26;4057:6;4065:1;4068;4071;4047:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4020:53;;4114:1;4086:30;;:16;:30;;;;:59;;;;;4140:5;4120:25;;:16;:25;;;4086:59;4078:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4198:6;4172:7;:14;4180:5;4172:14;;;;;;;;;;;;;;;:23;4187:7;4172:23;;;;;;;;;;;;;;;:32;;;;4230:7;4214:32;;4223:5;4214:32;;;4239:6;4214:32;;;;;;;;;;;;;;;;;;3651:600;;;;;;;;;:::o;3502:130::-;3576:14;3604:7;:14;3612:5;3604:14;;;;;;;;;;;;;;;:23;3619:7;3604:23;;;;;;;;;;;;;;;;3597:30;;3502:130;;;;:::o;4941:37::-;;;;:::o;431:115::-;483:4;513:1;508;:6;;500:15;;;;;;537:1;533;:5;526:12;;431:115;;;;:::o;554:136::-;606:4;623:6;636:1;632;:5;623:14;;661:1;656;:6;;648:15;;;;;;681:1;674:8;;;554:136;;;;:::o;92:150::-;144:4;161:6;174:1;170;:5;161:14;;199:1;194;:6;:20;;;;213:1;208;204;:5;;;;;;:10;194:20;186:29;;;;;;233:1;226:8;;;92:150;;;;:::o;250:173::-;302:4;331:1;327;:5;319:14;;;;;;344:6;357:1;353;:5;;;;;;344:14;;394:1;390;:5;;;;;;386:1;382;:5;:13;377:1;:18;369:27;;;;;;414:1;407:8;;;250:173;;;;:::o;8735:257::-;8785:16;8804:8;;;;;;;;;;;:18;;;8831:4;8804:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8785:52;;8842:17;8862:37;8887:11;;8862:20;8873:8;8862:6;:10;;:20;;;;:::i;:::-;:24;;:37;;;;:::i;:::-;8842:57;;8904:29;8914:10;8926:6;8904:9;:29::i;:::-;8946:8;;;;;;;;;;;:17;;;8964:10;8976:9;8946:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8938:49;;;;;;8735:257;;;:::o;4267:286::-;4342:23;4358:6;4342:11;;:15;;:23;;;;:::i;:::-;4328:11;:37;;;;4388:27;4408:6;4388:8;:15;4397:5;4388:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;4370:8;:15;4379:5;4370:15;;;;;;;;;;;;;;;:45;;;;4534:5;4513:35;;4530:1;4513:35;;;4541:6;4513:35;;;;;;;;;;;;;;;;;;4267:286;;:::o;4556:198::-;4631:23;4647:6;4631:11;;:15;;:23;;;;:::i;:::-;4617:11;:37;;;;4677:27;4697:6;4677:8;:15;4686:5;4677:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;4659:8;:15;4668:5;4659:15;;;;;;;;;;;;;;;:45;;;;4738:1;4714:35;;4723:5;4714:35;;;4742:6;4714:35;;;;;;;;;;;;;;;;;;4556:198;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

ipfs://13103ad6ef487211bbd1d9115f80d2383a57a99425ea65fdabd993d1ede43df1
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.