Contract
0xD465b6B4937D768075414D413e981Af0b49349Cc
1
[ Download CSV Export ]
OVERVIEW
GambleFi DAO is an innovative financial ecosystem, based on a rebase currency managed by a DAO.Contract Name:
BetifyERC20Token
Compiler Version
v0.7.5+commit.eb77ed08
Contract Source Code (Solidity)
/** *Submitted for verification at cronoscan.com on 2022-02-11 */ // SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity 0.7.5; interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } library LowGasSafeMath { /// @notice Returns x + y, reverts if sum overflows uint256 /// @param x The augend /// @param y The addend /// @return z The sum of x and y function add(uint256 x, uint256 y) internal pure returns (uint256 z) { require((z = x + y) >= x); } /// @notice Returns x - y, reverts if underflows /// @param x The minuend /// @param y The subtrahend /// @return z The difference of x and y function sub(uint256 x, uint256 y) internal pure returns (uint256 z) { require((z = x - y) <= x); } /// @notice Returns x * y, reverts if overflows /// @param x The multiplicand /// @param y The multiplier /// @return z The product of x and y function mul(uint256 x, uint256 y) internal pure returns (uint256 z) { require(x == 0 || (z = x * y) / x == y); } /// @notice Returns x + y, reverts if overflows or underflows /// @param x The augend /// @param y The addend /// @return z The sum of x and y function add(int256 x, int256 y) internal pure returns (int256 z) { require((z = x + y) >= x == (y >= 0)); } /// @notice Returns x - y, reverts if overflows or underflows /// @param x The minuend /// @param y The subtrahend /// @return z The difference of x and y function sub(int256 x, int256 y) internal pure returns (int256 z) { require((z = x - y) <= x == (y >= 0)); } } abstract contract ERC20 is IERC20 { using LowGasSafeMath for uint256; // Present in ERC777 mapping (address => uint256) internal _balances; // Present in ERC777 mapping (address => mapping (address => uint256)) internal _allowances; // Present in ERC777 uint256 internal _totalSupply; // Present in ERC777 string internal _name; // Present in ERC777 string internal _symbol; // Present in ERC777 uint8 internal _decimals; constructor (string memory name_, string memory symbol_, uint8 decimals_) { _name = name_; _symbol = symbol_; _decimals = decimals_; } 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 virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(msg.sender, 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(msg.sender, spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, msg.sender, _allowances[sender][msg.sender] .sub(amount)); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender] .sub(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); _balances[sender] = _balances[sender].sub(amount); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } function _mint(address account_, uint256 amount_) internal virtual { require(account_ != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address( this ), account_, amount_); _totalSupply = _totalSupply.add(amount_); _balances[account_] = _balances[account_].add(amount_); emit Transfer(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); _balances[account] = _balances[account].sub(amount); _totalSupply = _totalSupply.sub(amount); emit Transfer(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 { } } library Counters { using LowGasSafeMath for uint256; struct Counter { uint256 _value; // default: 0 } function current(Counter storage counter) internal view returns (uint256) { return counter._value; } function increment(Counter storage counter) internal { counter._value += 1; } function decrement(Counter storage counter) internal { counter._value = counter._value.sub(1); } } interface IERC2612Permit { function permit( address owner, address spender, uint256 amount, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; function nonces(address owner) external view returns (uint256); } abstract contract ERC20Permit is ERC20, IERC2612Permit { using Counters for Counters.Counter; mapping(address => Counters.Counter) private _nonces; // keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"); bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9; bytes32 public DOMAIN_SEPARATOR; constructor() { uint256 chainID; assembly { chainID := chainid() } DOMAIN_SEPARATOR = keccak256( abi.encode( keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"), keccak256(bytes(name())), keccak256(bytes("1")), // Version chainID, address(this) ) ); } function permit( address owner, address spender, uint256 amount, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) public virtual override { require(block.timestamp <= deadline, "Permit: expired deadline"); bytes32 hashStruct = keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, amount, _nonces[owner].current(), deadline)); bytes32 _hash = keccak256(abi.encodePacked(uint16(0x1901), DOMAIN_SEPARATOR, hashStruct)); address signer = ecrecover(_hash, v, r, s); require(signer != address(0) && signer == owner, "ERC20Permit: Invalid signature"); _nonces[owner].increment(); _approve(owner, spender, amount); } function nonces(address owner) public view override returns (uint256) { return _nonces[owner].current(); } } interface IOwnable { function owner() external view returns (address); function renounceOwnership() external; function transferOwnership( address newOwner_ ) external; } contract Ownable is IOwnable { address internal _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { _owner = msg.sender; emit OwnershipTransferred( address(0), _owner ); } function owner() public view override returns (address) { return _owner; } modifier onlyOwner() { require( _owner == msg.sender, "Ownable: caller is not the owner" ); _; } function renounceOwnership() public virtual override onlyOwner() { emit OwnershipTransferred( _owner, address(0) ); _owner = address(0); } function transferOwnership( address newOwner_ ) public virtual override onlyOwner() { require( newOwner_ != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred( _owner, newOwner_ ); _owner = newOwner_; } } contract VaultOwned is Ownable { address internal _vault; event VaultTransferred(address indexed newVault); function setVault( address vault_ ) external onlyOwner() { require(vault_ != address(0), "IA0"); _vault = vault_; emit VaultTransferred( _vault ); } function vault() public view returns (address) { return _vault; } modifier onlyVault() { require( _vault == msg.sender, "VaultOwned: caller is not the Vault" ); _; } } contract BetifyERC20Token is ERC20Permit, VaultOwned { using LowGasSafeMath for uint256; constructor() ERC20("Betify", "BETIFY", 9) { } function mint(address account_, uint256 amount_) external onlyVault() { _mint(account_, amount_); } function burn(uint256 amount) external virtual { _burn(msg.sender, amount); } function burnFrom(address account_, uint256 amount_) external virtual { _burnFrom(account_, amount_); } function _burnFrom(address account_, uint256 amount_) internal virtual { uint256 decreasedAllowance_ = allowance(account_, msg.sender).sub(amount_); _approve(account_, msg.sender, decreasedAllowance_); _burn(account_, amount_); } }
[{"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":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":true,"internalType":"address","name":"newVault","type":"address"}],"name":"VaultTransferred","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"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":[{"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":"account_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"vault_","type":"address"}],"name":"setVault","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":"vault","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040518060400160405280600681526020016542657469667960d01b8152506040518060400160405280600681526020016542455449465960d01b815250600982600390805190602001906200006a9291906200022b565b508151620000809060049060208501906200022b565b506005805460ff191660ff92909216919091179055504690507f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f620000c462000191565b805160209182012060408051808201825260018152603160f81b90840152805180840194909452838101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606084015260808301939093523060a0808401919091528351808403909101815260c0909201928390528151910120600755600880546001600160a01b0319163317908190556001600160a01b0316906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3620002d7565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620002215780601f10620001f55761010080835404028352916020019162000221565b820191906000526020600020905b8154815290600101906020018083116200020357829003601f168201915b5050505050905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620002635760008555620002ae565b82601f106200027e57805160ff1916838001178555620002ae565b82800160010185558215620002ae579182015b82811115620002ae57825182559160200191906001019062000291565b50620002bc929150620002c0565b5090565b5b80821115620002bc5760008155600101620002c1565b61124680620002e76000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a457c2d71161007c578063a457c2d7146103d6578063a9059cbb14610402578063d505accf1461042e578063dd62ed3e1461047f578063f2fde38b146104ad578063fbfa77cf146104d35761014d565b806370a082311461032a578063715018a61461035057806379cc6790146103585780637ecebe00146103845780638da5cb5b146103aa57806395d89b41146103ce5761014d565b8063313ce56711610115578063313ce567146102675780633644e51514610285578063395093511461028d57806340c10f19146102b957806342966c68146102e75780636817031b146103045761014d565b806306fdde0314610152578063095ea7b3146101cf57806318160ddd1461020f57806323b872dd1461022957806330adf81f1461025f575b600080fd5b61015a6104db565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019457818101518382015260200161017c565b50505050905090810190601f1680156101c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360408110156101e557600080fd5b506001600160a01b038135169060200135610571565b604080519115158252519081900360200190f35b610217610588565b60408051918252519081900360200190f35b6101fb6004803603606081101561023f57600080fd5b506001600160a01b0381358116916020810135909116906040013561058e565b6102176105df565b61026f610603565b6040805160ff9092168252519081900360200190f35b61021761060c565b6101fb600480360360408110156102a357600080fd5b506001600160a01b038135169060200135610612565b6102e5600480360360408110156102cf57600080fd5b506001600160a01b038135169060200135610648565b005b6102e5600480360360208110156102fd57600080fd5b503561069f565b6102e56004803603602081101561031a57600080fd5b50356001600160a01b03166106ac565b6102176004803603602081101561034057600080fd5b50356001600160a01b031661079c565b6102e56107b7565b6102e56004803603604081101561036e57600080fd5b506001600160a01b038135169060200135610860565b6102176004803603602081101561039a57600080fd5b50356001600160a01b031661086a565b6103b261088b565b604080516001600160a01b039092168252519081900360200190f35b61015a61089a565b6101fb600480360360408110156103ec57600080fd5b506001600160a01b0381351690602001356108fb565b6101fb6004803603604081101561041857600080fd5b506001600160a01b038135169060200135610931565b6102e5600480360360e081101561044457600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561093e565b6102176004803603604081101561049557600080fd5b506001600160a01b0381358116916020013516610b81565b6102e5600480360360208110156104c357600080fd5b50356001600160a01b0316610bac565b6103b2610cac565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105675780601f1061053c57610100808354040283529160200191610567565b820191906000526020600020905b81548152906001019060200180831161054a57829003601f168201915b5050505050905090565b600061057e338484610cbb565b5060015b92915050565b60025490565b600061059b848484610da7565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546105d59186916105d09086610ee8565b610cbb565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60055460ff1690565b60075481565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161057e9185906105d09086610ef8565b6009546001600160a01b031633146106915760405162461bcd60e51b81526004018080602001828103825260238152602001806111846023913960400191505060405180910390fd5b61069b8282610f08565b5050565b6106a93382610ff7565b50565b6008546001600160a01b0316331461070b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661074c576040805162461bcd60e51b815260206004820152600360248201526204941360ec1b604482015290519081900360640190fd5b600980546001600160a01b0319166001600160a01b0383811691909117918290556040519116907f3811c8bde9c524fca0e85a90109ab6e776e4f6e675fa7b219c7973abeacb6b2790600090a250565b6001600160a01b031660009081526020819052604090205490565b6008546001600160a01b03163314610816576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6008546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600880546001600160a01b0319169055565b61069b82826110d9565b6001600160a01b03811660009081526006602052604081206105829061110b565b6008546001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105675780601f1061053c57610100808354040283529160200191610567565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161057e9185906105d09086610ee8565b600061057e338484610da7565b83421115610993576040805162461bcd60e51b815260206004820152601860248201527f5065726d69743a206578706972656420646561646c696e650000000000000000604482015290519081900360640190fd5b6001600160a01b03871660009081526006602052604081207f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9908990899089906109dc9061110b565b604080516020808201979097526001600160a01b0395861681830152939094166060840152608083019190915260a082015260c08082018990528251808303909101815260e08201835280519084012060075461190160f01b610100840152610102830152610122808301829052835180840390910181526101428301808552815191860191909120600091829052610162840180865281905260ff8a166101828501526101a284018990526101c28401889052935191955092936001926101e280820193601f1981019281900390910190855afa158015610ac2573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590610af85750896001600160a01b0316816001600160a01b0316145b610b49576040805162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20496e76616c6964207369676e61747572650000604482015290519081900360640190fd5b6001600160a01b038a166000908152600660205260409020610b6a9061110f565b610b758a8a8a610cbb565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6008546001600160a01b03163314610c0b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610c505760405162461bcd60e51b815260040180806020018281038252602681526020018061113c6026913960400191505060405180910390fd5b6008546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b6009546001600160a01b031690565b6001600160a01b038316610d005760405162461bcd60e51b81526004018080602001828103825260248152602001806111ed6024913960400191505060405180910390fd5b6001600160a01b038216610d455760405162461bcd60e51b81526004018080602001828103825260228152602001806111626022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610dec5760405162461bcd60e51b81526004018080602001828103825260258152602001806111c86025913960400191505060405180910390fd5b6001600160a01b038216610e315760405162461bcd60e51b81526004018080602001828103825260238152602001806111196023913960400191505060405180910390fd5b610e3c838383611106565b6001600160a01b038316600090815260208190526040902054610e5f9082610ee8565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610e8e9082610ef8565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b8082038281111561058257600080fd5b8082018281101561058257600080fd5b6001600160a01b038216610f63576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610f6e308383611106565b600254610f7b9082610ef8565b6002556001600160a01b038216600090815260208190526040902054610fa19082610ef8565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b03821661103c5760405162461bcd60e51b81526004018080602001828103825260218152602001806111a76021913960400191505060405180910390fd5b61104882600083611106565b6001600160a01b03821660009081526020819052604090205461106b9082610ee8565b6001600160a01b0383166000908152602081905260409020556002546110919082610ee8565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60006110ef826110e98533610b81565b90610ee8565b90506110fc833383610cbb565b6111068383610ff7565b505050565b5490565b8054600101905556fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735661756c744f776e65643a2063616c6c6572206973206e6f7420746865205661756c7445524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220e52476bbe4ff88f72456f97e1a2f74a32bbfaf02d230df38058e186270a05c4164736f6c63430007050033
Deployed ByteCode Sourcemap
12366:791:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4730:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5540:167;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5540:167:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4983:94;;;:::i;:::-;;;;;;;;;;;;;;;;5715:285;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5715:285:0;;;;;;;;;;;;;;;;;:::i;9258:108::-;;;:::i;4900:77::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9375:31;;;:::i;6008:214::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6008:214:0;;;;;;;;:::i;12528:113::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12528:113:0;;;;;;;;:::i;:::-;;12649:91;;;;;;;;;;;;;;;;-1:-1:-1;12649:91:0;;:::i;11994:166::-;;;;;;;;;;;;;;;;-1:-1:-1;11994:166:0;-1:-1:-1;;;;;11994:166:0;;:::i;5083:121::-;;;;;;;;;;;;;;;;-1:-1:-1;5083:121:0;-1:-1:-1;;;;;5083:121:0;;:::i;11455:151::-;;;:::i;12753:117::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12753:117:0;;;;;;;;:::i;10669:120::-;;;;;;;;;;;;;;;;-1:-1:-1;10669:120:0;-1:-1:-1;;;;;10669:120:0;;:::i;11252:82::-;;;:::i;:::-;;;;-1:-1:-1;;;;;11252:82:0;;;;;;;;;;;;;;4813:81;;;:::i;6230:236::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6230:236:0;;;;;;;;:::i;5210:163::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5210:163:0;;;;;;;;:::i;9894:767::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9894:767:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5381:151::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5381:151:0;;;;;;;;;;:::i;11612:250::-;;;;;;;;;;;;;;;;-1:-1:-1;11612:250:0;-1:-1:-1;;;;;11612:250:0;;:::i;12166:73::-;;;:::i;4730:77::-;4796:5;4789:12;;;;;;;;-1:-1:-1;;4789:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4767:13;;4789:12;;4796:5;;4789:12;;4796:5;4789:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4730:77;:::o;5540:167::-;5623:4;5640:37;5649:10;5661:7;5670:6;5640:8;:37::i;:::-;-1:-1:-1;5695:4:0;5540:167;;;;;:::o;4983:94::-;5059:12;;4983:94;:::o;5715:285::-;5821:4;5838:36;5848:6;5856:9;5867:6;5838:9;:36::i;:::-;-1:-1:-1;;;;;5914:19:0;;;;;;:11;:19;;;;;;;;5902:10;5914:31;;;;;;;;;5885:85;;5894:6;;5914:55;;5962:6;5914:47;:55::i;:::-;5885:8;:85::i;:::-;-1:-1:-1;5988:4:0;5715:285;;;;;:::o;9258:108::-;9300:66;9258:108;:::o;4900:77::-;4962:9;;;;4900:77;:::o;9375:31::-;;;;:::o;6008:214::-;6122:10;6096:4;6143:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6143:32:0;;;;;;;;;;6096:4;;6113:79;;6134:7;;6143:48;;6180:10;6143:36;:48::i;12528:113::-;12282:6;;-1:-1:-1;;;;;12282:6:0;12292:10;12282:20;12273:70;;;;-1:-1:-1;;;12273:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12609:24:::1;12615:8;12625:7;12609:5;:24::i;:::-;12528:113:::0;;:::o;12649:91::-;12707:25;12713:10;12725:6;12707:5;:25::i;:::-;12649:91;:::o;11994:166::-;11377:6;;-1:-1:-1;;;;;11377:6:0;11387:10;11377:20;11368:67;;;;;-1:-1:-1;;;11368:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12066:20:0;::::1;12058:36;;;::::0;;-1:-1:-1;;;12058:36:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;12058:36:0;;;;;;;;;;;;;::::1;;12101:6;:15:::0;;-1:-1:-1;;;;;;12101:15:0::1;-1:-1:-1::0;;;;;12101:15:0;;::::1;::::0;;;::::1;::::0;;;;12128:26:::1;::::0;12146:6;::::1;::::0;12128:26:::1;::::0;-1:-1:-1;;12128:26:0::1;11994:166:::0;:::o;5083:121::-;-1:-1:-1;;;;;5180:18:0;5157:7;5180:18;;;;;;;;;;;;5083:121::o;11455:151::-;11377:6;;-1:-1:-1;;;;;11377:6:0;11387:10;11377:20;11368:67;;;;;-1:-1:-1;;;11368:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11554:6:::1;::::0;11532:42:::1;::::0;11570:1:::1;::::0;-1:-1:-1;;;;;11554:6:0::1;::::0;11532:42:::1;::::0;11570:1;;11532:42:::1;11581:6;:19:::0;;-1:-1:-1;;;;;;11581:19:0::1;::::0;;11455:151::o;12753:117::-;12834:28;12844:8;12854:7;12834:9;:28::i;10669:120::-;-1:-1:-1;;;;;10757:14:0;;10730:7;10757:14;;;:7;:14;;;;;:24;;:22;:24::i;11252:82::-;11322:6;;-1:-1:-1;;;;;11322:6:0;11252:82;:::o;4813:81::-;4881:7;4874:14;;;;;;;;-1:-1:-1;;4874:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4852:13;;4874:14;;4881:7;;4874:14;;4881:7;4874:14;;;;;;;;;;;;;;;;;;;;;;;;6230:236;6349:10;6323:4;6370:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6370:32:0;;;;;;;;;;6323:4;;6340:96;;6361:7;;6370:65;;6419:15;6370:48;:65::i;5210:163::-;5296:4;5309:40;5319:10;5331:9;5342:6;5309:9;:40::i;9894:767::-;10139:8;10120:15;:27;;10112:64;;;;;-1:-1:-1;;;10112:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10285:14:0;;10189:18;10285:14;;;:7;:14;;;;;9300:66;;10261:5;;10268:7;;10277:6;;10285:24;;:22;:24::i;:::-;10233:87;;;;;;;;;;;-1:-1:-1;;;;;10233:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10223:98;;;;;;10393:16;;-1:-1:-1;;;10360:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10350:73;;;;;;;;;-1:-1:-1;10453:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10223:98;;-1:-1:-1;10350:73:0;;10453:25;;;;;;;-1:-1:-1;;10453:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10453:25:0;;-1:-1:-1;;10453:25:0;;;-1:-1:-1;;;;;;;10497:20:0;;;;;;:39;;;10531:5;-1:-1:-1;;;;;10521:15:0;:6;-1:-1:-1;;;;;10521:15:0;;10497:39;10489:82;;;;;-1:-1:-1;;;10489:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10584:14:0;;;;;;:7;:14;;;;;:26;;:24;:26::i;:::-;10621:32;10630:5;10637:7;10646:6;10621:8;:32::i;:::-;9894:767;;;;;;;;;;:::o;5381:151::-;-1:-1:-1;;;;;5497:18:0;;;5470:7;5497:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5381:151::o;11612:250::-;11377:6;;-1:-1:-1;;;;;11377:6:0;11387:10;11377:20;11368:67;;;;;-1:-1:-1;;;11368:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11712:23:0;::::1;11703:75;;;;-1:-1:-1::0;;;11703:75:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11812:6;::::0;11790:41:::1;::::0;-1:-1:-1;;;;;11790:41:0;;::::1;::::0;11812:6:::1;::::0;11790:41:::1;::::0;11812:6:::1;::::0;11790:41:::1;11838:6;:18:::0;;-1:-1:-1;;;;;;11838:18:0::1;-1:-1:-1::0;;;;;11838:18:0;;;::::1;::::0;;;::::1;::::0;;11612:250::o;12166:73::-;12227:6;;-1:-1:-1;;;;;12227:6:0;12166:73;:::o;7753:346::-;-1:-1:-1;;;;;7855:19:0;;7847:68;;;;-1:-1:-1;;;7847:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7934:21:0;;7926:68;;;;-1:-1:-1;;;7926:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8007:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8059:32;;;;;;;;;;;;;;;;;7753:346;;;:::o;6474:485::-;-1:-1:-1;;;;;6578:20:0;;6570:70;;;;-1:-1:-1;;;6570:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6657:23:0;;6649:71;;;;-1:-1:-1;;;6649:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6731:47;6752:6;6760:9;6771:6;6731:20;:47::i;:::-;-1:-1:-1;;;;;6809:17:0;;:9;:17;;;;;;;;;;;:29;;6831:6;6809:21;:29::i;:::-;-1:-1:-1;;;;;6789:17:0;;;:9;:17;;;;;;;;;;;:49;;;;6870:20;;;;;;;:32;;6895:6;6870:24;:32::i;:::-;-1:-1:-1;;;;;6847:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;6916:35;;;;;;;6847:20;;6916:35;;;;;;;;;;;;;6474:485;;;:::o;3064:113::-;3157:5;;;3152:16;;;;3144:25;;;;;2781:113;2874:5;;;2869:16;;;;2861:25;;;;;6967:390;-1:-1:-1;;;;;7053:22:0;;7045:66;;;;;-1:-1:-1;;;7045:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7122:56;7152:4;7160:8;7170:7;7122:20;:56::i;:::-;7204:12;;:25;;7221:7;7204:16;:25::i;:::-;7189:12;:40;-1:-1:-1;;;;;7262:19:0;;:9;:19;;;;;;;;;;;:32;;7286:7;7262:23;:32::i;:::-;-1:-1:-1;;;;;7240:19:0;;:9;:19;;;;;;;;;;;:54;;;;7310:39;;;;;;;7240:19;;:9;;7310:39;;;;;;;;;;6967:390;;:::o;7365:380::-;-1:-1:-1;;;;;7449:21:0;;7441:67;;;;-1:-1:-1;;;7441:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7521:49;7542:7;7559:1;7563:6;7521:20;:49::i;:::-;-1:-1:-1;;;;;7604:18:0;;:9;:18;;;;;;;;;;;:30;;7627:6;7604:22;:30::i;:::-;-1:-1:-1;;;;;7583:18:0;;:9;:18;;;;;;;;;;:51;7660:12;;:24;;7677:6;7660:16;:24::i;:::-;7645:12;:39;7700:37;;;;;;;;7726:1;;-1:-1:-1;;;;;7700:37:0;;;;;;;;;;;;7365:380;;:::o;12878:276::-;12960:27;13003:44;13039:7;13003:31;13013:8;13023:10;13003:9;:31::i;:::-;:35;;:44::i;:::-;12960:87;;13060:51;13069:8;13079:10;13091:19;13060:8;:51::i;:::-;13122:24;13128:8;13138:7;13122:5;:24::i;:::-;12878:276;;;:::o;8344:114::-;8436:14;;8344:114::o;8466:91::-;8530:19;;8548:1;8530:19;;;8466:91::o
Swarm Source
ipfs://e52476bbe4ff88f72456f97e1a2f74a32bbfaf02d230df38058e186270a05c41
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.