[ Download CSV Export ]
OVERVIEW
Butterfly Cash is an experimental ERC-20 token with a 10% transfer tax that is used for various holder rewards programs and aims to function as an NFT accelerator token.Contract Name:
ButterflyCash
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity)
/** *Submitted for verification at snowtrace.io on 2022-09-14 */ // SPDX-License-Identifier: MIT // Butterfly Cash by xrpant // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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); /** * @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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, 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 `from` to `to` 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 from, address to, uint256 amount ) external returns (bool); } // File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol) pragma solidity ^0.8.0; /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } // File: @openzeppelin/contracts/token/ERC20/ERC20.sol // OpenZeppelin Contracts (last updated v4.7.0) (token/ERC20/ERC20.sol) pragma solidity ^0.8.0; /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead returning `false` on failure. This behavior is nonetheless * conventional and does not conflict with the expectations of ERC20 * applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The default value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `to` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on * `transferFrom`. This is semantically equivalent to an infinite approval. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * NOTE: Does not update the allowance if the current allowance * is the maximum `uint256`. * * Requirements: * * - `from` and `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. * - the caller must have allowance for ``from``'s tokens of at least * `amount`. */ function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `from` to `to`. * * This internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. */ function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; } _balances[to] += amount; emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ 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); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ 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); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ 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); } /** * @dev Updates `owner` s allowance for `spender` based on spent `amount`. * * Does not update the allowance amount in case of infinite allowance. * Revert if not enough allowance is available. * * Might emit an {Approval} event. */ function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } // File: contracts/ButterflyCash.sol // Butterfly Cash by xrpant pragma solidity ^0.8.7; abstract contract MintAccess is Context { mapping(address => bool) approvedCallers; modifier onlyMinter() { require( approvedCallers[_msgSender()], "MintAccess: caller is not approved" ); _; } function _addMintingCaller(address _caller) internal { approvedCallers[_caller] = true; } function _removeMintingCaller(address _caller) internal { approvedCallers[_caller] = false; } } contract ButterflyCash is ERC20, Ownable, MintAccess { uint256 constant DECIMALS = 18; uint256 constant MAX_CAP = 100000000 * 10**DECIMALS; uint256 constant MAX_SEND = 1000000 * 10**DECIMALS; uint256 public index = 1; uint256 public stakerCount = 0; uint256 public maxStakers = 100; uint256 public cooldown = 86400; address _dead = 0x000000000000000000000000000000000000dEaD; mapping(address => uint256) public stakerToIndex; mapping(address => uint256) public addressToLastUnstake; mapping(address => uint8) private noWings; mapping(address => uint8) public lp; address[] public stakers; uint256[] public availableIndex; function mint(address _to, uint256 _amount) external onlyMinter { require( totalSupply() + (_amount * 10**DECIMALS) <= MAX_CAP, "Max number of tokens minted" ); _mint(_to, (_amount * 10**DECIMALS)); } function mintBatch(address[] calldata _to, uint256[] calldata _amount) external onlyMinter { for (uint256 i = 0; i < _to.length; i++) { _mint(_to[i], _amount[i]); } require(totalSupply() <= MAX_CAP, "Max number of tokens minted"); } function addMintingCaller(address _caller) public onlyOwner { _addMintingCaller(_caller); } function removeMintingCaller(address _caller) public onlyOwner { _removeMintingCaller(_caller); } constructor() ERC20("Butterfly Cash", "bCASH") { stakers.push(_dead); } function _transfer( address from, address to, uint256 amount ) internal virtual override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if (lp[to] == 1) { super._transfer(from, to, amount); } else { require(amount <= MAX_SEND, "Max transfer amount exceeded!"); require(stakerToIndex[from] == 0 || noWings[from] == 1, "You can't transfer while staking!"); _beforeTokenTransfer(from, to, amount); address intermediary = stakers[index]; uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { if (noWings[from] == 1) { _balances[from] -= amount; _balances[to] += amount; noWings[from] = 0; emit Transfer(from, to, amount); } else { _balances[from] = fromBalance - amount; _balances[intermediary] += amount; uint256 _newAmount = amount * 9000 / 10000; noWings[intermediary] = 1; emit Transfer(from, intermediary, amount); _transfer(intermediary, to, _newAmount); if (index == (stakers.length - 1)) { index = 1; } else { index += 1; } } } _afterTokenTransfer(from, to, amount); } } function stake() public { require(stakerToIndex[msg.sender] == 0, "You are already staking!"); require(stakerCount < maxStakers, "No spots available"); require(_balances[msg.sender] >= MAX_SEND); require(addressToLastUnstake[msg.sender] + cooldown <= block.timestamp, "You are cooling down!"); if (availableIndex.length > 0) { stakers[availableIndex[0]] = msg.sender; stakerToIndex[msg.sender] = availableIndex[0]; availableIndex[0] = availableIndex[availableIndex.length - 1]; availableIndex.pop(); } else { stakerCount += 1; stakerToIndex[msg.sender] = stakerCount; stakers.push(msg.sender); } } function unStake() public { require(stakerToIndex[msg.sender] != 0, "You aren't staking!"); availableIndex.push(stakerToIndex[msg.sender]); stakers[stakerToIndex[msg.sender]] = _dead; stakerToIndex[msg.sender] = 0; stakerCount -= 1; addressToLastUnstake[msg.sender] = block.timestamp; } function changeMaxStakers(uint256 _newAmount) public onlyOwner { maxStakers = _newAmount; } function changeCooldown(uint256 _newAmount) public onlyOwner { cooldown = _newAmount; } function addLP(address _lp) public onlyOwner { lp[_lp] = 1; } function removeLP(address _lp) public onlyOwner { lp[_lp] = 0; } }
[{"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"},{"inputs":[{"internalType":"address","name":"_lp","type":"address"}],"name":"addLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"}],"name":"addMintingCaller","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"addressToLastUnstake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"uint256","name":"","type":"uint256"}],"name":"availableIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"_newAmount","type":"uint256"}],"name":"changeCooldown","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256"}],"name":"changeMaxStakers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cooldown","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":"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":[],"name":"index","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lp","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxStakers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_to","type":"address[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"}],"name":"mintBatch","outputs":[],"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":[{"internalType":"address","name":"_lp","type":"address"}],"name":"removeLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"}],"name":"removeMintingCaller","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakerCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakerToIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"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":"unStake","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405260016007556000600855606460095562015180600a55600b80546001600160a01b03191661dead1790553480156200003b57600080fd5b506040518060400160405280600e81526020016d084eae8e8cae4ccd8f24086c2e6d60931b815250604051806040016040528060058152602001640c48682a6960db1b815250816003908162000092919062000211565b506004620000a1828262000211565b505050620000be620000b86200011660201b60201c565b6200011a565b600b54601080546001810182556000919091527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6720180546001600160a01b0319166001600160a01b03909216919091179055620002dd565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200019757607f821691505b602082108103620001b857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200020c57600081815260208120601f850160051c81016020861015620001e75750805b601f850160051c820191505b818110156200020857828155600101620001f3565b5050505b505050565b81516001600160401b038111156200022d576200022d6200016c565b62000245816200023e845462000182565b84620001be565b602080601f8311600181146200027d5760008415620002645750858301515b600019600386901b1c1916600185901b17855562000208565b600085815260208120601f198616915b82811015620002ae578886015182559484019460019091019084016200028d565b5085821015620002cd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6119ee80620002ed6000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c8063715018a61161011a57806395d89b41116100ad578063dd62ed3e1161007c578063dd62ed3e1461043a578063ddf731f31461044d578063dff6978714610460578063f2fde38b14610469578063fd5e6dd11461047c57600080fd5b806395d89b41146103f9578063a457c2d714610401578063a9059cbb14610414578063c566e43c1461042757600080fd5b80637c88e3d9116100e95780637c88e3d91461039b57806382cd8c0c146103ae57806389da7deb146103c15780638da5cb5b146103d457600080fd5b8063715018a61461035f578063733948c11461036757806373cf575a1461038a578063787a08a61461039257600080fd5b806339509351116101925780634f7ff503116101615780634f7ff503146102fa57806367fe5601146103035780636e9cd0561461032357806370a082311461033657600080fd5b806339509351146102b95780633a4b66f1146102cc57806340c10f19146102d45780634ce5cb26146102e757600080fd5b80631fa5534d116101ce5780631fa5534d1461026857806323b872dd146102885780632986c0e51461029b578063313ce567146102a457600080fd5b806306fdde0314610200578063095ea7b31461021e5780630f855ad01461024157806318160ddd14610256575b600080fd5b61020861048f565b60405161021591906114c8565b60405180910390f35b61023161022c366004611532565b610521565b6040519015158152602001610215565b61025461024f36600461155c565b61053b565b005b6002545b604051908152602001610215565b61025a61027636600461155c565b600c6020526000908152604090205481565b61023161029636600461157e565b61056e565b61025a60075481565b60125b60405160ff9091168152602001610215565b6102316102c7366004611532565b610592565b6102546105b4565b6102546102e2366004611532565b610874565b61025a6102f53660046115ba565b610951565b61025a60095481565b61025a61031136600461155c565b600d6020526000908152604090205481565b6102546103313660046115ba565b610972565b61025a61034436600461155c565b6001600160a01b031660009081526020819052604090205490565b61025461097f565b6102a761037536600461155c565b600f6020526000908152604090205460ff1681565b610254610991565b61025a600a5481565b6102546103a936600461161f565b610ab2565b6102546103bc3660046115ba565b610bb8565b6102546103cf36600461155c565b610bc5565b6005546001600160a01b03165b6040516001600160a01b039091168152602001610215565b610208610bee565b61023161040f366004611532565b610bfd565b610231610422366004611532565b610c78565b61025461043536600461155c565b610c86565b61025a61044836600461168b565b610cb3565b61025461045b36600461155c565b610cde565b61025a60085481565b61025461047736600461155c565b610d0a565b6103e161048a3660046115ba565b610d80565b60606003805461049e906116be565b80601f01602080910402602001604051908101604052809291908181526020018280546104ca906116be565b80156105175780601f106104ec57610100808354040283529160200191610517565b820191906000526020600020905b8154815290600101906020018083116104fa57829003601f168201915b5050505050905090565b60003361052f818585610daa565b60019150505b92915050565b610543610ece565b61056b816001600160a01b03166000908152600660205260409020805460ff19166001179055565b50565b60003361057c858285610f28565b610587858585610f9c565b506001949350505050565b60003361052f8185856105a58383610cb3565b6105af919061170e565b610daa565b336000908152600c6020526040902054156106165760405162461bcd60e51b815260206004820152601860248201527f596f752061726520616c7265616479207374616b696e6721000000000000000060448201526064015b60405180910390fd5b6009546008541061065e5760405162461bcd60e51b81526020600482015260126024820152714e6f2073706f747320617661696c61626c6560701b604482015260640161060d565b61066a6012600a611805565b61067790620f4240611811565b33600090815260208190526040902054101561069257600080fd5b600a54336000908152600d602052604090205442916106b09161170e565b11156106f65760405162461bcd60e51b8152602060048201526015602482015274596f752061726520636f6f6c696e6720646f776e2160581b604482015260640161060d565b6011541561080257336010601160008154811061071557610715611830565b90600052602060002001548154811061073057610730611830565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550601160008154811061077257610772611830565b6000918252602080832090910154338352600c9091526040909120556011805461079e90600190611846565b815481106107ae576107ae611830565b906000526020600020015460116000815481106107cd576107cd611830565b60009182526020909120015560118054806107ea576107ea611859565b60019003818190600052602060002001600090559055565b600160086000828254610815919061170e565b9091555050600854336000818152600c60205260408120929092556010805460018101825592527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae67290910180546001600160a01b03191690911790555b565b3360009081526006602052604090205460ff166108a35760405162461bcd60e51b815260040161060d9061186f565b6108af6012600a611805565b6108bd906305f5e100611811565b6108c96012600a611805565b6108d39083611811565b6002546108e0919061170e565b111561092e5760405162461bcd60e51b815260206004820152601b60248201527f4d6178206e756d626572206f6620746f6b656e73206d696e7465640000000000604482015260640161060d565b61094d8261093e6012600a611805565b6109489084611811565b6112a6565b5050565b6011818154811061096157600080fd5b600091825260209091200154905081565b61097a610ece565b600955565b610987610ece565b6108726000611373565b336000908152600c602052604081205490036109e55760405162461bcd60e51b8152602060048201526013602482015272596f75206172656e2774207374616b696e672160681b604482015260640161060d565b336000908152600c60205260409020805460118054600181019091557f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680155600b549054601080546001600160a01b03909316929091908110610a4a57610a4a611830565b600091825260208083209190910180546001600160a01b0319166001600160a01b039490941693909317909255338152600c909152604081208190556008805460019290610a99908490611846565b9091555050336000908152600d60205260409020429055565b3360009081526006602052604090205460ff16610ae15760405162461bcd60e51b815260040161060d9061186f565b60005b83811015610b4657610b34858583818110610b0157610b01611830565b9050602002016020810190610b16919061155c565b848484818110610b2857610b28611830565b905060200201356112a6565b80610b3e816118b1565b915050610ae4565b50610b536012600a611805565b610b61906305f5e100611811565b6002541115610bb25760405162461bcd60e51b815260206004820152601b60248201527f4d6178206e756d626572206f6620746f6b656e73206d696e7465640000000000604482015260640161060d565b50505050565b610bc0610ece565b600a55565b610bcd610ece565b6001600160a01b03166000908152600f60205260409020805460ff19169055565b60606004805461049e906116be565b60003381610c0b8286610cb3565b905083811015610c6b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161060d565b6105878286868403610daa565b60003361052f818585610f9c565b610c8e610ece565b61056b816001600160a01b03166000908152600660205260409020805460ff19169055565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610ce6610ece565b6001600160a01b03166000908152600f60205260409020805460ff19166001179055565b610d12610ece565b6001600160a01b038116610d775760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161060d565b61056b81611373565b60108181548110610d9057600080fd5b6000918252602090912001546001600160a01b0316905081565b6001600160a01b038316610e0c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161060d565b6001600160a01b038216610e6d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161060d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b031633146108725760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161060d565b6000610f348484610cb3565b90506000198114610bb25781811015610f8f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161060d565b610bb28484848403610daa565b6001600160a01b038316610fc25760405162461bcd60e51b815260040161060d906118ca565b6001600160a01b038216610fe85760405162461bcd60e51b815260040161060d9061190f565b6001600160a01b0382166000908152600f602052604090205460ff1660010361101b576110168383836113c5565b505050565b6110276012600a611805565b61103490620f4240611811565b8111156110835760405162461bcd60e51b815260206004820152601d60248201527f4d6178207472616e7366657220616d6f756e7420657863656564656421000000604482015260640161060d565b6001600160a01b0383166000908152600c602052604090205415806110c357506001600160a01b0383166000908152600e602052604090205460ff166001145b6111195760405162461bcd60e51b815260206004820152602160248201527f596f752063616e2774207472616e73666572207768696c65207374616b696e676044820152602160f81b606482015260840161060d565b600060106007548154811061113057611130611830565b60009182526020808320909101546001600160a01b0387811684529183905260409092205491169150828110156111795760405162461bcd60e51b815260040161060d90611952565b6001600160a01b0385166000908152600e602052604090205460ff16600103611204576001600160a01b0385811660008181526020818152604080832080548990039055938816808352848320805489019055838352600e825291849020805460ff1916905592518681529092600080516020611999833981519152910160405180910390a361129f565b6001600160a01b038581166000818152602081815260408083208887039055938616808352848320805489019055600e825291849020805460ff19166001179055925186815261271061232888020493919291600080516020611999833981519152910160405180910390a361127b838683610f9c565b6010546007540360010161129357600160075561129d565b6007805460010190555b505b5050505050565b6001600160a01b0382166112fc5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161060d565b806002600082825461130e919061170e565b90915550506001600160a01b0382166000908152602081905260408120805483929061133b90849061170e565b90915550506040518181526001600160a01b038316906000906000805160206119998339815191529060200160405180910390a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166113eb5760405162461bcd60e51b815260040161060d906118ca565b6001600160a01b0382166114115760405162461bcd60e51b815260040161060d9061190f565b6001600160a01b0383166000908152602081905260409020548181101561144a5760405162461bcd60e51b815260040161060d90611952565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061148190849061170e565b92505081905550826001600160a01b0316846001600160a01b0316600080516020611999833981519152846040516114bb91815260200190565b60405180910390a3610bb2565b600060208083528351808285015260005b818110156114f5578581018301518582016040015282016114d9565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461152d57600080fd5b919050565b6000806040838503121561154557600080fd5b61154e83611516565b946020939093013593505050565b60006020828403121561156e57600080fd5b61157782611516565b9392505050565b60008060006060848603121561159357600080fd5b61159c84611516565b92506115aa60208501611516565b9150604084013590509250925092565b6000602082840312156115cc57600080fd5b5035919050565b60008083601f8401126115e557600080fd5b50813567ffffffffffffffff8111156115fd57600080fd5b6020830191508360208260051b850101111561161857600080fd5b9250929050565b6000806000806040858703121561163557600080fd5b843567ffffffffffffffff8082111561164d57600080fd5b611659888389016115d3565b9096509450602087013591508082111561167257600080fd5b5061167f878288016115d3565b95989497509550505050565b6000806040838503121561169e57600080fd5b6116a783611516565b91506116b560208401611516565b90509250929050565b600181811c908216806116d257607f821691505b6020821081036116f257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610535576105356116f8565b600181815b8085111561175c578160001904821115611742576117426116f8565b8085161561174f57918102915b93841c9390800290611726565b509250929050565b60008261177357506001610535565b8161178057506000610535565b816001811461179657600281146117a0576117bc565b6001915050610535565b60ff8411156117b1576117b16116f8565b50506001821b610535565b5060208310610133831016604e8410600b84101617156117df575081810a610535565b6117e98383611721565b80600019048211156117fd576117fd6116f8565b029392505050565b60006115778383611764565b600081600019048311821515161561182b5761182b6116f8565b500290565b634e487b7160e01b600052603260045260246000fd5b81810381811115610535576105356116f8565b634e487b7160e01b600052603160045260246000fd5b60208082526022908201527f4d696e744163636573733a2063616c6c6572206973206e6f7420617070726f76604082015261195960f21b606082015260800190565b6000600182016118c3576118c36116f8565b5060010190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b60608201526080019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220dfee7afac12aaf82ac8c9d5adcef99aabe2013df2ab64396e8c3b113f817626864736f6c63430008100033
Deployed ByteCode Sourcemap
20790:4867:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9405:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11756:201;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;11756:201:0;1004:187:1;22046:105:0;;;;;;:::i;:::-;;:::i;:::-;;10525:108;10613:12;;10525:108;;;1533:25:1;;;1521:2;1506:18;10525:108:0;1387:177:1;21215:48:0;;;;;;:::i;:::-;;;;;;;;;;;;;;12537:295;;;;;;:::i;:::-;;:::i;21002:24::-;;;;;;10367:93;10450:2;10367:93;;;2074:4:1;2062:17;;;2044:36;;2032:2;2017:18;10367:93:0;1902:184:1;13241:238:0;;;;;;:::i;:::-;;:::i;24150:758::-;;;:::i;21495:258::-;;;;;;:::i;:::-;;:::i;21455:31::-;;;;;;:::i;:::-;;:::i;21070:::-;;;;;;21270:55;;;;;;:::i;:::-;;;;;;;;;;;;;;25269:105;;;;;;:::i;:::-;;:::i;10696:127::-;;;;;;:::i;:::-;-1:-1:-1;;;;;10797:18:0;10770:7;10797:18;;;;;;;;;;;;10696:127;2836:103;;;:::i;21380:35::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;24916:345;;;:::i;21108:31::-;;;;;;21761:277;;;;;;:::i;:::-;;:::i;25382:101::-;;;;;;:::i;:::-;;:::i;25574:78::-;;;;;;:::i;:::-;;:::i;2188:87::-;2261:6;;-1:-1:-1;;;;;2261:6:0;2188:87;;;-1:-1:-1;;;;;3590:32:1;;;3572:51;;3560:2;3545:18;2188:87:0;3426:203:1;9624:104:0;;;:::i;13982:436::-;;;;;;:::i;:::-;;:::i;11029:193::-;;;;;;:::i;:::-;;:::i;22159:111::-;;;;;;:::i;:::-;;:::i;11285:151::-;;;;;;:::i;:::-;;:::i;25491:75::-;;;;;;:::i;:::-;;:::i;21033:30::-;;;;;;3094:201;;;;;;:::i;:::-;;:::i;21424:24::-;;;;;;:::i;:::-;;:::i;9405:100::-;9459:13;9492:5;9485:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9405:100;:::o;11756:201::-;11839:4;819:10;11895:32;819:10;11911:7;11920:6;11895:8;:32::i;:::-;11945:4;11938:11;;;11756:201;;;;;:::o;22046:105::-;2074:13;:11;:13::i;:::-;22117:26:::1;22135:7;-1:-1:-1::0;;;;;20629:24:0;;;;;:15;:24;;;;;:31;;-1:-1:-1;;20629:31:0;20656:4;20629:31;;;20565:103;22117:26:::1;22046:105:::0;:::o;12537:295::-;12668:4;819:10;12726:38;12742:4;819:10;12757:6;12726:15;:38::i;:::-;12775:27;12785:4;12791:2;12795:6;12775:9;:27::i;:::-;-1:-1:-1;12820:4:0;;12537:295;-1:-1:-1;;;;12537:295:0:o;13241:238::-;13329:4;819:10;13385:64;819:10;13401:7;13438:10;13410:25;819:10;13401:7;13410:9;:25::i;:::-;:38;;;;:::i;:::-;13385:8;:64::i;24150:758::-;24207:10;24193:25;;;;:13;:25;;;;;;:30;24185:67;;;;-1:-1:-1;;;24185:67:0;;4748:2:1;24185:67:0;;;4730:21:1;4787:2;4767:18;;;4760:30;4826:26;4806:18;;;4799:54;4870:18;;24185:67:0;;;;;;;;;24285:10;;24271:11;;:24;24263:55;;;;-1:-1:-1;;;24263:55:0;;5101:2:1;24263:55:0;;;5083:21:1;5140:2;5120:18;;;5113:30;-1:-1:-1;;;5159:18:1;;;5152:48;5217:18;;24263:55:0;4899:342:1;24263:55:0;20983:12;20878:2;20983;:12;:::i;:::-;20973:22;;:7;:22;:::i;:::-;24347:10;24337:9;:21;;;;;;;;;;;:33;;24329:42;;;;;;24425:8;;24411:10;24390:32;;;;:20;:32;;;;;;24437:15;;24390:43;;;:::i;:::-;:62;;24382:96;;;;-1:-1:-1;;;24382:96:0;;6995:2:1;24382:96:0;;;6977:21:1;7034:2;7014:18;;;7007:30;-1:-1:-1;;;7053:18:1;;;7046:51;7114:18;;24382:96:0;6793:345:1;24382:96:0;24495:14;:21;:25;24491:410;;24566:10;24537:7;24545:14;24560:1;24545:17;;;;;;;;:::i;:::-;;;;;;;;;24537:26;;;;;;;;:::i;:::-;;;;;;;;;:39;;;;;-1:-1:-1;;;;;24537:39:0;;;;;-1:-1:-1;;;;;24537:39:0;;;;;;24619:14;24634:1;24619:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;24605:10;24591:25;;:13;:25;;;;;;;:45;24671:14;24686:21;;:25;;24710:1;;24686:25;:::i;:::-;24671:41;;;;;;;;:::i;:::-;;;;;;;;;24651:14;24666:1;24651:17;;;;;;;;:::i;:::-;;;;;;;;;;:61;24727:14;:20;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;24150:758::o;24491:410::-;24795:1;24780:11;;:16;;;;;;;:::i;:::-;;;;-1:-1:-1;;24839:11:0;;24825:10;24811:25;;;;:13;:25;;;;;:39;;;;24865:7;:24;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24865:24:0;;;;;;24491:410;24150:758::o;21495:258::-;819:10;20446:29;;;;:15;:29;;;;;;;;20424:113;;;;-1:-1:-1;;;20424:113:0;;;;;;;:::i;:::-;20926:12:::1;20878:2;20926;:12;:::i;:::-;20914:24;::::0;:9:::1;:24;:::i;:::-;21619:12;20878:2;21619;:12;:::i;:::-;21609:22;::::0;:7;:22:::1;:::i;:::-;10613:12:::0;;21592:40:::1;;;;:::i;:::-;:51;;21570:128;;;::::0;-1:-1:-1;;;21570:128:0;;8145:2:1;21570:128:0::1;::::0;::::1;8127:21:1::0;8184:2;8164:18;;;8157:30;8223:29;8203:18;;;8196:57;8270:18;;21570:128:0::1;7943:351:1::0;21570:128:0::1;21709:36;21715:3:::0;21731:12:::1;20878:2;21731;:12;:::i;:::-;21721:22;::::0;:7;:22:::1;:::i;:::-;21709:5;:36::i;:::-;21495:258:::0;;:::o;21455:31::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21455:31:0;:::o;25269:105::-;2074:13;:11;:13::i;:::-;25343:10:::1;:23:::0;25269:105::o;2836:103::-;2074:13;:11;:13::i;:::-;2901:30:::1;2928:1;2901:18;:30::i;24916:345::-:0;24975:10;24961:25;;;;:13;:25;;;;;;:30;;24953:62;;;;-1:-1:-1;;;24953:62:0;;8501:2:1;24953:62:0;;;8483:21:1;8540:2;8520:18;;;8513:30;-1:-1:-1;;;8559:18:1;;;8552:49;8618:18;;24953:62:0;8299:343:1;24953:62:0;25060:10;25046:25;;;;:13;:25;;;;;;;25026:14;:46;;;;;;;;;;;25120:5;;25091:25;;25083:7;:34;;-1:-1:-1;;;;;25120:5:0;;;;25083:7;;25091:25;25083:34;;;;;;:::i;:::-;;;;;;;;;;;;;:42;;-1:-1:-1;;;;;;25083:42:0;-1:-1:-1;;;;;25083:42:0;;;;;;;;;;;25150:10;25136:25;;:13;:25;;;;;;:29;;;25176:11;:16;;-1:-1:-1;;25083:34:0;25176:16;;-1:-1:-1;;25176:16:0;:::i;:::-;;;;-1:-1:-1;;25224:10:0;25203:32;;;;:20;:32;;;;;25238:15;25203:50;;24916:345::o;21761:277::-;819:10;20446:29;;;;:15;:29;;;;;;;;20424:113;;;;-1:-1:-1;;;20424:113:0;;;;;;;:::i;:::-;21868:9:::1;21863:93;21883:14:::0;;::::1;21863:93;;;21919:25;21925:3;;21929:1;21925:6;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;21933:7;;21941:1;21933:10;;;;;;;:::i;:::-;;;;;;;21919:5;:25::i;:::-;21899:3:::0;::::1;::::0;::::1;:::i;:::-;;;;21863:93;;;-1:-1:-1::0;20926:12:0::1;20878:2;20926;:12;:::i;:::-;20914:24;::::0;:9:::1;:24;:::i;:::-;10613:12:::0;;21974:24:::1;;21966:64;;;::::0;-1:-1:-1;;;21966:64:0;;8145:2:1;21966:64:0::1;::::0;::::1;8127:21:1::0;8184:2;8164:18;;;8157:30;8223:29;8203:18;;;8196:57;8270:18;;21966:64:0::1;7943:351:1::0;21966:64:0::1;21761:277:::0;;;;:::o;25382:101::-;2074:13;:11;:13::i;:::-;25454:8:::1;:21:::0;25382:101::o;25574:78::-;2074:13;:11;:13::i;:::-;-1:-1:-1;;;;;25633:7:0::1;25643:1;25633:7:::0;;;:2:::1;:7;::::0;;;;:11;;-1:-1:-1;;25633:11:0::1;::::0;;25574:78::o;9624:104::-;9680:13;9713:7;9706:14;;;;;:::i;13982:436::-;14075:4;819:10;14075:4;14158:25;819:10;14175:7;14158:9;:25::i;:::-;14131:52;;14222:15;14202:16;:35;;14194:85;;;;-1:-1:-1;;;14194:85:0;;8989:2:1;14194:85:0;;;8971:21:1;9028:2;9008:18;;;9001:30;9067:34;9047:18;;;9040:62;-1:-1:-1;;;9118:18:1;;;9111:35;9163:19;;14194:85:0;8787:401:1;14194:85:0;14315:60;14324:5;14331:7;14359:15;14340:16;:34;14315:8;:60::i;11029:193::-;11108:4;819:10;11164:28;819:10;11181:2;11185:6;11164:9;:28::i;22159:111::-;2074:13;:11;:13::i;:::-;22233:29:::1;22254:7;-1:-1:-1::0;;;;;20743:24:0;20770:5;20743:24;;;:15;:24;;;;;:32;;-1:-1:-1;;20743:32:0;;;20676:107;11285:151;-1:-1:-1;;;;;11401:18:0;;;11374:7;11401:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11285:151::o;25491:75::-;2074:13;:11;:13::i;:::-;-1:-1:-1;;;;;25547:7:0::1;;::::0;;;:2:::1;:7;::::0;;;;:11;;-1:-1:-1;;25547:11:0::1;25557:1;25547:11;::::0;;25491:75::o;3094:201::-;2074:13;:11;:13::i;:::-;-1:-1:-1;;;;;3183:22:0;::::1;3175:73;;;::::0;-1:-1:-1;;;3175:73:0;;9395:2:1;3175:73:0::1;::::0;::::1;9377:21:1::0;9434:2;9414:18;;;9407:30;9473:34;9453:18;;;9446:62;-1:-1:-1;;;9524:18:1;;;9517:36;9570:19;;3175:73:0::1;9193:402:1::0;3175:73:0::1;3259:28;3278:8;3259:18;:28::i;21424:24::-:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21424:24:0;;-1:-1:-1;21424:24:0;:::o;17607:380::-;-1:-1:-1;;;;;17743:19:0;;17735:68;;;;-1:-1:-1;;;17735:68:0;;9802:2:1;17735:68:0;;;9784:21:1;9841:2;9821:18;;;9814:30;9880:34;9860:18;;;9853:62;-1:-1:-1;;;9931:18:1;;;9924:34;9975:19;;17735:68:0;9600:400:1;17735:68:0;-1:-1:-1;;;;;17822:21:0;;17814:68;;;;-1:-1:-1;;;17814:68:0;;10207:2:1;17814:68:0;;;10189:21:1;10246:2;10226:18;;;10219:30;10285:34;10265:18;;;10258:62;-1:-1:-1;;;10336:18:1;;;10329:32;10378:19;;17814:68:0;10005:398:1;17814:68:0;-1:-1:-1;;;;;17895:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17947:32;;1533:25:1;;;17947:32:0;;1506:18:1;17947:32:0;;;;;;;17607:380;;;:::o;2353:132::-;2261:6;;-1:-1:-1;;;;;2261:6:0;819:10;2417:23;2409:68;;;;-1:-1:-1;;;2409:68:0;;10610:2:1;2409:68:0;;;10592:21:1;;;10629:18;;;10622:30;10688:34;10668:18;;;10661:62;10740:18;;2409:68:0;10408:356:1;18278:453:0;18413:24;18440:25;18450:5;18457:7;18440:9;:25::i;:::-;18413:52;;-1:-1:-1;;18480:16:0;:37;18476:248;;18562:6;18542:16;:26;;18534:68;;;;-1:-1:-1;;;18534:68:0;;10971:2:1;18534:68:0;;;10953:21:1;11010:2;10990:18;;;10983:30;11049:31;11029:18;;;11022:59;11098:18;;18534:68:0;10769:353:1;18534:68:0;18646:51;18655:5;18662:7;18690:6;18671:16;:25;18646:8;:51::i;22371:1771::-;-1:-1:-1;;;;;22511:18:0;;22503:68;;;;-1:-1:-1;;;22503:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22590:16:0;;22582:64;;;;-1:-1:-1;;;22582:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22673:6:0;;;;;;:2;:6;;;;;;;;;:11;22669:1464;;22701:33;22717:4;22723:2;22727:6;22701:15;:33::i;:::-;22371:1771;;;:::o;22669:1464::-;20983:12;20878:2;20983;:12;:::i;:::-;20973:22;;:7;:22;:::i;:::-;22775:6;:18;;22767:60;;;;-1:-1:-1;;;22767:60:0;;12139:2:1;22767:60:0;;;12121:21:1;12178:2;12158:18;;;12151:30;12217:31;12197:18;;;12190:59;12266:18;;22767:60:0;11937:353:1;22767:60:0;-1:-1:-1;;;;;22850:19:0;;;;;;:13;:19;;;;;;:24;;:67;;-1:-1:-1;;;;;;22899:13:0;;;;;;:7;:13;;;;;;;;;:18;22850:67;22842:113;;;;-1:-1:-1;;;22842:113:0;;12497:2:1;22842:113:0;;;12479:21:1;12536:2;12516:18;;;12509:30;12575:34;12555:18;;;12548:62;-1:-1:-1;;;12626:18:1;;;12619:31;12667:19;;22842:113:0;12295:397:1;22842:113:0;23025:20;23048:7;23056:5;;23048:14;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;23101:15:0;;;;;;;;;;;;;;23048:14;;;-1:-1:-1;23139:21:0;;;;23131:72;;;;-1:-1:-1;;;23131:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23251:13:0;;;;;;:7;:13;;;;;;;;;:18;23247:798;;-1:-1:-1;;;;;23294:15:0;;;:9;:15;;;;;;;;;;;:25;;;;;;;23342:13;;;;;;;;;:23;;;;;;23388:13;;;:7;:13;;;;;;:17;;-1:-1:-1;;23388:17:0;;;23433:26;;1533:25:1;;;23342:13:0;;-1:-1:-1;;;;;;;;;;;23433:26:0;1506:18:1;23433:26:0;;;;;;;23247:798;;;-1:-1:-1;;;;;23508:15:0;;;:9;:15;;;;;;;;;;;23526:20;;;23508:38;;23569:23;;;;;;;;;:33;;;;;;23690:7;:21;;;;;;:25;;-1:-1:-1;;23690:25:0;-1:-1:-1;23690:25:0;;;23743:36;;1533:25:1;;;23662:5:0;23655:4;23646:13;;:21;;23569:23;;23508:15;-1:-1:-1;;;;;;;;;;;23743:36:0;1506:18:1;23743:36:0;;;;;;;23802:39;23812:12;23826:2;23830:10;23802:9;:39::i;:::-;23878:7;:14;23868:5;;:29;23895:1;23868:29;23864:162;;23934:1;23926:5;:9;23864:162;;;23992:5;:10;;24001:1;23992:10;;;23864:162;23485:560;23247:798;22752:1381;;22371:1771;;;:::o;15846:399::-;-1:-1:-1;;;;;15930:21:0;;15922:65;;;;-1:-1:-1;;;15922:65:0;;13438:2:1;15922:65:0;;;13420:21:1;13477:2;13457:18;;;13450:30;13516:33;13496:18;;;13489:61;13567:18;;15922:65:0;13236:355:1;15922:65:0;16078:6;16062:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;16095:18:0;;:9;:18;;;;;;;;;;:28;;16117:6;;16095:9;:28;;16117:6;;16095:28;:::i;:::-;;;;-1:-1:-1;;16139:37:0;;1533:25:1;;;-1:-1:-1;;;;;16139:37:0;;;16156:1;;-1:-1:-1;;;;;;;;;;;16139:37:0;1521:2:1;1506:18;16139:37:0;;;;;;;21495:258;;:::o;3455:191::-;3548:6;;;-1:-1:-1;;;;;3565:17:0;;;-1:-1:-1;;;;;;3565:17:0;;;;;;;3598:40;;3548:6;;;3565:17;3548:6;;3598:40;;3529:16;;3598:40;3518:128;3455:191;:::o;14888:671::-;-1:-1:-1;;;;;15019:18:0;;15011:68;;;;-1:-1:-1;;;15011:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15098:16:0;;15090:64;;;;-1:-1:-1;;;15090:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15240:15:0;;15218:19;15240:15;;;;;;;;;;;15274:21;;;;15266:72;;;;-1:-1:-1;;;15266:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15374:15:0;;;:9;:15;;;;;;;;;;;15392:20;;;15374:38;;15434:13;;;;;;;;:23;;15406:6;;15374:9;15434:23;;15406:6;;15434:23;:::i;:::-;;;;;;;;15490:2;-1:-1:-1;;;;;15475:26:0;15484:4;-1:-1:-1;;;;;15475:26:0;-1:-1:-1;;;;;;;;;;;15494:6:0;15475:26;;;;1533:25:1;;1521:2;1506:18;;1387:177;15475:26:0;;;;;;;;15514:37;22371:1771;14:548:1;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;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1196:186::-;1255:6;1308:2;1296:9;1287:7;1283:23;1279:32;1276:52;;;1324:1;1321;1314:12;1276:52;1347:29;1366:9;1347:29;:::i;:::-;1337:39;1196:186;-1:-1:-1;;;1196:186:1:o;1569:328::-;1646:6;1654;1662;1715:2;1703:9;1694:7;1690:23;1686:32;1683:52;;;1731:1;1728;1721:12;1683:52;1754:29;1773:9;1754:29;:::i;:::-;1744:39;;1802:38;1836:2;1825:9;1821:18;1802:38;:::i;:::-;1792:48;;1887:2;1876:9;1872:18;1859:32;1849:42;;1569:328;;;;;:::o;2091:180::-;2150:6;2203:2;2191:9;2182:7;2178:23;2174:32;2171:52;;;2219:1;2216;2209:12;2171:52;-1:-1:-1;2242:23:1;;2091:180;-1:-1:-1;2091:180:1:o;2276:367::-;2339:8;2349:6;2403:3;2396:4;2388:6;2384:17;2380:27;2370:55;;2421:1;2418;2411:12;2370:55;-1:-1:-1;2444:20:1;;2487:18;2476:30;;2473:50;;;2519:1;2516;2509:12;2473:50;2556:4;2548:6;2544:17;2532:29;;2616:3;2609:4;2599:6;2596:1;2592:14;2584:6;2580:27;2576:38;2573:47;2570:67;;;2633:1;2630;2623:12;2570:67;2276:367;;;;;:::o;2648:773::-;2770:6;2778;2786;2794;2847:2;2835:9;2826:7;2822:23;2818:32;2815:52;;;2863:1;2860;2853:12;2815:52;2903:9;2890:23;2932:18;2973:2;2965:6;2962:14;2959:34;;;2989:1;2986;2979:12;2959:34;3028:70;3090:7;3081:6;3070:9;3066:22;3028:70;:::i;:::-;3117:8;;-1:-1:-1;3002:96:1;-1:-1:-1;3205:2:1;3190:18;;3177:32;;-1:-1:-1;3221:16:1;;;3218:36;;;3250:1;3247;3240:12;3218:36;;3289:72;3353:7;3342:8;3331:9;3327:24;3289:72;:::i;:::-;2648:773;;;;-1:-1:-1;3380:8:1;-1:-1:-1;;;;2648:773:1:o;3634:260::-;3702:6;3710;3763:2;3751:9;3742:7;3738:23;3734:32;3731:52;;;3779:1;3776;3769:12;3731:52;3802:29;3821:9;3802:29;:::i;:::-;3792:39;;3850:38;3884:2;3873:9;3869:18;3850:38;:::i;:::-;3840:48;;3634:260;;;;;:::o;3899:380::-;3978:1;3974:12;;;;4021;;;4042:61;;4096:4;4088:6;4084:17;4074:27;;4042:61;4149:2;4141:6;4138:14;4118:18;4115:38;4112:161;;4195:10;4190:3;4186:20;4183:1;4176:31;4230:4;4227:1;4220:15;4258:4;4255:1;4248:15;4112:161;;3899:380;;;:::o;4284:127::-;4345:10;4340:3;4336:20;4333:1;4326:31;4376:4;4373:1;4366:15;4400:4;4397:1;4390:15;4416:125;4481:9;;;4502:10;;;4499:36;;;4515:18;;:::i;5246:422::-;5335:1;5378:5;5335:1;5392:270;5413:7;5403:8;5400:21;5392:270;;;5472:4;5468:1;5464:6;5460:17;5454:4;5451:27;5448:53;;;5481:18;;:::i;:::-;5531:7;5521:8;5517:22;5514:55;;;5551:16;;;;5514:55;5630:22;;;;5590:15;;;;5392:270;;;5396:3;5246:422;;;;;:::o;5673:806::-;5722:5;5752:8;5742:80;;-1:-1:-1;5793:1:1;5807:5;;5742:80;5841:4;5831:76;;-1:-1:-1;5878:1:1;5892:5;;5831:76;5923:4;5941:1;5936:59;;;;6009:1;6004:130;;;;5916:218;;5936:59;5966:1;5957:10;;5980:5;;;6004:130;6041:3;6031:8;6028:17;6025:43;;;6048:18;;:::i;:::-;-1:-1:-1;;6104:1:1;6090:16;;6119:5;;5916:218;;6218:2;6208:8;6205:16;6199:3;6193:4;6190:13;6186:36;6180:2;6170:8;6167:16;6162:2;6156:4;6153:12;6149:35;6146:77;6143:159;;;-1:-1:-1;6255:19:1;;;6287:5;;6143:159;6334:34;6359:8;6353:4;6334:34;:::i;:::-;6404:6;6400:1;6396:6;6392:19;6383:7;6380:32;6377:58;;;6415:18;;:::i;:::-;6453:20;;5673:806;-1:-1:-1;;;5673:806:1:o;6484:131::-;6544:5;6573:36;6600:8;6594:4;6573:36;:::i;6620:168::-;6660:7;6726:1;6722;6718:6;6714:14;6711:1;6708:21;6703:1;6696:9;6689:17;6685:45;6682:71;;;6733:18;;:::i;:::-;-1:-1:-1;6773:9:1;;6620:168::o;7143:127::-;7204:10;7199:3;7195:20;7192:1;7185:31;7235:4;7232:1;7225:15;7259:4;7256:1;7249:15;7275:128;7342:9;;;7363:11;;;7360:37;;;7377:18;;:::i;7408:127::-;7469:10;7464:3;7460:20;7457:1;7450:31;7500:4;7497:1;7490:15;7524:4;7521:1;7514:15;7540:398;7742:2;7724:21;;;7781:2;7761:18;;;7754:30;7820:34;7815:2;7800:18;;7793:62;-1:-1:-1;;;7886:2:1;7871:18;;7864:32;7928:3;7913:19;;7540:398::o;8647:135::-;8686:3;8707:17;;;8704:43;;8727:18;;:::i;:::-;-1:-1:-1;8774:1:1;8763:13;;8647:135::o;11127:401::-;11329:2;11311:21;;;11368:2;11348:18;;;11341:30;11407:34;11402:2;11387:18;;11380:62;-1:-1:-1;;;11473:2:1;11458:18;;11451:35;11518:3;11503:19;;11127:401::o;11533:399::-;11735:2;11717:21;;;11774:2;11754:18;;;11747:30;11813:34;11808:2;11793:18;;11786:62;-1:-1:-1;;;11879:2:1;11864:18;;11857:33;11922:3;11907:19;;11533:399::o;12697:402::-;12899:2;12881:21;;;12938:2;12918:18;;;12911:30;12977:34;12972:2;12957:18;;12950:62;-1:-1:-1;;;13043:2:1;13028:18;;13021:36;13089:3;13074:19;;12697:402::o
Swarm Source
ipfs://dfee7afac12aaf82ac8c9d5adcef99aabe2013df2ab64396e8c3b113f8176268
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.