Multi RNG
Address
0x0e05aa4edbaE92C97544e68B1571F3F11b46a9dB
Deployed on 2025-05-06
Functions

Code
[
{
"inputs": [
{
"internalType": "uint256",
"name": "_loops",
"type": "uint256"
}
],
"name": "multiGenerate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
}
]
// SPDX-License-Identifier: Affection
pragma solidity ^0.8.28;
// interface IERC20 {
// function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
// function transfer(address recipient, uint256 amount) external returns (bool);
// function approve(address _spender, uint256 _value) external returns (bool);
// }
interface IRNG {
function Generate() external returns (uint64);
// function BuyWithDAI(uint256 amount) external;
// function BuyWithUSDC(uint256 amount) external;
// function BuyWithUSDT(uint256 amount) external;
// function BuyWithG5(uint256 amount) external;
// function BuyWithPI(uint256 amount) external;
}
contract MultiRNG {
address RNGAddress = address(0xa96BcbeD7F01de6CEEd14fC86d90F21a36dE2143);
// address DAIAddress = address(0x6B175474E89094C44Da98b954EedeAC495271d0F);
// address USDCAddress = address(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48);
// address USDTAddress = address(0xdAC17F958D2ee523a2206206994597C13D831ec7);
// address G5Address = address(0x2fc636E7fDF9f3E8d61033103052079781a6e7D2);
// address PIAddress = address(0xA2262D7728C689526693aE893D0fD8a352C7073C);
IRNG RNG = IRNG(RNGAddress);
// IERC20 DAIToken = IERC20(DAIAddress);
// IERC20 USDCToken = IERC20(USDCAddress);
// IERC20 USDTToken = IERC20(USDTAddress);
// IERC20 G5Token = IERC20(G5Address);
// IERC20 PIToken = IERC20(PIAddress);
// mapping(address => uint256) perLoop;
constructor() {
// DAIToken.approve(RNGAddress, type(uint256).max);
// USDCToken.approve(RNGAddress, type(uint256).max);
// USDTToken.approve(RNGAddress, type(uint256).max);
// G5Token.approve(RNGAddress, type(uint256).max);
// PIToken.approve(RNGAddress, type(uint256).max);
// perLoop[DAIAddress] = 1 * 10 ** 18; // 1
// perLoop[USDCAddress] = 1 * 10 ** 6; // 1
// perLoop[USDTAddress] = 1 * 10 ** 6; // 1
// perLoop[G5Address] = 25 * 10 ** 16; // 0.25
// perLoop[PIAddress] = 4716981132075471; // 0.004716981132075471
}
// function multiBuyWith(address _address, uint _loops) public {
// uint256 amount = _loops * 1 * 10 ** 18;
// multiGenerate(_loops);
// if (_address == DAIAddress) {
// DAIToken.transferFrom(msg.sender, address(this), _loops * perLoop[_address]);
// RNG.BuyWithDAI(amount);
// } else if (_address == USDCAddress) {
// USDCToken.transferFrom(msg.sender, address(this), _loops * perLoop[_address]);
// RNG.BuyWithUSDC(amount);
// } else if (_address == USDTAddress) {
// USDTToken.transferFrom(msg.sender, address(this), _loops * perLoop[_address]);
// RNG.BuyWithUSDT(amount);
// } else if (_address == G5Address) {
// G5Token.transferFrom(msg.sender, address(this), _loops * perLoop[_address]);
// RNG.BuyWithG5(amount);
// } else if (_address == PIAddress) {
// PIToken.transferFrom(msg.sender, address(this), _loops * perLoop[_address]);
// RNG.BuyWithPI(amount);
// } else {
// require(perLoop[_address] > 0, "Check address");
// }
// IERC20(RNGAddress).transfer(msg.sender, amount);
// }
function multiGenerate(uint _loops) public {
for (uint i = 0; i < _loops; i++)
RNG.Generate();
}
}
Last updated