ETH Price: $3,481.97 (+0.96%)

Contract

0x2CC861aA34C7311CD18fCd145f7f7E04dF76F4a3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Distribute Funds214787932024-12-25 10:08:352 hrs ago1735121315IN
0x2CC861aA...4dF76F4a3
0 ETH0.000938974.34469256
Distribute Funds214786382024-12-25 9:37:233 hrs ago1735119443IN
0x2CC861aA...4dF76F4a3
0 ETH0.001129634.84361192
Distribute Funds214717802024-12-24 10:37:4726 hrs ago1735036667IN
0x2CC861aA...4dF76F4a3
0 ETH0.000276627.22654381
Distribute Funds214712262024-12-24 8:45:5928 hrs ago1735029959IN
0x2CC861aA...4dF76F4a3
0 ETH0.001805396.42696725
Distribute Funds214645012024-12-23 10:10:352 days ago1734948635IN
0x2CC861aA...4dF76F4a3
0 ETH0.000304257.94834937
Distribute Funds214645002024-12-23 10:10:232 days ago1734948623IN
0x2CC861aA...4dF76F4a3
0 ETH0.001975097.27712139
Distribute Funds214642852024-12-23 9:27:112 days ago1734946031IN
0x2CC861aA...4dF76F4a3
0 ETH0.00150116.43638836
Distribute Funds214556542024-12-22 4:29:113 days ago1734841751IN
0x2CC861aA...4dF76F4a3
0 ETH0.0027585911.83359184
Distribute Funds214433872024-12-20 11:18:475 days ago1734693527IN
0x2CC861aA...4dF76F4a3
0 ETH0.0066519924.3066158
Distribute Funds214357342024-12-19 9:40:476 days ago1734601247IN
0x2CC861aA...4dF76F4a3
0 ETH0.00204279.45556994
Distribute Funds214286182024-12-18 9:47:357 days ago1734515255IN
0x2CC861aA...4dF76F4a3
0 ETH0.003877129.41407295
Distribute Funds214179832024-12-16 22:10:358 days ago1734387035IN
0x2CC861aA...4dF76F4a3
0 ETH0.0041426715.5662603
Distribute Funds214097952024-12-15 18:46:239 days ago1734288383IN
0x2CC861aA...4dF76F4a3
0 ETH0.001915658.21705035
Distribute Funds213968942024-12-13 23:32:3511 days ago1734132755IN
0x2CC861aA...4dF76F4a3
0 ETH0.0029044710.34724248
Distribute Funds213859112024-12-12 10:44:5913 days ago1734000299IN
0x2CC861aA...4dF76F4a3
0 ETH0.0030385713.04046184
Distribute Funds213779272024-12-11 7:58:1114 days ago1733903891IN
0x2CC861aA...4dF76F4a3
0 ETH0.002786389.55352719
Distribute Funds213713242024-12-10 9:51:1115 days ago1733824271IN
0x2CC861aA...4dF76F4a3
0 ETH0.0050859314.29130635
Distribute Funds213706512024-12-10 7:35:5915 days ago1733816159IN
0x2CC861aA...4dF76F4a3
0 ETH0.0025475910.92844631
Distribute Funds213596772024-12-08 18:50:4716 days ago1733683847IN
0x2CC861aA...4dF76F4a3
0 ETH0.0025141111.54684698
Distribute Funds213505172024-12-07 12:08:4718 days ago1733573327IN
0x2CC861aA...4dF76F4a3
0 ETH0.0031845713.69270096
Distribute Funds213477442024-12-07 2:50:5918 days ago1733539859IN
0x2CC861aA...4dF76F4a3
0 ETH0.0027549212.64767064
Distribute Funds213431242024-12-06 11:21:5919 days ago1733484119IN
0x2CC861aA...4dF76F4a3
0 ETH0.0027233311.30845063
Distribute Funds213396912024-12-05 23:51:4719 days ago1733442707IN
0x2CC861aA...4dF76F4a3
0 ETH0.0043195615.03875902
Distribute Funds213280652024-12-04 8:53:2321 days ago1733302403IN
0x2CC861aA...4dF76F4a3
0 ETH0.0036485915.69488731
Distribute Funds213206792024-12-03 8:07:2322 days ago1733213243IN
0x2CC861aA...4dF76F4a3
0 ETH0.0045018417.84808708
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
214787932024-12-25 10:08:352 hrs ago1735121315
0x2CC861aA...4dF76F4a3
0.0009504 ETH
214787932024-12-25 10:08:352 hrs ago1735121315
0x2CC861aA...4dF76F4a3
0.0009504 ETH
214786382024-12-25 9:37:233 hrs ago1735119443
0x2CC861aA...4dF76F4a3
0.00124608 ETH
214786382024-12-25 9:37:233 hrs ago1735119443
0x2CC861aA...4dF76F4a3
0.00124608 ETH
214717802024-12-24 10:37:4726 hrs ago1735036667
0x2CC861aA...4dF76F4a3
0.00238233 ETH
214717802024-12-24 10:37:4726 hrs ago1735036667
0x2CC861aA...4dF76F4a3
0.00238233 ETH
214712262024-12-24 8:45:5928 hrs ago1735029959
0x2CC861aA...4dF76F4a3
0.0019008 ETH
214712262024-12-24 8:45:5928 hrs ago1735029959
0x2CC861aA...4dF76F4a3
0.0019008 ETH
214645002024-12-23 10:10:232 days ago1734948623
0x2CC861aA...4dF76F4a3
0.0020064 ETH
214645002024-12-23 10:10:232 days ago1734948623
0x2CC861aA...4dF76F4a3
0.0020064 ETH
214642852024-12-23 9:27:112 days ago1734946031
0x2CC861aA...4dF76F4a3
0.00152486 ETH
214642852024-12-23 9:27:112 days ago1734946031
0x2CC861aA...4dF76F4a3
0.00152486 ETH
214584132024-12-22 13:44:112 days ago1734875051
0x2CC861aA...4dF76F4a3
0.0024288 ETH
214584132024-12-22 13:44:112 days ago1734875051
0x2CC861aA...4dF76F4a3
0.0024288 ETH
214556542024-12-22 4:29:113 days ago1734841751
0x2CC861aA...4dF76F4a3
0.00313843 ETH
214556542024-12-22 4:29:113 days ago1734841751
0x2CC861aA...4dF76F4a3
0.00313843 ETH
214500352024-12-21 9:38:114 days ago1734773891
0x2CC861aA...4dF76F4a3
0.00247104 ETH
214500352024-12-21 9:38:114 days ago1734773891
0x2CC861aA...4dF76F4a3
0.00247104 ETH
214433872024-12-20 11:18:475 days ago1734693527
0x2CC861aA...4dF76F4a3
0.00544896 ETH
214433872024-12-20 11:18:475 days ago1734693527
0x2CC861aA...4dF76F4a3
0.00544896 ETH
214357342024-12-19 9:40:476 days ago1734601247
0x2CC861aA...4dF76F4a3
0.00207398 ETH
214357342024-12-19 9:40:476 days ago1734601247
0x2CC861aA...4dF76F4a3
0.00207398 ETH
214350072024-12-19 7:14:116 days ago1734592451
0x2CC861aA...4dF76F4a3
0.00310464 ETH
214350072024-12-19 7:14:116 days ago1734592451
0x2CC861aA...4dF76F4a3
0.00310464 ETH
214286182024-12-18 9:47:357 days ago1734515255
0x2CC861aA...4dF76F4a3
0.00223872 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DistributionWrapper

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
File 1 of 4 : DistributionWrapper.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.24;

import "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
import "./interfaces/IBlazeAuction.sol";
import "./interfaces/IBlazeStaking.sol";

contract DistributionWrapper is ReentrancyGuard {
    IBlazeAuction public blazeAuction;
    IBlazeStaking public blazeStaking;
    uint32 public stakingStartTimestamp;

    constructor(address _auction, address _staking) {
        require(_auction != address(0), "Invalid auction Addresses");
        require(_staking!= address(0), "Invalid stakingAddresses");
        blazeAuction = IBlazeAuction(_auction);        
        blazeStaking = IBlazeStaking(_staking);        
        stakingStartTimestamp = blazeStaking._deploymentTimeStamp();
    }

    receive() external payable {}

    function distributeFunds() external nonReentrant {
        uint32 currentDay = uint32(((block.timestamp - stakingStartTimestamp) / 1 days) + 1);

        uint256 beforeEthBalance = address(this).balance;

        blazeAuction.claimFees();
        blazeStaking.setFeeRewardsForAllCycle();

        uint256 next8Day = blazeStaking.getNextCycleDistributionDay(8);

        if(currentDay >= next8Day) {
            blazeStaking.distributeFeeRewardsForAll();
        }

        uint256 incentive = address(this).balance - beforeEthBalance;

        (bool sent, ) = payable(msg.sender).call{value: incentive}("");
        require(sent, "Failed to send Ether");
    }

    function claimFees() external nonReentrant {
        blazeAuction.claimFees();
    }

    function setFeeRewardsForAllCycle() external nonReentrant {
        blazeStaking.setFeeRewardsForAllCycle();
    }

    function distributeFeeRewardsForAll() external nonReentrant {
        blazeStaking.distributeFeeRewardsForAll();
    }
}

File 2 of 4 : ReentrancyGuard.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/ReentrancyGuard.sol)

pragma solidity ^0.8.20;

/**
 * @dev Contract module that helps prevent reentrant calls to a function.
 *
 * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
 * available, which can be applied to functions to make sure there are no nested
 * (reentrant) calls to them.
 *
 * Note that because there is a single `nonReentrant` guard, functions marked as
 * `nonReentrant` may not call one another. This can be worked around by making
 * those functions `private`, and then adding `external` `nonReentrant` entry
 * points to them.
 *
 * TIP: If you would like to learn more about reentrancy and alternative ways
 * to protect against it, check out our blog post
 * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
 */
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant NOT_ENTERED = 1;
    uint256 private constant ENTERED = 2;

    uint256 private _status;

    /**
     * @dev Unauthorized reentrant call.
     */
    error ReentrancyGuardReentrantCall();

    constructor() {
        _status = NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and making it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        _nonReentrantBefore();
        _;
        _nonReentrantAfter();
    }

    function _nonReentrantBefore() private {
        // On the first call to nonReentrant, _status will be NOT_ENTERED
        if (_status == ENTERED) {
            revert ReentrancyGuardReentrantCall();
        }

        // Any calls to nonReentrant after this point will fail
        _status = ENTERED;
    }

    function _nonReentrantAfter() private {
        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = NOT_ENTERED;
    }

    /**
     * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a
     * `nonReentrant` function in the call stack.
     */
    function _reentrancyGuardEntered() internal view returns (bool) {
        return _status == ENTERED;
    }
}

File 3 of 4 : IBlazeAuction.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.24;

interface IBlazeAuction {
    function mintBlazeTokensForLP() external;
        
    function claimFees() external;
}

File 4 of 4 : IBlazeStaking.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.24;

interface IBlazeStaking {
    function setFeeRewardsForAllCycle() external;

    function distributeFeeRewardsForAll() external;

    function _deploymentTimeStamp() external view returns (uint32);

    function getNextCycleDistributionDay(uint16) external view returns (uint256);

    function getUser2888BlazeToken(address user, uint256 cycle) external view returns (uint256 blazeTokenStaked);
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_auction","type":"address"},{"internalType":"address","name":"_staking","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[],"name":"blazeAuction","outputs":[{"internalType":"contract IBlazeAuction","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blazeStaking","outputs":[{"internalType":"contract IBlazeStaking","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributeFeeRewardsForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributeFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setFeeRewardsForAllCycle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakingStartTimestamp","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b5060405161083c38038061083c83398101604081905261002f916101b5565b60016000556001600160a01b03821661008f5760405162461bcd60e51b815260206004820152601960248201527f496e76616c69642061756374696f6e204164647265737365730000000000000060448201526064015b60405180910390fd5b6001600160a01b0381166100e55760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207374616b696e6741646472657373657300000000000000006044820152606401610086565b600180546001600160a01b038085166001600160a01b03199283161790925560028054928416929091168217905560408051630c9bd72560e31b815290516364deb928916004808201926020929091908290030181865afa15801561014e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017291906101e8565b600260146101000a81548163ffffffff021916908363ffffffff1602179055505050610215565b80516001600160a01b03811681146101b057600080fd5b919050565b600080604083850312156101c857600080fd5b6101d183610199565b91506101df60208401610199565b90509250929050565b6000602082840312156101fa57600080fd5b815163ffffffff8116811461020e57600080fd5b9392505050565b610618806102246000396000f3fe6080604052600436106100745760003560e01c806386491dd91161004e57806386491dd91461010d578063c2459ca814610122578063c36e60a914610142578063d294f0931461015757600080fd5b80633a6a4d2e146100805780635b2ef37e146100975780637402a85d146100d457600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b5061009561016c565b005b3480156100a357600080fd5b506002546100b7906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100e057600080fd5b506002546100f890600160a01b900463ffffffff1681565b60405163ffffffff90911681526020016100cb565b34801561011957600080fd5b50610095610411565b34801561012e57600080fd5b506001546100b7906001600160a01b031681565b34801561014e57600080fd5b5061009561048b565b34801561016357600080fd5b506100956104e3565b61017461053b565b600254600090620151809061019690600160a01b900463ffffffff164261057b565b6101a09190610594565b6101ab9060016105b6565b6001546040805163d294f09360e01b8152905192935047926001600160a01b039092169163d294f0939160048082019260009290919082900301818387803b1580156101f657600080fd5b505af115801561020a573d6000803e3d6000fd5b50505050600260009054906101000a90046001600160a01b03166001600160a01b03166386491dd96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561025e57600080fd5b505af1158015610272573d6000803e3d6000fd5b505060025460405163a84dd99360e01b815260086004820152600093506001600160a01b03909116915063a84dd99390602401602060405180830381865afa1580156102c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e691906105c9565b9050808363ffffffff161061035e57600260009054906101000a90046001600160a01b03166001600160a01b031663c36e60a96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561034557600080fd5b505af1158015610359573d6000803e3d6000fd5b505050505b600061036a834761057b565b604051909150600090339083908381818185875af1925050503d80600081146103af576040519150601f19603f3d011682016040523d82523d6000602084013e6103b4565b606091505b50509050806104005760405162461bcd60e51b81526020600482015260146024820152732330b4b632b2103a379039b2b7321022ba3432b960611b604482015260640160405180910390fd5b505050505061040f6001600055565b565b61041961053b565b600260009054906101000a90046001600160a01b03166001600160a01b03166386491dd96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561046957600080fd5b505af115801561047d573d6000803e3d6000fd5b5050505061040f6001600055565b61049361053b565b600260009054906101000a90046001600160a01b03166001600160a01b031663c36e60a96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561046957600080fd5b6104eb61053b565b600160009054906101000a90046001600160a01b03166001600160a01b031663d294f0936040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561046957600080fd5b60026000540361055e57604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b634e487b7160e01b600052601160045260246000fd5b8181038181111561058e5761058e610565565b92915050565b6000826105b157634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561058e5761058e610565565b6000602082840312156105db57600080fd5b505191905056fea2646970667358221220eb75df31752b7dc29c9543838ce31f66cb8929944378e93e29726143e2a4188b64736f6c63430008180033000000000000000000000000200ed69de20fe522d08df5d7ce3d69aba4e02e74000000000000000000000000bc0043bc5b0c394d9d05d49768f9548f8cf9587b

Deployed Bytecode

0x6080604052600436106100745760003560e01c806386491dd91161004e57806386491dd91461010d578063c2459ca814610122578063c36e60a914610142578063d294f0931461015757600080fd5b80633a6a4d2e146100805780635b2ef37e146100975780637402a85d146100d457600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b5061009561016c565b005b3480156100a357600080fd5b506002546100b7906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100e057600080fd5b506002546100f890600160a01b900463ffffffff1681565b60405163ffffffff90911681526020016100cb565b34801561011957600080fd5b50610095610411565b34801561012e57600080fd5b506001546100b7906001600160a01b031681565b34801561014e57600080fd5b5061009561048b565b34801561016357600080fd5b506100956104e3565b61017461053b565b600254600090620151809061019690600160a01b900463ffffffff164261057b565b6101a09190610594565b6101ab9060016105b6565b6001546040805163d294f09360e01b8152905192935047926001600160a01b039092169163d294f0939160048082019260009290919082900301818387803b1580156101f657600080fd5b505af115801561020a573d6000803e3d6000fd5b50505050600260009054906101000a90046001600160a01b03166001600160a01b03166386491dd96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561025e57600080fd5b505af1158015610272573d6000803e3d6000fd5b505060025460405163a84dd99360e01b815260086004820152600093506001600160a01b03909116915063a84dd99390602401602060405180830381865afa1580156102c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e691906105c9565b9050808363ffffffff161061035e57600260009054906101000a90046001600160a01b03166001600160a01b031663c36e60a96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561034557600080fd5b505af1158015610359573d6000803e3d6000fd5b505050505b600061036a834761057b565b604051909150600090339083908381818185875af1925050503d80600081146103af576040519150601f19603f3d011682016040523d82523d6000602084013e6103b4565b606091505b50509050806104005760405162461bcd60e51b81526020600482015260146024820152732330b4b632b2103a379039b2b7321022ba3432b960611b604482015260640160405180910390fd5b505050505061040f6001600055565b565b61041961053b565b600260009054906101000a90046001600160a01b03166001600160a01b03166386491dd96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561046957600080fd5b505af115801561047d573d6000803e3d6000fd5b5050505061040f6001600055565b61049361053b565b600260009054906101000a90046001600160a01b03166001600160a01b031663c36e60a96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561046957600080fd5b6104eb61053b565b600160009054906101000a90046001600160a01b03166001600160a01b031663d294f0936040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561046957600080fd5b60026000540361055e57604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b634e487b7160e01b600052601160045260246000fd5b8181038181111561058e5761058e610565565b92915050565b6000826105b157634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561058e5761058e610565565b6000602082840312156105db57600080fd5b505191905056fea2646970667358221220eb75df31752b7dc29c9543838ce31f66cb8929944378e93e29726143e2a4188b64736f6c63430008180033

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

000000000000000000000000200ed69de20fe522d08df5d7ce3d69aba4e02e74000000000000000000000000bc0043bc5b0c394d9d05d49768f9548f8cf9587b

-----Decoded View---------------
Arg [0] : _auction (address): 0x200ed69de20Fe522d08dF5d7CE3d69aba4e02e74
Arg [1] : _staking (address): 0xBc0043bc5b0c394D9d05d49768f9548F8CF9587b

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000200ed69de20fe522d08df5d7ce3d69aba4e02e74
Arg [1] : 000000000000000000000000bc0043bc5b0c394d9d05d49768f9548f8cf9587b


Block Transaction Difficulty 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
Loading...
Loading
[ 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.