-
Notifications
You must be signed in to change notification settings - Fork 16
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
Implement partial APID 0.1.0 with UDL bindings #234
Implement partial APID 0.1.0 with UDL bindings #234
Conversation
bf4763c
to
fa13331
Compare
bind/uniffi/src/lib.rs
Outdated
VerifiableCredential as RcbVerifiableCredentialData, | ||
}, | ||
}, | ||
dids::{ |
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.
ahh I thought the top level was going to be exported as RcbDids, to clear up the namespace in Kotlin.. but.. we can handle it at the kotlin layer :hmm:
bind/uniffi/src/web5.udl
Outdated
string? fragment; | ||
}; | ||
|
||
interface RcbDid { |
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.
or maybe the kotlin will see RcbDid instead of "Did" but yea either can work!
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.
Legendary PR 👍 👍
type Result<T> = std::result::Result<T, JwkError>; | ||
|
||
impl Jwk { | ||
pub fn compute_thumbprint(&self) -> Result<String> { |
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.
compute_thumbprint()
isn't in the APID, but it's here as an implementation detail
over time we should consider adding it to the APID (but keeping lean for now)
This PR implements partial APID v0.1.0 proposed in #229 with comprehensive UDL bindings. This is not considered to be a complete implementation, but implements enough to unblock downstream Kotlin binded implementation (cc @nitro-neal ). The changes are compartmentalized to a new
web5::apid
module, and does not remove any of the priorweb5
code; the priorweb5
code still has code for reference (namely, VC, did:dht and did:web) which needs to be subsequently moved into thisapid
module, whereafter everything in theapid
module will be moved into the rootweb5
module.Missing Pieces
josekit
All of the above implementation will be implemented in subsequent pull requests.
Known Limitations
Filter
'scontains
property is problematic, temporarily removed supportBoth of the above limitations will be solvable, but may require additional development on the Kotlin side of the fence, so for the sake of agility I am temporarily removing support as to unblock kt development.