-
Notifications
You must be signed in to change notification settings - Fork 37
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
refactor: align object names with KERIpy and add function docs #307
Conversation
a6965fe
to
482c023
Compare
Another goal of this PR is to get ready to add CESR 2.0 and KERI 2.0 support. |
83ea85c
to
0ddf614
Compare
0ddf614
to
5996d11
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #307 +/- ##
==========================================
+ Coverage 83.64% 83.70% +0.05%
==========================================
Files 48 48
Lines 4238 4270 +32
Branches 1055 1067 +12
==========================================
+ Hits 3545 3574 +29
- Misses 663 666 +3
Partials 30 30 ☔ View full report in Codecov by Sentry. |
Looks like great goals and work! |
Good points Ed. I'll take a look at the signify-browser-extension code to see what exports it depends on. |
@edeykholt item 3 of your notes above is addressed here: WebOfTrust/signify-browser-extension#229 |
And @edeykholt , to your first point
the results of a full text search on the signify-browser-extension repository for the names I changed here show that nothing in the browser extension depends on the names I changed here. I will keep this in mind as I make further changes this week. If there are any refactorings that affect the browser extension then I will create a corresponding PR to that repo. |
a4f60d2
to
da4f5c3
Compare
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.
Great work with all the cleanup and comments!
I added some minor nitpicking. But mostly, I am not sure about the IdentifierManager
vs KeyManager
naming. See the comment in the keeping.ts
file. I read your rationale, but maybe I misunderstood.
500fa11
to
5cc1e3c
Compare
@lenkan thanks for the comments! I made corresponding changes or added rationale for context. |
5cc1e3c
to
bece40e
Compare
bece40e
to
6cf27c2
Compare
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.
Thank you for responding to the feedback. I hope this achieves the alignment attended. Time will tell i suppose, but glad that we are trying :)
This is a work in progress PR. Status will be updated to "Ready for Review" at the end of this week.
Goals of PR
Overview
This PR does three main things:
Example - Keeper to IdentifierManager
As an example, key management in KERIpy occurs in
keeping.Manager
, notkeeping.Keeper
, so the SignifyTSKeeper
interface, which mimicked thekeeping.Manager
class in KERIpy, was renamed to beIdentifierManager
. Thekeeping.Keeper
class in KERIpy was used to store keys in the LMDB database whereas the Manager was used for creating keypairs, performing inception, rotation, and signing, among other responsibilities not ported to SignifyTS from KERIpy.The name
Manager
is already taken in SignifyTS by themanager.Manager
class, yet the responsibilities of thekeeping.Manager
class were being split across both themanager.Manager
class and thekeeping.Keeper
class. So the existingkeeping.Keeper
class in SignifyTS was renamed tokeeping.IdentifierManager
since that seemed to be a descriptive, clear name describing the fact that implementations of this object perform key pair creation, inception, rotation, and signing.Motivation
While reading the Signify source code recently to gain a deeper understanding of key management in Signify I have noticed again a number of naming differences between SignifyTS and KERIpy that are unnecessary and introduce questions of meaning and compatibility. This PR makes the code clear by aligning the codebase with the naming used in the KERIpy codebase.
The significant work of Phil and Kevin, and those who came after them, to port the style, names, and ideas from KERIpy is a strong influence on the motivation to continue that alignment and further it.
Future work to complete this PR
My current task is to understand the ways stems for Salty key generation and lookup work. I plan to document everything I read as I gain a complete understanding of that code.
Looking for comments
Please feel free to opine and share your thoughts on what naming policies or related ideas should make it into this PR.