Skip to content

Commit

Permalink
fix: Receipt now gives receipt status error instead of precheck statu…
Browse files Browse the repository at this point in the history
…s error
  • Loading branch information
andrix10 authored and janaakhterov committed Apr 1, 2021
1 parent c21e215 commit f95c489
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 4 deletions.
8 changes: 8 additions & 0 deletions transaction_receipt_query.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,10 @@ func (query *TransactionReceiptQuery) GetCost(client *Client) (Hbar, error) {
}

func transactionReceiptQuery_shouldRetry(status Status, response response) bool {
if status == StatusPlatformTransactionNotCreated {
return true
}

switch status {
case StatusBusy, StatusUnknown, StatusReceiptNotFound:
return true
Expand Down Expand Up @@ -153,6 +157,10 @@ func (query *TransactionReceiptQuery) Execute(client *Client) (TransactionReceip
)

if err != nil {
switch precheckErr := err.(type) {
case ErrHederaPreCheckStatus:
return TransactionReceipt{}, newErrHederaReceiptStatus(precheckErr.TxID, precheckErr.Status)
}
return TransactionReceipt{}, err
}

Expand Down
16 changes: 12 additions & 4 deletions transaction_record_query.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,19 +60,23 @@ func (query *TransactionRecordQuery) GetCost(client *Client) (Hbar, error) {
}

func transactionRecordQuery_shouldRetry(status Status, response response) bool {
switch status {
case StatusBusy, StatusUnknown, StatusReceiptNotFound:
if status == StatusPlatformTransactionNotCreated {
return true
}

if status != StatusOk {
switch status {
case StatusBusy, StatusUnknown, StatusReceiptNotFound:
return true
case StatusOk:
break
default:
return false
}

status = Status(response.query.GetTransactionGetRecord().GetTransactionRecord().GetReceipt().GetStatus())

switch status {
case StatusBusy, StatusUnknown, StatusOk, StatusReceiptNotFound, StatusRecordNotFound:
case StatusBusy, StatusUnknown, StatusOk, StatusReceiptNotFound:
return true
default:
return false
Expand Down Expand Up @@ -184,6 +188,10 @@ func (query *TransactionRecordQuery) Execute(client *Client) (TransactionRecord,
)

if err != nil {
switch precheckErr := err.(type) {
case ErrHederaPreCheckStatus:
return TransactionRecord{}, newErrHederaReceiptStatus(precheckErr.TxID, precheckErr.Status)
}
return TransactionRecord{}, err
}

Expand Down

0 comments on commit f95c489

Please sign in to comment.