Documentation

did:sol Program

The anchor-based 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:

use sol_did::integrations::is_authority;
// pub fn is_authority(did_account: &AccountInfo, 
//                     did_account_seed_bump: Option<u8>, 
//                     controlling_did_accounts: &[AccountInfo], 
//                     key: &[u8], 
//                     filter_types: Option<&[VerificationMethodType]>, 
//                     filter_fragment: Option<&String>) -> Result<bool>

Instructions

initialize

Arguments:

  • size: u32

Accounts:

  • didData isMut
  • authority isSigner, isMut
  • payer isSigner, isMut
  • systemProgram

resize

Arguments:

  • size:u32
  • ethSignature:Option<Secp256k1RawSignature>

Accounts:

  • didData isMut
  • authority isSigner
  • payer isSigner, isMut
  • systemProgram

close

Arguments:

  • ethSignature:Option<Secp256k1RawSignature>

Accounts:

  • didData isMut
  • authority isSigner
  • destination isMut
  • systemProgram

add_verification_method

Arguments:

  • verificationMethod:VerificationMethod
  • ethSignature:Option<Secp256k1RawSignature>

Accounts:

  • didData isMut
  • authority isSigner

remove_verification_method

Arguments:

  • fragment:string
  • ethSignature:Option<Secp256k1RawSignature>

Accounts:

  • didData isMut
  • authority isSigner

add_service

Arguments:

  • service:Service
  • allowOverwrite:bool
  • ethSignature:Option<Secp256k1RawSignature>

Accounts:

  • didData isMut
  • authority isSigner

remove_service

Arguments:

  • fragment:string
  • ethSignature:Option<Secp256k1RawSignature>

Accounts:

  • didData isMut
  • authority isSigner

set_vm_flags

Arguments:

  • flagsVm:UpdateFlagsVerificationMethod
  • ethSignature:Option<Secp256k1RawSignature>

Accounts:

  • didData isMut
  • authority isSigner

set_controllers

Arguments:

  • setControllersArg:SetControllersArg
  • ethSignature:Option<Secp256k1RawSignature>

Accounts:

  • didData isMut
  • authority isSigner

update

Arguments:

  • updateArg:UpdateArg
  • ethSignature:Option<Secp256k1RawSignature>

Accounts:

  • didData isMut
  • authority isSigner

migrate

Arguments:

Accounts:

  • didData isMut
  • authority
  • payer isSigner, isMut
  • legacyDidData
  • systemProgram

Deployments

APR Reference

  • did:sol program on APR