ERC-20
Source Code
Overview
Max Total Supply
10,000,000,000 LINA
Holders
0
Transfers
-
0 (0%)
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
LinearFinance
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2020-09-26
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.12;
abstract contract Context {
function _msgSender() internal view virtual returns (address payable) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes memory) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}
contract Pausable is Context {
/**
* @dev Emitted when the pause is triggered by `account`.
*/
event Paused(address account);
/**
* @dev Emitted when the pause is lifted by `account`.
*/
event Unpaused(address account);
bool private _paused;
/**
* @dev Initializes the contract in unpaused state.
*/
constructor () internal {
_paused = false;
}
/**
* @dev Returns true if the contract is paused, and false otherwise.
*/
function paused() public view returns (bool) {
return _paused;
}
/**
* @dev Modifier to make a function callable only when the contract is not paused.
*
* Requirements:
*
* - The contract must not be paused.
*/
modifier whenNotPaused() {
require(!_paused, "Pausable: paused");
_;
}
/**
* @dev Modifier to make a function callable only when the contract is paused.
*
* Requirements:
*
* - The contract must be paused.
*/
modifier whenPaused() {
require(_paused, "Pausable: not paused");
_;
}
/**
* @dev Triggers stopped state.
*
* Requirements:
*
* - The contract must not be paused.
*/
function _pause() internal virtual whenNotPaused {
_paused = true;
emit Paused(_msgSender());
}
/**
* @dev Returns to normal state.
*
* Requirements:
*
* - The contract must be paused.
*/
function _unpause() internal virtual whenPaused {
_paused = false;
emit Unpaused(_msgSender());
}
}
library SafeMath {
/**
* @dev Returns the addition of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `+` operator.
*
* Requirements:
*
* - Addition cannot overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
*
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting with custom message on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
*
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
/**
* @dev Returns the multiplication of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `*` operator.
*
* Requirements:
*
* - Multiplication cannot overflow.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the
// benefit is lost if 'b' is also tested.
// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
/**
* @dev Returns the integer division of two unsigned integers. Reverts on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
/**
* @dev Returns the integer division of two unsigned integers. Reverts with custom message on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* Reverts when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return mod(a, b, "SafeMath: modulo by zero");
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* Reverts with custom message when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b != 0, errorMessage);
return a % b;
}
}
interface IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
function totalSupply() external view returns (uint);
function balanceOf(address owner) external view returns (uint);
function allowance(address owner, address spender) external view returns (uint);
function transfer(address to, uint value) external returns (bool);
function approve(address spender, uint value) external returns (bool);
function transferFrom(
address from,
address to,
uint value
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint value);
event Approval(address indexed owner, address indexed spender, uint value);
}
library SafeDecimalMath {
using SafeMath for uint;
uint8 public constant decimals = 18;
uint8 public constant highPrecisionDecimals = 27;
uint public constant UNIT = 10**uint(decimals);
uint public constant PRECISE_UNIT = 10**uint(highPrecisionDecimals);
uint private constant UNIT_TO_HIGH_PRECISION_CONVERSION_FACTOR = 10**uint(highPrecisionDecimals - decimals);
function unit() external pure returns (uint) {
return UNIT;
}
function preciseUnit() external pure returns (uint) {
return PRECISE_UNIT;
}
function multiplyDecimal(uint x, uint y) internal pure returns (uint) {
return x.mul(y) / UNIT;
}
function _multiplyDecimalRound(
uint x,
uint y,
uint precisionUnit
) private pure returns (uint) {
uint quotientTimesTen = x.mul(y) / (precisionUnit / 10);
if (quotientTimesTen % 10 >= 5) {
quotientTimesTen += 10;
}
return quotientTimesTen / 10;
}
function multiplyDecimalRoundPrecise(uint x, uint y) internal pure returns (uint) {
return _multiplyDecimalRound(x, y, PRECISE_UNIT);
}
function multiplyDecimalRound(uint x, uint y) internal pure returns (uint) {
return _multiplyDecimalRound(x, y, UNIT);
}
function divideDecimal(uint x, uint y) internal pure returns (uint) {
return x.mul(UNIT).div(y);
}
function _divideDecimalRound(
uint x,
uint y,
uint precisionUnit
) private pure returns (uint) {
uint resultTimesTen = x.mul(precisionUnit * 10).div(y);
if (resultTimesTen % 10 >= 5) {
resultTimesTen += 10;
}
return resultTimesTen / 10;
}
function divideDecimalRound(uint x, uint y) internal pure returns (uint) {
return _divideDecimalRound(x, y, UNIT);
}
function divideDecimalRoundPrecise(uint x, uint y) internal pure returns (uint) {
return _divideDecimalRound(x, y, PRECISE_UNIT);
}
function decimalToPreciseDecimal(uint i) internal pure returns (uint) {
return i.mul(UNIT_TO_HIGH_PRECISION_CONVERSION_FACTOR);
}
function preciseDecimalToDecimal(uint i) internal pure returns (uint) {
uint quotientTimesTen = i / (UNIT_TO_HIGH_PRECISION_CONVERSION_FACTOR / 10);
if (quotientTimesTen % 10 >= 5) {
quotientTimesTen += 10;
}
return quotientTimesTen / 10;
}
}
contract LnAdmin {
address public admin;
address public candidate;
constructor(address _admin) public {
require(_admin != address(0), "admin address cannot be 0");
admin = _admin;
emit AdminChanged(address(0), _admin);
}
function setCandidate(address _candidate) external onlyAdmin {
address old = candidate;
candidate = _candidate;
emit candidateChanged( old, candidate);
}
function becomeAdmin( ) external {
require( msg.sender == candidate, "Only candidate can become admin");
address old = admin;
admin = candidate;
emit AdminChanged( old, admin );
}
modifier onlyAdmin {
require( (msg.sender == admin), "Only the contract admin can perform this action");
_;
}
event candidateChanged(address oldCandidate, address newCandidate );
event AdminChanged(address oldAdmin, address newAdmin);
}
contract LnProxyBase is LnAdmin {
LnProxyImpl public target;
constructor(address _admin) public LnAdmin(_admin) {}
function setTarget(LnProxyImpl _target) external onlyAdmin {
target = _target;
emit TargetUpdated(_target);
}
function Log0( bytes calldata callData ) external onlyTarget {
uint size = callData.length;
bytes memory _callData = callData;
assembly {
log0(add(_callData, 32), size)
}
}
function Log1( bytes calldata callData, bytes32 topic1 ) external onlyTarget {
uint size = callData.length;
bytes memory _callData = callData;
assembly {
log1(add(_callData, 32), size, topic1 )
}
}
function Log2( bytes calldata callData, bytes32 topic1, bytes32 topic2 ) external onlyTarget {
uint size = callData.length;
bytes memory _callData = callData;
assembly {
log2(add(_callData, 32), size, topic1, topic2 )
}
}
function Log3( bytes calldata callData, bytes32 topic1, bytes32 topic2, bytes32 topic3 ) external onlyTarget {
uint size = callData.length;
bytes memory _callData = callData;
assembly {
log3(add(_callData, 32), size, topic1, topic2, topic3 )
}
}
function Log4( bytes calldata callData, bytes32 topic1, bytes32 topic2, bytes32 topic3, bytes32 topic4 ) external onlyTarget {
uint size = callData.length;
bytes memory _callData = callData;
assembly {
log4(add(_callData, 32), size, topic1, topic2, topic3, topic4 )
}
}
//receive: It is executed on a call to the contract with empty calldata. This is the function that is executed on plain Ether transfers (e.g. via .send() or .transfer()).
//fallback: can only rely on 2300 gas being available,
receive() external payable {
target.setMessageSender(msg.sender);
assembly {
let free_ptr := mload(0x40)
calldatacopy(free_ptr, 0, calldatasize())
let result := call(gas(), sload(target_slot), callvalue(), free_ptr, calldatasize(), 0, 0)
returndatacopy(free_ptr, 0, returndatasize())
if iszero(result) {
revert(free_ptr, returndatasize())
}
return(free_ptr, returndatasize())
}
}
modifier onlyTarget {
require(LnProxyImpl(msg.sender) == target, "Must be proxy target");
_;
}
event TargetUpdated(LnProxyImpl newTarget);
}
abstract contract LnProxyImpl is LnAdmin {
LnProxyBase public proxy;
LnProxyBase public integrationProxy;
address public messageSender;
constructor(address payable _proxy) internal {
require(admin != address(0), "Admin must be set");
proxy = LnProxyBase(_proxy);
emit ProxyUpdated(_proxy);
}
function setProxy(address payable _proxy) external onlyAdmin {
proxy = LnProxyBase(_proxy);
emit ProxyUpdated(_proxy);
}
function setIntegrationProxy(address payable _integrationProxy) external onlyAdmin {
integrationProxy = LnProxyBase(_integrationProxy);
}
function setMessageSender(address sender) external onlyProxy {
messageSender = sender;
}
modifier onlyProxy {
require(LnProxyBase(msg.sender) == proxy || LnProxyBase(msg.sender) == integrationProxy, "Only the proxy can call");
_;
}
modifier optionalProxy {
if (LnProxyBase(msg.sender) != proxy && LnProxyBase(msg.sender) != integrationProxy && messageSender != msg.sender) {
messageSender = msg.sender;
}
_;
}
modifier optionalProxy_onlyAdmin {
if (LnProxyBase(msg.sender) != proxy && LnProxyBase(msg.sender) != integrationProxy && messageSender != msg.sender) {
messageSender = msg.sender;
}
require(messageSender == admin, "only for admin");
_;
}
event ProxyUpdated(address proxyAddress);
}
contract LnErc20Handler is IERC20, LnAdmin, LnProxyImpl {
using SafeMath for uint;
using SafeDecimalMath for uint;
LnTokenStorage public tokenStorage;
string public override name;
string public override symbol;
uint public override totalSupply;
uint8 public override decimals;
constructor( address payable _proxy, LnTokenStorage _tokenStorage, string memory _name,
string memory _symbol, uint _totalSupply, uint8 _decimals, address _admin )
public LnAdmin(_admin) LnProxyImpl(_proxy) {
tokenStorage = _tokenStorage;
name = _name;
symbol = _symbol;
totalSupply = _totalSupply;
decimals = _decimals;
}
function allowance(address owner, address spender) public view virtual override returns (uint) {
return tokenStorage.allowance(owner, spender);
}
function balanceOf(address account) external view override returns (uint) {
return tokenStorage.balanceOf(account);
}
function setTokenStorage(LnTokenStorage _tokenStorage) external optionalProxy_onlyAdmin {
tokenStorage = _tokenStorage;
emitTokenStorageUpdated(address(tokenStorage));
}
function _internalTransfer( address from, address to, uint value ) internal returns (bool) {
require(to != address(0) && to != address(this) && to != address(proxy), "Cannot transfer to this address");
_beforeTokenTransfer(from, to, value);
tokenStorage.setBalanceOf(from, tokenStorage.balanceOf(from).sub(value));
tokenStorage.setBalanceOf(to, tokenStorage.balanceOf(to).add(value));
emitTransfer(from, to, value);
return true;
}
function _transferByProxy(
address from,
address to,
uint value
) internal returns (bool) {
return _internalTransfer(from, to, value);
}
function _transferFromByProxy(
address sender,
address from,
address to,
uint value
) internal returns (bool) {
tokenStorage.setAllowance(from, sender, tokenStorage.allowance(from, sender).sub(value));
return _internalTransfer(from, to, value);
}
function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
// default transfer
function transfer(address to, uint value) external virtual override optionalProxy returns (bool) {
_transferByProxy(messageSender, to, value);
return true;
}
// default transferFrom
function transferFrom(
address from,
address to,
uint value
) external virtual override optionalProxy returns (bool) {
return _transferFromByProxy(messageSender, from, to, value);
}
function approve(address spender, uint value) public virtual override optionalProxy returns (bool) {
address sender = messageSender;
tokenStorage.setAllowance(sender, spender, value);
emitApproval(sender, spender, value);
return true;
}
function addressToBytes32(address input) internal pure returns (bytes32) {
return bytes32(uint256(uint160(input)));
}
event Transfer(address indexed from, address indexed to, uint value);
bytes32 internal constant TRANSFER_SIG = keccak256("Transfer(address,address,uint256)");
function emitTransfer(
address from,
address to,
uint value
) internal {
proxy.Log3( abi.encode(value), TRANSFER_SIG, addressToBytes32(from), addressToBytes32(to) );
}
event Approval(address indexed owner, address indexed spender, uint value);
bytes32 internal constant APPROVAL_SIG = keccak256("Approval(address,address,uint256)");
function emitApproval(
address owner,
address spender,
uint value
) internal {
proxy.Log3( abi.encode(value), APPROVAL_SIG, addressToBytes32(owner), addressToBytes32(spender) );
}
event TokenStorageUpdated(address newTokenStorage);
bytes32 internal constant TOKENSTORAGE_UPDATED_SIG = keccak256("TokenStorageUpdated(address)");
function emitTokenStorageUpdated(address newTokenStorage) internal {
proxy.Log1( abi.encode(newTokenStorage), TOKENSTORAGE_UPDATED_SIG );
}
}
abstract contract LnOperatorModifier is LnAdmin {
address public operator;
constructor(address _operator) internal {
require(admin != address(0), "admin must be set");
operator = _operator;
emit OperatorUpdated(_operator);
}
function setOperator(address _opperator) external onlyAdmin {
operator = _opperator;
emit OperatorUpdated(_opperator);
}
modifier onlyOperator() {
require(msg.sender == operator, "Only operator can perform this action");
_;
}
event OperatorUpdated(address operator);
}
contract LnTokenStorage is LnAdmin, LnOperatorModifier {
mapping(address => uint) public balanceOf;
mapping(address => mapping(address => uint)) public allowance;
constructor(address _admin, address _operator) public LnAdmin(_admin) LnOperatorModifier(_operator) {}
function setAllowance(address tokenOwner, address spender, uint value) external onlyOperator {
allowance[tokenOwner][spender] = value;
}
function setBalanceOf(address account, uint value) external onlyOperator {
balanceOf[account] = value;
}
}
contract LinearFinance is LnErc20Handler {
string public constant TOKEN_NAME = "Linear Token";
string public constant TOKEN_SYMBOL = "LINA";
uint8 public constant DECIMALS = 18;
uint256 public constant MAX_SUPPLY = 10000000000e18;
constructor(
address payable _proxy,
LnTokenStorage _tokenStorage,
address _admin,
uint _totalSupply
)
public
LnErc20Handler(_proxy, _tokenStorage, TOKEN_NAME, TOKEN_SYMBOL, _totalSupply, DECIMALS, _admin)
{
}
//
function _mint(address account, uint256 amount) private {
require(account != address(0), "ERC20: mint to the zero address");
require(totalSupply.add(amount) <= MAX_SUPPLY, "Can not mint over max supply");
_beforeTokenTransfer(address(0), account, amount);
tokenStorage.setBalanceOf(account, tokenStorage.balanceOf(account).add(amount));
totalSupply = totalSupply.add(amount);
emitTransfer(address(0), account, amount);
}
function mint(address account, uint256 amount) external onlyAdmin {
_mint(account, amount);
}
function _burn(address account, uint256 amount) private {
require(account != address(0), "ERC20: burn from the zero address");
_beforeTokenTransfer(account, address(0), amount);
tokenStorage.setBalanceOf(account, tokenStorage.balanceOf(account).sub(amount));
totalSupply = totalSupply.sub(amount);
emitTransfer(account, address(0), amount);
}
function burn(address account, uint256 amount) external onlyAdmin {
_burn(account, amount);
}
function _beforeTokenTransfer(address from, address to, uint256 amount) internal override {
super._beforeTokenTransfer(from, to, amount);
require(!paused, "ERC20Pausable: token transfer while paused");
}
////////////////////////////////////////////////////// paused
bool public paused = false;
modifier notPaused {
require(!paused, "This action cannot be performed while the contract is paused");
_;
}
function setPaused(bool _paused) external onlyAdmin {
if (_paused == paused) {
return;
}
paused = _paused;
emit PauseChanged(paused);
}
//////////////////////////////////////////////////////
event PauseChanged(bool isPaused);
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"},{"internalType":"contract LnTokenStorage","name":"_tokenStorage","type":"address"},{"internalType":"address","name":"_admin","type":"address"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"proxyAddress","type":"address"}],"name":"ProxyUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newTokenStorage","type":"address"}],"name":"TokenStorageUpdated","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":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldCandidate","type":"address"},{"indexed":false,"internalType":"address","name":"newCandidate","type":"address"}],"name":"candidateChanged","type":"event"},{"inputs":[],"name":"DECIMALS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN_NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN_SYMBOL","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"becomeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"candidate","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"integrationProxy","outputs":[{"internalType":"contract LnProxyBase","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"messageSender","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxy","outputs":[{"internalType":"contract LnProxyBase","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_candidate","type":"address"}],"name":"setCandidate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_integrationProxy","type":"address"}],"name":"setIntegrationProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"setMessageSender","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"}],"name":"setProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract LnTokenStorage","name":"_tokenStorage","type":"address"}],"name":"setTokenStorage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenStorage","outputs":[{"internalType":"contract LnTokenStorage","name":"","type":"address"}],"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":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040526000600960016101000a81548160ff0219169083151502179055503480156200002c57600080fd5b506040516200375738038062003757833981810160405260808110156200005257600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505083836040518060400160405280600c81526020017f4c696e65617220546f6b656e00000000000000000000000000000000000000008152506040518060400160405280600481526020017f4c494e4100000000000000000000000000000000000000000000000000000000815250846012878681600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562000199576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f61646d696e20616464726573732063616e6e6f7420626520300000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f600082604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156200030a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f41646d696e206d7573742062652073657400000000000000000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e81604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15085600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460069080519060200190620003f29291906200043f565b5083600790805190602001906200040b9291906200043f565b508260088190555081600960006101000a81548160ff021916908360ff1602179055505050505050505050505050620004e5565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200048257805160ff1916838001178555620004b3565b82800160010185558215620004b3579182015b82811115620004b257825182559160200191906001019062000495565b5b509050620004c29190620004c6565b5090565b5b80821115620004e1576000816000905550600101620004c7565b5090565b61326280620004f56000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80635c975abb11610104578063a9059cbb116100a2578063d67bdd2511610071578063d67bdd25146108e8578063dd62ed3e1461091c578063ec55688914610994578063f851a440146109c8576101cf565b8063a9059cbb146107c8578063b199efb51461082c578063b262b9ae14610860578063bc67f832146108a4576101cf565b806395d89b41116100de57806395d89b411461067f57806397107d6d146107025780639cbdaeb6146107465780639dc29fac1461077a576101cf565b80635c975abb146105d35780636c8381f8146105f357806370a0823114610627576101cf565b806323b872dd116101715780632e0f26251161014b5780632e0f262514610525578063313ce5671461054657806332cb6b0c1461056757806340c10f1914610585576101cf565b806323b872dd1461041457806325971dff146104985780632a905318146104a2576101cf565b8063131b0ae7116101ad578063131b0ae7146102ff57806316c38b3c1461034357806318160ddd146103735780631882140014610391576101cf565b806306fdde03146101d457806307880b7f14610257578063095ea7b31461029b575b600080fd5b6101dc6109fc565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561021c578082015181840152602081019050610201565b50505050905090810190601f1680156102495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102996004803603602081101561026d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a9a565b005b6102e7600480360360408110156102b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c37565b60405180821515815260200191505060405180910390f35b6103416004803603602081101561031557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e8c565b005b6103716004803603602081101561035957600080fd5b81019080803515159060200190929190505050610f74565b005b61037b61109e565b6040518082815260200191505060405180910390f35b6103996110a4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103d95780820151818401526020810190506103be565b50505050905090810190601f1680156104065780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104806004803603606081101561042a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110dd565b60405180821515815260200191505060405180910390f35b6104a0611263565b005b6104aa61143c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104ea5780820151818401526020810190506104cf565b50505050905090810190601f1680156105175780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61052d611475565b604051808260ff16815260200191505060405180910390f35b61054e61147a565b604051808260ff16815260200191505060405180910390f35b61056f61148d565b6040518082815260200191505060405180910390f35b6105d16004803603604081101561059b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061149d565b005b6105db61154f565b60405180821515815260200191505060405180910390f35b6105fb611562565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106696004803603602081101561063d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611588565b6040518082815260200191505060405180910390f35b610687611655565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106c75780820151818401526020810190506106ac565b50505050905090810190601f1680156106f45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107446004803603602081101561071857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116f3565b005b61074e611828565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107c66004803603604081101561079057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061184e565b005b610814600480360360408110156107de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611900565b60405180821515815260200191505060405180910390f35b610834611a87565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108a26004803603602081101561087657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aad565b005b6108e6600480360360208110156108ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d4c565b005b6108f0611eab565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61097e6004803603604081101561093257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ed1565b6040518082815260200191505060405180910390f35b61099c611fbd565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109d0611fe3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a925780601f10610a6757610100808354040283529160200191610a92565b820191906000526020600020905b815481529060010190602001808311610a7557829003601f168201915b505050505081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806131d4602f913960400191505060405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0faed18be9e8f4d4c05dfbcc80ea2c97a0be729614d766827778f60890c02cab81600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610ce55750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b8015610d3f57503373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15610d865733600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663da46098c8286866040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610e5e57600080fd5b505af1158015610e72573d6000803e3d6000fd5b50505050610e81818585612007565b600191505092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806131d4602f913960400191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806131d4602f913960400191505060405180910390fd5b600960019054906101000a900460ff16151581151514156110385761109b565b80600960016101000a81548160ff0219169083151502179055507f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5600960019054906101000a900460ff1660405180821515815260200191505060405180910390a15b50565b60085481565b6040518060400160405280600c81526020017f4c696e65617220546f6b656e000000000000000000000000000000000000000081525081565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561118b5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b80156111e557503373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b1561122c5733600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b61125a600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16858585612165565b90509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4f6e6c792063616e6469646174652063616e206265636f6d652061646d696e0081525060200191505060405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f8160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b6040518060400160405280600481526020017f4c494e410000000000000000000000000000000000000000000000000000000081525081565b601281565b600960009054906101000a900460ff1681565b6b204fce5e3e2502611000000081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611541576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806131d4602f913960400191505060405180910390fd5b61154b8282612338565b5050565b600960019054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561161357600080fd5b505afa158015611627573d6000803e3d6000fd5b505050506040513d602081101561163d57600080fd5b81019080805190602001909291905050509050919050565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116eb5780601f106116c0576101008083540402835291602001916116eb565b820191906000526020600020905b8154815290600101906020018083116116ce57829003601f168201915b505050505081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806131d4602f913960400191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e81604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806131d4602f913960400191505060405180910390fd5b6118fc8282612628565b5050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156119ae5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a0857503373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15611a4f5733600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b611a7c600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168484612865565b506001905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611b595750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bb357503373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15611bfa5733600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cdd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6f6e6c7920666f722061646d696e00000000000000000000000000000000000081525060200191505060405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611d49600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661287b565b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611df55750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611e67576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4f6e6c79207468652070726f78792063616e2063616c6c00000000000000000081525060200191505060405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b8101908080519060200190929190505050905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ced7bc7082604051602001808281526020019150506040516020818303038152906040527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92561208f876129cd565b612098876129cd565b6040518563ffffffff1660e01b81526004018080602001858152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b838110156120f95780820151818401526020810190506120de565b50505050905090810190601f1680156121265780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561214857600080fd5b505af115801561215c573d6000803e3d6000fd5b50505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663da46098c858761229b86600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e8b8d6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561225257600080fd5b505afa158015612266573d6000803e3d6000fd5b505050506040513d602081101561227c57600080fd5b81019080805190602001909291905050506129f090919063ffffffff16565b6040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561230b57600080fd5b505af115801561231f573d6000803e3d6000fd5b5050505061232e848484612a3a565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156123db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6b204fce5e3e250261100000006123fd82600854612e9190919063ffffffff16565b1115612471576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f43616e206e6f74206d696e74206f766572206d617820737570706c790000000081525060200191505060405180910390fd5b61247d60008383612f19565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b46310f68361259284600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561254957600080fd5b505afa15801561255d573d6000803e3d6000fd5b505050506040513d602081101561257357600080fd5b8101908080519060200190929190505050612e9190919063ffffffff16565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156125e557600080fd5b505af11580156125f9573d6000803e3d6000fd5b5050505061261281600854612e9190919063ffffffff16565b60088190555061262460008383612f8f565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156126ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806131b36021913960400191505060405180910390fd5b6126ba82600083612f19565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b46310f6836127cf84600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561278657600080fd5b505afa15801561279a573d6000803e3d6000fd5b505050506040513d60208110156127b057600080fd5b81019080805190602001909291905050506129f090919063ffffffff16565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561282257600080fd5b505af1158015612836573d6000803e3d6000fd5b5050505061284f816008546129f090919063ffffffff16565b60088190555061286182600083612f8f565b5050565b6000612872848484612a3a565b90509392505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a0e0048882604051602001808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506040516020818303038152906040527fc6672d9c346511086ff7307e0a33f90d8d8cbef0f7ef2442bd7ca2b5cb14ced36040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561296557808201518184015260208101905061294a565b50505050905090810190601f1680156129925780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156129b257600080fd5b505af11580156129c6573d6000803e3d6000fd5b5050505050565b60008173ffffffffffffffffffffffffffffffffffffffff1660001b9050919050565b6000612a3283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506130ed565b905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612aa457503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612afe5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b612b70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f43616e6e6f74207472616e7366657220746f207468697320616464726573730081525060200191505060405180910390fd5b612b7b848484612f19565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b46310f685612c9085600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a082318a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612c4757600080fd5b505afa158015612c5b573d6000803e3d6000fd5b505050506040513d6020811015612c7157600080fd5b81019080805190602001909291905050506129f090919063ffffffff16565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015612ce357600080fd5b505af1158015612cf7573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b46310f684612e1085600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612dc757600080fd5b505afa158015612ddb573d6000803e3d6000fd5b505050506040513d6020811015612df157600080fd5b8101908080519060200190929190505050612e9190919063ffffffff16565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015612e6357600080fd5b505af1158015612e77573d6000803e3d6000fd5b50505050612e86848484612f8f565b600190509392505050565b600080828401905083811015612f0f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b612f248383836131ad565b600960019054906101000a900460ff1615612f8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613203602a913960400191505060405180910390fd5b505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ced7bc7082604051602001808281526020019150506040516020818303038152906040527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef613017876129cd565b613020876129cd565b6040518563ffffffff1660e01b81526004018080602001858152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b83811015613081578082015181840152602081019050613066565b50505050905090810190601f1680156130ae5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156130d057600080fd5b505af11580156130e4573d6000803e3d6000fd5b50505050505050565b600083831115829061319a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561315f578082015181840152602081019050613144565b50505050905090810190601f16801561318c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b50505056fe45524332303a206275726e2066726f6d20746865207a65726f20616464726573734f6e6c792074686520636f6e74726163742061646d696e2063616e20706572666f726d207468697320616374696f6e45524332305061757361626c653a20746f6b656e207472616e73666572207768696c6520706175736564a2646970667358221220747bf23cdf3844982476988518681656f8c245c3f760bd7af258eba0db81d57b64736f6c634300060c00330000000000000000000000003e9bc21c9b189c09df3ef1b824798658d5011937000000000000000000000000f1a16d778fe004c495df8d3c46d2abe71ecf6cfe00000000000000000000000074e5d6c26dfbeb647dfe36f44fee805bafefbfc00000000000000000000000000000000000000000204fce691032622f7fba4000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c80635c975abb11610104578063a9059cbb116100a2578063d67bdd2511610071578063d67bdd25146108e8578063dd62ed3e1461091c578063ec55688914610994578063f851a440146109c8576101cf565b8063a9059cbb146107c8578063b199efb51461082c578063b262b9ae14610860578063bc67f832146108a4576101cf565b806395d89b41116100de57806395d89b411461067f57806397107d6d146107025780639cbdaeb6146107465780639dc29fac1461077a576101cf565b80635c975abb146105d35780636c8381f8146105f357806370a0823114610627576101cf565b806323b872dd116101715780632e0f26251161014b5780632e0f262514610525578063313ce5671461054657806332cb6b0c1461056757806340c10f1914610585576101cf565b806323b872dd1461041457806325971dff146104985780632a905318146104a2576101cf565b8063131b0ae7116101ad578063131b0ae7146102ff57806316c38b3c1461034357806318160ddd146103735780631882140014610391576101cf565b806306fdde03146101d457806307880b7f14610257578063095ea7b31461029b575b600080fd5b6101dc6109fc565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561021c578082015181840152602081019050610201565b50505050905090810190601f1680156102495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102996004803603602081101561026d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a9a565b005b6102e7600480360360408110156102b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c37565b60405180821515815260200191505060405180910390f35b6103416004803603602081101561031557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e8c565b005b6103716004803603602081101561035957600080fd5b81019080803515159060200190929190505050610f74565b005b61037b61109e565b6040518082815260200191505060405180910390f35b6103996110a4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103d95780820151818401526020810190506103be565b50505050905090810190601f1680156104065780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104806004803603606081101561042a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110dd565b60405180821515815260200191505060405180910390f35b6104a0611263565b005b6104aa61143c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104ea5780820151818401526020810190506104cf565b50505050905090810190601f1680156105175780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61052d611475565b604051808260ff16815260200191505060405180910390f35b61054e61147a565b604051808260ff16815260200191505060405180910390f35b61056f61148d565b6040518082815260200191505060405180910390f35b6105d16004803603604081101561059b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061149d565b005b6105db61154f565b60405180821515815260200191505060405180910390f35b6105fb611562565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106696004803603602081101561063d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611588565b6040518082815260200191505060405180910390f35b610687611655565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106c75780820151818401526020810190506106ac565b50505050905090810190601f1680156106f45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107446004803603602081101561071857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116f3565b005b61074e611828565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107c66004803603604081101561079057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061184e565b005b610814600480360360408110156107de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611900565b60405180821515815260200191505060405180910390f35b610834611a87565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108a26004803603602081101561087657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aad565b005b6108e6600480360360208110156108ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d4c565b005b6108f0611eab565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61097e6004803603604081101561093257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ed1565b6040518082815260200191505060405180910390f35b61099c611fbd565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109d0611fe3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a925780601f10610a6757610100808354040283529160200191610a92565b820191906000526020600020905b815481529060010190602001808311610a7557829003601f168201915b505050505081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806131d4602f913960400191505060405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0faed18be9e8f4d4c05dfbcc80ea2c97a0be729614d766827778f60890c02cab81600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610ce55750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b8015610d3f57503373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15610d865733600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663da46098c8286866040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610e5e57600080fd5b505af1158015610e72573d6000803e3d6000fd5b50505050610e81818585612007565b600191505092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806131d4602f913960400191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806131d4602f913960400191505060405180910390fd5b600960019054906101000a900460ff16151581151514156110385761109b565b80600960016101000a81548160ff0219169083151502179055507f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5600960019054906101000a900460ff1660405180821515815260200191505060405180910390a15b50565b60085481565b6040518060400160405280600c81526020017f4c696e65617220546f6b656e000000000000000000000000000000000000000081525081565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561118b5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b80156111e557503373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b1561122c5733600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b61125a600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16858585612165565b90509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4f6e6c792063616e6469646174652063616e206265636f6d652061646d696e0081525060200191505060405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f8160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b6040518060400160405280600481526020017f4c494e410000000000000000000000000000000000000000000000000000000081525081565b601281565b600960009054906101000a900460ff1681565b6b204fce5e3e2502611000000081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611541576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806131d4602f913960400191505060405180910390fd5b61154b8282612338565b5050565b600960019054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561161357600080fd5b505afa158015611627573d6000803e3d6000fd5b505050506040513d602081101561163d57600080fd5b81019080805190602001909291905050509050919050565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116eb5780601f106116c0576101008083540402835291602001916116eb565b820191906000526020600020905b8154815290600101906020018083116116ce57829003601f168201915b505050505081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806131d4602f913960400191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e81604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806131d4602f913960400191505060405180910390fd5b6118fc8282612628565b5050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156119ae5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a0857503373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15611a4f5733600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b611a7c600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168484612865565b506001905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611b595750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bb357503373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15611bfa5733600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cdd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6f6e6c7920666f722061646d696e00000000000000000000000000000000000081525060200191505060405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611d49600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661287b565b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611df55750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611e67576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4f6e6c79207468652070726f78792063616e2063616c6c00000000000000000081525060200191505060405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b8101908080519060200190929190505050905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ced7bc7082604051602001808281526020019150506040516020818303038152906040527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92561208f876129cd565b612098876129cd565b6040518563ffffffff1660e01b81526004018080602001858152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b838110156120f95780820151818401526020810190506120de565b50505050905090810190601f1680156121265780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561214857600080fd5b505af115801561215c573d6000803e3d6000fd5b50505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663da46098c858761229b86600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e8b8d6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561225257600080fd5b505afa158015612266573d6000803e3d6000fd5b505050506040513d602081101561227c57600080fd5b81019080805190602001909291905050506129f090919063ffffffff16565b6040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561230b57600080fd5b505af115801561231f573d6000803e3d6000fd5b5050505061232e848484612a3a565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156123db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6b204fce5e3e250261100000006123fd82600854612e9190919063ffffffff16565b1115612471576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f43616e206e6f74206d696e74206f766572206d617820737570706c790000000081525060200191505060405180910390fd5b61247d60008383612f19565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b46310f68361259284600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561254957600080fd5b505afa15801561255d573d6000803e3d6000fd5b505050506040513d602081101561257357600080fd5b8101908080519060200190929190505050612e9190919063ffffffff16565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156125e557600080fd5b505af11580156125f9573d6000803e3d6000fd5b5050505061261281600854612e9190919063ffffffff16565b60088190555061262460008383612f8f565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156126ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806131b36021913960400191505060405180910390fd5b6126ba82600083612f19565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b46310f6836127cf84600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561278657600080fd5b505afa15801561279a573d6000803e3d6000fd5b505050506040513d60208110156127b057600080fd5b81019080805190602001909291905050506129f090919063ffffffff16565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561282257600080fd5b505af1158015612836573d6000803e3d6000fd5b5050505061284f816008546129f090919063ffffffff16565b60088190555061286182600083612f8f565b5050565b6000612872848484612a3a565b90509392505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a0e0048882604051602001808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506040516020818303038152906040527fc6672d9c346511086ff7307e0a33f90d8d8cbef0f7ef2442bd7ca2b5cb14ced36040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561296557808201518184015260208101905061294a565b50505050905090810190601f1680156129925780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156129b257600080fd5b505af11580156129c6573d6000803e3d6000fd5b5050505050565b60008173ffffffffffffffffffffffffffffffffffffffff1660001b9050919050565b6000612a3283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506130ed565b905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612aa457503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612afe5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b612b70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f43616e6e6f74207472616e7366657220746f207468697320616464726573730081525060200191505060405180910390fd5b612b7b848484612f19565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b46310f685612c9085600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a082318a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612c4757600080fd5b505afa158015612c5b573d6000803e3d6000fd5b505050506040513d6020811015612c7157600080fd5b81019080805190602001909291905050506129f090919063ffffffff16565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015612ce357600080fd5b505af1158015612cf7573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b46310f684612e1085600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612dc757600080fd5b505afa158015612ddb573d6000803e3d6000fd5b505050506040513d6020811015612df157600080fd5b8101908080519060200190929190505050612e9190919063ffffffff16565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015612e6357600080fd5b505af1158015612e77573d6000803e3d6000fd5b50505050612e86848484612f8f565b600190509392505050565b600080828401905083811015612f0f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b612f248383836131ad565b600960019054906101000a900460ff1615612f8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613203602a913960400191505060405180910390fd5b505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ced7bc7082604051602001808281526020019150506040516020818303038152906040527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef613017876129cd565b613020876129cd565b6040518563ffffffff1660e01b81526004018080602001858152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b83811015613081578082015181840152602081019050613066565b50505050905090810190601f1680156130ae5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156130d057600080fd5b505af11580156130e4573d6000803e3d6000fd5b50505050505050565b600083831115829061319a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561315f578082015181840152602081019050613144565b50505050905090810190601f16801561318c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b50505056fe45524332303a206275726e2066726f6d20746865207a65726f20616464726573734f6e6c792074686520636f6e74726163742061646d696e2063616e20706572666f726d207468697320616374696f6e45524332305061757361626c653a20746f6b656e207472616e73666572207768696c6520706175736564a2646970667358221220747bf23cdf3844982476988518681656f8c245c3f760bd7af258eba0db81d57b64736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000003e9bc21c9b189c09df3ef1b824798658d5011937000000000000000000000000f1a16d778fe004c495df8d3c46d2abe71ecf6cfe00000000000000000000000074e5d6c26dfbeb647dfe36f44fee805bafefbfc00000000000000000000000000000000000000000204fce691032622f7fba4000
-----Decoded View---------------
Arg [0] : _proxy (address): 0x3E9BC21C9b189C09dF3eF1B824798658d5011937
Arg [1] : _tokenStorage (address): 0xf1A16D778fE004c495dF8d3C46d2ABe71eCF6CfE
Arg [2] : _admin (address): 0x74E5d6C26DFbEB647DFE36F44FeE805BAfEfbFc0
Arg [3] : _totalSupply (uint256): 10000000199603300000000000000
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000003e9bc21c9b189c09df3ef1b824798658d5011937
Arg [1] : 000000000000000000000000f1a16d778fe004c495df8d3c46d2abe71ecf6cfe
Arg [2] : 00000000000000000000000074e5d6c26dfbeb647dfe36f44fee805bafefbfc0
Arg [3] : 0000000000000000000000000000000000000000204fce691032622f7fba4000
Deployed Bytecode Sourcemap
21102:2450:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15666:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10615:185;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18346:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14471:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23258:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15736:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21156:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18109:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10808:221;;;:::i;:::-;;21213:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21264:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15775:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;21306:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;22156:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23089:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10389:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16391:131;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15700:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14320:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14032:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;22672:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17886:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15623:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16530:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14630:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14076:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16224:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14001:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10362:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15666:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10615:185::-;11091:5;;;;;;;;;;11077:19;;:10;:19;;;11067:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10687:11:::1;10701:9;;;;;;;;;;;10687:23;;10733:10;10721:9;;:22;;;;;;;;;;;;;;;;;;10759:33;10777:3;10782:9;;;;;;;;;;;10759:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;11160:1;10615:185:::0;:::o;18346:279::-;18439:4;14978:5;;;;;;;;;;;14951:32;;14963:10;14951:32;;;;:79;;;;;15014:16;;;;;;;;;;;14987:43;;14999:10;14987:43;;;;14951:79;:110;;;;;15051:10;15034:27;;:13;;;;;;;;;;;:27;;;;14951:110;14947:169;;;15094:10;15078:13;;:26;;;;;;;;;;;;;;;;;;14947:169;18456:14:::1;18473:13;;;;;;;;;;;18456:30;;18499:12;;;;;;;;;;;:25;;;18525:6;18533:7;18542:5;18499:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;18559:36;18572:6;18580:7;18589:5;18559:12;:36::i;:::-;18613:4;18606:11;;;18346:279:::0;;;;:::o;14471:151::-;11091:5;;;;;;;;;;11077:19;;:10;:19;;;11067:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14596:17:::1;14565:16;;:49;;;;;;;;;;;;;;;;;;14471:151:::0;:::o;23258:189::-;11091:5;;;;;;;;;;11077:19;;:10;:19;;;11067:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23336:6:::1;;;;;;;;;;;23325:17;;:7;:17;;;23321:56;;;23359:7;;23321:56;23396:7;23387:6;;:16;;;;;;;;;;;;;;;;;;23419:20;23432:6;;;;;;;;;;;23419:20;;;;;;;;;;;;;;;;;;;;11160:1;23258:189:::0;:::o;15736:32::-;;;;:::o;21156:50::-;;;;;;;;;;;;;;;;;;;:::o;18109:227::-;18252:4;14978:5;;;;;;;;;;;14951:32;;14963:10;14951:32;;;;:79;;;;;15014:16;;;;;;;;;;;14987:43;;14999:10;14987:43;;;;14951:79;:110;;;;;15051:10;15034:27;;:13;;;;;;;;;;;:27;;;;14951:110;14947:169;;;15094:10;15078:13;;:26;;;;;;;;;;;;;;;;;;14947:169;18276:52:::1;18297:13;;;;;;;;;;;18312:4;18318:2;18322:5;18276:20;:52::i;:::-;18269:59;;18109:227:::0;;;;;:::o;10808:221::-;10875:9;;;;;;;;;;;10861:23;;:10;:23;;;10852:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10931:11;10945:5;;;;;;;;;;;10931:19;;10969:9;;;;;;;;;;;10961:5;;:17;;;;;;;;;;;;;;;;;;10994:26;11008:3;11013:5;;;;;;;;;;10994:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;10808:221;:::o;21213:44::-;;;;;;;;;;;;;;;;;;;:::o;21264:35::-;21297:2;21264:35;:::o;15775:30::-;;;;;;;;;;;;;:::o;21306:51::-;21343:14;21306:51;:::o;22156:107::-;11091:5;;;;;;;;;;11077:19;;:10;:19;;;11067:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22233:22:::1;22239:7;22248:6;22233:5;:22::i;:::-;22156:107:::0;;:::o;23089:26::-;;;;;;;;;;;;;:::o;10389:24::-;;;;;;;;;;;;;:::o;16391:131::-;16459:4;16483:12;;;;;;;;;;;:22;;;16506:7;16483:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16476:38;;16391:131;;;:::o;15700:29::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14320:143::-;11091:5;;;;;;;;;;11077:19;;:10;:19;;;11067:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14412:6:::1;14392:5;;:27;;;;;;;;;;;;;;;;;;14435:20;14448:6;14435:20;;;;;;;;;;;;;;;;;;;;14320:143:::0;:::o;14032:35::-;;;;;;;;;;;;;:::o;22672:106::-;11091:5;;;;;;;;;;11077:19;;:10;:19;;;11067:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22748:22:::1;22754:7;22763:6;22748:5;:22::i;:::-;22672:106:::0;;:::o;17886:182::-;17977:4;14978:5;;;;;;;;;;;14951:32;;14963:10;14951:32;;;;:79;;;;;15014:16;;;;;;;;;;;14987:43;;14999:10;14987:43;;;;14951:79;:110;;;;;15051:10;15034:27;;:13;;;;;;;;;;;:27;;;;14951:110;14947:169;;;15094:10;15078:13;;:26;;;;;;;;;;;;;;;;;;14947:169;17994:42:::1;18011:13;;;;;;;;;;;18026:2;18030:5;17994:16;:42::i;:::-;;18056:4;18049:11;;17886:182:::0;;;;:::o;15623:34::-;;;;;;;;;;;;;:::o;16530:192::-;15218:5;;;;;;;;;;;15191:32;;15203:10;15191:32;;;;:79;;;;;15254:16;;;;;;;;;;;15227:43;;15239:10;15227:43;;;;15191:79;:110;;;;;15291:10;15274:27;;:13;;;;;;;;;;;:27;;;;15191:110;15187:169;;;15334:10;15318:13;;:26;;;;;;;;;;;;;;;;;;15187:169;15391:5;;;;;;;;;;15374:22;;:13;;;;;;;;;;;:22;;;15366:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16644:13:::1;16629:12;;:28;;;;;;;;;;;;;;;;;;16668:46;16700:12;;;;;;;;;;;16668:23;:46::i;:::-;16530:192:::0;:::o;14630:102::-;14805:5;;;;;;;;;;;14778:32;;14790:10;14778:32;;;:79;;;;14841:16;;;;;;;;;;;14814:43;;14826:10;14814:43;;;14778:79;14770:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14718:6:::1;14702:13;;:22;;;;;;;;;;;;;;;;;;14630:102:::0;:::o;14076:28::-;;;;;;;;;;;;;:::o;16224:159::-;16313:4;16337:12;;;;;;;;;;;:22;;;16360:5;16367:7;16337:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16330:45;;16224:159;;;;:::o;14001:24::-;;;;;;;;;;;;;:::o;10362:20::-;;;;;;;;;;;;:::o;19342:226::-;19462:5;;;;;;;;;;;:10;;;19485:5;19474:17;;;;;;;;;;;;;;;;;;;;;;;;;19287:46;19508:23;19525:5;19508:16;:23::i;:::-;19533:25;19550:7;19533:16;:25::i;:::-;19462:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19342:226;;;:::o;17433:320::-;17578:4;17605:12;;;;;;;;;;;:25;;;17631:4;17637:6;17645:47;17686:5;17645:12;;;;;;;;;;;:22;;;17668:4;17674:6;17645:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:40;;:47;;;;:::i;:::-;17605:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17711:34;17729:4;17735:2;17739:5;17711:17;:34::i;:::-;17704:41;;17433:320;;;;;;:::o;21664:484::-;21759:1;21740:21;;:7;:21;;;;21732:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21343:14;21816:23;21832:6;21816:11;;:15;;:23;;;;:::i;:::-;:37;;21808:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21897:49;21926:1;21930:7;21939:6;21897:20;:49::i;:::-;21959:12;;;;;;;;;;;:25;;;21985:7;21994:43;22030:6;21994:12;;;;;;;;;;;:22;;;22017:7;21994:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;21959:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22063:23;22079:6;22063:11;;:15;;:23;;;;:::i;:::-;22049:11;:37;;;;22099:41;22120:1;22124:7;22133:6;22099:12;:41::i;:::-;21664:484;;:::o;22270:394::-;22364:1;22345:21;;:7;:21;;;;22337:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22415:49;22436:7;22453:1;22457:6;22415:20;:49::i;:::-;22477:12;;;;;;;;;;;:25;;;22503:7;22512:43;22548:6;22512:12;;;;;;;;;;;:22;;;22535:7;22512:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;22477:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22581:23;22597:6;22581:11;;:15;;:23;;;;:::i;:::-;22567:11;:37;;;;22615:41;22628:7;22645:1;22649:6;22615:12;:41::i;:::-;22270:394;;:::o;17243:182::-;17359:4;17383:34;17401:4;17407:2;17411:5;17383:17;:34::i;:::-;17376:41;;17243:182;;;;;:::o;19736:153::-;19814:5;;;;;;;;;;;:10;;;19837:15;19826:27;;;;;;;;;;;;;;;;;;;;;;;;;;;19686:41;19814:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19736:153;:::o;18633:131::-;18697:7;18748:5;18732:23;;18724:32;;18717:39;;18633:131;;;:::o;2886:136::-;2944:7;2971:43;2975:1;2978;2971:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2964:50;;2886:136;;;;:::o;16730:505::-;16815:4;16864:1;16850:16;;:2;:16;;;;:39;;;;;16884:4;16870:19;;:2;:19;;;;16850:39;:63;;;;;16907:5;;;;;;;;;;;16893:20;;:2;:20;;;;16850:63;16842:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16960:37;16981:4;16987:2;16991:5;16960:20;:37::i;:::-;17010:12;;;;;;;;;;;:25;;;17036:4;17042:39;17075:5;17042:12;;;;;;;;;;;:22;;;17065:4;17042:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:32;;:39;;;;:::i;:::-;17010:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17093:12;;;;;;;;;;;:25;;;17119:2;17123:37;17154:5;17123:12;;;;;;;;;;;:22;;;17146:2;17123:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:30;;:37;;;;:::i;:::-;17093:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17174:29;17187:4;17193:2;17197:5;17174:12;:29::i;:::-;17223:4;17216:11;;16730:505;;;;;:::o;2422:181::-;2480:7;2500:9;2516:1;2512;:5;2500:17;;2541:1;2536;:6;;2528:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2594:1;2587:8;;;2422:181;;;;:::o;22786:228::-;22887:44;22914:4;22920:2;22924:6;22887:26;:44::i;:::-;22953:6;;;;;;;;;;;22952:7;22944:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22786:228;;;:::o;18943:214::-;19057:5;;;;;;;;;;;:10;;;19080:5;19069:17;;;;;;;;;;;;;;;;;;;;;;;;;18888:46;19103:22;19120:4;19103:16;:22::i;:::-;19127:20;19144:2;19127:16;:20::i;:::-;19057:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18943:214;;;:::o;3325:192::-;3411:7;3444:1;3439;:6;;3447:12;3431:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3471:9;3487:1;3483;:5;3471:17;;3508:1;3501:8;;;3325:192;;;;;:::o;17761:92::-;;;;:::o
Swarm Source
ipfs://747bf23cdf3844982476988518681656f8c245c3f760bd7af258eba0db81d57b
Loading...
Loading
Loading...
Loading
[ 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.
Add Token to MetaMask (Web3)