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

GroupInvite Class

Contains a device-signed, expiring invitation to join a group.

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

Inheritance System.Object → ProtocolModel → TypedProtocolModel → GroupInvite

Implements System.IEquatable<GroupInvite>

Constructors

GroupInvite() Constructor

Contains a device-signed, expiring invitation to join a group.

public GroupInvite();

Properties

GroupInvite.CreatedAt Property

The creation time, in Unix seconds.

public long CreatedAt { get; init; }

Property Value

System.Int64

GroupInvite.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>

GroupInvite.ExpiresAt Property

The expiration time, in Unix seconds.

public long ExpiresAt { get; init; }

Property Value

System.Int64

GroupInvite.GroupId Property

The group's canonical grp_ identifier.

public string GroupId { get; init; }

Property Value

System.String

GroupInvite.Invitee Property

The account allowed to use a targeted invitation, or null for a shareable invitation.

public string? Invitee { get; init; }

Property Value

System.String

GroupInvite.InviteId Property

The invitation's canonical inv_ identifier.

public string InviteId { get; init; }

Property Value

System.String

GroupInvite.Inviter Property

The CAIP-10 account identifier of the invitation's creator.

public string Inviter { get; init; }

Property Value

System.String

GroupInvite.MaxUses Property

The maximum number of invitation uses, or null when no explicit use limit is supplied.

public System.Nullable<long> MaxUses { get; init; }

Property Value

System.Nullable<System.Int64>

Methods

GroupInvite.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.

GroupInvite.Validate(NetworkContext) Method

Validates invitation identifiers, target and use-limit rules, validity times, 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.