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
AccountProfile.Avatar Property
The optional reference to the profile's avatar content.
public Meshline.Models.Protocol.ContentReference? Avatar { get; init; }
Property Value
AccountProfile.Bio Property
The optional profile biography.
public string? Bio { get; init; }
Property Value
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
AccountProfile.PublicDiscovery Property
Whether the account permits public profile discovery.
public bool PublicDiscovery { get; init; }
Property Value
AccountProfile.UpdatedAt Property
The last update time, in Unix seconds.
public long UpdatedAt { get; init; }
Property Value
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.