fix: serializing and deserializing keys #80
Closed
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.
Problem
Serializing a key will create produce a byte array. However, a string is expected when deserializing because of the
try_from
container attribute. This will cause the deserialization to never succeed.Error message:
invalid type: sequence, expected a borrowed string
Actual serialized data:
public_key = [235, 184, 242, 187, 12, 37, 226, 203, 78, 98, 101, 18, 30, 55, 163, 254, 57, 26, 130, 22, 203, 42, 222, 28, 77, 164, 163, 52, 55, 176, 144, 120]
(toml)Solution
I fixed this by adding another attribute
into="String"
to the container. Unfortunately, settinginto="&str"
won't work because it is not owned.I also added a simple unit test to prevent regressions.