protected TransactionReceipt executeTransaction(Function function)
            throws IOException, TransactionException {
        return executeTransaction(function, BigInteger.ZERO);
    }
@Test
    public void testStaticEIP1559GasProvider() throws IOException, TransactionException {
        StaticEIP1559GasProvider gasProvider =
                new StaticEIP1559GasProvider(1L, BigInteger.TEN, BigInteger.ZERO, BigInteger.ONE);
        TransactionManager txManager = mock(TransactionManager.class);

        when(txManager.executeTransaction(
                        any(BigInteger.class),
                        any(BigInteger.class),
                        anyString(),
                        anyString(),
                        any(BigInteger.class),
                        anyBoolean()))
                .thenReturn(new TransactionReceipt());

        contract = new TestContract(ADDRESS, web3j, txManager, gasProvider);

        Function func =
                new Function(
                        "test",
                        Collections.<Type>emptyList(),
                        Collections.<TypeReference<?>>emptyList());
        contract.executeTransaction(func);

        verify(txManager)
                .executeTransactionEIP1559(
                        eq(1L),
                        eq(BigInteger.ZERO),
                        eq(BigInteger.TEN),
                        eq(BigInteger.ONE),
                        anyString(),
                        anyString(),
                        any(BigInteger.class),
                        anyBoolean());
    }