Skip to content
Meshline
SDK 1.1.0 · TypeView source on GitHub

Developer guide · API index

Members on this page

Meshline.Sdk

Meshline.Models.Protocol

AccountProfile Class

Contains an account's device-signed profile and public discovery preference.

public sealed record AccountProfile : Meshline.Models.Protocol.TypedProtocolModel, System.IEquatable<Meshline.Models.Protocol.AccountProfile>

Inheritance System.Object → ProtocolModel → TypedProtocolModel → AccountProfile

Implements System.IEquatable<AccountProfile>

Constructors

AccountProfile() Constructor

Contains an account's device-signed profile and public discovery preference.

public AccountProfile();

Properties

AccountProfile.Account Property

The account's CAIP-10 identifier.

public string Account { get; init; }

Property Value

System.String

AccountProfile.Avatar Property

The optional reference to the profile's avatar content.

public Meshline.Models.Protocol.ContentReference? Avatar { get; init; }

Property Value

ContentReference

AccountProfile.Bio Property

The optional profile biography.

public string? Bio { get; init; }

Property Value

System.String

AccountProfile.DeviceSignature Property

The device signature over the model's device signing input.

public System.Collections.Immutable.ImmutableArray<byte> DeviceSignature { get; init; }

Property Value

System.Collections.Immutable.ImmutableArray<System.Byte>

AccountProfile.Nickname Property

The optional display nickname.

public string? Nickname { get; init; }

Property Value

System.String

AccountProfile.PublicDiscovery Property

Whether the account permits public profile discovery.

public bool PublicDiscovery { get; init; }

Property Value

System.Boolean

AccountProfile.UpdatedAt Property

The last update time, in Unix seconds.

public long UpdatedAt { get; init; }

Property Value

System.Int64

Methods

AccountProfile.GetSigningInput(NetworkContext) Method

Builds the canonical, network-bound bytes used to sign or verify this document.

public byte[] GetSigningInput(Meshline.Models.NetworkContext context);

Parameters

context NetworkContext

The network context bound into identifiers or signing input.

Returns

System.Byte[]
The canonical UTF-8 signing input bound to the network context, with the applicable signature fields omitted.

Exceptions

System.Text.Json.JsonException
The signing payload cannot be represented as canonical protocol JSON, contains conflicting extension fields, or already contains a root $context property.

AccountProfile.Validate(NetworkContext) Method

Validates the profile account, text and avatar fields, timestamp, and signature length.

public override Meshline.Validation.ProtocolViolation? Validate(Meshline.Models.NetworkContext? context=null);

Parameters

context NetworkContext

The optional network context passed to nested validation when needed; field-only validation may ignore it.

Returns

ProtocolViolation
The first detected protocol violation, or null if the implemented checks pass.

Remarks

These checks do not verify the external device signature or establish current signer authorization. Verify the signature and the applicable device-state or resource authorization evidence separately.