command · command.money

Contribute money

Requests one conserved transfer from a directly controlled Actor wallet to that Actor's Household.

command.money.contribute(actor_id, household_id, currency_definition_id, amount_minor_units, expected_authority_revision, expected_household_revision, expected_personal_custody_revision, expected_household_custody_revision) -> command.receipt
Stable ID
command.money.contribute
Owner
game.resource-economy
Authority
request
Timing
fixed_tick
Availability
active-session
Side effects
may move exact currency units from Actor custody to that Actor's Household custody
Determinism
record request and Resource result in engine sequence order; request sequence is the stable custody-transfer identity
Introduced
1.4.0

Usage

Submit a contribution only after the player explicitly takes control of the Actor. Use detached Actor, Household, and money queries to supply current stable IDs and revisions.

Parameters

Returns

A fixed-tick command receipt. Completion produces events.money.transferred followed by events.command.completed.

Cost

One bounded membership and authority check, two indexed custody lookups, and one atomic Resource transfer.

Fields

IDTypeUnitsRequiredDescription
actor_idstable-idnoneyesActor whose personal wallet supplies the contribution.
amount_minor_unitsunsigned-integerminor-currency-unitsyesExact contribution amount.
currency_definition_idstringnoneyesAuthored currency definition identity.
expected_authority_revisionrevisionnoneyesExpected Actor control-authority revision.
expected_household_custody_revisionrevisionnoneyesExpected Household-money revision.
expected_household_revisionrevisionnoneyesExpected Household membership revision.
expected_personal_custody_revisionrevisionnoneyesExpected Actor-wallet revision.
household_idstable-idnoneyesActor Household that receives the contribution.

Errors

Examples

local receipt = command.submit("command.money.contribute", {
    actor_id = actor.actor_id,
    household_id = household.household_id,
    currency_definition_id = personal.currency_definition_id,
    amount_minor_units = 1,
    expected_authority_revision = actor.authority_revision,
    expected_household_revision = household.revision,
    expected_personal_custody_revision = personal.container_revision,
    expected_household_custody_revision = shared.container_revision
}, 1)

API history

Related symbols

Project references