pub fn sponsorship_id(
sponsor: &AccountID,
sponsee: &AccountID,
) -> Result<LedgerEntryIdBytes>Expand description
Generates a sponsorship ledger entry ID for a given sponsor and sponsee in the XRP Ledger.
Sponsorship ledger entry IDs are used to reference sponsorship 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
sponsor- Reference to anAccountIDrepresenting the sponsoring accountsponsee- Reference to anAccountIDrepresenting the sponsored account
§Returns
Result<LedgerEntryIdBytes>- On success, returns a 32-byte sponsorship ledger entry ID. On failure, returns anErrorwith the corresponding error code.
§Safety
This function makes unsafe FFI calls to the host environment through
the host::sponsorship_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::sponsorship_id;
use xrpl_common_stdlib::host::trace::{ trace_hex, trace_num };
fn main() -> Result<(), Box<dyn std::error::Error>> {
let sponsor: AccountID =
AccountID::from(*b"\xd5\xb9\x84VP\x9f \xb5'\x9d\x1eJ.\xe8\xb2\xaa\x82\xaec\xe3");
let sponsee: AccountID =
AccountID::from(*b"\xd5\xb9\x84VP\x9f \xb5'\x9d\x1eJ.\xe8\xb2\xaa\x82\xaec\xe3");
match sponsorship_id(&sponsor, &sponsee) {
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(())
}