Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Latest 25 from a total of 35 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Emergency Update... | 15689391 | 1264 days ago | IN | 0 ETH | 0.00035234 | ||||
| Emergency Token2... | 15689373 | 1264 days ago | IN | 0 ETH | 0.00035117 | ||||
| Emergency Token2... | 15689346 | 1264 days ago | IN | 0 ETH | 0.00038889 | ||||
| Finalize | 15384025 | 1310 days ago | IN | 0 ETH | 0.00078741 | ||||
| Trade In Tokens | 15354812 | 1315 days ago | IN | 0 ETH | 0.00057816 | ||||
| Trade In Tokens | 15354810 | 1315 days ago | IN | 0 ETH | 0.00166383 | ||||
| Trade In Tokens | 15354800 | 1315 days ago | IN | 0 ETH | 0.00126319 | ||||
| Trade In Tokens | 15350098 | 1316 days ago | IN | 0 ETH | 0.00127609 | ||||
| Trade In Tokens | 15348215 | 1316 days ago | IN | 0 ETH | 0.0031919 | ||||
| Trade In Tokens | 15348190 | 1316 days ago | IN | 0 ETH | 0.00338489 | ||||
| Trade In Tokens | 15347808 | 1316 days ago | IN | 0 ETH | 0.00206181 | ||||
| Trade In Tokens | 15346770 | 1316 days ago | IN | 0 ETH | 0.0042246 | ||||
| Trade In Tokens | 15346384 | 1316 days ago | IN | 0 ETH | 0.00121767 | ||||
| Trade In Tokens | 15346031 | 1316 days ago | IN | 0 ETH | 0.0014469 | ||||
| Trade In Tokens | 15344744 | 1316 days ago | IN | 0 ETH | 0.00086051 | ||||
| Trade In Tokens | 15343850 | 1317 days ago | IN | 0 ETH | 0.00138302 | ||||
| Trade In Tokens | 15343315 | 1317 days ago | IN | 0 ETH | 0.0016115 | ||||
| Trade In Tokens | 15343080 | 1317 days ago | IN | 0 ETH | 0.00204753 | ||||
| Trade In Tokens | 15342976 | 1317 days ago | IN | 0 ETH | 0.00261107 | ||||
| Trade In Tokens | 15342923 | 1317 days ago | IN | 0 ETH | 0.0026238 | ||||
| Trade In Tokens | 15342875 | 1317 days ago | IN | 0 ETH | 0.00233984 | ||||
| Trade In Tokens | 15342633 | 1317 days ago | IN | 0 ETH | 0.00100536 | ||||
| Trade In Tokens | 15341694 | 1317 days ago | IN | 0 ETH | 0.00123654 | ||||
| Trade In Tokens | 15340815 | 1317 days ago | IN | 0 ETH | 0.00348644 | ||||
| Trade In Tokens | 15337272 | 1318 days ago | IN | 0 ETH | 0.00075151 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Migration
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2022-08-11
*/
pragma solidity 0.8.13;
// SPDX-License-Identifier: MIT
/*
* @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) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}
interface IERC20 {
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `recipient`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address recipient, uint256 amount) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `sender` to `recipient` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
}
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);
}
interface IUniswapV2Router01 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint amountADesired,
uint amountBDesired,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB, uint liquidity);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function removeLiquidity(
address tokenA,
address tokenB,
uint liquidity,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB);
function removeLiquidityETH(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountToken, uint amountETH);
function removeLiquidityWithPermit(
address tokenA,
address tokenB,
uint liquidity,
uint amountAMin,
uint amountBMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountA, uint amountB);
function removeLiquidityETHWithPermit(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountToken, uint amountETH);
function swapExactTokensForTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
function swapTokensForExactTokens(
uint amountOut,
uint amountInMax,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
external
payable
returns (uint[] memory amounts);
function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
external
returns (uint[] memory amounts);
function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
external
returns (uint[] memory amounts);
function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
external
payable
returns (uint[] memory amounts);
function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}
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 () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view returns (address) {
return _owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions anymore. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby removing any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = 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");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
interface IUniswapV2Router02 is IUniswapV2Router01 {
function removeLiquidityETHSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountETH);
function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountETH);
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external payable;
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
contract Migration is Ownable {
IERC20 public token1; // V1 token
IERC20 public token2; // V2 token
uint256 public immutable token1TotalSupply;
uint256 public immutable token2TotalSupply;
bool public isInitialized = false;
bool public finalized = false;
uint256 public bridgeTime;
uint256 public exchangeEndTime;
address public immutable liquidityWalletForV2;
uint256 private constant _NOT_ENTERED = 1;
uint256 private constant _ENTERED = 2;
uint256 private _status;
// pay close attention here and make sure all values are CORRECT
constructor() {
_status = _NOT_ENTERED;
// Token V1
token1 = IERC20(address(0x4B88Fe1658503897005a4e2a90F8B257Fd304e0E));
// Token V2 -- will be updated to new Contract once live
token2 = IERC20(address(0x5e579Ec235C76f746fE570B9cde02d64E559fadF)); // UPDATE
// change to token owner or liquidity holder (usually the project owner, not the developer) before launch
liquidityWalletForV2 = address(0x471999CA77C5DF2ae1A51AB5d719123CF05047e1); // UPDATE
// set duration of bridge AFTER initialize is called
bridgeTime = 2 days;
// This just grabs total supply from each token, to ensure the ratio for the swap is correct.
token1TotalSupply = token1.totalSupply();
token2TotalSupply = token2.totalSupply();
}
receive() external payable {
}
modifier nonReentrant() {
// On the first call to nonReentrant, _notEntered will be true
require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
// Any calls to nonReentrant after this point will fail
_status = _ENTERED;
_;
// By storing the original value once again, a refund is triggered (see
// https://eips.ethereum.org/EIPS/eip-2200)
_status = _NOT_ENTERED;
}
function tradeInTokens() external nonReentrant {
uint256 tradingRatio = 0;
uint256 amountToSend;
require(isInitialized, "Trading bridge is not active");
require(!finalized, "Bridging tokens is not allowed after bridge is complete");
uint256 token1Balance = token1.balanceOf(msg.sender);
require(token1.allowance(msg.sender, address(this)) >= token1Balance, "Approval must be done before transfer");
token1.transferFrom(msg.sender, address(liquidityWalletForV2), token1Balance); // tokens are sent directly to owner wallet.
// determine the trading ratio if swapping between tokens of differing supplies. (1% = 1% as an example)
if(token2TotalSupply > token1TotalSupply){
tradingRatio = token2TotalSupply / token1TotalSupply;
amountToSend = token1Balance * tradingRatio; // multiply if V2 supply is higher than V1
} else if (token1TotalSupply > token2TotalSupply){
tradingRatio = token1TotalSupply / token2TotalSupply;
amountToSend = token1Balance / tradingRatio; // divide if V2 supply is lower than V1
} else if (token1TotalSupply == token2TotalSupply) {
amountToSend = token1Balance; // leave alone if supply is identical
}
require(token2.balanceOf(address(this)) >= amountToSend, "Not enough V2 tokens to send");
token2.transfer(msg.sender, amountToSend);
}
function initialize() external onlyOwner {
require(!isInitialized, "May not initialize contract again to prevent moving out exchangeEndTime");
isInitialized = true;
exchangeEndTime = block.timestamp + bridgeTime; // finalize can only be called after this many days
}
function finalize() external onlyOwner {
require(block.timestamp >= exchangeEndTime, "Bridge not over yet.");
if(token1.balanceOf(address(this)) > 0){
token1.transfer(address(msg.sender),token1.balanceOf(address(this)));
}
if(token2.balanceOf(address(this)) > 0){
token2.transfer(address(msg.sender),token2.balanceOf(address(this)));
}
}
// Feel free to remove the next two functions if you are positive there will be no contract issues but this does give a way to prevent tokens from getting locked forever in the event the contract itself is screwed up.
function emergencyToken2Withdraw() external onlyOwner {
token2.transfer(address(msg.sender),token2.balanceOf(address(this)));
}
// use in case the sell won't work.
function emergencyToken1Withdraw() external onlyOwner {
token1.transfer(address(msg.sender),token1.balanceOf(address(this)));
}
function emergencyUpdateToken1(address token) external onlyOwner {
token1 = IERC20(token);
}
function emergencyToken2Withdraw(address token) external onlyOwner {
token2 = IERC20(token);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"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":"bridgeTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emergencyToken1Withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"emergencyToken2Withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"emergencyToken2Withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"emergencyUpdateToken1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exchangeEndTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityWalletForV2","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"token1","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token1TotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token2","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token2TotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradeInTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60e06040526002805461ffff60a01b1916905534801561001e57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600581905580546001600160a01b0319908116734b88fe1658503897005a4e2a90f8b257fd304e0e90811790925560028054909116735e579ec235c76f746fe570b9cde02d64e559fadf17905573471999ca77c5df2ae1a51ab5d719123cf05047e160c0526202a300600355604080516318160ddd60e01b815290516318160ddd916004818101926020929091908290030181865afa158015610109573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012d91906101a6565b608052600254604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd916004808201926020929091908290030181865afa15801561017a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019e91906101a6565b60a0526101bf565b6000602082840312156101b857600080fd5b5051919050565b60805160a05160c0516112b861023b6000396000818161032a0152610d3a0152600081816102f601528181610ddb01528181610e2601528181610e5f01528181610eaa0152610efd01526000818161026401528181610dba01528181610e0501528181610e8001528181610ecb0152610f1e01526112b86000f3fe6080604052600436106101485760003560e01c8063808a6028116100c0578063b3f05b9711610074578063d58062de11610059578063d58062de1461038d578063e6bf8222146103a2578063f2fde38b146103b757600080fd5b8063b3f05b971461034c578063d21220a71461036d57600080fd5b80638da5cb5b116100a55780638da5cb5b146102c65780639a2c9330146102e4578063a5d8a6c61461031857600080fd5b8063808a60281461029b5780638129fc1c146102b157600080fd5b80634bb278f3116101175780636b48afb3116100fc5780636b48afb31461022e5780636efeddba14610252578063715018a61461028657600080fd5b80634bb278f31461020457806363cbe0c01461021957600080fd5b80630280bdbb146101545780630d972d261461017657806325be124e14610196578063392e53cd146101d357600080fd5b3661014f57005b600080fd5b34801561016057600080fd5b5061017461016f366004611188565b6103d7565b005b34801561018257600080fd5b50610174610191366004611188565b610446565b3480156101a257600080fd5b506002546101b6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101df57600080fd5b506002546101f490600160a01b900460ff1681565b60405190151581526020016101ca565b34801561021057600080fd5b506101746104b0565b34801561022557600080fd5b50610174610801565b34801561023a57600080fd5b5061024460035481565b6040519081526020016101ca565b34801561025e57600080fd5b506102447f000000000000000000000000000000000000000000000000000000000000000081565b34801561029257600080fd5b50610174610883565b3480156102a757600080fd5b5061024460045481565b3480156102bd57600080fd5b50610174610915565b3480156102d257600080fd5b506000546001600160a01b03166101b6565b3480156102f057600080fd5b506102447f000000000000000000000000000000000000000000000000000000000000000081565b34801561032457600080fd5b506101b67f000000000000000000000000000000000000000000000000000000000000000081565b34801561035857600080fd5b506002546101f490600160a81b900460ff1681565b34801561037957600080fd5b506001546101b6906001600160a01b031681565b34801561039957600080fd5b50610174610a23565b3480156103ae57600080fd5b50610174610aa5565b3480156103c357600080fd5b506101746103d2366004611188565b611080565b6000546001600160a01b031633146104245760405162461bcd60e51b8152602060048201819052602482015260008051602061126383398151915260448201526064015b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461048e5760405162461bcd60e51b81526020600482018190526024820152600080516020611263833981519152604482015260640161041b565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146104f85760405162461bcd60e51b81526020600482018190526024820152600080516020611263833981519152604482015260640161041b565b60045442101561054a5760405162461bcd60e51b815260206004820152601460248201527f427269646765206e6f74206f766572207965742e000000000000000000000000604482015260640161041b565b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610593573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b791906111b8565b11156106a4576001546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb90339083906370a0823190602401602060405180830381865afa15801561060f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063391906111b8565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561067e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a291906111d1565b505b6002546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156106ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071191906111b8565b11156107ff576002546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb90339083906370a08231906024015b602060405180830381865afa15801561076a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078e91906111b8565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156107d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fd91906111d1565b505b565b6000546001600160a01b031633146108495760405162461bcd60e51b81526020600482018190526024820152600080516020611263833981519152604482015260640161041b565b6002546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb90339083906370a082319060240161074d565b6000546001600160a01b031633146108cb5760405162461bcd60e51b81526020600482018190526024820152600080516020611263833981519152604482015260640161041b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461095d5760405162461bcd60e51b81526020600482018190526024820152600080516020611263833981519152604482015260640161041b565b600254600160a01b900460ff16156109ed5760405162461bcd60e51b815260206004820152604760248201527f4d6179206e6f7420696e697469616c697a6520636f6e7472616374206167616960448201527f6e20746f2070726576656e74206d6f76696e67206f75742065786368616e6765606482015266456e6454696d6560c81b608482015260a40161041b565b6002805474ff00000000000000000000000000000000000000001916600160a01b179055600354610a1e9042611209565b600455565b6000546001600160a01b03163314610a6b5760405162461bcd60e51b81526020600482018190526024820152600080516020611263833981519152604482015260640161041b565b6001546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb90339083906370a082319060240161074d565b600260055403610af75760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161041b565b60026005819055546000908190600160a01b900460ff16610b5a5760405162461bcd60e51b815260206004820152601c60248201527f54726164696e6720627269646765206973206e6f742061637469766500000000604482015260640161041b565b600254600160a81b900460ff1615610bda5760405162461bcd60e51b815260206004820152603760248201527f4272696467696e6720746f6b656e73206973206e6f7420616c6c6f776564206160448201527f667465722062726964676520697320636f6d706c657465000000000000000000606482015260840161041b565b6001546040516370a0823160e01b81523360048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610c23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4791906111b8565b600154604051636eb1769f60e11b815233600482015230602482015291925082916001600160a01b039091169063dd62ed3e90604401602060405180830381865afa158015610c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbe91906111b8565b1015610d1a5760405162461bcd60e51b815260206004820152602560248201527f417070726f76616c206d75737420626520646f6e65206265666f7265207472616044820152643739b332b960d91b606482015260840161041b565b6001546040516323b872dd60e01b81523360048201526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116602483015260448201849052909116906323b872dd906064016020604051808303816000875af1158015610d93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db791906111d1565b507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000001115610e5d57610e4a7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611221565b9250610e568382611243565b9150610f46565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000001115610efb57610eef7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611221565b9250610e568382611221565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000003610f46578091505b6002546040516370a0823160e01b815230600482015283916001600160a01b0316906370a0823190602401602060405180830381865afa158015610f8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb291906111b8565b10156110005760405162461bcd60e51b815260206004820152601c60248201527f4e6f7420656e6f75676820563220746f6b656e7320746f2073656e6400000000604482015260640161041b565b60025460405163a9059cbb60e01b8152336004820152602481018490526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015611051573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107591906111d1565b505060016005555050565b6000546001600160a01b031633146110c85760405162461bcd60e51b81526020600482018190526024820152600080516020611263833981519152604482015260640161041b565b6001600160a01b03811661112d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161041b565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561119a57600080fd5b81356001600160a01b03811681146111b157600080fd5b9392505050565b6000602082840312156111ca57600080fd5b5051919050565b6000602082840312156111e357600080fd5b815180151581146111b157600080fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561121c5761121c6111f3565b500190565b60008261123e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561125d5761125d6111f3565b50029056fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220c4b88431e2633cbdb9af6f008574ddc644ca41fbc522b41e769493047469a9e964736f6c634300080d0033
Deployed Bytecode
0x6080604052600436106101485760003560e01c8063808a6028116100c0578063b3f05b9711610074578063d58062de11610059578063d58062de1461038d578063e6bf8222146103a2578063f2fde38b146103b757600080fd5b8063b3f05b971461034c578063d21220a71461036d57600080fd5b80638da5cb5b116100a55780638da5cb5b146102c65780639a2c9330146102e4578063a5d8a6c61461031857600080fd5b8063808a60281461029b5780638129fc1c146102b157600080fd5b80634bb278f3116101175780636b48afb3116100fc5780636b48afb31461022e5780636efeddba14610252578063715018a61461028657600080fd5b80634bb278f31461020457806363cbe0c01461021957600080fd5b80630280bdbb146101545780630d972d261461017657806325be124e14610196578063392e53cd146101d357600080fd5b3661014f57005b600080fd5b34801561016057600080fd5b5061017461016f366004611188565b6103d7565b005b34801561018257600080fd5b50610174610191366004611188565b610446565b3480156101a257600080fd5b506002546101b6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101df57600080fd5b506002546101f490600160a01b900460ff1681565b60405190151581526020016101ca565b34801561021057600080fd5b506101746104b0565b34801561022557600080fd5b50610174610801565b34801561023a57600080fd5b5061024460035481565b6040519081526020016101ca565b34801561025e57600080fd5b506102447f000000000000000000000000000000000000003f1bdf10116048a5934000000081565b34801561029257600080fd5b50610174610883565b3480156102a757600080fd5b5061024460045481565b3480156102bd57600080fd5b50610174610915565b3480156102d257600080fd5b506000546001600160a01b03166101b6565b3480156102f057600080fd5b506102447f000000000000000000000000000000000000003f1bdf10116048a5934000000081565b34801561032457600080fd5b506101b67f000000000000000000000000471999ca77c5df2ae1a51ab5d719123cf05047e181565b34801561035857600080fd5b506002546101f490600160a81b900460ff1681565b34801561037957600080fd5b506001546101b6906001600160a01b031681565b34801561039957600080fd5b50610174610a23565b3480156103ae57600080fd5b50610174610aa5565b3480156103c357600080fd5b506101746103d2366004611188565b611080565b6000546001600160a01b031633146104245760405162461bcd60e51b8152602060048201819052602482015260008051602061126383398151915260448201526064015b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461048e5760405162461bcd60e51b81526020600482018190526024820152600080516020611263833981519152604482015260640161041b565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146104f85760405162461bcd60e51b81526020600482018190526024820152600080516020611263833981519152604482015260640161041b565b60045442101561054a5760405162461bcd60e51b815260206004820152601460248201527f427269646765206e6f74206f766572207965742e000000000000000000000000604482015260640161041b565b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610593573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b791906111b8565b11156106a4576001546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb90339083906370a0823190602401602060405180830381865afa15801561060f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063391906111b8565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561067e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a291906111d1565b505b6002546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156106ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071191906111b8565b11156107ff576002546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb90339083906370a08231906024015b602060405180830381865afa15801561076a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078e91906111b8565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156107d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fd91906111d1565b505b565b6000546001600160a01b031633146108495760405162461bcd60e51b81526020600482018190526024820152600080516020611263833981519152604482015260640161041b565b6002546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb90339083906370a082319060240161074d565b6000546001600160a01b031633146108cb5760405162461bcd60e51b81526020600482018190526024820152600080516020611263833981519152604482015260640161041b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461095d5760405162461bcd60e51b81526020600482018190526024820152600080516020611263833981519152604482015260640161041b565b600254600160a01b900460ff16156109ed5760405162461bcd60e51b815260206004820152604760248201527f4d6179206e6f7420696e697469616c697a6520636f6e7472616374206167616960448201527f6e20746f2070726576656e74206d6f76696e67206f75742065786368616e6765606482015266456e6454696d6560c81b608482015260a40161041b565b6002805474ff00000000000000000000000000000000000000001916600160a01b179055600354610a1e9042611209565b600455565b6000546001600160a01b03163314610a6b5760405162461bcd60e51b81526020600482018190526024820152600080516020611263833981519152604482015260640161041b565b6001546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb90339083906370a082319060240161074d565b600260055403610af75760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161041b565b60026005819055546000908190600160a01b900460ff16610b5a5760405162461bcd60e51b815260206004820152601c60248201527f54726164696e6720627269646765206973206e6f742061637469766500000000604482015260640161041b565b600254600160a81b900460ff1615610bda5760405162461bcd60e51b815260206004820152603760248201527f4272696467696e6720746f6b656e73206973206e6f7420616c6c6f776564206160448201527f667465722062726964676520697320636f6d706c657465000000000000000000606482015260840161041b565b6001546040516370a0823160e01b81523360048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610c23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4791906111b8565b600154604051636eb1769f60e11b815233600482015230602482015291925082916001600160a01b039091169063dd62ed3e90604401602060405180830381865afa158015610c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbe91906111b8565b1015610d1a5760405162461bcd60e51b815260206004820152602560248201527f417070726f76616c206d75737420626520646f6e65206265666f7265207472616044820152643739b332b960d91b606482015260840161041b565b6001546040516323b872dd60e01b81523360048201526001600160a01b037f000000000000000000000000471999ca77c5df2ae1a51ab5d719123cf05047e18116602483015260448201849052909116906323b872dd906064016020604051808303816000875af1158015610d93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db791906111d1565b507f000000000000000000000000000000000000003f1bdf10116048a593400000007f000000000000000000000000000000000000003f1bdf10116048a593400000001115610e5d57610e4a7f000000000000000000000000000000000000003f1bdf10116048a593400000007f000000000000000000000000000000000000003f1bdf10116048a59340000000611221565b9250610e568382611243565b9150610f46565b7f000000000000000000000000000000000000003f1bdf10116048a593400000007f000000000000000000000000000000000000003f1bdf10116048a593400000001115610efb57610eef7f000000000000000000000000000000000000003f1bdf10116048a593400000007f000000000000000000000000000000000000003f1bdf10116048a59340000000611221565b9250610e568382611221565b7f000000000000000000000000000000000000003f1bdf10116048a593400000007f000000000000000000000000000000000000003f1bdf10116048a5934000000003610f46578091505b6002546040516370a0823160e01b815230600482015283916001600160a01b0316906370a0823190602401602060405180830381865afa158015610f8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb291906111b8565b10156110005760405162461bcd60e51b815260206004820152601c60248201527f4e6f7420656e6f75676820563220746f6b656e7320746f2073656e6400000000604482015260640161041b565b60025460405163a9059cbb60e01b8152336004820152602481018490526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015611051573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107591906111d1565b505060016005555050565b6000546001600160a01b031633146110c85760405162461bcd60e51b81526020600482018190526024820152600080516020611263833981519152604482015260640161041b565b6001600160a01b03811661112d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161041b565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561119a57600080fd5b81356001600160a01b03811681146111b157600080fd5b9392505050565b6000602082840312156111ca57600080fd5b5051919050565b6000602082840312156111e357600080fd5b815180151581146111b157600080fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561121c5761121c6111f3565b500190565b60008261123e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561125d5761125d6111f3565b50029056fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220c4b88431e2633cbdb9af6f008574ddc644ca41fbc522b41e769493047469a9e964736f6c634300080d0033
Deployed Bytecode Sourcemap
10599:5065:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15439:106;;;;;;;;;;-1:-1:-1;15439:106:0;;;;;:::i;:::-;;:::i;:::-;;15553:108;;;;;;;;;;-1:-1:-1;15553:108:0;;;;;:::i;:::-;;:::i;10675:20::-;;;;;;;;;;-1:-1:-1;10675:20:0;;;;-1:-1:-1;;;;;10675:20:0;;;;;;-1:-1:-1;;;;;505:55:1;;;487:74;;475:2;460:18;10675:20:0;;;;;;;;10818:33;;;;;;;;;;-1:-1:-1;10818:33:0;;;;-1:-1:-1;;;10818:33:0;;;;;;;;;737:14:1;;730:22;712:41;;700:2;685:18;10818:33:0;572:187:1;14442:413:0;;;;;;;;;;;;;:::i;15096:141::-;;;;;;;;;;;;;:::i;10894:25::-;;;;;;;;;;;;;;;;;;;910::1;;;898:2;883:18;10894:25:0;764:177:1;10714:42:0;;;;;;;;;;;;;;;8779:148;;;;;;;;;;;;;:::i;10926:30::-;;;;;;;;;;;;;;;;14132:298;;;;;;;;;;;;;:::i;8137:79::-;;;;;;;;;;-1:-1:-1;8175:7:0;8202:6;-1:-1:-1;;;;;8202:6:0;8137:79;;10763:42;;;;;;;;;;;;;;;10965:45;;;;;;;;;;;;;;;10858:29;;;;;;;;;;-1:-1:-1;10858:29:0;;;;-1:-1:-1;;;10858:29:0;;;;;;10636:20;;;;;;;;;;-1:-1:-1;10636:20:0;;;;-1:-1:-1;;;;;10636:20:0;;;15290:141;;;;;;;;;;;;;:::i;12642:1476::-;;;;;;;;;;;;;:::i;9082:244::-;;;;;;;;;;-1:-1:-1;9082:244:0;;;;;:::i;:::-;;:::i;15439:106::-;8349:6;;-1:-1:-1;;;;;8349:6:0;681:10;8349:22;8341:67;;;;-1:-1:-1;;;8341:67:0;;1379:2:1;8341:67:0;;;1361:21:1;;;1398:18;;;1391:30;-1:-1:-1;;;;;;;;;;;1437:18:1;;;1430:62;1509:18;;8341:67:0;;;;;;;;;15515:6:::1;:22:::0;;-1:-1:-1;;;;;;15515:22:0::1;-1:-1:-1::0;;;;;15515:22:0;;;::::1;::::0;;;::::1;::::0;;15439:106::o;15553:108::-;8349:6;;-1:-1:-1;;;;;8349:6:0;681:10;8349:22;8341:67;;;;-1:-1:-1;;;8341:67:0;;1379:2:1;8341:67:0;;;1361:21:1;;;1398:18;;;1391:30;-1:-1:-1;;;;;;;;;;;1437:18:1;;;1430:62;1509:18;;8341:67:0;1177:356:1;8341:67:0;15631:6:::1;:22:::0;;-1:-1:-1;;;;;;15631:22:0::1;-1:-1:-1::0;;;;;15631:22:0;;;::::1;::::0;;;::::1;::::0;;15553:108::o;14442:413::-;8349:6;;-1:-1:-1;;;;;8349:6:0;681:10;8349:22;8341:67;;;;-1:-1:-1;;;8341:67:0;;1379:2:1;8341:67:0;;;1361:21:1;;;1398:18;;;1391:30;-1:-1:-1;;;;;;;;;;;1437:18:1;;;1430:62;1509:18;;8341:67:0;1177:356:1;8341:67:0;14519:15:::1;;14500;:34;;14492:67;;;::::0;-1:-1:-1;;;14492:67:0;;1740:2:1;14492:67:0::1;::::0;::::1;1722:21:1::0;1779:2;1759:18;;;1752:30;1818:22;1798:18;;;1791:50;1858:18;;14492:67:0::1;1538:344:1::0;14492:67:0::1;14573:6;::::0;:31:::1;::::0;-1:-1:-1;;;14573:31:0;;14598:4:::1;14573:31;::::0;::::1;487:74:1::0;14607:1:0::1;::::0;-1:-1:-1;;;;;14573:6:0::1;::::0;:16:::1;::::0;460:18:1;;14573:31:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:35;14570:134;;;14624:6;::::0;14660:31:::1;::::0;-1:-1:-1;;;14660:31:0;;14685:4:::1;14660:31;::::0;::::1;487:74:1::0;-1:-1:-1;;;;;14624:6:0;;::::1;::::0;:15:::1;::::0;14648:10:::1;::::0;14624:6;;14660:16:::1;::::0;460:18:1;;14660:31:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14624:68;::::0;-1:-1:-1;;;;;;14624:68:0::1;::::0;;;;;;-1:-1:-1;;;;;2268:55:1;;;14624:68:0::1;::::0;::::1;2250:74:1::0;2340:18;;;2333:34;2223:18;;14624:68:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14570:134;14717:6;::::0;:31:::1;::::0;-1:-1:-1;;;14717:31:0;;14742:4:::1;14717:31;::::0;::::1;487:74:1::0;14751:1:0::1;::::0;-1:-1:-1;;;;;14717:6:0::1;::::0;:16:::1;::::0;460:18:1;;14717:31:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:35;14714:134;;;14768:6;::::0;14804:31:::1;::::0;-1:-1:-1;;;14804:31:0;;14829:4:::1;14804:31;::::0;::::1;487:74:1::0;-1:-1:-1;;;;;14768:6:0;;::::1;::::0;:15:::1;::::0;14792:10:::1;::::0;14768:6;;14804:16:::1;::::0;460:18:1;;14804:31:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14768:68;::::0;-1:-1:-1;;;;;;14768:68:0::1;::::0;;;;;;-1:-1:-1;;;;;2268:55:1;;;14768:68:0::1;::::0;::::1;2250:74:1::0;2340:18;;;2333:34;2223:18;;14768:68:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14714:134;14442:413::o:0;15096:141::-;8349:6;;-1:-1:-1;;;;;8349:6:0;681:10;8349:22;8341:67;;;;-1:-1:-1;;;8341:67:0;;1379:2:1;8341:67:0;;;1361:21:1;;;1398:18;;;1391:30;-1:-1:-1;;;;;;;;;;;1437:18:1;;;1430:62;1509:18;;8341:67:0;1177:356:1;8341:67:0;15161:6:::1;::::0;15197:31:::1;::::0;-1:-1:-1;;;15197:31:0;;15222:4:::1;15197:31;::::0;::::1;487:74:1::0;-1:-1:-1;;;;;15161:6:0;;::::1;::::0;:15:::1;::::0;15185:10:::1;::::0;15161:6;;15197:16:::1;::::0;460:18:1;;15197:31:0::1;328:239:1::0;8779:148:0;8349:6;;-1:-1:-1;;;;;8349:6:0;681:10;8349:22;8341:67;;;;-1:-1:-1;;;8341:67:0;;1379:2:1;8341:67:0;;;1361:21:1;;;1398:18;;;1391:30;-1:-1:-1;;;;;;;;;;;1437:18:1;;;1430:62;1509:18;;8341:67:0;1177:356:1;8341:67:0;8886:1:::1;8870:6:::0;;8849:40:::1;::::0;-1:-1:-1;;;;;8870:6:0;;::::1;::::0;8849:40:::1;::::0;8886:1;;8849:40:::1;8917:1;8900:19:::0;;-1:-1:-1;;;;;;8900:19:0::1;::::0;;8779:148::o;14132:298::-;8349:6;;-1:-1:-1;;;;;8349:6:0;681:10;8349:22;8341:67;;;;-1:-1:-1;;;8341:67:0;;1379:2:1;8341:67:0;;;1361:21:1;;;1398:18;;;1391:30;-1:-1:-1;;;;;;;;;;;1437:18:1;;;1430:62;1509:18;;8341:67:0;1177:356:1;8341:67:0;14193:13:::1;::::0;-1:-1:-1;;;14193:13:0;::::1;;;14192:14;14184:98;;;::::0;-1:-1:-1;;;14184:98:0;;2862:2:1;14184:98:0::1;::::0;::::1;2844:21:1::0;2901:2;2881:18;;;2874:30;2940:34;2920:18;;;2913:62;3011:34;2991:18;;;2984:62;-1:-1:-1;;;3062:19:1;;;3055:38;3110:19;;14184:98:0::1;2660:475:1::0;14184:98:0::1;14293:13;:20:::0;;-1:-1:-1;;14293:20:0::1;-1:-1:-1::0;;;14293:20:0::1;::::0;;14360:10:::1;::::0;14342:28:::1;::::0;:15:::1;:28;:::i;:::-;14324:15;:46:::0;14132:298::o;15290:141::-;8349:6;;-1:-1:-1;;;;;8349:6:0;681:10;8349:22;8341:67;;;;-1:-1:-1;;;8341:67:0;;1379:2:1;8341:67:0;;;1361:21:1;;;1398:18;;;1391:30;-1:-1:-1;;;;;;;;;;;1437:18:1;;;1430:62;1509:18;;8341:67:0;1177:356:1;8341:67:0;15355:6:::1;::::0;15391:31:::1;::::0;-1:-1:-1;;;15391:31:0;;15416:4:::1;15391:31;::::0;::::1;487:74:1::0;-1:-1:-1;;;;;15355:6:0;;::::1;::::0;:15:::1;::::0;15379:10:::1;::::0;15355:6;;15391:16:::1;::::0;460:18:1;;15391:31:0::1;328:239:1::0;12642:1476:0;11113:1;12288:7;;:19;12280:63;;;;-1:-1:-1;;;12280:63:0;;3607:2:1;12280:63:0;;;3589:21:1;3646:2;3626:18;;;3619:30;3685:33;3665:18;;;3658:61;3736:18;;12280:63:0;3405:355:1;12280:63:0;11113:1;12421:7;:18;;;12774:13;12700:20:::1;::::0;;;-1:-1:-1;;;12774:13:0;::::1;;;12766:54;;;::::0;-1:-1:-1;;;12766:54:0;;3967:2:1;12766:54:0::1;::::0;::::1;3949:21:1::0;4006:2;3986:18;;;3979:30;4045;4025:18;;;4018:58;4093:18;;12766:54:0::1;3765:352:1::0;12766:54:0::1;12840:9;::::0;-1:-1:-1;;;12840:9:0;::::1;;;12839:10;12831:78;;;::::0;-1:-1:-1;;;12831:78:0;;4324:2:1;12831:78:0::1;::::0;::::1;4306:21:1::0;4363:2;4343:18;;;4336:30;4402:34;4382:18;;;4375:62;4473:25;4453:18;;;4446:53;4516:19;;12831:78:0::1;4122:419:1::0;12831:78:0::1;12944:6;::::0;:28:::1;::::0;-1:-1:-1;;;12944:28:0;;12961:10:::1;12944:28;::::0;::::1;487:74:1::0;12920:21:0::1;::::0;-1:-1:-1;;;;;12944:6:0::1;::::0;:16:::1;::::0;460:18:1;;12944:28:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12991:6;::::0;:43:::1;::::0;-1:-1:-1;;;12991:43:0;;13008:10:::1;12991:43;::::0;::::1;4781:34:1::0;13028:4:0::1;4831:18:1::0;;;4824:43;12920:52:0;;-1:-1:-1;12920:52:0;;-1:-1:-1;;;;;12991:6:0;;::::1;::::0;:16:::1;::::0;4693:18:1;;12991:43:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:60;;12983:110;;;::::0;-1:-1:-1;;;12983:110:0;;5080:2:1;12983:110:0::1;::::0;::::1;5062:21:1::0;5119:2;5099:18;;;5092:30;5158:34;5138:18;;;5131:62;-1:-1:-1;;;5209:18:1;;;5202:35;5254:19;;12983:110:0::1;4878:401:1::0;12983:110:0::1;13104:6;::::0;:77:::1;::::0;-1:-1:-1;;;13104:77:0;;13124:10:::1;13104:77;::::0;::::1;5547:34:1::0;-1:-1:-1;;;;;13144:20:0::1;5617:15:1::0;;5597:18;;;5590:43;5649:18;;;5642:34;;;13104:6:0;;::::1;::::0;:19:::1;::::0;5459:18:1;;13104:77:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13384:17;13364;:37;13361:589;;;13432:37;13452:17;13432;:37;:::i;:::-;13417:52:::0;-1:-1:-1;13499:28:0::1;13417:52:::0;13499:13;:28:::1;:::i;:::-;13484:43;;13361:589;;;13612:17;13592;:37;13588:362;;;13660:37;13680:17;13660;:37;:::i;:::-;13645:52:::0;-1:-1:-1;13727:28:0::1;13645:52:::0;13727:13;:28:::1;:::i;13588:362::-;13838:17;13817;:38:::0;13813:137:::1;;13887:13;13872:28;;13813:137;13978:6;::::0;:31:::1;::::0;-1:-1:-1;;;13978:31:0;;14003:4:::1;13978:31;::::0;::::1;487:74:1::0;14013:12:0;;-1:-1:-1;;;;;13978:6:0::1;::::0;:16:::1;::::0;460:18:1;;13978:31:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:47;;13970:88;;;::::0;-1:-1:-1;;;13970:88:0;;6284:2:1;13970:88:0::1;::::0;::::1;6266:21:1::0;6323:2;6303:18;;;6296:30;6362;6342:18;;;6335:58;6410:18;;13970:88:0::1;6082:352:1::0;13970:88:0::1;14069:6;::::0;:41:::1;::::0;-1:-1:-1;;;14069:41:0;;14085:10:::1;14069:41;::::0;::::1;2250:74:1::0;2340:18;;;2333:34;;;-1:-1:-1;;;;;14069:6:0;;::::1;::::0;:15:::1;::::0;2223:18:1;;14069:41:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11069:1:0;12600:7;:22;-1:-1:-1;;12642:1476:0:o;9082:244::-;8349:6;;-1:-1:-1;;;;;8349:6:0;681:10;8349:22;8341:67;;;;-1:-1:-1;;;8341:67:0;;1379:2:1;8341:67:0;;;1361:21:1;;;1398:18;;;1391:30;-1:-1:-1;;;;;;;;;;;1437:18:1;;;1430:62;1509:18;;8341:67:0;1177:356:1;8341:67:0;-1:-1:-1;;;;;9171:22:0;::::1;9163:73;;;::::0;-1:-1:-1;;;9163:73:0;;6641:2:1;9163:73:0::1;::::0;::::1;6623:21:1::0;6680:2;6660:18;;;6653:30;6719:34;6699:18;;;6692:62;-1:-1:-1;;;6770:18:1;;;6763:36;6816:19;;9163:73:0::1;6439:402:1::0;9163:73:0::1;9273:6;::::0;;9252:38:::1;::::0;-1:-1:-1;;;;;9252:38:0;;::::1;::::0;9273:6;::::1;::::0;9252:38:::1;::::0;::::1;9301:6;:17:::0;;-1:-1:-1;;;;;;9301:17:0::1;-1:-1:-1::0;;;;;9301:17:0;;;::::1;::::0;;;::::1;::::0;;9082:244::o;14:309:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;-1:-1:-1;;;;;224:5:1;220:54;213:5;210:65;200:93;;289:1;286;279:12;200:93;312:5;14:309;-1:-1:-1;;;14:309:1:o;1887:184::-;1957:6;2010:2;1998:9;1989:7;1985:23;1981:32;1978:52;;;2026:1;2023;2016:12;1978:52;-1:-1:-1;2049:16:1;;1887:184;-1:-1:-1;1887:184:1:o;2378:277::-;2445:6;2498:2;2486:9;2477:7;2473:23;2469:32;2466:52;;;2514:1;2511;2504:12;2466:52;2546:9;2540:16;2599:5;2592:13;2585:21;2578:5;2575:32;2565:60;;2621:1;2618;2611:12;3140:127;3201:10;3196:3;3192:20;3189:1;3182:31;3232:4;3229:1;3222:15;3256:4;3253:1;3246:15;3272:128;3312:3;3343:1;3339:6;3336:1;3333:13;3330:39;;;3349:18;;:::i;:::-;-1:-1:-1;3385:9:1;;3272:128::o;5687:217::-;5727:1;5753;5743:132;;5797:10;5792:3;5788:20;5785:1;5778:31;5832:4;5829:1;5822:15;5860:4;5857:1;5850:15;5743:132;-1:-1:-1;5889:9:1;;5687:217::o;5909:168::-;5949:7;6015:1;6011;6007:6;6003:14;6000:1;5997:21;5992:1;5985:9;5978:17;5974:45;5971:71;;;6022:18;;:::i;:::-;-1:-1:-1;6062:9:1;;5909:168::o
Swarm Source
ipfs://c4b88431e2633cbdb9af6f008574ddc644ca41fbc522b41e769493047469a9e9
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 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.