I want to transfer 2 NFTs in one transaction to 1 address. I found this function (bulkTransfer) https://arbiscan.io/address/0x0000000000c2d145a2526bD8C716263bFeBe1A72#writeContract and try to use it.
This is part of my code:
contract_address = w3.to_checksum_address(value=contract)
receiver_address = w3.to_checksum_address(value='0x47a33aB87C8f97Da779576D7862F8A69399d7716')
tx_data = [[(2, w3.to_checksum_address(value=contract_address), 731, 1), (2, w3.to_checksum_address(value=contract_address), 732, 1)], receiver_address, True]
metadata = b'0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000' # bytes32 value
function = bulk_contract.functions.bulkTransfer(tx_data, metadata)
But the error appears:
web3.exceptions.Web3ValidationError:
Could not identify the intended function with namebulkTransfer
, positional arguments with type(s)(((int,address,int,int),(int,address,int,int)),address,bool),bytes
and keyword arguments with type(s){}
.
Found 1 function(s) with the namebulkTransfer
: > ['bulkTransfer(((uint8,address,uint256,uint256)[],address,bool)[],bytes32)'] Function invocation failed due to no matching argument types.