Members on this page
Meshline.Sdk
Meshline.Models.Protocol
GroupCreate Class
Contains a signed group creation document and the initial owner's encryption identity.
public sealed record GroupCreate : Meshline.Models.Protocol.TypedProtocolModel, System.IEquatable<Meshline.Models.Protocol.GroupCreate>
Inheritance System.Object → ProtocolModel → TypedProtocolModel → GroupCreate
Implements System.IEquatable<GroupCreate>
Constructors
GroupCreate() Constructor
Contains a signed group creation document and the initial owner's encryption identity.
public GroupCreate();
Properties
GroupCreate.ClientSecretCommitment Property
The commitment identifying the group client secret.
public string ClientSecretCommitment { get; init; }
Property Value
GroupCreate.Description Property
The optional human-readable description.
public string? Description { get; init; }
Property Value
GroupCreate.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>
GroupCreate.GroupId Property
The group's canonical grp_ identifier.
public string GroupId { get; init; }
Property Value
GroupCreate.InvitePolicy Property
The policy controlling which members can create invitations.
public Meshline.Models.Protocol.GroupInvitePolicy InvitePolicy { get; init; }
Property Value
GroupCreate.MemberCapacity Property
The maximum permitted number of group members.
public long MemberCapacity { get; init; }
Property Value
GroupCreate.Name Property
The display name.
public string Name { get; init; }
Property Value
GroupCreate.Nonce Property
The 16-byte creation nonce from which the group identifier is derived.
public System.Collections.Immutable.ImmutableArray<byte> Nonce { get; init; }
Property Value
System.Collections.Immutable.ImmutableArray<System.Byte>
GroupCreate.Owner Property
The initial owner's account identifier and group-specific encryption public key.
public Meshline.Models.Protocol.GroupMemberKey Owner { get; init; }
Property Value
Methods
GroupCreate.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.
GroupCreate.Validate(NetworkContext) Method
Validates creation metadata, nonce, capacity, owner key, client-secret commitment, 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.