-
Notifications
You must be signed in to change notification settings - Fork 137
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
Encrypted Slatepack Metadata #428
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.
Looking good 👍 Small comments here and there.
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.
This seems to implement the encrypted metadata fields as discussed in the RFC. The specific details like the 4 byte length and additional optional content flags will require an update to the RFC to keep details accurate and in sync.
To echo Quentin's point about versioning, in the RFC I have the first release as 0.1 and was planning for 1.0 in the final HF once we have finalized all of the details and are happy with long term support for the standard. It doesn't make a big difference though and want to go with whatever is consistent with other work- I can adjust the RFC if we want the first release to be 1.0.
I think we will likely need some more refining and thought needed around recipients field and how it would actually be used but is not critical to have this completely ironed out before the first release.
Otherwise looks good- I haven't manually verified all of the bit plumbing going on, but will get to it as we get into testing. Nice work getting this in, looking forward to testing exchanging some encrypted slatepacks this week 👍
* addition of slatepack metadata * finish adding tests ensuring forwards compatibility * fix to version check * updates based on review feedback
Adds encrypted metadata to the slatepack definition, which works as follows:
Also includes
SlatepackEncMetadata
struct will continue to parse correctly when additional fields are added (similar to how the optional header fields work now)