Verified
Ethereum
Verified, Token
Solidity
Verified
Ethereum

Contract Information

The following smart contract is called MNW and it is an ERC20 token contract. It includes functionalities such as transferring tokens, approving token transfers, checking token balances, and burning tokens. The contract also has the ability to freeze accounts and transfer other ERC20 tokens. The initial supply of the token is set to 47,897,218 MNW tokens with 18 decimal places.
More Info

MNW Source Code

// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.0; interface iERC20 { function balanceOf(address who) external view returns (uint256 balance); function allowance(address owner, address spender) external view returns (uint256 remaining); function transfer(address to, uint256 value) external returns (bool success); function approve(address spender, uint256 value) external returns (bool success); function transferFrom(address from, address to, uint256 value) external returns (bool success); event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); } contract Context { function _msgSender() internal view returns (address) { return msg.sender; } function _msgData() internal view returns (bytes memory) { this; return msg.data; } } library SafeMath { function sub(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a - b; assert(b <= a && c <= a); return c; } function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a && c>=b); return c; } } library SafeERC20 { function safeTransfer(iERC20 _token, address _to, uint256 _value) internal { require(_token.transfer(_to, _value)); } } contract Controllable is Context { mapping (address => bool) public controllers; constructor () { address msgSender = _msgSender(); controllers[msgSender] = true; } modifier onlyController() { require(controllers[_msgSender()], "Controllable: caller is not a controller"); _; } function addController(address _address) public onlyController { controllers[_address] = true; } function removeController(address _address) public onlyController { delete controllers[_address]; } } contract Pausable is Controllable { event Pause(); event Unpause(); bool public paused = false; modifier whenNotPaused() { require(!paused); _; } modifier whenPaused() { require(paused); _; } function pause() public onlyController whenNotPaused { paused = true; emit Pause(); } function unpause() public onlyController whenPaused { paused = false; emit Unpause(); } } contract MNW is Controllable, Pausable, iERC20 { using SafeMath for uint256; using SafeERC20 for iERC20; mapping (address => uint256) public balances; mapping (address => mapping (address => uint256)) public allowed; mapping (address => bool) public frozenAccount; uint256 public totalSupply; string public constant name = "Morpheus.Network"; uint8 public constant decimals = 18; string public constant symbol = "MNW"; uint256 public constant initialSupply = 47897218 * 10 ** uint(decimals); constructor() { totalSupply = initialSupply; balances[msg.sender] = totalSupply; controllers[msg.sender] = true; emit Transfer(address(0),msg.sender,initialSupply); } function receiveEther() public payable { revert(); } function transfer(address _to, uint256 _value) external override whenNotPaused returns (bool success) { require(_to != msg.sender,"T1- Recipient can not be the same as sender"); require(_to != address(0),"T2- Please check the recipient address"); require(balances[msg.sender] >= _value,"T3- The balance of sender is too low"); require(!frozenAccount[msg.sender],"T4- The wallet of sender is frozen"); require(!frozenAccount[_to],"T5- The wallet of recipient is frozen"); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } function transferFrom(address _from, address _to, uint256 _value) external override whenNotPaused returns (bool success) { require(_to != address(0),"TF1- Please check the recipient address"); require(balances[_from] >= _value,"TF2- The balance of sender is too low"); require(allowed[_from][msg.sender] >= _value,"TF3- The allowance of sender is too low"); require(!frozenAccount[_from],"TF4- The wallet of sender is frozen"); require(!frozenAccount[_to],"TF5- The wallet of recipient is frozen"); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } function balanceOf(address _owner) public override view returns (uint256 balance) { return balances[_owner]; } function approve(address _spender, uint256 _value) external override whenNotPaused returns (bool success) { require((_value == 0) || (allowed[msg.sender][_spender] == 0),"A1- Reset allowance to 0 first"); allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } function increaseApproval(address _spender, uint256 _addedValue) external whenNotPaused returns (bool) { allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } function decreaseApproval(address _spender, uint256 _subtractedValue) external whenNotPaused returns (bool) { allowed[msg.sender][_spender] = allowed[msg.sender][_spender].sub(_subtractedValue); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } function allowance(address _owner, address _spender) public override view returns (uint256 remaining) { return allowed[_owner][_spender]; } function transferToken(address tokenAddress, uint256 amount) external onlyController { iERC20(tokenAddress).safeTransfer(msg.sender,amount); } function flushToken(address tokenAddress) external onlyController { uint256 amount = iERC20(tokenAddress).balanceOf(address(this)); iERC20(tokenAddress).safeTransfer(msg.sender,amount); } function burn(uint256 _value) external onlyController returns (bool) { require(_value <= balances[msg.sender],"B1- The balance of burner is too low"); balances[msg.sender] = balances[msg.sender].sub(_value); totalSupply = totalSupply.sub(_value); emit Burn(msg.sender, _value); emit Transfer(msg.sender, address(0), _value); return true; } function freeze(address _address, bool _state) external onlyController returns (bool) { frozenAccount[_address] = _state; emit Freeze(_address, _state); return true; } event Burn(address indexed burner, uint256 value); event Freeze(address target, bool frozen); }
< // SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.0;

interface iERC20 {

	function balanceOf(address who) external view returns (uint256 balance);

	function allowance(address owner, address spender) external view returns (uint256 remaining);

	function transfer(address to, uint256 value) external returns (bool success);

	function approve(address spender, uint256 value) external returns (bool success);

	function transferFrom(address from, address to, uint256 value) external returns (bool success);

	event Transfer(address indexed _from, address indexed _to, uint256 _value);

	event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

contract Context {
	function _msgSender() internal view returns (address) {
		return msg.sender;
	}

	function _msgData() internal view returns (bytes memory) {
		this;
		return msg.data;
	}
}

library SafeMath {
	function sub(uint256 a, uint256 b) internal pure returns (uint256 c) {
		c = a - b;
		assert(b <= a && c <= a);
		return c;
	}

	function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
		c = a + b;
		assert(c >= a && c>=b);
		return c;
	}
}

library SafeERC20 {
	function safeTransfer(iERC20 _token, address _to, uint256 _value) internal {
		require(_token.transfer(_to, _value));
	}
}

contract Controllable is Context {
    mapping (address => bool) public controllers;

	constructor () {
		address msgSender = _msgSender();
		controllers[msgSender] = true;
	}

	modifier onlyController() {
		require(controllers[_msgSender()], "Controllable: caller is not a controller");
		_;
	}

    function addController(address _address) public onlyController {
        controllers[_address] = true;
    }

    function removeController(address _address) public onlyController {
        delete controllers[_address];
    }
}

contract Pausable is Controllable {
	event Pause();
	event Unpause();

	bool public paused = false;

	modifier whenNotPaused() {
		require(!paused);
		_;
	}

	modifier whenPaused() {
		require(paused);
		_;
	}

	function pause() public onlyController whenNotPaused {
		paused = true;
		emit Pause();
	}

	function unpause() public onlyController whenPaused {
		paused = false;
		emit Unpause();
	}
}

contract MNW is Controllable, Pausable, iERC20 {
	using SafeMath for uint256;
	using SafeERC20 for iERC20;

	mapping (address => uint256) public balances;
	mapping (address => mapping (address => uint256)) public allowed;
	mapping (address => bool) public frozenAccount;

	uint256 public totalSupply;
	string public constant name = "Morpheus.Network";
	uint8 public constant decimals = 18;
	string public constant symbol = "MNW";
	uint256 public constant initialSupply = 47897218 * 10 ** uint(decimals);

	constructor() {
		totalSupply = initialSupply;
		balances[msg.sender] = totalSupply;
    	controllers[msg.sender] = true;
		emit Transfer(address(0),msg.sender,initialSupply);
	}

	function receiveEther() public payable {
		revert();
	}

	function transfer(address _to, uint256 _value) external override whenNotPaused returns (bool success) {
		require(_to != msg.sender,"T1- Recipient can not be the same as sender");
		require(_to != address(0),"T2- Please check the recipient address");
		require(balances[msg.sender] >= _value,"T3- The balance of sender is too low");
		require(!frozenAccount[msg.sender],"T4- The wallet of sender is frozen");
		require(!frozenAccount[_to],"T5- The wallet of recipient is frozen");

		balances[msg.sender] = balances[msg.sender].sub(_value);
		balances[_to] = balances[_to].add(_value);

		emit Transfer(msg.sender, _to, _value);

		return true;
	}

	function transferFrom(address _from, address _to, uint256 _value) external override whenNotPaused returns (bool success) {
		require(_to != address(0),"TF1- Please check the recipient address");
		require(balances[_from] >= _value,"TF2- The balance of sender is too low");
		require(allowed[_from][msg.sender] >= _value,"TF3- The allowance of sender is too low");
		require(!frozenAccount[_from],"TF4- The wallet of sender is frozen");
		require(!frozenAccount[_to],"TF5- The wallet of recipient is frozen");

		balances[_from] = balances[_from].sub(_value);
		balances[_to] = balances[_to].add(_value);

		allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);

		emit Transfer(_from, _to, _value);

		return true;
	}

	function balanceOf(address _owner) public override view returns (uint256 balance) {
		return balances[_owner];
	}

	function approve(address _spender, uint256 _value) external override whenNotPaused returns (bool success) {
		require((_value == 0) || (allowed[msg.sender][_spender] == 0),"A1- Reset allowance to 0 first");

		allowed[msg.sender][_spender] = _value;

		emit Approval(msg.sender, _spender, _value);

		return true;
	}

	function increaseApproval(address _spender, uint256 _addedValue) external whenNotPaused returns (bool) {
		allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);

		emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);

		return true;
	}

	function decreaseApproval(address _spender, uint256 _subtractedValue) external whenNotPaused returns (bool) {
		allowed[msg.sender][_spender] = allowed[msg.sender][_spender].sub(_subtractedValue);

		emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);

		return true;
	}

	function allowance(address _owner, address _spender) public override view returns (uint256 remaining) {
		return allowed[_owner][_spender];
	}

	function transferToken(address tokenAddress, uint256 amount) external onlyController {
		iERC20(tokenAddress).safeTransfer(msg.sender,amount);
	}

	function flushToken(address tokenAddress) external onlyController {
		uint256 amount = iERC20(tokenAddress).balanceOf(address(this));
		iERC20(tokenAddress).safeTransfer(msg.sender,amount);
	}

	function burn(uint256 _value) external onlyController returns (bool) {
		require(_value <= balances[msg.sender],"B1- The balance of burner is too low");

		balances[msg.sender] = balances[msg.sender].sub(_value);
		totalSupply = totalSupply.sub(_value);

		emit Burn(msg.sender, _value);

		emit Transfer(msg.sender, address(0), _value);

		return true;
	}

	function freeze(address _address, bool _state) external onlyController returns (bool) {
		frozenAccount[_address] = _state;

		emit Freeze(_address, _state);

		return true;
	}

	event Burn(address indexed burner, uint256 value);
	event Freeze(address target, bool frozen);
} < 

MNW ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"burner","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"bool","name":"frozen","type":"bool"}],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","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":[],"name":"Unpause","type":"event"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"addController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowed","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":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"controllers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"flushToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_state","type":"bool"}],"name":"freeze","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"frozenAccount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"receiveEther","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"removeController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"success","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":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"burner","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"bool","name":"frozen","type":"bool"}],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","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":[],"name":"Unpause","type":"event"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"addController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowed","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":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"controllers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"flushToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_state","type":"bool"}],"name":"freeze","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"frozenAccount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"receiveEther","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"removeController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"success","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":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]

MNW Bytecode

60806040526001805460ff191690553480156200001b57600080fd5b50600062000028620000f2565b6001600160a01b03166000908152602081905260409020805460ff1916600117905550620000596012600a6200014c565b62000069906302dada8262000241565b600581905533600081815260026020908152604080832094909455819052918220805460ff19166001179055907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620000c56012600a6200014c565b620000d5906302dada8262000241565b604051620000e49190620000f6565b60405180910390a362000279565b3390565b90815260200190565b80825b600180861162000113575062000143565b81870482111562000128576200012862000263565b808616156200013657918102915b9490941c93800262000102565b94509492505050565b60006200015d600019848462000164565b9392505050565b60008262000175575060016200015d565b8162000184575060006200015d565b81600181146200019d5760028114620001a857620001dc565b60019150506200015d565b60ff841115620001bc57620001bc62000263565b6001841b915084821115620001d557620001d562000263565b506200015d565b5060208310610133831016604e8410600b841016171562000214575081810a838111156200020e576200020e62000263565b6200015d565b620002238484846001620000ff565b80860482111562000238576200023862000263565b02949350505050565b60008160001904831182151516156200025e576200025e62000263565b500290565b634e487b7160e01b600052601160045260246000fd5b61184480620002896000396000f3fe6080604052600436106101815760003560e01c806370a08231116100d1578063a9059cbb1161008a578063d73dd62311610064578063d73dd62314610415578063da8c229e14610435578063dd62ed3e14610455578063f6a74ed71461047557610181565b8063a9059cbb146103b5578063b414d4b6146103d5578063bf120ae5146103f557610181565b806370a08231146103235780638456cb591461034357806395d89b41146103585780639cee789f1461036d578063a3912ec81461038d578063a7fc7a071461039557610181565b8063313ce5671161013e57806342966c681161011857806342966c68146102ae5780635c658165146102ce5780635c975abb146102ee578063661884631461030357610181565b8063313ce56714610262578063378dc3dc146102845780633f4ba83a1461029957610181565b806306fdde0314610186578063095ea7b3146101b15780631072cbea146101de57806318160ddd1461020057806323b872dd1461022257806327e235e314610242575b600080fd5b34801561019257600080fd5b5061019b610495565b6040516101a891906112a0565b60405180910390f35b3480156101bd57600080fd5b506101d16101cc3660046111d8565b6104c1565b6040516101a89190611295565b3480156101ea57600080fd5b506101fe6101f93660046111d8565b610593565b005b34801561020c57600080fd5b506102156105ef565b6040516101a8919061166e565b34801561022e57600080fd5b506101d161023d366004611167565b6105f5565b34801561024e57600080fd5b5061021561025d36600461111b565b61081c565b34801561026e57600080fd5b5061027761082e565b6040516101a89190611677565b34801561029057600080fd5b50610215610833565b3480156102a557600080fd5b506101fe610850565b3480156102ba57600080fd5b506101d16102c936600461121d565b6108d8565b3480156102da57600080fd5b506102156102e9366004611135565b610a07565b3480156102fa57600080fd5b506101d1610a24565b34801561030f57600080fd5b506101d161031e3660046111d8565b610a2d565b34801561032f57600080fd5b5061021561033e36600461111b565b610ac6565b34801561034f57600080fd5b506101fe610ae1565b34801561036457600080fd5b5061019b610b6c565b34801561037957600080fd5b506101fe61038836600461111b565b610b8b565b6101fe610181565b3480156103a157600080fd5b506101fe6103b036600461111b565b610c64565b3480156103c157600080fd5b506101d16103d03660046111d8565b610ccc565b3480156103e157600080fd5b506101d16103f036600461111b565b610e5b565b34801561040157600080fd5b506101d16104103660046111a2565b610e70565b34801561042157600080fd5b506101d16104303660046111d8565b610f1d565b34801561044157600080fd5b506101d161045036600461111b565b610f5e565b34801561046157600080fd5b50610215610470366004611135565b610f73565b34801561048157600080fd5b506101fe61049036600461111b565b610f9e565b6040518060400160405280601081526020016f4d6f7270686575732e4e6574776f726b60801b81525081565b60015460009060ff16156104d457600080fd5b81158061050257503360009081526003602090815260408083206001600160a01b0387168452909152902054155b6105275760405162461bcd60e51b815260040161051e90611637565b60405180910390fd5b3360008181526003602090815260408083206001600160a01b03881680855292529182902085905590519091907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061058190869061166e565b60405180910390a35060015b92915050565b60008061059e611003565b6001600160a01b0316815260208101919091526040016000205460ff166105d75760405162461bcd60e51b815260040161051e90611567565b6105eb6001600160a01b0383163383611007565b5050565b60055481565b60015460009060ff161561060857600080fd5b6001600160a01b03831661062e5760405162461bcd60e51b815260040161051e906112f3565b6001600160a01b0384166000908152600260205260409020548211156106665760405162461bcd60e51b815260040161051e906115f2565b6001600160a01b03841660009081526003602090815260408083203384529091529020548211156106a95760405162461bcd60e51b815260040161051e90611410565b6001600160a01b03841660009081526004602052604090205460ff16156106e25760405162461bcd60e51b815260040161051e906115af565b6001600160a01b03831660009081526004602052604090205460ff161561071b5760405162461bcd60e51b815260040161051e90611385565b6001600160a01b03841660009081526002602052604090205461073e9083611095565b6001600160a01b03808616600090815260026020526040808220939093559085168152205461076d90836110cd565b6001600160a01b0380851660009081526002602090815260408083209490945591871681526003825282812033825290915220546107ab9083611095565b6001600160a01b0380861660008181526003602090815260408083203384529091529081902093909355915190851691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061080990869061166e565b60405180910390a35060015b9392505050565b60026020526000908152604090205481565b601281565b61083f6012600a6116e3565b61084d906302dada826117b1565b81565b60008061085b611003565b6001600160a01b0316815260208101919091526040016000205460ff166108945760405162461bcd60e51b815260040161051e90611567565b60015460ff166108a357600080fd5b6001805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60008060006108e5611003565b6001600160a01b0316815260208101919091526040016000205460ff1661091e5760405162461bcd60e51b815260040161051e90611567565b3360009081526002602052604090205482111561094d5760405162461bcd60e51b815260040161051e90611457565b336000908152600260205260409020546109679083611095565b336000908152600260205260409020556005546109849083611095565b60055560405133907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5906109b990859061166e565b60405180910390a260405160009033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109f690869061166e565b60405180910390a35060015b919050565b600360209081526000928352604080842090915290825290205481565b60015460ff1681565b60015460009060ff1615610a4057600080fd5b3360009081526003602090815260408083206001600160a01b0387168452909152902054610a6e9083611095565b3360008181526003602090815260408083206001600160a01b038916808552925291829020849055905190927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591610581919061166e565b6001600160a01b031660009081526002602052604090205490565b600080610aec611003565b6001600160a01b0316815260208101919091526040016000205460ff16610b255760405162461bcd60e51b815260040161051e90611567565b60015460ff1615610b3557600080fd5b6001805460ff1916811790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b604051806040016040528060038152602001624d4e5760e81b81525081565b600080610b96611003565b6001600160a01b0316815260208101919091526040016000205460ff16610bcf5760405162461bcd60e51b815260040161051e90611567565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610bfe90309060040161124d565b60206040518083038186803b158015610c1657600080fd5b505afa158015610c2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4e9190611235565b90506105eb6001600160a01b0383163383611007565b600080610c6f611003565b6001600160a01b0316815260208101919091526040016000205460ff16610ca85760405162461bcd60e51b815260040161051e90611567565b6001600160a01b03166000908152602081905260409020805460ff19166001179055565b60015460009060ff1615610cdf57600080fd5b6001600160a01b038316331415610d085760405162461bcd60e51b815260040161051e9061133a565b6001600160a01b038316610d2e5760405162461bcd60e51b815260040161051e906114dd565b33600090815260026020526040902054821115610d5d5760405162461bcd60e51b815260040161051e90611523565b3360009081526004602052604090205460ff1615610d8d5760405162461bcd60e51b815260040161051e9061149b565b6001600160a01b03831660009081526004602052604090205460ff1615610dc65760405162461bcd60e51b815260040161051e906113cb565b33600090815260026020526040902054610de09083611095565b33600090815260026020526040808220929092556001600160a01b03851681522054610e0c90836110cd565b6001600160a01b0384166000818152600260205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061058190869061166e565b60046020526000908152604090205460ff1681565b6000806000610e7d611003565b6001600160a01b0316815260208101919091526040016000205460ff16610eb65760405162461bcd60e51b815260040161051e90611567565b6001600160a01b03831660009081526004602052604090819020805460ff1916841515179055517ff022c1fbc00daf4d2e6cdc62e0338b967bd3be38ccc3d7f8e0168bd668c7bcfe90610f0c9085908590611261565b60405180910390a150600192915050565b60015460009060ff1615610f3057600080fd5b3360009081526003602090815260408083206001600160a01b0387168452909152902054610a6e90836110cd565b60006020819052908152604090205460ff1681565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b600080610fa9611003565b6001600160a01b0316815260208101919091526040016000205460ff16610fe25760405162461bcd60e51b815260040161051e90611567565b6001600160a01b03166000908152602081905260409020805460ff19169055565b3390565b60405163a9059cbb60e01b81526001600160a01b0384169063a9059cbb90611035908590859060040161127c565b602060405180830381600087803b15801561104f57600080fd5b505af1158015611063573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110879190611201565b61109057600080fd5b505050565b60006110a182846117d0565b90508282111580156110b35750828111155b61058d57634e487b7160e01b600052600160045260246000fd5b60006110d98284611685565b90508281101580156110b357508181101561058d57634e487b7160e01b600052600160045260246000fd5b80356001600160a01b0381168114610a0257600080fd5b60006020828403121561112c578081fd5b61081582611104565b60008060408385031215611147578081fd5b61115083611104565b915061115e60208401611104565b90509250929050565b60008060006060848603121561117b578081fd5b61118484611104565b925061119260208501611104565b9150604084013590509250925092565b600080604083850312156111b4578182fd5b6111bd83611104565b915060208301356111cd816117fd565b809150509250929050565b600080604083850312156111ea578182fd5b6111f383611104565b946020939093013593505050565b600060208284031215611212578081fd5b8151610815816117fd565b60006020828403121561122e578081fd5b5035919050565b600060208284031215611246578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602080835283518082850152825b818110156112cc578581018301518582016040015282016112b0565b818111156112dd5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526027908201527f5446312d20506c6561736520636865636b2074686520726563697069656e74206040820152666164647265737360c81b606082015260800190565b6020808252602b908201527f54312d20526563697069656e742063616e206e6f74206265207468652073616d60408201526a329030b99039b2b73232b960a91b606082015260800190565b60208082526026908201527f5446352d205468652077616c6c6574206f6620726563697069656e7420697320604082015265333937bd32b760d11b606082015260800190565b60208082526025908201527f54352d205468652077616c6c6574206f6620726563697069656e7420697320666040820152643937bd32b760d91b606082015260800190565b60208082526027908201527f5446332d2054686520616c6c6f77616e6365206f662073656e64657220697320604082015266746f6f206c6f7760c81b606082015260800190565b60208082526024908201527f42312d205468652062616c616e6365206f66206275726e657220697320746f6f604082015263206c6f7760e01b606082015260800190565b60208082526022908201527f54342d205468652077616c6c6574206f662073656e6465722069732066726f7a60408201526132b760f11b606082015260800190565b60208082526026908201527f54322d20506c6561736520636865636b2074686520726563697069656e74206160408201526564647265737360d01b606082015260800190565b60208082526024908201527f54332d205468652062616c616e6365206f662073656e64657220697320746f6f604082015263206c6f7760e01b606082015260800190565b60208082526028908201527f436f6e74726f6c6c61626c653a2063616c6c6572206973206e6f74206120636f604082015267373a3937b63632b960c11b606082015260800190565b60208082526023908201527f5446342d205468652077616c6c6574206f662073656e6465722069732066726f6040820152623d32b760e91b606082015260800190565b60208082526025908201527f5446322d205468652062616c616e6365206f662073656e64657220697320746f6040820152646f206c6f7760d81b606082015260800190565b6020808252601e908201527f41312d20526573657420616c6c6f77616e636520746f20302066697273740000604082015260600190565b90815260200190565b60ff91909116815260200190565b60008219821115611698576116986117e7565b500190565b80825b60018086116116af57506116da565b8187048211156116c1576116c16117e7565b808616156116ce57918102915b9490941c9380026116a0565b94509492505050565b600061081560001984846000826116fc57506001610815565b8161170957506000610815565b816001811461171f576002811461172957611756565b6001915050610815565b60ff84111561173a5761173a6117e7565b6001841b915084821115611750576117506117e7565b50610815565b5060208310610133831016604e8410600b8410161715611789575081810a83811115611784576117846117e7565b610815565b611796848484600161169d565b8086048211156117a8576117a86117e7565b02949350505050565b60008160001904831182151516156117cb576117cb6117e7565b500290565b6000828210156117e2576117e26117e7565b500390565b634e487b7160e01b600052601160045260246000fd5b801515811461180b57600080fd5b5056fea26469706673582212205f3fd6ea2e81230d926201494cd4b047640da202fa4a088a3d1abc3b0aafbac264736f6c63430008000033
60806040526001805460ff191690553480156200001b57600080fd5b50600062000028620000f2565b6001600160a01b03166000908152602081905260409020805460ff1916600117905550620000596012600a6200014c565b62000069906302dada8262000241565b600581905533600081815260026020908152604080832094909455819052918220805460ff19166001179055907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620000c56012600a6200014c565b620000d5906302dada8262000241565b604051620000e49190620000f6565b60405180910390a362000279565b3390565b90815260200190565b80825b600180861162000113575062000143565b81870482111562000128576200012862000263565b808616156200013657918102915b9490941c93800262000102565b94509492505050565b60006200015d600019848462000164565b9392505050565b60008262000175575060016200015d565b8162000184575060006200015d565b81600181146200019d5760028114620001a857620001dc565b60019150506200015d565b60ff841115620001bc57620001bc62000263565b6001841b915084821115620001d557620001d562000263565b506200015d565b5060208310610133831016604e8410600b841016171562000214575081810a838111156200020e576200020e62000263565b6200015d565b620002238484846001620000ff565b80860482111562000238576200023862000263565b02949350505050565b60008160001904831182151516156200025e576200025e62000263565b500290565b634e487b7160e01b600052601160045260246000fd5b61184480620002896000396000f3fe6080604052600436106101815760003560e01c806370a08231116100d1578063a9059cbb1161008a578063d73dd62311610064578063d73dd62314610415578063da8c229e14610435578063dd62ed3e14610455578063f6a74ed71461047557610181565b8063a9059cbb146103b5578063b414d4b6146103d5578063bf120ae5146103f557610181565b806370a08231146103235780638456cb591461034357806395d89b41146103585780639cee789f1461036d578063a3912ec81461038d578063a7fc7a071461039557610181565b8063313ce5671161013e57806342966c681161011857806342966c68146102ae5780635c658165146102ce5780635c975abb146102ee578063661884631461030357610181565b8063313ce56714610262578063378dc3dc146102845780633f4ba83a1461029957610181565b806306fdde0314610186578063095ea7b3146101b15780631072cbea146101de57806318160ddd1461020057806323b872dd1461022257806327e235e314610242575b600080fd5b34801561019257600080fd5b5061019b610495565b6040516101a891906112a0565b60405180910390f35b3480156101bd57600080fd5b506101d16101cc3660046111d8565b6104c1565b6040516101a89190611295565b3480156101ea57600080fd5b506101fe6101f93660046111d8565b610593565b005b34801561020c57600080fd5b506102156105ef565b6040516101a8919061166e565b34801561022e57600080fd5b506101d161023d366004611167565b6105f5565b34801561024e57600080fd5b5061021561025d36600461111b565b61081c565b34801561026e57600080fd5b5061027761082e565b6040516101a89190611677565b34801561029057600080fd5b50610215610833565b3480156102a557600080fd5b506101fe610850565b3480156102ba57600080fd5b506101d16102c936600461121d565b6108d8565b3480156102da57600080fd5b506102156102e9366004611135565b610a07565b3480156102fa57600080fd5b506101d1610a24565b34801561030f57600080fd5b506101d161031e3660046111d8565b610a2d565b34801561032f57600080fd5b5061021561033e36600461111b565b610ac6565b34801561034f57600080fd5b506101fe610ae1565b34801561036457600080fd5b5061019b610b6c565b34801561037957600080fd5b506101fe61038836600461111b565b610b8b565b6101fe610181565b3480156103a157600080fd5b506101fe6103b036600461111b565b610c64565b3480156103c157600080fd5b506101d16103d03660046111d8565b610ccc565b3480156103e157600080fd5b506101d16103f036600461111b565b610e5b565b34801561040157600080fd5b506101d16104103660046111a2565b610e70565b34801561042157600080fd5b506101d16104303660046111d8565b610f1d565b34801561044157600080fd5b506101d161045036600461111b565b610f5e565b34801561046157600080fd5b50610215610470366004611135565b610f73565b34801561048157600080fd5b506101fe61049036600461111b565b610f9e565b6040518060400160405280601081526020016f4d6f7270686575732e4e6574776f726b60801b81525081565b60015460009060ff16156104d457600080fd5b81158061050257503360009081526003602090815260408083206001600160a01b0387168452909152902054155b6105275760405162461bcd60e51b815260040161051e90611637565b60405180910390fd5b3360008181526003602090815260408083206001600160a01b03881680855292529182902085905590519091907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061058190869061166e565b60405180910390a35060015b92915050565b60008061059e611003565b6001600160a01b0316815260208101919091526040016000205460ff166105d75760405162461bcd60e51b815260040161051e90611567565b6105eb6001600160a01b0383163383611007565b5050565b60055481565b60015460009060ff161561060857600080fd5b6001600160a01b03831661062e5760405162461bcd60e51b815260040161051e906112f3565b6001600160a01b0384166000908152600260205260409020548211156106665760405162461bcd60e51b815260040161051e906115f2565b6001600160a01b03841660009081526003602090815260408083203384529091529020548211156106a95760405162461bcd60e51b815260040161051e90611410565b6001600160a01b03841660009081526004602052604090205460ff16156106e25760405162461bcd60e51b815260040161051e906115af565b6001600160a01b03831660009081526004602052604090205460ff161561071b5760405162461bcd60e51b815260040161051e90611385565b6001600160a01b03841660009081526002602052604090205461073e9083611095565b6001600160a01b03808616600090815260026020526040808220939093559085168152205461076d90836110cd565b6001600160a01b0380851660009081526002602090815260408083209490945591871681526003825282812033825290915220546107ab9083611095565b6001600160a01b0380861660008181526003602090815260408083203384529091529081902093909355915190851691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061080990869061166e565b60405180910390a35060015b9392505050565b60026020526000908152604090205481565b601281565b61083f6012600a6116e3565b61084d906302dada826117b1565b81565b60008061085b611003565b6001600160a01b0316815260208101919091526040016000205460ff166108945760405162461bcd60e51b815260040161051e90611567565b60015460ff166108a357600080fd5b6001805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60008060006108e5611003565b6001600160a01b0316815260208101919091526040016000205460ff1661091e5760405162461bcd60e51b815260040161051e90611567565b3360009081526002602052604090205482111561094d5760405162461bcd60e51b815260040161051e90611457565b336000908152600260205260409020546109679083611095565b336000908152600260205260409020556005546109849083611095565b60055560405133907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5906109b990859061166e565b60405180910390a260405160009033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109f690869061166e565b60405180910390a35060015b919050565b600360209081526000928352604080842090915290825290205481565b60015460ff1681565b60015460009060ff1615610a4057600080fd5b3360009081526003602090815260408083206001600160a01b0387168452909152902054610a6e9083611095565b3360008181526003602090815260408083206001600160a01b038916808552925291829020849055905190927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591610581919061166e565b6001600160a01b031660009081526002602052604090205490565b600080610aec611003565b6001600160a01b0316815260208101919091526040016000205460ff16610b255760405162461bcd60e51b815260040161051e90611567565b60015460ff1615610b3557600080fd5b6001805460ff1916811790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b604051806040016040528060038152602001624d4e5760e81b81525081565b600080610b96611003565b6001600160a01b0316815260208101919091526040016000205460ff16610bcf5760405162461bcd60e51b815260040161051e90611567565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610bfe90309060040161124d565b60206040518083038186803b158015610c1657600080fd5b505afa158015610c2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4e9190611235565b90506105eb6001600160a01b0383163383611007565b600080610c6f611003565b6001600160a01b0316815260208101919091526040016000205460ff16610ca85760405162461bcd60e51b815260040161051e90611567565b6001600160a01b03166000908152602081905260409020805460ff19166001179055565b60015460009060ff1615610cdf57600080fd5b6001600160a01b038316331415610d085760405162461bcd60e51b815260040161051e9061133a565b6001600160a01b038316610d2e5760405162461bcd60e51b815260040161051e906114dd565b33600090815260026020526040902054821115610d5d5760405162461bcd60e51b815260040161051e90611523565b3360009081526004602052604090205460ff1615610d8d5760405162461bcd60e51b815260040161051e9061149b565b6001600160a01b03831660009081526004602052604090205460ff1615610dc65760405162461bcd60e51b815260040161051e906113cb565b33600090815260026020526040902054610de09083611095565b33600090815260026020526040808220929092556001600160a01b03851681522054610e0c90836110cd565b6001600160a01b0384166000818152600260205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061058190869061166e565b60046020526000908152604090205460ff1681565b6000806000610e7d611003565b6001600160a01b0316815260208101919091526040016000205460ff16610eb65760405162461bcd60e51b815260040161051e90611567565b6001600160a01b03831660009081526004602052604090819020805460ff1916841515179055517ff022c1fbc00daf4d2e6cdc62e0338b967bd3be38ccc3d7f8e0168bd668c7bcfe90610f0c9085908590611261565b60405180910390a150600192915050565b60015460009060ff1615610f3057600080fd5b3360009081526003602090815260408083206001600160a01b0387168452909152902054610a6e90836110cd565b60006020819052908152604090205460ff1681565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b600080610fa9611003565b6001600160a01b0316815260208101919091526040016000205460ff16610fe25760405162461bcd60e51b815260040161051e90611567565b6001600160a01b03166000908152602081905260409020805460ff19169055565b3390565b60405163a9059cbb60e01b81526001600160a01b0384169063a9059cbb90611035908590859060040161127c565b602060405180830381600087803b15801561104f57600080fd5b505af1158015611063573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110879190611201565b61109057600080fd5b505050565b60006110a182846117d0565b90508282111580156110b35750828111155b61058d57634e487b7160e01b600052600160045260246000fd5b60006110d98284611685565b90508281101580156110b357508181101561058d57634e487b7160e01b600052600160045260246000fd5b80356001600160a01b0381168114610a0257600080fd5b60006020828403121561112c578081fd5b61081582611104565b60008060408385031215611147578081fd5b61115083611104565b915061115e60208401611104565b90509250929050565b60008060006060848603121561117b578081fd5b61118484611104565b925061119260208501611104565b9150604084013590509250925092565b600080604083850312156111b4578182fd5b6111bd83611104565b915060208301356111cd816117fd565b809150509250929050565b600080604083850312156111ea578182fd5b6111f383611104565b946020939093013593505050565b600060208284031215611212578081fd5b8151610815816117fd565b60006020828403121561122e578081fd5b5035919050565b600060208284031215611246578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602080835283518082850152825b818110156112cc578581018301518582016040015282016112b0565b818111156112dd5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526027908201527f5446312d20506c6561736520636865636b2074686520726563697069656e74206040820152666164647265737360c81b606082015260800190565b6020808252602b908201527f54312d20526563697069656e742063616e206e6f74206265207468652073616d60408201526a329030b99039b2b73232b960a91b606082015260800190565b60208082526026908201527f5446352d205468652077616c6c6574206f6620726563697069656e7420697320604082015265333937bd32b760d11b606082015260800190565b60208082526025908201527f54352d205468652077616c6c6574206f6620726563697069656e7420697320666040820152643937bd32b760d91b606082015260800190565b60208082526027908201527f5446332d2054686520616c6c6f77616e6365206f662073656e64657220697320604082015266746f6f206c6f7760c81b606082015260800190565b60208082526024908201527f42312d205468652062616c616e6365206f66206275726e657220697320746f6f604082015263206c6f7760e01b606082015260800190565b60208082526022908201527f54342d205468652077616c6c6574206f662073656e6465722069732066726f7a60408201526132b760f11b606082015260800190565b60208082526026908201527f54322d20506c6561736520636865636b2074686520726563697069656e74206160408201526564647265737360d01b606082015260800190565b60208082526024908201527f54332d205468652062616c616e6365206f662073656e64657220697320746f6f604082015263206c6f7760e01b606082015260800190565b60208082526028908201527f436f6e74726f6c6c61626c653a2063616c6c6572206973206e6f74206120636f604082015267373a3937b63632b960c11b606082015260800190565b60208082526023908201527f5446342d205468652077616c6c6574206f662073656e6465722069732066726f6040820152623d32b760e91b606082015260800190565b60208082526025908201527f5446322d205468652062616c616e6365206f662073656e64657220697320746f6040820152646f206c6f7760d81b606082015260800190565b6020808252601e908201527f41312d20526573657420616c6c6f77616e636520746f20302066697273740000604082015260600190565b90815260200190565b60ff91909116815260200190565b60008219821115611698576116986117e7565b500190565b80825b60018086116116af57506116da565b8187048211156116c1576116c16117e7565b808616156116ce57918102915b9490941c9380026116a0565b94509492505050565b600061081560001984846000826116fc57506001610815565b8161170957506000610815565b816001811461171f576002811461172957611756565b6001915050610815565b60ff84111561173a5761173a6117e7565b6001841b915084821115611750576117506117e7565b50610815565b5060208310610133831016604e8410600b8410161715611789575081810a83811115611784576117846117e7565b610815565b611796848484600161169d565b8086048211156117a8576117a86117e7565b02949350505050565b60008160001904831182151516156117cb576117cb6117e7565b500290565b6000828210156117e2576117e26117e7565b500390565b634e487b7160e01b600052601160045260246000fd5b801515811461180b57600080fd5b5056fea26469706673582212205f3fd6ea2e81230d926201494cd4b047640da202fa4a088a3d1abc3b0aafbac264736f6c63430008000033

Check out more smart contracts

Build blockchain magic with Alchemy

Alchemy combines the most powerful web3 developer products and tools with resources, community and legendary support.