org.sigilaris.core.application.feature.group.transactions

Members list

Type members

Classlikes

final case class AddAccounts extends Tx

Add accounts to a group.

Add accounts to a group.

Requires signature from the coordinator. Idempotent: accounts already in the group are no-op.

Value parameters

accounts

set of accounts to add (must be non-empty)

envelope

common transaction metadata

groupId

group identifier

groupNonce

must match current group nonce

Attributes

Companion
object
Source
GroupTransactions.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait Tx
class Object
trait Matchable
class Any
Show all
object AddAccounts

Companion for AddAccounts, providing codec and crypto instances.

Companion for AddAccounts, providing codec and crypto instances.

Attributes

Companion
class
Source
GroupTransactions.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class CreateGroup(envelope: TxEnvelope, groupId: GroupId, name: Utf8, coordinator: Account) extends Tx

Create a new group.

Create a new group.

Requires signature from the coordinator account.

Value parameters

coordinator

initial coordinator account

envelope

common transaction metadata

groupId

group identifier (UTF-8 string, no format constraints)

name

human-readable group name (immutable after creation)

Attributes

Companion
object
Source
GroupTransactions.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait Tx
class Object
trait Matchable
class Any
Show all
object CreateGroup

Companion for CreateGroup, providing codec and crypto instances.

Companion for CreateGroup, providing codec and crypto instances.

Attributes

Companion
class
Source
GroupTransactions.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class DisbandGroup(envelope: TxEnvelope, groupId: GroupId, groupNonce: GroupNonce) extends Tx

Disband a group, removing all group data and membership.

Disband a group, removing all group data and membership.

Requires signature from the coordinator.

Value parameters

envelope

common transaction metadata

groupId

group identifier

groupNonce

must match current group nonce

Attributes

Companion
object
Source
GroupTransactions.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait Tx
class Object
trait Matchable
class Any
Show all
object DisbandGroup

Companion for DisbandGroup, providing codec and crypto instances.

Companion for DisbandGroup, providing codec and crypto instances.

Attributes

Companion
class
Source
GroupTransactions.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class GroupCoordinatorReplaced(groupId: GroupId, oldCoordinator: Account, newCoordinator: Account) extends GroupEvent

Event emitted when a group's coordinator is replaced.

Event emitted when a group's coordinator is replaced.

Value parameters

groupId

the group identifier

newCoordinator

the new coordinator account

oldCoordinator

the previous coordinator account

Attributes

Source
GroupTransactions.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait GroupEvent
class Object
trait Matchable
class Any
Show all
final case class GroupCreated(groupId: GroupId, coordinator: Account, name: Utf8) extends GroupEvent

Event emitted when a new group is created.

Event emitted when a new group is created.

Value parameters

coordinator

the initial coordinator account

groupId

the group identifier

name

the human-readable group name

Attributes

Source
GroupTransactions.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait GroupEvent
class Object
trait Matchable
class Any
Show all
final case class GroupDisbanded(groupId: GroupId) extends GroupEvent

Event emitted when a group is disbanded.

Event emitted when a group is disbanded.

Value parameters

groupId

the group identifier

Attributes

Source
GroupTransactions.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait GroupEvent
class Object
trait Matchable
class Any
Show all
sealed trait GroupEvent

Sealed base trait for all group-related domain events.

Sealed base trait for all group-related domain events.

Attributes

Source
GroupTransactions.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
final case class GroupMembersAdded(groupId: GroupId, added: Set[Account]) extends GroupEvent

Event emitted when members are added to a group.

Event emitted when members are added to a group.

Value parameters

added

the set of accounts actually added (excludes already-present members)

groupId

the group identifier

Attributes

Source
GroupTransactions.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait GroupEvent
class Object
trait Matchable
class Any
Show all
final case class GroupMembersRemoved(groupId: GroupId, removed: Set[Account]) extends GroupEvent

Event emitted when members are removed from a group.

Event emitted when members are removed from a group.

Value parameters

groupId

the group identifier

removed

the set of accounts actually removed

Attributes

Source
GroupTransactions.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait GroupEvent
class Object
trait Matchable
class Any
Show all
final case class RemoveAccounts extends Tx

Remove accounts from a group.

Remove accounts from a group.

Requires signature from the coordinator. Idempotent: accounts not in the group are no-op.

Value parameters

accounts

set of accounts to remove (must be non-empty)

envelope

common transaction metadata

groupId

group identifier

groupNonce

must match current group nonce

Attributes

Companion
object
Source
GroupTransactions.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait Tx
class Object
trait Matchable
class Any
Show all

Companion for RemoveAccounts, providing codec and crypto instances.

Companion for RemoveAccounts, providing codec and crypto instances.

Attributes

Companion
class
Source
GroupTransactions.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class ReplaceCoordinator(envelope: TxEnvelope, groupId: GroupId, newCoordinator: Account, groupNonce: GroupNonce) extends Tx

Replace the group coordinator.

Replace the group coordinator.

Requires signature from the current coordinator. Idempotent: if new coordinator equals current, nonce still increments.

Value parameters

envelope

common transaction metadata

groupId

group identifier

groupNonce

must match current group nonce

newCoordinator

new coordinator account

Attributes

Companion
object
Source
GroupTransactions.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait Tx
class Object
trait Matchable
class Any
Show all

Companion for ReplaceCoordinator, providing codec and crypto instances.

Companion for ReplaceCoordinator, providing codec and crypto instances.

Attributes

Companion
class
Source
GroupTransactions.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type