-
Notifications
You must be signed in to change notification settings - Fork 505
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
services/horizon: Return both inner and outer result codes for fee bump transactions. #4081
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💯 I would have found this sooo helpful recently. Thank you!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor notes below ⬇️
@tamirms PTAL. I am not sure the code is correct for a scenario in which a transaction and a fee bump transaction concurrently compete to get to the ledger, and the transaction makes it to the ledger first. |
@@ -38,18 +38,29 @@ func (fte *FailedTransactionError) Result() (result xdr.TransactionResult, err e | |||
return | |||
} | |||
|
|||
func (fte *FailedTransactionError) TransactionResultCode(transactionHash string) (result string, err error) { | |||
type OuterInnerResultCodes struct { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: since it's an exported type it would be worth adding a comment for this struct
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would be better to rename the struct to:
type ResultCodes struct {
Code string
InnerCode string
}
that way it matches the structure of TransactionResultCodes
in the protocols/horizon package where we default to TransactionCode and only populate InnerTransactionCode if the request was attempting to submit a feebump transaction
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
a7bcef9
to
8474b36
Compare
PR Checklist
PR Structure
otherwise).
services/friendbot
, orall
ordoc
if the changes are broad or impact manypackages.
Thoroughness
.md
files, etc... affected by this change). Take a look in the
docs
folder for a given service,like this one.
Release planning
needed with deprecations, added features, breaking changes, and DB schema changes.
semver, or if it's mainly a patch change. The PR is targeted at the next
release branch if it's not a patch change.
What
Return both inner and outer result codes for fee bump transactions.
Why
Currently only the outer code is returned for fee bump transactions
Known limitations
N/A