ERC-20
Overview
Max Total Supply
294 oslidiity
Holders
12
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
150 oslidiityValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
oslidiity
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-12-01 */ pragma solidity ^0.6.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 GSN 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 payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } // File @openzeppelin/contracts/token/ERC20/[email protected] pragma solidity ^0.6.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); } // File @openzeppelin/contracts/math/[email protected] pragma solidity ^0.6.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } // File @openzeppelin/contracts/utils/[email protected] pragma solidity ^0.6.2; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // This method relies in extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } // File @openzeppelin/contracts/token/ERC20/[email protected] pragma solidity ^0.6.0; /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin 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 { using SafeMath for uint256; using Address for address; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; uint8 private _decimals; /** * @dev Sets the values for {name} and {symbol}, initializes {decimals} with * a default value of 18. * * To select a different value for {decimals}, use {_setupDecimals}. * * All three of these values are immutable: they can only be set once during * construction. */ constructor (string memory name, string memory symbol) public { _name = name; _symbol = symbol; _decimals = 18; } /** * @dev Returns the name of the token. */ function name() public view returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view 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 {_setupDecimals} is * called. * * 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 returns (uint8) { return _decimals; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view 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); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); 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].add(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) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is 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); _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(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 * * - `to` 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 = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(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); _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance"); _totalSupply = _totalSupply.sub(amount); emit Transfer(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 Sets {decimals} to a value other than the default one of 18. * * WARNING: This function should only be called from the constructor. Most * applications that interact with token contracts will not expect * {decimals} to ever change, and may work incorrectly if it does. */ function _setupDecimals(uint8 decimals_) internal { _decimals = decimals_; } /** * @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 to 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 { } } pragma solidity ^0.6.12; pragma experimental ABIEncoderV2; interface ICOREGlobals { function TransferHandler() external returns (address); } interface ICORETransferHandler{ function handleRestrictedTokenTransfer(address, address, uint256) external; } contract oslidiity is ERC20 ("cVault.finance/oslidiity", "oslidiity") { ICOREGlobals public coreGlobals; Claim [] allClaims; mapping (address => Claim[]) public claimsByPerson; constructor() public { _mint(msg.sender, 150 ether); _mint(address(0xd5b47B80668840e7164C1D1d81aF8a9d9727B421), 150 ether); coreGlobals = ICOREGlobals(0x255CA4596A963883Afe0eF9c85EA071Cc050128B); } struct Claim { uint256 id; uint256 timestamp; address claimerAddress; } function claimFanny() public returns (uint256 claimID) { require(msg.sender == tx.origin, "Only dumb wallets."); _burn(msg.sender, 1e18); claimID = claimsByPerson[msg.sender].length; claimsByPerson[msg.sender].push( Claim ({ id : claimsByPerson[msg.sender].length, timestamp : block.timestamp, claimerAddress : msg.sender }) ); allClaims.push( Claim ({ id : allClaims.length, timestamp : block.timestamp, claimerAddress : msg.sender }) ); } function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual override { //ICORETransferHandler(coreGlobals.TransferHandler()).handleRestrictedTokenTransfer(from, to, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":"claimFanny","outputs":[{"internalType":"uint256","name":"claimID","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"claimsByPerson","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"address","name":"claimerAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"coreGlobals","outputs":[{"internalType":"contract ICOREGlobals","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"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"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040518060400160405280601881526020017f635661756c742e66696e616e63652f6f736c69646969747900000000000000008152506040518060400160405280600981526020017f6f736c69646969747900000000000000000000000000000000000000000000008152508160039080519060200190620000969291906200037f565b508060049080519060200190620000af9291906200037f565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e933680821ab0d44149800006200017360201b60201c565b6200011873d5b47b80668840e7164c1d1d81af8a9d9727b421680821ab0d44149800006200017360201b60201c565b73255ca4596a963883afe0ef9c85ea071cc050128b600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000536565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620001e6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001dd90620004dc565b60405180910390fd5b620001fa600083836200032260201b60201c565b62000216816002546200032760201b62000b381790919060201c565b60028190555062000274816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200032760201b62000b381790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003169190620004fe565b60405180910390a35050565b505050565b60008082840190508381101562000375576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200036c90620004ba565b60405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003c257805160ff1916838001178555620003f3565b82800160010185558215620003f3579182015b82811115620003f2578251825591602001919060010190620003d5565b5b50905062000402919062000406565b5090565b5b808211156200042157600081600090555060010162000407565b5090565b600062000434601b836200051b565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b600062000476601f836200051b565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b620004b4816200052c565b82525050565b60006020820190508181036000830152620004d58162000425565b9050919050565b60006020820190508181036000830152620004f78162000467565b9050919050565b6000602082019050620005156000830184620004a9565b92915050565b600082825260208201905092915050565b6000819050919050565b6119e080620005466000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063a9059cbb11610066578063a9059cbb14610275578063bd213b28146102a5578063cadc8d9a146102c3578063dd62ed3e146102f5576100ea565b806370a08231146101f757806395d89b4114610227578063a457c2d714610245576100ea565b806318160ddd116100c857806318160ddd1461015b57806323b872dd14610179578063313ce567146101a957806339509351146101c7576100ea565b806306fdde03146100ef5780630706b1f51461010d578063095ea7b31461012b575b600080fd5b6100f7610325565b604051610104919061169f565b60405180910390f35b6101156103c7565b6040516101229190611684565b60405180910390f35b6101456004803603810190610140919061132b565b6103ed565b6040516101529190611669565b60405180910390f35b61016361040b565b60405161017091906117a1565b60405180910390f35b610193600480360381019061018e91906112dc565b610415565b6040516101a09190611669565b60405180910390f35b6101b16104ee565b6040516101be91906117f3565b60405180910390f35b6101e160048036038101906101dc919061132b565b610505565b6040516101ee9190611669565b60405180910390f35b610211600480360381019061020c9190611277565b6105b8565b60405161021e91906117a1565b60405180910390f35b61022f610600565b60405161023c919061169f565b60405180910390f35b61025f600480360381019061025a919061132b565b6106a2565b60405161026c9190611669565b60405180910390f35b61028f600480360381019061028a919061132b565b61076f565b60405161029c9190611669565b60405180910390f35b6102ad61078d565b6040516102ba91906117a1565b60405180910390f35b6102dd60048036038101906102d8919061132b565b610a4d565b6040516102ec939291906117bc565b60405180910390f35b61030f600480360381019061030a91906112a0565b610ab1565b60405161031c91906117a1565b60405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103bd5780601f10610392576101008083540402835291602001916103bd565b820191906000526020600020905b8154815290600101906020018083116103a057829003601f168201915b5050505050905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006104016103fa610b8d565b8484610b95565b6001905092915050565b6000600254905090565b6000610422848484610d60565b6104e38461042e610b8d565b6104de8560405180606001604052806028815260200161195e60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610494610b8d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff59092919063ffffffff16565b610b95565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006105ae610512610b8d565b846105a98560016000610523610b8d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3890919063ffffffff16565b610b95565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106985780601f1061066d57610100808354040283529160200191610698565b820191906000526020600020905b81548152906001019060200180831161067b57829003601f168201915b5050505050905090565b60006107656106af610b8d565b846107608560405180606001604052806025815260200161198660259139600160006106d9610b8d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff59092919063ffffffff16565b610b95565b6001905092915050565b600061078361077c610b8d565b8484610d60565b6001905092915050565b60003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f490611721565b60405180910390fd5b61080f33670de0b6b3a7640000611050565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060600160405280600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905081526020014281526020013373ffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506006604051806060016040528060068054905081526020014281526020013373ffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505090565b60076020528160005260406000208181548110610a6657fe5b9060005260206000209060030201600091509150508060000154908060010154908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905083565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080828401905083811015610b83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7a90611701565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfc90611781565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6c906116e1565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d5391906117a1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc790611761565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e37906116c1565b60405180910390fd5b610e4b8383836111fe565b610eb681604051806060016040528060268152602001611938602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff59092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f49816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3890919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fe891906117a1565b60405180910390a3505050565b600083831115829061103d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611034919061169f565b60405180910390fd5b5060008385039050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b790611741565b60405180910390fd5b6110cc826000836111fe565b61113781604051806060016040528060228152602001611916602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff59092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061118e8160025461120390919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111f291906117a1565b60405180910390a35050565b505050565b600061124583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ff5565b905092915050565b60008135905061125c816118e7565b92915050565b600081359050611271816118fe565b92915050565b60006020828403121561128957600080fd5b60006112978482850161124d565b91505092915050565b600080604083850312156112b357600080fd5b60006112c18582860161124d565b92505060206112d28582860161124d565b9150509250929050565b6000806000606084860312156112f157600080fd5b60006112ff8682870161124d565b93505060206113108682870161124d565b925050604061132186828701611262565b9150509250925092565b6000806040838503121561133e57600080fd5b600061134c8582860161124d565b925050602061135d85828601611262565b9150509250929050565b6113708161182a565b82525050565b61137f8161183c565b82525050565b61138e8161187f565b82525050565b600061139f8261180e565b6113a98185611819565b93506113b98185602086016118a3565b6113c2816118d6565b840191505092915050565b60006113da602383611819565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611440602283611819565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006114a6601b83611819565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b60006114e6601283611819565b91507f4f6e6c792064756d622077616c6c6574732e00000000000000000000000000006000830152602082019050919050565b6000611526602183611819565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061158c602583611819565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006115f2602483611819565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b61165481611868565b82525050565b61166381611872565b82525050565b600060208201905061167e6000830184611376565b92915050565b60006020820190506116996000830184611385565b92915050565b600060208201905081810360008301526116b98184611394565b905092915050565b600060208201905081810360008301526116da816113cd565b9050919050565b600060208201905081810360008301526116fa81611433565b9050919050565b6000602082019050818103600083015261171a81611499565b9050919050565b6000602082019050818103600083015261173a816114d9565b9050919050565b6000602082019050818103600083015261175a81611519565b9050919050565b6000602082019050818103600083015261177a8161157f565b9050919050565b6000602082019050818103600083015261179a816115e5565b9050919050565b60006020820190506117b6600083018461164b565b92915050565b60006060820190506117d1600083018661164b565b6117de602083018561164b565b6117eb6040830184611367565b949350505050565b6000602082019050611808600083018461165a565b92915050565b600081519050919050565b600082825260208201905092915050565b600061183582611848565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061188a82611891565b9050919050565b600061189c82611848565b9050919050565b60005b838110156118c15780820151818401526020810190506118a6565b838111156118d0576000848401525b50505050565b6000601f19601f8301169050919050565b6118f08161182a565b81146118fb57600080fd5b50565b61190781611868565b811461191257600080fd5b5056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212206999ebcf68fe03b6881af90db2b33361074c5bfde614d41760aa879c96fd043864736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063a9059cbb11610066578063a9059cbb14610275578063bd213b28146102a5578063cadc8d9a146102c3578063dd62ed3e146102f5576100ea565b806370a08231146101f757806395d89b4114610227578063a457c2d714610245576100ea565b806318160ddd116100c857806318160ddd1461015b57806323b872dd14610179578063313ce567146101a957806339509351146101c7576100ea565b806306fdde03146100ef5780630706b1f51461010d578063095ea7b31461012b575b600080fd5b6100f7610325565b604051610104919061169f565b60405180910390f35b6101156103c7565b6040516101229190611684565b60405180910390f35b6101456004803603810190610140919061132b565b6103ed565b6040516101529190611669565b60405180910390f35b61016361040b565b60405161017091906117a1565b60405180910390f35b610193600480360381019061018e91906112dc565b610415565b6040516101a09190611669565b60405180910390f35b6101b16104ee565b6040516101be91906117f3565b60405180910390f35b6101e160048036038101906101dc919061132b565b610505565b6040516101ee9190611669565b60405180910390f35b610211600480360381019061020c9190611277565b6105b8565b60405161021e91906117a1565b60405180910390f35b61022f610600565b60405161023c919061169f565b60405180910390f35b61025f600480360381019061025a919061132b565b6106a2565b60405161026c9190611669565b60405180910390f35b61028f600480360381019061028a919061132b565b61076f565b60405161029c9190611669565b60405180910390f35b6102ad61078d565b6040516102ba91906117a1565b60405180910390f35b6102dd60048036038101906102d8919061132b565b610a4d565b6040516102ec939291906117bc565b60405180910390f35b61030f600480360381019061030a91906112a0565b610ab1565b60405161031c91906117a1565b60405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103bd5780601f10610392576101008083540402835291602001916103bd565b820191906000526020600020905b8154815290600101906020018083116103a057829003601f168201915b5050505050905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006104016103fa610b8d565b8484610b95565b6001905092915050565b6000600254905090565b6000610422848484610d60565b6104e38461042e610b8d565b6104de8560405180606001604052806028815260200161195e60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610494610b8d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff59092919063ffffffff16565b610b95565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006105ae610512610b8d565b846105a98560016000610523610b8d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3890919063ffffffff16565b610b95565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106985780601f1061066d57610100808354040283529160200191610698565b820191906000526020600020905b81548152906001019060200180831161067b57829003601f168201915b5050505050905090565b60006107656106af610b8d565b846107608560405180606001604052806025815260200161198660259139600160006106d9610b8d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff59092919063ffffffff16565b610b95565b6001905092915050565b600061078361077c610b8d565b8484610d60565b6001905092915050565b60003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f490611721565b60405180910390fd5b61080f33670de0b6b3a7640000611050565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060600160405280600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905081526020014281526020013373ffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506006604051806060016040528060068054905081526020014281526020013373ffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505090565b60076020528160005260406000208181548110610a6657fe5b9060005260206000209060030201600091509150508060000154908060010154908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905083565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080828401905083811015610b83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7a90611701565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfc90611781565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6c906116e1565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d5391906117a1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc790611761565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e37906116c1565b60405180910390fd5b610e4b8383836111fe565b610eb681604051806060016040528060268152602001611938602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff59092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f49816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3890919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fe891906117a1565b60405180910390a3505050565b600083831115829061103d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611034919061169f565b60405180910390fd5b5060008385039050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b790611741565b60405180910390fd5b6110cc826000836111fe565b61113781604051806060016040528060228152602001611916602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff59092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061118e8160025461120390919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111f291906117a1565b60405180910390a35050565b505050565b600061124583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ff5565b905092915050565b60008135905061125c816118e7565b92915050565b600081359050611271816118fe565b92915050565b60006020828403121561128957600080fd5b60006112978482850161124d565b91505092915050565b600080604083850312156112b357600080fd5b60006112c18582860161124d565b92505060206112d28582860161124d565b9150509250929050565b6000806000606084860312156112f157600080fd5b60006112ff8682870161124d565b93505060206113108682870161124d565b925050604061132186828701611262565b9150509250925092565b6000806040838503121561133e57600080fd5b600061134c8582860161124d565b925050602061135d85828601611262565b9150509250929050565b6113708161182a565b82525050565b61137f8161183c565b82525050565b61138e8161187f565b82525050565b600061139f8261180e565b6113a98185611819565b93506113b98185602086016118a3565b6113c2816118d6565b840191505092915050565b60006113da602383611819565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611440602283611819565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006114a6601b83611819565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b60006114e6601283611819565b91507f4f6e6c792064756d622077616c6c6574732e00000000000000000000000000006000830152602082019050919050565b6000611526602183611819565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061158c602583611819565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006115f2602483611819565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b61165481611868565b82525050565b61166381611872565b82525050565b600060208201905061167e6000830184611376565b92915050565b60006020820190506116996000830184611385565b92915050565b600060208201905081810360008301526116b98184611394565b905092915050565b600060208201905081810360008301526116da816113cd565b9050919050565b600060208201905081810360008301526116fa81611433565b9050919050565b6000602082019050818103600083015261171a81611499565b9050919050565b6000602082019050818103600083015261173a816114d9565b9050919050565b6000602082019050818103600083015261175a81611519565b9050919050565b6000602082019050818103600083015261177a8161157f565b9050919050565b6000602082019050818103600083015261179a816115e5565b9050919050565b60006020820190506117b6600083018461164b565b92915050565b60006060820190506117d1600083018661164b565b6117de602083018561164b565b6117eb6040830184611367565b949350505050565b6000602082019050611808600083018461165a565b92915050565b600081519050919050565b600082825260208201905092915050565b600061183582611848565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061188a82611891565b9050919050565b600061189c82611848565b9050919050565b60005b838110156118c15780820151818401526020810190506118a6565b838111156118d0576000848401525b50505050565b6000601f19601f8301169050919050565b6118f08161182a565b81146118fb57600080fd5b50565b61190781611868565b811461191257600080fd5b5056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212206999ebcf68fe03b6881af90db2b33361074c5bfde614d41760aa879c96fd043864736f6c634300060c0033
Deployed Bytecode Sourcemap
26463:1460:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17379:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26543:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19485:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18454:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20128:321;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18306:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20858:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18617:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17581:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21579:269;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18949:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27013:678;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26606:50;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;19187:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17379:83;17416:13;17449:5;17442:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17379:83;:::o;26543:31::-;;;;;;;;;;;;;:::o;19485:169::-;19568:4;19585:39;19594:12;:10;:12::i;:::-;19608:7;19617:6;19585:8;:39::i;:::-;19642:4;19635:11;;19485:169;;;;:::o;18454:100::-;18507:7;18534:12;;18527:19;;18454:100;:::o;20128:321::-;20234:4;20251:36;20261:6;20269:9;20280:6;20251:9;:36::i;:::-;20298:121;20307:6;20315:12;:10;:12::i;:::-;20329:89;20367:6;20329:89;;;;;;;;;;;;;;;;;:11;:19;20341:6;20329:19;;;;;;;;;;;;;;;:33;20349:12;:10;:12::i;:::-;20329:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;20298:8;:121::i;:::-;20437:4;20430:11;;20128:321;;;;;:::o;18306:83::-;18347:5;18372:9;;;;;;;;;;;18365:16;;18306:83;:::o;20858:218::-;20946:4;20963:83;20972:12;:10;:12::i;:::-;20986:7;20995:50;21034:10;20995:11;:25;21007:12;:10;:12::i;:::-;20995:25;;;;;;;;;;;;;;;:34;21021:7;20995:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;20963:8;:83::i;:::-;21064:4;21057:11;;20858:218;;;;:::o;18617:119::-;18683:7;18710:9;:18;18720:7;18710:18;;;;;;;;;;;;;;;;18703:25;;18617:119;;;:::o;17581:87::-;17620:13;17653:7;17646:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17581:87;:::o;21579:269::-;21672:4;21689:129;21698:12;:10;:12::i;:::-;21712:7;21721:96;21760:15;21721:96;;;;;;;;;;;;;;;;;:11;:25;21733:12;:10;:12::i;:::-;21721:25;;;;;;;;;;;;;;;:34;21747:7;21721:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;21689:8;:129::i;:::-;21836:4;21829:11;;21579:269;;;;:::o;18949:175::-;19035:4;19052:42;19062:12;:10;:12::i;:::-;19076:9;19087:6;19052:9;:42::i;:::-;19112:4;19105:11;;18949:175;;;;:::o;27013:678::-;27051:15;27101:9;27087:23;;:10;:23;;;27079:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;27144:23;27150:10;27162:4;27144:5;:23::i;:::-;27198:14;:26;27213:10;27198:26;;;;;;;;;;;;;;;:33;;;;27188:43;;27244:14;:26;27259:10;27244:26;;;;;;;;;;;;;;;27290:172;;;;;;;;27321:14;:26;27336:10;27321:26;;;;;;;;;;;;;;;:33;;;;27290:172;;;;27385:15;27290:172;;;;27436:10;27290:172;;;;;27244:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27486:9;27515:157;;;;;;;;27546:9;:16;;;;27515:157;;;;27593:15;27515:157;;;;27644:10;27515:157;;;;;27486:197;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27013:678;:::o;26606:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;19187:151::-;19276:7;19303:11;:18;19315:5;19303:18;;;;;;;;;;;;;;;:27;19322:7;19303:27;;;;;;;;;;;;;;;;19296:34;;19187:151;;;;:::o;4668:181::-;4726:7;4746:9;4762:1;4758;:5;4746:17;;4787:1;4782;:6;;4774:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4840:1;4833:8;;;4668:181;;;;:::o;570:106::-;623:15;658:10;651:17;;570:106;:::o;24724:346::-;24843:1;24826:19;;:5;:19;;;;24818:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24924:1;24905:21;;:7;:21;;;;24897:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25008:6;24978:11;:18;24990:5;24978:18;;;;;;;;;;;;;;;:27;24997:7;24978:27;;;;;;;;;;;;;;;:36;;;;25046:7;25030:32;;25039:5;25030:32;;;25055:6;25030:32;;;;;;:::i;:::-;;;;;;;;24724:346;;;:::o;22338:539::-;22462:1;22444:20;;:6;:20;;;;22436:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;22546:1;22525:23;;:9;:23;;;;22517:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;22601:47;22622:6;22630:9;22641:6;22601:20;:47::i;:::-;22681:71;22703:6;22681:71;;;;;;;;;;;;;;;;;:9;:17;22691:6;22681:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;22661:9;:17;22671:6;22661:17;;;;;;;;;;;;;;;:91;;;;22786:32;22811:6;22786:9;:20;22796:9;22786:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;22763:9;:20;22773:9;22763:20;;;;;;;;;;;;;;;:55;;;;22851:9;22834:35;;22843:6;22834:35;;;22862:6;22834:35;;;;;;:::i;:::-;;;;;;;;22338:539;;;:::o;5571:192::-;5657:7;5690:1;5685;:6;;5693:12;5677:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5717:9;5733:1;5729;:5;5717:17;;5754:1;5747:8;;;5571:192;;;;;:::o;23868:418::-;23971:1;23952:21;;:7;:21;;;;23944:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24024:49;24045:7;24062:1;24066:6;24024:20;:49::i;:::-;24107:68;24130:6;24107:68;;;;;;;;;;;;;;;;;:9;:18;24117:7;24107:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;24086:9;:18;24096:7;24086:18;;;;;;;;;;;;;;;:89;;;;24201:24;24218:6;24201:12;;:16;;:24;;;;:::i;:::-;24186:12;:39;;;;24267:1;24241:37;;24250:7;24241:37;;;24271:6;24241:37;;;;;;:::i;:::-;;;;;;;;23868:418;;:::o;27699:219::-;;;;:::o;5132:136::-;5190:7;5217:43;5221:1;5224;5217:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;5210:50;;5132:136;;;;:::o;5:130:-1:-;;85:6;72:20;63:29;;97:33;124:5;97:33;:::i;:::-;57:78;;;;:::o;142:130::-;;222:6;209:20;200:29;;234:33;261:5;234:33;:::i;:::-;194:78;;;;:::o;279:241::-;;383:2;371:9;362:7;358:23;354:32;351:2;;;399:1;396;389:12;351:2;434:1;451:53;496:7;487:6;476:9;472:22;451:53;:::i;:::-;441:63;;413:97;345:175;;;;:::o;527:366::-;;;648:2;636:9;627:7;623:23;619:32;616:2;;;664:1;661;654:12;616:2;699:1;716:53;761:7;752:6;741:9;737:22;716:53;:::i;:::-;706:63;;678:97;806:2;824:53;869:7;860:6;849:9;845:22;824:53;:::i;:::-;814:63;;785:98;610:283;;;;;:::o;900:491::-;;;;1038:2;1026:9;1017:7;1013:23;1009:32;1006:2;;;1054:1;1051;1044:12;1006:2;1089:1;1106:53;1151:7;1142:6;1131:9;1127:22;1106:53;:::i;:::-;1096:63;;1068:97;1196:2;1214:53;1259:7;1250:6;1239:9;1235:22;1214:53;:::i;:::-;1204:63;;1175:98;1304:2;1322:53;1367:7;1358:6;1347:9;1343:22;1322:53;:::i;:::-;1312:63;;1283:98;1000:391;;;;;:::o;1398:366::-;;;1519:2;1507:9;1498:7;1494:23;1490:32;1487:2;;;1535:1;1532;1525:12;1487:2;1570:1;1587:53;1632:7;1623:6;1612:9;1608:22;1587:53;:::i;:::-;1577:63;;1549:97;1677:2;1695:53;1740:7;1731:6;1720:9;1716:22;1695:53;:::i;:::-;1685:63;;1656:98;1481:283;;;;;:::o;1771:113::-;1854:24;1872:5;1854:24;:::i;:::-;1849:3;1842:37;1836:48;;:::o;1891:104::-;1968:21;1983:5;1968:21;:::i;:::-;1963:3;1956:34;1950:45;;:::o;2002:166::-;2105:57;2156:5;2105:57;:::i;:::-;2100:3;2093:70;2087:81;;:::o;2175:347::-;;2287:39;2320:5;2287:39;:::i;:::-;2338:71;2402:6;2397:3;2338:71;:::i;:::-;2331:78;;2414:52;2459:6;2454:3;2447:4;2440:5;2436:16;2414:52;:::i;:::-;2487:29;2509:6;2487:29;:::i;:::-;2482:3;2478:39;2471:46;;2267:255;;;;;:::o;2530:372::-;;2690:67;2754:2;2749:3;2690:67;:::i;:::-;2683:74;;2790:34;2786:1;2781:3;2777:11;2770:55;2859:5;2854:2;2849:3;2845:12;2838:27;2893:2;2888:3;2884:12;2877:19;;2676:226;;;:::o;2911:371::-;;3071:67;3135:2;3130:3;3071:67;:::i;:::-;3064:74;;3171:34;3167:1;3162:3;3158:11;3151:55;3240:4;3235:2;3230:3;3226:12;3219:26;3273:2;3268:3;3264:12;3257:19;;3057:225;;;:::o;3291:327::-;;3451:67;3515:2;3510:3;3451:67;:::i;:::-;3444:74;;3551:29;3547:1;3542:3;3538:11;3531:50;3609:2;3604:3;3600:12;3593:19;;3437:181;;;:::o;3627:318::-;;3787:67;3851:2;3846:3;3787:67;:::i;:::-;3780:74;;3887:20;3883:1;3878:3;3874:11;3867:41;3936:2;3931:3;3927:12;3920:19;;3773:172;;;:::o;3954:370::-;;4114:67;4178:2;4173:3;4114:67;:::i;:::-;4107:74;;4214:34;4210:1;4205:3;4201:11;4194:55;4283:3;4278:2;4273:3;4269:12;4262:25;4315:2;4310:3;4306:12;4299:19;;4100:224;;;:::o;4333:374::-;;4493:67;4557:2;4552:3;4493:67;:::i;:::-;4486:74;;4593:34;4589:1;4584:3;4580:11;4573:55;4662:7;4657:2;4652:3;4648:12;4641:29;4698:2;4693:3;4689:12;4682:19;;4479:228;;;:::o;4716:373::-;;4876:67;4940:2;4935:3;4876:67;:::i;:::-;4869:74;;4976:34;4972:1;4967:3;4963:11;4956:55;5045:6;5040:2;5035:3;5031:12;5024:28;5080:2;5075:3;5071:12;5064:19;;4862:227;;;:::o;5097:113::-;5180:24;5198:5;5180:24;:::i;:::-;5175:3;5168:37;5162:48;;:::o;5217:107::-;5296:22;5312:5;5296:22;:::i;:::-;5291:3;5284:35;5278:46;;:::o;5331:210::-;;5452:2;5441:9;5437:18;5429:26;;5466:65;5528:1;5517:9;5513:17;5504:6;5466:65;:::i;:::-;5423:118;;;;:::o;5548:262::-;;5695:2;5684:9;5680:18;5672:26;;5709:91;5797:1;5786:9;5782:17;5773:6;5709:91;:::i;:::-;5666:144;;;;:::o;5817:310::-;;5964:2;5953:9;5949:18;5941:26;;6014:9;6008:4;6004:20;6000:1;5989:9;5985:17;5978:47;6039:78;6112:4;6103:6;6039:78;:::i;:::-;6031:86;;5935:192;;;;:::o;6134:416::-;;6334:2;6323:9;6319:18;6311:26;;6384:9;6378:4;6374:20;6370:1;6359:9;6355:17;6348:47;6409:131;6535:4;6409:131;:::i;:::-;6401:139;;6305:245;;;:::o;6557:416::-;;6757:2;6746:9;6742:18;6734:26;;6807:9;6801:4;6797:20;6793:1;6782:9;6778:17;6771:47;6832:131;6958:4;6832:131;:::i;:::-;6824:139;;6728:245;;;:::o;6980:416::-;;7180:2;7169:9;7165:18;7157:26;;7230:9;7224:4;7220:20;7216:1;7205:9;7201:17;7194:47;7255:131;7381:4;7255:131;:::i;:::-;7247:139;;7151:245;;;:::o;7403:416::-;;7603:2;7592:9;7588:18;7580:26;;7653:9;7647:4;7643:20;7639:1;7628:9;7624:17;7617:47;7678:131;7804:4;7678:131;:::i;:::-;7670:139;;7574:245;;;:::o;7826:416::-;;8026:2;8015:9;8011:18;8003:26;;8076:9;8070:4;8066:20;8062:1;8051:9;8047:17;8040:47;8101:131;8227:4;8101:131;:::i;:::-;8093:139;;7997:245;;;:::o;8249:416::-;;8449:2;8438:9;8434:18;8426:26;;8499:9;8493:4;8489:20;8485:1;8474:9;8470:17;8463:47;8524:131;8650:4;8524:131;:::i;:::-;8516:139;;8420:245;;;:::o;8672:416::-;;8872:2;8861:9;8857:18;8849:26;;8922:9;8916:4;8912:20;8908:1;8897:9;8893:17;8886:47;8947:131;9073:4;8947:131;:::i;:::-;8939:139;;8843:245;;;:::o;9095:222::-;;9222:2;9211:9;9207:18;9199:26;;9236:71;9304:1;9293:9;9289:17;9280:6;9236:71;:::i;:::-;9193:124;;;;:::o;9324:444::-;;9507:2;9496:9;9492:18;9484:26;;9521:71;9589:1;9578:9;9574:17;9565:6;9521:71;:::i;:::-;9603:72;9671:2;9660:9;9656:18;9647:6;9603:72;:::i;:::-;9686;9754:2;9743:9;9739:18;9730:6;9686:72;:::i;:::-;9478:290;;;;;;:::o;9775:214::-;;9898:2;9887:9;9883:18;9875:26;;9912:67;9976:1;9965:9;9961:17;9952:6;9912:67;:::i;:::-;9869:120;;;;:::o;9996:122::-;;10090:5;10084:12;10074:22;;10055:63;;;:::o;10126:163::-;;10241:6;10236:3;10229:19;10278:4;10273:3;10269:14;10254:29;;10222:67;;;;:::o;10297:91::-;;10359:24;10377:5;10359:24;:::i;:::-;10348:35;;10342:46;;;:::o;10395:85::-;;10468:5;10461:13;10454:21;10443:32;;10437:43;;;:::o;10487:121::-;;10560:42;10553:5;10549:54;10538:65;;10532:76;;;:::o;10615:72::-;;10677:5;10666:16;;10660:27;;;:::o;10694:81::-;;10765:4;10758:5;10754:16;10743:27;;10737:38;;;:::o;10782:161::-;;10881:57;10932:5;10881:57;:::i;:::-;10868:70;;10862:81;;;:::o;10950:128::-;;11049:24;11067:5;11049:24;:::i;:::-;11036:37;;11030:48;;;:::o;11086:268::-;11151:1;11158:101;11172:6;11169:1;11166:13;11158:101;;;11248:1;11243:3;11239:11;11233:18;11229:1;11224:3;11220:11;11213:39;11194:2;11191:1;11187:10;11182:15;;11158:101;;;11274:6;11271:1;11268:13;11265:2;;;11339:1;11330:6;11325:3;11321:16;11314:27;11265:2;11135:219;;;;:::o;11362:97::-;;11450:2;11446:7;11441:2;11434:5;11430:14;11426:28;11416:38;;11410:49;;;:::o;11467:117::-;11536:24;11554:5;11536:24;:::i;:::-;11529:5;11526:35;11516:2;;11575:1;11572;11565:12;11516:2;11510:74;:::o;11591:117::-;11660:24;11678:5;11660:24;:::i;:::-;11653:5;11650:35;11640:2;;11699:1;11696;11689:12;11640:2;11634:74;:::o
Swarm Source
ipfs://6999ebcf68fe03b6881af90db2b33361074c5bfde614d41760aa879c96fd0438
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.