public static <T extends Contract> RemoteCall<T> deployRemoteCall(
            Class<T> type,
            Web3j web3j,
            Credentials credentials,
            BigInteger gasPrice,
            BigInteger gasLimit,
            String binary,
            String encodedConstructor,
            BigInteger value) {
        return new RemoteCall<>(
                () ->
                        deploy(
                                type,
                                web3j,
                                credentials,
                                gasPrice,
                                gasLimit,
                                binary,
                                encodedConstructor,
                                value));
    }
@Test
    public void testDeployInvalidContractAddress() throws Throwable {
        TransactionReceipt transactionReceipt = new TransactionReceipt();
        transactionReceipt.setTransactionHash(TRANSACTION_HASH);

        prepareTransaction(transactionReceipt);
        ContractGasProvider contractGasProvider = new DefaultGasProvider();
        String encodedConstructor =
                FunctionEncoder.encodeConstructor(
                        Collections.<Type>singletonList(new Uint256(BigInteger.TEN)));
        assertThrows(
                RuntimeException.class,
                () ->
                        TestContract.deployRemoteCall(
                                        TestContract.class,
                                        web3j,
                                        SampleKeys.CREDENTIALS,
                                        contractGasProvider,
                                        "0xcafed00d",
                                        encodedConstructor,
                                        BigInteger.ZERO)
                                .send());
    }