账户
0x9b...f62b
0x9b...F62B

0x9b...F62B

$500
此合同的源代码已经过验证!
合同元数据
编译器
0.8.0+commit.c7dfd78e
语言
Solidity
合同源代码
文件 1 的 1:BatchTransfer.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

interface ERC721Partial {
    function transferFrom(address from, address to, uint256 tokenId) external;
}

contract BatchTransfer {
    address private _executor;
    constructor(){
        _executor = msg.sender;
    }
    function batchTransfer(ERC721Partial tokenContract, address actualOwner,address recipient, uint256[] calldata tokenIds) external {
        require(msg.sender == _executor,"Huh bro, Get out of here!");
        for (uint256 index; index < tokenIds.length; index++) {
            tokenContract.transferFrom(actualOwner, recipient, tokenIds[index]);
        }
    }
    function setExecutor(address _newExector) external {
        require(msg.sender == _executor,"Huh bro, Get out of here!");
        _executor = _newExector;
    }

}
设置
{
  "compilationTarget": {
    "BatchTransfer.sol": "BatchTransfer"
  },
  "evmVersion": "istanbul",
  "libraries": {},
  "metadata": {
    "bytecodeHash": "ipfs"
  },
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "remappings": []
}
ABI
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"contract ERC721Partial","name":"tokenContract","type":"address"},{"internalType":"address","name":"actualOwner","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"batchTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newExector","type":"address"}],"name":"setExecutor","outputs":[],"stateMutability":"nonpayable","type":"function"}]