Address
0xdb14ffabe18b491de7f08ddd4afa47045d2be2efCurrent Holdings
$0.00
TXs sent
not counted
First Active
2026-01-26
block 25,630,091
Last Active
233 days ago
block 25,630,218
Funded By
not identified
Net worth historyi
No net-worth snapshots recorded yet
exact matchLAUBatchMintersolc 0.8.31+commit.fd3a2265runtime exact · creation exact
// SPDX-License-Identifier: Sharia
pragma solidity ^0.8.21;
interface IERC20 {
function balanceOf(address _owner) external view returns (uint256);
function transfer(address _recipient, uint256 _value) external returns (bool);
}
interface ILAU {
function mintToCap() external;
function Withdraw(address token, uint256 amount) external;
}
contract LAUBatchMinter {
address public owner;
address public LAUAddress;
error Unauthorized();
modifier onlyOwner() {
if (msg.sender != owner) revert Unauthorized();
_;
}
constructor(address _lauAddress) {
owner = msg.sender;
LAUAddress = _lauAddress;
}
function setLAU(address _lau) external onlyOwner {
LAUAddress = _lau;
}
/**
* @notice Batch mint with multiple iterations
* @param iterations Number of times to call mintToCap (e.g., 50-100)
*/
function batchMint(uint256 iterations) external onlyOwner {
ILAU lau = ILAU(LAUAddress);
for (uint256 i = 0; i < iterations; i++) {
lau.mintToCap();
}
}
/**
* @notice Batch mint and withdraw all to sender
* @param iterations Number of times to call mintToCap
*/
function batchMintAndWithdraw(uint256 iterations) external onlyOwner {
ILAU lau = ILAU(LAUAddress);
IERC20 lauToken = IERC20(LAUAddress);
for (uint256 i = 0; i < iterations; i++) {
lau.mintToCap();
}
// Withdraw all LAU from the LAU contract to this contract
uint256 balance = lauToken.balanceOf(LAUAddress);
if (balance > 0) {
lau.Withdraw(LAUAddress, balance);
}
// Transfer all to sender
uint256 myBalance = lauToken.balanceOf(address(this));
if (myBalance > 0) {
lauToken.transfer(msg.sender, myBalance);
}
}
/**
* @notice Withdraw any tokens stuck in this contract
*/
function rescue(address token) external onlyOwner {
IERC20 t = IERC20(token);
uint256 bal = t.balanceOf(address(this));
if (bal > 0) {
t.transfer(msg.sender, bal);
}
}
}