Multi RNG
Address
0x0e05aa4edbaE92C97544e68B1571F3F11b46a9dBFunctions

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
