### Question:
SlashContract extends BaseContract { public RemoteCall<PlatonSendTransaction> reportDoubleSignReturnTransaction(DuplicateSignType duplicateSignType, String data) { Function function = createReportDoubleSignFunction(duplicateSignType, data); return executeRemoteCallTransactionStep1(function); } private  SlashContract(String contractAddress, Web3j web3j); private  SlashContract(String contractAddress, long chainId, Web3j web3j, Credentials credentials); private  SlashContract(String contractAddress, Web3j web3j, TransactionManager transactionManager); static SlashContract load(Web3j web3j, long chainId); static SlashContract load(Web3j web3j, TransactionManager transactionManager, long chainId); static SlashContract load(Web3j web3j, Credentials credentials, long chainId); RemoteCall<TransactionResponse> reportDoubleSign(DuplicateSignType duplicateSignType, String data); RemoteCall<TransactionResponse> reportDoubleSign(DuplicateSignType duplicateSignType, String data, GasProvider gasProvider); GasProvider getReportDoubleSignGasProvider(DuplicateSignType duplicateSignType, String data); RemoteCall<PlatonSendTransaction> reportDoubleSignReturnTransaction(DuplicateSignType duplicateSignType, String data); RemoteCall<PlatonSendTransaction> reportDoubleSignReturnTransaction(DuplicateSignType duplicateSignType, String data, GasProvider gasProvider); RemoteCall<CallResponse<String>> checkDoubleSign(DuplicateSignType doubleSignType, String nodeId, BigInteger blockNumber);  }### Answer:
@Test public void reportDuplicateSign() { try { PlatonSendTransaction platonSendTransaction = slashContract.reportDoubleSignReturnTransaction(DuplicateSignType.PREPARE_BLOCK, evidence).send(); BaseResponse baseResponse = slashContract.getTransactionResponse(platonSendTransaction).send(); System.out.println(baseResponse); } catch (Exception e) { e.printStackTrace(); } }