@Override
    public String sendCall(String to, String data, DefaultBlockParameter defaultBlockParameter)
            throws IOException {
        EthCall ethCall =
                web3j.ethCall(
                                Transaction.createEthCallTransaction(fromAddress, to, data),
                                defaultBlockParameter)
                        .send();

        assertCallNotReverted(ethCall);
        return ethCall.getValue();
    }
@Test
    public void sendCallRevertedTest() throws IOException {
        when(response.isReverted()).thenReturn(true);
        when(response.getRevertReason()).thenReturn(OWNER_REVERT_MSG_STR);
        when(service.send(any(), any())).thenReturn(response);

        ReadonlyTransactionManager readonlyTransactionManager =
                new ReadonlyTransactionManager(web3j, "");

        ContractCallException thrown =
                assertThrows(
                        ContractCallException.class,
                        () -> readonlyTransactionManager.sendCall("", "", defaultBlockParameter));

        assertEquals(String.format(REVERT_ERR_STR, OWNER_REVERT_MSG_STR), thrown.getMessage());
    }