0

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 name bulkTransfer, 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 name bulkTransfer: > ['bulkTransfer(((uint8,address,uint256,uint256)[],address,bool)[],bytes32)'] Function invocation failed due to no matching argument types.

TylerH
  • 20,799
  • 66
  • 75
  • 101

0 Answers0