Contract 0x2db0Db271a10661e7090b6758350E18F6798a49D 2

 
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0x4c0d3580829c32638bce9b9d24135291f7c3f59dd811fbef389320277fdb77dcTransfer409671082023-03-31 5:45:281 hr 4 mins ago0x5f2d65e53b9fbd31975e24dad0824c7491fbb2f9 IN  Mobius Finance: MOT Token0 MATIC0.006523784431 111.166131583
0xbd8d45f1a8c1c57aa199d4d44cd311a5616d71b25ffe0bda26e4f46e373f2af0Transfer409666042023-03-31 5:27:361 hr 22 mins ago0xd6c8fc05d64a314184fc6f35ac0840494687eaa0 IN  Mobius Finance: MOT Token0 MATIC0.005605211157 95.513524022
0x5da087e48c20b90e73ab2f5dfe22ad0a3b7f20d34c35426f2f247969937585b1Transfer409665162023-03-31 5:24:301 hr 25 mins ago0xcab721d9c4c860b418c1aa082f6745d198d9ebb7 IN  Mobius Finance: MOT Token0 MATIC0.005832527217 99.387019128
0x6360da582a385ad4e72cff7e68fb53b6e1924e3139df940b4c7768c280252096Transfer409664902023-03-31 5:23:341 hr 26 mins ago0xd54346029b8f5b144b61b133a04ba11355e93a15 IN  Mobius Finance: MOT Token0 MATIC0.005526551732 94.230962727
0x6daeef19ffbf87e95511811c86bd941f892e3648c4d86a088a8bf620ca7b43a0Transfer409663752023-03-31 5:19:141 hr 30 mins ago0x0d0707963952f2fba59dd06f2b425ace40b492fe IN  Mobius Finance: MOT Token0 MATIC0.006738605222 106.184983255
0x021671355f564b19cdc449bac72a019504c5d89cd13360a1717ce5034abc1101Transfer409504772023-03-30 19:38:2311 hrs 11 mins ago0xf52ebea7b851e452ece018fbd753bd6cb5387e36 IN  Mobius Finance: MOT Token0 MATIC0.014694399572231.550079145
0x35b60aaef116309d7aa32f4bfe9fbd037fe53f25a33798b0baad4e9ef2260ca0Approve409365952023-03-30 11:14:4819 hrs 35 mins ago0x296d79b9dbe4f54bcac168ac094f8a39b1229c5e IN  Mobius Finance: MOT Token0 MATIC0.015003418212 221.707917789
0x93ebb1eb39f1d786637b397288a4a92428baedb76d6ea470fe1f18a5b7d08040Approve409353092023-03-30 10:28:4020 hrs 21 mins ago0x60a11012b62e3f5753af7c2f7ca5be2d30cb848c IN  Mobius Finance: MOT Token0 MATIC0.007806069034 115.803302789
0xa64242b4cb7e987604f603652ce0c63b6be270d1aa89f6720269c1d3f6830b75Transfer409352472023-03-30 10:26:2820 hrs 23 mins ago0xf52ebea7b851e452ece018fbd753bd6cb5387e36 IN  Mobius Finance: MOT Token0 MATIC0.021468386729266.486100344
0xb61ca33f51fae80dfcd3b4fcbbbeda88f7da51c12ad002e8beaef04d96a1c211Transfer409351482023-03-30 10:22:5820 hrs 27 mins ago0x7faf53caa853240742544de877d7578fbcee04a9 IN  Mobius Finance: MOT Token0 MATIC0.013441772196166.876959321
0xa8a919d850df8543d0574782fe2ca65b2df2a3f4c1052fc41ed4400344fe3ce7Transfer409351012023-03-30 10:21:1820 hrs 28 mins ago0xbbb3a063e2db206900a22eb483fe657b89ea7d1a IN  Mobius Finance: MOT Token0 MATIC0.010588921908 139.723189396
0x7fa4ff3e19afe89338f69d83a2423cefeec2dad60309bed12aeadd0c20ecadceTransfer409348592023-03-30 10:11:5920 hrs 38 mins ago0x39dd9f0b90b6d23440f80051771f347792977a23 IN  Mobius Finance: MOT Token0 MATIC0.008149329245 107.549249008
0xbd82bb3ca0de617d25e1c84d8990fd6d0702249bf0070812a054661a3b5487f4Transfer409347622023-03-30 10:08:3120 hrs 41 mins ago0x0409307cff581881098f8f4f5b720c6272270372 IN  Mobius Finance: MOT Token0 MATIC0.0074612862 127.193300498
0x6adc916242ab0b90f961e0112af107f93220c4a330804f712e9dfc35d45bc9a3Transfer409345722023-03-30 10:01:1520 hrs 48 mins ago0x2a8b81e0e13271e584c9c4695fb0b278129a339c IN  Mobius Finance: MOT Token0 MATIC0.00872562476 148.716185646
0xcebb2de910908a426e5f23cf3d30f80a6399d13c8b7ca27d09ced89f3af89be3Transfer409343272023-03-30 9:52:2820 hrs 57 mins ago0x1e59ee3a213ce2c204d6a8a07deaa7e0318e069e IN  Mobius Finance: MOT Token0 MATIC0.010956771715 144.599946101
0x06b025a5d920e63d24afa6a965ba7fc1cfc5522714c21b531cfbcd9a69dbdbaeTransfer409340342023-03-30 9:41:0821 hrs 8 mins ago0x54c329c596e8a9e08c96b20fb51753de4c176e19 IN  Mobius Finance: MOT Token0 MATIC0.007949379045 135.458448425
0x40e8113ba84141bb1a64625e9901d65ce331d777af4ab312524e01ca5ea1cf1aTransfer409272942023-03-30 5:31:301 day 1 hr ago0x7f69fe8caa3b23b9053fbdee1ce7f85077675461 IN  Mobius Finance: MOT Token0 MATIC0.008304680905 141.570735336
0xf784dea6516b8daebbbc8832a7caf64bbc00f60c0ca01422abd54bf1eb764c7dTransfer409271712023-03-30 5:26:061 day 1 hr ago0xd6c8fc05d64a314184fc6f35ac0840494687eaa0 IN  Mobius Finance: MOT Token0 MATIC0.006612253437 112.673654895
0xf15ae4c2b05a6cc986c5dbcf622d80204f955ea2d6de9bf77ce3a660f6c6a772Transfer409233882023-03-30 3:02:231 day 3 hrs ago0xf52ebea7b851e452ece018fbd753bd6cb5387e36 IN  Mobius Finance: MOT Token0 MATIC0.024769570154390.311689922
0xd4120942e0e918218520fabd5a78e628846bfc6c27e60a3350a1f69e3cb8dcebTransfer409192182023-03-30 0:26:261 day 6 hrs ago0xf52ebea7b851e452ece018fbd753bd6cb5387e36 IN  Mobius Finance: MOT Token0 MATIC0.013716446086216.139772248
0x0feba2fc4d83da31f935d79db171a1f7a5fdd242bf180ca7adc229cbe65cfe23Transfer409182522023-03-29 23:50:281 day 6 hrs ago0xf52ebea7b851e452ece018fbd753bd6cb5387e36 IN  Mobius Finance: MOT Token0 MATIC0.020874261121328.930541924
0x7d5c821ad341a6304af81e26325e2deb9a7e44a7ce3d395008f5838ab9c0f6ddTransfer409166422023-03-29 22:50:281 day 7 hrs ago0xf52ebea7b851e452ece018fbd753bd6cb5387e36 IN  Mobius Finance: MOT Token0 MATIC0.014785318168232.982747958
0x088cf70cb84f9055f86d0ad44ebc4733fde8dc54f1a585657ed1afac1c360518Approve409161562023-03-29 22:32:141 day 8 hrs ago0xd1ac453b1443209d83ac53b73755c8de37fd7845 IN  Mobius Finance: MOT Token0 MATIC0.0114974728169.9
0xbf8aff71e608b592aab79f97ef3bc076328b05991e8a3978760c3f18fc806cceTransfer409156792023-03-29 22:14:221 day 8 hrs ago0xf52ebea7b851e452ece018fbd753bd6cb5387e36 IN  Mobius Finance: MOT Token0 MATIC0.020518384072323.322734785
0x25ef0540aa02c88e10fa5e8ef7ac9da3da2e96039f0a97c0a4d03974c765cf6bTransfer409090932023-03-29 18:14:251 day 12 hrs ago0xf52ebea7b851e452ece018fbd753bd6cb5387e36 IN  Mobius Finance: MOT Token0 MATIC0.019387936097305.50946404
[ Download CSV Export 

OVERVIEW

Mobius Finance is a decentralized trading platform that can create and trade synthetic assets.

Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MobiusToken

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 13 : MobiusToken.sol
// SPDX-License-Identifier: MIT
pragma solidity =0.8.4;

import './base/Token.sol';
import './base/Importable.sol';
import './interfaces/IMobiusToken.sol';
import './interfaces/IIssuer.sol';
import './interfaces/IResolver.sol';

contract MobiusToken is Importable, Token, IMobiusToken {
    bytes32[] private MINTABLE_CONTRACTS = [CONTRACT_REWARD_COLLATERAL, CONTRACT_REWARD_STAKING,CONTRACT_REWARD_TRADING];
    uint256 public MAX_SUPPLY = 1e8;
    uint256 public AIRDROP_LIMIT = 55000000 * (10 ** uint256(decimals()));
    address DEPOSITOR_ROLE;

    modifier onlyResolver() {
        require(msg.sender == address(resolver), 'MobiusToken: caller is not the Resolver');
        _;
    }

    constructor(IResolver _resolver) Importable(_resolver) Token('Mobius Token','MOT',CONTRACT_MOBIUS_TOKEN) {
        imports = [
            CONTRACT_REWARD_COLLATERAL,
            CONTRACT_REWARD_STAKING,
            CONTRACT_REWARD_TRADING
        ];
    }

    function setDepositor(address addr) external onlyOwner {
        DEPOSITOR_ROLE = addr;
    }

    function mint(address account, uint256 amount) external override containAddress(MINTABLE_CONTRACTS) returns (bool) {
        require(totalSupply() + amount <= MAX_SUPPLY * (10 ** uint256(decimals())),'can not mint more');
        _mint(account, amount);
        return true;
    }

    function migrate(address from, address to) external override onlyResolver returns (bool) {
        uint256 amount = balanceOf(from);
        if (amount == 0) return true;
        _transfer(from, to, amount);
        return true;
    }
    
    function airdrop(address to,uint256 amount) external onlyOwner returns (bool) {
        require(AIRDROP_LIMIT  >= amount, 'can not airdrop more');
        AIRDROP_LIMIT = AIRDROP_LIMIT - amount;
        _mint(to, amount);
        return true;
    }

    /**
     * @notice called when token is deposited on root chain
     * @dev Should be callable only by ChildChainManager
     * Should handle deposit by minting the required amount for user
     * Make sure minting is done only by this function
     * @param user user address for whom deposit is being done
     * @param depositData abi encoded amount
     */
    function deposit(address user, bytes calldata depositData) external {
        require(msg.sender == DEPOSITOR_ROLE, "caller is not DEPOSITOR_ROLE");
        uint256 amount = abi.decode(depositData, (uint256));
        _mint(user, amount);
    }

    /**
     * @notice called when user wants to withdraw tokens back to root chain
     * @dev Should burn user's tokens. This transaction will be verified when exiting on root chain
     * @param amount amount of tokens to withdraw
     */
    function withdraw(uint256 amount) external {
        _burn(msg.sender, amount);
    }
}

File 2 of 13 : Constants.sol
// SPDX-License-Identifier: MIT
pragma solidity =0.8.4;

contract Constants {
    bytes32 internal constant MOT = 'MOT';
    bytes32 internal constant USD = 'moUSD';

    bytes32 internal constant CONTRACT_RESOLVER = 'Resolver';
    bytes32 internal constant CONTRACT_ASSET_PRICE = 'AssetPrice';
    bytes32 internal constant CONTRACT_SETTING = 'Setting';

    bytes32 internal constant CONTRACT_MOBIUS = 'Mobius';
    bytes32 internal constant CONTRACT_ESCROW = 'Escrow';
    bytes32 internal constant CONTRACT_ISSUER = 'Issuer';

    bytes32 internal constant CONTRACT_STAKER = 'Staker';
    bytes32 internal constant CONTRACT_TRADER = 'Trader';
    bytes32 internal constant CONTRACT_TEAM = 'Team';

    bytes32 internal constant CONTRACT_MOBIUS_TOKEN = 'MobiusToken';

    bytes32 internal constant CONTRACT_LIQUIDATOR = 'Liquidator';

    bytes32 internal constant CONTRACT_REWARD_COLLATERAL = 'RewardCollateral';
    bytes32 internal constant CONTRACT_REWARD_STAKING = 'RewardStaking';
    bytes32 internal constant CONTRACT_REWARD_TRADING = 'RewardTradings';

    bytes32 internal constant TRADING_FEE_ADDRESS = 'TradingFeeAddress';
    bytes32 internal constant LIQUIDATION_FEE_ADDRESS = 'LiquidationFeeAddress';

    bytes32 internal constant CONTRACT_DYNCMIC_TRADING_FEE = 'DynamicTradingFee';
}

File 3 of 13 : ExternalStorable.sol
// SPDX-License-Identifier: MIT
pragma solidity =0.8.4;

import './Ownable.sol';
import '../lib/Strings.sol';

contract ExternalStorable is Ownable {
    using Strings for string;
    address private _storage;

    event StorageChanged(address indexed previousValue, address indexed newValue);

    modifier onlyStorageSetup() {
        require(_storage != address(0), contractName.concat(': Storage not set'));
        _;
    }

    function setStorage(address value) public onlyOwner {
        require(value != address(0), "storage is a zero address");
        emit StorageChanged(_storage, value);
        _storage = value;
    }

    function getStorage() public view onlyStorageSetup returns (address) {
        return _storage;
    }
}

File 4 of 13 : Importable.sol
// SPDX-License-Identifier: MIT
pragma solidity =0.8.4;

import './Ownable.sol';
import '../interfaces/IResolver.sol';
import '../lib/Strings.sol';

contract Importable is Ownable {
    using Strings for string;

    IResolver public resolver;
    bytes32[] internal imports;

    mapping(bytes32 => address) private _cache;

    constructor(IResolver _resolver) {
        resolver = _resolver;
    }

    modifier onlyAddress(bytes32 name) {
        require(msg.sender == _cache[name], contractName.concat(': caller is not the ', name));
        _;
    }

    modifier containAddress(bytes32[] memory names) {
        require(names.length < 20, contractName.concat(': cannot have more than 20 items'));

        bool contain = false;
        for (uint256 i = 0; i < names.length; i++) {
            if (msg.sender == _cache[names[i]]) {
                contain = true;
                break;
            }
        }
        require(contain, contractName.concat(': caller is not in contains'));
        _;
    }

    modifier containAddressOrOwner(bytes32[] memory names) {
        require(names.length < 20, contractName.concat(': cannot have more than 20 items'));

        bool contain = false;
        for (uint256 i = 0; i < names.length; i++) {
            if (msg.sender == _cache[names[i]]) {
                contain = true;
                break;
            }
        }
        if (!contain) contain = (msg.sender == owner);
        require(contain, contractName.concat(': caller is not in dependencies'));
        _;
    }

    function refreshCache() external onlyOwner {
        for (uint256 i = 0; i < imports.length; i++) {
            bytes32 item = imports[i];
            _cache[item] = resolver.getAddress(item);
        }
    }

    function getImports() external view returns (bytes32[] memory) {
        return imports;
    }

    function requireAsset(bytes32 assetType, bytes32 assetName) internal view returns (address) {
        (bool exist, address assetAddress) = resolver.getAsset(assetType, assetName);
        require(exist, contractName.concat(': Missing Asset Token ', assetName));
        return assetAddress;
    }

    function assets(bytes32 assetType) internal view returns (bytes32[] memory) {
        return resolver.getAssets(assetType);
    }

    function addAddress(bytes32 name) external onlyOwner {
        _cache[name] = resolver.getAddress(name);
        imports.push(name);
    }

    function requireAddress(bytes32 name) internal view returns (address) {
        require(_cache[name] != address(0), contractName.concat(': Missing ', name));
        return _cache[name];
    }

    function getAddress(bytes32 name) external view returns (address) {
        return _cache[name];
    }
}

File 5 of 13 : Ownable.sol
pragma solidity =0.8.4;

// SPDX-License-Identifier: MIT
import '../lib/Strings.sol';
import './Constants.sol';
import '../interfaces/IOwnable.sol';

contract Ownable is Constants, IOwnable {
    using Strings for string;

    string public override contractName;
    address public owner;
    address public manager;

    constructor() {
        owner = msg.sender;
        manager = msg.sender;
    }

    modifier onlyOwner() {
        require(msg.sender == owner, contractName.concat(': caller is not the owner'));
        _;
    }

    modifier onlyManager(bytes32 managerName) {
        require(msg.sender == manager, contractName.concat(': caller is not the ', managerName));
        _;
    }

    modifier allManager() {
        require(
            msg.sender == manager || msg.sender == owner,
            contractName.concat(': caller is not the manager or the owner')
        );
        _;
    }

    function setOwner(address _owner) public onlyOwner {
        require(_owner != address(0), contractName.concat(': new owner is the zero address'));
        emit OwnerChanged(owner, _owner);
        owner = _owner;
    }

    function setManager(address _manager) public virtual onlyOwner {
        require(_manager != address(0), contractName.concat(': new manager is the zero address'));
        emit ManagerChanged(manager, _manager);
        manager = _manager;
    }

    function setContractName(bytes32 _contractName) internal {
        contractName = string(abi.encodePacked(_contractName));
    }
}

File 6 of 13 : Token.sol
// SPDX-License-Identifier: MIT
pragma solidity =0.8.4;

import '../lib/Strings.sol';
import './ExternalStorable.sol';
import '../interfaces/storages/ITokenStorage.sol';
import '../interfaces/IERC20.sol';

contract Token is ExternalStorable, IERC20 {
    using Strings for string;
    
    bytes32 private constant TOTAL = 'Total';
    bytes32 private constant BALANCE = 'Balance';

    string internal _name;
    string internal _symbol;

    constructor(string memory __name,string memory __symbol,bytes32 contractName) {
        setContractName(contractName);
        _name = __name;
        _symbol = __symbol;
    }

    function Storage() internal view returns (ITokenStorage) {
        return ITokenStorage(getStorage());
    }

    function name() external override view returns (string memory) {
        return _name;
    }

    function symbol() external override view returns (string memory) {
        return _symbol;
    }

    function decimals() public override pure returns (uint8) {
        return 18;
    }

    function totalSupply() public override view returns (uint256) {
        return Storage().getUint(TOTAL, address(0));
    }

    function balanceOf(address account) public override view returns (uint256) {
        return Storage().getUint(BALANCE, account);
    }

    function allowance(address owner, address spender) external override view returns (uint256) {
        return Storage().getAllowance(owner, spender);
    }

    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 delta = Storage().getAllowance(sender, msg.sender) - amount;
        _approve(sender, msg.sender, delta);
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal {
        Storage().setAllowance(owner, spender, amount);
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal {
        Storage().decrementUint(BALANCE, sender, amount);
        Storage().incrementUint(BALANCE, recipient, amount);
        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal {
        Storage().incrementUint(BALANCE, account, amount);
        Storage().incrementUint(TOTAL, address(0), amount);
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal {
        Storage().decrementUint(BALANCE, account, amount);
        Storage().decrementUint(TOTAL, address(0), amount);
        emit Transfer(account, address(0), amount);
    }
}

File 7 of 13 : IERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity =0.8.4;

interface IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function transfer(address recipient, 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 sender,
        address recipient,
        uint256 value
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 8 of 13 : IIssuer.sol
// SPDX-License-Identifier: MIT
pragma solidity =0.8.4;

interface IIssuer {
    function issueDebt(
        bytes32 stake,
        address account,
        bytes32 debtType,
        uint256 amountInUSD,
        uint256 amountInSynth
    ) external;

    function issueDebtWithPreviousStake(
        bytes32 stake, 
        address account, 
        bytes32 debtType, 
        uint256 amountInSynth
    ) external;

    function getIssuable(bytes32 stake, address account, bytes32 debtType) external view returns (uint256);

    function burnDebt(
        bytes32 stake,
        address account,
        bytes32 debtType,
        uint256 amount,
        address payer
    ) external returns (uint256);

    function issueSynth(
        bytes32 synth,
        address account,
        uint256 amount
    ) external;

    function burnSynth(
        bytes32 synth,
        address account,
        uint256 amount
    ) external;

    function getDebt(bytes32 stake, address account, bytes32 debtType) external view returns (uint256);
    function getDebtOriginal(bytes32 stake, address account, bytes32 debtType) external view returns (uint256, uint256, uint256);
    function getUsersTotalDebtInSynth(bytes32 synth) external view returns (uint256);

    function getDynamicTotalDebt() external view returns (uint256 platTotalDebt, uint256 usersTotalDebt, uint256 usersTotalDebtOriginal);

}

File 9 of 13 : IMobiusToken.sol
// SPDX-License-Identifier: MIT
pragma solidity =0.8.4;

import './IERC20.sol';

interface IMobiusToken is IERC20 {
    function mint(address account, uint256 amount) external returns (bool);
    function migrate(address from, address to) external returns (bool);
}

File 10 of 13 : IOwnable.sol
// SPDX-License-Identifier: MIT
pragma solidity =0.8.4;

interface IOwnable {
    function contractName() external view returns (string memory);

    event OwnerChanged(address indexed previousValue, address indexed newValue);
    event ManagerChanged(address indexed previousValue, address indexed newValue);
}

File 11 of 13 : IResolver.sol
// SPDX-License-Identifier: MIT
pragma solidity =0.8.4;

interface IResolver {
    function getAddress(bytes32 name) external view returns (address);

    function getAsset(bytes32 assetType, bytes32 assetName) external view returns (bool, address);

    function getAssets(bytes32 assetType) external view returns (bytes32[] memory);

    event AssetChanged(bytes32 indexed assetType, bytes32 indexed assetName, address previousValue, address newValue);
    event AddressChanged(bytes32 indexed name, address indexed previousValue, address indexed newValue);
    event MobiusTokenMigrated(bytes32 indexed name, address indexed previousValue, address indexed newValue);
}

File 12 of 13 : ITokenStorage.sol
// SPDX-License-Identifier: MIT
pragma solidity =0.8.4;

interface ITokenStorage {
    function setAllowance(
        address key,
        address field,
        uint256 value
    ) external;

    function getAllowance(address key, address field) external view returns (uint256);

    function incrementUint(
        bytes32 key,
        address field,
        uint256 value
    ) external returns (uint256);

    function decrementUint(
        bytes32 key,
        address field,
        uint256 value
    ) external returns (uint256);

    function setUint(
        bytes32 key,
        address field,
        uint256 value
    ) external;

    function getUint(bytes32 key, address field) external view returns (uint256);
}

File 13 of 13 : Strings.sol
// SPDX-License-Identifier: MIT
pragma solidity =0.8.4;

library Strings {
    function toBytes32(string memory a) internal pure returns (bytes32) {
        bytes32 b;
        assembly {
            b := mload(add(a, 32))
        }
        return b;
    }

    function concat(string memory a, string memory b) internal pure returns (string memory) {
        return string(abi.encodePacked(a, b));
    }

    function concat(
        string memory a,
        string memory b,
        bytes32 c
    ) internal pure returns (string memory) {
        return string(abi.encodePacked(a, b, c));
    }
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "evmVersion": "istanbul",
  "libraries": {},
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract IResolver","name":"_resolver","type":"address"}],"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":"previousValue","type":"address"},{"indexed":true,"internalType":"address","name":"newValue","type":"address"}],"name":"ManagerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousValue","type":"address"},{"indexed":true,"internalType":"address","name":"newValue","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousValue","type":"address"},{"indexed":true,"internalType":"address","name":"newValue","type":"address"}],"name":"StorageChanged","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":"AIRDROP_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"name","type":"bytes32"}],"name":"addAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"airdrop","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"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":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bytes","name":"depositData","type":"bytes"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"name","type":"bytes32"}],"name":"getAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getImports","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStorage","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"migrate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"refreshCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract IResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setDepositor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_manager","type":"address"}],"name":"setManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"value","type":"address"}],"name":"setStorage","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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405260405180606001604052807f526577617264436f6c6c61746572616c0000000000000000000000000000000081526020017f5265776172645374616b696e670000000000000000000000000000000000000081526020017f52657761726454726164696e677300000000000000000000000000000000000081525060099060036200009192919062000375565b506305f5e100600a55620000aa6200032f60201b60201c565b60ff16600a620000bb91906200056c565b6303473bc0620000cc9190620006a9565b600b55348015620000dc57600080fd5b506040516200407e3803806200407e8339818101604052810190620001029190620004ad565b6040518060400160405280600c81526020017f4d6f6269757320546f6b656e00000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d4f5400000000000000000000000000000000000000000000000000000000008152507f4d6f62697573546f6b656e0000000000000000000000000000000000000000008333600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000265816200033860201b60201c565b82600790805190602001906200027d929190620003c7565b50816008908051906020019062000296929190620003c7565b5050505060405180606001604052807f526577617264436f6c6c61746572616c0000000000000000000000000000000081526020017f5265776172645374616b696e670000000000000000000000000000000000000081526020017f52657761726454726164696e677300000000000000000000000000000000000081525060049060036200032792919062000375565b50506200082b565b60006012905090565b806040516020016200034b9190620004f4565b6040516020818303038152906040526000908051906020019062000371929190620003c7565b5050565b828054828255906000526020600020908101928215620003b4579160200282015b82811115620003b357825182559160200191906001019062000396565b5b509050620003c3919062000458565b5090565b828054620003d59062000766565b90600052602060002090601f016020900481019282620003f9576000855562000445565b82601f106200041457805160ff191683800117855562000445565b8280016001018555821562000445579182015b828111156200044457825182559160200191906001019062000427565b5b50905062000454919062000477565b5090565b5b808211156200047357600081600090555060010162000459565b5090565b5b808211156200049257600081600090555060010162000478565b5090565b600081519050620004a78162000811565b92915050565b600060208284031215620004c057600080fd5b6000620004d08482850162000496565b91505092915050565b620004ee620004e8826200071e565b6200079c565b82525050565b6000620005028284620004d9565b60208201915081905092915050565b6000808291508390505b600185111562000563578086048111156200053b576200053a620007a6565b5b60018516156200054b5780820291505b80810290506200055b8562000804565b94506200051b565b94509492505050565b600062000579826200075c565b915062000586836200075c565b9250620005b57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620005bd565b905092915050565b600082620005cf5760019050620006a2565b81620005df5760009050620006a2565b8160018114620005f85760028114620006035762000639565b6001915050620006a2565b60ff841115620006185762000617620007a6565b5b8360020a915084821115620006325762000631620007a6565b5b50620006a2565b5060208310610133831016604e8410600b8410161715620006735782820a9050838111156200066d576200066c620007a6565b5b620006a2565b62000682848484600162000511565b925090508184048111156200069c576200069b620007a6565b5b81810290505b9392505050565b6000620006b6826200075c565b9150620006c3836200075c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006ff57620006fe620007a6565b5b828202905092915050565b600062000717826200073c565b9050919050565b6000819050919050565b600062000735826200070a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060028204905060018216806200077f57607f821691505b60208210811415620007965762000795620007d5565b5b50919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b6200081c8162000728565b81146200082857600080fd5b50565b613843806200083b6000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063481c6a751161010457806395d89b41116100a2578063d0ebdbe711610071578063d0ebdbe714610548578063d5c2c8ca14610564578063dd62ed3e1461056e578063f2c098b71461059e576101cf565b806395d89b41146104c057806399c9c36d146104de578063a9059cbb146104fc578063cf2c52cb1461052c576101cf565b80638aed3c32116100de5780638aed3c321461043a5780638ba4cc3c146104565780638da5cb5b146104865780639137c1a7146104a4576101cf565b8063481c6a75146103ce57806370a08231146103ec57806375d0c0dc1461041c576101cf565b806321f8a72111610171578063313ce5671161014b578063313ce5671461034457806332cb6b0c146103625780633408f73a1461038057806340c10f191461039e576101cf565b806321f8a721146102c857806323b872dd146102f85780632e1a7d4d14610328576101cf565b80631068361f116101ad5780631068361f14610240578063126779c21461027057806313af40351461028e57806318160ddd146102aa576101cf565b806304f3bcec146101d457806306fdde03146101f2578063095ea7b314610210575b600080fd5b6101dc6105ba565b6040516101e9919061313f565b60405180910390f35b6101fa6105e0565b604051610207919061315a565b60405180910390f35b61022a60048036038101906102259190612d39565b610672565b60405161023791906130a9565b60405180910390f35b61025a60048036038101906102559190612c56565b610689565b60405161026791906130a9565b60405180910390f35b610278610752565b6040516102859190613087565b60405180910390f35b6102a860048036038101906102a39190612c04565b6107aa565b005b6102b2610b14565b6040516102bf919061321c565b60405180910390f35b6102e260048036038101906102dd9190612d75565b610bce565b6040516102ef919061300c565b60405180910390f35b610312600480360381019061030d9190612c92565b610c0b565b60405161031f91906130a9565b60405180910390f35b610342600480360381019061033d9190612d9e565b610cd0565b005b61034c610cdd565b6040516103599190613237565b60405180910390f35b61036a610ce6565b604051610377919061321c565b60405180910390f35b610388610cec565b604051610395919061300c565b60405180910390f35b6103b860048036038101906103b39190612d39565b610e7c565b6040516103c591906130a9565b60405180910390f35b6103d661125c565b6040516103e3919061300c565b60405180910390f35b61040660048036038101906104019190612c04565b611282565b604051610413919061321c565b60405180910390f35b61042461133d565b604051610431919061315a565b60405180910390f35b610454600480360381019061044f9190612d75565b6113cb565b005b610470600480360381019061046b9190612d39565b611658565b60405161047d91906130a9565b60405180910390f35b61048e61182c565b60405161049b919061300c565b60405180910390f35b6104be60048036038101906104b99190612c04565b611852565b005b6104c8611ae7565b6040516104d5919061315a565b60405180910390f35b6104e6611b79565b6040516104f3919061321c565b60405180910390f35b61051660048036038101906105119190612d39565b611b7f565b60405161052391906130a9565b60405180910390f35b61054660048036038101906105419190612ce1565b611b96565b005b610562600480360381019061055d9190612c04565b611c49565b005b61056c611f96565b005b61058860048036038101906105839190612c56565b612267565b604051610595919061321c565b60405180910390f35b6105b860048036038101906105b39190612c04565b612303565b005b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600780546105ef906135bd565b80601f016020809104026020016040519081016040528092919081815260200182805461061b906135bd565b80156106685780601f1061063d57610100808354040283529160200191610668565b820191906000526020600020905b81548152906001019060200180831161064b57829003601f168201915b5050505050905090565b600061067f3384846124ac565b6001905092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461071b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610712906131fc565b60405180910390fd5b600061072684611282565b9050600081141561073b57600191505061074c565b61074684848361258c565b60019150505b92915050565b606060048054806020026020016040519081016040528092919081815260200182805480156107a057602002820191906000526020600020905b81548152602001906001019080831161078c575b5050505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108cd6040518060400160405280601981526020017f3a2063616c6c6572206973206e6f7420746865206f776e65720000000000000081525060008054610841906135bd565b80601f016020809104026020016040519081016040528092919081815260200182805461086d906135bd565b80156108ba5780601f1061088f576101008083540402835291602001916108ba565b820191906000526020600020905b81548152906001019060200180831161089d57829003601f168201915b505050505061276490919063ffffffff16565b9061090e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610905919061315a565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a126040518060400160405280601f81526020017f3a206e6577206f776e657220697320746865207a65726f20616464726573730081525060008054610986906135bd565b80601f01602080910402602001604051908101604052809291908181526020018280546109b2906135bd565b80156109ff5780601f106109d4576101008083540402835291602001916109ff565b820191906000526020600020905b8154815290600101906020018083116109e257829003601f168201915b505050505061276490919063ffffffff16565b90610a53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4a919061315a565b60405180910390fd5b508073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610b1e612790565b73ffffffffffffffffffffffffffffffffffffffff1663e02440357f546f74616c00000000000000000000000000000000000000000000000000000060006040518363ffffffff1660e01b8152600401610b799291906130df565b60206040518083038186803b158015610b9157600080fd5b505afa158015610ba5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc99190612dc7565b905090565b60006005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610c1884848461258c565b600082610c23612790565b73ffffffffffffffffffffffffffffffffffffffff16630af4187d87336040518363ffffffff1660e01b8152600401610c5d929190613027565b60206040518083038186803b158015610c7557600080fd5b505afa158015610c89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cad9190612dc7565b610cb791906134d3565b9050610cc48533836124ac565b60019150509392505050565b610cda338261279f565b50565b60006012905090565b600a5481565b60008073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610e126040518060400160405280601181526020017f3a2053746f72616765206e6f742073657400000000000000000000000000000081525060008054610d86906135bd565b80601f0160208091040260200160405190810160405280929190818152602001828054610db2906135bd565b8015610dff5780601f10610dd457610100808354040283529160200191610dff565b820191906000526020600020905b815481529060010190602001808311610de257829003601f168201915b505050505061276490919063ffffffff16565b90610e53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4a919061315a565b60405180910390fd5b50600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006009805480602002602001604051908101604052809291908181526020018280548015610eca57602002820191906000526020600020905b815481526020019060010190808311610eb6575b50505050506014815110610fa66040518060400160405280602081526020017f3a2063616e6e6f742068617665206d6f7265207468616e203230206974656d7381525060008054610f1a906135bd565b80601f0160208091040260200160405190810160405280929190818152602001828054610f46906135bd565b8015610f935780601f10610f6857610100808354040283529160200191610f93565b820191906000526020600020905b815481529060010190602001808311610f7657829003601f168201915b505050505061276490919063ffffffff16565b90610fe7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fde919061315a565b60405180910390fd5b506000805b82518110156110b85760056000848381518110611032577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156110a557600191506110b8565b80806110b0906135ef565b915050610fec565b508061118c6040518060400160405280601b81526020017f3a2063616c6c6572206973206e6f7420696e20636f6e7461696e73000000000081525060008054611100906135bd565b80601f016020809104026020016040519081016040528092919081815260200182805461112c906135bd565b80156111795780601f1061114e57610100808354040283529160200191611179565b820191906000526020600020905b81548152906001019060200180831161115c57829003601f168201915b505050505061276490919063ffffffff16565b906111cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c4919061315a565b60405180910390fd5b506111d6610cdd565b60ff16600a6111e5919061335b565b600a546111f29190613479565b846111fb610b14565b61120591906132b2565b1115611246576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123d906131bc565b60405180910390fd5b6112508585612978565b60019250505092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061128c612790565b73ffffffffffffffffffffffffffffffffffffffff1663e02440357f42616c616e636500000000000000000000000000000000000000000000000000846040518363ffffffff1660e01b81526004016112e69291906130df565b60206040518083038186803b1580156112fe57600080fd5b505afa158015611312573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113369190612dc7565b9050919050565b6000805461134a906135bd565b80601f0160208091040260200160405190810160405280929190818152602001828054611376906135bd565b80156113c35780601f10611398576101008083540402835291602001916113c3565b820191906000526020600020905b8154815290600101906020018083116113a657829003601f168201915b505050505081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114ee6040518060400160405280601981526020017f3a2063616c6c6572206973206e6f7420746865206f776e65720000000000000081525060008054611462906135bd565b80601f016020809104026020016040519081016040528092919081815260200182805461148e906135bd565b80156114db5780601f106114b0576101008083540402835291602001916114db565b820191906000526020600020905b8154815290600101906020018083116114be57829003601f168201915b505050505061276490919063ffffffff16565b9061152f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611526919061315a565b60405180910390fd5b50600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166321f8a721826040518263ffffffff1660e01b815260040161158b91906130c4565b60206040518083038186803b1580156115a357600080fd5b505afa1580156115b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115db9190612c2d565b6005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600481908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461177d6040518060400160405280601981526020017f3a2063616c6c6572206973206e6f7420746865206f776e657200000000000000815250600080546116f1906135bd565b80601f016020809104026020016040519081016040528092919081815260200182805461171d906135bd565b801561176a5780601f1061173f5761010080835404028352916020019161176a565b820191906000526020600020905b81548152906001019060200180831161174d57829003601f168201915b505050505061276490919063ffffffff16565b906117be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b5919061315a565b60405180910390fd5b5081600b541015611804576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fb906131dc565b60405180910390fd5b81600b5461181291906134d3565b600b819055506118228383612978565b6001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119756040518060400160405280601981526020017f3a2063616c6c6572206973206e6f7420746865206f776e657200000000000000815250600080546118e9906135bd565b80601f0160208091040260200160405190810160405280929190818152602001828054611915906135bd565b80156119625780601f1061193757610100808354040283529160200191611962565b820191906000526020600020905b81548152906001019060200180831161194557829003601f168201915b505050505061276490919063ffffffff16565b906119b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ad919061315a565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1e9061319c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f85a70e3ed8a3924b3769cbe4e925987bbd40e8cea31487cbe13bee7b727310a460405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060088054611af6906135bd565b80601f0160208091040260200160405190810160405280929190818152602001828054611b22906135bd565b8015611b6f5780601f10611b4457610100808354040283529160200191611b6f565b820191906000526020600020905b815481529060010190602001808311611b5257829003601f168201915b5050505050905090565b600b5481565b6000611b8c33848461258c565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1d9061317c565b60405180910390fd5b60008282810190611c379190612d9e565b9050611c438482612978565b50505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d6c6040518060400160405280601981526020017f3a2063616c6c6572206973206e6f7420746865206f776e65720000000000000081525060008054611ce0906135bd565b80601f0160208091040260200160405190810160405280929190818152602001828054611d0c906135bd565b8015611d595780601f10611d2e57610100808354040283529160200191611d59565b820191906000526020600020905b815481529060010190602001808311611d3c57829003601f168201915b505050505061276490919063ffffffff16565b90611dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da4919061315a565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611e946040518060600160405280602181526020016137ed6021913960008054611e08906135bd565b80601f0160208091040260200160405190810160405280929190818152602001828054611e34906135bd565b8015611e815780601f10611e5657610100808354040283529160200191611e81565b820191906000526020600020905b815481529060010190602001808311611e6457829003601f168201915b505050505061276490919063ffffffff16565b90611ed5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ecc919061315a565b60405180910390fd5b508073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f605c2dbf762e5f7d60a546d42e7205dcb1b011ebc62a61736a57c9089d3a435060405160405180910390a380600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120b96040518060400160405280601981526020017f3a2063616c6c6572206973206e6f7420746865206f776e6572000000000000008152506000805461202d906135bd565b80601f0160208091040260200160405190810160405280929190818152602001828054612059906135bd565b80156120a65780601f1061207b576101008083540402835291602001916120a6565b820191906000526020600020905b81548152906001019060200180831161208957829003601f168201915b505050505061276490919063ffffffff16565b906120fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f1919061315a565b60405180910390fd5b5060005b60048054905081101561226457600060048281548110612147577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001549050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166321f8a721826040518263ffffffff1660e01b81526004016121af91906130c4565b60206040518083038186803b1580156121c757600080fd5b505afa1580156121db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ff9190612c2d565b6005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050808061225c906135ef565b9150506120fe565b50565b6000612271612790565b73ffffffffffffffffffffffffffffffffffffffff16630af4187d84846040518363ffffffff1660e01b81526004016122ab929190613027565b60206040518083038186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122fb9190612dc7565b905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146124266040518060400160405280601981526020017f3a2063616c6c6572206973206e6f7420746865206f776e6572000000000000008152506000805461239a906135bd565b80601f01602080910402602001604051908101604052809291908181526020018280546123c6906135bd565b80156124135780601f106123e857610100808354040283529160200191612413565b820191906000526020600020905b8154815290600101906020018083116123f657829003601f168201915b505050505061276490919063ffffffff16565b90612467576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245e919061315a565b60405180910390fd5b5080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6124b4612790565b73ffffffffffffffffffffffffffffffffffffffff1663da46098c8484846040518463ffffffff1660e01b81526004016124f093929190613050565b600060405180830381600087803b15801561250a57600080fd5b505af115801561251e573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161257f919061321c565b60405180910390a3505050565b612594612790565b73ffffffffffffffffffffffffffffffffffffffff16633bb6d2e57f42616c616e63650000000000000000000000000000000000000000000000000085846040518463ffffffff1660e01b81526004016125f093929190613108565b602060405180830381600087803b15801561260a57600080fd5b505af115801561261e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126429190612dc7565b5061264b612790565b73ffffffffffffffffffffffffffffffffffffffff16636c56a6287f42616c616e63650000000000000000000000000000000000000000000000000084846040518463ffffffff1660e01b81526004016126a793929190613108565b602060405180830381600087803b1580156126c157600080fd5b505af11580156126d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126f99190612dc7565b508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612757919061321c565b60405180910390a3505050565b60608282604051602001612779929190612fe8565b604051602081830303815290604052905092915050565b600061279a610cec565b905090565b6127a7612790565b73ffffffffffffffffffffffffffffffffffffffff16633bb6d2e57f42616c616e63650000000000000000000000000000000000000000000000000084846040518463ffffffff1660e01b815260040161280393929190613108565b602060405180830381600087803b15801561281d57600080fd5b505af1158015612831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128559190612dc7565b5061285e612790565b73ffffffffffffffffffffffffffffffffffffffff16633bb6d2e57f546f74616c0000000000000000000000000000000000000000000000000000006000846040518463ffffffff1660e01b81526004016128bb93929190613108565b602060405180830381600087803b1580156128d557600080fd5b505af11580156128e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061290d9190612dc7565b50600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161296c919061321c565b60405180910390a35050565b612980612790565b73ffffffffffffffffffffffffffffffffffffffff16636c56a6287f42616c616e63650000000000000000000000000000000000000000000000000084846040518463ffffffff1660e01b81526004016129dc93929190613108565b602060405180830381600087803b1580156129f657600080fd5b505af1158015612a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2e9190612dc7565b50612a37612790565b73ffffffffffffffffffffffffffffffffffffffff16636c56a6287f546f74616c0000000000000000000000000000000000000000000000000000006000846040518463ffffffff1660e01b8152600401612a9493929190613108565b602060405180830381600087803b158015612aae57600080fd5b505af1158015612ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae69190612dc7565b508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b45919061321c565b60405180910390a35050565b600081359050612b60816137a7565b92915050565b600081519050612b75816137a7565b92915050565b600081359050612b8a816137be565b92915050565b60008083601f840112612ba257600080fd5b8235905067ffffffffffffffff811115612bbb57600080fd5b602083019150836001820283011115612bd357600080fd5b9250929050565b600081359050612be9816137d5565b92915050565b600081519050612bfe816137d5565b92915050565b600060208284031215612c1657600080fd5b6000612c2484828501612b51565b91505092915050565b600060208284031215612c3f57600080fd5b6000612c4d84828501612b66565b91505092915050565b60008060408385031215612c6957600080fd5b6000612c7785828601612b51565b9250506020612c8885828601612b51565b9150509250929050565b600080600060608486031215612ca757600080fd5b6000612cb586828701612b51565b9350506020612cc686828701612b51565b9250506040612cd786828701612bda565b9150509250925092565b600080600060408486031215612cf657600080fd5b6000612d0486828701612b51565b935050602084013567ffffffffffffffff811115612d2157600080fd5b612d2d86828701612b90565b92509250509250925092565b60008060408385031215612d4c57600080fd5b6000612d5a85828601612b51565b9250506020612d6b85828601612bda565b9150509250929050565b600060208284031215612d8757600080fd5b6000612d9584828501612b7b565b91505092915050565b600060208284031215612db057600080fd5b6000612dbe84828501612bda565b91505092915050565b600060208284031215612dd957600080fd5b6000612de784828501612bef565b91505092915050565b6000612dfc8383612e84565b60208301905092915050565b612e1181613507565b82525050565b6000612e2282613262565b612e2c8185613285565b9350612e3783613252565b8060005b83811015612e68578151612e4f8882612df0565b9750612e5a83613278565b925050600181019050612e3b565b5085935050505092915050565b612e7e81613519565b82525050565b612e8d81613525565b82525050565b612e9c81613525565b82525050565b612eab81613566565b82525050565b6000612ebc8261326d565b612ec68185613296565b9350612ed681856020860161358a565b612edf81613696565b840191505092915050565b6000612ef58261326d565b612eff81856132a7565b9350612f0f81856020860161358a565b80840191505092915050565b6000612f28601c83613296565b9150612f33826136b4565b602082019050919050565b6000612f4b601983613296565b9150612f56826136dd565b602082019050919050565b6000612f6e601183613296565b9150612f7982613706565b602082019050919050565b6000612f91601483613296565b9150612f9c8261372f565b602082019050919050565b6000612fb4602783613296565b9150612fbf82613758565b604082019050919050565b612fd38161354f565b82525050565b612fe281613559565b82525050565b6000612ff48285612eea565b91506130008284612eea565b91508190509392505050565b60006020820190506130216000830184612e08565b92915050565b600060408201905061303c6000830185612e08565b6130496020830184612e08565b9392505050565b60006060820190506130656000830186612e08565b6130726020830185612e08565b61307f6040830184612fca565b949350505050565b600060208201905081810360008301526130a18184612e17565b905092915050565b60006020820190506130be6000830184612e75565b92915050565b60006020820190506130d96000830184612e93565b92915050565b60006040820190506130f46000830185612e93565b6131016020830184612e08565b9392505050565b600060608201905061311d6000830186612e93565b61312a6020830185612e08565b6131376040830184612fca565b949350505050565b60006020820190506131546000830184612ea2565b92915050565b600060208201905081810360008301526131748184612eb1565b905092915050565b6000602082019050818103600083015261319581612f1b565b9050919050565b600060208201905081810360008301526131b581612f3e565b9050919050565b600060208201905081810360008301526131d581612f61565b9050919050565b600060208201905081810360008301526131f581612f84565b9050919050565b6000602082019050818103600083015261321581612fa7565b9050919050565b60006020820190506132316000830184612fca565b92915050565b600060208201905061324c6000830184612fd9565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006132bd8261354f565b91506132c88361354f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132fd576132fc613638565b5b828201905092915050565b6000808291508390505b60018511156133525780860481111561332e5761332d613638565b5b600185161561333d5780820291505b808102905061334b856136a7565b9450613312565b94509492505050565b60006133668261354f565b91506133718361354f565b925061339e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846133a6565b905092915050565b6000826133b65760019050613472565b816133c45760009050613472565b81600181146133da57600281146133e457613413565b6001915050613472565b60ff8411156133f6576133f5613638565b5b8360020a91508482111561340d5761340c613638565b5b50613472565b5060208310610133831016604e8410600b84101617156134485782820a90508381111561344357613442613638565b5b613472565b6134558484846001613308565b9250905081840481111561346c5761346b613638565b5b81810290505b9392505050565b60006134848261354f565b915061348f8361354f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156134c8576134c7613638565b5b828202905092915050565b60006134de8261354f565b91506134e98361354f565b9250828210156134fc576134fb613638565b5b828203905092915050565b60006135128261352f565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061357182613578565b9050919050565b60006135838261352f565b9050919050565b60005b838110156135a857808201518184015260208101905061358d565b838111156135b7576000848401525b50505050565b600060028204905060018216806135d557607f821691505b602082108114156135e9576135e8613667565b5b50919050565b60006135fa8261354f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561362d5761362c613638565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f63616c6c6572206973206e6f74204445504f5349544f525f524f4c4500000000600082015250565b7f73746f726167652069732061207a65726f206164647265737300000000000000600082015250565b7f63616e206e6f74206d696e74206d6f7265000000000000000000000000000000600082015250565b7f63616e206e6f742061697264726f70206d6f7265000000000000000000000000600082015250565b7f4d6f62697573546f6b656e3a2063616c6c6572206973206e6f7420746865205260008201527f65736f6c76657200000000000000000000000000000000000000000000000000602082015250565b6137b081613507565b81146137bb57600080fd5b50565b6137c781613525565b81146137d257600080fd5b50565b6137de8161354f565b81146137e957600080fd5b5056fe3a206e6577206d616e6167657220697320746865207a65726f2061646472657373a2646970667358221220095c50bad7a26c5b0172cc7137bdad6100226731dfd667bddf25428a51f8060664736f6c634300080400330000000000000000000000001e02cdbba6729b6470de81ad4d2cca4c514521b9

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000001e02cdbba6729b6470de81ad4d2cca4c514521b9

-----Decoded View---------------
Arg [0] : _resolver (address): 0x1e02cdbba6729b6470de81ad4d2cca4c514521b9

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000001e02cdbba6729b6470de81ad4d2cca4c514521b9


Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.