컨트랙트 함수 입력으로 Uint256[] 은 어떻게 전달해야 좋을지 문의드립니다

안녕하세요.

baobab에 배포한 컨트랙트 함수의 입력으로 Uint256[] 변수들을 입력하려고 합니다.

사용하고자 하는 컨트랙트 함수는 아래와 같은 입력을 받습니다.

function vote_verify(uint256[] memory _proof, uint256[] memory _IO) public {
        ...
    }

ABI: {“inputs”:[{“internalType”:“uint256[]”,“name”:"_proof",“type”:“uint256[]”},{“internalType”:“uint256[]”,“name”:"_IO",“type”:“uint256[]”}],“name”:“vote_verify”,“outputs”:[],“stateMutability”:“nonpayable”,“type”:“function”}

java에서 사용하는 caver 버전은 1.5.3일 때, 아래와 같이 변수를 보낼려고 합니다.

import org.web3j.abi.datatypes.generated.Uint256;

@Test
public void executeContract() throws Exception {
...
    List<Uint256> proof_parm = new ArrayList<Uint256>();
    List<Uint256> IO_parm = new ArrayList<Uint256>();
    String[] proof = readProof(user_proof);
    for (int j=0;j<8;j++){
        proof_parm.add(new Uint256(new BigInteger(proof[j], 16)));
    }
    IO_parm.add(new Uint256(1));
    for (int j=0;j<IO.length;j++){
        IO_parm.add(new Uint256(new BigInteger(IO[j], 16)));
    }
    TransactionReceipt.TransactionReceiptData receipt = contract.getMethod("vote_verify")
    .send(Arrays.asList(proof_parm,IO_parm)); //이 부분을 어떻게 해야 하는지 모르겠습니다.
}

실행시 아래와 같은 오류가 발생합니다.

java.lang.InstantiationException: Could not create type class org.web3j.abi.datatypes.generated.Uint256 from arg org.web3j.abi.datatypes.generated.Uint256@dc088c2e of type class org.web3j.abi.datatypes.generated.Uint256

이 부분은 어떻게 해결하면 되는지 문의합니다.

안녕하세요.
문서 참고 부탁드리고 Array type은 contract.send()의 methodArgument부분에 List형태로 파라미터를 넘기시면됩니다.

그리고 별다른 이슈가 없다면 caver-java 최신버전을 사용해주시길 부탁드리겠습니다.

Contract contract = caver.contract.create(ABIJson, "0x{address in hex}");
SendOptions sendOptions = new SendOptions();
sendOptions.setFrom(executor.getAddress());
sendOptions.setGas(BigInteger.valueOf(4000000));

TransactionReceipt.TransactionReceiptData receipt = contract.send(sendOptions, "set", Arrays.asList(123,456));