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.Protected
as 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
DidService
with adid:
string
- Updated
updateFromDoc
to expect a generalizedDidDocument
and not aDidSolDocument
- Updated
anchor-lang
dependency to0.26.0
- Updated program Solana dependencies to latest version.
- Implemented
::try_from
onDidAccount
to easily support generative and non-generative integrations - Added generative method on
DidSolDataAccount
class for simple integration ofnull
case. - Added required
Cargo.toml
package data forsol-did
publication on crates.io.
- Removed
publicKey: string;
fromEthSigner
interface. This makes it compatible withclass JsonRpcSigner extends Signer
ofethers
. - Filter methods on
DidAccount
verificationmethods are not public. DidSolError
is now public.- Fixed resolve error when setting verificationmethod flags
- Removed legacy codebase (did:sol v1) from repository.
- Provided
pub fn eth_verify_message
as 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_authority
andfind_authority
function signatures to not perform secp256k1 verification anymore.
- replaced BN .toBuffer() usage that was not working properly in browser.
- Removed
ethers
dependency 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
yarn
workspace under sol-did DidSolService
allows to chain multiple "general" operations- Expose
crate::integrations::is_authority
to 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:
addVerificationMethod
andsetVerificationMethodFlags
now acceptflags
as an array ofBitwiseVerificationMethodFlag
- Breaking: Updated
DidSolService.build()
Builder interface signature. - Breaking:
addService
operation takes an additionalallowsOverwrite
flag to allow an update of an existing service without removing it first. - Client operations with
authority
andpayer
default tothis._wallet.publicKey
and notthis._didAuthority
- Do not download the IDL from the network, but use the library IDL instead.
DidSolService.build
is notasync
anymore. 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