Skip to main content

did_id

Function did_id 

Source
pub fn did_id(account_id: &AccountID) -> Result<LedgerEntryIdBytes>
Expand description

Generates a DID ledger entry ID for a given XRP Ledger account.

DID ledger entry IDs are used to reference DID entries in the XRP Ledger’s state data. This function uses the generic create_id_from_host_call helper to manage the FFI interaction.

§Arguments

  • account_id - Reference to an AccountID representing the XRP Ledger account

§Returns

  • Result<LedgerEntryIdBytes> - On success, returns a 32-byte DID ledger entry ID. On failure, returns an Error with the corresponding error code.

§Safety

This function makes unsafe FFI calls to the host environment through the host::did_id function, though the unsafe code is contained within the closure passed to create_id_from_host_call.

§Example


use xrpl_common_stdlib::types::account_id::AccountID;
use xrpl_common_stdlib::ledger_entry_ids::did_id;
use xrpl_common_stdlib::host::trace::{ trace_hex, trace_num };
fn main() -> Result<(), Box<dyn std::error::Error>> {
  let account:AccountID = AccountID::from(
    *b"\xd5\xb9\x84VP\x9f \xb5'\x9d\x1eJ.\xe8\xb2\xaa\x82\xaec\xe3"
  );
  match did_id(&account){
    xrpl_common_stdlib::host::Result::Ok(id) => {
      trace_hex("Generated ledger entry ID", &id);
    }
    xrpl_common_stdlib::host::Result::Err(e) => {
      trace_num("Error assembling ledger entry ID", e.code() as i64);
    }
  }
  Ok(())
}