Forkchoice Ethereum Mainnet

Address Contract Verified

Address 0x25acEC68ac6357beA1B4c19294b224faeAAF81C6
Balance 0 ETH
Nonce 2
Code Size 3229 bytes
Indexed Transactions 0 (2 on-chain, 0.9% indexed)
External Etherscan · Sourcify

Contract Bytecode

3229 bytes
0x60806040526004361061003e575f3560e01c806316bd141b146100425780638da5cb5b1461006c578063c6c3bbe614610096578063e9d99de6146100b2575b5f5ffd5b34801561004d575f5ffd5b506100566100dc565b604051610063919061031b565b60405180910390f35b348015610077575f5ffd5b506100806100f2565b60405161008d919061031b565b60405180910390f35b6100b060048036038101906100ab9190610395565b610116565b005b3480156100bd575f5ffd5b506100c66102b9565b6040516100d3919061031b565b60405180910390f35b71a26b00c1f0df003000390027140000faa71981565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8134610123919061043f565b90505f8282610132919061046f565b3461013d91906104b0565b90505f5f90505b838110156101ff575f6040518060200161015d906102cf565b6020820181038252601f19601f820116604052508771a26b00c1f0df003000390027140000faa71988604051602001610198939291906104e3565b6040516020818303038152906040526040516020016101b892919061056a565b60405160208183030381529060405290505f5f82516020840187f091505f823b119050806101ef5785856101ec919061058d565b94505b5050508080600101915050610144565b505f8111156102b2575f3373ffffffffffffffffffffffffffffffffffffffff168260405161022d906105e3565b5f6040518083038185875af1925050503d805f8114610267576040519150601f19603f3d011682016040523d82523d5f602084013e61026c565b606091505b50509050806102b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a790610651565b60405180910390fd5b505b5050505050565b715ea00ac477b1030ce78506496e8c2de24bf581565b6105f88061067083390190565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610305826102dc565b9050919050565b610315816102fb565b82525050565b5f60208201905061032e5f83018461030c565b92915050565b5f5ffd5b610341816102fb565b811461034b575f5ffd5b50565b5f8135905061035c81610338565b92915050565b5f819050919050565b61037481610362565b811461037e575f5ffd5b50565b5f8135905061038f8161036b565b92915050565b5f5f5f606084860312156103ac576103ab610334565b5b5f6103b98682870161034e565b93505060206103ca8682870161034e565b92505060406103db86828701610381565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61044982610362565b915061045483610362565b925082610464576104636103e5565b5b828204905092915050565b5f61047982610362565b915061048483610362565b925082820261049281610362565b915082820484148315176104a9576104a8610412565b5b5092915050565b5f6104ba82610362565b91506104c583610362565b92508282039050818111156104dd576104dc610412565b5b92915050565b5f6060820190506104f65f83018661030c565b610503602083018561030c565b610510604083018461030c565b949350505050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f61054482610518565b61054e8185610522565b935061055e81856020860161052c565b80840191505092915050565b5f610575828561053a565b9150610581828461053a565b91508190509392505050565b5f61059782610362565b91506105a283610362565b92508282019050808211156105ba576105b9610412565b5b92915050565b50565b5f6105ce5f83610522565b91506105d9826105c0565b5f82019050919050565b5f6105ed826105c3565b9150819050919050565b5f82825260208201905092915050565b7f726566756e64206661696c6564000000000000000000000000000000000000005f82015250565b5f61063b600d836105f7565b915061064682610607565b602082019050919050565b5f6020820190508181035f8301526106688161062f565b905091905056fe60806040526040516105f83803806105f8833981810160405281019061002591906102dc565b5f8373ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561006f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610093919061035f565b90505f6001826100a391906103b7565b90505f5f715ea00ac477b1030ce78506496e8c2de24bf573ffffffffffffffffffffffffffffffffffffffff163488883060016040516024016100e99493929190610447565b6040516020818303038152906040527f161ac21f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161017391906104dc565b5f6040518083038185875af1925050503d805f81146101ad576040519150601f19603f3d011682016040523d82523d5f602084013e6101b2565b606091505b509150915081610208575f815111156101cd57805160208201fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ff9061054c565b60405180910390fd5b8673ffffffffffffffffffffffffffffffffffffffff166323b872dd3087866040518463ffffffff1660e01b815260040161024593929190610579565b5f604051808303815f87803b15801561025c575f5ffd5b505af115801561026e573d5f5f3e3d5ffd5b50505050505050505050506105ae565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6102ab82610282565b9050919050565b6102bb816102a1565b81146102c5575f5ffd5b50565b5f815190506102d6816102b2565b92915050565b5f5f5f606084860312156102f3576102f261027e565b5b5f610300868287016102c8565b9350506020610311868287016102c8565b9250506040610322868287016102c8565b9150509250925092565b5f819050919050565b61033e8161032c565b8114610348575f5ffd5b50565b5f8151905061035981610335565b92915050565b5f602082840312156103745761037361027e565b5b5f6103818482850161034b565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6103c18261032c565b91506103cc8361032c565b92508282019050808211156103e4576103e361038a565b5b92915050565b6103f3816102a1565b82525050565b5f819050919050565b5f60ff82169050919050565b5f819050919050565b5f61043161042c610427846103f9565b61040e565b610402565b9050919050565b61044181610417565b82525050565b5f60808201905061045a5f8301876103ea565b61046760208301866103ea565b61047460408301856103ea565b6104816060830184610438565b95945050505050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f6104b68261048a565b6104c08185610494565b93506104d081856020860161049e565b80840191505092915050565b5f6104e782846104ac565b915081905092915050565b5f82825260208201905092915050565b7f6d696e74206661696c65640000000000000000000000000000000000000000005f82015250565b5f610536600b836104f2565b915061054182610502565b602082019050919050565b5f6020820190508181035f8301526105638161052a565b9050919050565b6105738161032c565b82525050565b5f60608201905061058c5f8301866103ea565b61059960208301856103ea565b6105a6604083018461056a565b949350505050565b603e806105ba5f395ff3fe60806040525f5ffdfea2646970667358221220d1d6e6bad83a9126b6e39e27e2730b4219a449919b615c7cd68fc2efc8ac160b64736f6c634300081f0033a264697066735822122099ed72aedfab88a7893f5cdaadd37b0dcc286364e2ce295ebf161e647d1fc5f864736f6c634300081f0033

Verified Source Code Full Match

Compiler: v0.8.31+commit.fd3a2265 EVM: osaka Optimization: No
BatchMinterProxy.sol 91 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract ProxyMinter {
    address public owner;
    address public constant OPENSEA_MINTER = 0x00005EA00Ac477B1030CE78506496e8C2dE24bf5;
    address public constant FEERECIPIENT = 0x0000a26b00c1F0DF003000390027140000fAa719;

    constructor() {
        owner = msg.sender;
    }

    function mint(
        address nftContract,
        address recipient,
        uint256 quantity
    ) external payable {
        uint256 valuePerMint = msg.value / quantity;
        uint256 refund = msg.value - (valuePerMint * quantity);

        for (uint256 i = 0; i < quantity; i++) {
            // деплоим через create2/низкоуровневый вызов чтобы поймать реверт
            bytes memory bytecode = abi.encodePacked(
                type(MintAndTransfer).creationCode,
                abi.encode(nftContract, FEERECIPIENT, recipient)
            );

            address deployed;
            bool success;
            assembly {
                deployed := create(valuePerMint, add(bytecode, 0x20), mload(bytecode))
                success := gt(extcodesize(deployed), 0)
            }

            if (!success) {
                // минт зафейлился — возвращаем эфир за этот слот
                refund += valuePerMint;
            }
        }

        // возвращаем неиспользованный эфир
        if (refund > 0) {
            (bool sent,) = msg.sender.call{value: refund}("");
            require(sent, "refund failed");
        }
    }
}


contract MintAndTransfer {
    address constant OPENSEA_MINTER = 0x00005EA00Ac477B1030CE78506496e8C2dE24bf5;
    address constant FEERECIPIENT =  0x0000a26b00c1F0DF003000390027140000fAa719;
    constructor(
        address nftContract,
        address FEERECIPIENT,
        address recipient
    ) payable {
        uint256 currentSupply = IERC721(nftContract).totalSupply();
        uint256 nextTokenId = currentSupply + 1;
        
        (bool success, bytes memory result) = OPENSEA_MINTER.call{value: msg.value}(
            abi.encodeWithSignature(
                "mintPublic(address,address,address,uint256)",
                nftContract,
                FEERECIPIENT,
                address(this), 
                1 
            )
        );
        
        if (!success) {
            if (result.length > 0) {
                assembly {
                    revert(add(result, 32), mload(result))
                }
            }
            revert("mint failed");
        }
        
        IERC721(nftContract).transferFrom(
            address(this),
            recipient,
            nextTokenId
        );
    }
}

interface IERC721 {
    function totalSupply() external view returns (uint256);
    function transferFrom(address from, address to, uint256 tokenId) external;
}

Read Contract

FEERECIPIENT 0x16bd141b → address
OPENSEA_MINTER 0xe9d99de6 → address
owner 0x8da5cb5b → address

Write Contract 1 functions

These functions modify contract state and require a wallet transaction to execute.

mint 0xc6c3bbe6
address nftContract
address recipient
uint256 quantity

Recent Transactions

This address has 2 on-chain transactions, but only 0.9% of the chain is indexed. Transactions will appear as indexing progresses. View on Etherscan →