diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a5dabfd..f9f037a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Implemented `::try_from` on `DidAccount` to easily support generative and non-generative integrations - Added generative method on `DidSolDataAccount` class for simple integration of `null` case. +- Added required `Cargo.toml` package data for `sol-did` publication on crates.io. ### Changed - Removed `publicKey: string;` from `EthSigner` interface. This makes it compatible with diff --git a/sol-did/README.md b/sol-did/README.md index 0954b850..bb3fea6c 100644 --- a/sol-did/README.md +++ b/sol-did/README.md @@ -2,19 +2,128 @@ The [anchor-based](https://github.com/coral-xyz/anchor) program of `did:sol` on Solana. +## is_authority Integration +Other programs can check if a verification method (e.g. public key or address) by integrating `is_authority`: + +```rust +use sol_did::integrations::is_authority; +``` + +```rust +// pub fn is_authority(did_account: &AccountInfo, +// did_account_seed_bump: Option, +// controlling_did_accounts: &[AccountInfo], +// key: &[u8], +// filter_types: Option<&[VerificationMethodType]>, +// filter_fragment: Option<&String>) -> Result +``` + ## Instructions ### `initialize` +Arguments: +- size: `u32` + +Accounts: +- didData `isMut` +- authority `isSigner`, `isMut` +- payer `isSigner`, `isMut` +- systemProgram + ### `resize` +Arguments: +- size:`u32` +- ethSignature:`Option` + +Accounts: +- didData `isMut` +- authority `isSigner` +- payer `isSigner`, `isMut` +- systemProgram + ### `close` +Arguments: +- ethSignature:`Option` + +Accounts: +- didData `isMut` +- authority `isSigner` +- destination `isMut` +- systemProgram + ### `add_verification_method` +Arguments: +- verificationMethod:`VerificationMethod` +- ethSignature:`Option` + +Accounts: +- didData `isMut` +- authority `isSigner` + ### `remove_verification_method` +Arguments: +- fragment:`string` +- ethSignature:`Option` + +Accounts: +- didData `isMut` +- authority `isSigner` + ### `add_service` +Arguments: +- service:`Service` +- allowOverwrite:`bool` +- ethSignature:`Option` + +Accounts: +- didData `isMut` +- authority `isSigner` + ### `remove_service` +Arguments: +- fragment:`string` +- ethSignature:`Option` + +Accounts: +- didData `isMut` +- authority `isSigner` + ### `set_vm_flags` +Arguments: +- flagsVm:`UpdateFlagsVerificationMethod` +- ethSignature:`Option` + +Accounts: +- didData `isMut` +- authority `isSigner` + ### `set_controllers` +Arguments: +- setControllersArg:`SetControllersArg` +- ethSignature:`Option` + +Accounts: +- didData `isMut` +- authority `isSigner` + ### `update` +Arguments: +- updateArg:`UpdateArg` +- ethSignature:`Option` + +Accounts: +- didData `isMut` +- authority `isSigner` + ### `migrate` +Arguments: + +Accounts: +- didData `isMut` +- authority +- payer `isSigner`, `isMut` +- legacyDidData +- systemProgram ### Deployments diff --git a/sol-did/programs/sol-did/Cargo.toml b/sol-did/programs/sol-did/Cargo.toml index 1ced33f8..d35d5448 100644 --- a/sol-did/programs/sol-did/Cargo.toml +++ b/sol-did/programs/sol-did/Cargo.toml @@ -3,6 +3,11 @@ name = "sol-did" version = "3.1.4" description = "Martin Riedel" edition = "2021" +readme = "../../README.md" +homepage = "https://www.identity.com/" +repository = "https://github.com/identity-com/sol-did" +license = "MIT" +keywords = ["did", "solana", "identity", "did-method"] [lib] crate-type = ["cdylib", "lib"]