BNB Price: $623.27 (+2.80%)
 

Overview

Max Total Supply

100,000,000,000CNF

Holders

517

Market

Price

$0.00 @ 0.000000 BNB

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1 CNF

Value
$0.00
0xea52Fe6730078b5A55C26971eC3351eba873AA91
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
CNF

Compiler Version
v0.8.34+commit.80d5c536

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

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);
}

contract ERC20 is IERC20 {
    string public name;
    string public symbol;
    uint8 public decimals = 18;

    uint256 internal _totalSupply;

    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;

    constructor(string memory n, string memory s) {
        name = n;
        symbol = s;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address a) public view override returns (uint256) {
        return _balances[a];
    }

    function transfer(address to, uint256 v) public override returns (bool) {
        _transfer(msg.sender, to, v);
        return true;
    }

    function allowance(
        address o,
        address sp
    ) public view override returns (uint256) {
        return _allowances[o][sp];
    }

    function approve(address sp, uint256 v) public override returns (bool) {
        _allowances[msg.sender][sp] = v;
        emit Approval(msg.sender, sp, v);
        return true;
    }

    function transferFrom(
        address f,
        address t,
        uint256 v
    ) public override returns (bool) {
        uint256 al = _allowances[f][msg.sender];
        require(al >= v);
        _allowances[f][msg.sender] = al - v;
        _transfer(f, t, v);
        return true;
    }

    function _transfer(address f, address t, uint256 v) internal virtual {
        require(_balances[f] >= v, "bal");
        _beforeTokenTransfer(f, t, v);
        _balances[f] -= v;
        _balances[t] += v;
        emit Transfer(f, t, v);
    }

    function _mint(address to, uint256 v) internal {
        _totalSupply += v;
        _balances[to] += v;
        emit Transfer(address(0), to, v);
    }

    function _burn(address from, uint256 v) internal {
        require(_balances[from] >= v);
        _beforeTokenTransfer(from, address(0), v);
        _balances[from] -= v;
        _totalSupply -= v;
        emit Transfer(from, address(0), v);
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amt
    ) internal virtual {}
}

contract Ownable {
    address public owner;

    constructor(address o) {
        owner = o;
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "owner");
        _;
    }
}

contract CNF is ERC20, Ownable {
    uint256 public CLIFF;
    uint256 public GAP;
    uint256 public VESTING_STEP;

    uint256 public FIRST_UNLOCK = 5;
    uint256 public MONTHLY_UNLOCK_RATE = 158;
    uint256 public MAX_UNLOCK_PERCENT = 95;

    event SellRecord(
        address indexed user,
        uint256 indexed vestIndex,
        uint256 amount,
        uint256 totalSold,
        uint256 time
    );

    struct VestingInfo {
        uint256 total;
        uint256 startTime;
        uint256 sold;
    }

    mapping(address => VestingInfo[]) public vesting;
    mapping(address => bool) public authorizedRecorders;

    constructor() ERC20("CNF", "CNF") Ownable(msg.sender) {
        CLIFF = 12 * 30 days;
        GAP = 4 * 30 days;
        VESTING_STEP = 30 days;
        _mint(msg.sender, 100_000_000_000 ether);
    }

    function setAuthorizedRecorder(address u, bool st) external onlyOwner {
        authorizedRecorders[u] = st;
    }

    function setCliff(uint256 sec) public onlyOwner {
        CLIFF = sec;
    }

    function setGap(uint256 sec) public onlyOwner {
        GAP = sec;
    }

    function setVestingStep(uint256 sec) public onlyOwner {
        VESTING_STEP = sec;
    }

    function recordLockedROI(address user, uint256 amt) external {
        require(authorizedRecorders[msg.sender], "auth");
        vesting[user].push(VestingInfo(amt, block.timestamp, 0));
    }

    function _getUnlockedSingle(
        VestingInfo storage v
    ) internal view returns (uint256) {
        uint256 t = block.timestamp;

        if (t < v.startTime + CLIFF) return 0;

        uint256 u = (v.total * FIRST_UNLOCK) / 100;

        uint256 afterGap = v.startTime + CLIFF + GAP;

        if (t > afterGap) {
            uint256 m = (t - afterGap) / VESTING_STEP + 1;
            u += (v.total * MONTHLY_UNLOCK_RATE * m) / 10000;
        }

        uint256 maxU = (v.total * MAX_UNLOCK_PERCENT) / 100;

        if (u > maxU) u = maxU;

        return u;
    }

    function getTotalUnlocked(address user) public view returns (uint256 s) {
        uint256 l = vesting[user].length;

        for (uint256 i = 0; i < l; i++) {
            uint256 u = _getUnlockedSingle(vesting[user][i]);

            uint256 sold = vesting[user][i].sold;

            if (u > sold) {
                s += u - sold;
            }
        }
    }

    function getTotalLocked(address user) public view returns (uint256 s) {
        uint256 l = vesting[user].length;

        for (uint256 i = 0; i < l; i++) {
            s += vesting[user][i].total;
        }
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amt
    ) internal override {
        if (from == address(0) || to == address(0)) return;

        uint256 balance = balanceOf(from);

        uint256 totalLocked = getTotalLocked(from);

        uint256 freeExternal = balance > totalLocked
            ? balance - totalLocked
            : 0;

        uint256 vestAvailable = getTotalUnlocked(from);

        uint256 transferable = freeExternal + vestAvailable;

        require(amt <= transferable, "transfer exceeds unlocked");

        if (amt > freeExternal) {
            uint256 vestPart = amt - freeExternal;

            _consumeVesting(from, vestPart);
        }
    }

    function _consumeVesting(address user, uint256 amt) internal {
        uint256 remain = amt;

        uint256 l = vesting[user].length;

        for (uint256 i = 0; i < l && remain > 0; i++) {
            VestingInfo storage v = vesting[user][i];

            uint256 u = _getUnlockedSingle(v);

            if (u <= v.sold) continue;

            uint256 avail = u - v.sold;

            uint256 take = remain > avail ? avail : remain;

            v.sold += take;

            remain -= take;

            emit SellRecord(user, i, take, v.sold, block.timestamp);
        }
    }

    function burn(uint256 v) external {
        _burn(msg.sender, v);
    }
    function changeOwner(address newOwner) external onlyOwner {
        owner = newOwner;
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "remappings": []
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"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":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"vestIndex","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalSold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"SellRecord","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":"CLIFF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FIRST_UNLOCK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GAP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_UNLOCK_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MONTHLY_UNLOCK_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VESTING_STEP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"o","type":"address"},{"internalType":"address","name":"sp","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sp","type":"address"},{"internalType":"uint256","name":"v","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"authorizedRecorders","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"v","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getTotalLocked","outputs":[{"internalType":"uint256","name":"s","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getTotalUnlocked","outputs":[{"internalType":"uint256","name":"s","type":"uint256"}],"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":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"recordLockedROI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"u","type":"address"},{"internalType":"bool","name":"st","type":"bool"}],"name":"setAuthorizedRecorder","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sec","type":"uint256"}],"name":"setCliff","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sec","type":"uint256"}],"name":"setGap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sec","type":"uint256"}],"name":"setVestingStep","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"v","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"f","type":"address"},{"internalType":"address","name":"t","type":"address"},{"internalType":"uint256","name":"v","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"vesting","outputs":[{"internalType":"uint256","name":"total","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"sold","type":"uint256"}],"stateMutability":"view","type":"function"}]

60806040526002805460ff191660121790556005600a55609e600b55605f600c5534801561002b575f5ffd5b5060408051808201825260038082526221a72360e91b602080840182905284518086019095529184529083015233915f61006583826101f1565b50600161007282826101f1565b5050600680546001600160a01b0319166001600160a01b039390931692909217909155506301da9c00600755629e340060085562278d006009556100c3336c01431e0fae6d7217caa00000006100c8565b6102d4565b8060035f8282546100d991906102af565b90915550506001600160a01b0382165f90815260046020526040812080548392906101059084906102af565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061017657607f821691505b60208210810361019457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101ec57828211156101ec57805f5260205f20601f840160051c60208510156101c557505f5b90810190601f840160051c035f5b818110156101e8575f838201556001016101d3565b5050505b505050565b81516001600160401b0381111561020a5761020a61014e565b61021e816102188454610162565b8461019a565b6020601f821160018114610250575f83156102395750848201515b5f19600385901b1c1916600184901b1784556102a8565b5f84815260208120601f198516915b8281101561027f578785015182556020948501946001909201910161025f565b508482101561029c57868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b808201808211156102ce57634e487b7160e01b5f52601160045260245ffd5b92915050565b611067806102e15f395ff3fe608060405234801561000f575f5ffd5b50600436106101a1575f3560e01c80638da5cb5b116100f3578063b87592f211610093578063d705e0821161006e578063d705e0821461039c578063dd62ed3e146103a5578063f56618b5146103dd578063ff4d1f25146103f0575f5ffd5b8063b87592f214610377578063be1b7b4c14610380578063c136318b14610389575f5ffd5b8063a9059cbb116100ce578063a9059cbb14610326578063a9178ebd14610339578063ac9a5e9a1461034c578063b2ca38fe1461036e575f5ffd5b80638da5cb5b146102e057806395d89b411461030b578063a6f9dae114610313575f5ffd5b806323b872dd1161015e5780633d3fb099116101395780633d3fb0991461028957806342966c681461029c57806369258c11146102af57806370a08231146102b8575f5ffd5b806323b872dd14610242578063272d023a14610255578063313ce5671461026a575f5ffd5b806305c77a3c146101a557806306fdde03146101cb578063095ea7b3146101e0578063143ee5b91461020357806318160ddd14610231578063204fa66614610239575b5f5ffd5b6101b86101b3366004610e06565b610403565b6040519081526020015b60405180910390f35b6101d3610479565b6040516101c29190610e26565b6101f36101ee366004610e5b565b610504565b60405190151581526020016101c2565b610216610211366004610e5b565b610570565b604080519384526020840192909252908201526060016101c2565b6003546101b8565b6101b8600b5481565b6101f3610250366004610e83565b6105ae565b610268610263366004610ebd565b610620565b005b6002546102779060ff1681565b60405160ff90911681526020016101c2565b6101b8610297366004610e06565b61067d565b6102686102aa366004610ef6565b610747565b6101b8600c5481565b6101b86102c6366004610e06565b6001600160a01b03165f9081526004602052604090205490565b6006546102f3906001600160a01b031681565b6040516001600160a01b0390911681526020016101c2565b6101d3610754565b610268610321366004610e06565b610761565b6101f3610334366004610e5b565b6107ad565b610268610347366004610ef6565b6107c2565b6101f361035a366004610e06565b600e6020525f908152604090205460ff1681565b6101b860085481565b6101b860075481565b6101b8600a5481565b610268610397366004610ef6565b6107f1565b6101b860095481565b6101b86103b3366004610f0d565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b6102686103eb366004610e5b565b610820565b6102686103fe366004610ef6565b6108c8565b6001600160a01b0381165f908152600d6020526040812054815b81811015610472576001600160a01b0384165f908152600d6020526040902080548290811061044e5761044e610f3e565b905f5260205f2090600302015f0154836104689190610f66565b925060010161041d565b5050919050565b5f805461048590610f79565b80601f01602080910402602001604051908101604052809291908181526020018280546104b190610f79565b80156104fc5780601f106104d3576101008083540402835291602001916104fc565b820191905f5260205f20905b8154815290600101906020018083116104df57829003601f168201915b505050505081565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061055e9086815260200190565b60405180910390a35060015b92915050565b600d602052815f5260405f208181548110610589575f80fd5b5f91825260209091206003909102018054600182015460029092015490935090915083565b6001600160a01b0383165f908152600560209081526040808320338452909152812054828110156105dd575f5ffd5b6105e78382610fb1565b6001600160a01b0386165f9081526005602090815260408083203384529091529020556106158585856108f7565b506001949350505050565b6006546001600160a01b031633146106535760405162461bcd60e51b815260040161064a90610fc4565b60405180910390fd5b6001600160a01b03919091165f908152600e60205260409020805460ff1916911515919091179055565b6001600160a01b0381165f908152600d6020526040812054815b81811015610472576001600160a01b0384165f908152600d6020526040812080546106de9190849081106106cd576106cd610f3e565b905f5260205f2090600302016109fb565b6001600160a01b0386165f908152600d60205260408120805492935090918490811061070c5761070c610f3e565b905f5260205f2090600302016002015490508082111561073d576107308183610fb1565b61073a9086610f66565b94505b5050600101610697565b6107513382610afd565b50565b6001805461048590610f79565b6006546001600160a01b0316331461078b5760405162461bcd60e51b815260040161064a90610fc4565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b5f6107b93384846108f7565b50600192915050565b6006546001600160a01b031633146107ec5760405162461bcd60e51b815260040161064a90610fc4565b600855565b6006546001600160a01b0316331461081b5760405162461bcd60e51b815260040161064a90610fc4565b600955565b335f908152600e602052604090205460ff166108675760405162461bcd60e51b815260040161064a906020808252600490820152630c2eae8d60e31b604082015260600190565b6001600160a01b039091165f908152600d602090815260408083208151606081018352948552428584019081529185018481528154600181810184559286529390942094516003909302909401918255519281019290925551600290910155565b6006546001600160a01b031633146108f25760405162461bcd60e51b815260040161064a90610fc4565b600755565b6001600160a01b0383165f908152600460205260409020548111156109445760405162461bcd60e51b815260206004820152600360248201526218985b60ea1b604482015260640161064a565b61094f838383610bb3565b6001600160a01b0383165f9081526004602052604081208054839290610976908490610fb1565b90915550506001600160a01b0382165f90815260046020526040812080548392906109a2908490610f66565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109ee91815260200190565b60405180910390a3505050565b60075460018201545f914291610a119190610f66565b811015610a2057505f92915050565b5f6064600a54855f0154610a349190610fe3565b610a3e9190610ffa565b90505f6008546007548660010154610a569190610f66565b610a609190610f66565b905080831115610ac7576009545f90610a798386610fb1565b610a839190610ffa565b610a8e906001610f66565b905061271081600b54885f0154610aa59190610fe3565b610aaf9190610fe3565b610ab99190610ffa565b610ac39084610f66565b9250505b5f6064600c54875f0154610adb9190610fe3565b610ae59190610ffa565b905080831115610af3578092505b5090949350505050565b6001600160a01b0382165f90815260046020526040902054811115610b20575f5ffd5b610b2b825f83610bb3565b6001600160a01b0382165f9081526004602052604081208054839290610b52908490610fb1565b925050819055508060035f828254610b6a9190610fb1565b90915550506040518181525f906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b0383161580610bd057506001600160a01b038216155b15610bda57505050565b6001600160a01b0383165f9081526004602052604081205490610bfc85610403565b90505f818311610c0c575f610c16565b610c168284610fb1565b90505f610c228761067d565b90505f610c2f8284610f66565b905080861115610c815760405162461bcd60e51b815260206004820152601960248201527f7472616e73666572206578636565647320756e6c6f636b656400000000000000604482015260640161064a565b82861115610ca2575f610c948488610fb1565b9050610ca08982610cac565b505b5050505050505050565b6001600160a01b0382165f908152600d602052604081205482915b8181108015610cd557505f83115b15610de4576001600160a01b0385165f908152600d60205260408120805483908110610d0357610d03610f3e565b905f5260205f20906003020190505f610d1b826109fb565b905081600201548111610d2f575050610dd2565b5f826002015482610d409190610fb1565b90505f818711610d505786610d52565b815b905080846002015f828254610d679190610f66565b90915550610d7790508188610fb1565b6002850154604080518481526020810192909252429082015290975085906001600160a01b038b16907f075a9e78d78ad8981971a1fa3642ad41f55838f6b5b2bcc54fbabcbfe2e721359060600160405180910390a3505050505b80610ddc81611019565b915050610cc7565b5050505050565b80356001600160a01b0381168114610e01575f5ffd5b919050565b5f60208284031215610e16575f5ffd5b610e1f82610deb565b9392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f60408385031215610e6c575f5ffd5b610e7583610deb565b946020939093013593505050565b5f5f5f60608486031215610e95575f5ffd5b610e9e84610deb565b9250610eac60208501610deb565b929592945050506040919091013590565b5f5f60408385031215610ece575f5ffd5b610ed783610deb565b915060208301358015158114610eeb575f5ffd5b809150509250929050565b5f60208284031215610f06575f5ffd5b5035919050565b5f5f60408385031215610f1e575f5ffd5b610f2783610deb565b9150610f3560208401610deb565b90509250929050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561056a5761056a610f52565b600181811c90821680610f8d57607f821691505b602082108103610fab57634e487b7160e01b5f52602260045260245ffd5b50919050565b8181038181111561056a5761056a610f52565b60208082526005908201526437bbb732b960d91b604082015260600190565b808202811582820484141761056a5761056a610f52565b5f8261101457634e487b7160e01b5f52601260045260245ffd5b500490565b5f6001820161102a5761102a610f52565b506001019056fea2646970667358221220f46d9ff5152640ce0a50f03bd5efcac233c4f8aff41fd99ede499c5af253ac4164736f6c63430008220033

Deployed Bytecode

0x608060405234801561000f575f5ffd5b50600436106101a1575f3560e01c80638da5cb5b116100f3578063b87592f211610093578063d705e0821161006e578063d705e0821461039c578063dd62ed3e146103a5578063f56618b5146103dd578063ff4d1f25146103f0575f5ffd5b8063b87592f214610377578063be1b7b4c14610380578063c136318b14610389575f5ffd5b8063a9059cbb116100ce578063a9059cbb14610326578063a9178ebd14610339578063ac9a5e9a1461034c578063b2ca38fe1461036e575f5ffd5b80638da5cb5b146102e057806395d89b411461030b578063a6f9dae114610313575f5ffd5b806323b872dd1161015e5780633d3fb099116101395780633d3fb0991461028957806342966c681461029c57806369258c11146102af57806370a08231146102b8575f5ffd5b806323b872dd14610242578063272d023a14610255578063313ce5671461026a575f5ffd5b806305c77a3c146101a557806306fdde03146101cb578063095ea7b3146101e0578063143ee5b91461020357806318160ddd14610231578063204fa66614610239575b5f5ffd5b6101b86101b3366004610e06565b610403565b6040519081526020015b60405180910390f35b6101d3610479565b6040516101c29190610e26565b6101f36101ee366004610e5b565b610504565b60405190151581526020016101c2565b610216610211366004610e5b565b610570565b604080519384526020840192909252908201526060016101c2565b6003546101b8565b6101b8600b5481565b6101f3610250366004610e83565b6105ae565b610268610263366004610ebd565b610620565b005b6002546102779060ff1681565b60405160ff90911681526020016101c2565b6101b8610297366004610e06565b61067d565b6102686102aa366004610ef6565b610747565b6101b8600c5481565b6101b86102c6366004610e06565b6001600160a01b03165f9081526004602052604090205490565b6006546102f3906001600160a01b031681565b6040516001600160a01b0390911681526020016101c2565b6101d3610754565b610268610321366004610e06565b610761565b6101f3610334366004610e5b565b6107ad565b610268610347366004610ef6565b6107c2565b6101f361035a366004610e06565b600e6020525f908152604090205460ff1681565b6101b860085481565b6101b860075481565b6101b8600a5481565b610268610397366004610ef6565b6107f1565b6101b860095481565b6101b86103b3366004610f0d565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b6102686103eb366004610e5b565b610820565b6102686103fe366004610ef6565b6108c8565b6001600160a01b0381165f908152600d6020526040812054815b81811015610472576001600160a01b0384165f908152600d6020526040902080548290811061044e5761044e610f3e565b905f5260205f2090600302015f0154836104689190610f66565b925060010161041d565b5050919050565b5f805461048590610f79565b80601f01602080910402602001604051908101604052809291908181526020018280546104b190610f79565b80156104fc5780601f106104d3576101008083540402835291602001916104fc565b820191905f5260205f20905b8154815290600101906020018083116104df57829003601f168201915b505050505081565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061055e9086815260200190565b60405180910390a35060015b92915050565b600d602052815f5260405f208181548110610589575f80fd5b5f91825260209091206003909102018054600182015460029092015490935090915083565b6001600160a01b0383165f908152600560209081526040808320338452909152812054828110156105dd575f5ffd5b6105e78382610fb1565b6001600160a01b0386165f9081526005602090815260408083203384529091529020556106158585856108f7565b506001949350505050565b6006546001600160a01b031633146106535760405162461bcd60e51b815260040161064a90610fc4565b60405180910390fd5b6001600160a01b03919091165f908152600e60205260409020805460ff1916911515919091179055565b6001600160a01b0381165f908152600d6020526040812054815b81811015610472576001600160a01b0384165f908152600d6020526040812080546106de9190849081106106cd576106cd610f3e565b905f5260205f2090600302016109fb565b6001600160a01b0386165f908152600d60205260408120805492935090918490811061070c5761070c610f3e565b905f5260205f2090600302016002015490508082111561073d576107308183610fb1565b61073a9086610f66565b94505b5050600101610697565b6107513382610afd565b50565b6001805461048590610f79565b6006546001600160a01b0316331461078b5760405162461bcd60e51b815260040161064a90610fc4565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b5f6107b93384846108f7565b50600192915050565b6006546001600160a01b031633146107ec5760405162461bcd60e51b815260040161064a90610fc4565b600855565b6006546001600160a01b0316331461081b5760405162461bcd60e51b815260040161064a90610fc4565b600955565b335f908152600e602052604090205460ff166108675760405162461bcd60e51b815260040161064a906020808252600490820152630c2eae8d60e31b604082015260600190565b6001600160a01b039091165f908152600d602090815260408083208151606081018352948552428584019081529185018481528154600181810184559286529390942094516003909302909401918255519281019290925551600290910155565b6006546001600160a01b031633146108f25760405162461bcd60e51b815260040161064a90610fc4565b600755565b6001600160a01b0383165f908152600460205260409020548111156109445760405162461bcd60e51b815260206004820152600360248201526218985b60ea1b604482015260640161064a565b61094f838383610bb3565b6001600160a01b0383165f9081526004602052604081208054839290610976908490610fb1565b90915550506001600160a01b0382165f90815260046020526040812080548392906109a2908490610f66565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109ee91815260200190565b60405180910390a3505050565b60075460018201545f914291610a119190610f66565b811015610a2057505f92915050565b5f6064600a54855f0154610a349190610fe3565b610a3e9190610ffa565b90505f6008546007548660010154610a569190610f66565b610a609190610f66565b905080831115610ac7576009545f90610a798386610fb1565b610a839190610ffa565b610a8e906001610f66565b905061271081600b54885f0154610aa59190610fe3565b610aaf9190610fe3565b610ab99190610ffa565b610ac39084610f66565b9250505b5f6064600c54875f0154610adb9190610fe3565b610ae59190610ffa565b905080831115610af3578092505b5090949350505050565b6001600160a01b0382165f90815260046020526040902054811115610b20575f5ffd5b610b2b825f83610bb3565b6001600160a01b0382165f9081526004602052604081208054839290610b52908490610fb1565b925050819055508060035f828254610b6a9190610fb1565b90915550506040518181525f906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b0383161580610bd057506001600160a01b038216155b15610bda57505050565b6001600160a01b0383165f9081526004602052604081205490610bfc85610403565b90505f818311610c0c575f610c16565b610c168284610fb1565b90505f610c228761067d565b90505f610c2f8284610f66565b905080861115610c815760405162461bcd60e51b815260206004820152601960248201527f7472616e73666572206578636565647320756e6c6f636b656400000000000000604482015260640161064a565b82861115610ca2575f610c948488610fb1565b9050610ca08982610cac565b505b5050505050505050565b6001600160a01b0382165f908152600d602052604081205482915b8181108015610cd557505f83115b15610de4576001600160a01b0385165f908152600d60205260408120805483908110610d0357610d03610f3e565b905f5260205f20906003020190505f610d1b826109fb565b905081600201548111610d2f575050610dd2565b5f826002015482610d409190610fb1565b90505f818711610d505786610d52565b815b905080846002015f828254610d679190610f66565b90915550610d7790508188610fb1565b6002850154604080518481526020810192909252429082015290975085906001600160a01b038b16907f075a9e78d78ad8981971a1fa3642ad41f55838f6b5b2bcc54fbabcbfe2e721359060600160405180910390a3505050505b80610ddc81611019565b915050610cc7565b5050505050565b80356001600160a01b0381168114610e01575f5ffd5b919050565b5f60208284031215610e16575f5ffd5b610e1f82610deb565b9392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f60408385031215610e6c575f5ffd5b610e7583610deb565b946020939093013593505050565b5f5f5f60608486031215610e95575f5ffd5b610e9e84610deb565b9250610eac60208501610deb565b929592945050506040919091013590565b5f5f60408385031215610ece575f5ffd5b610ed783610deb565b915060208301358015158114610eeb575f5ffd5b809150509250929050565b5f60208284031215610f06575f5ffd5b5035919050565b5f5f60408385031215610f1e575f5ffd5b610f2783610deb565b9150610f3560208401610deb565b90509250929050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561056a5761056a610f52565b600181811c90821680610f8d57607f821691505b602082108103610fab57634e487b7160e01b5f52602260045260245ffd5b50919050565b8181038181111561056a5761056a610f52565b60208082526005908201526437bbb732b960d91b604082015260600190565b808202811582820484141761056a5761056a610f52565b5f8261101457634e487b7160e01b5f52601260045260245ffd5b500490565b5f6001820161102a5761102a610f52565b506001019056fea2646970667358221220f46d9ff5152640ce0a50f03bd5efcac233c4f8aff41fd99ede499c5af253ac4164736f6c63430008220033

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.