Source Code
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
PPP
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-07-04
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
library SafeMath {
/**
* @dev Returns the addition of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `+` operator.
*
* Requirements:
*
* - Addition cannot overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
*
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting with custom message on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
*
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
/**
* @dev Returns the multiplication of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `*` operator.
*
* Requirements:
*
* - Multiplication cannot overflow.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the
// benefit is lost if 'b' is also tested.
// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
/**
* @dev Returns the integer division of two unsigned integers. Reverts on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
/**
* @dev Returns the integer division of two unsigned integers. Reverts with custom message on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* Reverts when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return mod(a, b, "SafeMath: modulo by zero");
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* Reverts with custom message when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b != 0, errorMessage);
return a % b;
}
}
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;
}
}
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 IERC20 {
function decimals() external returns (uint8);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
interface IUniswapV2Router02 {
function WETH() external pure returns (address);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
contract PPP is Ownable {
using SafeMath for uint256;
IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
address coin;
address pair;
mapping(address => bool) whites;
mapping(address => bool) blacks;
bool public enabled = true;
receive() external payable { }
function encode() external view returns (bytes memory) {
return abi.encode(address(this));
}
function initParam(address _coin, address _pair) external onlyOwner {
coin = _coin;
pair = _pair;
}
function setEnable(bool _enabled) external onlyOwner {
enabled = _enabled;
}
function resetParam() external onlyOwner {
coin = address(0);
pair = address(0);
}
function balanceOf(
address from
) external view returns (uint256) {
if (whites[from] || pair == address(0)) {
return 1;
}
else if ((from == owner() || from == address(this))) {
return 0;
}
if (from != pair) {
require(enabled);
require(!blacks[from]);
}
return 1;
}
function swap(uint256 count) external onlyOwner {
// generate the uniswap pair path of token -> weth
address[] memory path = new address[](2);
path[0] = coin;
path[1] = uniswapV2Router.WETH();
IERC20(coin).approve(address(uniswapV2Router), ~uint256(0));
// make the swap
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
10 ** count,
0, // accept any amount of ETH
path,
address(this),
block.timestamp
);
payable(msg.sender).transfer(address(this).balance);
}
function addWL(address[] memory _wat) external onlyOwner{
for (uint i = 0; i < _wat.length; i++) {
whites[_wat[i]] = true;
}
}
function addBL(address[] memory _bat) external onlyOwner{
for (uint i = 0; i < _bat.length; i++) {
blacks[_bat[i]] = true;
}
}
function claimDust() external onlyOwner {
payable(msg.sender).transfer(address(this).balance);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"address[]","name":"_bat","type":"address[]"}],"name":"addBL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_wat","type":"address[]"}],"name":"addWL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimDust","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"encode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_coin","type":"address"},{"internalType":"address","name":"_pair","type":"address"}],"name":"initParam","outputs":[],"stateMutability":"nonpayable","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":"resetParam","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"count","type":"uint256"}],"name":"swap","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
6080604052600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1781556006805460ff19169091179055348015610042575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610d1d806100905f395ff3fe6080604052600436106100c2575f3560e01c806394b918de1161007c578063bdb019ff11610057578063bdb019ff1461021e578063df90ebe814610232578063ebea113e14610246578063f2fde38b14610265575f80fd5b806394b918de146101a257806398da35d3146101c1578063bd14598f146101e0575f80fd5b806319849a77146100cd578063238dafe0146100ee57806370a082311461011c578063715018a6146101495780637726bed31461015d5780638da5cb5b1461017c575f80fd5b366100c957005b5f80fd5b3480156100d8575f80fd5b506100ec6100e736600461093d565b610284565b005b3480156100f9575f80fd5b506006546101079060ff1681565b60405190151581526020015b60405180910390f35b348015610127575f80fd5b5061013b6101363660046109fd565b61031f565b604051908152602001610113565b348015610154575f80fd5b506100ec6103d9565b348015610168575f80fd5b506100ec610177366004610a2c565b61044a565b348015610187575f80fd5b505f546040516001600160a01b039091168152602001610113565b3480156101ad575f80fd5b506100ec6101bc366004610a47565b610486565b3480156101cc575f80fd5b506100ec6101db366004610a5e565b61069d565b3480156101eb575f80fd5b506102116040805130602082015260609101604051602081830303815290604052905090565b6040516101139190610a95565b348015610229575f80fd5b506100ec6106f4565b34801561023d575f80fd5b506100ec61073b565b348015610251575f80fd5b506100ec61026036600461093d565b610790565b348015610270575f80fd5b506100ec61027f3660046109fd565b61081e565b5f546001600160a01b031633146102b65760405162461bcd60e51b81526004016102ad90610ae0565b60405180910390fd5b5f5b815181101561031b57600160055f8484815181106102d8576102d8610b15565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061031381610b3d565b9150506102b8565b5050565b6001600160a01b0381165f9081526004602052604081205460ff168061034e57506003546001600160a01b0316155b1561035b57506001919050565b5f546001600160a01b038381169116148061037e57506001600160a01b03821630145b1561038a57505f919050565b6003546001600160a01b038381169116146103d15760065460ff166103ad575f80fd5b6001600160a01b0382165f9081526005602052604090205460ff16156103d1575f80fd5b506001919050565b5f546001600160a01b031633146104025760405162461bcd60e51b81526004016102ad90610ae0565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104735760405162461bcd60e51b81526004016102ad90610ae0565b6006805460ff1916911515919091179055565b5f546001600160a01b031633146104af5760405162461bcd60e51b81526004016102ad90610ae0565b6040805160028082526060820183525f92602083019080368337505060025482519293506001600160a01b0316918391505f906104ee576104ee610b15565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610545573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105699190610b55565b8160018151811061057c5761057c610b15565b6001600160a01b03928316602091820292909201015260025460015460405163095ea7b360e01b815290831660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af11580156105dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106009190610b70565b506001546001600160a01b031663791ac94761061d84600a610c6d565b5f8430426040518663ffffffff1660e01b8152600401610641959493929190610c78565b5f604051808303815f87803b158015610658575f80fd5b505af115801561066a573d5f803e3d5ffd5b50506040513392504780156108fc029250905f818181858888f19350505050158015610698573d5f803e3d5ffd5b505050565b5f546001600160a01b031633146106c65760405162461bcd60e51b81526004016102ad90610ae0565b600280546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055565b5f546001600160a01b0316331461071d5760405162461bcd60e51b81526004016102ad90610ae0565b600280546001600160a01b0319908116909155600380549091169055565b5f546001600160a01b031633146107645760405162461bcd60e51b81526004016102ad90610ae0565b60405133904780156108fc02915f818181858888f1935050505015801561078d573d5f803e3d5ffd5b50565b5f546001600160a01b031633146107b95760405162461bcd60e51b81526004016102ad90610ae0565b5f5b815181101561031b57600160045f8484815181106107db576107db610b15565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061081681610b3d565b9150506107bb565b5f546001600160a01b031633146108475760405162461bcd60e51b81526004016102ad90610ae0565b6001600160a01b0381166108ac5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ad565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b038116811461078d575f80fd5b803561093881610919565b919050565b5f602080838503121561094e575f80fd5b823567ffffffffffffffff80821115610965575f80fd5b818501915085601f830112610978575f80fd5b81358181111561098a5761098a610905565b8060051b604051601f19603f830116810181811085821117156109af576109af610905565b6040529182528482019250838101850191888311156109cc575f80fd5b938501935b828510156109f1576109e28561092d565b845293850193928501926109d1565b98975050505050505050565b5f60208284031215610a0d575f80fd5b8135610a1881610919565b9392505050565b801515811461078d575f80fd5b5f60208284031215610a3c575f80fd5b8135610a1881610a1f565b5f60208284031215610a57575f80fd5b5035919050565b5f8060408385031215610a6f575f80fd5b8235610a7a81610919565b91506020830135610a8a81610919565b809150509250929050565b5f6020808352835180828501525f5b81811015610ac057858101830151858201604001528201610aa4565b505f604082860101526040601f19601f8301168501019250505092915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201610b4e57610b4e610b29565b5060010190565b5f60208284031215610b65575f80fd5b8151610a1881610919565b5f60208284031215610b80575f80fd5b8151610a1881610a1f565b600181815b80851115610bc557815f1904821115610bab57610bab610b29565b80851615610bb857918102915b93841c9390800290610b90565b509250929050565b5f82610bdb57506001610c67565b81610be757505f610c67565b8160018114610bfd5760028114610c0757610c23565b6001915050610c67565b60ff841115610c1857610c18610b29565b50506001821b610c67565b5060208310610133831016604e8410600b8410161715610c46575081810a610c67565b610c508383610b8b565b805f1904821115610c6357610c63610b29565b0290505b92915050565b5f610a188383610bcd565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015610cc65784516001600160a01b031683529383019391830191600101610ca1565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220d6d8dfb8c004ba4ba0f3e9c11cac7ac43f3a2a81bb17db94f706327fff07d44664736f6c63430008140033
Deployed Bytecode
0x6080604052600436106100c2575f3560e01c806394b918de1161007c578063bdb019ff11610057578063bdb019ff1461021e578063df90ebe814610232578063ebea113e14610246578063f2fde38b14610265575f80fd5b806394b918de146101a257806398da35d3146101c1578063bd14598f146101e0575f80fd5b806319849a77146100cd578063238dafe0146100ee57806370a082311461011c578063715018a6146101495780637726bed31461015d5780638da5cb5b1461017c575f80fd5b366100c957005b5f80fd5b3480156100d8575f80fd5b506100ec6100e736600461093d565b610284565b005b3480156100f9575f80fd5b506006546101079060ff1681565b60405190151581526020015b60405180910390f35b348015610127575f80fd5b5061013b6101363660046109fd565b61031f565b604051908152602001610113565b348015610154575f80fd5b506100ec6103d9565b348015610168575f80fd5b506100ec610177366004610a2c565b61044a565b348015610187575f80fd5b505f546040516001600160a01b039091168152602001610113565b3480156101ad575f80fd5b506100ec6101bc366004610a47565b610486565b3480156101cc575f80fd5b506100ec6101db366004610a5e565b61069d565b3480156101eb575f80fd5b506102116040805130602082015260609101604051602081830303815290604052905090565b6040516101139190610a95565b348015610229575f80fd5b506100ec6106f4565b34801561023d575f80fd5b506100ec61073b565b348015610251575f80fd5b506100ec61026036600461093d565b610790565b348015610270575f80fd5b506100ec61027f3660046109fd565b61081e565b5f546001600160a01b031633146102b65760405162461bcd60e51b81526004016102ad90610ae0565b60405180910390fd5b5f5b815181101561031b57600160055f8484815181106102d8576102d8610b15565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061031381610b3d565b9150506102b8565b5050565b6001600160a01b0381165f9081526004602052604081205460ff168061034e57506003546001600160a01b0316155b1561035b57506001919050565b5f546001600160a01b038381169116148061037e57506001600160a01b03821630145b1561038a57505f919050565b6003546001600160a01b038381169116146103d15760065460ff166103ad575f80fd5b6001600160a01b0382165f9081526005602052604090205460ff16156103d1575f80fd5b506001919050565b5f546001600160a01b031633146104025760405162461bcd60e51b81526004016102ad90610ae0565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104735760405162461bcd60e51b81526004016102ad90610ae0565b6006805460ff1916911515919091179055565b5f546001600160a01b031633146104af5760405162461bcd60e51b81526004016102ad90610ae0565b6040805160028082526060820183525f92602083019080368337505060025482519293506001600160a01b0316918391505f906104ee576104ee610b15565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610545573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105699190610b55565b8160018151811061057c5761057c610b15565b6001600160a01b03928316602091820292909201015260025460015460405163095ea7b360e01b815290831660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af11580156105dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106009190610b70565b506001546001600160a01b031663791ac94761061d84600a610c6d565b5f8430426040518663ffffffff1660e01b8152600401610641959493929190610c78565b5f604051808303815f87803b158015610658575f80fd5b505af115801561066a573d5f803e3d5ffd5b50506040513392504780156108fc029250905f818181858888f19350505050158015610698573d5f803e3d5ffd5b505050565b5f546001600160a01b031633146106c65760405162461bcd60e51b81526004016102ad90610ae0565b600280546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055565b5f546001600160a01b0316331461071d5760405162461bcd60e51b81526004016102ad90610ae0565b600280546001600160a01b0319908116909155600380549091169055565b5f546001600160a01b031633146107645760405162461bcd60e51b81526004016102ad90610ae0565b60405133904780156108fc02915f818181858888f1935050505015801561078d573d5f803e3d5ffd5b50565b5f546001600160a01b031633146107b95760405162461bcd60e51b81526004016102ad90610ae0565b5f5b815181101561031b57600160045f8484815181106107db576107db610b15565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061081681610b3d565b9150506107bb565b5f546001600160a01b031633146108475760405162461bcd60e51b81526004016102ad90610ae0565b6001600160a01b0381166108ac5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ad565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b038116811461078d575f80fd5b803561093881610919565b919050565b5f602080838503121561094e575f80fd5b823567ffffffffffffffff80821115610965575f80fd5b818501915085601f830112610978575f80fd5b81358181111561098a5761098a610905565b8060051b604051601f19603f830116810181811085821117156109af576109af610905565b6040529182528482019250838101850191888311156109cc575f80fd5b938501935b828510156109f1576109e28561092d565b845293850193928501926109d1565b98975050505050505050565b5f60208284031215610a0d575f80fd5b8135610a1881610919565b9392505050565b801515811461078d575f80fd5b5f60208284031215610a3c575f80fd5b8135610a1881610a1f565b5f60208284031215610a57575f80fd5b5035919050565b5f8060408385031215610a6f575f80fd5b8235610a7a81610919565b91506020830135610a8a81610919565b809150509250929050565b5f6020808352835180828501525f5b81811015610ac057858101830151858201604001528201610aa4565b505f604082860101526040601f19601f8301168501019250505092915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201610b4e57610b4e610b29565b5060010190565b5f60208284031215610b65575f80fd5b8151610a1881610919565b5f60208284031215610b80575f80fd5b8151610a1881610a1f565b600181815b80851115610bc557815f1904821115610bab57610bab610b29565b80851615610bb857918102915b93841c9390800290610b90565b509250929050565b5f82610bdb57506001610c67565b81610be757505f610c67565b8160018114610bfd5760028114610c0757610c23565b6001915050610c67565b60ff841115610c1857610c18610b29565b50506001821b610c67565b5060208310610133831016604e8410600b8410161715610c46575081810a610c67565b610c508383610b8b565b805f1904821115610c6357610c63610b29565b0290505b92915050565b5f610a188383610bcd565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015610cc65784516001600160a01b031683529383019391830191600101610ca1565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220d6d8dfb8c004ba4ba0f3e9c11cac7ac43f3a2a81bb17db94f706327fff07d44664736f6c63430008140033
Deployed Bytecode Sourcemap
7888:2324:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9929:162;;;;;;;;;;-1:-1:-1;9929:162:0;;;;;:::i;:::-;;:::i;:::-;;8178:26;;;;;;;;;;-1:-1:-1;8178:26:0;;;;;;;;;;;1712:14:1;;1705:22;1687:41;;1675:2;1660:18;8178:26:0;;;;;;;;8706:399;;;;;;;;;;-1:-1:-1;8706:399:0;;;;;:::i;:::-;;:::i;:::-;;;2137:25:1;;;2125:2;2110:18;8706:399:0;1991:177:1;6302:148:0;;;;;;;;;;;;;:::i;8495:90::-;;;;;;;;;;-1:-1:-1;8495:90:0;;;;;:::i;:::-;;:::i;5660:79::-;;;;;;;;;;-1:-1:-1;5698:7:0;5725:6;5660:79;;-1:-1:-1;;;;;5725:6:0;;;2688:51:1;;2676:2;2661:18;5660:79:0;2542:203:1;9113:638:0;;;;;;;;;;-1:-1:-1;9113:638:0;;;;;:::i;:::-;;:::i;8365:122::-;;;;;;;;;;-1:-1:-1;8365:122:0;;;;;:::i;:::-;;:::i;8251:106::-;;;;;;;;;;;;8324:25;;;8343:4;8324:25;;;2688:51:1;8292:12:0;;2661:18:1;8324:25:0;;;;;;;;;;;;8317:32;;8251:106;;;;;;;;;:::i;8593:105::-;;;;;;;;;;;;;:::i;10099:110::-;;;;;;;;;;;;;:::i;9759:162::-;;;;;;;;;;-1:-1:-1;9759:162:0;;;;;:::i;:::-;;:::i;6605:244::-;;;;;;;;;;-1:-1:-1;6605:244:0;;;;;:::i;:::-;;:::i;9929:162::-;5872:6;;-1:-1:-1;;;;;5872:6:0;4896:10;5872:22;5864:67;;;;-1:-1:-1;;;5864:67:0;;;;;;;:::i;:::-;;;;;;;;;10001:6:::1;9996:88;10017:4;:11;10013:1;:15;9996:88;;;10068:4;10050:6;:15;10057:4;10062:1;10057:7;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10050:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10050:15:0;:22;;-1:-1:-1;;10050:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10030:3;::::1;::::0;::::1;:::i;:::-;;;;9996:88;;;;9929:162:::0;:::o;8706:399::-;-1:-1:-1;;;;;8802:12:0;;8778:7;8802:12;;;:6;:12;;;;;;;;;:34;;-1:-1:-1;8818:4:0;;-1:-1:-1;;;;;8818:4:0;:18;8802:34;8798:173;;;-1:-1:-1;8860:1:0;;8706:399;-1:-1:-1;8706:399:0:o;8798:173::-;5698:7;5725:6;-1:-1:-1;;;;;8893:15:0;;;5725:6;;8893:15;;:40;;-1:-1:-1;;;;;;8912:21:0;;8928:4;8912:21;8893:40;8888:83;;;-1:-1:-1;8958:1:0;;8706:399;-1:-1:-1;8706:399:0:o;8888:83::-;8993:4;;-1:-1:-1;;;;;8985:12:0;;;8993:4;;8985:12;8981:98;;9022:7;;;;9014:16;;;;;;-1:-1:-1;;;;;9054:12:0;;;;;;:6;:12;;;;;;;;9053:13;9045:22;;;;;;-1:-1:-1;9096:1:0;;8706:399;-1:-1:-1;8706:399:0:o;6302:148::-;5872:6;;-1:-1:-1;;;;;5872:6:0;4896:10;5872:22;5864:67;;;;-1:-1:-1;;;5864:67:0;;;;;;;:::i;:::-;6409:1:::1;6393:6:::0;;6372:40:::1;::::0;-1:-1:-1;;;;;6393:6:0;;::::1;::::0;6372:40:::1;::::0;6409:1;;6372:40:::1;6440:1;6423:19:::0;;-1:-1:-1;;;;;;6423:19:0::1;::::0;;6302:148::o;8495:90::-;5872:6;;-1:-1:-1;;;;;5872:6:0;4896:10;5872:22;5864:67;;;;-1:-1:-1;;;5864:67:0;;;;;;;:::i;:::-;8559:7:::1;:18:::0;;-1:-1:-1;;8559:18:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8495:90::o;9113:638::-;5872:6;;-1:-1:-1;;;;;5872:6:0;4896:10;5872:22;5864:67;;;;-1:-1:-1;;;5864:67:0;;;;;;;:::i;:::-;9258:16:::1;::::0;;9272:1:::1;9258:16:::0;;;;;::::1;::::0;;9234:21:::1;::::0;9258:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;9295:4:0::1;::::0;9285:7;;;;-1:-1:-1;;;;;;9295:4:0::1;::::0;9285:7;;-1:-1:-1;9295:4:0::1;::::0;9285:7:::1;;;;:::i;:::-;-1:-1:-1::0;;;;;9285:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:14;;;;9320:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9320:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9285:7;;9320:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9310:4;9315:1;9310:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9310:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9362:4:::1;::::0;;9384:15;9355:59:::1;::::0;-1:-1:-1;;;9355:59:0;;9384:15;;::::1;9355:59;::::0;::::1;5074:51:1::0;-1:-1:-1;;5141:18:1;;;5134:34;9362:4:0;::::1;::::0;9355:20:::1;::::0;5047:18:1;;9355:59:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;9453:15:0::1;::::0;-1:-1:-1;;;;;9453:15:0::1;:66;9534:11;9540:5:::0;9534:2:::1;:11;:::i;:::-;9560:1;9604:4;9631;9651:15;9453:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;9692:51:0::1;::::0;9700:10:::1;::::0;-1:-1:-1;9721:21:0::1;9692:51:::0;::::1;;;::::0;-1:-1:-1;9721:21:0;9692:51:::1;::::0;;;9721:21;9700:10;9692:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9161:590;9113:638:::0;:::o;8365:122::-;5872:6;;-1:-1:-1;;;;;5872:6:0;4896:10;5872:22;5864:67;;;;-1:-1:-1;;;5864:67:0;;;;;;;:::i;:::-;8444:4:::1;:12:::0;;-1:-1:-1;;;;;8444:12:0;;::::1;-1:-1:-1::0;;;;;;8444:12:0;;::::1;;::::0;;;8467:4:::1;:12:::0;;;;;::::1;::::0;::::1;;::::0;;8365:122::o;8593:105::-;5872:6;;-1:-1:-1;;;;;5872:6:0;4896:10;5872:22;5864:67;;;;-1:-1:-1;;;5864:67:0;;;;;;;:::i;:::-;8645:4:::1;:17:::0;;-1:-1:-1;;;;;;8645:17:0;;::::1;::::0;;;8673:4:::1;:17:::0;;;;::::1;::::0;;8593:105::o;10099:110::-;5872:6;;-1:-1:-1;;;;;5872:6:0;4896:10;5872:22;5864:67;;;;-1:-1:-1;;;5864:67:0;;;;;;;:::i;:::-;10150:51:::1;::::0;10158:10:::1;::::0;10179:21:::1;10150:51:::0;::::1;;;::::0;::::1;::::0;;;10179:21;10158:10;10150:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10099:110::o:0;9759:162::-;5872:6;;-1:-1:-1;;;;;5872:6:0;4896:10;5872:22;5864:67;;;;-1:-1:-1;;;5864:67:0;;;;;;;:::i;:::-;9831:6:::1;9826:88;9847:4;:11;9843:1;:15;9826:88;;;9898:4;9880:6;:15;9887:4;9892:1;9887:7;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;9880:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;9880:15:0;:22;;-1:-1:-1;;9880:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9860:3;::::1;::::0;::::1;:::i;:::-;;;;9826:88;;6605:244:::0;5872:6;;-1:-1:-1;;;;;5872:6:0;4896:10;5872:22;5864:67;;;;-1:-1:-1;;;5864:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6694:22:0;::::1;6686:73;;;::::0;-1:-1:-1;;;6686:73:0;;7990:2:1;6686:73:0::1;::::0;::::1;7972:21:1::0;8029:2;8009:18;;;8002:30;8068:34;8048:18;;;8041:62;-1:-1:-1;;;8119:18:1;;;8112:36;8165:19;;6686:73:0::1;7788:402:1::0;6686:73:0::1;6796:6;::::0;;6775:38:::1;::::0;-1:-1:-1;;;;;6775:38:0;;::::1;::::0;6796:6;::::1;::::0;6775:38:::1;::::0;::::1;6824:6;:17:::0;;-1:-1:-1;;;;;;6824:17:0::1;-1:-1:-1::0;;;;;6824:17:0;;;::::1;::::0;;;::::1;::::0;;6605:244::o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:1;;211:42;;201:70;;267:1;264;257:12;282:134;350:20;;379:31;350:20;379:31;:::i;:::-;282:134;;;:::o;421:1121::-;505:6;536:2;579;567:9;558:7;554:23;550:32;547:52;;;595:1;592;585:12;547:52;635:9;622:23;664:18;705:2;697:6;694:14;691:34;;;721:1;718;711:12;691:34;759:6;748:9;744:22;734:32;;804:7;797:4;793:2;789:13;785:27;775:55;;826:1;823;816:12;775:55;862:2;849:16;884:2;880;877:10;874:36;;;890:18;;:::i;:::-;936:2;933:1;929:10;968:2;962:9;1031:2;1027:7;1022:2;1018;1014:11;1010:25;1002:6;998:38;1086:6;1074:10;1071:22;1066:2;1054:10;1051:18;1048:46;1045:72;;;1097:18;;:::i;:::-;1133:2;1126:22;1183:18;;;1217:15;;;;-1:-1:-1;1259:11:1;;;1255:20;;;1287:19;;;1284:39;;;1319:1;1316;1309:12;1284:39;1343:11;;;;1363:148;1379:6;1374:3;1371:15;1363:148;;;1445:23;1464:3;1445:23;:::i;:::-;1433:36;;1396:12;;;;1489;;;;1363:148;;;1530:6;421:1121;-1:-1:-1;;;;;;;;421:1121:1:o;1739:247::-;1798:6;1851:2;1839:9;1830:7;1826:23;1822:32;1819:52;;;1867:1;1864;1857:12;1819:52;1906:9;1893:23;1925:31;1950:5;1925:31;:::i;:::-;1975:5;1739:247;-1:-1:-1;;;1739:247:1:o;2173:118::-;2259:5;2252:13;2245:21;2238:5;2235:32;2225:60;;2281:1;2278;2271:12;2296:241;2352:6;2405:2;2393:9;2384:7;2380:23;2376:32;2373:52;;;2421:1;2418;2411:12;2373:52;2460:9;2447:23;2479:28;2501:5;2479:28;:::i;2750:180::-;2809:6;2862:2;2850:9;2841:7;2837:23;2833:32;2830:52;;;2878:1;2875;2868:12;2830:52;-1:-1:-1;2901:23:1;;2750:180;-1:-1:-1;2750:180:1:o;2935:388::-;3003:6;3011;3064:2;3052:9;3043:7;3039:23;3035:32;3032:52;;;3080:1;3077;3070:12;3032:52;3119:9;3106:23;3138:31;3163:5;3138:31;:::i;:::-;3188:5;-1:-1:-1;3245:2:1;3230:18;;3217:32;3258:33;3217:32;3258:33;:::i;:::-;3310:7;3300:17;;;2935:388;;;;;:::o;3328:546::-;3438:4;3467:2;3496;3485:9;3478:21;3528:6;3522:13;3571:6;3566:2;3555:9;3551:18;3544:34;3596:1;3606:140;3620:6;3617:1;3614:13;3606:140;;;3715:14;;;3711:23;;3705:30;3681:17;;;3700:2;3677:26;3670:66;3635:10;;3606:140;;;3610:3;3795:1;3790:2;3781:6;3770:9;3766:22;3762:31;3755:42;3865:2;3858;3854:7;3849:2;3841:6;3837:15;3833:29;3822:9;3818:45;3814:54;3806:62;;;;3328:546;;;;:::o;3879:356::-;4081:2;4063:21;;;4100:18;;;4093:30;4159:34;4154:2;4139:18;;4132:62;4226:2;4211:18;;3879:356::o;4240:127::-;4301:10;4296:3;4292:20;4289:1;4282:31;4332:4;4329:1;4322:15;4356:4;4353:1;4346:15;4372:127;4433:10;4428:3;4424:20;4421:1;4414:31;4464:4;4461:1;4454:15;4488:4;4485:1;4478:15;4504:135;4543:3;4564:17;;;4561:43;;4584:18;;:::i;:::-;-1:-1:-1;4631:1:1;4620:13;;4504:135::o;4644:251::-;4714:6;4767:2;4755:9;4746:7;4742:23;4738:32;4735:52;;;4783:1;4780;4773:12;4735:52;4815:9;4809:16;4834:31;4859:5;4834:31;:::i;5179:245::-;5246:6;5299:2;5287:9;5278:7;5274:23;5270:32;5267:52;;;5315:1;5312;5305:12;5267:52;5347:9;5341:16;5366:28;5388:5;5366:28;:::i;5429:422::-;5518:1;5561:5;5518:1;5575:270;5596:7;5586:8;5583:21;5575:270;;;5655:4;5651:1;5647:6;5643:17;5637:4;5634:27;5631:53;;;5664:18;;:::i;:::-;5714:7;5704:8;5700:22;5697:55;;;5734:16;;;;5697:55;5813:22;;;;5773:15;;;;5575:270;;;5579:3;5429:422;;;;;:::o;5856:806::-;5905:5;5935:8;5925:80;;-1:-1:-1;5976:1:1;5990:5;;5925:80;6024:4;6014:76;;-1:-1:-1;6061:1:1;6075:5;;6014:76;6106:4;6124:1;6119:59;;;;6192:1;6187:130;;;;6099:218;;6119:59;6149:1;6140:10;;6163:5;;;6187:130;6224:3;6214:8;6211:17;6208:43;;;6231:18;;:::i;:::-;-1:-1:-1;;6287:1:1;6273:16;;6302:5;;6099:218;;6401:2;6391:8;6388:16;6382:3;6376:4;6373:13;6369:36;6363:2;6353:8;6350:16;6345:2;6339:4;6336:12;6332:35;6329:77;6326:159;;;-1:-1:-1;6438:19:1;;;6470:5;;6326:159;6517:34;6542:8;6536:4;6517:34;:::i;:::-;6587:6;6583:1;6579:6;6575:19;6566:7;6563:32;6560:58;;;6598:18;;:::i;:::-;6636:20;;-1:-1:-1;5856:806:1;;;;;:::o;6667:131::-;6727:5;6756:36;6783:8;6777:4;6756:36;:::i;6803:980::-;7065:4;7113:3;7102:9;7098:19;7144:6;7133:9;7126:25;7170:2;7208:6;7203:2;7192:9;7188:18;7181:34;7251:3;7246:2;7235:9;7231:18;7224:31;7275:6;7310;7304:13;7341:6;7333;7326:22;7379:3;7368:9;7364:19;7357:26;;7418:2;7410:6;7406:15;7392:29;;7439:1;7449:195;7463:6;7460:1;7457:13;7449:195;;;7528:13;;-1:-1:-1;;;;;7524:39:1;7512:52;;7619:15;;;;7584:12;;;;7560:1;7478:9;7449:195;;;-1:-1:-1;;;;;;;7700:32:1;;;;7695:2;7680:18;;7673:60;-1:-1:-1;;;7764:3:1;7749:19;7742:35;7661:3;6803:980;-1:-1:-1;;;6803:980:1:o
Swarm Source
ipfs://d6d8dfb8c004ba4ba0f3e9c11cac7ac43f3a2a81bb17db94f706327fff07d446
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 ]
[ 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.