Skip to content

Commit

Permalink
fix: schedule sign transaction
Browse files Browse the repository at this point in the history
  • Loading branch information
janaakhterov authored and mehcode committed Mar 4, 2021
1 parent af12246 commit 63a017d
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 28 deletions.
16 changes: 3 additions & 13 deletions schedule_create_transaction_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,11 +122,14 @@ func TestScheduleCreateTransaction_Signature_Execute(t *testing.T) {

assert.Equal(t, HbarUnits.Hbar.numberOfTinybar(), newBalance.tinybar)

accountTransactionID := TransactionIDGenerate(client.GetOperatorAccountID())

tx, err := NewAccountCreateTransaction().
SetKey(newKey.PublicKey()).
SetMaxTransactionFee(NewHbar(2)).
SetInitialBalance(newBalance).
SetNodeAccountIDs([]AccountID{{Account: 3}}).
SetTransactionID(accountTransactionID).
FreezeWith(client)
assert.NoError(t, err)

Expand Down Expand Up @@ -173,17 +176,4 @@ func TestScheduleCreateTransaction_Signature_Execute(t *testing.T) {

receipt, err = resp.GetReceipt(client)
assert.NoError(t, err)

tx4, err := NewScheduleDeleteTransaction().
SetScheduleID(scheduleID).
FreezeWith(client)
assert.NoError(t, err)

resp, err = tx4.
Sign(newKey).
Execute(client)
assert.NoError(t, err)

_, err = resp.GetReceipt(client)
assert.NoError(t, err)
}
15 changes: 2 additions & 13 deletions schedule_sign_transaction.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,19 +45,8 @@ func (transaction *ScheduleSignTransaction) GetScheduleID() ScheduleID {
func (transaction *ScheduleSignTransaction) AddScheduleSignature(publicKey PublicKey, signature []byte) *ScheduleSignTransaction {
transaction.requireOneNodeAccountID()

if transaction.pb.SigMap != nil{
if transaction.pb.SigMap.SigPair != nil {
transaction.pb.SigMap.SigPair = append(transaction.pb.SigMap.SigPair, publicKey.toSignaturePairProtobuf(signature))
} else {
transaction.pb.SigMap.SigPair = make([]*proto.SignaturePair, 0)
transaction.pb.SigMap.SigPair = append(transaction.pb.SigMap.SigPair, publicKey.toSignaturePairProtobuf(signature))
}
} else {
transaction.pb.SigMap = &proto.SignatureMap{
SigPair: make([]*proto.SignaturePair, 0),
}
transaction.pb.SigMap.SigPair = append(transaction.pb.SigMap.SigPair, publicKey.toSignaturePairProtobuf(signature))
}
sigPairs := transaction.pb.GetSigMap().GetSigPair()
sigPairs = append(sigPairs, publicKey.toSignaturePairProtobuf(signature))

return transaction
}
Expand Down
19 changes: 17 additions & 2 deletions transaction_receipt_query.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ func (query *TransactionReceiptQuery) GetCost(client *Client) (Hbar, error) {
request{
query: &query.Query,
},
query_shouldRetry,
transactionReceiptQuery_shouldRetry,
costQuery_makeRequest,
costQuery_advanceRequest,
costQuery_getNodeAccountID,
Expand All @@ -63,6 +63,10 @@ func transactionReceiptQuery_shouldRetry(status Status, response response) bool
switch status {
case StatusBusy, StatusUnknown, StatusReceiptNotFound:
return true
case StatusOk:
break
default:
return false
}

status = Status(response.query.GetTransactionGetReceipt().GetReceipt().GetStatus())
Expand All @@ -76,6 +80,17 @@ func transactionReceiptQuery_shouldRetry(status Status, response response) bool
}

func transactionReceiptQuery_mapResponseStatus(_ request, response response) Status {
status := Status(response.query.GetTransactionGetReceipt().GetHeader().GetNodeTransactionPrecheckCode())

switch status {
case StatusBusy, StatusUnknown, StatusReceiptNotFound:
return status
case StatusOk:
break
default:
return status
}

return Status(response.query.GetTransactionGetReceipt().GetReceipt().GetStatus())
}

Expand Down Expand Up @@ -141,5 +156,5 @@ func (query *TransactionReceiptQuery) Execute(client *Client) (TransactionReceip
return TransactionReceipt{}, err
}

return transactionReceiptFromProtobuf(resp.query.GetTransactionGetReceipt().Receipt), nil
return transactionReceiptFromProtobuf(resp.query.GetTransactionGetReceipt().GetReceipt()), nil
}

0 comments on commit 63a017d

Please sign in to comment.