package xaya.proto

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message BroadcastMessage

broadcast.proto:12

* A message on the off-chain broadcast channel.

message ChannelMetadata

metadata.proto:22

* Metadata for a game channel.

message ChannelParticipant

metadata.proto:10

* A participant in a game channel.

Used in: ChannelMetadata

message ExtendedUnknownFieldTest

testprotos.proto:62

* A message with similar structure to UnknownFieldTest, except that it has some more fields that will show up as unknown if a message of this type is parsed as UnknownFieldTest.

message SignedData

signatures.proto:10

* A piece of data with signatures of channel participants.

Used in: StateProof, StateTransition

message StateProof

stateproof.proto:56

* A full proof of some state of the game channel and that every participant agrees to it. This starts off some base state and then applies state transitions ending at the target state. This is valid as long as the transitions themselves are valid and all channel participants signed one of the intermediate states. If the initial state is the channel's reinitialisation state, then that is also good and no signatures are required (as long as the transitions themselves are signed by the proper players). It is also fine if someone signed only a state even if they were not the one who did a move, although that is unlikely to occur in practice. A state proof is always seen in context of a particular channel and its current reinitialisation (i.e. these are not part of the explicit state proof itself). This is enforced since that data is part of the signatures made, so that a state proof moved to a different channel or reinit of the same channel is not valid anymore. Note that there are possible efficiency-improvements to the format and rules of such a state proof. For instance, it would be enough if for each player, the *last* state resulting from a move of them is signed. If, for example, some player makes three moves after each other for some reason, then only the last state actually needs a signature and the signatures for "intermediate" states can be left out. For now, this is not implemented, though.

Used in: BroadcastMessage

message StateTransition

stateproof.proto:19

* A state transition: This is a move made by the current player together with the resulting state signed by that player. If we have a known current state, then this is the information we need to verify that this is the current player's move. Furthermore, by having a state signed by that player afterwards, we get a basis to build upon and proving that that player agreed at this point.

Used in: StateProof

message TestBoardMove

testprotos.proto:29

* An example BoardMove proto for use in unit tests.

message TestBoardState

testprotos.proto:10

* An example BoardState proto for use in unit tests.

message UnknownFieldTest

testprotos.proto:44

* A message to test HasAnyUnknownFields. This message contains various fields, including repeated and non-repeated submessages. We also define another message below (ExtendedUnknownFieldTest), which has the same structure but additional fields. Those fields, when set, will become unknown fields in this message.