Address Contract Verified
Address
0x25acEC68ac6357beA1B4c19294b224faeAAF81C6
Balance
0 ETH
Nonce
2
Code Size
3229 bytes
Creator
0x6289757a...89CC at tx 0xfece24d3...630f98
Indexed Transactions
0 (2 on-chain, 0.9% indexed)
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 →