-
Notifications
You must be signed in to change notification settings - Fork 31
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
fix: treat addresses as strings in sdk internals #298
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Codecov Report
@@ Coverage Diff @@
## main #298 +/- ##
=======================================
Coverage ? 53.21%
=======================================
Files ? 642
Lines ? 47408
Branches ? 0
=======================================
Hits ? 25226
Misses ? 19322
Partials ? 2860 |
iproudhon
approved these changes
Sep 2, 2021
whylee259
reviewed
Sep 2, 2021
whylee259
approved these changes
Sep 3, 2021
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.
LGTM, The address validation will be discussed in another PR.
3 tasks
7 tasks
4 tasks
96 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
We had a chronic problem with the high cost of marshal/unmarshal of
Account
,Balance
. This is due to the address bytes <-> bech32 address type conversion.Of course, we've alleviated this problem to some extent by caching the pairs of bech32 strings and bytes, but it's more preferable that this happens so frequently that it's essentially unnecessary than cache. In other words, this cost is not required if the address is stored as the string type. It is only necessary to convert string address of an incoming msg to bytes when validating. Alternatively, if we only validate by checking bech32 prefix and checksum without converting to bytes, we will be able to do so at a much lower cost. (This could be carried out in a separate PR later.)
Main changes:
AccAddress
directly. -> We must convert usingBytesToAcAddress()
function.AccAddress
value and aValAddress
value. -> OneAccAddressToBytes()
ed must be compared to aValAddress
value that is a result ofBytesToValAddress
Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.
docs/
) or specification (x/<module>/spec/
)godoc
comments.Unreleased
section inCHANGELOG.md
Files changed
in the Github PR explorerCodecov Report
in the comment section below once CI passes