pragma solidity >=0.6.0;
contract TransferTool {
address public owner;
constructor(address _admin) public {
owner = _admin;
}
function transferEths(address payable[] memory _tos ,uint256[] memory values) payable public returns (bool) {
require(_tos.length > 0);
require(msg.sender == owner);
for(uint32 i=0;i<_tos.length;i++){
_tos[i].transfer(values[i]);
}
return true;
}
//直接转账
function transferEth(address payable _to) payable public returns (bool){
require(_to != address(0));
require(msg.sender == owner);
_to.transfer(msg.value);
return true;
}
function checkBalance() public view returns (uint) {
return address(this).balance;
}
fallback() external {
}
receive() payable external {
}
}
{
"compilationTarget": {
"browser/BatchTransfer.sol": "TransferTool"
},
"evmVersion": "istanbul",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
}
[{"inputs":[{"internalType":"address","name":"_admin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"checkBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_to","type":"address"}],"name":"transferEth","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address payable[]","name":"_tos","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"transferEths","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]