Sonic Blaze Testnet

Contract

0xf073127e77AF435667A333c2Da8DC56A7C09FBB3

Overview

S Balance

Sonic Blaze LogoSonic Blaze LogoSonic Blaze Logo0 S

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SonicMiner

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at testnet.sonicscan.org on 2025-02-28
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

contract SonicMiner {
    address public owner;
    address payable public marketingWallet;
    address payable public devWallet;
    address payable public devRewardWallet;
    uint256 public totalInvested;
    uint256 public totalWithdrawn;
    uint256 public totalDeposits;
    uint256 public totalReferralRewards;
    uint256 public totalDevReferralReinvested;
    
    uint256 public constant BASE_DAILY_PERCENT = 50; // 5.0% daily (50 / 1000)
    uint256 public constant BOOST_INCREMENT = 1; // 0.1% per day (1 / 1000)
    uint256 public constant MAX_BOOST_DAYS = 10;
    uint256 public constant REFERRAL_PERCENT = 80; // 8% referral reward
    uint256 public constant DEV_FEE = 30; // 3% dev fee
    uint256 public constant DEV_REFERRAL_BOOST = 170; // 17% boost if dev referral is used on Day 1
    uint256 public constant USER_REFERRAL_BOOST = 133; // 13.3% boost if normal user referral is used on Day 1
    uint256 public constant NORMAL_USER_BOOST = 50; // 5% base boost for normal investors
    uint256 public constant DEV_REFERRAL_REINVEST = 20; // 2% of dev referral reinvested into contract
    uint256 public constant DEV_TVL_REINVEST = 50; // 5% of dev referral goes back into TVL
    uint256 public constant DEV_DIRECT_REWARD = 50; // 5% of dev referral stays in dev reward wallet
    uint256[10] public TAX_SCHEDULE = [90, 80, 70, 60, 50, 40, 20, 15, 10, 5];

    struct User {
        uint256 invested;
        uint256 withdrawn;
        uint256 lastActionTime;
        uint256 boostDays;
        address referrer;
        uint256 referralRewards;
        bool devReferralUsed;
        bool userReferralUsed;
    }
    
    mapping(address => User) public users;
    
    modifier onlyOwner() {
        require(msg.sender == owner, "Not authorized");
        _;
    }
    
    event Deposit(address indexed user, uint256 amount);
    event Withdraw(address indexed user, uint256 amount, uint256 tax);
    event ReferralReward(address indexed referrer, address indexed user, uint256 amount);

    function withdraw(uint256 amount) external {
        User storage user = users[msg.sender];
        require(amount <= user.invested * 3, "Max single withdrawal limit exceeded");
        require(block.timestamp - user.lastActionTime >= 1 minutes, "Can only withdraw once per day");
        
        uint256 index = user.boostDays >= TAX_SCHEDULE.length ? TAX_SCHEDULE.length - 1 : user.boostDays;
        uint256 taxRate = TAX_SCHEDULE[index];
        uint256 taxAmount = (amount * taxRate) / 100;
        uint256 netAmount = amount - taxAmount;
        
        user.withdrawn += amount;
        user.boostDays = 0; // Reset tax schedule after withdrawal
        
        payable(msg.sender).transfer(netAmount);
        user.lastActionTime = block.timestamp;
        
        emit Withdraw(msg.sender, amount, taxAmount);
    }

    constructor() {
        owner = msg.sender;
        marketingWallet = payable(0x2c5896b947882Bf265A43996bB735b247C6DA0ce);
        devWallet = payable(0xc31354e0178D3B7abaa992C6aCD6929B657E6bC5);
        devRewardWallet = payable(0xeB79bF0ed0eC013A45BfD3Ed2B44e81349b7e2a9);
    }

    function updateWallets(address payable _marketingWallet, address payable _devWallet, address payable _devRewardWallet) external onlyOwner {
        marketingWallet = _marketingWallet;
        devWallet = _devWallet;
        devRewardWallet = _devRewardWallet;
    }

    function updateTaxSchedule(uint256[10] memory newTaxSchedule) external onlyOwner {
        TAX_SCHEDULE = newTaxSchedule;
    }
    
    receive() external payable {}
    fallback() external payable {}
    
    function deposit(address referrer) external payable {
        require(users[msg.sender].withdrawn < users[msg.sender].invested * 3, "Max withdrawal limit reached");
        require(msg.value > 0, "Must send BNB");
        
        uint256 devFee = (msg.value * DEV_FEE) / 1000;
        uint256 referralReward = (msg.value * REFERRAL_PERCENT) / 1000;
        uint256 depositAmount = msg.value - devFee - referralReward;
        
        devWallet.transfer(devFee);
        
        User storage user = users[msg.sender];
        user.invested += depositAmount;
        user.lastActionTime = block.timestamp;
        
        if (referrer != address(0) && referrer != msg.sender && users[referrer].invested > 0) {
            uint256 devReferralFee = (referralReward * DEV_REFERRAL_REINVEST) / 100;
            uint256 reinvestAmount = (devReferralFee * DEV_REFERRAL_REINVEST) / 100; 
            referralReward -= devReferralFee;
            
            devWallet.transfer(devReferralFee - reinvestAmount);
            payable(referrer).transfer(referralReward);
            users[referrer].referralRewards += referralReward;
            totalReferralRewards += referralReward;
            totalDevReferralReinvested += reinvestAmount;
            
            emit ReferralReward(referrer, msg.sender, referralReward);
            
            if (referrer == devWallet) {
                user.devReferralUsed = true;
            } else {
                user.userReferralUsed = true;
            }
        }
        
        totalInvested += depositAmount;
        totalDeposits++;
        
        emit Deposit(msg.sender, depositAmount);
    }
    
    function compound() external {
        User storage user = users[msg.sender];
        require(user.invested > 0, "No investment found");
        require(block.timestamp - user.lastActionTime >= 1 minutes, "Can only compound once per day");
        
        uint256 dailyPercent = BASE_DAILY_PERCENT + (user.boostDays * BOOST_INCREMENT);
        uint256 earnings = (user.invested * dailyPercent) / 1000;
        user.invested += earnings;
        
        user.boostDays = user.boostDays < MAX_BOOST_DAYS ? user.boostDays + 1 : MAX_BOOST_DAYS;
        user.lastActionTime = block.timestamp;
        
        emit Deposit(msg.sender, earnings);
    }
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ReferralReward","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tax","type":"uint256"}],"name":"Withdraw","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"BASE_DAILY_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BOOST_INCREMENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEV_DIRECT_REWARD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEV_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEV_REFERRAL_BOOST","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEV_REFERRAL_REINVEST","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEV_TVL_REINVEST","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_BOOST_DAYS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NORMAL_USER_BOOST","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REFERRAL_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"TAX_SCHEDULE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"USER_REFERRAL_BOOST","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"compound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"referrer","type":"address"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"devRewardWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDevReferralReinvested","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalInvested","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalReferralRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWithdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[10]","name":"newTaxSchedule","type":"uint256[10]"}],"name":"updateTaxSchedule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_marketingWallet","type":"address"},{"internalType":"address payable","name":"_devWallet","type":"address"},{"internalType":"address payable","name":"_devRewardWallet","type":"address"}],"name":"updateWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"uint256","name":"invested","type":"uint256"},{"internalType":"uint256","name":"withdrawn","type":"uint256"},{"internalType":"uint256","name":"lastActionTime","type":"uint256"},{"internalType":"uint256","name":"boostDays","type":"uint256"},{"internalType":"address","name":"referrer","type":"address"},{"internalType":"uint256","name":"referralRewards","type":"uint256"},{"internalType":"bool","name":"devReferralUsed","type":"bool"},{"internalType":"bool","name":"userReferralUsed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6101c0604052605a6080908152605060a052604660c052603c60e052603261010052602861012052601461014052600f61016052600a61018081905260056101a05261004d916009916100ce565b50348015610059575f80fd5b505f80546001600160a01b03199081163317909155600180548216732c5896b947882bf265a43996bb735b247c6da0ce17905560028054821673c31354e0178d3b7abaa992c6acd6929b657e6bc51790556003805490911673eb79bf0ed0ec013a45bfd3ed2b44e81349b7e2a9179055610125565b82600a8101928215610101579160200282015b82811115610101578251829060ff169055916020019190600101906100e1565b5061010d929150610111565b5090565b5b8082111561010d575f8155600101610112565b610ec7806101325f395ff3fe60806040526004361061018a575f3560e01c806375f0a874116100df578063a87430ba11610083578063ef97f1c911610060578063ef97f1c91461045e578063f340fa0114610472578063f359f662146102ba578063f69e20461461048557005b8063a87430ba14610376578063ad04673f1461042a578063e851c2721461043f57005b80638da5cb5b116100bc5780638da5cb5b1461031a5780638ea5220f14610338578063999127ee146103575780639f99122f146102ba57005b806375f0a874146102ce5780637d88209714610305578063860a8b0a146102ba57005b806333a8915a116101465780634b319713116101235780634b3197131461027c5780634c8adc9d146102915780635216aeec146102a55780636373db65146102ba57005b806333a8915a1461023f578063436a88c114610253578063441b55b11461026757005b806304cdb8421461019357806305cfaf8e146101ba578063147c9f6d146101d957806315bedb91146101f85780632e1a7d4d1461020c578063328644c61461022b57005b3661019157005b005b34801561019e575f80fd5b506101a7600181565b6040519081526020015b60405180910390f35b3480156101c5575f80fd5b506101916101d4366004610cd0565b610499565b3480156101e4575f80fd5b506101916101f3366004610d6e565b6104f9565b348015610203575f80fd5b506101a760aa81565b348015610217575f80fd5b50610191610226366004610db6565b610582565b348015610236575f80fd5b506101a7600a81565b34801561024a575f80fd5b506101a7605081565b34801561025e575f80fd5b506101a7601e81565b348015610272575f80fd5b506101a760085481565b348015610287575f80fd5b506101a760055481565b34801561029c575f80fd5b506101a7601481565b3480156102b0575f80fd5b506101a760045481565b3480156102c5575f80fd5b506101a7603281565b3480156102d9575f80fd5b506001546102ed906001600160a01b031681565b6040516001600160a01b0390911681526020016101b1565b348015610310575f80fd5b506101a760065481565b348015610325575f80fd5b505f546102ed906001600160a01b031681565b348015610343575f80fd5b506002546102ed906001600160a01b031681565b348015610362575f80fd5b506003546102ed906001600160a01b031681565b348015610381575f80fd5b506103e2610390366004610dcd565b60136020525f9081526040902080546001820154600283015460038401546004850154600586015460069096015494959394929391926001600160a01b03909116919060ff8082169161010090041688565b6040805198895260208901979097529587019490945260608601929092526001600160a01b0316608085015260a0840152151560c0830152151560e0820152610100016101b1565b348015610435575f80fd5b506101a760075481565b34801561044a575f80fd5b506101a7610459366004610db6565b61074f565b348015610469575f80fd5b506101a7608581565b610191610480366004610dcd565b610765565b348015610490575f80fd5b50610191610b0f565b5f546001600160a01b031633146104e85760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064015b60405180910390fd5b6104f5600982600a610c7e565b5050565b5f546001600160a01b031633146105435760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104df565b600180546001600160a01b039485166001600160a01b031991821617909155600280549385169382169390931790925560038054919093169116179055565b335f908152601360205260409020805461059d906003610e03565b8211156105f85760405162461bcd60e51b8152602060048201526024808201527f4d61782073696e676c65207769746864726177616c206c696d697420657863656044820152631959195960e21b60648201526084016104df565b603c81600201544261060a9190610e20565b10156106585760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79207769746864726177206f6e63652070657220646179000060448201526064016104df565b5f600a8260030154101561067057816003015461067c565b61067c6001600a610e20565b90505f600982600a811061069257610692610e33565b015490505f60646106a38387610e03565b6106ad9190610e47565b90505f6106ba8287610e20565b905085856001015f8282546106cf9190610e66565b90915550505f60038601819055604051339183156108fc02918491818181858888f19350505050158015610705573d5f803e3d5ffd5b50426002860155604080518781526020810184905233917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568910160405180910390a2505050505050565b600981600a811061075e575f80fd5b0154905081565b335f9081526013602052604090205461077f906003610e03565b335f90815260136020526040902060010154106107de5760405162461bcd60e51b815260206004820152601c60248201527f4d6178207769746864726177616c206c696d697420726561636865640000000060448201526064016104df565b5f341161081d5760405162461bcd60e51b815260206004820152600d60248201526c26bab9ba1039b2b7321021272160991b60448201526064016104df565b5f6103e861082c601e34610e03565b6108369190610e47565b90505f6103e8610847605034610e03565b6108519190610e47565b90505f8161085f8434610e20565b6108699190610e20565b6002546040519192506001600160a01b03169084156108fc029085905f818181858888f193505050501580156108a1573d5f803e3d5ffd5b50335f9081526013602052604081208054909183918391906108c4908490610e66565b90915550504260028201556001600160a01b038516158015906108f057506001600160a01b0385163314155b801561091257506001600160a01b0385165f9081526013602052604090205415155b15610aa9575f6064610925601486610e03565b61092f9190610e47565b90505f606461093f601484610e03565b6109499190610e47565b90506109558286610e20565b6002549095506001600160a01b03166108fc6109718385610e20565b6040518115909202915f818181858888f19350505050158015610996573d5f803e3d5ffd5b506040516001600160a01b0388169086156108fc029087905f818181858888f193505050501580156109ca573d5f803e3d5ffd5b506001600160a01b0387165f90815260136020526040812060050180548792906109f5908490610e66565b925050819055508460075f828254610a0d9190610e66565b925050819055508060085f828254610a259190610e66565b909155505060405185815233906001600160a01b038916907f53958b9c644a1d5529da7c36929d59417eb9a996f08e02a52632bfe20c92ef489060200160405180910390a36002546001600160a01b0390811690881603610a945760068301805460ff19166001179055610aa6565b60068301805461ff0019166101001790555b50505b8160045f828254610aba9190610e66565b909155505060068054905f610ace83610e79565b909155505060405182815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a25050505050565b335f9081526013602052604090208054610b615760405162461bcd60e51b8152602060048201526013602482015272139bc81a5b9d995cdd1b595b9d08199bdd5b99606a1b60448201526064016104df565b603c816002015442610b739190610e20565b1015610bc15760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c7920636f6d706f756e64206f6e63652070657220646179000060448201526064016104df565b5f60018260030154610bd39190610e03565b610bde906032610e66565b90505f6103e882845f0154610bf39190610e03565b610bfd9190610e47565b905080835f015f828254610c119190610e66565b90915550506003830154600a11610c2957600a610c39565b6003830154610c39906001610e66565b600384015542600284015560405181815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2505050565b82600a8101928215610cac579160200282015b82811115610cac578251825591602001919060010190610c91565b50610cb8929150610cbc565b5090565b5b80821115610cb8575f8155600101610cbd565b5f610140808385031215610ce2575f80fd5b83601f840112610cf0575f80fd5b60405181810181811067ffffffffffffffff82111715610d1e57634e487b7160e01b5f52604160045260245ffd5b604052908301908085831115610d32575f80fd5b845b83811015610d4c578035825260209182019101610d34565b509095945050505050565b6001600160a01b0381168114610d6b575f80fd5b50565b5f805f60608486031215610d80575f80fd5b8335610d8b81610d57565b92506020840135610d9b81610d57565b91506040840135610dab81610d57565b809150509250925092565b5f60208284031215610dc6575f80fd5b5035919050565b5f60208284031215610ddd575f80fd5b8135610de881610d57565b9392505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610e1a57610e1a610def565b92915050565b81810381811115610e1a57610e1a610def565b634e487b7160e01b5f52603260045260245ffd5b5f82610e6157634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610e1a57610e1a610def565b5f60018201610e8a57610e8a610def565b506001019056fea264697066735822122039e56142f3e2c5bc8b56f8362307c20f8f9a5e8bca257ffc1a78a4adbc3a5b5664736f6c63430008140033

Deployed Bytecode

0x60806040526004361061018a575f3560e01c806375f0a874116100df578063a87430ba11610083578063ef97f1c911610060578063ef97f1c91461045e578063f340fa0114610472578063f359f662146102ba578063f69e20461461048557005b8063a87430ba14610376578063ad04673f1461042a578063e851c2721461043f57005b80638da5cb5b116100bc5780638da5cb5b1461031a5780638ea5220f14610338578063999127ee146103575780639f99122f146102ba57005b806375f0a874146102ce5780637d88209714610305578063860a8b0a146102ba57005b806333a8915a116101465780634b319713116101235780634b3197131461027c5780634c8adc9d146102915780635216aeec146102a55780636373db65146102ba57005b806333a8915a1461023f578063436a88c114610253578063441b55b11461026757005b806304cdb8421461019357806305cfaf8e146101ba578063147c9f6d146101d957806315bedb91146101f85780632e1a7d4d1461020c578063328644c61461022b57005b3661019157005b005b34801561019e575f80fd5b506101a7600181565b6040519081526020015b60405180910390f35b3480156101c5575f80fd5b506101916101d4366004610cd0565b610499565b3480156101e4575f80fd5b506101916101f3366004610d6e565b6104f9565b348015610203575f80fd5b506101a760aa81565b348015610217575f80fd5b50610191610226366004610db6565b610582565b348015610236575f80fd5b506101a7600a81565b34801561024a575f80fd5b506101a7605081565b34801561025e575f80fd5b506101a7601e81565b348015610272575f80fd5b506101a760085481565b348015610287575f80fd5b506101a760055481565b34801561029c575f80fd5b506101a7601481565b3480156102b0575f80fd5b506101a760045481565b3480156102c5575f80fd5b506101a7603281565b3480156102d9575f80fd5b506001546102ed906001600160a01b031681565b6040516001600160a01b0390911681526020016101b1565b348015610310575f80fd5b506101a760065481565b348015610325575f80fd5b505f546102ed906001600160a01b031681565b348015610343575f80fd5b506002546102ed906001600160a01b031681565b348015610362575f80fd5b506003546102ed906001600160a01b031681565b348015610381575f80fd5b506103e2610390366004610dcd565b60136020525f9081526040902080546001820154600283015460038401546004850154600586015460069096015494959394929391926001600160a01b03909116919060ff8082169161010090041688565b6040805198895260208901979097529587019490945260608601929092526001600160a01b0316608085015260a0840152151560c0830152151560e0820152610100016101b1565b348015610435575f80fd5b506101a760075481565b34801561044a575f80fd5b506101a7610459366004610db6565b61074f565b348015610469575f80fd5b506101a7608581565b610191610480366004610dcd565b610765565b348015610490575f80fd5b50610191610b0f565b5f546001600160a01b031633146104e85760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064015b60405180910390fd5b6104f5600982600a610c7e565b5050565b5f546001600160a01b031633146105435760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104df565b600180546001600160a01b039485166001600160a01b031991821617909155600280549385169382169390931790925560038054919093169116179055565b335f908152601360205260409020805461059d906003610e03565b8211156105f85760405162461bcd60e51b8152602060048201526024808201527f4d61782073696e676c65207769746864726177616c206c696d697420657863656044820152631959195960e21b60648201526084016104df565b603c81600201544261060a9190610e20565b10156106585760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79207769746864726177206f6e63652070657220646179000060448201526064016104df565b5f600a8260030154101561067057816003015461067c565b61067c6001600a610e20565b90505f600982600a811061069257610692610e33565b015490505f60646106a38387610e03565b6106ad9190610e47565b90505f6106ba8287610e20565b905085856001015f8282546106cf9190610e66565b90915550505f60038601819055604051339183156108fc02918491818181858888f19350505050158015610705573d5f803e3d5ffd5b50426002860155604080518781526020810184905233917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568910160405180910390a2505050505050565b600981600a811061075e575f80fd5b0154905081565b335f9081526013602052604090205461077f906003610e03565b335f90815260136020526040902060010154106107de5760405162461bcd60e51b815260206004820152601c60248201527f4d6178207769746864726177616c206c696d697420726561636865640000000060448201526064016104df565b5f341161081d5760405162461bcd60e51b815260206004820152600d60248201526c26bab9ba1039b2b7321021272160991b60448201526064016104df565b5f6103e861082c601e34610e03565b6108369190610e47565b90505f6103e8610847605034610e03565b6108519190610e47565b90505f8161085f8434610e20565b6108699190610e20565b6002546040519192506001600160a01b03169084156108fc029085905f818181858888f193505050501580156108a1573d5f803e3d5ffd5b50335f9081526013602052604081208054909183918391906108c4908490610e66565b90915550504260028201556001600160a01b038516158015906108f057506001600160a01b0385163314155b801561091257506001600160a01b0385165f9081526013602052604090205415155b15610aa9575f6064610925601486610e03565b61092f9190610e47565b90505f606461093f601484610e03565b6109499190610e47565b90506109558286610e20565b6002549095506001600160a01b03166108fc6109718385610e20565b6040518115909202915f818181858888f19350505050158015610996573d5f803e3d5ffd5b506040516001600160a01b0388169086156108fc029087905f818181858888f193505050501580156109ca573d5f803e3d5ffd5b506001600160a01b0387165f90815260136020526040812060050180548792906109f5908490610e66565b925050819055508460075f828254610a0d9190610e66565b925050819055508060085f828254610a259190610e66565b909155505060405185815233906001600160a01b038916907f53958b9c644a1d5529da7c36929d59417eb9a996f08e02a52632bfe20c92ef489060200160405180910390a36002546001600160a01b0390811690881603610a945760068301805460ff19166001179055610aa6565b60068301805461ff0019166101001790555b50505b8160045f828254610aba9190610e66565b909155505060068054905f610ace83610e79565b909155505060405182815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a25050505050565b335f9081526013602052604090208054610b615760405162461bcd60e51b8152602060048201526013602482015272139bc81a5b9d995cdd1b595b9d08199bdd5b99606a1b60448201526064016104df565b603c816002015442610b739190610e20565b1015610bc15760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c7920636f6d706f756e64206f6e63652070657220646179000060448201526064016104df565b5f60018260030154610bd39190610e03565b610bde906032610e66565b90505f6103e882845f0154610bf39190610e03565b610bfd9190610e47565b905080835f015f828254610c119190610e66565b90915550506003830154600a11610c2957600a610c39565b6003830154610c39906001610e66565b600384015542600284015560405181815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2505050565b82600a8101928215610cac579160200282015b82811115610cac578251825591602001919060010190610c91565b50610cb8929150610cbc565b5090565b5b80821115610cb8575f8155600101610cbd565b5f610140808385031215610ce2575f80fd5b83601f840112610cf0575f80fd5b60405181810181811067ffffffffffffffff82111715610d1e57634e487b7160e01b5f52604160045260245ffd5b604052908301908085831115610d32575f80fd5b845b83811015610d4c578035825260209182019101610d34565b509095945050505050565b6001600160a01b0381168114610d6b575f80fd5b50565b5f805f60608486031215610d80575f80fd5b8335610d8b81610d57565b92506020840135610d9b81610d57565b91506040840135610dab81610d57565b809150509250925092565b5f60208284031215610dc6575f80fd5b5035919050565b5f60208284031215610ddd575f80fd5b8135610de881610d57565b9392505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610e1a57610e1a610def565b92915050565b81810381811115610e1a57610e1a610def565b634e487b7160e01b5f52603260045260245ffd5b5f82610e6157634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610e1a57610e1a610def565b5f60018201610e8a57610e8a610def565b506001019056fea264697066735822122039e56142f3e2c5bc8b56f8362307c20f8f9a5e8bca257ffc1a78a4adbc3a5b5664736f6c63430008140033

Deployed Bytecode Sourcemap

61:6065:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;526:43;;;;;;;;;;;;568:1;526:43;;;;;160:25:1;;;148:2;133:18;526:43:0;;;;;;;;3547:129;;;;;;;;;;-1:-1:-1;3547:129:0;;;;;:::i;:::-;;:::i;3270:269::-;;;;;;;;;;-1:-1:-1;3270:269:0;;;;;:::i;:::-;;:::i;784:48::-;;;;;;;;;;;;829:3;784:48;;2124:845;;;;;;;;;;-1:-1:-1;2124:845:0;;;;;:::i;:::-;;:::i;603:43::-;;;;;;;;;;;;644:2;603:43;;653:45;;;;;;;;;;;;696:2;653:45;;727:36;;;;;;;;;;;;761:2;727:36;;392:41;;;;;;;;;;;;;;;;279:29;;;;;;;;;;;;;;;;1088:50;;;;;;;;;;;;1136:2;1088:50;;244:28;;;;;;;;;;;;;;;;1285:46;;;;;;;;;;;;1329:2;1285:46;;115:38;;;;;;;;;;-1:-1:-1;115:38:0;;;;-1:-1:-1;;;;;115:38:0;;;;;;-1:-1:-1;;;;;2170:32:1;;;2152:51;;2140:2;2125:18;115:38:0;1990:219:1;315:28:0;;;;;;;;;;;;;;;;88:20;;;;;;;;;;-1:-1:-1;88:20:0;;;;-1:-1:-1;;;;;88:20:0;;;160:32;;;;;;;;;;-1:-1:-1;160:32:0;;;;-1:-1:-1;;;;;160:32:0;;;199:38;;;;;;;;;;-1:-1:-1;199:38:0;;;;-1:-1:-1;;;;;199:38:0;;;1741:37;;;;;;;;;;-1:-1:-1;1741:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1741:37:0;;;;;;;;;;;;;;;;;;;;3013:25:1;;;3069:2;3054:18;;3047:34;;;;3097:18;;;3090:34;;;;3155:2;3140:18;;3133:34;;;;-1:-1:-1;;;;;3204:32:1;3198:3;3183:19;;3176:61;3224:3;3253:19;;3246:35;3325:14;3318:22;3312:3;3297:19;;3290:51;3385:14;3378:22;3372:3;3357:19;;3350:51;3000:3;2985:19;1741:37:0;2682:725:1;350:35:0;;;;;;;;;;;;;;;;1387:73;;;;;;;;;;-1:-1:-1;1387:73:0;;;;;:::i;:::-;;:::i;885:49::-;;;;;;;;;;;;931:3;885:49;;3765:1685;;;;;;:::i;:::-;;:::i;5462:661::-;;;;;;;;;;;;;:::i;3547:129::-;1845:5;;-1:-1:-1;;;;;1845:5:0;1831:10;:19;1823:46;;;;-1:-1:-1;;;1823:46:0;;3614:2:1;1823:46:0;;;3596:21:1;3653:2;3633:18;;;3626:30;-1:-1:-1;;;3672:18:1;;;3665:44;3726:18;;1823:46:0;;;;;;;;;3639:29:::1;:12;3654:14:::0;3639:29:::1;;:::i;:::-;;3547:129:::0;:::o;3270:269::-;1845:5;;-1:-1:-1;;;;;1845:5:0;1831:10;:19;1823:46;;;;-1:-1:-1;;;1823:46:0;;3614:2:1;1823:46:0;;;3596:21:1;3653:2;3633:18;;;3626:30;-1:-1:-1;;;3672:18:1;;;3665:44;3726:18;;1823:46:0;3412:338:1;1823:46:0;3419:15:::1;:34:::0;;-1:-1:-1;;;;;3419:34:0;;::::1;-1:-1:-1::0;;;;;;3419:34:0;;::::1;;::::0;;;3464:9:::1;:22:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;3497:15:::1;:34:::0;;;;;::::1;::::0;::::1;;::::0;;3270:269::o;2124:845::-;2204:10;2178:17;2198;;;:5;:17;;;;;2244:13;;:17;;2260:1;2244:17;:::i;:::-;2234:6;:27;;2226:76;;;;-1:-1:-1;;;2226:76:0;;4262:2:1;2226:76:0;;;4244:21:1;4301:2;4281:18;;;4274:30;4340:34;4320:18;;;4313:62;-1:-1:-1;;;4391:18:1;;;4384:34;4435:19;;2226:76:0;4060:400:1;2226:76:0;2362:9;2339:4;:19;;;2321:15;:37;;;;:::i;:::-;:50;;2313:93;;;;-1:-1:-1;;;2313:93:0;;4800:2:1;2313:93:0;;;4782:21:1;4839:2;4819:18;;;4812:30;4878:32;4858:18;;;4851:60;4928:18;;2313:93:0;4598:354:1;2313:93:0;2427:13;2461:19;2443:4;:14;;;:37;;:80;;2509:4;:14;;;2443:80;;;2483:23;2505:1;2483:19;:23;:::i;:::-;2427:96;;2534:15;2552:12;2565:5;2552:19;;;;;;;:::i;:::-;;;;-1:-1:-1;2582:17:0;2623:3;2603:16;2552:19;2603:6;:16;:::i;:::-;2602:24;;;;:::i;:::-;2582:44;-1:-1:-1;2637:17:0;2657:18;2582:44;2657:6;:18;:::i;:::-;2637:38;;2714:6;2696:4;:14;;;:24;;;;;;;:::i;:::-;;;;-1:-1:-1;;2748:1:0;2731:14;;;:18;;;2809:39;;2817:10;;2809:39;;;;;2838:9;;2809:39;2748:1;2809:39;2838:9;2817:10;2809:39;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2881:15:0;2859:19;;;:37;2922:39;;;5615:25:1;;;5671:2;5656:18;;5649:34;;;2931:10:0;;2922:39;;5588:18:1;2922:39:0;;;;;;;2167:802;;;;;2124:845;:::o;1387:73::-;;;;;;;;;;;;;;;-1:-1:-1;1387:73:0;:::o;3765:1685::-;3872:10;3866:17;;;;:5;:17;;;;;:26;:30;;3895:1;3866:30;:::i;:::-;3842:10;3836:17;;;;:5;:17;;;;;:27;;;:60;3828:101;;;;-1:-1:-1;;;3828:101:0;;5896:2:1;3828:101:0;;;5878:21:1;5935:2;5915:18;;;5908:30;5974;5954:18;;;5947:58;6022:18;;3828:101:0;5694:352:1;3828:101:0;3960:1;3948:9;:13;3940:39;;;;-1:-1:-1;;;3940:39:0;;6253:2:1;3940:39:0;;;6235:21:1;6292:2;6272:18;;;6265:30;-1:-1:-1;;;6311:18:1;;;6304:43;6364:18;;3940:39:0;6051:337:1;3940:39:0;4000:14;4041:4;4018:19;761:2;4018:9;:19;:::i;:::-;4017:28;;;;:::i;:::-;4000:45;-1:-1:-1;4056:22:0;4114:4;4082:28;696:2;4082:9;:28;:::i;:::-;4081:37;;;;:::i;:::-;4056:62;-1:-1:-1;4129:21:0;4056:62;4153:18;4165:6;4153:9;:18;:::i;:::-;:35;;;;:::i;:::-;4209:9;;:26;;4129:59;;-1:-1:-1;;;;;;4209:9:0;;:26;;;;;4228:6;;4209:9;:26;:9;:26;4228:6;4209:9;:26;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4282:10:0;4256:17;4276;;;:5;:17;;;;;4304:30;;4276:17;;4321:13;;4276:17;;4256;4304:30;;4321:13;;4304:30;:::i;:::-;;;;-1:-1:-1;;4367:15:0;4345:19;;;:37;-1:-1:-1;;;;;4407:22:0;;;;;;:48;;-1:-1:-1;;;;;;4433:22:0;;4445:10;4433:22;;4407:48;:80;;;;-1:-1:-1;;;;;;4459:15:0;;4486:1;4459:15;;;:5;:15;;;;;:24;:28;;4407:80;4403:903;;;4504:22;4572:3;4530:38;1136:2;4530:14;:38;:::i;:::-;4529:46;;;;:::i;:::-;4504:71;-1:-1:-1;4590:22:0;4658:3;4616:38;1136:2;4504:71;4616:38;:::i;:::-;4615:46;;;;:::i;:::-;4590:71;-1:-1:-1;4677:32:0;4695:14;4677:32;;:::i;:::-;4738:9;;4677:32;;-1:-1:-1;;;;;;4738:9:0;:51;4757:31;4774:14;4757;:31;:::i;:::-;4738:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4804:42:0;;-1:-1:-1;;;;;4804:26:0;;;:42;;;;;4831:14;;4804:42;;;;4831:14;4804:26;:42;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4861:15:0;;;;;;:5;:15;;;;;:31;;:49;;4896:14;;4861:15;:49;;4896:14;;4861:49;:::i;:::-;;;;;;;;4949:14;4925:20;;:38;;;;;;;:::i;:::-;;;;;;;;5008:14;4978:26;;:44;;;;;;;:::i;:::-;;;;-1:-1:-1;;5056:52:0;;160:25:1;;;5081:10:0;;-1:-1:-1;;;;;5056:52:0;;;;;148:2:1;133:18;5056:52:0;;;;;;;5153:9;;-1:-1:-1;;;;;5153:9:0;;;5141:21;;;;5137:158;;5183:20;;;:27;;-1:-1:-1;;5183:27:0;5206:4;5183:27;;;5137:158;;;5251:21;;;:28;;-1:-1:-1;;5251:28:0;;;;;5137:158;4489:817;;4403:903;5343:13;5326;;:30;;;;;;;:::i;:::-;;;;-1:-1:-1;;5367:13:0;:15;;;:13;:15;;;:::i;:::-;;;;-1:-1:-1;;5408:34:0;;160:25:1;;;5416:10:0;;5408:34;;148:2:1;133:18;5408:34:0;;;;;;;3817:1633;;;;3765:1685;:::o;5462:661::-;5528:10;5502:17;5522;;;:5;:17;;;;;5558:13;;5550:49;;;;-1:-1:-1;;;5550:49:0;;6735:2:1;5550:49:0;;;6717:21:1;6774:2;6754:18;;;6747:30;-1:-1:-1;;;6793:18:1;;;6786:49;6852:18;;5550:49:0;6533:343:1;5550:49:0;5659:9;5636:4;:19;;;5618:15;:37;;;;:::i;:::-;:50;;5610:93;;;;-1:-1:-1;;;5610:93:0;;7083:2:1;5610:93:0;;;7065:21:1;7122:2;7102:18;;;7095:30;7161:32;7141:18;;;7134:60;7211:18;;5610:93:0;6881:354:1;5610:93:0;5724:20;568:1;5769:4;:14;;;:32;;;;:::i;:::-;5747:55;;491:2;5747:55;:::i;:::-;5724:78;;5813:16;5865:4;5849:12;5833:4;:13;;;:28;;;;:::i;:::-;5832:37;;;;:::i;:::-;5813:56;;5897:8;5880:4;:13;;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;5943:14:0;;;;644:2;-1:-1:-1;5943:69:0;;644:2;5943:69;;;5977:14;;;;:18;;5994:1;5977:18;:::i;:::-;5926:14;;;:86;6045:15;6023:19;;;:37;6086:29;;160:25:1;;;6094:10:0;;6086:29;;148:2:1;133:18;6086:29:0;;;;;;;5491:632;;;5462:661::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;196:878:1;279:6;310:3;354:2;342:9;333:7;329:23;325:32;322:52;;;370:1;367;360:12;322:52;419:7;412:4;401:9;397:20;393:34;383:62;;441:1;438;431:12;383:62;474:2;468:9;516:2;508:6;504:15;585:6;573:10;570:22;549:18;537:10;534:34;531:62;528:185;;;635:10;630:3;626:20;623:1;616:31;670:4;667:1;660:15;698:4;695:1;688:15;528:185;729:2;722:22;793:18;;;;764:6;823:19;;;820:39;;;855:1;852;845:12;820:39;879:9;897:146;913:6;908:3;905:15;897:146;;;981:17;;969:30;;1028:4;1019:14;;;;930;897:146;;;-1:-1:-1;1062:6:1;;196:878;-1:-1:-1;;;;;196:878:1:o;1079:139::-;-1:-1:-1;;;;;1162:31:1;;1152:42;;1142:70;;1208:1;1205;1198:12;1142:70;1079:139;:::o;1223:577::-;1324:6;1332;1340;1393:2;1381:9;1372:7;1368:23;1364:32;1361:52;;;1409:1;1406;1399:12;1361:52;1448:9;1435:23;1467:39;1500:5;1467:39;:::i;:::-;1525:5;-1:-1:-1;1582:2:1;1567:18;;1554:32;1595:41;1554:32;1595:41;:::i;:::-;1655:7;-1:-1:-1;1714:2:1;1699:18;;1686:32;1727:41;1686:32;1727:41;:::i;:::-;1787:7;1777:17;;;1223:577;;;;;:::o;1805:180::-;1864:6;1917:2;1905:9;1896:7;1892:23;1888:32;1885:52;;;1933:1;1930;1923:12;1885:52;-1:-1:-1;1956:23:1;;1805:180;-1:-1:-1;1805:180:1:o;2422:255::-;2481:6;2534:2;2522:9;2513:7;2509:23;2505:32;2502:52;;;2550:1;2547;2540:12;2502:52;2589:9;2576:23;2608:39;2641:5;2608:39;:::i;:::-;2666:5;2422:255;-1:-1:-1;;;2422:255:1:o;3755:127::-;3816:10;3811:3;3807:20;3804:1;3797:31;3847:4;3844:1;3837:15;3871:4;3868:1;3861:15;3887:168;3960:9;;;3991;;4008:15;;;4002:22;;3988:37;3978:71;;4029:18;;:::i;:::-;3887:168;;;;:::o;4465:128::-;4532:9;;;4553:11;;;4550:37;;;4567:18;;:::i;4957:127::-;5018:10;5013:3;5009:20;5006:1;4999:31;5049:4;5046:1;5039:15;5073:4;5070:1;5063:15;5089:217;5129:1;5155;5145:132;;5199:10;5194:3;5190:20;5187:1;5180:31;5234:4;5231:1;5224:15;5262:4;5259:1;5252:15;5145:132;-1:-1:-1;5291:9:1;;5089:217::o;5311:125::-;5376:9;;;5397:10;;;5394:36;;;5410:18;;:::i;6393:135::-;6432:3;6453:17;;;6450:43;;6473:18;;:::i;:::-;-1:-1:-1;6520:1:1;6509:13;;6393:135::o

Swarm Source

ipfs://39e56142f3e2c5bc8b56f8362307c20f8f9a5e8bca257ffc1a78a4adbc3a5b56

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

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.