All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added
BitwiseVerificationMethodFlag.Protectedas a VerificationMethodFlag. VMs with that flag set cannot be removed from the DID Document. - Only the VM itself can set or remove the flag
BitwiseVerificationMethodFlag.Protected
- Prevent Lockout on generalized
update()function
- Allow to initialize
DidServicewith adid:string
- Updated
updateFromDocto expect a generalizedDidDocumentand not aDidSolDocument - Updated
anchor-langdependency to0.26.0 - Updated program Solana dependencies to latest version.
- Implemented
::try_fromonDidAccountto easily support generative and non-generative integrations - Added generative method on
DidSolDataAccountclass for simple integration ofnullcase. - Added required
Cargo.tomlpackage data forsol-didpublication on crates.io.
- Removed
publicKey: string;fromEthSignerinterface. This makes it compatible withclass JsonRpcSigner extends Signerofethers. - Filter methods on
DidAccountverificationmethods are not public. DidSolErroris now public.- Fixed resolve error when setting verificationmethod flags
- Removed legacy codebase (did:sol v1) from repository.
- Provided
pub fn eth_verify_messageas a public utility method to verify eth signed messages. - expose additional modules for integration (constants, legacy, utils)
- Updated spec link to
http://g.identity.com/sol-did - Added Martin Riedel as an author
- Updated
is_authorityandfind_authorityfunction signatures to not perform secp256k1 verification anymore.
- replaced BN .toBuffer() usage that was not working properly in browser.
- Removed
ethersdependency to reduce package size.
- Legacy DID Migration did not work for "inferred" CapabilityInvocation on the "default" VerificationMethod
migrate()operation did not close the legacy account after migration when an legacyAuthority was specified
- Restructured npm packages to be a single
yarnworkspace under sol-did DidSolServiceallows to chain multiple "general" operations- Expose
crate::integrations::is_authorityto check if a key is an authority on a DID.
- Breaking:
getDidAccount()now returns a clearer data model for a Verification Method and not the raw on-chain version - Breaking:
addVerificationMethodandsetVerificationMethodFlagsnow acceptflagsas an array ofBitwiseVerificationMethodFlag - Breaking: Updated
DidSolService.build()Builder interface signature. - Breaking:
addServiceoperation takes an additionalallowsOverwriteflag to allow an update of an existing service without removing it first. - Client operations with
authorityandpayerdefault tothis._wallet.publicKeyand notthis._didAuthority - Do not download the IDL from the network, but use the library IDL instead.
DidSolService.buildis notasyncanymore. Therefore it does not need to be awaited
build()on DidSolService instance. Use static version instead.
getDidAccount()tolerates existing accounts with No data.
Initial release for the anchor rewrite and feature extended did:sol method