ERC-20
DeFi
Overview
Max Total Supply
100,000,000 SWAY
Holders
1,343 (0.00%)
Total Transfers
-
Market
Price
$0.0017 @ 0.002677 POL (+2.26%)
Onchain Market Cap
$166,412.00
Circulating Supply Market Cap
$82,266.00
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
CloutArtToken
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.0; import "./ERC20.sol"; import "./Pausable.sol"; import "./AccessControl.sol"; contract CloutArtToken is ERC20, Pausable, AccessControl { uint256 private constant INITIAL_SUPPLY = 100000000 ether; uint256 private constant MINTABLE_SUPPLY = 100000000 ether; bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); bool private _allowNewMinters = true; constructor(string memory _name, string memory _symbol, address _admin) ERC20(_name, _symbol) { _setupRole(DEFAULT_ADMIN_ROLE, _admin); _mint(_admin, INITIAL_SUPPLY); } function pause() external onlyRole(DEFAULT_ADMIN_ROLE) { _pause(); } function unpause() external onlyRole(DEFAULT_ADMIN_ROLE) { _unpause(); } function mint(address to, uint256 amount) external whenNotPaused onlyRole(MINTER_ROLE) { require(amount <= INITIAL_SUPPLY + MINTABLE_SUPPLY - totalSupply(), "Amount to big"); _mint(to, amount); } function _beforeTokenTransfer(address from, address to, uint256 amount) internal whenNotPaused override { super._beforeTokenTransfer(from, to, amount); } function disableNewMinters() external onlyRole(DEFAULT_ADMIN_ROLE) { _allowNewMinters = false; } function grantRole(bytes32 role, address account) public virtual override { if (role == MINTER_ROLE) require(_allowNewMinters, "Granting new minters not allowed!"); AccessControl.grantRole(role, account); } function revokeRole(bytes32 role, address account) public virtual override { if (role == MINTER_ROLE) require(_allowNewMinters, "Revoking minters not allowed!"); AccessControl.revokeRole(role, account); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./Context.sol"; import "./Strings.sol"; import "./ERC165.sol"; /** * @dev External interface of AccessControl declared to support ERC165 detection. */ interface IAccessControl { function hasRole(bytes32 role, address account) external view returns (bool); function getRoleAdmin(bytes32 role) external view returns (bytes32); function grantRole(bytes32 role, address account) external; function revokeRole(bytes32 role, address account) external; function renounceRole(bytes32 role, address account) external; } /** * @dev Contract module that allows children to implement role-based access * control mechanisms. This is a lightweight version that doesn't allow enumerating role * members except through off-chain means by accessing the contract event logs. Some * applications may benefit from on-chain enumerability, for those cases see * {AccessControlEnumerable}. * * Roles are referred to by their `bytes32` identifier. These should be exposed * in the external API and be unique. The best way to achieve this is by * using `public constant` hash digests: * * ``` * bytes32 public constant MY_ROLE = keccak256("MY_ROLE"); * ``` * * Roles can be used to represent a set of permissions. To restrict access to a * function call, use {hasRole}: * * ``` * function foo() public { * require(hasRole(MY_ROLE, msg.sender)); * ... * } * ``` * * Roles can be granted and revoked dynamically via the {grantRole} and * {revokeRole} functions. Each role has an associated admin role, and only * accounts that have a role's admin role can call {grantRole} and {revokeRole}. * * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means * that only accounts with this role will be able to grant or revoke other * roles. More complex role relationships can be created by using * {_setRoleAdmin}. * * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to * grant and revoke this role. Extra precautions should be taken to secure * accounts that have been granted it. */ abstract contract AccessControl is Context, IAccessControl, ERC165 { struct RoleData { mapping(address => bool) members; bytes32 adminRole; } mapping(bytes32 => RoleData) private _roles; bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00; /** * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` * * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite * {RoleAdminChanged} not being emitted signaling this. * * _Available since v3.1._ */ event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole); /** * @dev Emitted when `account` is granted `role`. * * `sender` is the account that originated the contract call, an admin role * bearer except when using {_setupRole}. */ event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender); /** * @dev Emitted when `account` is revoked `role`. * * `sender` is the account that originated the contract call: * - if using `revokeRole`, it is the admin role bearer * - if using `renounceRole`, it is the role bearer (i.e. `account`) */ event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender); /** * @dev Modifier that checks that an account has a specific role. Reverts * with a standardized message including the required role. * * The format of the revert reason is given by the following regular expression: * * /^AccessControl: account (0x[0-9a-f]{20}) is missing role (0x[0-9a-f]{32})$/ * * _Available since v4.1._ */ modifier onlyRole(bytes32 role) { _checkRole(role, _msgSender()); _; } /** * @dev See {IERC165-supportsInterface}. */ function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId); } /** * @dev Returns `true` if `account` has been granted `role`. */ function hasRole(bytes32 role, address account) public view override returns (bool) { return _roles[role].members[account]; } /** * @dev Revert with a standard message if `account` is missing `role`. * * The format of the revert reason is given by the following regular expression: * * /^AccessControl: account (0x[0-9a-f]{20}) is missing role (0x[0-9a-f]{32})$/ */ function _checkRole(bytes32 role, address account) internal view { if (!hasRole(role, account)) { revert( string( abi.encodePacked( "AccessControl: account ", Strings.toHexString(uint160(account), 20), " is missing role ", Strings.toHexString(uint256(role), 32) ) ) ); } } /** * @dev Returns the admin role that controls `role`. See {grantRole} and * {revokeRole}. * * To change a role's admin, use {_setRoleAdmin}. */ function getRoleAdmin(bytes32 role) public view override returns (bytes32) { return _roles[role].adminRole; } /** * @dev Grants `role` to `account`. * * If `account` had not been already granted `role`, emits a {RoleGranted} * event. * * Requirements: * * - the caller must have ``role``'s admin role. */ function grantRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) { _grantRole(role, account); } /** * @dev Revokes `role` from `account`. * * If `account` had been granted `role`, emits a {RoleRevoked} event. * * Requirements: * * - the caller must have ``role``'s admin role. */ function revokeRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) { _revokeRole(role, account); } /** * @dev Revokes `role` from the calling account. * * Roles are often managed via {grantRole} and {revokeRole}: this function's * purpose is to provide a mechanism for accounts to lose their privileges * if they are compromised (such as when a trusted device is misplaced). * * If the calling account had been granted `role`, emits a {RoleRevoked} * event. * * Requirements: * * - the caller must be `account`. */ function renounceRole(bytes32 role, address account) public virtual override { require(account == _msgSender(), "AccessControl: can only renounce roles for self"); _revokeRole(role, account); } /** * @dev Grants `role` to `account`. * * If `account` had not been already granted `role`, emits a {RoleGranted} * event. Note that unlike {grantRole}, this function doesn't perform any * checks on the calling account. * * [WARNING] * ==== * This function should only be called from the constructor when setting * up the initial roles for the system. * * Using this function in any other way is effectively circumventing the admin * system imposed by {AccessControl}. * ==== */ function _setupRole(bytes32 role, address account) internal virtual { _grantRole(role, account); } /** * @dev Sets `adminRole` as ``role``'s admin role. * * Emits a {RoleAdminChanged} event. */ function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual { emit RoleAdminChanged(role, getRoleAdmin(role), adminRole); _roles[role].adminRole = adminRole; } function _grantRole(bytes32 role, address account) private { if (!hasRole(role, account)) { _roles[role].members[account] = true; emit RoleGranted(role, account, _msgSender()); } } function _revokeRole(bytes32 role, address account) private { if (hasRole(role, account)) { _roles[role].members[account] = false; emit RoleRevoked(role, account, _msgSender()); } } }
// SPDX-License-Identifier: MIT 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; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./IERC165.sol"; /** * @dev Implementation of the {IERC165} interface. * * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check * for the additional interface id that will be supported. For example: * * ```solidity * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); * } * ``` * * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation. */ abstract contract ERC165 is IERC165 { /** * @dev See {IERC165-supportsInterface}. */ function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(IERC165).interfaceId; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./IERC20.sol"; import "./IERC20Metadata.sol"; import "./Context.sol"; /** * @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 guidelines: functions revert instead * of 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) private _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: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, 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}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), 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}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } /** * @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) { _approve(_msgSender(), spender, _allowances[_msgSender()][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) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `sender` to `recipient`. * * 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: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } /** @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 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 {} }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ 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); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./IERC20.sol"; /** * @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); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./Context.sol"; /** * @dev Contract module which allows children to implement an emergency stop * mechanism that can be triggered by an authorized account. * * This module is used through inheritance. It will make available the * modifiers `whenNotPaused` and `whenPaused`, which can be applied to * the functions of your contract. Note that they will not be pausable by * simply including this module, only once the modifiers are put in place. */ abstract contract Pausable is Context { /** * @dev Emitted when the pause is triggered by `account`. */ event Paused(address account); /** * @dev Emitted when the pause is lifted by `account`. */ event Unpaused(address account); bool private _paused; /** * @dev Initializes the contract in unpaused state. */ constructor() { _paused = false; } /** * @dev Returns true if the contract is paused, and false otherwise. */ function paused() public view virtual returns (bool) { return _paused; } /** * @dev Modifier to make a function callable only when the contract is not paused. * * Requirements: * * - The contract must not be paused. */ modifier whenNotPaused() { require(!paused(), "Pausable: paused"); _; } /** * @dev Modifier to make a function callable only when the contract is paused. * * Requirements: * * - The contract must be paused. */ modifier whenPaused() { require(paused(), "Pausable: not paused"); _; } /** * @dev Triggers stopped state. * * Requirements: * * - The contract must not be paused. */ function _pause() internal virtual whenNotPaused { _paused = true; emit Paused(_msgSender()); } /** * @dev Returns to normal state. * * Requirements: * * - The contract must be paused. */ function _unpause() internal virtual whenPaused { _paused = false; emit Unpaused(_msgSender()); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev String operations. */ library Strings { bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef"; /** * @dev Converts a `uint256` to its ASCII `string` decimal representation. */ function toString(uint256 value) internal pure returns (string memory) { // Inspired by OraclizeAPI's implementation - MIT licence // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol if (value == 0) { return "0"; } uint256 temp = value; uint256 digits; while (temp != 0) { digits++; temp /= 10; } bytes memory buffer = new bytes(digits); while (value != 0) { digits -= 1; buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); value /= 10; } return string(buffer); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation. */ function toHexString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0x00"; } uint256 temp = value; uint256 length = 0; while (temp != 0) { length++; temp >>= 8; } return toHexString(value, length); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length. */ function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { bytes memory buffer = new bytes(2 * length + 2); buffer[0] = "0"; buffer[1] = "x"; for (uint256 i = 2 * length + 1; i > 1; --i) { buffer[i] = _HEX_SYMBOLS[value & 0xf]; value >>= 4; } require(value == 0, "Strings: hex length insufficient"); return string(buffer); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_admin","type":"address"}],"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":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","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":[],"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":[],"name":"disableNewMinters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"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":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526001600760006101000a81548160ff0219169083151502179055503480156200002c57600080fd5b50604051620032723803806200327283398181016040528101906200005291906200059c565b828281600390805190602001906200006c92919062000463565b5080600490805190602001906200008592919062000463565b5050506000600560006101000a81548160ff021916908315150217905550620000b86000801b82620000de60201b60201c565b620000d5816a52b7d2dcc80cd2e4000000620000f460201b60201c565b50505062000940565b620000f082826200026d60201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000167576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200015e90620006db565b60405180910390fd5b6200017b600083836200035f60201b60201c565b80600260008282546200018f919062000792565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001e6919062000792565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200024d9190620006fd565b60405180910390a36200026960008383620003cf60201b60201c565b5050565b6200027f8282620003d460201b60201c565b6200035b5760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003006200043f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6200036f6200044760201b60201c565b15620003b2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003a990620006b9565b60405180910390fd5b620003ca8383836200045e60201b62000dab1760201c565b505050565b505050565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b6000600560009054906101000a900460ff16905090565b505050565b828054620004719062000863565b90600052602060002090601f016020900481019282620004955760008555620004e1565b82601f10620004b057805160ff1916838001178555620004e1565b82800160010185558215620004e1579182015b82811115620004e0578251825591602001919060010190620004c3565b5b509050620004f09190620004f4565b5090565b5b808211156200050f576000816000905550600101620004f5565b5090565b60006200052a62000524846200074e565b6200071a565b9050828152602081018484840111156200054357600080fd5b620005508482856200082d565b509392505050565b600081519050620005698162000926565b92915050565b600082601f8301126200058157600080fd5b81516200059384826020860162000513565b91505092915050565b600080600060608486031215620005b257600080fd5b600084015167ffffffffffffffff811115620005cd57600080fd5b620005db868287016200056f565b935050602084015167ffffffffffffffff811115620005f957600080fd5b62000607868287016200056f565b92505060406200061a8682870162000558565b9150509250925092565b60006200063360108362000781565b91507f5061757361626c653a20706175736564000000000000000000000000000000006000830152602082019050919050565b600062000675601f8362000781565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b620006b38162000823565b82525050565b60006020820190508181036000830152620006d48162000624565b9050919050565b60006020820190508181036000830152620006f68162000666565b9050919050565b6000602082019050620007146000830184620006a8565b92915050565b6000604051905081810181811067ffffffffffffffff82111715620007445762000743620008f7565b5b8060405250919050565b600067ffffffffffffffff8211156200076c576200076b620008f7565b5b601f19601f8301169050602081019050919050565b600082825260208201905092915050565b60006200079f8262000823565b9150620007ac8362000823565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620007e457620007e362000899565b5b828201905092915050565b6000620007fc8262000803565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b838110156200084d57808201518184015260208101905062000830565b838111156200085d576000848401525b50505050565b600060028204905060018216806200087c57607f821691505b60208210811415620008935762000892620008c8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200093181620007ef565b81146200093d57600080fd5b50565b61292280620009506000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806340c10f19116100c3578063a217fddf1161007c578063a217fddf146103b5578063a457c2d7146103d3578063a9059cbb14610403578063d539139314610433578063d547741f14610451578063dd62ed3e1461046d57610158565b806340c10f19146102f35780635c975abb1461030f57806370a082311461032d5780638456cb591461035d57806391d148541461036757806395d89b411461039757610158565b8063248a9ca311610115578063248a9ca3146102335780632f2ff15d14610263578063313ce5671461027f57806336568abe1461029d57806339509351146102b95780633f4ba83a146102e957610158565b806301ffc9a71461015d57806306fdde031461018d578063095ea7b3146101ab57806318160ddd146101db5780631fd94bc3146101f957806323b872dd14610203575b600080fd5b61017760048036038101906101729190611cc5565b61049d565b604051610184919061238e565b60405180910390f35b610195610517565b6040516101a291906123c4565b60405180910390f35b6101c560048036038101906101c09190611c24565b6105a9565b6040516101d2919061238e565b60405180910390f35b6101e36105c7565b6040516101f091906125c6565b60405180910390f35b6102016105d1565b005b61021d60048036038101906102189190611bd5565b610604565b60405161022a919061238e565b60405180910390f35b61024d60048036038101906102489190611c60565b6106fc565b60405161025a91906123a9565b60405180910390f35b61027d60048036038101906102789190611c89565b61071c565b005b6102876107a2565b60405161029491906125e1565b60405180910390f35b6102b760048036038101906102b29190611c89565b6107ab565b005b6102d360048036038101906102ce9190611c24565b61082e565b6040516102e0919061238e565b60405180910390f35b6102f16108da565b005b61030d60048036038101906103089190611c24565b6108fa565b005b6103176109ee565b604051610324919061238e565b60405180910390f35b61034760048036038101906103429190611b70565b610a05565b60405161035491906125c6565b60405180910390f35b610365610a4d565b005b610381600480360381019061037c9190611c89565b610a6d565b60405161038e919061238e565b60405180910390f35b61039f610ad8565b6040516103ac91906123c4565b60405180910390f35b6103bd610b6a565b6040516103ca91906123a9565b60405180910390f35b6103ed60048036038101906103e89190611c24565b610b71565b6040516103fa919061238e565b60405180910390f35b61041d60048036038101906104189190611c24565b610c5c565b60405161042a919061238e565b60405180910390f35b61043b610c7a565b60405161044891906123a9565b60405180910390f35b61046b60048036038101906104669190611c89565b610c9e565b005b61048760048036038101906104829190611b99565b610d24565b60405161049491906125c6565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610510575061050f82610db0565b5b9050919050565b606060038054610526906127ef565b80601f0160208091040260200160405190810160405280929190818152602001828054610552906127ef565b801561059f5780601f106105745761010080835404028352916020019161059f565b820191906000526020600020905b81548152906001019060200180831161058257829003601f168201915b5050505050905090565b60006105bd6105b6610e1a565b8484610e22565b6001905092915050565b6000600254905090565b6000801b6105e6816105e1610e1a565b610fed565b6000600760006101000a81548160ff02191690831515021790555050565b600061061184848461108a565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061065c610e1a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156106dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d3906124e6565b60405180910390fd5b6106f0856106e8610e1a565b858403610e22565b60019150509392505050565b600060066000838152602001908152602001600020600101549050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682141561079457600760009054906101000a900460ff16610793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078a906124a6565b60405180910390fd5b5b61079e828261130b565b5050565b60006012905090565b6107b3610e1a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610820576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081790612586565b60405180910390fd5b61082a8282611334565b5050565b60006108d061083b610e1a565b848460016000610849610e1a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108cb9190612623565b610e22565b6001905092915050565b6000801b6108ef816108ea610e1a565b610fed565b6108f7611416565b50565b6109026109ee565b15610942576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610939906124c6565b60405180910390fd5b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66109748161096f610e1a565b610fed565b61097c6105c7565b6a52b7d2dcc80cd2e4000000806109939190612623565b61099d91906126d3565b8211156109df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d690612466565b60405180910390fd5b6109e983836114b8565b505050565b6000600560009054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000801b610a6281610a5d610e1a565b610fed565b610a6a611618565b50565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060048054610ae7906127ef565b80601f0160208091040260200160405190810160405280929190818152602001828054610b13906127ef565b8015610b605780601f10610b3557610100808354040283529160200191610b60565b820191906000526020600020905b815481529060010190602001808311610b4357829003601f168201915b5050505050905090565b6000801b81565b60008060016000610b80610e1a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610c3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3490612566565b60405180910390fd5b610c51610c48610e1a565b85858403610e22565b600191505092915050565b6000610c70610c69610e1a565b848461108a565b6001905092915050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6821415610d1657600760009054906101000a900460ff16610d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0c90612546565b60405180910390fd5b5b610d2082826116bb565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8990612526565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef990612446565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fe091906125c6565b60405180910390a3505050565b610ff78282610a6d565b6110865761101c8173ffffffffffffffffffffffffffffffffffffffff1660146116e4565b61102a8360001c60206116e4565b60405160200161103b929190612339565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107d91906123c4565b60405180910390fd5b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f190612506565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561116a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116190612406565b60405180910390fd5b6111758383836119de565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156111fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f290612486565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461128e9190612623565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112f291906125c6565b60405180910390a3611305848484611a36565b50505050565b611314826106fc565b61132581611320610e1a565b610fed565b61132f8383611a3b565b505050565b61133e8282610a6d565b156114125760006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506113b7610e1a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b61141e6109ee565b61145d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145490612426565b60405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6114a1610e1a565b6040516114ae9190612373565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611528576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151f906125a6565b60405180910390fd5b611534600083836119de565b80600260008282546115469190612623565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461159b9190612623565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161160091906125c6565b60405180910390a361161460008383611a36565b5050565b6116206109ee565b15611660576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611657906124c6565b60405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586116a4610e1a565b6040516116b19190612373565b60405180910390a1565b6116c4826106fc565b6116d5816116d0610e1a565b610fed565b6116df8383611334565b505050565b6060600060028360026116f79190612679565b6117019190612623565b67ffffffffffffffff811115611740577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156117725781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106117d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061185a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261189a9190612679565b6118a49190612623565b90505b6001811115611990577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061190c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b1a60f81b828281518110611949577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611989906127c5565b90506118a7565b50600084146119d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cb906123e6565b60405180910390fd5b8091505092915050565b6119e66109ee565b15611a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1d906124c6565b60405180910390fd5b611a31838383610dab565b505050565b505050565b611a458282610a6d565b611b185760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611abd610e1a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600081359050611b2b81612890565b92915050565b600081359050611b40816128a7565b92915050565b600081359050611b55816128be565b92915050565b600081359050611b6a816128d5565b92915050565b600060208284031215611b8257600080fd5b6000611b9084828501611b1c565b91505092915050565b60008060408385031215611bac57600080fd5b6000611bba85828601611b1c565b9250506020611bcb85828601611b1c565b9150509250929050565b600080600060608486031215611bea57600080fd5b6000611bf886828701611b1c565b9350506020611c0986828701611b1c565b9250506040611c1a86828701611b5b565b9150509250925092565b60008060408385031215611c3757600080fd5b6000611c4585828601611b1c565b9250506020611c5685828601611b5b565b9150509250929050565b600060208284031215611c7257600080fd5b6000611c8084828501611b31565b91505092915050565b60008060408385031215611c9c57600080fd5b6000611caa85828601611b31565b9250506020611cbb85828601611b1c565b9150509250929050565b600060208284031215611cd757600080fd5b6000611ce584828501611b46565b91505092915050565b611cf781612707565b82525050565b611d0681612719565b82525050565b611d1581612725565b82525050565b6000611d26826125fc565b611d308185612607565b9350611d40818560208601612792565b611d498161287f565b840191505092915050565b6000611d5f826125fc565b611d698185612618565b9350611d79818560208601612792565b80840191505092915050565b6000611d92602083612607565b91507f537472696e67733a20686578206c656e67746820696e73756666696369656e746000830152602082019050919050565b6000611dd2602383612607565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611e38601483612607565b91507f5061757361626c653a206e6f74207061757365640000000000000000000000006000830152602082019050919050565b6000611e78602283612607565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611ede600d83612607565b91507f416d6f756e7420746f20626967000000000000000000000000000000000000006000830152602082019050919050565b6000611f1e602683612607565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611f84602183612607565b91507f4772616e74696e67206e6577206d696e74657273206e6f7420616c6c6f77656460008301527f21000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611fea601083612607565b91507f5061757361626c653a20706175736564000000000000000000000000000000006000830152602082019050919050565b600061202a602883612607565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612090602583612607565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006120f6602483612607565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061215c601d83612607565b91507f5265766f6b696e67206d696e74657273206e6f7420616c6c6f776564210000006000830152602082019050919050565b600061219c601783612618565b91507f416363657373436f6e74726f6c3a206163636f756e74200000000000000000006000830152601782019050919050565b60006121dc602583612607565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612242601183612618565b91507f206973206d697373696e6720726f6c65200000000000000000000000000000006000830152601182019050919050565b6000612282602f83612607565b91507f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008301527f20726f6c657320666f722073656c6600000000000000000000000000000000006020830152604082019050919050565b60006122e8601f83612607565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b6123248161277b565b82525050565b61233381612785565b82525050565b60006123448261218f565b91506123508285611d54565b915061235b82612235565b91506123678284611d54565b91508190509392505050565b60006020820190506123886000830184611cee565b92915050565b60006020820190506123a36000830184611cfd565b92915050565b60006020820190506123be6000830184611d0c565b92915050565b600060208201905081810360008301526123de8184611d1b565b905092915050565b600060208201905081810360008301526123ff81611d85565b9050919050565b6000602082019050818103600083015261241f81611dc5565b9050919050565b6000602082019050818103600083015261243f81611e2b565b9050919050565b6000602082019050818103600083015261245f81611e6b565b9050919050565b6000602082019050818103600083015261247f81611ed1565b9050919050565b6000602082019050818103600083015261249f81611f11565b9050919050565b600060208201905081810360008301526124bf81611f77565b9050919050565b600060208201905081810360008301526124df81611fdd565b9050919050565b600060208201905081810360008301526124ff8161201d565b9050919050565b6000602082019050818103600083015261251f81612083565b9050919050565b6000602082019050818103600083015261253f816120e9565b9050919050565b6000602082019050818103600083015261255f8161214f565b9050919050565b6000602082019050818103600083015261257f816121cf565b9050919050565b6000602082019050818103600083015261259f81612275565b9050919050565b600060208201905081810360008301526125bf816122db565b9050919050565b60006020820190506125db600083018461231b565b92915050565b60006020820190506125f6600083018461232a565b92915050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600061262e8261277b565b91506126398361277b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561266e5761266d612821565b5b828201905092915050565b60006126848261277b565b915061268f8361277b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156126c8576126c7612821565b5b828202905092915050565b60006126de8261277b565b91506126e98361277b565b9250828210156126fc576126fb612821565b5b828203905092915050565b60006127128261275b565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156127b0578082015181840152602081019050612795565b838111156127bf576000848401525b50505050565b60006127d08261277b565b915060008214156127e4576127e3612821565b5b600182039050919050565b6000600282049050600182168061280757607f821691505b6020821081141561281b5761281a612850565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b61289981612707565b81146128a457600080fd5b50565b6128b081612725565b81146128bb57600080fd5b50565b6128c78161272f565b81146128d257600080fd5b50565b6128de8161277b565b81146128e957600080fd5b5056fea26469706673582212205ca9022d5798d1751bcefaed951dd8e8f45ea59bbd1cf5249124ec0a8ade4bbb64736f6c63430008000033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000081fc3bd67c6ce81f52bacbfb84e0148cd4fc64f400000000000000000000000000000000000000000000000000000000000000145377617920536f6369616c2050726f746f636f6c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000045357415900000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101585760003560e01c806340c10f19116100c3578063a217fddf1161007c578063a217fddf146103b5578063a457c2d7146103d3578063a9059cbb14610403578063d539139314610433578063d547741f14610451578063dd62ed3e1461046d57610158565b806340c10f19146102f35780635c975abb1461030f57806370a082311461032d5780638456cb591461035d57806391d148541461036757806395d89b411461039757610158565b8063248a9ca311610115578063248a9ca3146102335780632f2ff15d14610263578063313ce5671461027f57806336568abe1461029d57806339509351146102b95780633f4ba83a146102e957610158565b806301ffc9a71461015d57806306fdde031461018d578063095ea7b3146101ab57806318160ddd146101db5780631fd94bc3146101f957806323b872dd14610203575b600080fd5b61017760048036038101906101729190611cc5565b61049d565b604051610184919061238e565b60405180910390f35b610195610517565b6040516101a291906123c4565b60405180910390f35b6101c560048036038101906101c09190611c24565b6105a9565b6040516101d2919061238e565b60405180910390f35b6101e36105c7565b6040516101f091906125c6565b60405180910390f35b6102016105d1565b005b61021d60048036038101906102189190611bd5565b610604565b60405161022a919061238e565b60405180910390f35b61024d60048036038101906102489190611c60565b6106fc565b60405161025a91906123a9565b60405180910390f35b61027d60048036038101906102789190611c89565b61071c565b005b6102876107a2565b60405161029491906125e1565b60405180910390f35b6102b760048036038101906102b29190611c89565b6107ab565b005b6102d360048036038101906102ce9190611c24565b61082e565b6040516102e0919061238e565b60405180910390f35b6102f16108da565b005b61030d60048036038101906103089190611c24565b6108fa565b005b6103176109ee565b604051610324919061238e565b60405180910390f35b61034760048036038101906103429190611b70565b610a05565b60405161035491906125c6565b60405180910390f35b610365610a4d565b005b610381600480360381019061037c9190611c89565b610a6d565b60405161038e919061238e565b60405180910390f35b61039f610ad8565b6040516103ac91906123c4565b60405180910390f35b6103bd610b6a565b6040516103ca91906123a9565b60405180910390f35b6103ed60048036038101906103e89190611c24565b610b71565b6040516103fa919061238e565b60405180910390f35b61041d60048036038101906104189190611c24565b610c5c565b60405161042a919061238e565b60405180910390f35b61043b610c7a565b60405161044891906123a9565b60405180910390f35b61046b60048036038101906104669190611c89565b610c9e565b005b61048760048036038101906104829190611b99565b610d24565b60405161049491906125c6565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610510575061050f82610db0565b5b9050919050565b606060038054610526906127ef565b80601f0160208091040260200160405190810160405280929190818152602001828054610552906127ef565b801561059f5780601f106105745761010080835404028352916020019161059f565b820191906000526020600020905b81548152906001019060200180831161058257829003601f168201915b5050505050905090565b60006105bd6105b6610e1a565b8484610e22565b6001905092915050565b6000600254905090565b6000801b6105e6816105e1610e1a565b610fed565b6000600760006101000a81548160ff02191690831515021790555050565b600061061184848461108a565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061065c610e1a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156106dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d3906124e6565b60405180910390fd5b6106f0856106e8610e1a565b858403610e22565b60019150509392505050565b600060066000838152602001908152602001600020600101549050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682141561079457600760009054906101000a900460ff16610793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078a906124a6565b60405180910390fd5b5b61079e828261130b565b5050565b60006012905090565b6107b3610e1a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610820576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081790612586565b60405180910390fd5b61082a8282611334565b5050565b60006108d061083b610e1a565b848460016000610849610e1a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108cb9190612623565b610e22565b6001905092915050565b6000801b6108ef816108ea610e1a565b610fed565b6108f7611416565b50565b6109026109ee565b15610942576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610939906124c6565b60405180910390fd5b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66109748161096f610e1a565b610fed565b61097c6105c7565b6a52b7d2dcc80cd2e4000000806109939190612623565b61099d91906126d3565b8211156109df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d690612466565b60405180910390fd5b6109e983836114b8565b505050565b6000600560009054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000801b610a6281610a5d610e1a565b610fed565b610a6a611618565b50565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060048054610ae7906127ef565b80601f0160208091040260200160405190810160405280929190818152602001828054610b13906127ef565b8015610b605780601f10610b3557610100808354040283529160200191610b60565b820191906000526020600020905b815481529060010190602001808311610b4357829003601f168201915b5050505050905090565b6000801b81565b60008060016000610b80610e1a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610c3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3490612566565b60405180910390fd5b610c51610c48610e1a565b85858403610e22565b600191505092915050565b6000610c70610c69610e1a565b848461108a565b6001905092915050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6821415610d1657600760009054906101000a900460ff16610d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0c90612546565b60405180910390fd5b5b610d2082826116bb565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8990612526565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef990612446565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fe091906125c6565b60405180910390a3505050565b610ff78282610a6d565b6110865761101c8173ffffffffffffffffffffffffffffffffffffffff1660146116e4565b61102a8360001c60206116e4565b60405160200161103b929190612339565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107d91906123c4565b60405180910390fd5b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f190612506565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561116a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116190612406565b60405180910390fd5b6111758383836119de565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156111fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f290612486565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461128e9190612623565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112f291906125c6565b60405180910390a3611305848484611a36565b50505050565b611314826106fc565b61132581611320610e1a565b610fed565b61132f8383611a3b565b505050565b61133e8282610a6d565b156114125760006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506113b7610e1a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b61141e6109ee565b61145d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145490612426565b60405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6114a1610e1a565b6040516114ae9190612373565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611528576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151f906125a6565b60405180910390fd5b611534600083836119de565b80600260008282546115469190612623565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461159b9190612623565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161160091906125c6565b60405180910390a361161460008383611a36565b5050565b6116206109ee565b15611660576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611657906124c6565b60405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586116a4610e1a565b6040516116b19190612373565b60405180910390a1565b6116c4826106fc565b6116d5816116d0610e1a565b610fed565b6116df8383611334565b505050565b6060600060028360026116f79190612679565b6117019190612623565b67ffffffffffffffff811115611740577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156117725781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106117d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061185a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261189a9190612679565b6118a49190612623565b90505b6001811115611990577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061190c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b1a60f81b828281518110611949577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611989906127c5565b90506118a7565b50600084146119d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cb906123e6565b60405180910390fd5b8091505092915050565b6119e66109ee565b15611a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1d906124c6565b60405180910390fd5b611a31838383610dab565b505050565b505050565b611a458282610a6d565b611b185760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611abd610e1a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600081359050611b2b81612890565b92915050565b600081359050611b40816128a7565b92915050565b600081359050611b55816128be565b92915050565b600081359050611b6a816128d5565b92915050565b600060208284031215611b8257600080fd5b6000611b9084828501611b1c565b91505092915050565b60008060408385031215611bac57600080fd5b6000611bba85828601611b1c565b9250506020611bcb85828601611b1c565b9150509250929050565b600080600060608486031215611bea57600080fd5b6000611bf886828701611b1c565b9350506020611c0986828701611b1c565b9250506040611c1a86828701611b5b565b9150509250925092565b60008060408385031215611c3757600080fd5b6000611c4585828601611b1c565b9250506020611c5685828601611b5b565b9150509250929050565b600060208284031215611c7257600080fd5b6000611c8084828501611b31565b91505092915050565b60008060408385031215611c9c57600080fd5b6000611caa85828601611b31565b9250506020611cbb85828601611b1c565b9150509250929050565b600060208284031215611cd757600080fd5b6000611ce584828501611b46565b91505092915050565b611cf781612707565b82525050565b611d0681612719565b82525050565b611d1581612725565b82525050565b6000611d26826125fc565b611d308185612607565b9350611d40818560208601612792565b611d498161287f565b840191505092915050565b6000611d5f826125fc565b611d698185612618565b9350611d79818560208601612792565b80840191505092915050565b6000611d92602083612607565b91507f537472696e67733a20686578206c656e67746820696e73756666696369656e746000830152602082019050919050565b6000611dd2602383612607565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611e38601483612607565b91507f5061757361626c653a206e6f74207061757365640000000000000000000000006000830152602082019050919050565b6000611e78602283612607565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611ede600d83612607565b91507f416d6f756e7420746f20626967000000000000000000000000000000000000006000830152602082019050919050565b6000611f1e602683612607565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611f84602183612607565b91507f4772616e74696e67206e6577206d696e74657273206e6f7420616c6c6f77656460008301527f21000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611fea601083612607565b91507f5061757361626c653a20706175736564000000000000000000000000000000006000830152602082019050919050565b600061202a602883612607565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612090602583612607565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006120f6602483612607565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061215c601d83612607565b91507f5265766f6b696e67206d696e74657273206e6f7420616c6c6f776564210000006000830152602082019050919050565b600061219c601783612618565b91507f416363657373436f6e74726f6c3a206163636f756e74200000000000000000006000830152601782019050919050565b60006121dc602583612607565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612242601183612618565b91507f206973206d697373696e6720726f6c65200000000000000000000000000000006000830152601182019050919050565b6000612282602f83612607565b91507f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008301527f20726f6c657320666f722073656c6600000000000000000000000000000000006020830152604082019050919050565b60006122e8601f83612607565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b6123248161277b565b82525050565b61233381612785565b82525050565b60006123448261218f565b91506123508285611d54565b915061235b82612235565b91506123678284611d54565b91508190509392505050565b60006020820190506123886000830184611cee565b92915050565b60006020820190506123a36000830184611cfd565b92915050565b60006020820190506123be6000830184611d0c565b92915050565b600060208201905081810360008301526123de8184611d1b565b905092915050565b600060208201905081810360008301526123ff81611d85565b9050919050565b6000602082019050818103600083015261241f81611dc5565b9050919050565b6000602082019050818103600083015261243f81611e2b565b9050919050565b6000602082019050818103600083015261245f81611e6b565b9050919050565b6000602082019050818103600083015261247f81611ed1565b9050919050565b6000602082019050818103600083015261249f81611f11565b9050919050565b600060208201905081810360008301526124bf81611f77565b9050919050565b600060208201905081810360008301526124df81611fdd565b9050919050565b600060208201905081810360008301526124ff8161201d565b9050919050565b6000602082019050818103600083015261251f81612083565b9050919050565b6000602082019050818103600083015261253f816120e9565b9050919050565b6000602082019050818103600083015261255f8161214f565b9050919050565b6000602082019050818103600083015261257f816121cf565b9050919050565b6000602082019050818103600083015261259f81612275565b9050919050565b600060208201905081810360008301526125bf816122db565b9050919050565b60006020820190506125db600083018461231b565b92915050565b60006020820190506125f6600083018461232a565b92915050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600061262e8261277b565b91506126398361277b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561266e5761266d612821565b5b828201905092915050565b60006126848261277b565b915061268f8361277b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156126c8576126c7612821565b5b828202905092915050565b60006126de8261277b565b91506126e98361277b565b9250828210156126fc576126fb612821565b5b828203905092915050565b60006127128261275b565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156127b0578082015181840152602081019050612795565b838111156127bf576000848401525b50505050565b60006127d08261277b565b915060008214156127e4576127e3612821565b5b600182039050919050565b6000600282049050600182168061280757607f821691505b6020821081141561281b5761281a612850565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b61289981612707565b81146128a457600080fd5b50565b6128b081612725565b81146128bb57600080fd5b50565b6128c78161272f565b81146128d257600080fd5b50565b6128de8161277b565b81146128e957600080fd5b5056fea26469706673582212205ca9022d5798d1751bcefaed951dd8e8f45ea59bbd1cf5249124ec0a8ade4bbb64736f6c63430008000033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000081fc3bd67c6ce81f52bacbfb84e0148cd4fc64f400000000000000000000000000000000000000000000000000000000000000145377617920536f6369616c2050726f746f636f6c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000045357415900000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): Sway Social Protocol
Arg [1] : _symbol (string): SWAY
Arg [2] : _admin (address): 0x81fc3bd67c6cE81f52BAcbfB84E0148cd4fC64f4
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 00000000000000000000000081fc3bd67c6ce81f52bacbfb84e0148cd4fc64f4
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [4] : 5377617920536f6369616c2050726f746f636f6c000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 5357415900000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
142:1695:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4040:202:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2053:98:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4150:166;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3141:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1239:108:4;;;:::i;:::-;;4783:478:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5412:121:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1353:239:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2990:91:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6800:214:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5656:212:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;729:84:4;;;:::i;:::-;;819:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1034:84:8;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3305:125:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;643:80:4;;;:::i;:::-;;4329:137:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2264:102:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2361:49:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6355:405:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3633:172;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;337:62:4;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1598:237;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3863:149:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4040:202:0;4125:4;4163:32;4148:47;;;:11;:47;;;;:87;;;;4199:36;4223:11;4199:23;:36::i;:::-;4148:87;4141:94;;4040:202;;;:::o;2053:98:3:-;2107:13;2139:5;2132:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2053:98;:::o;4150:166::-;4233:4;4249:39;4258:12;:10;:12::i;:::-;4272:7;4281:6;4249:8;:39::i;:::-;4305:4;4298:11;;4150:166;;;;:::o;3141:106::-;3202:7;3228:12;;3221:19;;3141:106;:::o;1239:108:4:-;2406:4:0;1286:18:4;;3925:30:0;3936:4;3942:12;:10;:12::i;:::-;3925:10;:30::i;:::-;1335:5:4::1;1316:16;;:24;;;;;;;;;;;;;;;;;;1239:108:::0;:::o;4783:478:3:-;4919:4;4935:36;4945:6;4953:9;4964:6;4935:9;:36::i;:::-;4982:24;5009:11;:19;5021:6;5009:19;;;;;;;;;;;;;;;:33;5029:12;:10;:12::i;:::-;5009:33;;;;;;;;;;;;;;;;4982:60;;5080:6;5060:16;:26;;5052:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5165:57;5174:6;5182:12;:10;:12::i;:::-;5215:6;5196:16;:25;5165:8;:57::i;:::-;5250:4;5243:11;;;4783:478;;;;;:::o;5412:121:0:-;5478:7;5504:6;:12;5511:4;5504:12;;;;;;;;;;;:22;;;5497:29;;5412:121;;;:::o;1353:239:4:-;375:24;1441:4;:19;1437:99;;;1482:16;;;;;;;;;;;1474:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;1437:99;1547:38;1571:4;1577:7;1547:23;:38::i;:::-;1353:239;;:::o;2990:91:3:-;3048:5;3072:2;3065:9;;2990:91;:::o;6800:214:0:-;6906:12;:10;:12::i;:::-;6895:23;;:7;:23;;;6887:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;6981:26;6993:4;6999:7;6981:11;:26::i;:::-;6800:214;;:::o;5656:212:3:-;5744:4;5760:80;5769:12;:10;:12::i;:::-;5783:7;5829:10;5792:11;:25;5804:12;:10;:12::i;:::-;5792:25;;;;;;;;;;;;;;;:34;5818:7;5792:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;5760:8;:80::i;:::-;5857:4;5850:11;;5656:212;;;;:::o;729:84:4:-;2406:4:0;766:18:4;;3925:30:0;3936:4;3942:12;:10;:12::i;:::-;3925:10;:30::i;:::-;796:10:4::1;:8;:10::i;:::-;729:84:::0;:::o;819:215::-;1348:8:8;:6;:8::i;:::-;1347:9;1339:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;375:24:4::1;3925:30:0;3936:4;3942:12;:10;:12::i;:::-;3925:10;:30::i;:::-;969:13:4::2;:11;:13::i;:::-;311:15;247::::0;934:32:::2;;;;:::i;:::-;:48;;;;:::i;:::-;924:6;:58;;916:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;1010:17;1016:2;1020:6;1010:5;:17::i;:::-;1387:1:8::1;819:215:4::0;;:::o;1034:84:8:-;1081:4;1104:7;;;;;;;;;;;1097:14;;1034:84;:::o;3305:125:3:-;3379:7;3405:9;:18;3415:7;3405:18;;;;;;;;;;;;;;;;3398:25;;3305:125;;;:::o;643:80:4:-;2406:4:0;678:18:4;;3925:30:0;3936:4;3942:12;:10;:12::i;:::-;3925:10;:30::i;:::-;708:8:4::1;:6;:8::i;:::-;643:80:::0;:::o;4329:137:0:-;4407:4;4430:6;:12;4437:4;4430:12;;;;;;;;;;;:20;;:29;4451:7;4430:29;;;;;;;;;;;;;;;;;;;;;;;;;4423:36;;4329:137;;;;:::o;2264:102:3:-;2320:13;2352:7;2345:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2264:102;:::o;2361:49:0:-;2406:4;2361:49;;;:::o;6355:405:3:-;6448:4;6464:24;6491:11;:25;6503:12;:10;:12::i;:::-;6491:25;;;;;;;;;;;;;;;:34;6517:7;6491:34;;;;;;;;;;;;;;;;6464:61;;6563:15;6543:16;:35;;6535:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6654:67;6663:12;:10;:12::i;:::-;6677:7;6705:15;6686:16;:34;6654:8;:67::i;:::-;6749:4;6742:11;;;6355:405;;;;:::o;3633:172::-;3719:4;3735:42;3745:12;:10;:12::i;:::-;3759:9;3770:6;3735:9;:42::i;:::-;3794:4;3787:11;;3633:172;;;;:::o;337:62:4:-;375:24;337:62;:::o;1598:237::-;375:24;1687:4;:19;1683:95;;;1728:16;;;;;;;;;;;1720:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;1683:95;1789:39;1814:4;1820:7;1789:24;:39::i;:::-;1598:237;;:::o;3863:149:3:-;3952:7;3978:11;:18;3990:5;3978:18;;;;;;;;;;;;;;;:27;3997:7;3978:27;;;;;;;;;;;;;;;;3971:34;;3863:149;;;;:::o;10885:121::-;;;;:::o;763:155:2:-;848:4;886:25;871:40;;;:11;:40;;;;864:47;;763:155;;;:::o;586:96:1:-;639:7;665:10;658:17;;586:96;:::o;9931:370:3:-;10079:1;10062:19;;:5;:19;;;;10054:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10159:1;10140:21;;:7;:21;;;;10132:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10241:6;10211:11;:18;10223:5;10211:18;;;;;;;;;;;;;;;:27;10230:7;10211:27;;;;;;;;;;;;;;;:36;;;;10278:7;10262:32;;10271:5;10262:32;;;10287:6;10262:32;;;;;;:::i;:::-;;;;;;;;9931:370;;;:::o;4747:484:0:-;4827:22;4835:4;4841:7;4827;:22::i;:::-;4822:403;;5010:41;5038:7;5010:41;;5048:2;5010:19;:41::i;:::-;5122:38;5150:4;5142:13;;5157:2;5122:19;:38::i;:::-;4917:265;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4865:349;;;;;;;;;;;:::i;:::-;;;;;;;;4822:403;4747:484;;:::o;7234:713:3:-;7387:1;7369:20;;:6;:20;;;;7361:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7470:1;7449:23;;:9;:23;;;;7441:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7523:47;7544:6;7552:9;7563:6;7523:20;:47::i;:::-;7581:21;7605:9;:17;7615:6;7605:17;;;;;;;;;;;;;;;;7581:41;;7657:6;7640:13;:23;;7632:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7776:6;7760:13;:22;7740:9;:17;7750:6;7740:17;;;;;;;;;;;;;;;:42;;;;7826:6;7802:9;:20;7812:9;7802:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;7865:9;7848:35;;7857:6;7848:35;;;7876:6;7848:35;;;;;;:::i;:::-;;;;;;;;7894:46;7914:6;7922:9;7933:6;7894:19;:46::i;:::-;7234:713;;;;:::o;5783:145:0:-;5866:18;5879:4;5866:12;:18::i;:::-;3925:30;3936:4;3942:12;:10;:12::i;:::-;3925:10;:30::i;:::-;5896:25:::1;5907:4;5913:7;5896:10;:25::i;:::-;5783:145:::0;;;:::o;8242:225::-;8316:22;8324:4;8330:7;8316;:22::i;:::-;8312:149;;;8386:5;8354:6;:12;8361:4;8354:12;;;;;;;;;;;:20;;:29;8375:7;8354:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;8437:12;:10;:12::i;:::-;8410:40;;8428:7;8410:40;;8422:4;8410:40;;;;;;;;;;8312:149;8242:225;;:::o;2046:117:8:-;1613:8;:6;:8::i;:::-;1605:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;2114:5:::1;2104:7;;:15;;;;;;;;;;;;;;;;;;2134:22;2143:12;:10;:12::i;:::-;2134:22;;;;;;:::i;:::-;;;;;;;;2046:117::o:0;8223:389:3:-;8325:1;8306:21;;:7;:21;;;;8298:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8374:49;8403:1;8407:7;8416:6;8374:20;:49::i;:::-;8450:6;8434:12;;:22;;;;;;;:::i;:::-;;;;;;;;8488:6;8466:9;:18;8476:7;8466:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;8530:7;8509:37;;8526:1;8509:37;;;8539:6;8509:37;;;;;;:::i;:::-;;;;;;;;8557:48;8585:1;8589:7;8598:6;8557:19;:48::i;:::-;8223:389;;:::o;1799:115:8:-;1348:8;:6;:8::i;:::-;1347:9;1339:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;1868:4:::1;1858:7;;:14;;;;;;;;;;;;;;;;;;1887:20;1894:12;:10;:12::i;:::-;1887:20;;;;;;:::i;:::-;;;;;;;;1799:115::o:0;6162:147:0:-;6246:18;6259:4;6246:12;:18::i;:::-;3925:30;3936:4;3942:12;:10;:12::i;:::-;3925:10;:30::i;:::-;6276:26:::1;6288:4;6294:7;6276:11;:26::i;:::-;6162:147:::0;;;:::o;1535:441:9:-;1610:13;1635:19;1680:1;1671:6;1667:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1657:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1635:47;;1692:15;:6;1699:1;1692:9;;;;;;;;;;;;;;;;;;;:15;;;;;;;;;;;1717;:6;1724:1;1717:9;;;;;;;;;;;;;;;;;;;:15;;;;;;;;;;;1747:9;1772:1;1763:6;1759:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1747:26;;1742:132;1779:1;1775;:5;1742:132;;;1813:12;1834:3;1826:5;:11;1813:25;;;;;;;;;;;;;;;;;;1801:6;1808:1;1801:9;;;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;1862:1;1852:11;;;;;1782:3;;;;:::i;:::-;;;1742:132;;;;1900:1;1891:5;:10;1883:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;1962:6;1948:21;;;1535:441;;;;:::o;1040:193:4:-;1348:8:8;:6;:8::i;:::-;1347:9;1339:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;1182:44:4::1;1209:4;1215:2;1219:6;1182:26;:44::i;:::-;1040:193:::0;;;:::o;11594:120:3:-;;;;:::o;8012:224:0:-;8086:22;8094:4;8100:7;8086;:22::i;:::-;8081:149;;8156:4;8124:6;:12;8131:4;8124:12;;;;;;;;;;;:20;;:29;8145:7;8124:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;8206:12;:10;:12::i;:::-;8179:40;;8197:7;8179:40;;8191:4;8179:40;;;;;;;;;;8081:149;8012:224;;:::o;7:139:10:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:137::-;;380:6;367:20;358:29;;396:32;422:5;396:32;:::i;:::-;348:86;;;;:::o;440:139::-;;524:6;511:20;502:29;;540:33;567:5;540:33;:::i;:::-;492:87;;;;:::o;585:262::-;;693:2;681:9;672:7;668:23;664:32;661:2;;;709:1;706;699:12;661:2;752:1;777:53;822:7;813:6;802:9;798:22;777:53;:::i;:::-;767:63;;723:117;651:196;;;;:::o;853:407::-;;;978:2;966:9;957:7;953:23;949:32;946:2;;;994:1;991;984:12;946:2;1037:1;1062:53;1107:7;1098:6;1087:9;1083:22;1062:53;:::i;:::-;1052:63;;1008:117;1164:2;1190:53;1235:7;1226:6;1215:9;1211:22;1190:53;:::i;:::-;1180:63;;1135:118;936:324;;;;;:::o;1266:552::-;;;;1408:2;1396:9;1387:7;1383:23;1379:32;1376:2;;;1424:1;1421;1414:12;1376:2;1467:1;1492:53;1537:7;1528:6;1517:9;1513:22;1492:53;:::i;:::-;1482:63;;1438:117;1594:2;1620:53;1665:7;1656:6;1645:9;1641:22;1620:53;:::i;:::-;1610:63;;1565:118;1722:2;1748:53;1793:7;1784:6;1773:9;1769:22;1748:53;:::i;:::-;1738:63;;1693:118;1366:452;;;;;:::o;1824:407::-;;;1949:2;1937:9;1928:7;1924:23;1920:32;1917:2;;;1965:1;1962;1955:12;1917:2;2008:1;2033:53;2078:7;2069:6;2058:9;2054:22;2033:53;:::i;:::-;2023:63;;1979:117;2135:2;2161:53;2206:7;2197:6;2186:9;2182:22;2161:53;:::i;:::-;2151:63;;2106:118;1907:324;;;;;:::o;2237:262::-;;2345:2;2333:9;2324:7;2320:23;2316:32;2313:2;;;2361:1;2358;2351:12;2313:2;2404:1;2429:53;2474:7;2465:6;2454:9;2450:22;2429:53;:::i;:::-;2419:63;;2375:117;2303:196;;;;:::o;2505:407::-;;;2630:2;2618:9;2609:7;2605:23;2601:32;2598:2;;;2646:1;2643;2636:12;2598:2;2689:1;2714:53;2759:7;2750:6;2739:9;2735:22;2714:53;:::i;:::-;2704:63;;2660:117;2816:2;2842:53;2887:7;2878:6;2867:9;2863:22;2842:53;:::i;:::-;2832:63;;2787:118;2588:324;;;;;:::o;2918:260::-;;3025:2;3013:9;3004:7;3000:23;2996:32;2993:2;;;3041:1;3038;3031:12;2993:2;3084:1;3109:52;3153:7;3144:6;3133:9;3129:22;3109:52;:::i;:::-;3099:62;;3055:116;2983:195;;;;:::o;3184:118::-;3271:24;3289:5;3271:24;:::i;:::-;3266:3;3259:37;3249:53;;:::o;3308:109::-;3389:21;3404:5;3389:21;:::i;:::-;3384:3;3377:34;3367:50;;:::o;3423:118::-;3510:24;3528:5;3510:24;:::i;:::-;3505:3;3498:37;3488:53;;:::o;3547:364::-;;3663:39;3696:5;3663:39;:::i;:::-;3718:71;3782:6;3777:3;3718:71;:::i;:::-;3711:78;;3798:52;3843:6;3838:3;3831:4;3824:5;3820:16;3798:52;:::i;:::-;3875:29;3897:6;3875:29;:::i;:::-;3870:3;3866:39;3859:46;;3639:272;;;;;:::o;3917:377::-;;4051:39;4084:5;4051:39;:::i;:::-;4106:89;4188:6;4183:3;4106:89;:::i;:::-;4099:96;;4204:52;4249:6;4244:3;4237:4;4230:5;4226:16;4204:52;:::i;:::-;4281:6;4276:3;4272:16;4265:23;;4027:267;;;;;:::o;4300:330::-;;4463:67;4527:2;4522:3;4463:67;:::i;:::-;4456:74;;4560:34;4556:1;4551:3;4547:11;4540:55;4621:2;4616:3;4612:12;4605:19;;4446:184;;;:::o;4636:367::-;;4799:67;4863:2;4858:3;4799:67;:::i;:::-;4792:74;;4896:34;4892:1;4887:3;4883:11;4876:55;4962:5;4957:2;4952:3;4948:12;4941:27;4994:2;4989:3;4985:12;4978:19;;4782:221;;;:::o;5009:318::-;;5172:67;5236:2;5231:3;5172:67;:::i;:::-;5165:74;;5269:22;5265:1;5260:3;5256:11;5249:43;5318:2;5313:3;5309:12;5302:19;;5155:172;;;:::o;5333:366::-;;5496:67;5560:2;5555:3;5496:67;:::i;:::-;5489:74;;5593:34;5589:1;5584:3;5580:11;5573:55;5659:4;5654:2;5649:3;5645:12;5638:26;5690:2;5685:3;5681:12;5674:19;;5479:220;;;:::o;5705:311::-;;5868:67;5932:2;5927:3;5868:67;:::i;:::-;5861:74;;5965:15;5961:1;5956:3;5952:11;5945:36;6007:2;6002:3;5998:12;5991:19;;5851:165;;;:::o;6022:370::-;;6185:67;6249:2;6244:3;6185:67;:::i;:::-;6178:74;;6282:34;6278:1;6273:3;6269:11;6262:55;6348:8;6343:2;6338:3;6334:12;6327:30;6383:2;6378:3;6374:12;6367:19;;6168:224;;;:::o;6398:365::-;;6561:67;6625:2;6620:3;6561:67;:::i;:::-;6554:74;;6658:34;6654:1;6649:3;6645:11;6638:55;6724:3;6719:2;6714:3;6710:12;6703:25;6754:2;6749:3;6745:12;6738:19;;6544:219;;;:::o;6769:314::-;;6932:67;6996:2;6991:3;6932:67;:::i;:::-;6925:74;;7029:18;7025:1;7020:3;7016:11;7009:39;7074:2;7069:3;7065:12;7058:19;;6915:168;;;:::o;7089:372::-;;7252:67;7316:2;7311:3;7252:67;:::i;:::-;7245:74;;7349:34;7345:1;7340:3;7336:11;7329:55;7415:10;7410:2;7405:3;7401:12;7394:32;7452:2;7447:3;7443:12;7436:19;;7235:226;;;:::o;7467:369::-;;7630:67;7694:2;7689:3;7630:67;:::i;:::-;7623:74;;7727:34;7723:1;7718:3;7714:11;7707:55;7793:7;7788:2;7783:3;7779:12;7772:29;7827:2;7822:3;7818:12;7811:19;;7613:223;;;:::o;7842:368::-;;8005:67;8069:2;8064:3;8005:67;:::i;:::-;7998:74;;8102:34;8098:1;8093:3;8089:11;8082:55;8168:6;8163:2;8158:3;8154:12;8147:28;8201:2;8196:3;8192:12;8185:19;;7988:222;;;:::o;8216:327::-;;8379:67;8443:2;8438:3;8379:67;:::i;:::-;8372:74;;8476:31;8472:1;8467:3;8463:11;8456:52;8534:2;8529:3;8525:12;8518:19;;8362:181;;;:::o;8549:357::-;;8730:85;8812:2;8807:3;8730:85;:::i;:::-;8723:92;;8845:25;8841:1;8836:3;8832:11;8825:46;8897:2;8892:3;8888:12;8881:19;;8713:193;;;:::o;8912:369::-;;9075:67;9139:2;9134:3;9075:67;:::i;:::-;9068:74;;9172:34;9168:1;9163:3;9159:11;9152:55;9238:7;9233:2;9228:3;9224:12;9217:29;9272:2;9267:3;9263:12;9256:19;;9058:223;;;:::o;9287:351::-;;9468:85;9550:2;9545:3;9468:85;:::i;:::-;9461:92;;9583:19;9579:1;9574:3;9570:11;9563:40;9629:2;9624:3;9620:12;9613:19;;9451:187;;;:::o;9644:379::-;;9807:67;9871:2;9866:3;9807:67;:::i;:::-;9800:74;;9904:34;9900:1;9895:3;9891:11;9884:55;9970:17;9965:2;9960:3;9956:12;9949:39;10014:2;10009:3;10005:12;9998:19;;9790:233;;;:::o;10029:329::-;;10192:67;10256:2;10251:3;10192:67;:::i;:::-;10185:74;;10289:33;10285:1;10280:3;10276:11;10269:54;10349:2;10344:3;10340:12;10333:19;;10175:183;;;:::o;10364:118::-;10451:24;10469:5;10451:24;:::i;:::-;10446:3;10439:37;10429:53;;:::o;10488:112::-;10571:22;10587:5;10571:22;:::i;:::-;10566:3;10559:35;10549:51;;:::o;10606:967::-;;11010:148;11154:3;11010:148;:::i;:::-;11003:155;;11175:95;11266:3;11257:6;11175:95;:::i;:::-;11168:102;;11287:148;11431:3;11287:148;:::i;:::-;11280:155;;11452:95;11543:3;11534:6;11452:95;:::i;:::-;11445:102;;11564:3;11557:10;;10992:581;;;;;:::o;11579:222::-;;11710:2;11699:9;11695:18;11687:26;;11723:71;11791:1;11780:9;11776:17;11767:6;11723:71;:::i;:::-;11677:124;;;;:::o;11807:210::-;;11932:2;11921:9;11917:18;11909:26;;11945:65;12007:1;11996:9;11992:17;11983:6;11945:65;:::i;:::-;11899:118;;;;:::o;12023:222::-;;12154:2;12143:9;12139:18;12131:26;;12167:71;12235:1;12224:9;12220:17;12211:6;12167:71;:::i;:::-;12121:124;;;;:::o;12251:313::-;;12402:2;12391:9;12387:18;12379:26;;12451:9;12445:4;12441:20;12437:1;12426:9;12422:17;12415:47;12479:78;12552:4;12543:6;12479:78;:::i;:::-;12471:86;;12369:195;;;;:::o;12570:419::-;;12774:2;12763:9;12759:18;12751:26;;12823:9;12817:4;12813:20;12809:1;12798:9;12794:17;12787:47;12851:131;12977:4;12851:131;:::i;:::-;12843:139;;12741:248;;;:::o;12995:419::-;;13199:2;13188:9;13184:18;13176:26;;13248:9;13242:4;13238:20;13234:1;13223:9;13219:17;13212:47;13276:131;13402:4;13276:131;:::i;:::-;13268:139;;13166:248;;;:::o;13420:419::-;;13624:2;13613:9;13609:18;13601:26;;13673:9;13667:4;13663:20;13659:1;13648:9;13644:17;13637:47;13701:131;13827:4;13701:131;:::i;:::-;13693:139;;13591:248;;;:::o;13845:419::-;;14049:2;14038:9;14034:18;14026:26;;14098:9;14092:4;14088:20;14084:1;14073:9;14069:17;14062:47;14126:131;14252:4;14126:131;:::i;:::-;14118:139;;14016:248;;;:::o;14270:419::-;;14474:2;14463:9;14459:18;14451:26;;14523:9;14517:4;14513:20;14509:1;14498:9;14494:17;14487:47;14551:131;14677:4;14551:131;:::i;:::-;14543:139;;14441:248;;;:::o;14695:419::-;;14899:2;14888:9;14884:18;14876:26;;14948:9;14942:4;14938:20;14934:1;14923:9;14919:17;14912:47;14976:131;15102:4;14976:131;:::i;:::-;14968:139;;14866:248;;;:::o;15120:419::-;;15324:2;15313:9;15309:18;15301:26;;15373:9;15367:4;15363:20;15359:1;15348:9;15344:17;15337:47;15401:131;15527:4;15401:131;:::i;:::-;15393:139;;15291:248;;;:::o;15545:419::-;;15749:2;15738:9;15734:18;15726:26;;15798:9;15792:4;15788:20;15784:1;15773:9;15769:17;15762:47;15826:131;15952:4;15826:131;:::i;:::-;15818:139;;15716:248;;;:::o;15970:419::-;;16174:2;16163:9;16159:18;16151:26;;16223:9;16217:4;16213:20;16209:1;16198:9;16194:17;16187:47;16251:131;16377:4;16251:131;:::i;:::-;16243:139;;16141:248;;;:::o;16395:419::-;;16599:2;16588:9;16584:18;16576:26;;16648:9;16642:4;16638:20;16634:1;16623:9;16619:17;16612:47;16676:131;16802:4;16676:131;:::i;:::-;16668:139;;16566:248;;;:::o;16820:419::-;;17024:2;17013:9;17009:18;17001:26;;17073:9;17067:4;17063:20;17059:1;17048:9;17044:17;17037:47;17101:131;17227:4;17101:131;:::i;:::-;17093:139;;16991:248;;;:::o;17245:419::-;;17449:2;17438:9;17434:18;17426:26;;17498:9;17492:4;17488:20;17484:1;17473:9;17469:17;17462:47;17526:131;17652:4;17526:131;:::i;:::-;17518:139;;17416:248;;;:::o;17670:419::-;;17874:2;17863:9;17859:18;17851:26;;17923:9;17917:4;17913:20;17909:1;17898:9;17894:17;17887:47;17951:131;18077:4;17951:131;:::i;:::-;17943:139;;17841:248;;;:::o;18095:419::-;;18299:2;18288:9;18284:18;18276:26;;18348:9;18342:4;18338:20;18334:1;18323:9;18319:17;18312:47;18376:131;18502:4;18376:131;:::i;:::-;18368:139;;18266:248;;;:::o;18520:419::-;;18724:2;18713:9;18709:18;18701:26;;18773:9;18767:4;18763:20;18759:1;18748:9;18744:17;18737:47;18801:131;18927:4;18801:131;:::i;:::-;18793:139;;18691:248;;;:::o;18945:222::-;;19076:2;19065:9;19061:18;19053:26;;19089:71;19157:1;19146:9;19142:17;19133:6;19089:71;:::i;:::-;19043:124;;;;:::o;19173:214::-;;19300:2;19289:9;19285:18;19277:26;;19313:67;19377:1;19366:9;19362:17;19353:6;19313:67;:::i;:::-;19267:120;;;;:::o;19393:99::-;;19479:5;19473:12;19463:22;;19452:40;;;:::o;19498:169::-;;19616:6;19611:3;19604:19;19656:4;19651:3;19647:14;19632:29;;19594:73;;;;:::o;19673:148::-;;19812:3;19797:18;;19787:34;;;;:::o;19827:305::-;;19886:20;19904:1;19886:20;:::i;:::-;19881:25;;19920:20;19938:1;19920:20;:::i;:::-;19915:25;;20074:1;20006:66;20002:74;19999:1;19996:81;19993:2;;;20080:18;;:::i;:::-;19993:2;20124:1;20121;20117:9;20110:16;;19871:261;;;;:::o;20138:348::-;;20201:20;20219:1;20201:20;:::i;:::-;20196:25;;20235:20;20253:1;20235:20;:::i;:::-;20230:25;;20423:1;20355:66;20351:74;20348:1;20345:81;20340:1;20333:9;20326:17;20322:105;20319:2;;;20430:18;;:::i;:::-;20319:2;20478:1;20475;20471:9;20460:20;;20186:300;;;;:::o;20492:191::-;;20552:20;20570:1;20552:20;:::i;:::-;20547:25;;20586:20;20604:1;20586:20;:::i;:::-;20581:25;;20625:1;20622;20619:8;20616:2;;;20630:18;;:::i;:::-;20616:2;20675:1;20672;20668:9;20660:17;;20537:146;;;;:::o;20689:96::-;;20755:24;20773:5;20755:24;:::i;:::-;20744:35;;20734:51;;;:::o;20791:90::-;;20868:5;20861:13;20854:21;20843:32;;20833:48;;;:::o;20887:77::-;;20953:5;20942:16;;20932:32;;;:::o;20970:149::-;;21046:66;21039:5;21035:78;21024:89;;21014:105;;;:::o;21125:126::-;;21202:42;21195:5;21191:54;21180:65;;21170:81;;;:::o;21257:77::-;;21323:5;21312:16;;21302:32;;;:::o;21340:86::-;;21415:4;21408:5;21404:16;21393:27;;21383:43;;;:::o;21432:307::-;21500:1;21510:113;21524:6;21521:1;21518:13;21510:113;;;21609:1;21604:3;21600:11;21594:18;21590:1;21585:3;21581:11;21574:39;21546:2;21543:1;21539:10;21534:15;;21510:113;;;21641:6;21638:1;21635:13;21632:2;;;21721:1;21712:6;21707:3;21703:16;21696:27;21632:2;21481:258;;;;:::o;21745:171::-;;21807:24;21825:5;21807:24;:::i;:::-;21798:33;;21853:4;21846:5;21843:15;21840:2;;;21861:18;;:::i;:::-;21840:2;21908:1;21901:5;21897:13;21890:20;;21788:128;;;:::o;21922:320::-;;22003:1;21997:4;21993:12;21983:22;;22050:1;22044:4;22040:12;22071:18;22061:2;;22127:4;22119:6;22115:17;22105:27;;22061:2;22189;22181:6;22178:14;22158:18;22155:38;22152:2;;;22208:18;;:::i;:::-;22152:2;21973:269;;;;:::o;22248:180::-;22296:77;22293:1;22286:88;22393:4;22390:1;22383:15;22417:4;22414:1;22407:15;22434:180;22482:77;22479:1;22472:88;22579:4;22576:1;22569:15;22603:4;22600:1;22593:15;22620:102;;22712:2;22708:7;22703:2;22696:5;22692:14;22688:28;22678:38;;22668:54;;;:::o;22728:122::-;22801:24;22819:5;22801:24;:::i;:::-;22794:5;22791:35;22781:2;;22840:1;22837;22830:12;22781:2;22771:79;:::o;22856:122::-;22929:24;22947:5;22929:24;:::i;:::-;22922:5;22919:35;22909:2;;22968:1;22965;22958:12;22909:2;22899:79;:::o;22984:120::-;23056:23;23073:5;23056:23;:::i;:::-;23049:5;23046:34;23036:2;;23094:1;23091;23084:12;23036:2;23026:78;:::o;23110:122::-;23183:24;23201:5;23183:24;:::i;:::-;23176:5;23173:35;23163:2;;23222:1;23219;23212:12;23163:2;23153:79;:::o
Swarm Source
ipfs://5ca9022d5798d1751bcefaed951dd8e8f45ea59bbd1cf5249124ec0a8ade4bbb
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.