Feature Tip: Add private address tag to any address under My Name Tag !
Latest 25 from a total of 1,613 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 24509435 | 4 hrs ago | IN | 0 ETH | 0.0000424 | ||||
| Approve | 24496654 | 47 hrs ago | IN | 0 ETH | 0.00004913 | ||||
| Approve | 24494721 | 2 days ago | IN | 0 ETH | 0.00000288 | ||||
| Approve | 24492508 | 2 days ago | IN | 0 ETH | 0.00010212 | ||||
| Approve | 24482775 | 3 days ago | IN | 0 ETH | 0.00000162 | ||||
| Approve | 24459801 | 7 days ago | IN | 0 ETH | 0.00004872 | ||||
| Approve | 24442396 | 9 days ago | IN | 0 ETH | 0.00001066 | ||||
| Transfer | 24439779 | 9 days ago | IN | 0 ETH | 0.00010916 | ||||
| Approve | 24425569 | 11 days ago | IN | 0 ETH | 0.00009889 | ||||
| Approve | 24417780 | 12 days ago | IN | 0 ETH | 0.00000571 | ||||
| Approve | 24396908 | 15 days ago | IN | 0 ETH | 0.00002374 | ||||
| Approve | 24386873 | 17 days ago | IN | 0 ETH | 0.00005362 | ||||
| Transfer | 24360485 | 20 days ago | IN | 0 ETH | 0.00012089 | ||||
| Approve | 24357592 | 21 days ago | IN | 0 ETH | 0.0000788 | ||||
| Transfer | 24348802 | 22 days ago | IN | 0 ETH | 0.00014824 | ||||
| Approve | 24327285 | 25 days ago | IN | 0 ETH | 0.00002518 | ||||
| Approve | 24284517 | 31 days ago | IN | 0 ETH | 0.0000332 | ||||
| Transfer | 24284494 | 31 days ago | IN | 0 ETH | 0.00004367 | ||||
| Approve | 24283892 | 31 days ago | IN | 0 ETH | 0.00007509 | ||||
| Approve | 24273860 | 33 days ago | IN | 0 ETH | 0.0001009 | ||||
| Approve | 24271297 | 33 days ago | IN | 0 ETH | 0.00000285 | ||||
| Approve | 24259739 | 35 days ago | IN | 0 ETH | 0.00004863 | ||||
| Approve | 24259695 | 35 days ago | IN | 0 ETH | 0.0000133 | ||||
| Approve | 24259602 | 35 days ago | IN | 0 ETH | 0.00004869 | ||||
| Transfer | 24252284 | 36 days ago | IN | 0 ETH | 0.00004229 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Henlo
Compiler Version
v0.8.26+commit.8a97fa7a
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: BSD-3-Clause
pragma solidity ^0.8.10;
/*
░▒▓█▓▒░░▒▓█▓▒░▒▓████████▓▒░▒▓███████▓▒░░▒▓█▓▒░ ░▒▓██████▓▒░ ░▒▓██████████████▓▒░░▒▓████████▓▒░▒▓██████████████▓▒░░▒▓████████▓▒░
░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░
░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░
░▒▓████████▓▒░▒▓██████▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓██████▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓██████▓▒░
░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░
░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓██▓▒░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░
░▒▓█▓▒░░▒▓█▓▒░▒▓████████▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓████████▓▒░▒▓██████▓▒░░▒▓██▓▒░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓████████▓▒░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓████████▓▒░
*/
import "./utils/ECDSA.sol";
contract Henlo {
/// @notice EIP-20 token name for this token
string public constant name = "henlo";
/// @notice EIP-20 token symbol for this token
string public constant symbol = "henlo";
/// @notice EIP-20 token decimals for this token
uint8 public constant decimals = 9;
/// @notice Total number of tokens in circulation
uint public totalSupply = 210_000_000_000_000e9; // 210 T
/// @notice Allowance amounts on behalf of others
mapping (address => mapping (address => uint96)) internal allowances;
/// @notice Official record of token balances for each account
mapping (address => uint96) internal balances;
/// @notice A record of each accounts delegate
mapping (address => address) public delegates;
/// @notice A checkpoint for marking number of votes from a given block
struct Checkpoint {
uint32 fromBlock;
uint96 votes;
}
/// @notice A record of votes checkpoints for each account, by index
mapping (address => mapping (uint32 => Checkpoint)) public checkpoints;
/// @notice The number of checkpoints for each account
mapping (address => uint32) public numCheckpoints;
/// @notice The EIP-712 typehash for the contract's domain
bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)");
/// @notice The EIP-712 typehash for the delegation struct used by the contract
bytes32 public constant DELEGATION_TYPEHASH = keccak256("Delegation(address delegatee,uint256 nonce,uint256 expiry)");
/// @notice A record of states for signing / validating signatures
mapping (address => uint) public nonces;
/// @notice An event thats emitted when an account changes its delegate
event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);
/// @notice An event thats emitted when a delegate account's vote balance changes
event DelegateVotesChanged(address indexed delegate, uint previousBalance, uint newBalance);
/// @notice The standard EIP-20 transfer event
event Transfer(address indexed from, address indexed to, uint256 amount);
/// @notice The standard EIP-20 approval event
event Approval(address indexed owner, address indexed spender, uint256 amount);
/**
* @notice Construct a new Henlo token
* @param account The initial account to grant all the tokens
*/
constructor(address account) {
balances[account] = uint96(totalSupply);
emit Transfer(address(0), account, totalSupply);
}
/**
* @notice Get the number of tokens `spender` is approved to spend on behalf of `account`
* @param account The address of the account holding the funds
* @param spender The address of the account spending the funds
* @return The number of tokens approved
*/
function allowance(address account, address spender) external view returns (uint) {
return allowances[account][spender];
}
/**
* @notice Approve `spender` to transfer up to `amount` from `src`
* @dev This will overwrite the approval amount for `spender`
* and is subject to issues noted [here](https://eips.ethereum.org/EIPS/eip-20#approve)
* @param spender The address of the account which may transfer tokens
* @param rawAmount The number of tokens that are approved (2^256-1 means infinite)
* @return Whether or not the approval succeeded
*/
function approve(address spender, uint rawAmount) external returns (bool) {
uint96 amount;
if (rawAmount == type(uint).max) {
amount = type(uint96).max;
} else {
amount = safe96(rawAmount, "Henlo::approve: amount exceeds 96 bits");
}
allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
/**
* @notice Get the number of tokens held by the `account`
* @param account The address of the account to get the balance of
* @return The number of tokens held
*/
function balanceOf(address account) external view returns (uint) {
return balances[account];
}
/**
* @notice Transfer `amount` tokens from `msg.sender` to `dst`
* @param dst The address of the destination account
* @param rawAmount The number of tokens to transfer
* @return Whether or not the transfer succeeded
*/
function transfer(address dst, uint rawAmount) external returns (bool) {
uint96 amount = safe96(rawAmount, "Henlo::transfer: amount exceeds 96 bits");
_transferTokens(msg.sender, dst, amount);
return true;
}
/**
* @notice Transfer `amount` tokens from `src` to `dst`
* @param src The address of the source account
* @param dst The address of the destination account
* @param rawAmount The number of tokens to transfer
* @return Whether or not the transfer succeeded
*/
function transferFrom(address src, address dst, uint rawAmount) external returns (bool) {
address spender = msg.sender;
uint96 spenderAllowance = allowances[src][spender];
uint96 amount = safe96(rawAmount, "Henlo::transferFrom: amount exceeds 96 bits");
if (spender != src && spenderAllowance != type(uint96).max) {
uint96 newAllowance = sub96(spenderAllowance, amount, "Henlo::transferFrom: transfer amount exceeds spender allowance");
allowances[src][spender] = newAllowance;
emit Approval(src, spender, newAllowance);
}
_transferTokens(src, dst, amount);
return true;
}
/**
* @notice Delegate votes from `msg.sender` to `delegatee`
* @param delegatee The address to delegate votes to
*/
function delegate(address delegatee) public {
return _delegate(msg.sender, delegatee);
}
/**
* @notice Delegates votes from signatory to `delegatee`
* @param delegatee The address to delegate votes to
* @param nonce The contract state required to match the signature
* @param expiry The time at which to expire the signature
* @param v The recovery byte of the signature
* @param r Half of the ECDSA signature pair
* @param s Half of the ECDSA signature pair
*/
function delegateBySig(address delegatee, uint nonce, uint expiry, uint8 v, bytes32 r, bytes32 s) public {
bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this)));
bytes32 structHash = keccak256(abi.encode(DELEGATION_TYPEHASH, delegatee, nonce, expiry));
bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash));
address signatory = ECDSA.recover(digest, v, r, s);
require(signatory != address(0), "Henlo::delegateBySig: invalid signature");
require(nonce == nonces[signatory]++, "Henlo::delegateBySig: invalid nonce");
require(block.timestamp <= expiry, "Henlo::delegateBySig: signature expired");
return _delegate(signatory, delegatee);
}
/**
* @notice Gets the current votes balance for `account`
* @param account The address to get votes balance
* @return The number of current votes for `account`
*/
function getCurrentVotes(address account) external view returns (uint96) {
uint32 nCheckpoints = numCheckpoints[account];
return nCheckpoints > 0 ? checkpoints[account][nCheckpoints - 1].votes : 0;
}
/**
* @notice Determine the prior number of votes for an account as of a block number
* @dev Block number must be a finalized block or else this function will revert to prevent misinformation.
* @param account The address of the account to check
* @param blockNumber The block number to get the vote balance at
* @return The number of votes the account had as of the given block
*/
function getPriorVotes(address account, uint blockNumber) public view returns (uint96) {
require(blockNumber < block.number, "Henlo::getPriorVotes: not yet determined");
uint32 nCheckpoints = numCheckpoints[account];
if (nCheckpoints == 0) {
return 0;
}
// First check most recent balance
if (checkpoints[account][nCheckpoints - 1].fromBlock <= blockNumber) {
return checkpoints[account][nCheckpoints - 1].votes;
}
// Next check implicit zero balance
if (checkpoints[account][0].fromBlock > blockNumber) {
return 0;
}
uint32 lower = 0;
uint32 upper = nCheckpoints - 1;
while (upper > lower) {
uint32 center = upper - (upper - lower) / 2; // ceil, avoiding overflow
Checkpoint memory cp = checkpoints[account][center];
if (cp.fromBlock == blockNumber) {
return cp.votes;
} else if (cp.fromBlock < blockNumber) {
lower = center;
} else {
upper = center - 1;
}
}
return checkpoints[account][lower].votes;
}
function _delegate(address delegator, address delegatee) internal {
address currentDelegate = delegates[delegator];
uint96 delegatorBalance = balances[delegator];
delegates[delegator] = delegatee;
emit DelegateChanged(delegator, currentDelegate, delegatee);
_moveDelegates(currentDelegate, delegatee, delegatorBalance);
}
function _transferTokens(address src, address dst, uint96 amount) internal {
require(src != address(0), "Henlo::_transferTokens: cannot transfer from the zero address");
require(dst != address(0), "Henlo::_transferTokens: cannot transfer to the zero address");
balances[src] = sub96(balances[src], amount, "Henlo::_transferTokens: transfer amount exceeds balance");
balances[dst] = add96(balances[dst], amount, "Henlo::_transferTokens: transfer amount overflows");
emit Transfer(src, dst, amount);
_moveDelegates(delegates[src], delegates[dst], amount);
}
function _moveDelegates(address srcRep, address dstRep, uint96 amount) internal {
if (srcRep != dstRep && amount > 0) {
if (srcRep != address(0)) {
uint32 srcRepNum = numCheckpoints[srcRep];
uint96 srcRepOld = srcRepNum > 0 ? checkpoints[srcRep][srcRepNum - 1].votes : 0;
uint96 srcRepNew = sub96(srcRepOld, amount, "Henlo::_moveVotes: vote amount underflows");
_writeCheckpoint(srcRep, srcRepNum, srcRepOld, srcRepNew);
}
if (dstRep != address(0)) {
uint32 dstRepNum = numCheckpoints[dstRep];
uint96 dstRepOld = dstRepNum > 0 ? checkpoints[dstRep][dstRepNum - 1].votes : 0;
uint96 dstRepNew = add96(dstRepOld, amount, "Henlo::_moveVotes: vote amount overflows");
_writeCheckpoint(dstRep, dstRepNum, dstRepOld, dstRepNew);
}
}
}
function _writeCheckpoint(address delegatee, uint32 nCheckpoints, uint96 oldVotes, uint96 newVotes) internal {
uint32 blockNumber = safe32(block.number, "Henlo::_writeCheckpoint: block number exceeds 32 bits");
if (nCheckpoints > 0 && checkpoints[delegatee][nCheckpoints - 1].fromBlock == blockNumber) {
checkpoints[delegatee][nCheckpoints - 1].votes = newVotes;
} else {
checkpoints[delegatee][nCheckpoints] = Checkpoint(blockNumber, newVotes);
numCheckpoints[delegatee] = nCheckpoints + 1;
}
emit DelegateVotesChanged(delegatee, oldVotes, newVotes);
}
function safe32(uint n, string memory errorMessage) internal pure returns (uint32) {
require(n < 2**32, errorMessage);
return uint32(n);
}
function safe96(uint n, string memory errorMessage) internal pure returns (uint96) {
require(n < 2**96, errorMessage);
return uint96(n);
}
function add96(uint96 a, uint96 b, string memory errorMessage) internal pure returns (uint96) {
uint96 c = a + b;
require(c >= a, errorMessage);
return c;
}
function sub96(uint96 a, uint96 b, string memory errorMessage) internal pure returns (uint96) {
require(b <= a, errorMessage);
return a - b;
}
function getChainId() internal view returns (uint) {
uint256 chainId;
assembly { chainId := chainid() }
return chainId;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.8.0) (utils/cryptography/ECDSA.sol)
pragma solidity ^0.8.0;
/**
* @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.
*
* These functions can be used to verify that a message was signed by the holder
* of the private keys of a given address.
*/
library ECDSA {
enum RecoverError {
NoError,
InvalidSignature,
InvalidSignatureLength,
InvalidSignatureS,
InvalidSignatureV // Deprecated in v4.8
}
function _throwError(RecoverError error) private pure {
if (error == RecoverError.NoError) {
return; // no error: do nothing
} else if (error == RecoverError.InvalidSignature) {
revert("ECDSA: invalid signature");
} else if (error == RecoverError.InvalidSignatureLength) {
revert("ECDSA: invalid signature length");
} else if (error == RecoverError.InvalidSignatureS) {
revert("ECDSA: invalid signature 's' value");
}
}
/**
* @dev Overload of {ECDSA-tryRecover} that receives the `v`,
* `r` and `s` signature fields separately.
*
* _Available since v4.3._
*/
function tryRecover(
bytes32 hash,
uint8 v,
bytes32 r,
bytes32 s
) internal pure returns (address, RecoverError) {
// EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature
// unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines
// the valid range for s in (301): 0 < s < secp256k1n ÷ 2 + 1, and for v in (302): v ∈ {27, 28}. Most
// signatures from current libraries generate a unique signature with an s-value in the lower half order.
//
// If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value
// with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or
// vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept
// these malleable signatures as well.
if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) {
return (address(0), RecoverError.InvalidSignatureS);
}
// If the signature is valid (and not malleable), return the signer address
address signer = ecrecover(hash, v, r, s);
if (signer == address(0)) {
return (address(0), RecoverError.InvalidSignature);
}
return (signer, RecoverError.NoError);
}
/**
* @dev Overload of {ECDSA-recover} that receives the `v`,
* `r` and `s` signature fields separately.
*/
function recover(
bytes32 hash,
uint8 v,
bytes32 r,
bytes32 s
) internal pure returns (address) {
(address recovered, RecoverError error) = tryRecover(hash, v, r, s);
_throwError(error);
return recovered;
}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"remappings": []
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"account","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":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DELEGATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","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":"rawAmount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"}],"name":"checkpoints","outputs":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint96","name":"votes","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getCurrentVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPriorVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"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":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
6080604052692c781f708c509f4000005f5534801561001c575f80fd5b506040516132e93803806132e9833981810160405281019061003e9190610174565b5f5460025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5460405161010891906101b7565b60405180910390a3506101d0565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6101438261011a565b9050919050565b61015381610139565b811461015d575f80fd5b50565b5f8151905061016e8161014a565b92915050565b5f6020828403121561018957610188610116565b5b5f61019684828501610160565b91505092915050565b5f819050919050565b6101b18161019f565b82525050565b5f6020820190506101ca5f8301846101a8565b92915050565b61310c806101dd5f395ff3fe608060405234801561000f575f80fd5b506004361061011f575f3560e01c806370a08231116100ab578063b4b5ea571161006f578063b4b5ea5714610355578063c3cda52014610385578063dd62ed3e146103a1578063e7a324dc146103d1578063f1127ed8146103ef5761011f565b806370a0823114610277578063782d6fe1146102a75780637ecebe00146102d757806395d89b4114610307578063a9059cbb146103255761011f565b806323b872dd116100f257806323b872dd146101ad578063313ce567146101dd578063587cde1e146101fb5780635c19a95c1461022b5780636fcfff45146102475761011f565b806306fdde0314610123578063095ea7b31461014157806318160ddd1461017157806320606b701461018f575b5f80fd5b61012b610420565b6040516101389190612238565b60405180910390f35b61015b600480360381019061015691906122e9565b610459565b6040516101689190612341565b60405180910390f35b6101796105d1565b6040516101869190612369565b60405180910390f35b6101976105d6565b6040516101a4919061239a565b60405180910390f35b6101c760048036038101906101c291906123b3565b6105fa565b6040516101d49190612341565b60405180910390f35b6101e5610860565b6040516101f2919061241e565b60405180910390f35b61021560048036038101906102109190612437565b610865565b6040516102229190612471565b60405180910390f35b61024560048036038101906102409190612437565b610895565b005b610261600480360381019061025c9190612437565b6108a2565b60405161026e91906124a8565b60405180910390f35b610291600480360381019061028c9190612437565b6108c2565b60405161029e9190612369565b60405180910390f35b6102c160048036038101906102bc91906122e9565b61092d565b6040516102ce91906124e7565b60405180910390f35b6102f160048036038101906102ec9190612437565b610d3c565b6040516102fe9190612369565b60405180910390f35b61030f610d51565b60405161031c9190612238565b60405180910390f35b61033f600480360381019061033a91906122e9565b610d8a565b60405161034c9190612341565b60405180910390f35b61036f600480360381019061036a9190612437565b610dc6565b60405161037c91906124e7565b60405180910390f35b61039f600480360381019061039a9190612554565b610eb2565b005b6103bb60048036038101906103b691906125dd565b611129565b6040516103c89190612369565b60405180910390f35b6103d96111d0565b6040516103e6919061239a565b60405180910390f35b61040960048036038101906104049190612645565b6111f4565b604051610417929190612683565b60405180910390f35b6040518060400160405280600581526020017f68656e6c6f00000000000000000000000000000000000000000000000000000081525081565b5f807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8303610496576bffffffffffffffffffffffff90506104bb565b6104b883604051806060016040528060268152602001612f3360269139611245565b90505b8060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516105be91906126e3565b60405180910390a3600191505092915050565b5f5481565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b5f803390505f60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a90046bffffffffffffffffffffffff1690505f6106b5856040518060600160405280602b8152602001612fcc602b9139611245565b90508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561070f57506bffffffffffffffffffffffff8016826bffffffffffffffffffffffff1614155b15610847575f61073883836040518060600160405280603e8152602001612f59603e91396112a2565b90508060015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161083d91906126e3565b60405180910390a3505b61085287878361131b565b600193505050509392505050565b600981565b6003602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61089f33826116e6565b50565b6005602052805f5260405f205f915054906101000a900463ffffffff1681565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050919050565b5f438210610970576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109679061276c565b60405180910390fd5b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900463ffffffff1690505f8163ffffffff16036109d6575f915050610d36565b8260045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600184610a2291906127b7565b63ffffffff1663ffffffff1681526020019081526020015f205f015f9054906101000a900463ffffffff1663ffffffff1611610adf5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600183610aa391906127b7565b63ffffffff1663ffffffff1681526020019081526020015f205f0160049054906101000a90046bffffffffffffffffffffffff16915050610d36565b8260045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8063ffffffff1681526020019081526020015f205f015f9054906101000a900463ffffffff1663ffffffff161115610b59575f915050610d36565b5f80600183610b6891906127b7565b90505b8163ffffffff168163ffffffff161115610cbd575f60028383610b8e91906127b7565b610b98919061281b565b82610ba391906127b7565b90505f60045f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8363ffffffff1663ffffffff1681526020019081526020015f206040518060400160405290815f82015f9054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020015f820160049054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681525050905086815f015163ffffffff1603610c8d57806020015195505050505050610d36565b86815f015163ffffffff161015610ca657819350610cb6565b600182610cb391906127b7565b92505b5050610b6b565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8363ffffffff1663ffffffff1681526020019081526020015f205f0160049054906101000a90046bffffffffffffffffffffffff1693505050505b92915050565b6006602052805f5260405f205f915090505481565b6040518060400160405280600581526020017f68656e6c6f00000000000000000000000000000000000000000000000000000081525081565b5f80610dae83604051806060016040528060278152602001612ff760279139611245565b9050610dbb33858361131b565b600191505092915050565b5f8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900463ffffffff1690505f8163ffffffff1611610e2a575f610eaa565b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600183610e7591906127b7565b63ffffffff1663ffffffff1681526020019081526020015f205f0160049054906101000a90046bffffffffffffffffffffffff165b915050919050565b5f7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8666040518060400160405280600581526020017f68656e6c6f00000000000000000000000000000000000000000000000000000081525080519060200120610f1961189b565b30604051602001610f2d949392919061284b565b6040516020818303038152906040528051906020012090505f7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf888888604051602001610f7d949392919061288e565b6040516020818303038152906040528051906020012090505f8282604051602001610fa9929190612945565b6040516020818303038152906040528051906020012090505f610fce828888886118a7565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361103e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611035906129eb565b60405180910390fd5b60065f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f81548092919061108b90612a09565b9190505589146110d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c790612ac0565b60405180910390fd5b87421115611113576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110a90612b4e565b60405180910390fd5b61111d818b6116e6565b50505050505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905092915050565b7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf81565b6004602052815f5260405f20602052805f5260405f205f9150915050805f015f9054906101000a900463ffffffff1690805f0160049054906101000a90046bffffffffffffffffffffffff16905082565b5f6c0100000000000000000000000083108290611298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128f9190612238565b60405180910390fd5b5082905092915050565b5f836bffffffffffffffffffffffff16836bffffffffffffffffffffffff1611158290611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc9190612238565b60405180910390fd5b5082846113129190612b6c565b90509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138090612c1b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ee90612ca9565b60405180910390fd5b61146e60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a90046bffffffffffffffffffffffff16826040518060600160405280603781526020016130a0603791396112a2565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555061154f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a90046bffffffffffffffffffffffff168260405180606001604052806031815260200161301e603191396118d0565b60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161161691906126e3565b60405180910390a36116e160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361194e565b505050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a90046bffffffffffffffffffffffff1690508260035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a461189582848361194e565b50505050565b5f804690508091505090565b5f805f6118b687878787611c40565b915091506118c381611d18565b8192505050949350505050565b5f8083856118de9190612cc7565b9050846bffffffffffffffffffffffff16816bffffffffffffffffffffffff1610158390611942576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119399190612238565b60405180910390fd5b50809150509392505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561199757505f816bffffffffffffffffffffffff16115b15611c3b575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611aeb575f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900463ffffffff1690505f808263ffffffff1611611a33575f611ab3565b60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600184611a7e91906127b7565b63ffffffff1663ffffffff1681526020019081526020015f205f0160049054906101000a90046bffffffffffffffffffffffff165b90505f611ad9828560405180606001604052806029815260200161304f602991396112a2565b9050611ae786848484611e7d565b5050505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611c3a575f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900463ffffffff1690505f808263ffffffff1611611b82575f611c02565b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600184611bcd91906127b7565b63ffffffff1663ffffffff1681526020019081526020015f205f0160049054906101000a90046bffffffffffffffffffffffff165b90505f611c288285604051806060016040528060288152602001613078602891396118d0565b9050611c3685848484611e7d565b5050505b5b505050565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0835f1c1115611c78575f600391509150611d0f565b5f6001878787876040515f8152602001604052604051611c9b9493929190612d06565b6020604051602081039080840390855afa158015611cbb573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d07575f60019250925050611d0f565b805f92509250505b94509492505050565b5f6004811115611d2b57611d2a612d49565b5b816004811115611d3e57611d3d612d49565b5b0315611e7a5760016004811115611d5857611d57612d49565b5b816004811115611d6b57611d6a612d49565b5b03611dab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da290612dc0565b60405180910390fd5b60026004811115611dbf57611dbe612d49565b5b816004811115611dd257611dd1612d49565b5b03611e12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0990612e28565b60405180910390fd5b60036004811115611e2657611e25612d49565b5b816004811115611e3957611e38612d49565b5b03611e79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7090612eb6565b60405180910390fd5b5b50565b5f611ea043604051806060016040528060358152602001612f9760359139612173565b90505f8463ffffffff16118015611f3757508063ffffffff1660045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600187611f0491906127b7565b63ffffffff1663ffffffff1681526020019081526020015f205f015f9054906101000a900463ffffffff1663ffffffff16145b15611fd6578160045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600187611f8891906127b7565b63ffffffff1663ffffffff1681526020019081526020015f205f0160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555061211c565b60405180604001604052808263ffffffff168152602001836bffffffffffffffffffffffff1681525060045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8663ffffffff1663ffffffff1681526020019081526020015f205f820151815f015f6101000a81548163ffffffff021916908363ffffffff1602179055506020820151815f0160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050506001846120c19190612ed4565b60055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548163ffffffff021916908363ffffffff1602179055505b8473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248484604051612164929190612f0b565b60405180910390a25050505050565b5f640100000000831082906121be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b59190612238565b60405180910390fd5b5082905092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61220a826121c8565b61221481856121d2565b93506122248185602086016121e2565b61222d816121f0565b840191505092915050565b5f6020820190508181035f8301526122508184612200565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6122858261225c565b9050919050565b6122958161227b565b811461229f575f80fd5b50565b5f813590506122b08161228c565b92915050565b5f819050919050565b6122c8816122b6565b81146122d2575f80fd5b50565b5f813590506122e3816122bf565b92915050565b5f80604083850312156122ff576122fe612258565b5b5f61230c858286016122a2565b925050602061231d858286016122d5565b9150509250929050565b5f8115159050919050565b61233b81612327565b82525050565b5f6020820190506123545f830184612332565b92915050565b612363816122b6565b82525050565b5f60208201905061237c5f83018461235a565b92915050565b5f819050919050565b61239481612382565b82525050565b5f6020820190506123ad5f83018461238b565b92915050565b5f805f606084860312156123ca576123c9612258565b5b5f6123d7868287016122a2565b93505060206123e8868287016122a2565b92505060406123f9868287016122d5565b9150509250925092565b5f60ff82169050919050565b61241881612403565b82525050565b5f6020820190506124315f83018461240f565b92915050565b5f6020828403121561244c5761244b612258565b5b5f612459848285016122a2565b91505092915050565b61246b8161227b565b82525050565b5f6020820190506124845f830184612462565b92915050565b5f63ffffffff82169050919050565b6124a28161248a565b82525050565b5f6020820190506124bb5f830184612499565b92915050565b5f6bffffffffffffffffffffffff82169050919050565b6124e1816124c1565b82525050565b5f6020820190506124fa5f8301846124d8565b92915050565b61250981612403565b8114612513575f80fd5b50565b5f8135905061252481612500565b92915050565b61253381612382565b811461253d575f80fd5b50565b5f8135905061254e8161252a565b92915050565b5f805f805f8060c0878903121561256e5761256d612258565b5b5f61257b89828a016122a2565b965050602061258c89828a016122d5565b955050604061259d89828a016122d5565b94505060606125ae89828a01612516565b93505060806125bf89828a01612540565b92505060a06125d089828a01612540565b9150509295509295509295565b5f80604083850312156125f3576125f2612258565b5b5f612600858286016122a2565b9250506020612611858286016122a2565b9150509250929050565b6126248161248a565b811461262e575f80fd5b50565b5f8135905061263f8161261b565b92915050565b5f806040838503121561265b5761265a612258565b5b5f612668858286016122a2565b925050602061267985828601612631565b9150509250929050565b5f6040820190506126965f830185612499565b6126a360208301846124d8565b9392505050565b5f819050919050565b5f6126cd6126c86126c3846124c1565b6126aa565b6122b6565b9050919050565b6126dd816126b3565b82525050565b5f6020820190506126f65f8301846126d4565b92915050565b7f48656e6c6f3a3a6765745072696f72566f7465733a206e6f74207965742064655f8201527f7465726d696e6564000000000000000000000000000000000000000000000000602082015250565b5f6127566028836121d2565b9150612761826126fc565b604082019050919050565b5f6020820190508181035f8301526127838161274a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6127c18261248a565b91506127cc8361248a565b9250828203905063ffffffff8111156127e8576127e761278a565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6128258261248a565b91506128308361248a565b9250826128405761283f6127ee565b5b828204905092915050565b5f60808201905061285e5f83018761238b565b61286b602083018661238b565b612878604083018561235a565b6128856060830184612462565b95945050505050565b5f6080820190506128a15f83018761238b565b6128ae6020830186612462565b6128bb604083018561235a565b6128c8606083018461235a565b95945050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f61290f6002836128d1565b915061291a826128db565b600282019050919050565b5f819050919050565b61293f61293a82612382565b612925565b82525050565b5f61294f82612903565b915061295b828561292e565b60208201915061296b828461292e565b6020820191508190509392505050565b7f48656e6c6f3a3a64656c656761746542795369673a20696e76616c69642073695f8201527f676e617475726500000000000000000000000000000000000000000000000000602082015250565b5f6129d56027836121d2565b91506129e08261297b565b604082019050919050565b5f6020820190508181035f830152612a02816129c9565b9050919050565b5f612a13826122b6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a4557612a4461278a565b5b600182019050919050565b7f48656e6c6f3a3a64656c656761746542795369673a20696e76616c6964206e6f5f8201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b5f612aaa6023836121d2565b9150612ab582612a50565b604082019050919050565b5f6020820190508181035f830152612ad781612a9e565b9050919050565b7f48656e6c6f3a3a64656c656761746542795369673a207369676e6174757265205f8201527f6578706972656400000000000000000000000000000000000000000000000000602082015250565b5f612b386027836121d2565b9150612b4382612ade565b604082019050919050565b5f6020820190508181035f830152612b6581612b2c565b9050919050565b5f612b76826124c1565b9150612b81836124c1565b925082820390506bffffffffffffffffffffffff811115612ba557612ba461278a565b5b92915050565b7f48656e6c6f3a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420745f8201527f72616e736665722066726f6d20746865207a65726f2061646472657373000000602082015250565b5f612c05603d836121d2565b9150612c1082612bab565b604082019050919050565b5f6020820190508181035f830152612c3281612bf9565b9050919050565b7f48656e6c6f3a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420745f8201527f72616e7366657220746f20746865207a65726f20616464726573730000000000602082015250565b5f612c93603b836121d2565b9150612c9e82612c39565b604082019050919050565b5f6020820190508181035f830152612cc081612c87565b9050919050565b5f612cd1826124c1565b9150612cdc836124c1565b925082820190506bffffffffffffffffffffffff811115612d0057612cff61278a565b5b92915050565b5f608082019050612d195f83018761238b565b612d26602083018661240f565b612d33604083018561238b565b612d40606083018461238b565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f45434453413a20696e76616c6964207369676e617475726500000000000000005f82015250565b5f612daa6018836121d2565b9150612db582612d76565b602082019050919050565b5f6020820190508181035f830152612dd781612d9e565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e677468005f82015250565b5f612e12601f836121d2565b9150612e1d82612dde565b602082019050919050565b5f6020820190508181035f830152612e3f81612e06565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c5f8201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ea06022836121d2565b9150612eab82612e46565b604082019050919050565b5f6020820190508181035f830152612ecd81612e94565b9050919050565b5f612ede8261248a565b9150612ee98361248a565b9250828201905063ffffffff811115612f0557612f0461278a565b5b92915050565b5f604082019050612f1e5f8301856126d4565b612f2b60208301846126d4565b939250505056fe48656e6c6f3a3a617070726f76653a20616d6f756e742065786365656473203936206269747348656e6c6f3a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e636548656e6c6f3a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d6265722065786365656473203332206269747348656e6c6f3a3a7472616e7366657246726f6d3a20616d6f756e742065786365656473203936206269747348656e6c6f3a3a7472616e736665723a20616d6f756e742065786365656473203936206269747348656e6c6f3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f777348656e6c6f3a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f777348656e6c6f3a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f777348656e6c6f3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e6365a2646970667358221220d1c2a77247794c567b0cc5fdc7f6e6ca02ec0accf96a2dc6e2ed69fab881ca1764736f6c634300081a00330000000000000000000000006172f0ab84cd118ea8ea282a37178c34f86bf7e6
Deployed Bytecode
0x608060405234801561000f575f80fd5b506004361061011f575f3560e01c806370a08231116100ab578063b4b5ea571161006f578063b4b5ea5714610355578063c3cda52014610385578063dd62ed3e146103a1578063e7a324dc146103d1578063f1127ed8146103ef5761011f565b806370a0823114610277578063782d6fe1146102a75780637ecebe00146102d757806395d89b4114610307578063a9059cbb146103255761011f565b806323b872dd116100f257806323b872dd146101ad578063313ce567146101dd578063587cde1e146101fb5780635c19a95c1461022b5780636fcfff45146102475761011f565b806306fdde0314610123578063095ea7b31461014157806318160ddd1461017157806320606b701461018f575b5f80fd5b61012b610420565b6040516101389190612238565b60405180910390f35b61015b600480360381019061015691906122e9565b610459565b6040516101689190612341565b60405180910390f35b6101796105d1565b6040516101869190612369565b60405180910390f35b6101976105d6565b6040516101a4919061239a565b60405180910390f35b6101c760048036038101906101c291906123b3565b6105fa565b6040516101d49190612341565b60405180910390f35b6101e5610860565b6040516101f2919061241e565b60405180910390f35b61021560048036038101906102109190612437565b610865565b6040516102229190612471565b60405180910390f35b61024560048036038101906102409190612437565b610895565b005b610261600480360381019061025c9190612437565b6108a2565b60405161026e91906124a8565b60405180910390f35b610291600480360381019061028c9190612437565b6108c2565b60405161029e9190612369565b60405180910390f35b6102c160048036038101906102bc91906122e9565b61092d565b6040516102ce91906124e7565b60405180910390f35b6102f160048036038101906102ec9190612437565b610d3c565b6040516102fe9190612369565b60405180910390f35b61030f610d51565b60405161031c9190612238565b60405180910390f35b61033f600480360381019061033a91906122e9565b610d8a565b60405161034c9190612341565b60405180910390f35b61036f600480360381019061036a9190612437565b610dc6565b60405161037c91906124e7565b60405180910390f35b61039f600480360381019061039a9190612554565b610eb2565b005b6103bb60048036038101906103b691906125dd565b611129565b6040516103c89190612369565b60405180910390f35b6103d96111d0565b6040516103e6919061239a565b60405180910390f35b61040960048036038101906104049190612645565b6111f4565b604051610417929190612683565b60405180910390f35b6040518060400160405280600581526020017f68656e6c6f00000000000000000000000000000000000000000000000000000081525081565b5f807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8303610496576bffffffffffffffffffffffff90506104bb565b6104b883604051806060016040528060268152602001612f3360269139611245565b90505b8060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516105be91906126e3565b60405180910390a3600191505092915050565b5f5481565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b5f803390505f60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a90046bffffffffffffffffffffffff1690505f6106b5856040518060600160405280602b8152602001612fcc602b9139611245565b90508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561070f57506bffffffffffffffffffffffff8016826bffffffffffffffffffffffff1614155b15610847575f61073883836040518060600160405280603e8152602001612f59603e91396112a2565b90508060015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161083d91906126e3565b60405180910390a3505b61085287878361131b565b600193505050509392505050565b600981565b6003602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61089f33826116e6565b50565b6005602052805f5260405f205f915054906101000a900463ffffffff1681565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050919050565b5f438210610970576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109679061276c565b60405180910390fd5b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900463ffffffff1690505f8163ffffffff16036109d6575f915050610d36565b8260045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600184610a2291906127b7565b63ffffffff1663ffffffff1681526020019081526020015f205f015f9054906101000a900463ffffffff1663ffffffff1611610adf5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600183610aa391906127b7565b63ffffffff1663ffffffff1681526020019081526020015f205f0160049054906101000a90046bffffffffffffffffffffffff16915050610d36565b8260045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8063ffffffff1681526020019081526020015f205f015f9054906101000a900463ffffffff1663ffffffff161115610b59575f915050610d36565b5f80600183610b6891906127b7565b90505b8163ffffffff168163ffffffff161115610cbd575f60028383610b8e91906127b7565b610b98919061281b565b82610ba391906127b7565b90505f60045f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8363ffffffff1663ffffffff1681526020019081526020015f206040518060400160405290815f82015f9054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020015f820160049054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681525050905086815f015163ffffffff1603610c8d57806020015195505050505050610d36565b86815f015163ffffffff161015610ca657819350610cb6565b600182610cb391906127b7565b92505b5050610b6b565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8363ffffffff1663ffffffff1681526020019081526020015f205f0160049054906101000a90046bffffffffffffffffffffffff1693505050505b92915050565b6006602052805f5260405f205f915090505481565b6040518060400160405280600581526020017f68656e6c6f00000000000000000000000000000000000000000000000000000081525081565b5f80610dae83604051806060016040528060278152602001612ff760279139611245565b9050610dbb33858361131b565b600191505092915050565b5f8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900463ffffffff1690505f8163ffffffff1611610e2a575f610eaa565b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600183610e7591906127b7565b63ffffffff1663ffffffff1681526020019081526020015f205f0160049054906101000a90046bffffffffffffffffffffffff165b915050919050565b5f7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8666040518060400160405280600581526020017f68656e6c6f00000000000000000000000000000000000000000000000000000081525080519060200120610f1961189b565b30604051602001610f2d949392919061284b565b6040516020818303038152906040528051906020012090505f7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf888888604051602001610f7d949392919061288e565b6040516020818303038152906040528051906020012090505f8282604051602001610fa9929190612945565b6040516020818303038152906040528051906020012090505f610fce828888886118a7565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361103e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611035906129eb565b60405180910390fd5b60065f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f81548092919061108b90612a09565b9190505589146110d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c790612ac0565b60405180910390fd5b87421115611113576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110a90612b4e565b60405180910390fd5b61111d818b6116e6565b50505050505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905092915050565b7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf81565b6004602052815f5260405f20602052805f5260405f205f9150915050805f015f9054906101000a900463ffffffff1690805f0160049054906101000a90046bffffffffffffffffffffffff16905082565b5f6c0100000000000000000000000083108290611298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128f9190612238565b60405180910390fd5b5082905092915050565b5f836bffffffffffffffffffffffff16836bffffffffffffffffffffffff1611158290611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc9190612238565b60405180910390fd5b5082846113129190612b6c565b90509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138090612c1b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ee90612ca9565b60405180910390fd5b61146e60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a90046bffffffffffffffffffffffff16826040518060600160405280603781526020016130a0603791396112a2565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555061154f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a90046bffffffffffffffffffffffff168260405180606001604052806031815260200161301e603191396118d0565b60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161161691906126e3565b60405180910390a36116e160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361194e565b505050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a90046bffffffffffffffffffffffff1690508260035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a461189582848361194e565b50505050565b5f804690508091505090565b5f805f6118b687878787611c40565b915091506118c381611d18565b8192505050949350505050565b5f8083856118de9190612cc7565b9050846bffffffffffffffffffffffff16816bffffffffffffffffffffffff1610158390611942576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119399190612238565b60405180910390fd5b50809150509392505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561199757505f816bffffffffffffffffffffffff16115b15611c3b575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611aeb575f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900463ffffffff1690505f808263ffffffff1611611a33575f611ab3565b60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600184611a7e91906127b7565b63ffffffff1663ffffffff1681526020019081526020015f205f0160049054906101000a90046bffffffffffffffffffffffff165b90505f611ad9828560405180606001604052806029815260200161304f602991396112a2565b9050611ae786848484611e7d565b5050505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611c3a575f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900463ffffffff1690505f808263ffffffff1611611b82575f611c02565b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600184611bcd91906127b7565b63ffffffff1663ffffffff1681526020019081526020015f205f0160049054906101000a90046bffffffffffffffffffffffff165b90505f611c288285604051806060016040528060288152602001613078602891396118d0565b9050611c3685848484611e7d565b5050505b5b505050565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0835f1c1115611c78575f600391509150611d0f565b5f6001878787876040515f8152602001604052604051611c9b9493929190612d06565b6020604051602081039080840390855afa158015611cbb573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d07575f60019250925050611d0f565b805f92509250505b94509492505050565b5f6004811115611d2b57611d2a612d49565b5b816004811115611d3e57611d3d612d49565b5b0315611e7a5760016004811115611d5857611d57612d49565b5b816004811115611d6b57611d6a612d49565b5b03611dab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da290612dc0565b60405180910390fd5b60026004811115611dbf57611dbe612d49565b5b816004811115611dd257611dd1612d49565b5b03611e12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0990612e28565b60405180910390fd5b60036004811115611e2657611e25612d49565b5b816004811115611e3957611e38612d49565b5b03611e79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7090612eb6565b60405180910390fd5b5b50565b5f611ea043604051806060016040528060358152602001612f9760359139612173565b90505f8463ffffffff16118015611f3757508063ffffffff1660045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600187611f0491906127b7565b63ffffffff1663ffffffff1681526020019081526020015f205f015f9054906101000a900463ffffffff1663ffffffff16145b15611fd6578160045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600187611f8891906127b7565b63ffffffff1663ffffffff1681526020019081526020015f205f0160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555061211c565b60405180604001604052808263ffffffff168152602001836bffffffffffffffffffffffff1681525060045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8663ffffffff1663ffffffff1681526020019081526020015f205f820151815f015f6101000a81548163ffffffff021916908363ffffffff1602179055506020820151815f0160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050506001846120c19190612ed4565b60055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548163ffffffff021916908363ffffffff1602179055505b8473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248484604051612164929190612f0b565b60405180910390a25050505050565b5f640100000000831082906121be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b59190612238565b60405180910390fd5b5082905092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61220a826121c8565b61221481856121d2565b93506122248185602086016121e2565b61222d816121f0565b840191505092915050565b5f6020820190508181035f8301526122508184612200565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6122858261225c565b9050919050565b6122958161227b565b811461229f575f80fd5b50565b5f813590506122b08161228c565b92915050565b5f819050919050565b6122c8816122b6565b81146122d2575f80fd5b50565b5f813590506122e3816122bf565b92915050565b5f80604083850312156122ff576122fe612258565b5b5f61230c858286016122a2565b925050602061231d858286016122d5565b9150509250929050565b5f8115159050919050565b61233b81612327565b82525050565b5f6020820190506123545f830184612332565b92915050565b612363816122b6565b82525050565b5f60208201905061237c5f83018461235a565b92915050565b5f819050919050565b61239481612382565b82525050565b5f6020820190506123ad5f83018461238b565b92915050565b5f805f606084860312156123ca576123c9612258565b5b5f6123d7868287016122a2565b93505060206123e8868287016122a2565b92505060406123f9868287016122d5565b9150509250925092565b5f60ff82169050919050565b61241881612403565b82525050565b5f6020820190506124315f83018461240f565b92915050565b5f6020828403121561244c5761244b612258565b5b5f612459848285016122a2565b91505092915050565b61246b8161227b565b82525050565b5f6020820190506124845f830184612462565b92915050565b5f63ffffffff82169050919050565b6124a28161248a565b82525050565b5f6020820190506124bb5f830184612499565b92915050565b5f6bffffffffffffffffffffffff82169050919050565b6124e1816124c1565b82525050565b5f6020820190506124fa5f8301846124d8565b92915050565b61250981612403565b8114612513575f80fd5b50565b5f8135905061252481612500565b92915050565b61253381612382565b811461253d575f80fd5b50565b5f8135905061254e8161252a565b92915050565b5f805f805f8060c0878903121561256e5761256d612258565b5b5f61257b89828a016122a2565b965050602061258c89828a016122d5565b955050604061259d89828a016122d5565b94505060606125ae89828a01612516565b93505060806125bf89828a01612540565b92505060a06125d089828a01612540565b9150509295509295509295565b5f80604083850312156125f3576125f2612258565b5b5f612600858286016122a2565b9250506020612611858286016122a2565b9150509250929050565b6126248161248a565b811461262e575f80fd5b50565b5f8135905061263f8161261b565b92915050565b5f806040838503121561265b5761265a612258565b5b5f612668858286016122a2565b925050602061267985828601612631565b9150509250929050565b5f6040820190506126965f830185612499565b6126a360208301846124d8565b9392505050565b5f819050919050565b5f6126cd6126c86126c3846124c1565b6126aa565b6122b6565b9050919050565b6126dd816126b3565b82525050565b5f6020820190506126f65f8301846126d4565b92915050565b7f48656e6c6f3a3a6765745072696f72566f7465733a206e6f74207965742064655f8201527f7465726d696e6564000000000000000000000000000000000000000000000000602082015250565b5f6127566028836121d2565b9150612761826126fc565b604082019050919050565b5f6020820190508181035f8301526127838161274a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6127c18261248a565b91506127cc8361248a565b9250828203905063ffffffff8111156127e8576127e761278a565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6128258261248a565b91506128308361248a565b9250826128405761283f6127ee565b5b828204905092915050565b5f60808201905061285e5f83018761238b565b61286b602083018661238b565b612878604083018561235a565b6128856060830184612462565b95945050505050565b5f6080820190506128a15f83018761238b565b6128ae6020830186612462565b6128bb604083018561235a565b6128c8606083018461235a565b95945050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f61290f6002836128d1565b915061291a826128db565b600282019050919050565b5f819050919050565b61293f61293a82612382565b612925565b82525050565b5f61294f82612903565b915061295b828561292e565b60208201915061296b828461292e565b6020820191508190509392505050565b7f48656e6c6f3a3a64656c656761746542795369673a20696e76616c69642073695f8201527f676e617475726500000000000000000000000000000000000000000000000000602082015250565b5f6129d56027836121d2565b91506129e08261297b565b604082019050919050565b5f6020820190508181035f830152612a02816129c9565b9050919050565b5f612a13826122b6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a4557612a4461278a565b5b600182019050919050565b7f48656e6c6f3a3a64656c656761746542795369673a20696e76616c6964206e6f5f8201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b5f612aaa6023836121d2565b9150612ab582612a50565b604082019050919050565b5f6020820190508181035f830152612ad781612a9e565b9050919050565b7f48656e6c6f3a3a64656c656761746542795369673a207369676e6174757265205f8201527f6578706972656400000000000000000000000000000000000000000000000000602082015250565b5f612b386027836121d2565b9150612b4382612ade565b604082019050919050565b5f6020820190508181035f830152612b6581612b2c565b9050919050565b5f612b76826124c1565b9150612b81836124c1565b925082820390506bffffffffffffffffffffffff811115612ba557612ba461278a565b5b92915050565b7f48656e6c6f3a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420745f8201527f72616e736665722066726f6d20746865207a65726f2061646472657373000000602082015250565b5f612c05603d836121d2565b9150612c1082612bab565b604082019050919050565b5f6020820190508181035f830152612c3281612bf9565b9050919050565b7f48656e6c6f3a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420745f8201527f72616e7366657220746f20746865207a65726f20616464726573730000000000602082015250565b5f612c93603b836121d2565b9150612c9e82612c39565b604082019050919050565b5f6020820190508181035f830152612cc081612c87565b9050919050565b5f612cd1826124c1565b9150612cdc836124c1565b925082820190506bffffffffffffffffffffffff811115612d0057612cff61278a565b5b92915050565b5f608082019050612d195f83018761238b565b612d26602083018661240f565b612d33604083018561238b565b612d40606083018461238b565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f45434453413a20696e76616c6964207369676e617475726500000000000000005f82015250565b5f612daa6018836121d2565b9150612db582612d76565b602082019050919050565b5f6020820190508181035f830152612dd781612d9e565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e677468005f82015250565b5f612e12601f836121d2565b9150612e1d82612dde565b602082019050919050565b5f6020820190508181035f830152612e3f81612e06565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c5f8201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ea06022836121d2565b9150612eab82612e46565b604082019050919050565b5f6020820190508181035f830152612ecd81612e94565b9050919050565b5f612ede8261248a565b9150612ee98361248a565b9250828201905063ffffffff811115612f0557612f0461278a565b5b92915050565b5f604082019050612f1e5f8301856126d4565b612f2b60208301846126d4565b939250505056fe48656e6c6f3a3a617070726f76653a20616d6f756e742065786365656473203936206269747348656e6c6f3a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e636548656e6c6f3a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d6265722065786365656473203332206269747348656e6c6f3a3a7472616e7366657246726f6d3a20616d6f756e742065786365656473203936206269747348656e6c6f3a3a7472616e736665723a20616d6f756e742065786365656473203936206269747348656e6c6f3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f777348656e6c6f3a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f777348656e6c6f3a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f777348656e6c6f3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e6365a2646970667358221220d1c2a77247794c567b0cc5fdc7f6e6ca02ec0accf96a2dc6e2ed69fab881ca1764736f6c634300081a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000006172f0ab84cd118ea8ea282a37178c34f86bf7e6
-----Decoded View---------------
Arg [0] : account (address): 0x6172F0ab84CD118eA8Ea282a37178c34f86bF7e6
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006172f0ab84cd118ea8ea282a37178c34f86bf7e6
Loading...
Loading
Loading...
Loading
OVERVIEW
Henlo DAO is a memecoin powered by decentralized governance and meme culture on Ethereum. With 210 trillion tokens, holders shape the future, vote on proposals, and drive the project forward. Join the meme-fueled DAO movement, where fun and fairness lead the way!Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.