Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Sponsored
Latest 9 from a total of 9 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 13627281 | 674 days 9 hrs ago | IN | 0 ETH | 0.00559177 | ||||
Transfer | 13575340 | 682 days 13 hrs ago | IN | 0 ETH | 0.0046269 | ||||
Transfer | 13561691 | 684 days 17 hrs ago | IN | 0 ETH | 0.00437623 | ||||
Transfer | 13459478 | 700 days 17 hrs ago | IN | 0 ETH | 0.00346125 | ||||
Transfer | 13427788 | 705 days 16 hrs ago | IN | 0 ETH | 0.00464323 | ||||
Transfer | 13427625 | 705 days 17 hrs ago | IN | 0 ETH | 0.00522269 | ||||
Transfer | 13427573 | 705 days 17 hrs ago | IN | 0 ETH | 0.00405004 | ||||
Transfer | 13427512 | 705 days 17 hrs ago | IN | 0 ETH | 0.00402519 | ||||
0x60806040 | 13425810 | 706 days 17 mins ago | IN | Create: BCAT | 0 ETH | 0.10415477 |
Loading...
Loading
Contract Name:
BCAT
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-10-18 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.9; library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Pausable is Context { event Paused(address account); event Unpaused(address account); bool private _paused; constructor() { _paused = false; } function paused() public view virtual returns (bool) { return _paused; } modifier whenNotPaused() { require(!paused(), "Pausable: paused"); _; } modifier whenPaused() { require(paused(), "Pausable: not paused"); _; } function _pause() internal virtual whenNotPaused { _paused = true; emit Paused(_msgSender()); } function _unpause() internal virtual whenPaused { _paused = false; emit Unpaused(_msgSender()); } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } 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); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); 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 transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } 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"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } 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 _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } abstract contract ERC20Burnable is Context, ERC20 { function burn(uint256 amount) public virtual { _burn(_msgSender(), amount); } function burnFrom(address account, uint256 amount) public virtual { uint256 currentAllowance = allowance(account, _msgSender()); require(currentAllowance >= amount, "ERC20: burn amount exceeds allowance"); unchecked { _approve(account, _msgSender(), currentAllowance - amount); } _burn(account, amount); } } contract BCAT is ERC20Burnable, Pausable, Ownable { using SafeMath for uint256; mapping(address => bool) minterRole; constructor() ERC20("Blockchain art token", "BCAT"){ _mint(msg.sender, 134217728 * 10 ** decimals()); } // mint with max supply function mint(address _to, uint256 _amount) public onlyMinter returns (bool) { _mint(_to, _amount); return true; } function addMinter(address _minter) public onlyOwner returns (bool) { minterRole[_minter] = true; return true; } function removeMinter(address _minter) public onlyOwner returns (bool) { minterRole[_minter] = false; return true; } // modifier for mint function modifier onlyMinter() { require(minterRole[_msgSender()], "Is not the minter!"); _; } function pause() public onlyOwner { _pause(); } function unpause() public onlyOwner { _unpause(); } function _beforeTokenTransfer(address from, address to, uint256 amount) internal whenNotPaused override { super._beforeTokenTransfer(from, to, amount); } }
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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","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":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"addMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","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":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"internalType":"address","name":"_minter","type":"address"}],"name":"removeMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604080518082018252601481527f426c6f636b636861696e2061727420746f6b656e0000000000000000000000006020808301918252835180850190945260048452631090d05560e21b908401528151919291620000739160039162000286565b5080516200008990600490602084019062000286565b50506005805460ff1916905550620000a133620000d0565b620000ca33620000b46012600a62000441565b620000c490630800000062000459565b6200012a565b620004d3565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620001865760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b620001946000838362000221565b8060026000828254620001a891906200047b565b90915550506001600160a01b03821660009081526020819052604081208054839290620001d79084906200047b565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60055460ff1615620002695760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016200017d565b620002818383836200028160201b6200066e1760201c565b505050565b828054620002949062000496565b90600052602060002090601f016020900481019282620002b8576000855562000303565b82601f10620002d357805160ff191683800117855562000303565b8280016001018555821562000303579182015b8281111562000303578251825591602001919060010190620002e6565b506200031192915062000315565b5090565b5b8082111562000311576000815560010162000316565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003835781600019048211156200036757620003676200032c565b808516156200037557918102915b93841c939080029062000347565b509250929050565b6000826200039c575060016200043b565b81620003ab575060006200043b565b8160018114620003c45760028114620003cf57620003ef565b60019150506200043b565b60ff841115620003e357620003e36200032c565b50506001821b6200043b565b5060208310610133831016604e8410600b841016171562000414575081810a6200043b565b62000420838362000342565b80600019048211156200043757620004376200032c565b0290505b92915050565b60006200045260ff8416836200038b565b9392505050565b60008160001904831182151516156200047657620004766200032c565b500290565b600082198211156200049157620004916200032c565b500190565b600181811c90821680620004ab57607f821691505b60208210811415620004cd57634e487b7160e01b600052602260045260246000fd5b50919050565b61117680620004e36000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b857806395d89b411161007c57806395d89b4114610292578063983b2d561461029a578063a457c2d7146102ad578063a9059cbb146102c0578063dd62ed3e146102d3578063f2fde38b1461030c57600080fd5b806370a082311461021d578063715018a61461024657806379cc67901461024e5780638456cb59146102615780638da5cb5b1461026957600080fd5b8063313ce5671161010a578063313ce567146101c057806339509351146101cf5780633f4ba83a146101e257806340c10f19146101ec57806342966c68146101ff5780635c975abb1461021257600080fd5b806306fdde0314610147578063095ea7b31461016557806318160ddd1461018857806323b872dd1461019a5780633092afd5146101ad575b600080fd5b61014f61031f565b60405161015c9190610f4b565b60405180910390f35b610178610173366004610fb7565b6103b1565b604051901515815260200161015c565b6002545b60405190815260200161015c565b6101786101a8366004610fe1565b6103c7565b6101786101bb36600461101d565b610476565b6040516012815260200161015c565b6101786101dd366004610fb7565b6104d2565b6101ea61050e565b005b6101786101fa366004610fb7565b610548565b6101ea61020d36600461103f565b6105a6565b60055460ff16610178565b61018c61022b36600461101d565b6001600160a01b031660009081526020819052604090205490565b6101ea6105b3565b6101ea61025c366004610fb7565b6105ed565b6101ea610673565b60055461010090046001600160a01b03166040516001600160a01b03909116815260200161015c565b61014f6106ab565b6101786102a836600461101d565b6106ba565b6101786102bb366004610fb7565b610716565b6101786102ce366004610fb7565b6107af565b61018c6102e1366004611058565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101ea61031a36600461101d565b6107bc565b60606003805461032e9061108b565b80601f016020809104026020016040519081016040528092919081815260200182805461035a9061108b565b80156103a75780601f1061037c576101008083540402835291602001916103a7565b820191906000526020600020905b81548152906001019060200180831161038a57829003601f168201915b5050505050905090565b60006103be33848461085a565b50600192915050565b60006103d484848461097e565b6001600160a01b03841660009081526001602090815260408083203384529091529020548281101561045e5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61046b853385840361085a565b506001949350505050565b6005546000906001600160a01b036101009091041633146104a95760405162461bcd60e51b8152600401610455906110c6565b506001600160a01b0381166000908152600660205260409020805460ff1916905560015b919050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103be918590610509908690611111565b61085a565b6005546001600160a01b0361010090910416331461053e5760405162461bcd60e51b8152600401610455906110c6565b610546610b58565b565b3360009081526006602052604081205460ff1661059c5760405162461bcd60e51b81526020600482015260126024820152714973206e6f7420746865206d696e7465722160701b6044820152606401610455565b6103be8383610beb565b6105b03382610cd6565b50565b6005546001600160a01b036101009091041633146105e35760405162461bcd60e51b8152600401610455906110c6565b6105466000610e30565b60006105f983336102e1565b9050818110156106575760405162461bcd60e51b8152602060048201526024808201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604482015263616e636560e01b6064820152608401610455565b610664833384840361085a565b61066e8383610cd6565b505050565b6005546001600160a01b036101009091041633146106a35760405162461bcd60e51b8152600401610455906110c6565b610546610e8a565b60606004805461032e9061108b565b6005546000906001600160a01b036101009091041633146106ed5760405162461bcd60e51b8152600401610455906110c6565b506001600160a01b03166000908152600660205260409020805460ff1916600190811790915590565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156107985760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610455565b6107a5338585840361085a565b5060019392505050565b60006103be33848461097e565b6005546001600160a01b036101009091041633146107ec5760405162461bcd60e51b8152600401610455906110c6565b6001600160a01b0381166108515760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610455565b6105b081610e30565b6001600160a01b0383166108bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610455565b6001600160a01b03821661091d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610455565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109e25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610455565b6001600160a01b038216610a445760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610455565b610a4f838383610f05565b6001600160a01b03831660009081526020819052604090205481811015610ac75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610455565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610afe908490611111565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b4a91815260200190565b60405180910390a350505050565b60055460ff16610ba15760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610455565b6005805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b038216610c415760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610455565b610c4d60008383610f05565b8060026000828254610c5f9190611111565b90915550506001600160a01b03821660009081526020819052604081208054839290610c8c908490611111565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b038216610d365760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610455565b610d4282600083610f05565b6001600160a01b03821660009081526020819052604090205481811015610db65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610455565b6001600160a01b0383166000908152602081905260408120838303905560028054849290610de5908490611129565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60055460ff1615610ed05760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610455565b6005805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610bce3390565b60055460ff161561066e5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610455565b600060208083528351808285015260005b81811015610f7857858101830151858201604001528201610f5c565b81811115610f8a576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146104cd57600080fd5b60008060408385031215610fca57600080fd5b610fd383610fa0565b946020939093013593505050565b600080600060608486031215610ff657600080fd5b610fff84610fa0565b925061100d60208501610fa0565b9150604084013590509250925092565b60006020828403121561102f57600080fd5b61103882610fa0565b9392505050565b60006020828403121561105157600080fd5b5035919050565b6000806040838503121561106b57600080fd5b61107483610fa0565b915061108260208401610fa0565b90509250929050565b600181811c9082168061109f57607f821691505b602082108114156110c057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115611124576111246110fb565b500190565b60008282101561113b5761113b6110fb565b50039056fea2646970667358221220953452b93cc744394d5603b448c1c6b4b884aa6ee34beea5a286b0c55a0238c964736f6c63430008090033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b857806395d89b411161007c57806395d89b4114610292578063983b2d561461029a578063a457c2d7146102ad578063a9059cbb146102c0578063dd62ed3e146102d3578063f2fde38b1461030c57600080fd5b806370a082311461021d578063715018a61461024657806379cc67901461024e5780638456cb59146102615780638da5cb5b1461026957600080fd5b8063313ce5671161010a578063313ce567146101c057806339509351146101cf5780633f4ba83a146101e257806340c10f19146101ec57806342966c68146101ff5780635c975abb1461021257600080fd5b806306fdde0314610147578063095ea7b31461016557806318160ddd1461018857806323b872dd1461019a5780633092afd5146101ad575b600080fd5b61014f61031f565b60405161015c9190610f4b565b60405180910390f35b610178610173366004610fb7565b6103b1565b604051901515815260200161015c565b6002545b60405190815260200161015c565b6101786101a8366004610fe1565b6103c7565b6101786101bb36600461101d565b610476565b6040516012815260200161015c565b6101786101dd366004610fb7565b6104d2565b6101ea61050e565b005b6101786101fa366004610fb7565b610548565b6101ea61020d36600461103f565b6105a6565b60055460ff16610178565b61018c61022b36600461101d565b6001600160a01b031660009081526020819052604090205490565b6101ea6105b3565b6101ea61025c366004610fb7565b6105ed565b6101ea610673565b60055461010090046001600160a01b03166040516001600160a01b03909116815260200161015c565b61014f6106ab565b6101786102a836600461101d565b6106ba565b6101786102bb366004610fb7565b610716565b6101786102ce366004610fb7565b6107af565b61018c6102e1366004611058565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101ea61031a36600461101d565b6107bc565b60606003805461032e9061108b565b80601f016020809104026020016040519081016040528092919081815260200182805461035a9061108b565b80156103a75780601f1061037c576101008083540402835291602001916103a7565b820191906000526020600020905b81548152906001019060200180831161038a57829003601f168201915b5050505050905090565b60006103be33848461085a565b50600192915050565b60006103d484848461097e565b6001600160a01b03841660009081526001602090815260408083203384529091529020548281101561045e5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61046b853385840361085a565b506001949350505050565b6005546000906001600160a01b036101009091041633146104a95760405162461bcd60e51b8152600401610455906110c6565b506001600160a01b0381166000908152600660205260409020805460ff1916905560015b919050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103be918590610509908690611111565b61085a565b6005546001600160a01b0361010090910416331461053e5760405162461bcd60e51b8152600401610455906110c6565b610546610b58565b565b3360009081526006602052604081205460ff1661059c5760405162461bcd60e51b81526020600482015260126024820152714973206e6f7420746865206d696e7465722160701b6044820152606401610455565b6103be8383610beb565b6105b03382610cd6565b50565b6005546001600160a01b036101009091041633146105e35760405162461bcd60e51b8152600401610455906110c6565b6105466000610e30565b60006105f983336102e1565b9050818110156106575760405162461bcd60e51b8152602060048201526024808201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604482015263616e636560e01b6064820152608401610455565b610664833384840361085a565b61066e8383610cd6565b505050565b6005546001600160a01b036101009091041633146106a35760405162461bcd60e51b8152600401610455906110c6565b610546610e8a565b60606004805461032e9061108b565b6005546000906001600160a01b036101009091041633146106ed5760405162461bcd60e51b8152600401610455906110c6565b506001600160a01b03166000908152600660205260409020805460ff1916600190811790915590565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156107985760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610455565b6107a5338585840361085a565b5060019392505050565b60006103be33848461097e565b6005546001600160a01b036101009091041633146107ec5760405162461bcd60e51b8152600401610455906110c6565b6001600160a01b0381166108515760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610455565b6105b081610e30565b6001600160a01b0383166108bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610455565b6001600160a01b03821661091d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610455565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109e25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610455565b6001600160a01b038216610a445760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610455565b610a4f838383610f05565b6001600160a01b03831660009081526020819052604090205481811015610ac75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610455565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610afe908490611111565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b4a91815260200190565b60405180910390a350505050565b60055460ff16610ba15760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610455565b6005805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b038216610c415760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610455565b610c4d60008383610f05565b8060026000828254610c5f9190611111565b90915550506001600160a01b03821660009081526020819052604081208054839290610c8c908490611111565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b038216610d365760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610455565b610d4282600083610f05565b6001600160a01b03821660009081526020819052604090205481811015610db65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610455565b6001600160a01b0383166000908152602081905260408120838303905560028054849290610de5908490611129565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60055460ff1615610ed05760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610455565b6005805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610bce3390565b60055460ff161561066e5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610455565b600060208083528351808285015260005b81811015610f7857858101830151858201604001528201610f5c565b81811115610f8a576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146104cd57600080fd5b60008060408385031215610fca57600080fd5b610fd383610fa0565b946020939093013593505050565b600080600060608486031215610ff657600080fd5b610fff84610fa0565b925061100d60208501610fa0565b9150604084013590509250925092565b60006020828403121561102f57600080fd5b61103882610fa0565b9392505050565b60006020828403121561105157600080fd5b5035919050565b6000806040838503121561106b57600080fd5b61107483610fa0565b915061108260208401610fa0565b90509250929050565b600181811c9082168061109f57607f821691505b602082108114156110c057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115611124576111246110fb565b500190565b60008282101561113b5761113b6110fb565b50039056fea2646970667358221220953452b93cc744394d5603b448c1c6b4b884aa6ee34beea5a286b0c55a0238c964736f6c63430008090033
Deployed Bytecode Sourcemap
10964:1238:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5794:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6708:169;;;;;;:::i;:::-;;:::i;:::-;;;1218:14:1;;1211:22;1193:41;;1181:2;1166:18;6708:169:0;1053:187:1;6115:108:0;6203:12;;6115:108;;;1391:25:1;;;1379:2;1364:18;6115:108:0;1245:177:1;6885:492:0;;;;;;:::i;:::-;;:::i;11551:139::-;;;;;;:::i;:::-;;:::i;6014:93::-;;;6097:2;2093:36:1;;2081:2;2066:18;6014:93:0;1951:184:1;7385:215:0;;;;;;:::i;:::-;;:::i;11925:65::-;;;:::i;:::-;;11259:137;;;;;;:::i;:::-;;:::i;10490:91::-;;;;;;:::i;:::-;;:::i;2936:86::-;3007:7;;;;2936:86;;6231:127;;;;;;:::i;:::-;-1:-1:-1;;;;;6332:18:0;6305:7;6332:18;;;;;;;;;;;;6231:127;3941:94;;;:::i;10589:368::-;;;;;;:::i;:::-;;:::i;11856:61::-;;;:::i;3718:87::-;3791:6;;;;;-1:-1:-1;;;;;3791:6:0;3718:87;;-1:-1:-1;;;;;2489:32:1;;;2471:51;;2459:2;2444:18;3718:87:0;2325:203:1;5902:104:0;;;:::i;11404:135::-;;;;;;:::i;:::-;;:::i;7608:413::-;;;;;;:::i;:::-;;:::i;6366:175::-;;;;;;:::i;:::-;;:::i;6549:151::-;;;;;;:::i;:::-;-1:-1:-1;;;;;6665:18:0;;;6638:7;6665:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6549:151;4043:192;;;;;;:::i;:::-;;:::i;5794:100::-;5848:13;5881:5;5874:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5794:100;:::o;6708:169::-;6791:4;6808:39;2590:10;6831:7;6840:6;6808:8;:39::i;:::-;-1:-1:-1;6865:4:0;6708:169;;;;:::o;6885:492::-;7025:4;7042:36;7052:6;7060:9;7071:6;7042:9;:36::i;:::-;-1:-1:-1;;;;;7118:19:0;;7091:24;7118:19;;;:11;:19;;;;;;;;2590:10;7118:33;;;;;;;;7170:26;;;;7162:79;;;;-1:-1:-1;;;7162:79:0;;3385:2:1;7162:79:0;;;3367:21:1;3424:2;3404:18;;;3397:30;3463:34;3443:18;;;3436:62;-1:-1:-1;;;3514:18:1;;;3507:38;3562:19;;7162:79:0;;;;;;;;;7277:57;7286:6;2590:10;7327:6;7308:16;:25;7277:8;:57::i;:::-;-1:-1:-1;7365:4:0;;6885:492;-1:-1:-1;;;;6885:492:0:o;11551:139::-;3791:6;;11616:4;;-1:-1:-1;;;;;3791:6:0;;;;;2590:10;3853:23;3845:68;;;;-1:-1:-1;;;3845:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;11633:19:0;::::1;11655:5;11633:19:::0;;;:10:::1;:19;::::0;;;;:27;;-1:-1:-1;;11633:27:0::1;::::0;;;3924:1:::1;11551:139:::0;;;:::o;7385:215::-;2590:10;7473:4;7522:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7522:34:0;;;;;;;;;;7473:4;;7490:80;;7513:7;;7522:47;;7559:10;;7522:47;:::i;:::-;7490:8;:80::i;11925:65::-;3791:6;;-1:-1:-1;;;;;3791:6:0;;;;;2590:10;3853:23;3845:68;;;;-1:-1:-1;;;3845:68:0;;;;;;;:::i;:::-;11972:10:::1;:8;:10::i;:::-;11925:65::o:0;11259:137::-;2590:10;11330:4;11774:24;;;:10;:24;;;;;;;;11766:55;;;;-1:-1:-1;;;11766:55:0;;4420:2:1;11766:55:0;;;4402:21:1;4459:2;4439:18;;;4432:30;-1:-1:-1;;;4478:18:1;;;4471:48;4536:18;;11766:55:0;4218:342:1;11766:55:0;11347:19:::1;11353:3;11358:7;11347:5;:19::i;10490:91::-:0;10546:27;2590:10;10566:6;10546:5;:27::i;:::-;10490:91;:::o;3941:94::-;3791:6;;-1:-1:-1;;;;;3791:6:0;;;;;2590:10;3853:23;3845:68;;;;-1:-1:-1;;;3845:68:0;;;;;;;:::i;:::-;4006:21:::1;4024:1;4006:9;:21::i;10589:368::-:0;10666:24;10693:32;10703:7;2590:10;6549:151;:::i;10693:32::-;10666:59;;10764:6;10744:16;:26;;10736:75;;;;-1:-1:-1;;;10736:75:0;;4767:2:1;10736:75:0;;;4749:21:1;4806:2;4786:18;;;4779:30;4845:34;4825:18;;;4818:62;-1:-1:-1;;;4896:18:1;;;4889:34;4940:19;;10736:75:0;4565:400:1;10736:75:0;10847:58;10856:7;2590:10;10898:6;10879:16;:25;10847:8;:58::i;:::-;10927:22;10933:7;10942:6;10927:5;:22::i;:::-;10655:302;10589:368;;:::o;11856:61::-;3791:6;;-1:-1:-1;;;;;3791:6:0;;;;;2590:10;3853:23;3845:68;;;;-1:-1:-1;;;3845:68:0;;;;;;;:::i;:::-;11901:8:::1;:6;:8::i;5902:104::-:0;5958:13;5991:7;5984:14;;;;;:::i;11404:135::-;3791:6;;11466:4;;-1:-1:-1;;;;;3791:6:0;;;;;2590:10;3853:23;3845:68;;;;-1:-1:-1;;;3845:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;11483:19:0::1;;::::0;;;:10:::1;:19;::::0;;;;:26;;-1:-1:-1;;11483:26:0::1;11505:4;11483:26:::0;;::::1;::::0;;;11505:4;11404:135::o;7608:413::-;2590:10;7701:4;7745:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7745:34:0;;;;;;;;;;7798:35;;;;7790:85;;;;-1:-1:-1;;;7790:85:0;;5172:2:1;7790:85:0;;;5154:21:1;5211:2;5191:18;;;5184:30;5250:34;5230:18;;;5223:62;-1:-1:-1;;;5301:18:1;;;5294:35;5346:19;;7790:85:0;4970:401:1;7790:85:0;7911:67;2590:10;7934:7;7962:15;7943:16;:34;7911:8;:67::i;:::-;-1:-1:-1;8009:4:0;;7608:413;-1:-1:-1;;;7608:413:0:o;6366:175::-;6452:4;6469:42;2590:10;6493:9;6504:6;6469:9;:42::i;4043:192::-;3791:6;;-1:-1:-1;;;;;3791:6:0;;;;;2590:10;3853:23;3845:68;;;;-1:-1:-1;;;3845:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4132:22:0;::::1;4124:73;;;::::0;-1:-1:-1;;;4124:73:0;;5578:2:1;4124:73:0::1;::::0;::::1;5560:21:1::0;5617:2;5597:18;;;5590:30;5656:34;5636:18;;;5629:62;-1:-1:-1;;;5707:18:1;;;5700:36;5753:19;;4124:73:0::1;5376:402:1::0;4124:73:0::1;4208:19;4218:8;4208:9;:19::i;9776:380::-:0;-1:-1:-1;;;;;9912:19:0;;9904:68;;;;-1:-1:-1;;;9904:68:0;;5985:2:1;9904:68:0;;;5967:21:1;6024:2;6004:18;;;5997:30;6063:34;6043:18;;;6036:62;-1:-1:-1;;;6114:18:1;;;6107:34;6158:19;;9904:68:0;5783:400:1;9904:68:0;-1:-1:-1;;;;;9991:21:0;;9983:68;;;;-1:-1:-1;;;9983:68:0;;6390:2:1;9983:68:0;;;6372:21:1;6429:2;6409:18;;;6402:30;6468:34;6448:18;;;6441:62;-1:-1:-1;;;6519:18:1;;;6512:32;6561:19;;9983:68:0;6188:398:1;9983:68:0;-1:-1:-1;;;;;10064:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10116:32;;1391:25:1;;;10116:32:0;;1364:18:1;10116:32:0;;;;;;;9776:380;;;:::o;8029:733::-;-1:-1:-1;;;;;8169:20:0;;8161:70;;;;-1:-1:-1;;;8161:70:0;;6793:2:1;8161:70:0;;;6775:21:1;6832:2;6812:18;;;6805:30;6871:34;6851:18;;;6844:62;-1:-1:-1;;;6922:18:1;;;6915:35;6967:19;;8161:70:0;6591:401:1;8161:70:0;-1:-1:-1;;;;;8250:23:0;;8242:71;;;;-1:-1:-1;;;8242:71:0;;7199:2:1;8242:71:0;;;7181:21:1;7238:2;7218:18;;;7211:30;7277:34;7257:18;;;7250:62;-1:-1:-1;;;7328:18:1;;;7321:33;7371:19;;8242:71:0;6997:399:1;8242:71:0;8326:47;8347:6;8355:9;8366:6;8326:20;:47::i;:::-;-1:-1:-1;;;;;8410:17:0;;8386:21;8410:17;;;;;;;;;;;8446:23;;;;8438:74;;;;-1:-1:-1;;;8438:74:0;;7603:2:1;8438:74:0;;;7585:21:1;7642:2;7622:18;;;7615:30;7681:34;7661:18;;;7654:62;-1:-1:-1;;;7732:18:1;;;7725:36;7778:19;;8438:74:0;7401:402:1;8438:74:0;-1:-1:-1;;;;;8548:17:0;;;:9;:17;;;;;;;;;;;8568:22;;;8548:42;;8612:20;;;;;;;;:30;;8584:6;;8548:9;8612:30;;8584:6;;8612:30;:::i;:::-;;;;;;;;8677:9;-1:-1:-1;;;;;8660:35:0;8669:6;-1:-1:-1;;;;;8660:35:0;;8688:6;8660:35;;;;1391:25:1;;1379:2;1364:18;;1245:177;8660:35:0;;;;;;;;8150:612;8029:733;;;:::o;3360:120::-;3007:7;;;;3165:41;;;;-1:-1:-1;;;3165:41:0;;8010:2:1;3165:41:0;;;7992:21:1;8049:2;8029:18;;;8022:30;-1:-1:-1;;;8068:18:1;;;8061:50;8128:18;;3165:41:0;7808:344:1;3165:41:0;3419:7:::1;:15:::0;;-1:-1:-1;;3419:15:0::1;::::0;;3450:22:::1;2590:10:::0;3459:12:::1;3450:22;::::0;-1:-1:-1;;;;;2489:32:1;;;2471:51;;2459:2;2444:18;3450:22:0::1;;;;;;;3360:120::o:0;8770:399::-;-1:-1:-1;;;;;8854:21:0;;8846:65;;;;-1:-1:-1;;;8846:65:0;;8359:2:1;8846:65:0;;;8341:21:1;8398:2;8378:18;;;8371:30;8437:33;8417:18;;;8410:61;8488:18;;8846:65:0;8157:355:1;8846:65:0;8924:49;8953:1;8957:7;8966:6;8924:20;:49::i;:::-;9002:6;8986:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;9019:18:0;;:9;:18;;;;;;;;;;:28;;9041:6;;9019:9;:28;;9041:6;;9019:28;:::i;:::-;;;;-1:-1:-1;;9063:37:0;;1391:25:1;;;-1:-1:-1;;;;;9063:37:0;;;9080:1;;9063:37;;1379:2:1;1364:18;9063:37:0;;;;;;;8770:399;;:::o;9177:591::-;-1:-1:-1;;;;;9261:21:0;;9253:67;;;;-1:-1:-1;;;9253:67:0;;8719:2:1;9253:67:0;;;8701:21:1;8758:2;8738:18;;;8731:30;8797:34;8777:18;;;8770:62;-1:-1:-1;;;8848:18:1;;;8841:31;8889:19;;9253:67:0;8517:397:1;9253:67:0;9333:49;9354:7;9371:1;9375:6;9333:20;:49::i;:::-;-1:-1:-1;;;;;9420:18:0;;9395:22;9420:18;;;;;;;;;;;9457:24;;;;9449:71;;;;-1:-1:-1;;;9449:71:0;;9121:2:1;9449:71:0;;;9103:21:1;9160:2;9140:18;;;9133:30;9199:34;9179:18;;;9172:62;-1:-1:-1;;;9250:18:1;;;9243:32;9292:19;;9449:71:0;8919:398:1;9449:71:0;-1:-1:-1;;;;;9556:18:0;;:9;:18;;;;;;;;;;9577:23;;;9556:44;;9622:12;:22;;9594:6;;9556:9;9622:22;;9594:6;;9622:22;:::i;:::-;;;;-1:-1:-1;;9662:37:0;;1391:25:1;;;9688:1:0;;-1:-1:-1;;;;;9662:37:0;;;;;1379:2:1;1364:18;9662:37:0;;;;;;;10655:302;10589:368;;:::o;4243:173::-;4318:6;;;-1:-1:-1;;;;;4335:17:0;;;4318:6;4335:17;;;-1:-1:-1;;;;;;4335:17:0;;;;;;4368:40;;4318:6;;;;;;;;4368:40;;4299:16;;4368:40;4288:128;4243:173;:::o;3234:118::-;3007:7;;;;3074:9;3066:38;;;;-1:-1:-1;;;3066:38:0;;9654:2:1;3066:38:0;;;9636:21:1;9693:2;9673:18;;;9666:30;-1:-1:-1;;;9712:18:1;;;9705:46;9768:18;;3066:38:0;9452:340:1;3066:38:0;3294:7:::1;:14:::0;;-1:-1:-1;;3294:14:0::1;3304:4;3294:14;::::0;;3324:20:::1;3331:12;2590:10:::0;;2510:98;11998:199;3007:7;;;;3074:9;3066:38;;;;-1:-1:-1;;;3066:38:0;;9654:2:1;3066:38:0;;;9636:21:1;9693:2;9673:18;;;9666:30;-1:-1:-1;;;9712:18:1;;;9705:46;9768:18;;3066:38:0;9452:340:1;14:597;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:173::-;684:20;;-1:-1:-1;;;;;733:31:1;;723:42;;713:70;;779:1;776;769:12;794:254;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:1:o;1427:328::-;1504:6;1512;1520;1573:2;1561:9;1552:7;1548:23;1544:32;1541:52;;;1589:1;1586;1579:12;1541:52;1612:29;1631:9;1612:29;:::i;:::-;1602:39;;1660:38;1694:2;1683:9;1679:18;1660:38;:::i;:::-;1650:48;;1745:2;1734:9;1730:18;1717:32;1707:42;;1427:328;;;;;:::o;1760:186::-;1819:6;1872:2;1860:9;1851:7;1847:23;1843:32;1840:52;;;1888:1;1885;1878:12;1840:52;1911:29;1930:9;1911:29;:::i;:::-;1901:39;1760:186;-1:-1:-1;;;1760:186:1:o;2140:180::-;2199:6;2252:2;2240:9;2231:7;2227:23;2223:32;2220:52;;;2268:1;2265;2258:12;2220:52;-1:-1:-1;2291:23:1;;2140:180;-1:-1:-1;2140:180:1:o;2533:260::-;2601:6;2609;2662:2;2650:9;2641:7;2637:23;2633:32;2630:52;;;2678:1;2675;2668:12;2630:52;2701:29;2720:9;2701:29;:::i;:::-;2691:39;;2749:38;2783:2;2772:9;2768:18;2749:38;:::i;:::-;2739:48;;2533:260;;;;;:::o;2798:380::-;2877:1;2873:12;;;;2920;;;2941:61;;2995:4;2987:6;2983:17;2973:27;;2941:61;3048:2;3040:6;3037:14;3017:18;3014:38;3011:161;;;3094:10;3089:3;3085:20;3082:1;3075:31;3129:4;3126:1;3119:15;3157:4;3154:1;3147:15;3011:161;;2798:380;;;:::o;3592:356::-;3794:2;3776:21;;;3813:18;;;3806:30;3872:34;3867:2;3852:18;;3845:62;3939:2;3924:18;;3592:356::o;3953:127::-;4014:10;4009:3;4005:20;4002:1;3995:31;4045:4;4042:1;4035:15;4069:4;4066:1;4059:15;4085:128;4125:3;4156:1;4152:6;4149:1;4146:13;4143:39;;;4162:18;;:::i;:::-;-1:-1:-1;4198:9:1;;4085:128::o;9322:125::-;9362:4;9390:1;9387;9384:8;9381:34;;;9395:18;;:::i;:::-;-1:-1:-1;9432:9:1;;9322:125::o
Swarm Source
ipfs://953452b93cc744394d5603b448c1c6b4b884aa6ee34beea5a286b0c55a0238c9
Loading...
Loading
Loading...
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.