Skip to main content
Templates to track per-sv state.

Templates

template SvNodeState
State of a node managed by an SV operator party. There is exactly one such state per SV operator party. Even though every SV can operate at most one node at any one time, there can though be multiple SV node states per SV, as the state of offboarded nodes is kept around for debugging purposes. Signatory: dso
  • Choice Archive Controller: dso Returns: () (no fields)
template SvRewardState
State of reward collection for a sv identified by their sv name. Signatory: dso
  • Choice Archive Controller: dso Returns: () (no fields)
template SvStatusReport
A singleton contract per SV party that is used to regularly submit status reports. Individual status reports serve as a heartbeat for a specific SV party and its associoated SV node ; and to distribute that SVs view on the network to all other SVs. Signatory: dso
  • Choice Archive Controller: dso Returns: () (no fields)

Data Types

data ForSv
ForSv
instance Eq ForSv instance Show ForSv instance GetField “dso” ForSv Party instance GetField “svName” ForSv Text instance SetField “dso” ForSv Party instance SetField “svName” ForSv Text instance HasCheckedFetch SvRewardState ForSv
data ForSvNode
ForSvNode
instance Eq ForSvNode instance Show ForSvNode instance GetField “dso” ForSvNode Party instance GetField “sv” ForSvNode Party instance GetField “svName” ForSvNode Text instance SetField “dso” ForSvNode Party instance SetField “sv” ForSvNode Party instance SetField “svName” ForSvNode Text instance HasCheckedFetch SvNodeState ForSvNode instance HasCheckedFetch SvStatusReport ForSvNode
data NodeState
NodeState
instance Eq NodeState instance Show NodeState instance GetField “state” SvNodeState NodeState instance GetField “synchronizerNodes” NodeState SynchronizerNodeConfigMap instance SetField “state” SvNodeState NodeState instance SetField “synchronizerNodes” NodeState SynchronizerNodeConfigMap
data RewardState
Reward collection state of an SV. Note that we keep some extra aggregates in this state to make it easier to interpret it. In principle, these could be derived from the transaction history, but that would be much more onerous to implement.
RewardState
instance Eq RewardState instance Show RewardState instance GetField “lastRoundCollected” RewardState Round instance GetField “numCouponsIssued” RewardState Int instance GetField “numRoundsCollected” RewardState Int instance GetField “numRoundsMissed” RewardState Int instance GetField “state” SvRewardState RewardState instance SetField “lastRoundCollected” RewardState Round instance SetField “numCouponsIssued” RewardState Int instance SetField “numRoundsCollected” RewardState Int instance SetField “numRoundsMissed” RewardState Int instance SetField “state” SvRewardState RewardState
data SvStatus
The status of an SV as seen from their SV node’s perspective. We generally add values here that are expected to regularly increase, so that SV node operators can run alerting off of them.
SvStatus
instance Eq SvStatus instance Show SvStatus instance GetField “cometBftHeight” SvStatus Int instance GetField “createdAt” SvStatus Time instance GetField “latestOpenRound” SvStatus Round instance GetField “mediatorSynchronizerTime” SvStatus Time instance GetField “participantSynchronizerTime” SvStatus Time instance GetField “status” SvStatusReport (Optional SvStatus) instance GetField “status” DsoRules_SubmitStatusReport SvStatus instance SetField “cometBftHeight” SvStatus Int instance SetField “createdAt” SvStatus Time instance SetField “latestOpenRound” SvStatus Round instance SetField “mediatorSynchronizerTime” SvStatus Time instance SetField “participantSynchronizerTime” SvStatus Time instance SetField “status” SvStatusReport (Optional SvStatus) instance SetField “status” DsoRules_SubmitStatusReport SvStatus