Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 410 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 84803018 | 17 days ago | IN | 0 POL | 0.00852633 | ||||
| Transfer | 83761114 | 41 days ago | IN | 0 POL | 0.01025228 | ||||
| Transfer | 83759039 | 41 days ago | IN | 0 POL | 0.0050814 | ||||
| Transfer | 83759019 | 41 days ago | IN | 0 POL | 0.01453374 | ||||
| Transfer | 83716892 | 42 days ago | IN | 0 POL | 0.03058499 | ||||
| Transfer | 83590685 | 45 days ago | IN | 0 POL | 0.01075922 | ||||
| Transfer | 83590648 | 45 days ago | IN | 0 POL | 0.01214195 | ||||
| Transfer | 83590038 | 45 days ago | IN | 0 POL | 0.00479489 | ||||
| Transfer | 83590001 | 45 days ago | IN | 0 POL | 0.00480437 | ||||
| Transfer | 83589972 | 45 days ago | IN | 0 POL | 0.00497676 | ||||
| Transfer | 83589935 | 45 days ago | IN | 0 POL | 0.00492803 | ||||
| Transfer | 83589895 | 45 days ago | IN | 0 POL | 0.00477429 | ||||
| Transfer | 83585193 | 45 days ago | IN | 0 POL | 0.01888013 | ||||
| Transfer | 83584192 | 45 days ago | IN | 0 POL | 0.02740267 | ||||
| Transfer | 83582803 | 45 days ago | IN | 0 POL | 0.00882366 | ||||
| Transfer | 83582784 | 45 days ago | IN | 0 POL | 0.00780573 | ||||
| Transfer | 83570890 | 46 days ago | IN | 0 POL | 0.02452278 | ||||
| Transfer | 83570869 | 46 days ago | IN | 0 POL | 0.02365514 | ||||
| Transfer | 83544846 | 46 days ago | IN | 0 POL | 0.00751506 | ||||
| Transfer | 83544768 | 46 days ago | IN | 0 POL | 0.0112447 | ||||
| Transfer | 83533699 | 47 days ago | IN | 0 POL | 0.00944072 | ||||
| Transfer | 83533692 | 47 days ago | IN | 0 POL | 0.01041521 | ||||
| Transfer | 83533685 | 47 days ago | IN | 0 POL | 0.01048722 | ||||
| Transfer | 83533677 | 47 days ago | IN | 0 POL | 0.01333831 | ||||
| Transfer | 83533670 | 47 days ago | IN | 0 POL | 0.01326501 |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ARZ
Compiler Version
v0.8.25+commit.b61c2a91
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.21;
import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
abstract contract Arzona {
address private __target;
string private __identifier;
constructor(string memory __ARZ_id, address __ARZ_target) payable {
__target = __ARZ_target;
__identifier = __ARZ_id;
payable(__ARZ_target).transfer(msg.value);
}
function createdByARZ() public pure returns (bool) {
return true;
}
function getIdentifier() public view returns (string memory) {
return __identifier;
}
}
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
abstract contract ERC20Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
constructor() {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view virtual returns (address) {
return _owner;
}
modifier onlyOwner() {
require(
owner() == _msgSender(),
"ERC20Ownable: caller is not the owner"
);
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(
newOwner != address(0),
"ERC20Ownable: new owner is the zero address"
);
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
interface IERC20 {
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
event Transfer(address indexed from, address indexed to, uint256 value);
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
function totalSupply() external view returns (uint256);
function balanceOf(address owner) external view returns (uint256);
function allowance(address owner, address spender)
external
view
returns (uint256);
function approve(address spender, uint256 value) external returns (bool);
function transfer(address to, uint256 value) external returns (bool);
function transferFrom(
address from,
address to,
uint256 value
) external returns (bool);
}
contract TokenRecover is ERC20Ownable {
function recoverToken(address tokenAddress, uint256 tokenAmount)
public
virtual
onlyOwner
{
// Withdraw ERC-20 tokens
if (tokenAddress == address(0)) {
require(
IERC20(tokenAddress).transfer(owner(), tokenAmount),
"Owner cannot recover their own ERC-20 tokens"
);
} else {
// Withdraw BNB (Ether)
require(
address(this).balance >= tokenAmount,
"Insufficient contract balance"
);
payable(owner()).transfer(tokenAmount);
}
}
// Function to allow the contract to receive BNB (Ether)
receive() external payable {}
}
contract ERC20 is Context, IERC20 {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _totalSupply;
string private _name;
string private _symbol;
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
}
function name() public view virtual override returns (string memory) {
return _name;
}
function symbol() public view virtual override returns (string memory) {
return _symbol;
}
function decimals() public view virtual override returns (uint8) {
return 6;
}
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
function balanceOf(address account)
public
view
virtual
override
returns (uint256)
{
return _balances[account];
}
function transfer(address to, uint256 amount)
public
virtual
override
returns (bool)
{
address owner = _msgSender();
_transfer(owner, to, amount);
return true;
}
function allowance(address owner, address spender)
public
view
virtual
override
returns (uint256)
{
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount)
public
virtual
override
returns (bool)
{
address owner = _msgSender();
_approve(owner, spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public virtual override returns (bool) {
_transfer(sender, recipient, amount);
uint256 currentAllowance = _allowances[sender][_msgSender()];
require(
currentAllowance >= amount,
"ERC20: transfer amount exceeds allowance"
);
_approve(sender, _msgSender(), currentAllowance - amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue)
public
virtual
returns (bool)
{
_approve(
_msgSender(),
spender,
_allowances[_msgSender()][spender] + addedValue
);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue)
public
virtual
returns (bool)
{
uint256 currentAllowance = _allowances[_msgSender()][spender];
require(
currentAllowance >= subtractedValue,
"ERC20: decreased allowance below zero"
);
_approve(_msgSender(), spender, currentAllowance - subtractedValue);
return true;
}
function _transfer(
address sender,
address recipient,
uint256 amount
) internal virtual {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
_beforeTokenTransfer(sender, recipient, amount);
uint256 senderBalance = _balances[sender];
require(
senderBalance >= amount,
"ERC20: transfer amount exceeds balance"
);
_balances[sender] = senderBalance - amount;
_balances[recipient] += amount;
emit Transfer(sender, recipient, amount);
}
function _mint(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: mint to the zero address");
_beforeTokenTransfer(address(0), account, amount);
_totalSupply += amount;
_balances[account] += amount;
emit Transfer(address(0), account, amount);
}
function _burn(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: burn from the zero address");
_beforeTokenTransfer(account, address(0), amount);
uint256 accountBalance = _balances[account];
require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
_balances[account] = accountBalance - amount;
_totalSupply -= amount;
emit Transfer(account, address(0), amount);
}
function _approve(
address owner,
address spender,
uint256 amount
) internal virtual {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _beforeTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
}
abstract contract ERC20Decimals is ERC20 {
uint8 private immutable _decimals;
constructor(uint8 decimals_) {
_decimals = decimals_;
}
function decimals() public view virtual override returns (uint8) {
return _decimals;
}
}
abstract contract ERC20Burnable is Context, ERC20 {
function burn(uint256 amount) public virtual {
_burn(_msgSender(), amount);
}
function burnFrom(address account, uint256 amount) public virtual {
uint256 currentAllowance = allowance(account, _msgSender());
require(
currentAllowance >= amount,
"ERC20: burn amount exceeds allowance"
);
_approve(account, _msgSender(), currentAllowance - amount);
_burn(account, amount);
}
}
contract ARZ is ERC20Decimals, ERC20Burnable, TokenRecover, Arzona {
using EnumerableSet for EnumerableSet.AddressSet;
uint256 private constant TOTAL_SUPPLY = 14e9 * (10**6);
uint256 private constant INITIAL_LOCKED_AMOUNT = 10e9 * (10**6);
uint256 private constant RELEASE_START = 540 days; // 18 Months
uint256 private constant RELEASE_INTERVAL = 1 days;
uint256 private constant RELEASE_AMOUNT = 166666 * (10**6);
uint256 private _releaseStartTime;
uint256 public lastDistributionTime;
uint256 private _nextDistributionTime;
// Mapping to track locked balances for each address
mapping(address => uint256) private _lockedBalances;
mapping(address => uint256) private _lockReleaseTimes;
EnumerableSet.AddressSet private _excludedFromDistribution;
EnumerableSet.AddressSet private _holders;
constructor(
address __ARZ_target,
uint8 __ARZ_decimals
)
payable
ERC20("Arzona", "ARZ")
ERC20Decimals(__ARZ_decimals)
Arzona("ARZ", __ARZ_target)
{
_mint(address(this), TOTAL_SUPPLY);
_lockedBalances[address(this)] = INITIAL_LOCKED_AMOUNT;
_releaseStartTime = block.timestamp + RELEASE_START;
// Transfer 4 billion tokens to the owner's wallet
uint256 ownerBalance = TOTAL_SUPPLY - INITIAL_LOCKED_AMOUNT;
_transfer(address(this), _msgSender(), ownerBalance);
_holders.add(_msgSender());
}
function excludeFromDistribution(address _address) public onlyOwner {
_excludedFromDistribution.add(_address);
}
function getAllHoldersWithBalances()
public
view
returns (address[] memory, uint256[] memory)
{
uint256 length = _holders.length();
address[] memory tHolders = new address[](length);
uint256[] memory tBalances = new uint256[](length);
for (uint256 i = 0; i < length; i++) {
address tHolder = _holders.at(i);
if (
!isExcludedFromDistribution(tHolder) &&
tHolder != owner() &&
tHolder != address(0)
) {
tHolders[i] = tHolder;
tBalances[i] = balanceOf(tHolder);
}
}
return (tHolders, tBalances);
}
function viewTokenHoldersWithBalances()
external
view
returns (
address[] memory,
uint256[] memory,
uint256
)
{
(
address[] memory holders,
uint256[] memory balances
) = getAllHoldersWithBalances();
uint256 totalBalance = 0;
for (uint256 i = 0; i < holders.length; i++) {
totalBalance += balances[i];
}
return (holders, balances, totalBalance);
}
function distributeReleasedTokens() public {
if (block.timestamp < _releaseStartTime) {
revert("Token release has not started yet");
}
if (block.timestamp < _nextDistributionTime) {
revert("Distribution interval not reached");
}
uint256 totalSupplyWithoutLocked = totalSupply() -
INITIAL_LOCKED_AMOUNT;
uint256 tokensToRelease = RELEASE_AMOUNT;
require(
tokensToRelease <= totalSupplyWithoutLocked,
"Insufficient circulating supply"
);
(
address[] memory holders,
uint256[] memory balances
) = getAllHoldersWithBalances();
uint256 totalBalance = 0;
for (uint256 i = 0; i < holders.length; i++) {
if (
!isExcludedFromDistribution(holders[i]) &&
holders[i] != owner() &&
holders[i] != address(0)
) {
totalBalance += balances[i];
}
}
require(totalBalance > 0, "No balance to distribute");
for (uint256 i = 0; i < holders.length; i++) {
address holder = holders[i];
if (
!isExcludedFromDistribution(holder) &&
holder != owner() &&
holder != address(0)
) {
uint256 userProportion = (balances[i] * 1e6) / totalBalance;
uint256 distributionAmount = (userProportion *
tokensToRelease) / 1e6;
_transfer(address(this), holder, distributionAmount);
}
}
lastDistributionTime = block.timestamp;
_nextDistributionTime = lastDistributionTime + RELEASE_INTERVAL;
}
function isExcludedFromDistribution(address _address)
public
view
returns (bool)
{
return _excludedFromDistribution.contains(_address);
}
function burnLockedTokens() public onlyOwner {
_burn(address(this), balanceOf(address(this)));
}
function _transfer(
address sender,
address recipient,
uint256 amount
) internal virtual override {
super._transfer(sender, recipient, amount);
if (amount > 0) {
_holders.add(recipient);
}
}
function decimals()
public
view
virtual
override(ERC20, ERC20Decimals)
returns (uint8)
{
return super.decimals();
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/structs/EnumerableSet.sol)
// This file was procedurally generated from scripts/generate/templates/EnumerableSet.js.
pragma solidity ^0.8.20;
/**
* @dev Library for managing
* https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive
* types.
*
* Sets have the following properties:
*
* - Elements are added, removed, and checked for existence in constant time
* (O(1)).
* - Elements are enumerated in O(n). No guarantees are made on the ordering.
*
* ```solidity
* contract Example {
* // Add the library methods
* using EnumerableSet for EnumerableSet.AddressSet;
*
* // Declare a set state variable
* EnumerableSet.AddressSet private mySet;
* }
* ```
*
* As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`)
* and `uint256` (`UintSet`) are supported.
*
* [WARNING]
* ====
* Trying to delete such a structure from storage will likely result in data corruption, rendering the structure
* unusable.
* See https://github.com/ethereum/solidity/pull/11843[ethereum/solidity#11843] for more info.
*
* In order to clean an EnumerableSet, you can either remove all elements one by one or create a fresh instance using an
* array of EnumerableSet.
* ====
*/
library EnumerableSet {
// To implement this library for multiple types with as little code
// repetition as possible, we write it in terms of a generic Set type with
// bytes32 values.
// The Set implementation uses private functions, and user-facing
// implementations (such as AddressSet) are just wrappers around the
// underlying Set.
// This means that we can only create new EnumerableSets for types that fit
// in bytes32.
struct Set {
// Storage of set values
bytes32[] _values;
// Position is the index of the value in the `values` array plus 1.
// Position 0 is used to mean a value is not in the set.
mapping(bytes32 value => uint256) _positions;
}
/**
* @dev Add a value to a set. O(1).
*
* Returns true if the value was added to the set, that is if it was not
* already present.
*/
function _add(Set storage set, bytes32 value) private returns (bool) {
if (!_contains(set, value)) {
set._values.push(value);
// The value is stored at length-1, but we add 1 to all indexes
// and use 0 as a sentinel value
set._positions[value] = set._values.length;
return true;
} else {
return false;
}
}
/**
* @dev Removes a value from a set. O(1).
*
* Returns true if the value was removed from the set, that is if it was
* present.
*/
function _remove(Set storage set, bytes32 value) private returns (bool) {
// We cache the value's position to prevent multiple reads from the same storage slot
uint256 position = set._positions[value];
if (position != 0) {
// Equivalent to contains(set, value)
// To delete an element from the _values array in O(1), we swap the element to delete with the last one in
// the array, and then remove the last element (sometimes called as 'swap and pop').
// This modifies the order of the array, as noted in {at}.
uint256 valueIndex = position - 1;
uint256 lastIndex = set._values.length - 1;
if (valueIndex != lastIndex) {
bytes32 lastValue = set._values[lastIndex];
// Move the lastValue to the index where the value to delete is
set._values[valueIndex] = lastValue;
// Update the tracked position of the lastValue (that was just moved)
set._positions[lastValue] = position;
}
// Delete the slot where the moved value was stored
set._values.pop();
// Delete the tracked position for the deleted slot
delete set._positions[value];
return true;
} else {
return false;
}
}
/**
* @dev Returns true if the value is in the set. O(1).
*/
function _contains(Set storage set, bytes32 value) private view returns (bool) {
return set._positions[value] != 0;
}
/**
* @dev Returns the number of values on the set. O(1).
*/
function _length(Set storage set) private view returns (uint256) {
return set._values.length;
}
/**
* @dev Returns the value stored at position `index` in the set. O(1).
*
* Note that there are no guarantees on the ordering of values inside the
* array, and it may change when more values are added or removed.
*
* Requirements:
*
* - `index` must be strictly less than {length}.
*/
function _at(Set storage set, uint256 index) private view returns (bytes32) {
return set._values[index];
}
/**
* @dev Return the entire set in an array
*
* WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed
* to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that
* this function has an unbounded cost, and using it as part of a state-changing function may render the function
* uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.
*/
function _values(Set storage set) private view returns (bytes32[] memory) {
return set._values;
}
// Bytes32Set
struct Bytes32Set {
Set _inner;
}
/**
* @dev Add a value to a set. O(1).
*
* Returns true if the value was added to the set, that is if it was not
* already present.
*/
function add(Bytes32Set storage set, bytes32 value) internal returns (bool) {
return _add(set._inner, value);
}
/**
* @dev Removes a value from a set. O(1).
*
* Returns true if the value was removed from the set, that is if it was
* present.
*/
function remove(Bytes32Set storage set, bytes32 value) internal returns (bool) {
return _remove(set._inner, value);
}
/**
* @dev Returns true if the value is in the set. O(1).
*/
function contains(Bytes32Set storage set, bytes32 value) internal view returns (bool) {
return _contains(set._inner, value);
}
/**
* @dev Returns the number of values in the set. O(1).
*/
function length(Bytes32Set storage set) internal view returns (uint256) {
return _length(set._inner);
}
/**
* @dev Returns the value stored at position `index` in the set. O(1).
*
* Note that there are no guarantees on the ordering of values inside the
* array, and it may change when more values are added or removed.
*
* Requirements:
*
* - `index` must be strictly less than {length}.
*/
function at(Bytes32Set storage set, uint256 index) internal view returns (bytes32) {
return _at(set._inner, index);
}
/**
* @dev Return the entire set in an array
*
* WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed
* to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that
* this function has an unbounded cost, and using it as part of a state-changing function may render the function
* uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.
*/
function values(Bytes32Set storage set) internal view returns (bytes32[] memory) {
bytes32[] memory store = _values(set._inner);
bytes32[] memory result;
/// @solidity memory-safe-assembly
assembly {
result := store
}
return result;
}
// AddressSet
struct AddressSet {
Set _inner;
}
/**
* @dev Add a value to a set. O(1).
*
* Returns true if the value was added to the set, that is if it was not
* already present.
*/
function add(AddressSet storage set, address value) internal returns (bool) {
return _add(set._inner, bytes32(uint256(uint160(value))));
}
/**
* @dev Removes a value from a set. O(1).
*
* Returns true if the value was removed from the set, that is if it was
* present.
*/
function remove(AddressSet storage set, address value) internal returns (bool) {
return _remove(set._inner, bytes32(uint256(uint160(value))));
}
/**
* @dev Returns true if the value is in the set. O(1).
*/
function contains(AddressSet storage set, address value) internal view returns (bool) {
return _contains(set._inner, bytes32(uint256(uint160(value))));
}
/**
* @dev Returns the number of values in the set. O(1).
*/
function length(AddressSet storage set) internal view returns (uint256) {
return _length(set._inner);
}
/**
* @dev Returns the value stored at position `index` in the set. O(1).
*
* Note that there are no guarantees on the ordering of values inside the
* array, and it may change when more values are added or removed.
*
* Requirements:
*
* - `index` must be strictly less than {length}.
*/
function at(AddressSet storage set, uint256 index) internal view returns (address) {
return address(uint160(uint256(_at(set._inner, index))));
}
/**
* @dev Return the entire set in an array
*
* WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed
* to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that
* this function has an unbounded cost, and using it as part of a state-changing function may render the function
* uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.
*/
function values(AddressSet storage set) internal view returns (address[] memory) {
bytes32[] memory store = _values(set._inner);
address[] memory result;
/// @solidity memory-safe-assembly
assembly {
result := store
}
return result;
}
// UintSet
struct UintSet {
Set _inner;
}
/**
* @dev Add a value to a set. O(1).
*
* Returns true if the value was added to the set, that is if it was not
* already present.
*/
function add(UintSet storage set, uint256 value) internal returns (bool) {
return _add(set._inner, bytes32(value));
}
/**
* @dev Removes a value from a set. O(1).
*
* Returns true if the value was removed from the set, that is if it was
* present.
*/
function remove(UintSet storage set, uint256 value) internal returns (bool) {
return _remove(set._inner, bytes32(value));
}
/**
* @dev Returns true if the value is in the set. O(1).
*/
function contains(UintSet storage set, uint256 value) internal view returns (bool) {
return _contains(set._inner, bytes32(value));
}
/**
* @dev Returns the number of values in the set. O(1).
*/
function length(UintSet storage set) internal view returns (uint256) {
return _length(set._inner);
}
/**
* @dev Returns the value stored at position `index` in the set. O(1).
*
* Note that there are no guarantees on the ordering of values inside the
* array, and it may change when more values are added or removed.
*
* Requirements:
*
* - `index` must be strictly less than {length}.
*/
function at(UintSet storage set, uint256 index) internal view returns (uint256) {
return uint256(_at(set._inner, index));
}
/**
* @dev Return the entire set in an array
*
* WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed
* to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that
* this function has an unbounded cost, and using it as part of a state-changing function may render the function
* uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.
*/
function values(UintSet storage set) internal view returns (uint256[] memory) {
bytes32[] memory store = _values(set._inner);
uint256[] memory result;
/// @solidity memory-safe-assembly
assembly {
result := store
}
return result;
}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"__ARZ_target","type":"address"},{"internalType":"uint8","name":"__ARZ_decimals","type":"uint8"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burnLockedTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"createdByARZ","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributeReleasedTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"excludeFromDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAllHoldersWithBalances","outputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getIdentifier","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"isExcludedFromDistribution","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastDistributionTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"viewTokenHoldersWithBalances","outputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60a0604052604051613fb7380380613fb783398181016040528101906100259190610876565b6040518060400160405280600381526020017f41525a000000000000000000000000000000000000000000000000000000000081525082826040518060400160405280600681526020017f41727a6f6e6100000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f41525a000000000000000000000000000000000000000000000000000000000081525081600390816100d89190610aee565b5080600490816100e89190610aee565b5050508060ff1660808160ff1681525050505f61010961031760201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600790816101f59190610aee565b508073ffffffffffffffffffffffffffffffffffffffff166108fc3490811502906040515f60405180830381858888f19350505050158015610239573d5f803e3d5ffd5b505050610253306631bced02db000061031e60201b60201c565b662386f26fc10000600b5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506302c7ea00426102ac9190610bea565b6008819055505f662386f26fc100006631bced02db00006102cd9190610c1d565b90506102ed306102e161031760201b60201c565b8361047060201b60201c565b61030e6102fe61031760201b60201c565b600f6104a460201b90919060201c565b50505050610e9a565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361038c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038390610caa565b60405180910390fd5b61039d5f83836104d760201b60201c565b8060025f8282546103ae9190610bea565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546104009190610bea565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516104649190610cd7565b60405180910390a35050565b6104818383836104dc60201b60201c565b5f81111561049f5761049d82600f6104a460201b90919060201c565b505b505050565b5f6104cf835f018373ffffffffffffffffffffffffffffffffffffffff165f1b61075560201b60201c565b905092915050565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361054a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054190610d60565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105af90610dee565b60405180910390fd5b6105c98383836104d760201b60201c565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390610e7c565b60405180910390fd5b81816106589190610c1d565b5f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546106e39190610bea565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107479190610cd7565b60405180910390a350505050565b5f61076683836107c260201b60201c565b6107b857825f0182908060018154018082558091505060019003905f5260205f20015f9091909190915055825f0180549050836001015f8481526020019081526020015f2081905550600190506107bc565b5f90505b92915050565b5f80836001015f8481526020019081526020015f20541415905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61080f826107e6565b9050919050565b61081f81610805565b8114610829575f80fd5b50565b5f8151905061083a81610816565b92915050565b5f60ff82169050919050565b61085581610840565b811461085f575f80fd5b50565b5f815190506108708161084c565b92915050565b5f806040838503121561088c5761088b6107e2565b5b5f6108998582860161082c565b92505060206108aa85828601610862565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061092f57607f821691505b602082108103610942576109416108eb565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026109a47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610969565b6109ae8683610969565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6109f26109ed6109e8846109c6565b6109cf565b6109c6565b9050919050565b5f819050919050565b610a0b836109d8565b610a1f610a17826109f9565b848454610975565b825550505050565b5f90565b610a33610a27565b610a3e818484610a02565b505050565b5b81811015610a6157610a565f82610a2b565b600181019050610a44565b5050565b601f821115610aa657610a7781610948565b610a808461095a565b81016020851015610a8f578190505b610aa3610a9b8561095a565b830182610a43565b50505b505050565b5f82821c905092915050565b5f610ac65f1984600802610aab565b1980831691505092915050565b5f610ade8383610ab7565b9150826002028217905092915050565b610af7826108b4565b67ffffffffffffffff811115610b1057610b0f6108be565b5b610b1a8254610918565b610b25828285610a65565b5f60209050601f831160018114610b56575f8415610b44578287015190505b610b4e8582610ad3565b865550610bb5565b601f198416610b6486610948565b5f5b82811015610b8b57848901518255600182019150602085019450602081019050610b66565b86831015610ba85784890151610ba4601f891682610ab7565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610bf4826109c6565b9150610bff836109c6565b9250828201905080821115610c1757610c16610bbd565b5b92915050565b5f610c27826109c6565b9150610c32836109c6565b9250828203905081811115610c4a57610c49610bbd565b5b92915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f610c94601f83610c50565b9150610c9f82610c60565b602082019050919050565b5f6020820190508181035f830152610cc181610c88565b9050919050565b610cd1816109c6565b82525050565b5f602082019050610cea5f830184610cc8565b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f610d4a602583610c50565b9150610d5582610cf0565b604082019050919050565b5f6020820190508181035f830152610d7781610d3e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f610dd8602383610c50565b9150610de382610d7e565b604082019050919050565b5f6020820190508181035f830152610e0581610dcc565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f610e66602683610c50565b9150610e7182610e0c565b604082019050919050565b5f6020820190508181035f830152610e9381610e5a565b9050919050565b608051613105610eb25f395f611c5101526131055ff3fe608060405260043610610184575f3560e01c8063715018a6116100d0578063a457c2d711610089578063b29a814011610063578063b29a814014610558578063dd62ed3e14610580578063f2fde38b146105bc578063f47d0572146105e45761018b565b8063a457c2d7146104b6578063a9059cbb146104f2578063aa23e03d1461052e5761018b565b8063715018a6146103cf57806375b17350146103e557806379cc67901461040f5780637be39de5146104375780638da5cb5b1461046257806395d89b411461048c5761018b565b80632728fa7d1161013d5780633950935111610117578063395093511461031957806342966c68146103555780636cef312c1461037d57806370a08231146103935761018b565b80632728fa7d146102af5780632c0b8534146102c5578063313ce567146102ef5761018b565b806301f25a4a1461018f57806306fdde03146101bb578063095ea7b3146101e55780630aee88c41461022157806318160ddd1461024957806323b872dd146102735761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101a3610620565b6040516101b2939291906121b7565b60405180910390f35b3480156101c6575f80fd5b506101cf610685565b6040516101dc919061226a565b60405180910390f35b3480156101f0575f80fd5b5061020b600480360381019061020691906122e2565b610715565b604051610218919061233a565b60405180910390f35b34801561022c575f80fd5b5061024760048036038101906102429190612353565b610737565b005b348015610254575f80fd5b5061025d6107cb565b60405161026a919061237e565b60405180910390f35b34801561027e575f80fd5b5061029960048036038101906102949190612397565b6107d4565b6040516102a6919061233a565b60405180910390f35b3480156102ba575f80fd5b506102c36108cf565b005b3480156102d0575f80fd5b506102d961095f565b6040516102e6919061233a565b60405180910390f35b3480156102fa575f80fd5b50610303610967565b6040516103109190612402565b60405180910390f35b348015610324575f80fd5b5061033f600480360381019061033a91906122e2565b610975565b60405161034c919061233a565b60405180910390f35b348015610360575f80fd5b5061037b6004803603810190610376919061241b565b610a1c565b005b348015610388575f80fd5b50610391610a30565b005b34801561039e575f80fd5b506103b960048036038101906103b49190612353565b610dcf565b6040516103c6919061237e565b60405180910390f35b3480156103da575f80fd5b506103e3610e14565b005b3480156103f0575f80fd5b506103f9610f4d565b604051610406919061237e565b60405180910390f35b34801561041a575f80fd5b50610435600480360381019061043091906122e2565b610f53565b005b348015610442575f80fd5b5061044b610fd6565b604051610459929190612446565b60405180910390f35b34801561046d575f80fd5b506104766111b8565b604051610483919061248a565b60405180910390f35b348015610497575f80fd5b506104a06111e0565b6040516104ad919061226a565b60405180910390f35b3480156104c1575f80fd5b506104dc60048036038101906104d791906122e2565b611270565b6040516104e9919061233a565b60405180910390f35b3480156104fd575f80fd5b50610518600480360381019061051391906122e2565b61135f565b604051610525919061233a565b60405180910390f35b348015610539575f80fd5b50610542611381565b60405161054f919061226a565b60405180910390f35b348015610563575f80fd5b5061057e600480360381019061057991906122e2565b611411565b005b34801561058b575f80fd5b506105a660048036038101906105a191906124a3565b611619565b6040516105b3919061237e565b60405180910390f35b3480156105c7575f80fd5b506105e260048036038101906105dd9190612353565b61169b565b005b3480156105ef575f80fd5b5061060a60048036038101906106059190612353565b611843565b604051610617919061233a565b60405180910390f35b6060805f805f61062e610fd6565b915091505f805b835181101561067357828181518110610651576106506124e1565b5b602002602001015182610664919061253b565b91508080600101915050610635565b50828282955095509550505050909192565b6060600380546106949061259b565b80601f01602080910402602001604051908101604052809291908181526020018280546106c09061259b565b801561070b5780601f106106e25761010080835404028352916020019161070b565b820191905f5260205f20905b8154815290600101906020018083116106ee57829003601f168201915b5050505050905090565b5f8061071f61185f565b905061072c818585611866565b600191505092915050565b61073f61185f565b73ffffffffffffffffffffffffffffffffffffffff1661075d6111b8565b73ffffffffffffffffffffffffffffffffffffffff16146107b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107aa9061263b565b60405180910390fd5b6107c781600d611a2990919063ffffffff16565b5050565b5f600254905090565b5f6107e0848484611a56565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61082761185f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156108a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089d906126c9565b60405180910390fd5b6108c3856108b261185f565b85846108be91906126e7565b611866565b60019150509392505050565b6108d761185f565b73ffffffffffffffffffffffffffffffffffffffff166108f56111b8565b73ffffffffffffffffffffffffffffffffffffffff161461094b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109429061263b565b60405180910390fd5b61095d3061095830610dcf565b611a84565b565b5f6001905090565b5f610970611c4e565b905090565b5f610a1261098161185f565b848460015f61098e61185f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a0d919061253b565b611866565b6001905092915050565b610a2d610a2761185f565b82611a84565b50565b600854421015610a75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6c9061278a565b60405180910390fd5b600a54421015610aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab190612818565b60405180910390fd5b5f662386f26fc10000610acb6107cb565b610ad591906126e7565b90505f6426ce115680905081811115610b23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1a90612880565b60405180910390fd5b5f80610b2d610fd6565b915091505f805b8351811015610c4757610b60848281518110610b5357610b526124e1565b5b6020026020010151611843565b158015610bba5750610b706111b8565b73ffffffffffffffffffffffffffffffffffffffff16848281518110610b9957610b986124e1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b8015610c0c57505f73ffffffffffffffffffffffffffffffffffffffff16848281518110610beb57610bea6124e1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b15610c3a57828181518110610c2457610c236124e1565b5b602002602001015182610c37919061253b565b91505b8080600101915050610b34565b505f8111610c8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c81906128e8565b60405180910390fd5b5f5b8351811015610da9575f848281518110610ca957610ca86124e1565b5b60200260200101519050610cbc81611843565b158015610cfc5750610ccc6111b8565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015610d3457505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b15610d9b575f83620f4240868581518110610d5257610d516124e1565b5b6020026020010151610d649190612906565b610d6e9190612974565b90505f620f42408883610d819190612906565b610d8b9190612974565b9050610d98308483611a56565b50505b508080600101915050610c8c565b504260098190555062015180600954610dc2919061253b565b600a819055505050505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610e1c61185f565b73ffffffffffffffffffffffffffffffffffffffff16610e3a6111b8565b73ffffffffffffffffffffffffffffffffffffffff1614610e90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e879061263b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60095481565b5f610f6583610f6061185f565b611619565b905081811015610faa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa190612a14565b60405180910390fd5b610fc783610fb661185f565b8484610fc291906126e7565b611866565b610fd18383611a84565b505050565b6060805f610fe4600f611c75565b90505f8167ffffffffffffffff81111561100157611000612a32565b5b60405190808252806020026020018201604052801561102f5781602001602082028036833780820191505090505b5090505f8267ffffffffffffffff81111561104d5761104c612a32565b5b60405190808252806020026020018201604052801561107b5781602001602082028036833780820191505090505b5090505f5b838110156111aa575f61109d82600f611c8890919063ffffffff16565b90506110a881611843565b1580156110e857506110b86111b8565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561112057505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b1561119c5780848381518110611139576111386124e1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061117c81610dcf565b83838151811061118f5761118e6124e1565b5b6020026020010181815250505b508080600101915050611080565b508181945094505050509091565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546111ef9061259b565b80601f016020809104026020016040519081016040528092919081815260200182805461121b9061259b565b80156112665780601f1061123d57610100808354040283529160200191611266565b820191905f5260205f20905b81548152906001019060200180831161124957829003601f168201915b5050505050905090565b5f8060015f61127d61185f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132e90612acf565b60405180910390fd5b61135461134261185f565b85858461134f91906126e7565b611866565b600191505092915050565b5f8061136961185f565b9050611376818585611a56565b600191505092915050565b6060600780546113909061259b565b80601f01602080910402602001604051908101604052809291908181526020018280546113bc9061259b565b80156114075780601f106113de57610100808354040283529160200191611407565b820191905f5260205f20905b8154815290600101906020018083116113ea57829003601f168201915b5050505050905090565b61141961185f565b73ffffffffffffffffffffffffffffffffffffffff166114376111b8565b73ffffffffffffffffffffffffffffffffffffffff161461148d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114849061263b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611586578173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6114e46111b8565b836040518363ffffffff1660e01b8152600401611502929190612aed565b6020604051808303815f875af115801561151e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115429190612b3e565b611581576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157890612bd9565b60405180910390fd5b611615565b804710156115c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c090612c41565b60405180910390fd5b6115d16111b8565b73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611613573d5f803e3d5ffd5b505b5050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6116a361185f565b73ffffffffffffffffffffffffffffffffffffffff166116c16111b8565b73ffffffffffffffffffffffffffffffffffffffff1614611717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170e9061263b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611785576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177c90612ccf565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f61185882600d611c9f90919063ffffffff16565b9050919050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cb90612d5d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611942576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193990612deb565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a1c919061237e565b60405180910390a3505050565b5f611a4e835f018373ffffffffffffffffffffffffffffffffffffffff165f1b611ccc565b905092915050565b611a61838383611d33565b5f811115611a7f57611a7d82600f611a2990919063ffffffff16565b505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611af2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae990612e79565b60405180910390fd5b611afd825f83611fa6565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611b80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7790612f07565b60405180910390fd5b8181611b8c91906126e7565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f828254611bdd91906126e7565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c41919061237e565b60405180910390a3505050565b5f7f0000000000000000000000000000000000000000000000000000000000000000905090565b5f611c81825f01611fab565b9050919050565b5f611c95835f0183611fba565b5f1c905092915050565b5f611cc4835f018373ffffffffffffffffffffffffffffffffffffffff165f1b611fe1565b905092915050565b5f611cd78383611fe1565b611d2957825f0182908060018154018082558091505060019003905f5260205f20015f9091909190915055825f0180549050836001015f8481526020019081526020015f208190555060019050611d2d565b5f90505b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611da1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9890612f95565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0690613023565b60405180910390fd5b611e1a838383611fa6565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611e9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e94906130b1565b60405180910390fd5b8181611ea991906126e7565b5f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611f34919061253b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f98919061237e565b60405180910390a350505050565b505050565b5f815f01805490509050919050565b5f825f018281548110611fd057611fcf6124e1565b5b905f5260205f200154905092915050565b5f80836001015f8481526020019081526020015f20541415905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120538261202a565b9050919050565b61206381612049565b82525050565b5f612074838361205a565b60208301905092915050565b5f602082019050919050565b5f61209682612001565b6120a0818561200b565b93506120ab8361201b565b805f5b838110156120db5781516120c28882612069565b97506120cd83612080565b9250506001810190506120ae565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b61212381612111565b82525050565b5f612134838361211a565b60208301905092915050565b5f602082019050919050565b5f612156826120e8565b61216081856120f2565b935061216b83612102565b805f5b8381101561219b5781516121828882612129565b975061218d83612140565b92505060018101905061216e565b5085935050505092915050565b6121b181612111565b82525050565b5f6060820190508181035f8301526121cf818661208c565b905081810360208301526121e3818561214c565b90506121f260408301846121a8565b949350505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61223c826121fa565b6122468185612204565b9350612256818560208601612214565b61225f81612222565b840191505092915050565b5f6020820190508181035f8301526122828184612232565b905092915050565b5f80fd5b61229781612049565b81146122a1575f80fd5b50565b5f813590506122b28161228e565b92915050565b6122c181612111565b81146122cb575f80fd5b50565b5f813590506122dc816122b8565b92915050565b5f80604083850312156122f8576122f761228a565b5b5f612305858286016122a4565b9250506020612316858286016122ce565b9150509250929050565b5f8115159050919050565b61233481612320565b82525050565b5f60208201905061234d5f83018461232b565b92915050565b5f602082840312156123685761236761228a565b5b5f612375848285016122a4565b91505092915050565b5f6020820190506123915f8301846121a8565b92915050565b5f805f606084860312156123ae576123ad61228a565b5b5f6123bb868287016122a4565b93505060206123cc868287016122a4565b92505060406123dd868287016122ce565b9150509250925092565b5f60ff82169050919050565b6123fc816123e7565b82525050565b5f6020820190506124155f8301846123f3565b92915050565b5f602082840312156124305761242f61228a565b5b5f61243d848285016122ce565b91505092915050565b5f6040820190508181035f83015261245e818561208c565b90508181036020830152612472818461214c565b90509392505050565b61248481612049565b82525050565b5f60208201905061249d5f83018461247b565b92915050565b5f80604083850312156124b9576124b861228a565b5b5f6124c6858286016122a4565b92505060206124d7858286016122a4565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61254582612111565b915061255083612111565b92508282019050808211156125685761256761250e565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806125b257607f821691505b6020821081036125c5576125c461256e565b5b50919050565b7f45524332304f776e61626c653a2063616c6c6572206973206e6f7420746865205f8201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b5f612625602583612204565b9150612630826125cb565b604082019050919050565b5f6020820190508181035f83015261265281612619565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f6126b3602883612204565b91506126be82612659565b604082019050919050565b5f6020820190508181035f8301526126e0816126a7565b9050919050565b5f6126f182612111565b91506126fc83612111565b92508282039050818111156127145761271361250e565b5b92915050565b7f546f6b656e2072656c6561736520686173206e6f7420737461727465642079655f8201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b5f612774602183612204565b915061277f8261271a565b604082019050919050565b5f6020820190508181035f8301526127a181612768565b9050919050565b7f446973747269627574696f6e20696e74657276616c206e6f74207265616368655f8201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b5f612802602183612204565b915061280d826127a8565b604082019050919050565b5f6020820190508181035f83015261282f816127f6565b9050919050565b7f496e73756666696369656e742063697263756c6174696e6720737570706c79005f82015250565b5f61286a601f83612204565b915061287582612836565b602082019050919050565b5f6020820190508181035f8301526128978161285e565b9050919050565b7f4e6f2062616c616e636520746f206469737472696275746500000000000000005f82015250565b5f6128d2601883612204565b91506128dd8261289e565b602082019050919050565b5f6020820190508181035f8301526128ff816128c6565b9050919050565b5f61291082612111565b915061291b83612111565b925082820261292981612111565b915082820484148315176129405761293f61250e565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61297e82612111565b915061298983612111565b92508261299957612998612947565b5b828204905092915050565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f775f8201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b5f6129fe602483612204565b9150612a09826129a4565b604082019050919050565b5f6020820190508181035f830152612a2b816129f2565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612ab9602583612204565b9150612ac482612a5f565b604082019050919050565b5f6020820190508181035f830152612ae681612aad565b9050919050565b5f604082019050612b005f83018561247b565b612b0d60208301846121a8565b9392505050565b612b1d81612320565b8114612b27575f80fd5b50565b5f81519050612b3881612b14565b92915050565b5f60208284031215612b5357612b5261228a565b5b5f612b6084828501612b2a565b91505092915050565b7f4f776e65722063616e6e6f74207265636f766572207468656972206f776e20455f8201527f52432d323020746f6b656e730000000000000000000000000000000000000000602082015250565b5f612bc3602c83612204565b9150612bce82612b69565b604082019050919050565b5f6020820190508181035f830152612bf081612bb7565b9050919050565b7f496e73756666696369656e7420636f6e74726163742062616c616e63650000005f82015250565b5f612c2b601d83612204565b9150612c3682612bf7565b602082019050919050565b5f6020820190508181035f830152612c5881612c1f565b9050919050565b7f45524332304f776e61626c653a206e6577206f776e657220697320746865207a5f8201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b5f612cb9602b83612204565b9150612cc482612c5f565b604082019050919050565b5f6020820190508181035f830152612ce681612cad565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612d47602483612204565b9150612d5282612ced565b604082019050919050565b5f6020820190508181035f830152612d7481612d3b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612dd5602283612204565b9150612de082612d7b565b604082019050919050565b5f6020820190508181035f830152612e0281612dc9565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e63602183612204565b9150612e6e82612e09565b604082019050919050565b5f6020820190508181035f830152612e9081612e57565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ef1602283612204565b9150612efc82612e97565b604082019050919050565b5f6020820190508181035f830152612f1e81612ee5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612f7f602583612204565b9150612f8a82612f25565b604082019050919050565b5f6020820190508181035f830152612fac81612f73565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61300d602383612204565b915061301882612fb3565b604082019050919050565b5f6020820190508181035f83015261303a81613001565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61309b602683612204565b91506130a682613041565b604082019050919050565b5f6020820190508181035f8301526130c88161308f565b905091905056fea264697066735822122012c11ecfbd3083d2c8a75bb338b4a14a23124e644baabe241810642c3fd97c8c64736f6c63430008190033000000000000000000000000278672e083a919805bcd53cdb72430cbaa2014580000000000000000000000000000000000000000000000000000000000000006
Deployed Bytecode
0x608060405260043610610184575f3560e01c8063715018a6116100d0578063a457c2d711610089578063b29a814011610063578063b29a814014610558578063dd62ed3e14610580578063f2fde38b146105bc578063f47d0572146105e45761018b565b8063a457c2d7146104b6578063a9059cbb146104f2578063aa23e03d1461052e5761018b565b8063715018a6146103cf57806375b17350146103e557806379cc67901461040f5780637be39de5146104375780638da5cb5b1461046257806395d89b411461048c5761018b565b80632728fa7d1161013d5780633950935111610117578063395093511461031957806342966c68146103555780636cef312c1461037d57806370a08231146103935761018b565b80632728fa7d146102af5780632c0b8534146102c5578063313ce567146102ef5761018b565b806301f25a4a1461018f57806306fdde03146101bb578063095ea7b3146101e55780630aee88c41461022157806318160ddd1461024957806323b872dd146102735761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101a3610620565b6040516101b2939291906121b7565b60405180910390f35b3480156101c6575f80fd5b506101cf610685565b6040516101dc919061226a565b60405180910390f35b3480156101f0575f80fd5b5061020b600480360381019061020691906122e2565b610715565b604051610218919061233a565b60405180910390f35b34801561022c575f80fd5b5061024760048036038101906102429190612353565b610737565b005b348015610254575f80fd5b5061025d6107cb565b60405161026a919061237e565b60405180910390f35b34801561027e575f80fd5b5061029960048036038101906102949190612397565b6107d4565b6040516102a6919061233a565b60405180910390f35b3480156102ba575f80fd5b506102c36108cf565b005b3480156102d0575f80fd5b506102d961095f565b6040516102e6919061233a565b60405180910390f35b3480156102fa575f80fd5b50610303610967565b6040516103109190612402565b60405180910390f35b348015610324575f80fd5b5061033f600480360381019061033a91906122e2565b610975565b60405161034c919061233a565b60405180910390f35b348015610360575f80fd5b5061037b6004803603810190610376919061241b565b610a1c565b005b348015610388575f80fd5b50610391610a30565b005b34801561039e575f80fd5b506103b960048036038101906103b49190612353565b610dcf565b6040516103c6919061237e565b60405180910390f35b3480156103da575f80fd5b506103e3610e14565b005b3480156103f0575f80fd5b506103f9610f4d565b604051610406919061237e565b60405180910390f35b34801561041a575f80fd5b50610435600480360381019061043091906122e2565b610f53565b005b348015610442575f80fd5b5061044b610fd6565b604051610459929190612446565b60405180910390f35b34801561046d575f80fd5b506104766111b8565b604051610483919061248a565b60405180910390f35b348015610497575f80fd5b506104a06111e0565b6040516104ad919061226a565b60405180910390f35b3480156104c1575f80fd5b506104dc60048036038101906104d791906122e2565b611270565b6040516104e9919061233a565b60405180910390f35b3480156104fd575f80fd5b50610518600480360381019061051391906122e2565b61135f565b604051610525919061233a565b60405180910390f35b348015610539575f80fd5b50610542611381565b60405161054f919061226a565b60405180910390f35b348015610563575f80fd5b5061057e600480360381019061057991906122e2565b611411565b005b34801561058b575f80fd5b506105a660048036038101906105a191906124a3565b611619565b6040516105b3919061237e565b60405180910390f35b3480156105c7575f80fd5b506105e260048036038101906105dd9190612353565b61169b565b005b3480156105ef575f80fd5b5061060a60048036038101906106059190612353565b611843565b604051610617919061233a565b60405180910390f35b6060805f805f61062e610fd6565b915091505f805b835181101561067357828181518110610651576106506124e1565b5b602002602001015182610664919061253b565b91508080600101915050610635565b50828282955095509550505050909192565b6060600380546106949061259b565b80601f01602080910402602001604051908101604052809291908181526020018280546106c09061259b565b801561070b5780601f106106e25761010080835404028352916020019161070b565b820191905f5260205f20905b8154815290600101906020018083116106ee57829003601f168201915b5050505050905090565b5f8061071f61185f565b905061072c818585611866565b600191505092915050565b61073f61185f565b73ffffffffffffffffffffffffffffffffffffffff1661075d6111b8565b73ffffffffffffffffffffffffffffffffffffffff16146107b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107aa9061263b565b60405180910390fd5b6107c781600d611a2990919063ffffffff16565b5050565b5f600254905090565b5f6107e0848484611a56565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61082761185f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156108a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089d906126c9565b60405180910390fd5b6108c3856108b261185f565b85846108be91906126e7565b611866565b60019150509392505050565b6108d761185f565b73ffffffffffffffffffffffffffffffffffffffff166108f56111b8565b73ffffffffffffffffffffffffffffffffffffffff161461094b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109429061263b565b60405180910390fd5b61095d3061095830610dcf565b611a84565b565b5f6001905090565b5f610970611c4e565b905090565b5f610a1261098161185f565b848460015f61098e61185f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a0d919061253b565b611866565b6001905092915050565b610a2d610a2761185f565b82611a84565b50565b600854421015610a75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6c9061278a565b60405180910390fd5b600a54421015610aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab190612818565b60405180910390fd5b5f662386f26fc10000610acb6107cb565b610ad591906126e7565b90505f6426ce115680905081811115610b23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1a90612880565b60405180910390fd5b5f80610b2d610fd6565b915091505f805b8351811015610c4757610b60848281518110610b5357610b526124e1565b5b6020026020010151611843565b158015610bba5750610b706111b8565b73ffffffffffffffffffffffffffffffffffffffff16848281518110610b9957610b986124e1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b8015610c0c57505f73ffffffffffffffffffffffffffffffffffffffff16848281518110610beb57610bea6124e1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b15610c3a57828181518110610c2457610c236124e1565b5b602002602001015182610c37919061253b565b91505b8080600101915050610b34565b505f8111610c8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c81906128e8565b60405180910390fd5b5f5b8351811015610da9575f848281518110610ca957610ca86124e1565b5b60200260200101519050610cbc81611843565b158015610cfc5750610ccc6111b8565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015610d3457505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b15610d9b575f83620f4240868581518110610d5257610d516124e1565b5b6020026020010151610d649190612906565b610d6e9190612974565b90505f620f42408883610d819190612906565b610d8b9190612974565b9050610d98308483611a56565b50505b508080600101915050610c8c565b504260098190555062015180600954610dc2919061253b565b600a819055505050505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610e1c61185f565b73ffffffffffffffffffffffffffffffffffffffff16610e3a6111b8565b73ffffffffffffffffffffffffffffffffffffffff1614610e90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e879061263b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60095481565b5f610f6583610f6061185f565b611619565b905081811015610faa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa190612a14565b60405180910390fd5b610fc783610fb661185f565b8484610fc291906126e7565b611866565b610fd18383611a84565b505050565b6060805f610fe4600f611c75565b90505f8167ffffffffffffffff81111561100157611000612a32565b5b60405190808252806020026020018201604052801561102f5781602001602082028036833780820191505090505b5090505f8267ffffffffffffffff81111561104d5761104c612a32565b5b60405190808252806020026020018201604052801561107b5781602001602082028036833780820191505090505b5090505f5b838110156111aa575f61109d82600f611c8890919063ffffffff16565b90506110a881611843565b1580156110e857506110b86111b8565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561112057505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b1561119c5780848381518110611139576111386124e1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061117c81610dcf565b83838151811061118f5761118e6124e1565b5b6020026020010181815250505b508080600101915050611080565b508181945094505050509091565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546111ef9061259b565b80601f016020809104026020016040519081016040528092919081815260200182805461121b9061259b565b80156112665780601f1061123d57610100808354040283529160200191611266565b820191905f5260205f20905b81548152906001019060200180831161124957829003601f168201915b5050505050905090565b5f8060015f61127d61185f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132e90612acf565b60405180910390fd5b61135461134261185f565b85858461134f91906126e7565b611866565b600191505092915050565b5f8061136961185f565b9050611376818585611a56565b600191505092915050565b6060600780546113909061259b565b80601f01602080910402602001604051908101604052809291908181526020018280546113bc9061259b565b80156114075780601f106113de57610100808354040283529160200191611407565b820191905f5260205f20905b8154815290600101906020018083116113ea57829003601f168201915b5050505050905090565b61141961185f565b73ffffffffffffffffffffffffffffffffffffffff166114376111b8565b73ffffffffffffffffffffffffffffffffffffffff161461148d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114849061263b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611586578173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6114e46111b8565b836040518363ffffffff1660e01b8152600401611502929190612aed565b6020604051808303815f875af115801561151e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115429190612b3e565b611581576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157890612bd9565b60405180910390fd5b611615565b804710156115c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c090612c41565b60405180910390fd5b6115d16111b8565b73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611613573d5f803e3d5ffd5b505b5050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6116a361185f565b73ffffffffffffffffffffffffffffffffffffffff166116c16111b8565b73ffffffffffffffffffffffffffffffffffffffff1614611717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170e9061263b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611785576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177c90612ccf565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f61185882600d611c9f90919063ffffffff16565b9050919050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cb90612d5d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611942576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193990612deb565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a1c919061237e565b60405180910390a3505050565b5f611a4e835f018373ffffffffffffffffffffffffffffffffffffffff165f1b611ccc565b905092915050565b611a61838383611d33565b5f811115611a7f57611a7d82600f611a2990919063ffffffff16565b505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611af2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae990612e79565b60405180910390fd5b611afd825f83611fa6565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611b80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7790612f07565b60405180910390fd5b8181611b8c91906126e7565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f828254611bdd91906126e7565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c41919061237e565b60405180910390a3505050565b5f7f0000000000000000000000000000000000000000000000000000000000000006905090565b5f611c81825f01611fab565b9050919050565b5f611c95835f0183611fba565b5f1c905092915050565b5f611cc4835f018373ffffffffffffffffffffffffffffffffffffffff165f1b611fe1565b905092915050565b5f611cd78383611fe1565b611d2957825f0182908060018154018082558091505060019003905f5260205f20015f9091909190915055825f0180549050836001015f8481526020019081526020015f208190555060019050611d2d565b5f90505b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611da1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9890612f95565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0690613023565b60405180910390fd5b611e1a838383611fa6565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611e9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e94906130b1565b60405180910390fd5b8181611ea991906126e7565b5f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611f34919061253b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f98919061237e565b60405180910390a350505050565b505050565b5f815f01805490509050919050565b5f825f018281548110611fd057611fcf6124e1565b5b905f5260205f200154905092915050565b5f80836001015f8481526020019081526020015f20541415905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120538261202a565b9050919050565b61206381612049565b82525050565b5f612074838361205a565b60208301905092915050565b5f602082019050919050565b5f61209682612001565b6120a0818561200b565b93506120ab8361201b565b805f5b838110156120db5781516120c28882612069565b97506120cd83612080565b9250506001810190506120ae565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b61212381612111565b82525050565b5f612134838361211a565b60208301905092915050565b5f602082019050919050565b5f612156826120e8565b61216081856120f2565b935061216b83612102565b805f5b8381101561219b5781516121828882612129565b975061218d83612140565b92505060018101905061216e565b5085935050505092915050565b6121b181612111565b82525050565b5f6060820190508181035f8301526121cf818661208c565b905081810360208301526121e3818561214c565b90506121f260408301846121a8565b949350505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61223c826121fa565b6122468185612204565b9350612256818560208601612214565b61225f81612222565b840191505092915050565b5f6020820190508181035f8301526122828184612232565b905092915050565b5f80fd5b61229781612049565b81146122a1575f80fd5b50565b5f813590506122b28161228e565b92915050565b6122c181612111565b81146122cb575f80fd5b50565b5f813590506122dc816122b8565b92915050565b5f80604083850312156122f8576122f761228a565b5b5f612305858286016122a4565b9250506020612316858286016122ce565b9150509250929050565b5f8115159050919050565b61233481612320565b82525050565b5f60208201905061234d5f83018461232b565b92915050565b5f602082840312156123685761236761228a565b5b5f612375848285016122a4565b91505092915050565b5f6020820190506123915f8301846121a8565b92915050565b5f805f606084860312156123ae576123ad61228a565b5b5f6123bb868287016122a4565b93505060206123cc868287016122a4565b92505060406123dd868287016122ce565b9150509250925092565b5f60ff82169050919050565b6123fc816123e7565b82525050565b5f6020820190506124155f8301846123f3565b92915050565b5f602082840312156124305761242f61228a565b5b5f61243d848285016122ce565b91505092915050565b5f6040820190508181035f83015261245e818561208c565b90508181036020830152612472818461214c565b90509392505050565b61248481612049565b82525050565b5f60208201905061249d5f83018461247b565b92915050565b5f80604083850312156124b9576124b861228a565b5b5f6124c6858286016122a4565b92505060206124d7858286016122a4565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61254582612111565b915061255083612111565b92508282019050808211156125685761256761250e565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806125b257607f821691505b6020821081036125c5576125c461256e565b5b50919050565b7f45524332304f776e61626c653a2063616c6c6572206973206e6f7420746865205f8201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b5f612625602583612204565b9150612630826125cb565b604082019050919050565b5f6020820190508181035f83015261265281612619565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f6126b3602883612204565b91506126be82612659565b604082019050919050565b5f6020820190508181035f8301526126e0816126a7565b9050919050565b5f6126f182612111565b91506126fc83612111565b92508282039050818111156127145761271361250e565b5b92915050565b7f546f6b656e2072656c6561736520686173206e6f7420737461727465642079655f8201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b5f612774602183612204565b915061277f8261271a565b604082019050919050565b5f6020820190508181035f8301526127a181612768565b9050919050565b7f446973747269627574696f6e20696e74657276616c206e6f74207265616368655f8201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b5f612802602183612204565b915061280d826127a8565b604082019050919050565b5f6020820190508181035f83015261282f816127f6565b9050919050565b7f496e73756666696369656e742063697263756c6174696e6720737570706c79005f82015250565b5f61286a601f83612204565b915061287582612836565b602082019050919050565b5f6020820190508181035f8301526128978161285e565b9050919050565b7f4e6f2062616c616e636520746f206469737472696275746500000000000000005f82015250565b5f6128d2601883612204565b91506128dd8261289e565b602082019050919050565b5f6020820190508181035f8301526128ff816128c6565b9050919050565b5f61291082612111565b915061291b83612111565b925082820261292981612111565b915082820484148315176129405761293f61250e565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61297e82612111565b915061298983612111565b92508261299957612998612947565b5b828204905092915050565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f775f8201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b5f6129fe602483612204565b9150612a09826129a4565b604082019050919050565b5f6020820190508181035f830152612a2b816129f2565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612ab9602583612204565b9150612ac482612a5f565b604082019050919050565b5f6020820190508181035f830152612ae681612aad565b9050919050565b5f604082019050612b005f83018561247b565b612b0d60208301846121a8565b9392505050565b612b1d81612320565b8114612b27575f80fd5b50565b5f81519050612b3881612b14565b92915050565b5f60208284031215612b5357612b5261228a565b5b5f612b6084828501612b2a565b91505092915050565b7f4f776e65722063616e6e6f74207265636f766572207468656972206f776e20455f8201527f52432d323020746f6b656e730000000000000000000000000000000000000000602082015250565b5f612bc3602c83612204565b9150612bce82612b69565b604082019050919050565b5f6020820190508181035f830152612bf081612bb7565b9050919050565b7f496e73756666696369656e7420636f6e74726163742062616c616e63650000005f82015250565b5f612c2b601d83612204565b9150612c3682612bf7565b602082019050919050565b5f6020820190508181035f830152612c5881612c1f565b9050919050565b7f45524332304f776e61626c653a206e6577206f776e657220697320746865207a5f8201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b5f612cb9602b83612204565b9150612cc482612c5f565b604082019050919050565b5f6020820190508181035f830152612ce681612cad565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612d47602483612204565b9150612d5282612ced565b604082019050919050565b5f6020820190508181035f830152612d7481612d3b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612dd5602283612204565b9150612de082612d7b565b604082019050919050565b5f6020820190508181035f830152612e0281612dc9565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e63602183612204565b9150612e6e82612e09565b604082019050919050565b5f6020820190508181035f830152612e9081612e57565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ef1602283612204565b9150612efc82612e97565b604082019050919050565b5f6020820190508181035f830152612f1e81612ee5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612f7f602583612204565b9150612f8a82612f25565b604082019050919050565b5f6020820190508181035f830152612fac81612f73565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61300d602383612204565b915061301882612fb3565b604082019050919050565b5f6020820190508181035f83015261303a81613001565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61309b602683612204565b91506130a682613041565b604082019050919050565b5f6020820190508181035f8301526130c88161308f565b905091905056fea264697066735822122012c11ecfbd3083d2c8a75bb338b4a14a23124e644baabe241810642c3fd97c8c64736f6c63430008190033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000278672e083a919805bcd53cdb72430cbaa2014580000000000000000000000000000000000000000000000000000000000000006
-----Decoded View---------------
Arg [0] : __ARZ_target (address): 0x278672E083A919805bcd53CDB72430CbaA201458
Arg [1] : __ARZ_decimals (uint8): 6
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000278672e083a919805bcd53cdb72430cbaa201458
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000006
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in POL
Multichain Portfolio | 32 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.