algorand / algorand/java-algorand-sdk

TransactionId empty if SignedTransaction initialized by constructor @JsonCreator

Aberta
#424 2 comentários 0 reações 0 responsáveis Ver no GitHub
bug Team Lamprey
Linguagem predominante
Java
Estrelas
73
Forks
71
Merge médio
41min
PRs com merge (30d)
2

Descrição

## Problem

The SignedTransaction created by deserialization JSON (@JSONCreator) doesn't fill the attribute transactionId.
https://github.com/algorand/java-algorand-sdk/blob/develop/src/main/java/com/algorand/algosdk/transaction/SignedTransaction.java#L80

So with Atomic Composer if I put a TxnSigner as a external request that works with deserialization of SignedTransaction, It will not work cause the transactionId is emtpy.
https://github.com/algorand/java-algorand-sdk/blob/develop/src/main/java/com/algorand/algosdk/transaction/AtomicTransactionComposer.java#L188

## Solution

We could add the transactionId into the constructor through@JSONCreator or other options proposed by barnji:
instead of using the txid directly from signed transaction object, use signedtransaction.tx.getTxId() or w/e its called in the atc.
it'd be redundant hashing possibly but safer in the case of a enc/dec stxn

## Dependencies

No dependencies

## Urgency

Low Urgency, easy to implement a workaround

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.