games.atplay.calculation.drawPile

Coordination state for a single hidden-pile operation (shuffle or reveal). The pile contents themselves live in _piles under shared or individual state; this calculation tracks the multi-player cryptographic protocol needed to transform them.

Repository @atplay.games did:plc:xawtkr77srkxlwhxjf7whbml namespace authority
Details · object
Kindobject
Authoritycalculation.atplay.games
Indexed

Object

object

Properties

actions

requiredarray

Work queue of required actions. When empty and any pending decryption has been applied, the calculation is deleted from transient.

  • minLength: 1
itemsobject

A pending action in the work queue. Removed once performed.

id

requiredstring

A unique id for this operation, typically of the form '<pileId>:shuffle' or '<pileId>:reveal:<ciphertext>'. Sized to hold a pileId plus one Pohlig-Hellman ciphertext (~134 chars on a 768-bit prime) with headroom.

  • maxLength: 256

pile

ref

The pile this calculation concerns. Absent if it concerns no pile.

Reference

For reveal calcs: the list of players who should end up able to decrypt the reveal's ciphertext. Each listed player's secrets will hold a sufficient key set after the calc drains. When this list covers every player in state.individual, the protocol additionally replaces the ciphertext in the pile with its plaintext (public reveal). Absent or empty on shuffle calcs.

itemsstring · did

shared

array

Accumulated shared keys for reveal operations. Consumed when all required keys are present.

  • minLength: 1
itemsobject

A key shared by one player, usable by the reveal target

#pile

object

A reference to a pile: whose it is, and which of theirs.

Properties

id

requiredstring

The id of the pile, within its owner's namespace.

  • maxLength: 64

player

requiredstring · did

The DID of the player who owns the pile. Null means it's a table pile.

  • nullable