Latest 25 from a total of 6,026 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 24508028 | 15 hrs ago | IN | 0 ETH | 0.00000519 | ||||
| Transfer | 24507093 | 18 hrs ago | IN | 0 ETH | 0.0000884 | ||||
| Transfer | 24506935 | 19 hrs ago | IN | 0 ETH | 0.00002596 | ||||
| Transfer | 24505829 | 23 hrs ago | IN | 0 ETH | 0.00000405 | ||||
| Transfer | 24505787 | 23 hrs ago | IN | 0 ETH | 0.00012354 | ||||
| Approve | 24503108 | 32 hrs ago | IN | 0 ETH | 0.00009462 | ||||
| Approve | 24502856 | 33 hrs ago | IN | 0 ETH | 0.00000325 | ||||
| Transfer | 24500654 | 40 hrs ago | IN | 0 ETH | 0.00013523 | ||||
| Approve | 24499695 | 43 hrs ago | IN | 0 ETH | 0.00001014 | ||||
| Transfer | 24499252 | 45 hrs ago | IN | 0 ETH | 0.0002712 | ||||
| Transfer | 24499222 | 45 hrs ago | IN | 0 ETH | 0.0002712 | ||||
| Transfer | 24499182 | 45 hrs ago | IN | 0 ETH | 0.00037834 | ||||
| Transfer | 24499152 | 45 hrs ago | IN | 0 ETH | 0.0002712 | ||||
| Transfer | 24499152 | 45 hrs ago | IN | 0 ETH | 0.00037834 | ||||
| Approve | 24498143 | 2 days ago | IN | 0 ETH | 0.00009484 | ||||
| Transfer | 24497967 | 2 days ago | IN | 0 ETH | 0.00000977 | ||||
| Transfer | 24497967 | 2 days ago | IN | 0 ETH | 0.00001363 | ||||
| Transfer | 24497962 | 2 days ago | IN | 0 ETH | 0.00000977 | ||||
| Transfer | 24497942 | 2 days ago | IN | 0 ETH | 0.00001363 | ||||
| Transfer | 24497933 | 2 days ago | IN | 0 ETH | 0.00000977 | ||||
| Transfer | 24497933 | 2 days ago | IN | 0 ETH | 0.00001363 | ||||
| Transfer | 24497920 | 2 days ago | IN | 0 ETH | 0.00000283 | ||||
| Transfer | 24497903 | 2 days ago | IN | 0 ETH | 0.00000977 | ||||
| Transfer | 24497903 | 2 days ago | IN | 0 ETH | 0.00001363 | ||||
| Transfer | 24497888 | 2 days ago | IN | 0 ETH | 0.00000977 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ADOToken
Compiler Version
v0.8.24+commit.e11b9ed9
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;
import {Ownable} from "./utils/Ownable.sol";
import {IERC20} from "./interfaces/IERC20.sol";
import {IERC20Metadata} from "./interfaces/IERC20Metadata.sol";
import {IERC20Errors} from "./interfaces/IERC20Errors.sol";
import {IUniswapV2Router02} from "./interfaces/IUniswapV2Router02.sol";
import {IUniswapV2Factory} from "./interfaces/IUniswapV2Factory.sol";
/*
== ADO Protocol is an ecosystem designed to improve on-chain efficiency
== and connect Web2 businesses with blockchain technology.
https://www.adoprotocol.com
https://x.com/adoprotocol
https://t.me/AdoProtocolEnglish
https://medium.com/@AdoProtocol
*/
contract ADOToken is Ownable, IERC20, IERC20Metadata, IERC20Errors {
string private _name = "ADO Protocol";
string private _symbol = "ADO";
uint8 _decimals = 18;
mapping(address account => uint256) private _balances;
mapping(address account => mapping(address spender => uint256)) private _allowances;
IUniswapV2Router02 public immutable _uniswapRouter;
address public immutable deployer;
mapping(address => bool) private _isLP;
bool private _swapping = false;
uint256 private _totalSupply;
uint256 private _tokensToLiqudate;
uint256 private _fee = 5;
address private _stableToken;
address private _wETHlp;
address private _stablelp;
event TokenFeeUpdate(uint256 oldFee, uint256 newFee);
event TokenBalanceToLiqudate(uint256 indexed newValue, uint256 indexed oldValue);
modifier lockTheSwap() {
_swapping = true;
_;
_swapping = false;
}
modifier onlyDeployer() {
require(_msgSender() == deployer, "Token: Only the token deployer can call this function");
_;
}
constructor() {
deployer = _msgSender();
_mint(_msgSender(), 1000000000 * (10 ** _decimals));
_tokensToLiqudate = _totalSupply / 10000;
_uniswapRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), address(_uniswapRouter), type(uint256).max);
}
function name() public view virtual returns (string memory) {
return _name;
}
function symbol() public view virtual returns (string memory) {
return _symbol;
}
function decimals() public view virtual returns (uint8) {
return _decimals;
}
function totalSupply() public view virtual returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view virtual returns (uint256) {
return _balances[account];
}
function allowance(address owner, address spender) public view virtual returns (uint256) {
return _allowances[owner][spender];
}
function fee() external view returns(uint256) {
return _fee;
}
function wETHlp() public view returns (address) {
return _wETHlp;
}
function stablelp() public view returns (address) {
return _stablelp;
}
function stableToken() public view returns (address) {
return _stableToken;
}
function isLP(address account) public view returns (bool) {
return _isLP[account];
}
function tokensToLiqudate() external view returns(uint256) {
return _tokensToLiqudate;
}
function transfer(address to, uint256 value) public virtual returns (bool) {
address owner = _msgSender();
_transfer(owner, to, value);
return true;
}
function approve(address spender, uint256 value) public virtual returns (bool) {
address owner = _msgSender();
_approve(owner, spender, value);
return true;
}
function transferFrom(address from, address to, uint256 value) public virtual returns (bool) {
address spender = _msgSender();
_spendAllowance(from, spender, value);
_transfer(from, to, value);
return true;
}
function updateStableToken(address stableERC20Token) external onlyDeployer returns (bool) {
require(stableERC20Token.code.length > 0, "Token: stableToken, not a valid contract");
IUniswapV2Factory factory = IUniswapV2Factory(_uniswapRouter.factory());
if (_wETHlp == address(0)) {
_wETHlp = factory.getPair(address(this), _uniswapRouter.WETH());
_isLP[_wETHlp] = true;
}
_stablelp = factory.getPair(address(this), stableERC20Token);
if (_stablelp != address(0)) {
_stableToken = stableERC20Token;
_isLP[_stablelp] = true;
}
return _isLP[_stablelp];
}
function updateFee(uint256 newFee) external onlyDeployer returns (bool) {
require(newFee != _fee, "Token: The Fee is already set to the requested value");
require(newFee <= 10, "Token: The fee can only be between 0 and 10%");
emit TokenFeeUpdate(_fee, newFee);
_fee = newFee;
return true;
}
function updateTokensToLiqudate(uint256 newValue) external onlyDeployer returns (bool) {
require(newValue >= 10 ** 18 && newValue <= 1000000 * 10 ** 18, "Token: Tokens too liqudate must be between 1 and 1.000.000 ADO");
emit TokenBalanceToLiqudate(newValue, _tokensToLiqudate);
_tokensToLiqudate = newValue;
return true;
}
function _swapTokens() private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
if (_balances[_wETHlp] > _balances[_stablelp]) {
path[1] = _uniswapRouter.WETH();
_uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
_tokensToLiqudate,
0,
path,
deployer,
block.timestamp
);
} else {
path[1] = _stableToken;
_uniswapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(
_tokensToLiqudate,
0,
path,
deployer,
block.timestamp
);
}
}
function _transfer(address from, address to, uint256 value) internal {
if (from == address(0)) {
revert ERC20InvalidSender(address(0));
}
if (to == address(0)) {
revert ERC20InvalidReceiver(address(0));
}
bool takeFee = false;
uint256 _value = value;
if (_isLP[from] || _isLP[to]) {
takeFee = tx.origin != deployer;
}
if (!_swapping && _fee > 0 && takeFee) {
if (_isLP[to]) {
if (_balances[address(this)] >= _tokensToLiqudate) {
_swapTokens();
}
}
uint256 txFee = (_value * _fee) / 100;
_value -= txFee;
_update(from, address(this), txFee);
}
_update(from, to, _value);
}
function _update(address from, address to, uint256 value) internal virtual {
if (from == address(0)) {
_totalSupply += value;
} else {
uint256 fromBalance = _balances[from];
if (fromBalance < value) {
revert ERC20InsufficientBalance(from, fromBalance, value);
}
unchecked {
_balances[from] = fromBalance - value;
}
}
if (to == address(0)) {
unchecked {
_totalSupply -= value;
}
} else {
unchecked {
_balances[to] += value;
}
}
emit Transfer(from, to, value);
}
function _mint(address account, uint256 value) internal {
if (account == address(0)) {
revert ERC20InvalidReceiver(address(0));
}
_update(address(0), account, value);
}
function _burn(address account, uint256 value) internal {
if (account == address(0)) {
revert ERC20InvalidSender(address(0));
}
_update(account, address(0), value);
}
function _approve(address owner, address spender, uint256 value) internal {
_approve(owner, spender, value, true);
}
function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual {
if (owner == address(0)) {
revert ERC20InvalidApprover(address(0));
}
if (spender == address(0)) {
revert ERC20InvalidSpender(address(0));
}
_allowances[owner][spender] = value;
if (emitEvent) {
emit Approval(owner, spender, value);
}
}
function _spendAllowance(address owner, address spender, uint256 value) internal virtual {
uint256 currentAllowance = allowance(owner, spender);
if (currentAllowance < type(uint256).max) {
if (currentAllowance < value) {
revert ERC20InsufficientAllowance(
spender,
currentAllowance,
value
);
}
unchecked {
_approve(owner, spender, currentAllowance - value, false);
}
}
}
}// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;
interface IUniswapV2Factory {
function initCodePairHash() external view returns (bytes32);
function feeTo() external view returns (address);
function feeToSetter() external view returns (address);
function getPair(
address tokenA,
address tokenB
) external view returns (address pair);
function allPairs(uint) external view returns (address pair);
function allPairsLength() external view returns (uint);
function createPair(
address tokenA,
address tokenB
) external returns (address pair);
function setFeeTo(address) external;
function setFeeToSetter(address) external;
event PairCreated(
address indexed token0,
address indexed token1,
address pair,
uint
);
}// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;
import "./IUniswapV2Router01.sol";
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;
}// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;
interface IERC20Errors {
error ERC20InsufficientBalance(
address sender,
uint256 balance,
uint256 needed
);
error ERC20InvalidSender(address sender);
error ERC20InvalidReceiver(address receiver);
error ERC20InsufficientAllowance(
address spender,
uint256 allowance,
uint256 needed
);
error ERC20InvalidApprover(address approver);
error ERC20InvalidSpender(address spender);
}// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;
import {IERC20} from "./IERC20.sol";
interface IERC20Metadata is IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;
interface IERC20 {
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address to, uint256 value) external returns (bool);
function allowance(
address owner,
address spender
) external view returns (uint256);
function approve(address spender, uint256 value) external returns (bool);
function transferFrom(
address from,
address to,
uint256 value
) external returns (bool);
}// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;
import {Context} from "./Context.sol";
abstract contract Ownable is Context {
address private _owner;
error OwnableUnauthorizedAccount(address account);
error OwnableInvalidOwner(address owner);
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
constructor() {
_transferOwnership(_msgSender());
}
modifier onlyOwner() {
_checkOwner();
_;
}
function owner() public view virtual returns (address) {
return _owner;
}
function _checkOwner() internal view virtual {
if (owner() != _msgSender()) {
revert OwnableUnauthorizedAccount(_msgSender());
}
}
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
if (newOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)
pragma solidity 0.8.24;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
function _contextSuffixLength() internal view virtual returns (uint256) {
return 0;
}
}// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;
interface IUniswapV2Router01 {
function factory() external view returns (address);
function WETH() external view 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);
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newValue","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"oldValue","type":"uint256"}],"name":"TokenBalanceToLiqudate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"TokenFeeUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isLP","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stableToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stablelp","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensToLiqudate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"updateFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"stableERC20Token","type":"address"}],"name":"updateStableToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"updateTokensToLiqudate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"wETHlp","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]Contract Creation Code
610100604052600c60c09081526b105113c8141c9bdd1bd8dbdb60a21b60e0526001906200002e908262000456565b5060408051808201909152600381526241444f60e81b602082015260029062000058908262000456565b506003805460ff199081166012179091556007805490911690556005600a5534801562000083575f80fd5b506200008f336200010e565b336001600160a01b031660a052620000ca33600354620000b49060ff16600a62000631565b620000c490633b9aca0062000648565b6200015d565b612710600854620000dc919062000662565b600955737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052620001089030905f196200019d565b62000698565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166200018c5760405163ec442f0560e01b81525f60048201526024015b60405180910390fd5b620001995f8383620001b1565b5050565b620001ac8383836001620002e0565b505050565b6001600160a01b038316620001df578060085f828254620001d3919062000682565b90915550620002519050565b6001600160a01b0383165f9081526004602052604090205481811015620002335760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640162000183565b6001600160a01b0384165f9081526004602052604090209082900390555b6001600160a01b0382166200026f576008805482900390556200028d565b6001600160a01b0382165f9081526004602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002d391815260200190565b60405180910390a3505050565b6001600160a01b0384166200030b5760405163e602df0560e01b81525f600482015260240162000183565b6001600160a01b0383166200033657604051634a1406b160e11b81525f600482015260240162000183565b6001600160a01b038085165f9081526005602090815260408083209387168352929052208290558015620003b357826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051620003aa91815260200190565b60405180910390a35b50505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620003e257607f821691505b6020821081036200040157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620001ac57805f5260205f20601f840160051c810160208510156200042e5750805b601f840160051c820191505b818110156200044f575f81556001016200043a565b5050505050565b81516001600160401b03811115620004725762000472620003b9565b6200048a81620004838454620003cd565b8462000407565b602080601f831160018114620004c0575f8415620004a85750858301515b5f19600386901b1c1916600185901b1785556200051a565b5f85815260208120601f198616915b82811015620004f057888601518255948401946001909101908401620004cf565b50858210156200050e57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200057657815f19048211156200055a576200055a62000522565b808516156200056857918102915b93841c93908002906200053b565b509250929050565b5f826200058e575060016200062b565b816200059c57505f6200062b565b8160018114620005b55760028114620005c057620005e0565b60019150506200062b565b60ff841115620005d457620005d462000522565b50506001821b6200062b565b5060208310610133831016604e8410600b841016171562000605575081810a6200062b565b62000611838362000536565b805f190482111562000627576200062762000522565b0290505b92915050565b5f6200064160ff8416836200057e565b9392505050565b80820281158282048414176200062b576200062b62000522565b5f826200067d57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156200062b576200062b62000522565b60805160a0516114c5620007075f395f81816102ea01528181610448015281816107d3015281816108e601528181610bcc01528181610f54015261102f01525f81816101f101528181610503015281816105a601528181610e6801528181610f210152610ffc01526114c55ff3fe608060405234801561000f575f80fd5b5060043610610148575f3560e01c806389449bbf116100bf578063d5f3948811610079578063d5f39488146102e5578063dd62ed3e1461030c578063ddca3f4314610344578063e0562e5a1461034c578063ec878c3b1461035d578063f2fde38b14610365575f80fd5b806389449bbf146102835780638da5cb5b146102965780639012c4a8146102a657806395d89b41146102b9578063a9059cbb146102c1578063a9d75b2b146102d4575f80fd5b8063313ce56711610110578063313ce567146101d757806365b61b77146101ec5780636678d10e1461021357806370a0823114610226578063715018a61461024e5780637df0f76714610258575f80fd5b806306fdde031461014c578063095ea7b31461016a5780630be6950e1461018d57806318160ddd146101b257806323b872dd146101c4575b5f80fd5b610154610378565b60405161016191906111ba565b60405180910390f35b61017d61017836600461121a565b610408565b6040519015158152602001610161565b600c546001600160a01b03165b6040516001600160a01b039091168152602001610161565b6008545b604051908152602001610161565b61017d6101d2366004611244565b610421565b60035460405160ff9091168152602001610161565b61019a7f000000000000000000000000000000000000000000000000000000000000000081565b61017d610221366004611282565b610444565b6101b6610234366004611282565b6001600160a01b03165f9081526004602052604090205490565b6102566107bc565b005b61017d610266366004611282565b6001600160a01b03165f9081526006602052604090205460ff1690565b61017d6102913660046112a4565b6107cf565b5f546001600160a01b031661019a565b61017d6102b43660046112a4565b6108e2565b610154610a44565b61017d6102cf36600461121a565b610a53565b600b546001600160a01b031661019a565b61019a7f000000000000000000000000000000000000000000000000000000000000000081565b6101b661031a3660046112bb565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b600a546101b6565b600d546001600160a01b031661019a565b6009546101b6565b610256610373366004611282565b610a60565b606060018054610387906112f2565b80601f01602080910402602001604051908101604052809291908181526020018280546103b3906112f2565b80156103fe5780601f106103d5576101008083540402835291602001916103fe565b820191905f5260205f20905b8154815290600101906020018083116103e157829003601f168201915b5050505050905090565b5f33610415818585610a9d565b60019150505b92915050565b5f3361042e858285610aaf565b610439858585610b2b565b506001949350505050565b5f337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146104965760405162461bcd60e51b815260040161048d9061132a565b60405180910390fd5b5f826001600160a01b03163b116105005760405162461bcd60e51b815260206004820152602860248201527f546f6b656e3a20737461626c65546f6b656e2c206e6f7420612076616c69642060448201526718dbdb9d1c9858dd60c21b606482015260840161048d565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610581919061137f565b600c549091506001600160a01b03166106c957806001600160a01b031663e6a43905307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610600573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610624919061137f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa15801561066d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610691919061137f565b600c80546001600160a01b0319166001600160a01b039290921691821790555f908152600660205260409020805460ff191660011790555b60405163e6a4390560e01b81523060048201526001600160a01b03848116602483015282169063e6a4390590604401602060405180830381865afa158015610713573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610737919061137f565b600d80546001600160a01b0319166001600160a01b039290921691821790551561079857600b80546001600160a01b0319166001600160a01b0385811691909117909155600d54165f908152600660205260409020805460ff191660011790555b5050600d546001600160a01b03165f9081526006602052604090205460ff16919050565b6107c4610c9a565b6107cd5f610cc6565b565b5f337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146108185760405162461bcd60e51b815260040161048d9061132a565b670de0b6b3a7640000821015801561083a575069d3c21bcecceda10000008211155b6108ac5760405162461bcd60e51b815260206004820152603e60248201527f546f6b656e3a20546f6b656e7320746f6f206c69717564617465206d7573742060448201527f6265206265747765656e203120616e6420312e3030302e3030302041444f0000606482015260840161048d565b60095460405183907f2357ccca11c679868cf1481aecd4d0cd97e60a5b2df97f231fba483278d26bd8905f90a350600955600190565b5f337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461092b5760405162461bcd60e51b815260040161048d9061132a565b600a5482036109995760405162461bcd60e51b815260206004820152603460248201527f546f6b656e3a205468652046656520697320616c72656164792073657420746f60448201527320746865207265717565737465642076616c756560601b606482015260840161048d565b600a8211156109ff5760405162461bcd60e51b815260206004820152602c60248201527f546f6b656e3a20546865206665652063616e206f6e6c7920626520626574776560448201526b656e203020616e642031302560a01b606482015260840161048d565b600a5460408051918252602082018490527fe52cb0832de950b73af43f166f7b02385ab4a101a956916b7f5a8cb29977a372910160405180910390a150600a55600190565b606060028054610387906112f2565b5f33610415818585610b2b565b610a68610c9a565b6001600160a01b038116610a9157604051631e4fbdf760e01b81525f600482015260240161048d565b610a9a81610cc6565b50565b610aaa8383836001610d15565b505050565b6001600160a01b038381165f908152600560209081526040808320938616835292905220545f19811015610b255781811015610b1757604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161048d565b610b2584848484035f610d15565b50505050565b6001600160a01b038316610b5457604051634b637e8f60e11b81525f600482015260240161048d565b6001600160a01b038216610b7d5760405163ec442f0560e01b81525f600482015260240161048d565b6001600160a01b0383165f90815260066020526040812054829060ff1680610bbc57506001600160a01b0384165f9081526006602052604090205460ff165b15610bf157326001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141591505b60075460ff16158015610c0557505f600a54115b8015610c0e5750815b15610c88576001600160a01b0384165f9081526006602052604090205460ff1615610c5257600954305f9081526004602052604090205410610c5257610c52610de7565b5f6064600a5483610c6391906113ae565b610c6d91906113c5565b9050610c7981836113e4565b9150610c86863083611094565b505b610c93858583611094565b5050505050565b5f546001600160a01b031633146107cd5760405163118cdaa760e01b815233600482015260240161048d565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038416610d3e5760405163e602df0560e01b81525f600482015260240161048d565b6001600160a01b038316610d6757604051634a1406b160e11b81525f600482015260240161048d565b6001600160a01b038085165f9081526005602090815260408083209387168352929052208290558015610b2557826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610dd991815260200190565b60405180910390a350505050565b6007805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e2757610e276113f7565b6001600160a01b03928316602091820292909201810191909152600d5482165f9081526004909152604080822054600c5490931682529020541115610fb0577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ec2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ee6919061137f565b81600181518110610ef957610ef96113f7565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b81527f00000000000000000000000000000000000000000000000000000000000000009092169163791ac94791610f7e915f9086907f000000000000000000000000000000000000000000000000000000000000000090429060040161140b565b5f604051808303815f87803b158015610f95575f80fd5b505af1158015610fa7573d5f803e3d5ffd5b50505050611087565b600b5481516001600160a01b039091169082906001908110610fd457610fd46113f7565b6001600160a01b039283166020918202929092010152600954604051635c11d79560e01b81527f000000000000000000000000000000000000000000000000000000000000000090921691635c11d79591611059915f9086907f000000000000000000000000000000000000000000000000000000000000000090429060040161140b565b5f604051808303815f87803b158015611070575f80fd5b505af1158015611082573d5f803e3d5ffd5b505050505b506007805460ff19169055565b6001600160a01b0383166110be578060085f8282546110b3919061147c565b9091555061112e9050565b6001600160a01b0383165f90815260046020526040902054818110156111105760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161048d565b6001600160a01b0384165f9081526004602052604090209082900390555b6001600160a01b03821661114a57600880548290039055611168565b6001600160a01b0382165f9081526004602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111ad91815260200190565b60405180910390a3505050565b5f602080835283518060208501525f5b818110156111e6578581018301518582016040015282016111ca565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a9a575f80fd5b5f806040838503121561122b575f80fd5b823561123681611206565b946020939093013593505050565b5f805f60608486031215611256575f80fd5b833561126181611206565b9250602084013561127181611206565b929592945050506040919091013590565b5f60208284031215611292575f80fd5b813561129d81611206565b9392505050565b5f602082840312156112b4575f80fd5b5035919050565b5f80604083850312156112cc575f80fd5b82356112d781611206565b915060208301356112e781611206565b809150509250929050565b600181811c9082168061130657607f821691505b60208210810361132457634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526035908201527f546f6b656e3a204f6e6c792074686520746f6b656e206465706c6f796572206360408201527430b71031b0b636103a3434b990333ab731ba34b7b760591b606082015260800190565b5f6020828403121561138f575f80fd5b815161129d81611206565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761041b5761041b61139a565b5f826113df57634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561041b5761041b61139a565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561145b5784516001600160a01b031683529383019391830191600101611436565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561041b5761041b61139a56fea2646970667358221220b39d251586267955b2fc66ba8655092d8aa8886c11364eb917380b5e0b3b4aa164736f6c63430008180033
Deployed Bytecode
0x608060405234801561000f575f80fd5b5060043610610148575f3560e01c806389449bbf116100bf578063d5f3948811610079578063d5f39488146102e5578063dd62ed3e1461030c578063ddca3f4314610344578063e0562e5a1461034c578063ec878c3b1461035d578063f2fde38b14610365575f80fd5b806389449bbf146102835780638da5cb5b146102965780639012c4a8146102a657806395d89b41146102b9578063a9059cbb146102c1578063a9d75b2b146102d4575f80fd5b8063313ce56711610110578063313ce567146101d757806365b61b77146101ec5780636678d10e1461021357806370a0823114610226578063715018a61461024e5780637df0f76714610258575f80fd5b806306fdde031461014c578063095ea7b31461016a5780630be6950e1461018d57806318160ddd146101b257806323b872dd146101c4575b5f80fd5b610154610378565b60405161016191906111ba565b60405180910390f35b61017d61017836600461121a565b610408565b6040519015158152602001610161565b600c546001600160a01b03165b6040516001600160a01b039091168152602001610161565b6008545b604051908152602001610161565b61017d6101d2366004611244565b610421565b60035460405160ff9091168152602001610161565b61019a7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b61017d610221366004611282565b610444565b6101b6610234366004611282565b6001600160a01b03165f9081526004602052604090205490565b6102566107bc565b005b61017d610266366004611282565b6001600160a01b03165f9081526006602052604090205460ff1690565b61017d6102913660046112a4565b6107cf565b5f546001600160a01b031661019a565b61017d6102b43660046112a4565b6108e2565b610154610a44565b61017d6102cf36600461121a565b610a53565b600b546001600160a01b031661019a565b61019a7f00000000000000000000000005d6f7e900424e90d9229a5dcaa9212ce86f9c5481565b6101b661031a3660046112bb565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b600a546101b6565b600d546001600160a01b031661019a565b6009546101b6565b610256610373366004611282565b610a60565b606060018054610387906112f2565b80601f01602080910402602001604051908101604052809291908181526020018280546103b3906112f2565b80156103fe5780601f106103d5576101008083540402835291602001916103fe565b820191905f5260205f20905b8154815290600101906020018083116103e157829003601f168201915b5050505050905090565b5f33610415818585610a9d565b60019150505b92915050565b5f3361042e858285610aaf565b610439858585610b2b565b506001949350505050565b5f337f00000000000000000000000005d6f7e900424e90d9229a5dcaa9212ce86f9c546001600160a01b0316146104965760405162461bcd60e51b815260040161048d9061132a565b60405180910390fd5b5f826001600160a01b03163b116105005760405162461bcd60e51b815260206004820152602860248201527f546f6b656e3a20737461626c65546f6b656e2c206e6f7420612076616c69642060448201526718dbdb9d1c9858dd60c21b606482015260840161048d565b5f7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610581919061137f565b600c549091506001600160a01b03166106c957806001600160a01b031663e6a43905307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610600573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610624919061137f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa15801561066d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610691919061137f565b600c80546001600160a01b0319166001600160a01b039290921691821790555f908152600660205260409020805460ff191660011790555b60405163e6a4390560e01b81523060048201526001600160a01b03848116602483015282169063e6a4390590604401602060405180830381865afa158015610713573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610737919061137f565b600d80546001600160a01b0319166001600160a01b039290921691821790551561079857600b80546001600160a01b0319166001600160a01b0385811691909117909155600d54165f908152600660205260409020805460ff191660011790555b5050600d546001600160a01b03165f9081526006602052604090205460ff16919050565b6107c4610c9a565b6107cd5f610cc6565b565b5f337f00000000000000000000000005d6f7e900424e90d9229a5dcaa9212ce86f9c546001600160a01b0316146108185760405162461bcd60e51b815260040161048d9061132a565b670de0b6b3a7640000821015801561083a575069d3c21bcecceda10000008211155b6108ac5760405162461bcd60e51b815260206004820152603e60248201527f546f6b656e3a20546f6b656e7320746f6f206c69717564617465206d7573742060448201527f6265206265747765656e203120616e6420312e3030302e3030302041444f0000606482015260840161048d565b60095460405183907f2357ccca11c679868cf1481aecd4d0cd97e60a5b2df97f231fba483278d26bd8905f90a350600955600190565b5f337f00000000000000000000000005d6f7e900424e90d9229a5dcaa9212ce86f9c546001600160a01b03161461092b5760405162461bcd60e51b815260040161048d9061132a565b600a5482036109995760405162461bcd60e51b815260206004820152603460248201527f546f6b656e3a205468652046656520697320616c72656164792073657420746f60448201527320746865207265717565737465642076616c756560601b606482015260840161048d565b600a8211156109ff5760405162461bcd60e51b815260206004820152602c60248201527f546f6b656e3a20546865206665652063616e206f6e6c7920626520626574776560448201526b656e203020616e642031302560a01b606482015260840161048d565b600a5460408051918252602082018490527fe52cb0832de950b73af43f166f7b02385ab4a101a956916b7f5a8cb29977a372910160405180910390a150600a55600190565b606060028054610387906112f2565b5f33610415818585610b2b565b610a68610c9a565b6001600160a01b038116610a9157604051631e4fbdf760e01b81525f600482015260240161048d565b610a9a81610cc6565b50565b610aaa8383836001610d15565b505050565b6001600160a01b038381165f908152600560209081526040808320938616835292905220545f19811015610b255781811015610b1757604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161048d565b610b2584848484035f610d15565b50505050565b6001600160a01b038316610b5457604051634b637e8f60e11b81525f600482015260240161048d565b6001600160a01b038216610b7d5760405163ec442f0560e01b81525f600482015260240161048d565b6001600160a01b0383165f90815260066020526040812054829060ff1680610bbc57506001600160a01b0384165f9081526006602052604090205460ff165b15610bf157326001600160a01b037f00000000000000000000000005d6f7e900424e90d9229a5dcaa9212ce86f9c5416141591505b60075460ff16158015610c0557505f600a54115b8015610c0e5750815b15610c88576001600160a01b0384165f9081526006602052604090205460ff1615610c5257600954305f9081526004602052604090205410610c5257610c52610de7565b5f6064600a5483610c6391906113ae565b610c6d91906113c5565b9050610c7981836113e4565b9150610c86863083611094565b505b610c93858583611094565b5050505050565b5f546001600160a01b031633146107cd5760405163118cdaa760e01b815233600482015260240161048d565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038416610d3e5760405163e602df0560e01b81525f600482015260240161048d565b6001600160a01b038316610d6757604051634a1406b160e11b81525f600482015260240161048d565b6001600160a01b038085165f9081526005602090815260408083209387168352929052208290558015610b2557826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610dd991815260200190565b60405180910390a350505050565b6007805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e2757610e276113f7565b6001600160a01b03928316602091820292909201810191909152600d5482165f9081526004909152604080822054600c5490931682529020541115610fb0577f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ec2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ee6919061137f565b81600181518110610ef957610ef96113f7565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9092169163791ac94791610f7e915f9086907f00000000000000000000000005d6f7e900424e90d9229a5dcaa9212ce86f9c5490429060040161140b565b5f604051808303815f87803b158015610f95575f80fd5b505af1158015610fa7573d5f803e3d5ffd5b50505050611087565b600b5481516001600160a01b039091169082906001908110610fd457610fd46113f7565b6001600160a01b039283166020918202929092010152600954604051635c11d79560e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d90921691635c11d79591611059915f9086907f00000000000000000000000005d6f7e900424e90d9229a5dcaa9212ce86f9c5490429060040161140b565b5f604051808303815f87803b158015611070575f80fd5b505af1158015611082573d5f803e3d5ffd5b505050505b506007805460ff19169055565b6001600160a01b0383166110be578060085f8282546110b3919061147c565b9091555061112e9050565b6001600160a01b0383165f90815260046020526040902054818110156111105760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161048d565b6001600160a01b0384165f9081526004602052604090209082900390555b6001600160a01b03821661114a57600880548290039055611168565b6001600160a01b0382165f9081526004602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111ad91815260200190565b60405180910390a3505050565b5f602080835283518060208501525f5b818110156111e6578581018301518582016040015282016111ca565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a9a575f80fd5b5f806040838503121561122b575f80fd5b823561123681611206565b946020939093013593505050565b5f805f60608486031215611256575f80fd5b833561126181611206565b9250602084013561127181611206565b929592945050506040919091013590565b5f60208284031215611292575f80fd5b813561129d81611206565b9392505050565b5f602082840312156112b4575f80fd5b5035919050565b5f80604083850312156112cc575f80fd5b82356112d781611206565b915060208301356112e781611206565b809150509250929050565b600181811c9082168061130657607f821691505b60208210810361132457634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526035908201527f546f6b656e3a204f6e6c792074686520746f6b656e206465706c6f796572206360408201527430b71031b0b636103a3434b990333ab731ba34b7b760591b606082015260800190565b5f6020828403121561138f575f80fd5b815161129d81611206565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761041b5761041b61139a565b5f826113df57634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561041b5761041b61139a565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561145b5784516001600160a01b031683529383019391830191600101611436565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561041b5761041b61139a56fea2646970667358221220b39d251586267955b2fc66ba8655092d8aa8886c11364eb917380b5e0b3b4aa164736f6c63430008180033
Deployed Bytecode Sourcemap
682:8476:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2111:89;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3494:186;;;;;;:::i;:::-;;:::i;:::-;;;1188:14:9;;1181:22;1163:41;;1151:2;1136:18;3494:186:0;1023:187:9;2842:79:0;2907:7;;-1:-1:-1;;;;;2907:7:0;2842:79;;;-1:-1:-1;;;;;1379:32:9;;;1361:51;;1349:2;1334:18;2842:79:0;1215:203:9;2400:97:0;2478:12;;2400:97;;;1569:25:9;;;1557:2;1542:18;2400:97:0;1423:177:9;3686:244:0;;;;;;:::i;:::-;;:::i;2305:89::-;2378:9;;2305:89;;2378:9;;;;2208:36:9;;2196:2;2181:18;2305:89:0;2066:184:9;1008:50:0;;;;;3936:666;;;;;;:::i;:::-;;:::i;2503:116::-;;;;;;:::i;:::-;-1:-1:-1;;;;;2594:18:0;2568:7;2594:18;;;:9;:18;;;;;;;2503:116;777:101:8;;;:::i;:::-;;3111:96:0;;;;;;:::i;:::-;-1:-1:-1;;;;;3186:14:0;3163:4;3186:14;;;:5;:14;;;;;;;;;3111:96;4948:358;;;;;;:::i;:::-;;:::i;518:85:8:-;564:7;590:6;-1:-1:-1;;;;;590:6:8;518:85;;4608:334:0;;;;;;:::i;:::-;;:::i;2206:93::-;;;:::i;3310:178::-;;;;;;:::i;:::-;;:::i;3016:89::-;3086:12;;-1:-1:-1;;;;;3086:12:0;3016:89;;1064:33;;;;;2625:140;;;;;;:::i;:::-;-1:-1:-1;;;;;2731:18:0;;;2705:7;2731:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2625:140;2771:65;2828:4;;2771:65;;2927:83;2994:9;;-1:-1:-1;;;;;2994:9:0;2927:83;;3213:91;3283:17;;3213:91;;884:215:8;;;;;;:::i;:::-;;:::i;2111:89:0:-;2156:13;2188:5;2181:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2111:89;:::o;3494:186::-;3567:4;236:10:7;3621:31:0;236:10:7;3637:7:0;3646:5;3621:8;:31::i;:::-;3669:4;3662:11;;;3494:186;;;;;:::o;3686:244::-;3773:4;236:10:7;3829:37:0;3845:4;236:10:7;3860:5:0;3829:15;:37::i;:::-;3876:26;3886:4;3892:2;3896:5;3876:9;:26::i;:::-;-1:-1:-1;3919:4:0;;3686:244;-1:-1:-1;;;;3686:244:0:o;3936:666::-;4020:4;236:10:7;1684:8:0;-1:-1:-1;;;;;1668:24:0;;1660:90;;;;-1:-1:-1;;;1660:90:0;;;;;;;:::i;:::-;;;;;;;;;4075:1:::1;4044:16;-1:-1:-1::0;;;;;4044:28:0::1;;:32;4036:85;;;::::0;-1:-1:-1;;;4036:85:0;;4329:2:9;4036:85:0::1;::::0;::::1;4311:21:9::0;4368:2;4348:18;;;4341:30;4407:34;4387:18;;;4380:62;-1:-1:-1;;;4458:18:9;;;4451:38;4506:19;;4036:85:0::1;4127:404:9::0;4036:85:0::1;4131:25;4177:14;-1:-1:-1::0;;;;;4177:22:0::1;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4216:7;::::0;4131:71;;-1:-1:-1;;;;;;4216:7:0::1;4212:150;;4263:7;-1:-1:-1::0;;;;;4263:15:0::1;;4287:4;4294:14;-1:-1:-1::0;;;;;4294:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4263:53;::::0;-1:-1:-1;;;;;;4263:53:0::1;::::0;;;;;;-1:-1:-1;;;;;5022:15:9;;;4263:53:0::1;::::0;::::1;5004:34:9::0;5074:15;;5054:18;;;5047:43;4939:18;;4263:53:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4253:7;:63:::0;;-1:-1:-1;;;;;;4253:63:0::1;-1:-1:-1::0;;;;;4253:63:0;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;4330:14:0;;;:5:::1;:14;::::0;;;;:21;;-1:-1:-1;;4330:21:0::1;-1:-1:-1::0;4330:21:0::1;::::0;;4212:150:::1;4383:48;::::0;-1:-1:-1;;;4383:48:0;;4407:4:::1;4383:48;::::0;::::1;5004:34:9::0;-1:-1:-1;;;;;5074:15:9;;;5054:18;;;5047:43;4383:15:0;::::1;::::0;::::1;::::0;4939:18:9;;4383:48:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4371:9;:60:::0;;-1:-1:-1;;;;;;4371:60:0::1;-1:-1:-1::0;;;;;4371:60:0;;;::::1;::::0;;::::1;::::0;;4445:23;4441:122:::1;;4484:12;:31:::0;;-1:-1:-1;;;;;;4484:31:0::1;-1:-1:-1::0;;;;;4484:31:0;;::::1;::::0;;;::::1;::::0;;;4535:9:::1;::::0;::::1;-1:-1:-1::0;4529:16:0;;;:5:::1;:16;::::0;;;;:23;;-1:-1:-1;;4529:23:0::1;-1:-1:-1::0;4529:23:0::1;::::0;;4441:122:::1;-1:-1:-1::0;;4585:9:0::1;::::0;-1:-1:-1;;;;;4585:9:0::1;4579:16;::::0;;;:5:::1;:16;::::0;;;;;::::1;;3936:666:::0;;;:::o;777:101:8:-;481:13;:11;:13::i;:::-;841:30:::1;868:1;841:18;:30::i;:::-;777:101::o:0;4948:358:0:-;5029:4;236:10:7;1684:8:0;-1:-1:-1;;;;;1668:24:0;;1660:90;;;;-1:-1:-1;;;1660:90:0;;;;;;;:::i;:::-;5065:8:::1;5053;:20;;:54;;;;;5089:18;5077:8;:30;;5053:54;5045:129;;;::::0;-1:-1:-1;;;5045:129:0;;5303:2:9;5045:129:0::1;::::0;::::1;5285:21:9::0;5342:2;5322:18;;;5315:30;5381:34;5361:18;;;5354:62;5452:32;5432:18;;;5425:60;5502:19;;5045:129:0::1;5101:426:9::0;5045:129:0::1;5222:17;::::0;5189:51:::1;::::0;5212:8;;5189:51:::1;::::0;;;::::1;-1:-1:-1::0;5250:17:0::1;:28:::0;5295:4:::1;::::0;4948:358::o;4608:334::-;4674:4;236:10:7;1684:8:0;-1:-1:-1;;;;;1668:24:0;;1660:90;;;;-1:-1:-1;;;1660:90:0;;;;;;;:::i;:::-;4708:4:::1;;4698:6;:14:::0;4690:79:::1;;;::::0;-1:-1:-1;;;4690:79:0;;5734:2:9;4690:79:0::1;::::0;::::1;5716:21:9::0;5773:2;5753:18;;;5746:30;5812:34;5792:18;;;5785:62;-1:-1:-1;;;5863:18:9;;;5856:50;5923:19;;4690:79:0::1;5532:416:9::0;4690:79:0::1;4797:2;4787:6;:12;;4779:69;;;::::0;-1:-1:-1;;;4779:69:0;;6155:2:9;4779:69:0::1;::::0;::::1;6137:21:9::0;6194:2;6174:18;;;6167:30;6233:34;6213:18;;;6206:62;-1:-1:-1;;;6284:18:9;;;6277:42;6336:19;;4779:69:0::1;5953:408:9::0;4779:69:0::1;4878:4;::::0;4863:28:::1;::::0;;6540:25:9;;;6596:2;6581:18;;6574:34;;;4863:28:0::1;::::0;6513:18:9;4863:28:0::1;;;;;;;-1:-1:-1::0;4901:4:0::1;:13:::0;4931:4:::1;::::0;4608:334::o;2206:93::-;2253:13;2285:7;2278:14;;;;;:::i;3310:178::-;3379:4;236:10:7;3433:27:0;236:10:7;3450:2:0;3454:5;3433:9;:27::i;884:215:8:-;481:13;:11;:13::i;:::-;-1:-1:-1;;;;;968:22:8;::::1;964:91;;1013:31;::::0;-1:-1:-1;;;1013:31:8;;1041:1:::1;1013:31;::::0;::::1;1361:51:9::0;1334:18;;1013:31:8::1;1215:203:9::0;964:91:8::1;1064:28;1083:8;1064:18;:28::i;:::-;884:215:::0;:::o;8030:128:0:-;8114:37;8123:5;8130:7;8139:5;8146:4;8114:8;:37::i;:::-;8030:128;;;:::o;8602:554::-;-1:-1:-1;;;;;2731:18:0;;;8701:24;2731:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;8767:36:0;;8763:387;;;8842:5;8823:16;:24;8819:208;;;8874:138;;-1:-1:-1;;;8874:138:0;;-1:-1:-1;;;;;6839:32:9;;8874:138:0;;;6821:51:9;6888:18;;;6881:34;;;6931:18;;;6924:34;;;6794:18;;8874:138:0;6619:345:9;8819:208:0;9068:57;9077:5;9084:7;9112:5;9093:16;:24;9119:5;9068:8;:57::i;:::-;8691:465;8602:554;;;:::o;6075:811::-;-1:-1:-1;;;;;6158:18:0;;6154:86;;6199:30;;-1:-1:-1;;;6199:30:0;;6226:1;6199:30;;;1361:51:9;1334:18;;6199:30:0;1215:203:9;6154:86:0;-1:-1:-1;;;;;6253:16:0;;6249:86;;6292:32;;-1:-1:-1;;;6292:32:0;;6321:1;6292:32;;;1361:51:9;1334:18;;6292:32:0;1215:203:9;6249:86:0;-1:-1:-1;;;;;6410:11:0;;6344:12;6410:11;;;:5;:11;;;;;;6391:5;;6410:11;;;:24;;-1:-1:-1;;;;;;6425:9:0;;;;;;:5;:9;;;;;;;;6410:24;6406:86;;;6460:9;-1:-1:-1;;;;;6473:8:0;6460:21;;;;-1:-1:-1;6406:86:0;6506:9;;;;6505:10;:22;;;;;6526:1;6519:4;;:8;6505:22;:33;;;;;6531:7;6505:33;6501:344;;;-1:-1:-1;;;;;6558:9:0;;;;;;:5;:9;;;;;;;;6554:152;;;6619:17;;6609:4;6591:24;;;;:9;:24;;;;;;:45;6587:105;;6660:13;:11;:13::i;:::-;6719;6753:3;6745:4;;6736:6;:13;;;;:::i;:::-;6735:21;;;;:::i;:::-;6719:37;-1:-1:-1;6770:15:0;6719:37;6770:15;;:::i;:::-;;;6799:35;6807:4;6821;6828:5;6799:7;:35::i;:::-;6540:305;6501:344;6854:25;6862:4;6868:2;6872:6;6854:7;:25::i;:::-;6144:742;;6075:811;;;:::o;609:162:8:-;564:7;590:6;-1:-1:-1;;;;;590:6:8;236:10:7;668:23:8;664:101;;714:40;;-1:-1:-1;;;714:40:8;;236:10:7;714:40:8;;;1361:51:9;1334:18;;714:40:8;1215:203:9;1105:187:8;1178:16;1197:6;;-1:-1:-1;;;;;1213:17:8;;;-1:-1:-1;;;;;;1213:17:8;;;;;;1245:40;;1197:6;;;;;;;1245:40;;1178:16;1245:40;1168:124;1105:187;:::o;8164:432:0:-;-1:-1:-1;;;;;8276:19:0;;8272:89;;8318:32;;-1:-1:-1;;;8318:32:0;;8347:1;8318:32;;;1361:51:9;1334:18;;8318:32:0;1215:203:9;8272:89:0;-1:-1:-1;;;;;8374:21:0;;8370:90;;8418:31;;-1:-1:-1;;;8418:31:0;;8446:1;8418:31;;;1361:51:9;1334:18;;8418:31:0;1215:203:9;8370:90:0;-1:-1:-1;;;;;8469:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;:35;;;8514:76;;;;8564:7;-1:-1:-1;;;;;8548:31:0;8557:5;-1:-1:-1;;;;;8548:31:0;;8573:5;8548:31;;;;1569:25:9;;1557:2;1542:18;;1423:177;8548:31:0;;;;;;;;8164:432;;;;:::o;5312:757::-;1559:9;:16;;-1:-1:-1;;1559:16:0;1571:4;1559:16;;;5389::::1;::::0;;5403:1:::1;5389:16:::0;;;;;::::1;::::0;;-1:-1:-1;;5389:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;5389:16:0::1;5365:40;;5433:4;5415;5420:1;5415:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5415:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;5483:9:::1;::::0;;::::1;5473:20;::::0;;;:9:::1;:20:::0;;;;;;;;5462:7:::1;::::0;;;::::1;5452:18:::0;;;;;:41:::1;5448:615;;;5519:14;-1:-1:-1::0;;;;;5519:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5509:4;5514:1;5509:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5509:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;5637:17:::1;::::0;5554:214:::1;::::0;-1:-1:-1;;;5554:214:0;;:14:::1;:65:::0;;::::1;::::0;::::1;::::0;:214:::1;::::0;5672:1:::1;::::0;5691:4;;5713:8:::1;::::0;5739:15:::1;::::0;5554:214:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5448:615;;;5809:12;::::0;5799:7;;-1:-1:-1;;;;;5809:12:0;;::::1;::::0;5799:4;;5809:12;;5799:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;5799:22:0;;::::1;:7;::::0;;::::1;::::0;;;;;:22;5921:17:::1;::::0;5835:217:::1;::::0;-1:-1:-1;;;5835:217:0;;:14:::1;:68:::0;;::::1;::::0;::::1;::::0;:217:::1;::::0;5956:1:::1;::::0;5975:4;;5997:8:::1;::::0;6023:15:::1;::::0;5835:217:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5448:615;-1:-1:-1::0;1596:9:0;:17;;-1:-1:-1;;1596:17:0;;;5312:757::o;6892:706::-;-1:-1:-1;;;;;6981:18:0;;6977:359;;7031:5;7015:12;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;6977:359:0;;-1:-1:-1;6977:359:0;;-1:-1:-1;;;;;7089:15:0;;7067:19;7089:15;;;:9;:15;;;;;;7122:19;;;7118:115;;;7168:50;;-1:-1:-1;;;7168:50:0;;-1:-1:-1;;;;;6839:32:9;;7168:50:0;;;6821:51:9;6888:18;;;6881:34;;;6931:18;;;6924:34;;;6794:18;;7168:50:0;6619:345:9;7118:115:0;-1:-1:-1;;;;;7274:15:0;;;;;;:9;:15;;;;;7292:19;;;;7274:37;;6977:359;-1:-1:-1;;;;;7350:16:0;;7346:205;;7410:12;:21;;;;;;;7346:205;;;-1:-1:-1;;;;;7504:13:0;;;;;;:9;:13;;;;;:22;;;;;;7346:205;7581:2;-1:-1:-1;;;;;7566:25:0;7575:4;-1:-1:-1;;;;;7566:25:0;;7585:5;7566:25;;;;1569::9;;1557:2;1542:18;;1423:177;7566:25:0;;;;;;;;6892:706;;;:::o;14:548:9:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:9;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:9:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:9;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:9;2036:18;;;;2023:32;;1605:456::o;2490:247::-;2549:6;2602:2;2590:9;2581:7;2577:23;2573:32;2570:52;;;2618:1;2615;2608:12;2570:52;2657:9;2644:23;2676:31;2701:5;2676:31;:::i;:::-;2726:5;2490:247;-1:-1:-1;;;2490:247:9:o;2742:180::-;2801:6;2854:2;2842:9;2833:7;2829:23;2825:32;2822:52;;;2870:1;2867;2860:12;2822:52;-1:-1:-1;2893:23:9;;2742:180;-1:-1:-1;2742:180:9:o;2927:388::-;2995:6;3003;3056:2;3044:9;3035:7;3031:23;3027:32;3024:52;;;3072:1;3069;3062:12;3024:52;3111:9;3098:23;3130:31;3155:5;3130:31;:::i;:::-;3180:5;-1:-1:-1;3237:2:9;3222:18;;3209:32;3250:33;3209:32;3250:33;:::i;:::-;3302:7;3292:17;;;2927:388;;;;;:::o;3320:380::-;3399:1;3395:12;;;;3442;;;3463:61;;3517:4;3509:6;3505:17;3495:27;;3463:61;3570:2;3562:6;3559:14;3539:18;3536:38;3533:161;;3616:10;3611:3;3607:20;3604:1;3597:31;3651:4;3648:1;3641:15;3679:4;3676:1;3669:15;3533:161;;3320:380;;;:::o;3705:417::-;3907:2;3889:21;;;3946:2;3926:18;;;3919:30;3985:34;3980:2;3965:18;;3958:62;-1:-1:-1;;;4051:2:9;4036:18;;4029:51;4112:3;4097:19;;3705:417::o;4536:251::-;4606:6;4659:2;4647:9;4638:7;4634:23;4630:32;4627:52;;;4675:1;4672;4665:12;4627:52;4707:9;4701:16;4726:31;4751:5;4726:31;:::i;6969:127::-;7030:10;7025:3;7021:20;7018:1;7011:31;7061:4;7058:1;7051:15;7085:4;7082:1;7075:15;7101:168;7174:9;;;7205;;7222:15;;;7216:22;;7202:37;7192:71;;7243:18;;:::i;7274:217::-;7314:1;7340;7330:132;;7384:10;7379:3;7375:20;7372:1;7365:31;7419:4;7416:1;7409:15;7447:4;7444:1;7437:15;7330:132;-1:-1:-1;7476:9:9;;7274:217::o;7496:128::-;7563:9;;;7584:11;;;7581:37;;;7598:18;;:::i;7761:127::-;7822:10;7817:3;7813:20;7810:1;7803:31;7853:4;7850:1;7843:15;7877:4;7874:1;7867:15;7893:980;8155:4;8203:3;8192:9;8188:19;8234:6;8223:9;8216:25;8260:2;8298:6;8293:2;8282:9;8278:18;8271:34;8341:3;8336:2;8325:9;8321:18;8314:31;8365:6;8400;8394:13;8431:6;8423;8416:22;8469:3;8458:9;8454:19;8447:26;;8508:2;8500:6;8496:15;8482:29;;8529:1;8539:195;8553:6;8550:1;8547:13;8539:195;;;8618:13;;-1:-1:-1;;;;;8614:39:9;8602:52;;8709:15;;;;8674:12;;;;8650:1;8568:9;8539:195;;;-1:-1:-1;;;;;;;8790:32:9;;;;8785:2;8770:18;;8763:60;-1:-1:-1;;;8854:3:9;8839:19;8832:35;8751:3;7893:980;-1:-1:-1;;;7893:980:9:o;8878:125::-;8943:9;;;8964:10;;;8961:36;;;8977:18;;:::i
Swarm Source
ipfs://b39d251586267955b2fc66ba8655092d8aa8886c11364eb917380b5e0b3b4aa1
Loading...
Loading
Loading...
Loading
OVERVIEW
Ado Protocol is an ecosystem designed to improve on-chain efficiency and connect Web2 businesses with blockchain technology. It's an ecosystem built for DeFi, RWA, CeFI and infrastucture products.Net Worth in USD
$2,700.12
Net Worth in ETH
1.37459
Token Allocations
ADO
100.00%
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $0.027225 | 99,179.6212 | $2,700.12 |
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.