Source Code
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 23465461 | 167 days ago | 0.00236309 ETH | ||||
| Transfer | 21711202 | 412 days ago | 0.06789003 ETH | ||||
| Transfer | 21519104 | 439 days ago | 0.022524 ETH | ||||
| Transfer | 21461688 | 447 days ago | 0.02751353 ETH | ||||
| Transfer | 21015795 | 509 days ago | 0.05697018 ETH | ||||
| Transfer | 20674058 | 557 days ago | 0.02088627 ETH | ||||
| Transfer | 20493606 | 582 days ago | 0.03715882 ETH | ||||
| Transfer | 20000110 | 651 days ago | 0.0194413 ETH | ||||
| Transfer | 19971681 | 655 days ago | 0.03453891 ETH | ||||
| Transfer | 19888076 | 667 days ago | 0.0261134 ETH | ||||
| Transfer | 19851088 | 672 days ago | 0.07401992 ETH | ||||
| Transfer | 18442813 | 870 days ago | 0.06646335 ETH | ||||
| Transfer | 18397292 | 876 days ago | 0.01287676 ETH | ||||
| Transfer | 18261041 | 895 days ago | 0.01154865 ETH | ||||
| Transfer | 18232403 | 899 days ago | 0.01806776 ETH | ||||
| Transfer | 18232403 | 899 days ago | 0.01077591 ETH | ||||
| Transfer | 18199212 | 904 days ago | 0.01560383 ETH | ||||
| Transfer | 18199212 | 904 days ago | 0.0112007 ETH | ||||
| Transfer | 18168367 | 908 days ago | 0.01641652 ETH | ||||
| Transfer | 18165099 | 908 days ago | 0.01428116 ETH | ||||
| Transfer | 18140121 | 912 days ago | 0.02303425 ETH | ||||
| Transfer | 18140121 | 912 days ago | 0.01321211 ETH | ||||
| Transfer | 18109015 | 916 days ago | 0.01636455 ETH | ||||
| Transfer | 18109000 | 916 days ago | 0.03092346 ETH | ||||
| Transfer | 18099561 | 918 days ago | 0.03650245 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
QWAFeeHandler
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.19;
import "@openzeppelin/contracts/access/Ownable.sol";
import "./interface/IUniswapV2Router02.sol";
import "./interface/IQWN.sol";
import "./interface/IWETH.sol";
import "./interface/IStaking.sol";
/// @title QWAFeeHandler
/// @notice Handles distributing fees for Quantum Wealth Accelerator
contract QWAFeeHandler is Ownable {
/// EVENTS ///
event ETHSwapped(uint256 amount, FEETYPE indexed feetype);
/// VARIABLES ///
enum FEETYPE {
LIQUIDITY,
BUYANDBURN,
BUYANDSEND,
ETHTOTREASURY
}
/// @notice Current fee type
FEETYPE public feeType;
/// @notice Swap ETH at amount
uint256 public swapETHAtAmount;
/// @notice Address of QWN
address public immutable QWN;
/// @notice Address of staking
address public immutable staking;
/// @notice Address of WETH
address public immutable WETH;
/// @notice Address of treasury
address public immutable treasury;
/// @notice Address for team fees
address public constant teamAddress =
0xdDd80699387a25C5BA00a2f1389de73d351C7d3C;
/// @notice Address of UniswapV2Router
IUniswapV2Router02 public immutable uniswapV2Router;
/// CONSTRUCTOR ///
constructor(address _QWN, address _staking, address _WETH) {
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
);
uniswapV2Router = _uniswapV2Router;
swapETHAtAmount = 2.5 ether;
QWN = _QWN;
staking = _staking;
WETH = _WETH;
treasury = IQWN(QWN).treasury();
feeType = FEETYPE.BUYANDSEND;
}
/// OWNER FUNCTIONS ///
/// @notice Set fee type
function setFeeType(FEETYPE _feeType) external onlyOwner {
feeType = _feeType;
}
/// @notice ETH balance of contract to sawp
function setSwapETHAtAmount(uint256 _swapETHAtAmount) external onlyOwner {
swapETHAtAmount = _swapETHAtAmount;
}
/// CONVERT FEES ///
/// @notice Convert fees to `FEETYPE`
function convertFees() external {
uint256 wethBalance = IERC20(WETH).balanceOf(address(this));
if (wethBalance > 0) IWETH(WETH).withdraw(wethBalance);
uint256 contractBalance = address(this).balance;
bool canSwap = contractBalance >= swapETHAtAmount;
if (canSwap) {
uint256 teamFee = contractBalance / 3;
bool success;
(success, ) = address(teamAddress).call{value: teamFee}("");
contractBalance = address(this).balance;
if (feeType == FEETYPE.LIQUIDITY) {
_addLiquidity(contractBalance);
} else if (feeType == FEETYPE.BUYANDBURN) {
_swapETHForQWN(contractBalance);
IQWN(QWN).burn(IERC20(QWN).balanceOf(address(this)));
} else if (feeType == FEETYPE.BUYANDSEND) {
_swapETHForQWN(contractBalance);
uint256 balance = IERC20(QWN).balanceOf(address(this));
IERC20(QWN).approve(staking, balance);
IStaking(staking).stake(treasury, balance);
} else if (feeType == FEETYPE.ETHTOTREASURY) {
IWETH(WETH).deposit{value: contractBalance}();
IERC20(WETH).transfer(treasury, contractBalance);
}
emit ETHSwapped(contractBalance, feeType);
}
}
//// INTERNAL FUNCTIONS ///
/// @dev INTERNAL function to add swap ETH fees for QWN
/// @dev Invoked in `_addLiquidity()` and `convertFees()`
function _swapETHForQWN(uint256 _ethAmount) internal {
address[] memory path = new address[](2);
path[0] = WETH;
path[1] = QWN;
uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{
value: _ethAmount
}(0, path, address(this), block.timestamp);
}
/// @dev INTERNAL function to add ETH and QWN to liquidity
/// @dev Invoked in `convertFees()`
function _addLiquidity(uint256 _ethBalance) internal {
_swapETHForQWN(_ethBalance / 2);
uint256 qwnBalance = IERC20(QWN).balanceOf(address(this));
IERC20(QWN).approve(address(uniswapV2Router), qwnBalance);
uniswapV2Router.addLiquidityETH{value: address(this).balance}(
QWN,
qwnBalance,
0,
0,
treasury,
block.timestamp
);
}
/// RECEIVE ///
receive() external payable {}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)
pragma solidity ^0.8.0;
import "../utils/Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* By default, the owner account will be the one that deploys the contract. This
* can later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
_transferOwnership(_msgSender());
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby disabling any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)
pragma solidity ^0.8.0;
import "../IERC20.sol";
/**
* @dev Interface for the optional metadata functions from the ERC20 standard.
*
* _Available since v4.1._
*/
interface IERC20Metadata is IERC20 {
/**
* @dev Returns the name of the token.
*/
function name() external view returns (string memory);
/**
* @dev Returns the symbol of the token.
*/
function symbol() external view returns (string memory);
/**
* @dev Returns the decimals places of the token.
*/
function decimals() external view returns (uint8);
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol)
pragma solidity ^0.8.0;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `to`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address to, uint256 amount) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `from` to `to` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(address from, address to, uint256 amount) external returns (bool);
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
pragma solidity ^0.8.0;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
pragma solidity 0.8.19;
interface IQWN is IERC20Metadata {
function mint(address to_, uint256 amount_) external;
function burnFrom(address account_, uint256 amount_) external;
function burn(uint256 amount_) external;
function uniswapV2Pair() external view returns (address);
function treasury() external view returns (address);
}// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.19;
interface IStaking {
function stake(address _to, uint256 _amount) external;
function unstake(address _to, uint256 _amount, bool _rebase) external;
function rebase() external;
function index() external view returns (uint256);
}pragma solidity 0.8.19;
interface IUniswapV2Router02 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint256 amountADesired,
uint256 amountBDesired,
uint256 amountAMin,
uint256 amountBMin,
address to,
uint256 deadline
) external returns (uint256 amountA, uint256 amountB, uint256 liquidity);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external payable;
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function removeLiquidityETHSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountETH);
}pragma solidity >=0.5.0;
interface IWETH {
function deposit() external payable;
function transfer(address to, uint value) external returns (bool);
function transferFrom(
address from,
address to,
uint value
) external returns (bool);
function withdraw(uint) external;
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_QWN","type":"address"},{"internalType":"address","name":"_staking","type":"address"},{"internalType":"address","name":"_WETH","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"enum QWAFeeHandler.FEETYPE","name":"feetype","type":"uint8"}],"name":"ETHSwapped","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"},{"inputs":[],"name":"QWN","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"convertFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeType","outputs":[{"internalType":"enum QWAFeeHandler.FEETYPE","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum QWAFeeHandler.FEETYPE","name":"_feeType","type":"uint8"}],"name":"setFeeType","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swapETHAtAmount","type":"uint256"}],"name":"setSwapETHAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"staking","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapETHAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6101206040523480156200001257600080fd5b5060405162001eec38038062001eec833981810160405281019062000038919062000366565b620000586200004c6200023060201b60201c565b6200023860201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff166101008173ffffffffffffffffffffffffffffffffffffffff16815250506722b1c8c1227a00006001819055508373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff166361d027b36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200019f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c59190620003c2565b73ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250506002600060146101000a81548160ff02191690836003811115620002215762000220620003f4565b5b02179055505050505062000423565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200032e8262000301565b9050919050565b620003408162000321565b81146200034c57600080fd5b50565b600081519050620003608162000335565b92915050565b600080600060608486031215620003825762000381620002fc565b5b600062000392868287016200034f565b9350506020620003a5868287016200034f565b9250506040620003b8868287016200034f565b9150509250925092565b600060208284031215620003db57620003da620002fc565b5b6000620003eb848285016200034f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60805160a05160c05160e051610100516119f1620004fb6000396000818161031b01528181610e3b01528181610ebe01526110d901526000818161090301528181610a7101528181610ba10152610f2001526000818161039401528181610439015281816109b401528181610a3501528181610c140152610ffb015260008181610844015281816108c70152610b590152600081816105fd015281816106390152818161076c0152818161080801528181610b7d01528181610d6301528181610dff01528181610efb015261106a01526119f16000f3fe6080604052600436106100e15760003560e01c806361d027b31161007f57806391b3dc2b1161005957806391b3dc2b14610271578063ad5c46481461029a578063f2fde38b146102c5578063fb8dc179146102ee576100e8565b806361d027b314610204578063715018a61461022f5780638da5cb5b14610246576100e8565b806329eb1592116100bb57806329eb15921461016e5780632b5335c3146101975780634cf088d9146101ae57806359193ad9146101d9576100e8565b80631694505e146100ed5780631a0a7559146101185780631c75f08514610143576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610102610319565b60405161010f91906112b9565b60405180910390f35b34801561012457600080fd5b5061012d61033d565b60405161013a91906112ed565b60405180910390f35b34801561014f57600080fd5b50610158610343565b6040516101659190611329565b60405180910390f35b34801561017a57600080fd5b506101956004803603810190610190919061136e565b61035b565b005b3480156101a357600080fd5b506101ac610390565b005b3480156101ba57600080fd5b506101c3610b57565b6040516101d09190611329565b60405180910390f35b3480156101e557600080fd5b506101ee610b7b565b6040516101fb9190611329565b60405180910390f35b34801561021057600080fd5b50610219610b9f565b6040516102269190611329565b60405180910390f35b34801561023b57600080fd5b50610244610bc3565b005b34801561025257600080fd5b5061025b610bd7565b6040516102689190611329565b60405180910390f35b34801561027d57600080fd5b50610298600480360381019061029391906113c7565b610c00565b005b3480156102a657600080fd5b506102af610c12565b6040516102bc9190611329565b60405180910390f35b3480156102d157600080fd5b506102ec60048036038101906102e79190611420565b610c36565b005b3480156102fa57600080fd5b50610303610cb9565b60405161031091906114c4565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b73ddd80699387a25c5ba00a2f1389de73d351c7d3c81565b610363610ccc565b80600060146101000a81548160ff021916908360038111156103885761038761144d565b5b021790555050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103eb9190611329565b602060405180830381865afa158015610408573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042c91906114f4565b905060008111156104c3577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040161049091906112ed565b600060405180830381600087803b1580156104aa57600080fd5b505af11580156104be573d6000803e3d6000fd5b505050505b6000479050600060015482101590508015610b525760006003836104e79190611550565b9050600073ddd80699387a25c5ba00a2f1389de73d351c7d3c73ffffffffffffffffffffffffffffffffffffffff1682604051610523906115b2565b60006040518083038185875af1925050503d8060008114610560576040519150601f19603f3d011682016040523d82523d6000602084013e610565565b606091505b505080915050479350600060038111156105825761058161144d565b5b600060149054906101000a900460ff1660038111156105a4576105a361144d565b5b036105b7576105b284610d4a565b610af6565b600160038111156105cb576105ca61144d565b5b600060149054906101000a900460ff1660038111156105ed576105ec61144d565b5b03610724576105fb84610fab565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166342966c687f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106909190611329565b602060405180830381865afa1580156106ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d191906114f4565b6040518263ffffffff1660e01b81526004016106ed91906112ed565b600060405180830381600087803b15801561070757600080fd5b505af115801561071b573d6000803e3d6000fd5b50505050610af5565b600260038111156107385761073761144d565b5b600060149054906101000a900460ff16600381111561075a5761075961144d565b5b036109785761076884610fab565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107c39190611329565b602060405180830381865afa1580156107e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080491906114f4565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b81526004016108819291906115c7565b6020604051808303816000875af11580156108a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c49190611628565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663adc9772e7f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b81526004016109409291906115c7565b600060405180830381600087803b15801561095a57600080fd5b505af115801561096e573d6000803e3d6000fd5b5050505050610af4565b60038081111561098b5761098a61144d565b5b600060149054906101000a900460ff1660038111156109ad576109ac61144d565b5b03610af3577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b158015610a1a57600080fd5b505af1158015610a2e573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb7f0000000000000000000000000000000000000000000000000000000000000000866040518363ffffffff1660e01b8152600401610aae9291906115c7565b6020604051808303816000875af1158015610acd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af19190611628565b505b5b5b5b600060149054906101000a900460ff166003811115610b1857610b1761144d565b5b7f067f8d20c940cbfd542cc0f85dc9370513e331387973e37f4b045ec8f3e1294c85604051610b4791906112ed565b60405180910390a250505b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b610bcb610ccc565b610bd5600061116e565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c08610ccc565b8060018190555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610c3e610ccc565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610cad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca4906116d8565b60405180910390fd5b610cb68161116e565b50565b600060149054906101000a900460ff1681565b610cd4611232565b73ffffffffffffffffffffffffffffffffffffffff16610cf2610bd7565b73ffffffffffffffffffffffffffffffffffffffff1614610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f90611744565b60405180910390fd5b565b610d5f600282610d5a9190611550565b610fab565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610dba9190611329565b602060405180830381865afa158015610dd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dfb91906114f4565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b8152600401610e789291906115c7565b6020604051808303816000875af1158015610e97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebb9190611628565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d719477f0000000000000000000000000000000000000000000000000000000000000000846000807f0000000000000000000000000000000000000000000000000000000000000000426040518863ffffffff1660e01b8152600401610f619695949392919061179f565b60606040518083038185885af1158015610f7f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fa49190611800565b5050505050565b6000600267ffffffffffffffff811115610fc857610fc7611853565b5b604051908082528060200260200182016040528015610ff65781602001602082028036833780820191505090505b5090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061102e5761102d611882565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061109d5761109c611882565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b6f9de958360008430426040518663ffffffff1660e01b8152600401611138949392919061196f565b6000604051808303818588803b15801561115157600080fd5b505af1158015611165573d6000803e3d6000fd5b50505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061127f61127a6112758461123a565b61125a565b61123a565b9050919050565b600061129182611264565b9050919050565b60006112a382611286565b9050919050565b6112b381611298565b82525050565b60006020820190506112ce60008301846112aa565b92915050565b6000819050919050565b6112e7816112d4565b82525050565b600060208201905061130260008301846112de565b92915050565b60006113138261123a565b9050919050565b61132381611308565b82525050565b600060208201905061133e600083018461131a565b92915050565b600080fd5b6004811061135657600080fd5b50565b60008135905061136881611349565b92915050565b60006020828403121561138457611383611344565b5b600061139284828501611359565b91505092915050565b6113a4816112d4565b81146113af57600080fd5b50565b6000813590506113c18161139b565b92915050565b6000602082840312156113dd576113dc611344565b5b60006113eb848285016113b2565b91505092915050565b6113fd81611308565b811461140857600080fd5b50565b60008135905061141a816113f4565b92915050565b60006020828403121561143657611435611344565b5b60006114448482850161140b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6004811061148d5761148c61144d565b5b50565b600081905061149e8261147c565b919050565b60006114ae82611490565b9050919050565b6114be816114a3565b82525050565b60006020820190506114d960008301846114b5565b92915050565b6000815190506114ee8161139b565b92915050565b60006020828403121561150a57611509611344565b5b6000611518848285016114df565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061155b826112d4565b9150611566836112d4565b92508261157657611575611521565b5b828204905092915050565b600081905092915050565b50565b600061159c600083611581565b91506115a78261158c565b600082019050919050565b60006115bd8261158f565b9150819050919050565b60006040820190506115dc600083018561131a565b6115e960208301846112de565b9392505050565b60008115159050919050565b611605816115f0565b811461161057600080fd5b50565b600081519050611622816115fc565b92915050565b60006020828403121561163e5761163d611344565b5b600061164c84828501611613565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006116c2602683611655565b91506116cd82611666565b604082019050919050565b600060208201905081810360008301526116f1816116b5565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061172e602083611655565b9150611739826116f8565b602082019050919050565b6000602082019050818103600083015261175d81611721565b9050919050565b6000819050919050565b600061178961178461177f84611764565b61125a565b6112d4565b9050919050565b6117998161176e565b82525050565b600060c0820190506117b4600083018961131a565b6117c160208301886112de565b6117ce6040830187611790565b6117db6060830186611790565b6117e8608083018561131a565b6117f560a08301846112de565b979650505050505050565b60008060006060848603121561181957611818611344565b5b6000611827868287016114df565b9350506020611838868287016114df565b9250506040611849868287016114df565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6118e681611308565b82525050565b60006118f883836118dd565b60208301905092915050565b6000602082019050919050565b600061191c826118b1565b61192681856118bc565b9350611931836118cd565b8060005b8381101561196257815161194988826118ec565b975061195483611904565b925050600181019050611935565b5085935050505092915050565b60006080820190506119846000830187611790565b81810360208301526119968186611911565b90506119a5604083018561131a565b6119b260608301846112de565b9594505050505056fea26469706673582212205944629cee1f5939c6afad06149334b3fd4ca6f6332983ff3bbd555022269b7864736f6c63430008130033000000000000000000000000b354b5da5ea39dadb1cea8140bf242eb24b1821a000000000000000000000000a6897cce09980a302822256f875a7dcb1ebb79c9000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Deployed Bytecode
0x6080604052600436106100e15760003560e01c806361d027b31161007f57806391b3dc2b1161005957806391b3dc2b14610271578063ad5c46481461029a578063f2fde38b146102c5578063fb8dc179146102ee576100e8565b806361d027b314610204578063715018a61461022f5780638da5cb5b14610246576100e8565b806329eb1592116100bb57806329eb15921461016e5780632b5335c3146101975780634cf088d9146101ae57806359193ad9146101d9576100e8565b80631694505e146100ed5780631a0a7559146101185780631c75f08514610143576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610102610319565b60405161010f91906112b9565b60405180910390f35b34801561012457600080fd5b5061012d61033d565b60405161013a91906112ed565b60405180910390f35b34801561014f57600080fd5b50610158610343565b6040516101659190611329565b60405180910390f35b34801561017a57600080fd5b506101956004803603810190610190919061136e565b61035b565b005b3480156101a357600080fd5b506101ac610390565b005b3480156101ba57600080fd5b506101c3610b57565b6040516101d09190611329565b60405180910390f35b3480156101e557600080fd5b506101ee610b7b565b6040516101fb9190611329565b60405180910390f35b34801561021057600080fd5b50610219610b9f565b6040516102269190611329565b60405180910390f35b34801561023b57600080fd5b50610244610bc3565b005b34801561025257600080fd5b5061025b610bd7565b6040516102689190611329565b60405180910390f35b34801561027d57600080fd5b50610298600480360381019061029391906113c7565b610c00565b005b3480156102a657600080fd5b506102af610c12565b6040516102bc9190611329565b60405180910390f35b3480156102d157600080fd5b506102ec60048036038101906102e79190611420565b610c36565b005b3480156102fa57600080fd5b50610303610cb9565b60405161031091906114c4565b60405180910390f35b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b60015481565b73ddd80699387a25c5ba00a2f1389de73d351c7d3c81565b610363610ccc565b80600060146101000a81548160ff021916908360038111156103885761038761144d565b5b021790555050565b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103eb9190611329565b602060405180830381865afa158015610408573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042c91906114f4565b905060008111156104c3577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040161049091906112ed565b600060405180830381600087803b1580156104aa57600080fd5b505af11580156104be573d6000803e3d6000fd5b505050505b6000479050600060015482101590508015610b525760006003836104e79190611550565b9050600073ddd80699387a25c5ba00a2f1389de73d351c7d3c73ffffffffffffffffffffffffffffffffffffffff1682604051610523906115b2565b60006040518083038185875af1925050503d8060008114610560576040519150601f19603f3d011682016040523d82523d6000602084013e610565565b606091505b505080915050479350600060038111156105825761058161144d565b5b600060149054906101000a900460ff1660038111156105a4576105a361144d565b5b036105b7576105b284610d4a565b610af6565b600160038111156105cb576105ca61144d565b5b600060149054906101000a900460ff1660038111156105ed576105ec61144d565b5b03610724576105fb84610fab565b7f000000000000000000000000b354b5da5ea39dadb1cea8140bf242eb24b1821a73ffffffffffffffffffffffffffffffffffffffff166342966c687f000000000000000000000000b354b5da5ea39dadb1cea8140bf242eb24b1821a73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106909190611329565b602060405180830381865afa1580156106ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d191906114f4565b6040518263ffffffff1660e01b81526004016106ed91906112ed565b600060405180830381600087803b15801561070757600080fd5b505af115801561071b573d6000803e3d6000fd5b50505050610af5565b600260038111156107385761073761144d565b5b600060149054906101000a900460ff16600381111561075a5761075961144d565b5b036109785761076884610fab565b60007f000000000000000000000000b354b5da5ea39dadb1cea8140bf242eb24b1821a73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107c39190611329565b602060405180830381865afa1580156107e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080491906114f4565b90507f000000000000000000000000b354b5da5ea39dadb1cea8140bf242eb24b1821a73ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f000000000000000000000000a6897cce09980a302822256f875a7dcb1ebb79c9836040518363ffffffff1660e01b81526004016108819291906115c7565b6020604051808303816000875af11580156108a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c49190611628565b507f000000000000000000000000a6897cce09980a302822256f875a7dcb1ebb79c973ffffffffffffffffffffffffffffffffffffffff1663adc9772e7f0000000000000000000000009021d4f14513ebef91df1db77c363d1a77b0b3b2836040518363ffffffff1660e01b81526004016109409291906115c7565b600060405180830381600087803b15801561095a57600080fd5b505af115801561096e573d6000803e3d6000fd5b5050505050610af4565b60038081111561098b5761098a61144d565b5b600060149054906101000a900460ff1660038111156109ad576109ac61144d565b5b03610af3577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b158015610a1a57600080fd5b505af1158015610a2e573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb7f0000000000000000000000009021d4f14513ebef91df1db77c363d1a77b0b3b2866040518363ffffffff1660e01b8152600401610aae9291906115c7565b6020604051808303816000875af1158015610acd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af19190611628565b505b5b5b5b600060149054906101000a900460ff166003811115610b1857610b1761144d565b5b7f067f8d20c940cbfd542cc0f85dc9370513e331387973e37f4b045ec8f3e1294c85604051610b4791906112ed565b60405180910390a250505b505050565b7f000000000000000000000000a6897cce09980a302822256f875a7dcb1ebb79c981565b7f000000000000000000000000b354b5da5ea39dadb1cea8140bf242eb24b1821a81565b7f0000000000000000000000009021d4f14513ebef91df1db77c363d1a77b0b3b281565b610bcb610ccc565b610bd5600061116e565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c08610ccc565b8060018190555050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b610c3e610ccc565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610cad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca4906116d8565b60405180910390fd5b610cb68161116e565b50565b600060149054906101000a900460ff1681565b610cd4611232565b73ffffffffffffffffffffffffffffffffffffffff16610cf2610bd7565b73ffffffffffffffffffffffffffffffffffffffff1614610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f90611744565b60405180910390fd5b565b610d5f600282610d5a9190611550565b610fab565b60007f000000000000000000000000b354b5da5ea39dadb1cea8140bf242eb24b1821a73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610dba9190611329565b602060405180830381865afa158015610dd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dfb91906114f4565b90507f000000000000000000000000b354b5da5ea39dadb1cea8140bf242eb24b1821a73ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d836040518363ffffffff1660e01b8152600401610e789291906115c7565b6020604051808303816000875af1158015610e97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebb9190611628565b507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d719477f000000000000000000000000b354b5da5ea39dadb1cea8140bf242eb24b1821a846000807f0000000000000000000000009021d4f14513ebef91df1db77c363d1a77b0b3b2426040518863ffffffff1660e01b8152600401610f619695949392919061179f565b60606040518083038185885af1158015610f7f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fa49190611800565b5050505050565b6000600267ffffffffffffffff811115610fc857610fc7611853565b5b604051908082528060200260200182016040528015610ff65781602001602082028036833780820191505090505b5090507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160008151811061102e5761102d611882565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000b354b5da5ea39dadb1cea8140bf242eb24b1821a8160018151811061109d5761109c611882565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663b6f9de958360008430426040518663ffffffff1660e01b8152600401611138949392919061196f565b6000604051808303818588803b15801561115157600080fd5b505af1158015611165573d6000803e3d6000fd5b50505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061127f61127a6112758461123a565b61125a565b61123a565b9050919050565b600061129182611264565b9050919050565b60006112a382611286565b9050919050565b6112b381611298565b82525050565b60006020820190506112ce60008301846112aa565b92915050565b6000819050919050565b6112e7816112d4565b82525050565b600060208201905061130260008301846112de565b92915050565b60006113138261123a565b9050919050565b61132381611308565b82525050565b600060208201905061133e600083018461131a565b92915050565b600080fd5b6004811061135657600080fd5b50565b60008135905061136881611349565b92915050565b60006020828403121561138457611383611344565b5b600061139284828501611359565b91505092915050565b6113a4816112d4565b81146113af57600080fd5b50565b6000813590506113c18161139b565b92915050565b6000602082840312156113dd576113dc611344565b5b60006113eb848285016113b2565b91505092915050565b6113fd81611308565b811461140857600080fd5b50565b60008135905061141a816113f4565b92915050565b60006020828403121561143657611435611344565b5b60006114448482850161140b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6004811061148d5761148c61144d565b5b50565b600081905061149e8261147c565b919050565b60006114ae82611490565b9050919050565b6114be816114a3565b82525050565b60006020820190506114d960008301846114b5565b92915050565b6000815190506114ee8161139b565b92915050565b60006020828403121561150a57611509611344565b5b6000611518848285016114df565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061155b826112d4565b9150611566836112d4565b92508261157657611575611521565b5b828204905092915050565b600081905092915050565b50565b600061159c600083611581565b91506115a78261158c565b600082019050919050565b60006115bd8261158f565b9150819050919050565b60006040820190506115dc600083018561131a565b6115e960208301846112de565b9392505050565b60008115159050919050565b611605816115f0565b811461161057600080fd5b50565b600081519050611622816115fc565b92915050565b60006020828403121561163e5761163d611344565b5b600061164c84828501611613565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006116c2602683611655565b91506116cd82611666565b604082019050919050565b600060208201905081810360008301526116f1816116b5565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061172e602083611655565b9150611739826116f8565b602082019050919050565b6000602082019050818103600083015261175d81611721565b9050919050565b6000819050919050565b600061178961178461177f84611764565b61125a565b6112d4565b9050919050565b6117998161176e565b82525050565b600060c0820190506117b4600083018961131a565b6117c160208301886112de565b6117ce6040830187611790565b6117db6060830186611790565b6117e8608083018561131a565b6117f560a08301846112de565b979650505050505050565b60008060006060848603121561181957611818611344565b5b6000611827868287016114df565b9350506020611838868287016114df565b9250506040611849868287016114df565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6118e681611308565b82525050565b60006118f883836118dd565b60208301905092915050565b6000602082019050919050565b600061191c826118b1565b61192681856118bc565b9350611931836118cd565b8060005b8381101561196257815161194988826118ec565b975061195483611904565b925050600181019050611935565b5085935050505092915050565b60006080820190506119846000830187611790565b81810360208301526119968186611911565b90506119a5604083018561131a565b6119b260608301846112de565b9594505050505056fea26469706673582212205944629cee1f5939c6afad06149334b3fd4ca6f6332983ff3bbd555022269b7864736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b354b5da5ea39dadb1cea8140bf242eb24b1821a000000000000000000000000a6897cce09980a302822256f875a7dcb1ebb79c9000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
-----Decoded View---------------
Arg [0] : _QWN (address): 0xb354b5da5EA39dadb1Cea8140bF242Eb24b1821A
Arg [1] : _staking (address): 0xA6897ccE09980A302822256F875A7dcB1eBb79C9
Arg [2] : _WETH (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000b354b5da5ea39dadb1cea8140bf242eb24b1821a
Arg [1] : 000000000000000000000000a6897cce09980a302822256f875a7dcb1ebb79c9
Arg [2] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Loading...
Loading
Loading...
Loading
Net Worth in USD
$1,660.18
Net Worth in ETH
0.792489
Token Allocations
ETH
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $2,094.89 | 0.7925 | $1,660.18 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.