org.sigilaris.core.application.feature.accounts.transactions

Members list

Type members

Classlikes

final case class AccountCreated(name: Utf8, guardian: Option[Account]) extends AccountEvent

Event emitted when a new named account is created.

Event emitted when a new named account is created.

Value parameters

guardian

optional guardian account

name

the account name

Attributes

Source
AccountsTransactions.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait AccountEvent
class Object
trait Matchable
class Any
Show all
sealed trait AccountEvent

Sealed base trait for all account-related domain events.

Sealed base trait for all account-related domain events.

Attributes

Source
AccountsTransactions.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
final case class AccountRemoved(name: Utf8) extends AccountEvent

Event emitted when an account is removed.

Event emitted when an account is removed.

Value parameters

name

the account name

Attributes

Source
AccountsTransactions.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait AccountEvent
class Object
trait Matchable
class Any
Show all
final case class AccountUpdated(name: Utf8, newGuardian: Option[Account]) extends AccountEvent

Event emitted when an account's metadata is updated.

Event emitted when an account's metadata is updated.

Value parameters

name

the account name

newGuardian

the updated guardian (None if removed)

Attributes

Source
AccountsTransactions.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait AccountEvent
class Object
trait Matchable
class Any
Show all
final case class AddKeyIds extends Tx

Add new public keys to a Named account.

Add new public keys to a Named account.

Requires signature from one of the account's registered keys or the guardian.

Value parameters

envelope

common transaction metadata

expiresAt

optional expiration timestamp applied to all new keys

keyIds

map of KeyId20 to description (user-provided)

name

account name

nonce

must match current account nonce

Attributes

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

Companion for AddKeyIds, providing codec and crypto instances.

Companion for AddKeyIds, providing codec and crypto instances.

Attributes

Companion
class
Source
AccountsTransactions.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
AddKeyIds.type
final case class CreateNamedAccount(envelope: TxEnvelope, name: Utf8, initialKeyId: KeyId20, guardian: Option[Account]) extends Tx

Create a new Named account.

Create a new Named account.

Requires signature from the initial key's private key.

Value parameters

envelope

common transaction metadata

guardian

optional guardian account

initialKeyId

initial public key identifier

name

account name (UTF-8 string)

Attributes

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

Companion for CreateNamedAccount, providing codec and crypto instances.

Companion for CreateNamedAccount, providing codec and crypto instances.

Attributes

Companion
class
Source
AccountsTransactions.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class KeysAdded(name: Utf8, keyIds: Set[KeyId20]) extends AccountEvent

Event emitted when public keys are added to an account.

Event emitted when public keys are added to an account.

Value parameters

keyIds

the set of key identifiers that were added

name

the account name

Attributes

Source
AccountsTransactions.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait AccountEvent
class Object
trait Matchable
class Any
Show all
final case class KeysRemoved(name: Utf8, keyIds: Set[KeyId20]) extends AccountEvent

Event emitted when public keys are removed from an account.

Event emitted when public keys are removed from an account.

Value parameters

keyIds

the set of key identifiers that were removed

name

the account name

Attributes

Source
AccountsTransactions.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait AccountEvent
class Object
trait Matchable
class Any
Show all
final case class RemoveAccount(envelope: TxEnvelope, name: Utf8, nonce: AccountNonce) extends Tx

Remove a Named account entirely.

Remove a Named account entirely.

Requires signature from one of the account's registered keys or the guardian. Does not check for UTXO balances (module boundary concern).

Value parameters

envelope

common transaction metadata

name

account name

nonce

must match current account nonce

Attributes

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

Companion for RemoveAccount, providing codec and crypto instances.

Companion for RemoveAccount, providing codec and crypto instances.

Attributes

Companion
class
Source
AccountsTransactions.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class RemoveKeyIds extends Tx

Remove public keys from a Named account.

Remove public keys from a Named account.

Requires signature from one of the account's registered keys or the guardian.

Value parameters

envelope

common transaction metadata

keyIds

set of KeyId20 to remove

name

account name

nonce

must match current account nonce

Attributes

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

Companion for RemoveKeyIds, providing codec and crypto instances.

Companion for RemoveKeyIds, providing codec and crypto instances.

Attributes

Companion
class
Source
AccountsTransactions.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class UpdateAccount(envelope: TxEnvelope, name: Utf8, nonce: AccountNonce, newGuardian: Option[Account]) extends Tx

Update account information (change guardian).

Update account information (change guardian).

Requires signature from one of the account's registered keys or the guardian.

Value parameters

envelope

common transaction metadata

name

account name

newGuardian

new guardian (can be None to remove, Some to set/change)

nonce

must match current account nonce

Attributes

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

Companion for UpdateAccount, providing codec and crypto instances.

Companion for UpdateAccount, providing codec and crypto instances.

Attributes

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