cardano-client-lib icon indicating copy to clipboard operation
cardano-client-lib copied to clipboard

java.lang.AbstractMethodError

Open esodot opened this issue 1 year ago • 1 comments

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

esodot avatar Sep 15 '23 15:09 esodot

@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

satran004 avatar Sep 16 '23 14:09 satran004