ETH Price: $2,070.99 (-5.10%)
 

Overview

Max Total Supply

59,098.844386147095354754 DFE

Holders

18

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1 DFE

Value
$0.00
0xf15a52c7867a22e67ad936b6bef1208acb6972cc
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

DFE is DeFi Staking, Farming, and Exchange platform. In addition, to yield farming strategies via smart contract, DFE provides security services for inexperienced users as a DeFi gateway and shows all on Blockchain to users for transparency purposes.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
DFEStaking

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license, Audited
/**
 *Submitted for verification at Etherscan.io on 2020-11-30
*/

pragma solidity ^0.5.13;

interface Callable {
	function tokenCallback(address _from, uint256 _tokens, bytes calldata _data) external returns (bool);
}

contract DFEStaking {

	uint256 constant private FLOAT_SCALAR = 2**64;
	uint256 constant private INITIAL_SUPPLY = 60000e18; //available supply
	uint256 constant private BURN_RATE = 6; //burn every per txn
	uint256 constant private TAX_RATE = 1; //tax every per stake
	uint256 constant private SUPPLY_FLOOR = 50; // % of supply
	uint256 constant private MIN_FREEZE_AMOUNT = 1e18; //Minimum amount for stake

	string constant public name = "DFE.Finance";
	string constant public symbol = "DFE";
	uint8 constant public decimals = 18;

	struct User {
		bool whitelisted;
		uint256 balance;
		uint256 staken;
		mapping(address => uint256) allowance;
		int256 scaledPayout;
	}

	struct Info {
		uint256 totalSupply;
		uint256 totalStaken;
		mapping(address => User) users;
		uint256 scaledPayoutPerToken;
		address admin;
	}
	Info private info;


	event Transfer(address indexed from, address indexed to, uint256 tokens);
	event Approval(address indexed owner, address indexed spender, uint256 tokens);
	event Whitelist(address indexed user, bool status);
	event Stack(address indexed owner, uint256 tokens);
	event UnStack(address indexed owner, uint256 tokens);
	event Withdraw(address indexed owner, uint256 tokens);
	event Burn(uint256 tokens);


	constructor() public {
		info.admin = msg.sender;
		info.totalSupply = INITIAL_SUPPLY;
		info.users[msg.sender].balance = INITIAL_SUPPLY;
		emit Transfer(address(0x0), msg.sender, INITIAL_SUPPLY);
		whitelist(msg.sender, true);
	}

	function stack(uint256 _tokens) external {
		_stack(_tokens);
	}

	function unstack(uint256 _tokens) external {
		_unstack(_tokens);
	}

	function withdraw() external returns (uint256) {
		uint256 _dividends = dividendsOf(msg.sender);
		require(_dividends >= 0);
		info.users[msg.sender].scaledPayout += int256(_dividends * FLOAT_SCALAR);
		info.users[msg.sender].balance += _dividends;
		emit Transfer(address(this), msg.sender, _dividends);
		emit Stack(msg.sender, _dividends);
		return _dividends;
	}

	function burn(uint256 _tokens) external {
		require(balanceOf(msg.sender) >= _tokens);
		info.users[msg.sender].balance -= _tokens;
		uint256 _burnedAmount = _tokens;
		if (info.totalStaken > 0) {
			_burnedAmount /= 2;
			info.scaledPayoutPerToken += _burnedAmount * FLOAT_SCALAR / info.totalStaken;
			emit Transfer(msg.sender, address(this), _burnedAmount);
		}
		info.totalSupply -= _burnedAmount;
		emit Transfer(msg.sender, address(0x0), _burnedAmount);
		emit Burn(_burnedAmount);
	}

	function distribute(uint256 _tokens) external {
		require(info.totalStaken > 0);
		require(balanceOf(msg.sender) >= _tokens);
		info.users[msg.sender].balance -= _tokens;
		info.scaledPayoutPerToken += _tokens * FLOAT_SCALAR / info.totalStaken;
		emit Transfer(msg.sender, address(this), _tokens);
	}

	function transfer(address _to, uint256 _tokens) external returns (bool) {
		_transfer(msg.sender, _to, _tokens);
		return true;
	}

	function approve(address _spender, uint256 _tokens) external returns (bool) {
		info.users[msg.sender].allowance[_spender] = _tokens;
		emit Approval(msg.sender, _spender, _tokens);
		return true;
	}

	function transferFrom(address _from, address _to, uint256 _tokens) external returns (bool) {
		require(info.users[_from].allowance[msg.sender] >= _tokens);
		info.users[_from].allowance[msg.sender] -= _tokens;
		_transfer(_from, _to, _tokens);
		return true;
	}

	function transferAndCall(address _to, uint256 _tokens, bytes calldata _data) external returns (bool) {
		uint256 _transferred = _transfer(msg.sender, _to, _tokens);
		uint32 _size;
		assembly {
			_size := extcodesize(_to)
		}
		if (_size > 0) {
			require(Callable(_to).tokenCallback(msg.sender, _transferred, _data));
		}
		return true;
	}

	function bulkTransfer(address[] calldata _receivers, uint256[] calldata _amounts) external {
		require(_receivers.length == _amounts.length);
		for (uint256 i = 0; i < _receivers.length; i++) {
			_transfer(msg.sender, _receivers[i], _amounts[i]);
		}
	}

	function whitelist(address _user, bool _status) public {
		require(msg.sender == info.admin);
		info.users[_user].whitelisted = _status;
		emit Whitelist(_user, _status);
	}


	function totalSupply() public view returns (uint256) {
		return info.totalSupply;
	}

	function totalStaken() public view returns (uint256) {
		return info.totalStaken;
	}

	function balanceOf(address _user) public view returns (uint256) {
		return info.users[_user].balance - stackOf(_user);
	}

	function stackOf(address _user) public view returns (uint256) {
		return info.users[_user].staken;
	}

	function dividendsOf(address _user) public view returns (uint256) {
		return uint256(int256(info.scaledPayoutPerToken * info.users[_user].staken) - info.users[_user].scaledPayout) / FLOAT_SCALAR;
	}

	function allowance(address _user, address _spender) public view returns (uint256) {
		return info.users[_user].allowance[_spender];
	}

	function isWhitelisted(address _user) public view returns (bool) {
		return info.users[_user].whitelisted;
	}

	function allInfoFor(address _user) public view returns (uint256 totalTokenSupply, uint256 totalTokensStaken, uint256 userBalance, uint256 userStaken, uint256 userDividends) {
		return (totalSupply(), totalStaken(), balanceOf(_user), stackOf(_user), dividendsOf(_user));
	}


	function _transfer(address _from, address _to, uint256 _tokens) internal returns (uint256) {
		require(balanceOf(_from) >= _tokens);
		info.users[_from].balance -= _tokens;
		uint256 _burnedAmount = _tokens * BURN_RATE / 100;
		if (totalSupply() - _burnedAmount < INITIAL_SUPPLY * SUPPLY_FLOOR / 100 || isWhitelisted(_from)) {
			_burnedAmount = 0;
		}
		uint256 _transferred = _tokens - _burnedAmount;
		info.users[_to].balance += _transferred;
		emit Transfer(_from, _to, _transferred);
		if (_burnedAmount > 0) {
			if (info.totalStaken > 0) {
				_burnedAmount /= 2;
				info.scaledPayoutPerToken += _burnedAmount * FLOAT_SCALAR / info.totalStaken;
				emit Transfer(_from, address(this), _burnedAmount);
			}
			info.totalSupply -= _burnedAmount;
			emit Transfer(_from, address(0x0), _burnedAmount);
			emit Burn(_burnedAmount);
		}
		return _transferred;
	}

	function _stack(uint256 _amount) internal {
		require(balanceOf(msg.sender) >= _amount);
		require(stackOf(msg.sender) + _amount >= MIN_FREEZE_AMOUNT);
		uint256 _taxAmount = _amount * TAX_RATE / 100;
		info.totalStaken += _amount - _taxAmount;
		info.users[msg.sender].staken += _amount - _taxAmount;
		info.users[msg.sender].scaledPayout += int256((_amount - _taxAmount) * info.scaledPayoutPerToken);
		emit Transfer(msg.sender, address(this), _amount);
		emit Stack(msg.sender, _amount);
	}

	function _unstack(uint256 _amount) internal {
		require(stackOf(msg.sender) >= _amount);
		uint256 _burnedAmount = _amount * BURN_RATE / 100;
		info.scaledPayoutPerToken += _burnedAmount * FLOAT_SCALAR / info.totalStaken;
		info.totalStaken -= _amount;
		info.users[msg.sender].balance -= _burnedAmount;
		info.users[msg.sender].staken -= _amount;
		info.users[msg.sender].scaledPayout -= int256(_amount * info.scaledPayoutPerToken);
		emit Transfer(address(this), msg.sender, _amount - _burnedAmount);
		emit Stack(msg.sender, _amount);
	}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"payable":false,"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":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Stack","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":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"UnStack","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"Whitelist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Withdraw","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"allInfoFor","outputs":[{"internalType":"uint256","name":"totalTokenSupply","type":"uint256"},{"internalType":"uint256","name":"totalTokensStaken","type":"uint256"},{"internalType":"uint256","name":"userBalance","type":"uint256"},{"internalType":"uint256","name":"userStaken","type":"uint256"},{"internalType":"uint256","name":"userDividends","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_receivers","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"bulkTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"distribute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"dividendsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"stack","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"stackOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalStaken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"transferAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"unstack","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"whitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50600480546001600160a01b03191633908117909155690cb49b44ba602d800000600081815582815260026020908152604080832060010184905580519384525191927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a36100923360016001600160e01b0361009716565b61010e565b6004546001600160a01b031633146100ae57600080fd5b6001600160a01b038216600081815260026020908152604091829020805460ff1916851515908117909155825190815291517f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d9281900390910190a25050565b610f798061011d6000396000f3fe608060405234801561001057600080fd5b50600436106101415760003560e01c80634000aea0116100b857806395d89b411161007c57806395d89b41146104e4578063a9059cbb146104ec578063d1390f5914610518578063dc9031c41461053e578063dd62ed3e1461055b578063f59c37081461058957610141565b80634000aea0146103ae57806342966c681461043357806357f6b8121461045057806370a08231146104a157806391c05b0b146104c757610141565b806318160ddd1161010a57806318160ddd14610307578063200061df1461030f57806323b872dd1461032c578063313ce567146103625780633af32abf146103805780633ccfd60b146103a657610141565b806265318b1461014657806306fdde031461017e578063095ea7b3146101fb578063153a1f3e1461023b578063160e0669146102ff575b600080fd5b61016c6004803603602081101561015c57600080fd5b50356001600160a01b03166105b7565b60408051918252519081900360200190f35b6101866105eb565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c05781810151838201526020016101a8565b50505050905090810190601f1680156101ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102276004803603604081101561021157600080fd5b506001600160a01b038135169060200135610612565b604080519115158252519081900360200190f35b6102fd6004803603604081101561025157600080fd5b81019060208101813564010000000081111561026c57600080fd5b82018360208201111561027e57600080fd5b803590602001918460208302840111640100000000831117156102a057600080fd5b9193909290916020810190356401000000008111156102be57600080fd5b8201836020820111156102d057600080fd5b803590602001918460208302840111640100000000831117156102f257600080fd5b50909250905061067c565b005b61016c6106db565b61016c6106e1565b6102fd6004803603602081101561032557600080fd5b50356106e7565b6102276004803603606081101561034257600080fd5b506001600160a01b038135811691602081013590911690604001356106f3565b61036a610769565b6040805160ff9092168252519081900360200190f35b6102276004803603602081101561039657600080fd5b50356001600160a01b031661076e565b61016c61078c565b610227600480360360608110156103c457600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156103f457600080fd5b82018360208201111561040657600080fd5b8035906020019184600183028401116401000000008311171561042857600080fd5b509092509050610821565b6102fd6004803603602081101561044957600080fd5b5035610908565b6104766004803603602081101561046657600080fd5b50356001600160a01b03166109ef565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b61016c600480360360208110156104b757600080fd5b50356001600160a01b0316610a34565b6102fd600480360360208110156104dd57600080fd5b5035610a63565b610186610ae4565b6102276004803603604081101561050257600080fd5b506001600160a01b038135169060200135610b03565b61016c6004803603602081101561052e57600080fd5b50356001600160a01b0316610b1a565b6102fd6004803603602081101561055457600080fd5b5035610b39565b61016c6004803603604081101561057157600080fd5b506001600160a01b0381358116916020013516610b42565b6102fd6004803603604081101561059f57600080fd5b506001600160a01b0381351690602001351515610b71565b6001600160a01b031660009081526002602081905260409091206004810154910154600354600160401b9102919091030490565b6040518060400160405280600b81526020016a4446452e46696e616e636560a81b81525081565b3360008181526002602090815260408083206001600160a01b03871680855260039091018352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b82811461068857600080fd5b60005b838110156106d4576106cb338686848181106106a357fe5b905060200201356001600160a01b03168585858181106106bf57fe5b90506020020135610be8565b5060010161068b565b5050505050565b60015490565b60005490565b6106f081610d79565b50565b6001600160a01b038316600090815260026020908152604080832033845260030190915281205482111561072657600080fd5b6001600160a01b038416600090815260026020908152604080832033845260030190915290208054839003905561075e848484610be8565b506001949350505050565b601281565b6001600160a01b031660009081526002602052604090205460ff1690565b600080610798336105b7565b905033600081815260026020908152604091829020600481018054600160401b8702019055600101805485019055815184815291513092600080516020610f2583398151915292908290030190a360408051828152905133917f56a71a669e4fca55407f32f2924bb9bfa71ef1eb06457d649fc358de5a866e05919081900360200190a2905090565b60008061082f338787610be8565b9050853b63ffffffff8116156108fb57604051636be32e7360e01b8152336004820181815260248301859052606060448401908152606484018890526001600160a01b038b1693636be32e73939287928b928b929190608401848480828437600081840152601f19601f82011690508083019250505095505050505050602060405180830381600087803b1580156108c657600080fd5b505af11580156108da573d6000803e3d6000fd5b505050506040513d60208110156108f057600080fd5b50516108fb57600080fd5b5060019695505050505050565b8061091233610a34565b101561091d57600080fd5b3360009081526002602052604090206001908101805483900390555481901561098b57600154600290910490600160401b82028161095757fe5b600380549290910491909101905560408051828152905130913391600080516020610f258339815191529181900360200190a35b6000805482900381556040805183815290513391600080516020610f25833981519152919081900360200190a36040805182815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a15050565b60008060008060006109ff6106e1565b610a076106db565b610a1088610a34565b610a1989610b1a565b610a228a6105b7565b939a9299509097509550909350915050565b6000610a3f82610b1a565b6001600160a01b038316600090815260026020526040902060010154039050919050565b600154610a6f57600080fd5b80610a7933610a34565b1015610a8457600080fd5b33600090815260026020526040902060019081018054839003905554600160401b820281610aae57fe5b600380549290910491909101905560408051828152905130913391600080516020610f258339815191529181900360200190a350565b6040518060400160405280600381526020016244464560e81b81525081565b6000610b10338484610be8565b5060019392505050565b6001600160a01b03166000908152600260208190526040909120015490565b6106f081610e56565b6001600160a01b0391821660009081526002602090815260408083209390941682526003909201909152205490565b6004546001600160a01b03163314610b8857600080fd5b6001600160a01b038216600081815260026020908152604091829020805460ff1916851515908117909155825190815291517f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d9281900390910190a25050565b600081610bf485610a34565b1015610bff57600080fd5b6001600160a01b0384166000908152600260205260409020600101805483900390556064600683020469065a4da25d3016c0000081610c3c6106e1565b031080610c4d5750610c4d8561076e565b15610c56575060005b6001600160a01b0380851660008181526002602090815260409182902060010180548689039081019091558251818152925190948a1692600080516020610f2583398151915292908290030190a38115610d705760015415610d0657600154600290920491600160401b830281610cc957fe5b600380549290910491909101905560408051838152905130916001600160a01b03891691600080516020610f258339815191529181900360200190a35b6000805483900381556040805184815290516001600160a01b03891691600080516020610f25833981519152919081900360200190a36040805183815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a15b95945050505050565b80610d8333610b1a565b1015610d8e57600080fd5b6001546064600683020490600160401b820281610da757fe5b6003805492909104909101815560018054849003815533600081815260026020818152604092839020948501805488900390559084018054889003905593546004909301805493870290930390925581518486038152915190923092600080516020610f25833981519152929081900390910190a360408051838152905133917f56a71a669e4fca55407f32f2924bb9bfa71ef1eb06457d649fc358de5a866e05919081900360200190a25050565b80610e6033610a34565b1015610e6b57600080fd5b670de0b6b3a764000081610e7e33610b1a565b011015610e8a57600080fd5b6001805460648304808403918201909255336000818152600260208181526040928390209182018054860190556003546004909201805492909502909101909355805185815290513093600080516020610f25833981519152928290030190a360408051838152905133917f56a71a669e4fca55407f32f2924bb9bfa71ef1eb06457d649fc358de5a866e05919081900360200190a2505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa265627a7a72315820e114680698e669e7162d73cd93f162e6d4d2e79af5aa2ecbdd0e1673781fc21b64736f6c63430005110032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101415760003560e01c80634000aea0116100b857806395d89b411161007c57806395d89b41146104e4578063a9059cbb146104ec578063d1390f5914610518578063dc9031c41461053e578063dd62ed3e1461055b578063f59c37081461058957610141565b80634000aea0146103ae57806342966c681461043357806357f6b8121461045057806370a08231146104a157806391c05b0b146104c757610141565b806318160ddd1161010a57806318160ddd14610307578063200061df1461030f57806323b872dd1461032c578063313ce567146103625780633af32abf146103805780633ccfd60b146103a657610141565b806265318b1461014657806306fdde031461017e578063095ea7b3146101fb578063153a1f3e1461023b578063160e0669146102ff575b600080fd5b61016c6004803603602081101561015c57600080fd5b50356001600160a01b03166105b7565b60408051918252519081900360200190f35b6101866105eb565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c05781810151838201526020016101a8565b50505050905090810190601f1680156101ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102276004803603604081101561021157600080fd5b506001600160a01b038135169060200135610612565b604080519115158252519081900360200190f35b6102fd6004803603604081101561025157600080fd5b81019060208101813564010000000081111561026c57600080fd5b82018360208201111561027e57600080fd5b803590602001918460208302840111640100000000831117156102a057600080fd5b9193909290916020810190356401000000008111156102be57600080fd5b8201836020820111156102d057600080fd5b803590602001918460208302840111640100000000831117156102f257600080fd5b50909250905061067c565b005b61016c6106db565b61016c6106e1565b6102fd6004803603602081101561032557600080fd5b50356106e7565b6102276004803603606081101561034257600080fd5b506001600160a01b038135811691602081013590911690604001356106f3565b61036a610769565b6040805160ff9092168252519081900360200190f35b6102276004803603602081101561039657600080fd5b50356001600160a01b031661076e565b61016c61078c565b610227600480360360608110156103c457600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156103f457600080fd5b82018360208201111561040657600080fd5b8035906020019184600183028401116401000000008311171561042857600080fd5b509092509050610821565b6102fd6004803603602081101561044957600080fd5b5035610908565b6104766004803603602081101561046657600080fd5b50356001600160a01b03166109ef565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b61016c600480360360208110156104b757600080fd5b50356001600160a01b0316610a34565b6102fd600480360360208110156104dd57600080fd5b5035610a63565b610186610ae4565b6102276004803603604081101561050257600080fd5b506001600160a01b038135169060200135610b03565b61016c6004803603602081101561052e57600080fd5b50356001600160a01b0316610b1a565b6102fd6004803603602081101561055457600080fd5b5035610b39565b61016c6004803603604081101561057157600080fd5b506001600160a01b0381358116916020013516610b42565b6102fd6004803603604081101561059f57600080fd5b506001600160a01b0381351690602001351515610b71565b6001600160a01b031660009081526002602081905260409091206004810154910154600354600160401b9102919091030490565b6040518060400160405280600b81526020016a4446452e46696e616e636560a81b81525081565b3360008181526002602090815260408083206001600160a01b03871680855260039091018352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b82811461068857600080fd5b60005b838110156106d4576106cb338686848181106106a357fe5b905060200201356001600160a01b03168585858181106106bf57fe5b90506020020135610be8565b5060010161068b565b5050505050565b60015490565b60005490565b6106f081610d79565b50565b6001600160a01b038316600090815260026020908152604080832033845260030190915281205482111561072657600080fd5b6001600160a01b038416600090815260026020908152604080832033845260030190915290208054839003905561075e848484610be8565b506001949350505050565b601281565b6001600160a01b031660009081526002602052604090205460ff1690565b600080610798336105b7565b905033600081815260026020908152604091829020600481018054600160401b8702019055600101805485019055815184815291513092600080516020610f2583398151915292908290030190a360408051828152905133917f56a71a669e4fca55407f32f2924bb9bfa71ef1eb06457d649fc358de5a866e05919081900360200190a2905090565b60008061082f338787610be8565b9050853b63ffffffff8116156108fb57604051636be32e7360e01b8152336004820181815260248301859052606060448401908152606484018890526001600160a01b038b1693636be32e73939287928b928b929190608401848480828437600081840152601f19601f82011690508083019250505095505050505050602060405180830381600087803b1580156108c657600080fd5b505af11580156108da573d6000803e3d6000fd5b505050506040513d60208110156108f057600080fd5b50516108fb57600080fd5b5060019695505050505050565b8061091233610a34565b101561091d57600080fd5b3360009081526002602052604090206001908101805483900390555481901561098b57600154600290910490600160401b82028161095757fe5b600380549290910491909101905560408051828152905130913391600080516020610f258339815191529181900360200190a35b6000805482900381556040805183815290513391600080516020610f25833981519152919081900360200190a36040805182815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a15050565b60008060008060006109ff6106e1565b610a076106db565b610a1088610a34565b610a1989610b1a565b610a228a6105b7565b939a9299509097509550909350915050565b6000610a3f82610b1a565b6001600160a01b038316600090815260026020526040902060010154039050919050565b600154610a6f57600080fd5b80610a7933610a34565b1015610a8457600080fd5b33600090815260026020526040902060019081018054839003905554600160401b820281610aae57fe5b600380549290910491909101905560408051828152905130913391600080516020610f258339815191529181900360200190a350565b6040518060400160405280600381526020016244464560e81b81525081565b6000610b10338484610be8565b5060019392505050565b6001600160a01b03166000908152600260208190526040909120015490565b6106f081610e56565b6001600160a01b0391821660009081526002602090815260408083209390941682526003909201909152205490565b6004546001600160a01b03163314610b8857600080fd5b6001600160a01b038216600081815260026020908152604091829020805460ff1916851515908117909155825190815291517f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d9281900390910190a25050565b600081610bf485610a34565b1015610bff57600080fd5b6001600160a01b0384166000908152600260205260409020600101805483900390556064600683020469065a4da25d3016c0000081610c3c6106e1565b031080610c4d5750610c4d8561076e565b15610c56575060005b6001600160a01b0380851660008181526002602090815260409182902060010180548689039081019091558251818152925190948a1692600080516020610f2583398151915292908290030190a38115610d705760015415610d0657600154600290920491600160401b830281610cc957fe5b600380549290910491909101905560408051838152905130916001600160a01b03891691600080516020610f258339815191529181900360200190a35b6000805483900381556040805184815290516001600160a01b03891691600080516020610f25833981519152919081900360200190a36040805183815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a15b95945050505050565b80610d8333610b1a565b1015610d8e57600080fd5b6001546064600683020490600160401b820281610da757fe5b6003805492909104909101815560018054849003815533600081815260026020818152604092839020948501805488900390559084018054889003905593546004909301805493870290930390925581518486038152915190923092600080516020610f25833981519152929081900390910190a360408051838152905133917f56a71a669e4fca55407f32f2924bb9bfa71ef1eb06457d649fc358de5a866e05919081900360200190a25050565b80610e6033610a34565b1015610e6b57600080fd5b670de0b6b3a764000081610e7e33610b1a565b011015610e8a57600080fd5b6001805460648304808403918201909255336000818152600260208181526040928390209182018054860190556003546004909201805492909502909101909355805185815290513093600080516020610f25833981519152928290030190a360408051838152905133917f56a71a669e4fca55407f32f2924bb9bfa71ef1eb06457d649fc358de5a866e05919081900360200190a2505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa265627a7a72315820e114680698e669e7162d73cd93f162e6d4d2e79af5aa2ecbdd0e1673781fc21b64736f6c63430005110032

Deployed Bytecode Sourcemap

159:7402:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;159:7402:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4868:200;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4868:200:0;-1:-1:-1;;;;;4868:200:0;;:::i;:::-;;;;;;;;;;;;;;;;576:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;576:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3167:203;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3167:203:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4002:259;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4002:259:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;4002:259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4002:259:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4002:259:0;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;4002:259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4002:259:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;4002:259:0;;-1:-1:-1;4002:259:0;-1:-1:-1;4002:259:0;:::i;:::-;;4541:86;;;:::i;4450:::-;;;:::i;1757:70::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1757:70:0;;:::i;3375:266::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3375:266:0;;;;;;;;;;;;;;;;;:::i;664:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5214:111;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5214:111:0;-1:-1:-1;;;;;5214:111:0;;:::i;1832:374::-;;;:::i;3646:351::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;3646:351:0;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;3646:351:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3646:351:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;3646:351:0;;-1:-1:-1;3646:351:0;-1:-1:-1;3646:351:0;:::i;2211:502::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2211:502:0;;:::i;5330:274::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5330:274:0;-1:-1:-1;;;;;5330:274:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4632:123;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4632:123:0;-1:-1:-1;;;;;4632:123:0;;:::i;2718:306::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2718:306:0;;:::i;623:37::-;;;:::i;3029:133::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3029:133:0;;;;;;;;:::i;4760:103::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4760:103:0;-1:-1:-1;;;;;4760:103:0;;:::i;1686:66::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1686:66:0;;:::i;5073:136::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5073:136:0;;;;;;;;;;:::i;4266:177::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4266:177:0;;;;;;;;;;:::i;4868:200::-;-1:-1:-1;;;;;5017:17:0;4925:7;5017:17;;;:10;:17;;;;;;;;:30;;;;4989:24;;;4961:25;;-1:-1:-1;;;4961:52:0;;4954:93;;;;4946:117;;4868:200::o;576:43::-;;;;;;;;;;;;;;-1:-1:-1;;;576:43:0;;;;:::o;3167:203::-;3259:10;3237:4;3248:22;;;:10;:22;;;;;;;;-1:-1:-1;;;;;3248:42:0;;;;;:32;;;;:42;;;;;:52;;;3310:39;;;;;;;3237:4;;3248:42;;3259:10;;3310:39;;;;;;;;-1:-1:-1;3361:4:0;3167:203;;;;:::o;4002:259::-;4106:36;;;4098:45;;;;;;4153:9;4148:109;4168:21;;;4148:109;;;4202:49;4212:10;4224;;4235:1;4224:13;;;;;;;;;;;;;-1:-1:-1;;;;;4224:13:0;4239:8;;4248:1;4239:11;;;;;;;;;;;;;4202:9;:49::i;:::-;-1:-1:-1;4191:3:0;;4148:109;;;;4002:259;;;;:::o;4541:86::-;4606:16;;4541:86;:::o;4450:::-;4494:7;4515:16;4450:86;:::o;1757:70::-;1805:17;1814:7;1805:8;:17::i;:::-;1757:70;:::o;3375:266::-;-1:-1:-1;;;;;3479:17:0;;3460:4;3479:17;;;:10;:17;;;;;;;;3507:10;3479:39;;:27;;:39;;;;;;:50;-1:-1:-1;3479:50:0;3471:59;;;;;;-1:-1:-1;;;;;3535:17:0;;:4;:17;;;:10;:17;;;;;;;;3563:10;3535:39;;:27;;:39;;;;;:50;;;;;;;3590:30;3546:5;3607:3;3578:7;3590:9;:30::i;:::-;-1:-1:-1;3632:4:0;;3375:266;-1:-1:-1;;;;3375:266:0:o;664:35::-;697:2;664:35;:::o;5214:111::-;-1:-1:-1;;;;;5291:17:0;5273:4;5291:17;;;:10;:17;;;;;:29;;;;5214:111::o;1832:374::-;1870:7;1884:18;1905:23;1917:10;1905:11;:23::i;:::-;1884:44;-1:-1:-1;1973:10:0;1962:4;:22;;;:10;:22;;;;;;;;;:35;;;:72;;-1:-1:-1;;;2008:25:0;;1962:72;;;-1:-1:-1;2039:30:0;:44;;;;;;2093:47;;;;;;;2110:4;;-1:-1:-1;;;;;;;;;;;2093:47:0;;;;;;;;2150:29;;;;;;;;2156:10;;2150:29;;;;;;;;;;2191:10;-1:-1:-1;1832:374:0;:::o;3646:351::-;3741:4;3752:20;3775:35;3785:10;3797:3;3802:7;3775:9;:35::i;:::-;3752:58;-1:-1:-1;3856:16:0;;3885:9;;;;3881:96;;3910:60;;-1:-1:-1;;;3910:60:0;;3938:10;3910:60;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3910:27:0;;;;;3938:10;3950:12;;3964:5;;;;3910:60;;;;3964:5;;;;3910:60;1:33:-1;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;3910:60:0;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3910:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3910:60:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3910:60:0;3902:69;;;;;;-1:-1:-1;3988:4:0;;3646:351;-1:-1:-1;;;;;;3646:351:0:o;2211:502::-;2289:7;2264:21;2274:10;2264:9;:21::i;:::-;:32;;2256:41;;;;;;2313:10;2302:4;:22;;;:10;:22;;;;;:30;;;;:41;;;;;;;2388:16;2336:7;;2388:20;2384:199;;2500:16;;2433:1;2416:18;;;;-1:-1:-1;;;2469:28:0;;2500:16;2469:47;;;;2440:25;:76;;2469:47;;;;2440:76;;;;;;2527:50;;;;;;;;2556:4;;2536:10;;-1:-1:-1;;;;;;;;;;;2527:50:0;;;;;;;;2384:199;2587:4;:33;;;;;;;2630:49;;;;;;;;2639:10;;-1:-1:-1;;;;;;;;;;;2630:49:0;;;;;;;;;2689:19;;;;;;;;;;;;;;;;;2211:502;;:::o;5330:274::-;5386:24;5412:25;5439:19;5460:18;5480:21;5516:13;:11;:13::i;:::-;5531;:11;:13::i;:::-;5546:16;5556:5;5546:9;:16::i;:::-;5564:14;5572:5;5564:7;:14::i;:::-;5580:18;5592:5;5580:11;:18::i;:::-;5508:91;;;;-1:-1:-1;5508:91:0;;-1:-1:-1;5508:91:0;-1:-1:-1;5508:91:0;;-1:-1:-1;5330:274:0;-1:-1:-1;;5330:274:0:o;4632:123::-;4687:7;4736:14;4744:5;4736:7;:14::i;:::-;-1:-1:-1;;;;;4708:17:0;;:4;:17;;;:10;:17;;;;;:25;;;:42;;-1:-1:-1;4632:123:0;;;:::o;2718:306::-;2777:16;;2769:29;;;;;;2836:7;2811:21;2821:10;2811:9;:21::i;:::-;:32;;2803:41;;;;;;2860:10;2849:4;:22;;;:10;:22;;;;;:30;;;;:41;;;;;;;2949:16;-1:-1:-1;;;2924:22:0;;2949:16;2924:41;;;;2895:25;:70;;2924:41;;;;2895:70;;;;;;2975:44;;;;;;;;3004:4;;2984:10;;-1:-1:-1;;;;;;;;;;;2975:44:0;;;;;;;;2718:306;:::o;623:37::-;;;;;;;;;;;;;;-1:-1:-1;;;623:37:0;;;;:::o;3029:133::-;3095:4;3106:35;3116:10;3128:3;3133:7;3106:9;:35::i;:::-;-1:-1:-1;3153:4:0;;3029:133;-1:-1:-1;;;3029:133:0:o;4760:103::-;-1:-1:-1;;;;;4834:17:0;4813:7;4834:17;;;:10;:17;;;;;;;;:24;;;4760:103::o;1686:66::-;1732:15;1739:7;1732:6;:15::i;5073:136::-;-1:-1:-1;;;;;5167:17:0;;;5146:7;5167:17;;;:10;:17;;;;;;;;:37;;;;;;:27;;;;:37;;;;;;5073:136::o;4266:177::-;4348:10;;-1:-1:-1;;;;;4348:10:0;4334;:24;4326:33;;;;;;-1:-1:-1;;;;;4364:17:0;;:4;:17;;;:10;:17;;;;;;;;;:39;;-1:-1:-1;;4364:39:0;;;;;;;;;;4413:25;;;;;;;;;;;;;;;;;4266:177;;:::o;5611:885::-;5693:7;5735;5715:16;5725:5;5715:9;:16::i;:::-;:27;;5707:36;;;;;;-1:-1:-1;;;;;5748:17:0;;:4;:17;;;:10;:17;;;;;:25;;:36;;;;;;;5835:3;344:1;5813:19;;:25;5879:35;5813:25;5847:13;:11;:13::i;:::-;:29;:67;:91;;;;5918:20;5932:5;5918:13;:20::i;:::-;5843:126;;;-1:-1:-1;5962:1:0;5843:126;-1:-1:-1;;;;;6024:15:0;;;5973:20;6024:15;;;:10;:15;;;;;;;;;:23;;:39;;5996:23;;;6024:39;;;;;;6073:34;;;;;;;5996:23;;6073:34;;;-1:-1:-1;;;;;;;;;;;6073:34:0;;;;;;;;6116:17;;6112:356;;6145:16;;:20;6141:198;;6259:16;;6191:1;6174:18;;;;-1:-1:-1;;;6228:28:0;;6259:16;6228:47;;;;6199:25;:76;;6228:47;;;;6199:76;;;;;;6287:45;;;;;;;;6311:4;;-1:-1:-1;;;;;6287:45:0;;;-1:-1:-1;;;;;;;;;;;6287:45:0;;;;;;;;6141:198;6344:4;:33;;;;;;;6388:44;;;;;;;;-1:-1:-1;;;;;6388:44:0;;;-1:-1:-1;;;;;;;;;;;6388:44:0;;;;;;;;;6443:19;;;;;;;;;;;;;;;;;6112:356;6479:12;5611:885;-1:-1:-1;;;;;5611:885:0:o;7008:550::-;7088:7;7065:19;7073:10;7065:7;:19::i;:::-;:30;;7057:39;;;;;;7215:16;;7147:3;344:1;7125:19;;:25;;-1:-1:-1;;;7184:28:0;;7215:16;7184:47;;;;7155:25;:76;;7184:47;;;;7155:76;;;;;-1:-1:-1;7236:27:0;;;;;;;7279:10;-1:-1:-1;7268:22:0;;;-1:-1:-1;7268:22:0;;;;;;;;;:30;;;:47;;;;;;;7320:29;;;:40;;;;;;;7421:25;;7365:35;;;;:82;;7411:35;;;7365:82;;;;;;7457:60;;7493:23;;;7457:60;;;;7279:10;;7474:4;;-1:-1:-1;;;;;;;;;;;7457:60:0;;;;;;;;;;7527:26;;;;;;;;7533:10;;7527:26;;;;;;;;;;7008:550;;:::o;6501:502::-;6581:7;6556:21;6566:10;6556:9;:21::i;:::-;:32;;6548:41;;;;;;539:4;6624:7;6602:19;6610:10;6602:7;:19::i;:::-;:29;:50;;6594:59;;;;;;6708:16;:40;;6700:3;6679:24;;6728:20;;;6708:40;;;;;;6764:10;6658:18;6753:22;;;:10;:22;;;;;;;;;:29;;;:53;;;;;;6882:25;;6811:35;;;;:97;;6857:50;;;;6811:97;;;;;;6918:44;;;;;;;6947:4;;-1:-1:-1;;;;;;;;;;;6918:44:0;;;;;;;6972:26;;;;;;;;6978:10;;6972:26;;;;;;;;;;6501:502;;:::o

Swarm Source

bzzr://e114680698e669e7162d73cd93f162e6d4d2e79af5aa2ecbdd0e1673781fc21b
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.