Skip to content

LogicSigAccount.getAddress() causes NPE after delegated with account.signLogicsig(escrowAccountLogicSig.lsig) #695

Open
@adevvv

Description

@adevvv

LogicSigAccount.getAddress() causes NPE after delegated with account.signLogicsig(escrowAccountLogicSig.lsig)

When creating an escrow as stateless smart contract:

LogicSigAccount escrowAccountLogicSig = new LogicSigAccount(escrowAccountStatelessSmartContract.getBytes(), null)
then making it secure by delegating:
account.signLogicsig(escrowAccountLogicSig.lsig)
--> getting the address afterwards fails:
escrowStatelessSmartContractAddress = escrowAccountLogicSig.getAddress()

error Cannot invoke "com.algorand.algosdk.crypto.Ed25519PublicKey.getBytes()" because "this.sigKey" is null at com.algorand.algosdk.account.LogicSigAccount.getAddress(LogicSigAccount.java:138)

Your environment

Algorand Java SDK 2.4

Expected behaviour

Getting the address should also work after delegating the logicSig

Actual behaviour

NPE :)

BTW It would be great if there is a Method in LogicSigAccount to sign/delegate, and not indirectly go via the account only, not really ObjectOriented?

Metadata

Metadata

Assignees

No one assigned

    Labels

    new-bugBug report that needs triage

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions