bloxbean / cardano-client-lib

Cardano client library in Java
https://cardano-client.dev
MIT License
118 stars 47 forks source link

java.lang.AbstractMethodError #330

Open esodot opened 1 year ago

esodot commented 1 year ago

Hi, i am getting an error using: 0.5.0-beta1 and blockfrost:0.4.3, but the Transaction goes through and is visible on the network.

Dependencies:

implementation 'com.bloxbean.cardano:cardano-client-lib:0.5.0-beta1'
implementation 'com.bloxbean.cardano:cardano-client-backend-blockfrost:0.4.3'

My code looks like this:

    private QuickTxBuilder getTxBuilder() {
        if (quickTxBuilder == null) {
            quickTxBuilder = new QuickTxBuilder(backendService);
        }
        return quickTxBuilder;
    }

    Tx tx = new Tx()
            .payToAddress(sendConfig.getReceiverAddress(), Amount.lovelace(sendConfig.getLovelace()))
            .from(sendConfig.getSenderAccount().baseAddress())
            .attachMetadata(MessageMetadata.create().add("standard payment"));

    Result<String> result = getTxBuilder().compose(tx)
            .withSigner(SignerProviders.signerFrom(signer))
            .completeAndWait();

The Error i see:

Receiver class com.bloxbean.cardano.client.backend.blockfrost.service.BFUtxoService does not define or inherit an implementation of the resolved method 'abstract com.bloxbean.cardano.client.api.model.Result getTxOutput(java.lang.String, int)' of interface com.bloxbean.cardano.client.backend.api.UtxoService.
java.lang.AbstractMethodError: Receiver class com.bloxbean.cardano.client.backend.blockfrost.service.BFUtxoService does not define or inherit an implementation of the resolved method 'abstract com.bloxbean.cardano.client.api.model.Result getTxOutput(java.lang.String, int)' of interface com.bloxbean.cardano.client.backend.api.UtxoService.
    at com.bloxbean.cardano.client.backend.api.DefaultUtxoSupplier.getTxOutput(DefaultUtxoSupplier.java:33)
    at com.bloxbean.cardano.client.quicktx.QuickTxBuilder$TxContext.completeAndWait(QuickTxBuilder.java:412)
    at com.bloxbean.cardano.client.quicktx.QuickTxBuilder$TxContext.completeAndWait(QuickTxBuilder.java:387)
    at com.bloxbean.cardano.client.quicktx.QuickTxBuilder$TxContext.completeAndWait(QuickTxBuilder.java:356)

Is it somehow related to a mismatch of Class Result? Thank you in advance

satran004 commented 1 year ago

@esodot Please use the same version of the Blockfrost backend as the core library. There are a few new backend APIs introduced in version 0.5.0.

cardano-client-backend-blockfrost:0.5.0-beta1