org.sigilaris.core.application.feature.group.module

Members list

Type members

Classlikes

object GroupsBP

Groups module blueprint.

Groups module blueprint.

Phase 6 example blueprint implementing ADR-0011 (Blockchain Account Group Management).

DEPENDENCY: This blueprint depends on AccountsSchema for Named account key verification. The provider parameter must supply the accounts and nameKey tables from AccountsBP.

Attributes

Source
GroupsBlueprint.scala
Supertypes
class Object
trait Matchable
class Any
Self type
GroupsBP.type

Groups state reducer (path-agnostic).

Groups state reducer (path-agnostic).

Implements transaction logic for group management:

  • CreateGroup
  • DisbandGroup
  • AddAccounts
  • RemoveAccounts
  • ReplaceCoordinator

Signature verification follows ADR-0012 protocol: All group management transactions require coordinator signature. Named account verification requires access to AccountsBP's nameKey table.

DEPENDENCY: This reducer depends on AccountsSchema for Named account key verification. The Needs type parameter includes the accounts tables.

Type parameters

F

the effect type

Attributes

Companion
object
Source
GroupsBlueprint.scala
Supertypes
class Object
trait Matchable
class Any
object GroupsReducer

Companion for GroupsReducer, defining dependency types.

Companion for GroupsReducer, defining dependency types.

Attributes

Companion
class
Source
GroupsBlueprint.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object GroupsSchema

Groups module schema.

Groups module schema.

Tables:

  • groups: groupId -> GroupData (name, coordinator, nonce, createdAt)
  • groupAccounts: (groupId, account) -> Unit (membership indicator)

Attributes

Source
GroupsBlueprint.scala
Supertypes
class Object
trait Matchable
class Any
Self type