github.com/keybase/client/go@v0.0.0-20241007131713-f10651d043c8/chat/flip/prot.go (about)

     1  // Auto-generated by avdl-compiler v1.3.29 (https://github.com/keybase/node-avdl-compiler)
     2  //   Input file: prot.avdl
     3  
     4  package flip
     5  
     6  import (
     7  	"errors"
     8  	chat1 "github.com/keybase/client/go/protocol/chat1"
     9  	gregor1 "github.com/keybase/client/go/protocol/gregor1"
    10  	"github.com/keybase/go-framed-msgpack-rpc/rpc"
    11  )
    12  
    13  type Time int64
    14  
    15  func (o Time) DeepCopy() Time {
    16  	return o
    17  }
    18  
    19  type Start struct {
    20  	StartTime                    Time           `codec:"startTime" json:"startTime"`
    21  	CommitmentWindowMsec         int64          `codec:"commitmentWindowMsec" json:"commitmentWindowMsec"`
    22  	RevealWindowMsec             int64          `codec:"revealWindowMsec" json:"revealWindowMsec"`
    23  	SlackMsec                    int64          `codec:"slackMsec" json:"slackMsec"`
    24  	CommitmentCompleteWindowMsec int64          `codec:"commitmentCompleteWindowMsec" json:"commitmentCompleteWindowMsec"`
    25  	Params                       FlipParameters `codec:"params" json:"params"`
    26  }
    27  
    28  func (o Start) DeepCopy() Start {
    29  	return Start{
    30  		StartTime:                    o.StartTime.DeepCopy(),
    31  		CommitmentWindowMsec:         o.CommitmentWindowMsec,
    32  		RevealWindowMsec:             o.RevealWindowMsec,
    33  		SlackMsec:                    o.SlackMsec,
    34  		CommitmentCompleteWindowMsec: o.CommitmentCompleteWindowMsec,
    35  		Params:                       o.Params.DeepCopy(),
    36  	}
    37  }
    38  
    39  type UserDevice struct {
    40  	D gregor1.DeviceID `codec:"d" json:"d"`
    41  	U gregor1.UID      `codec:"u" json:"u"`
    42  }
    43  
    44  func (o UserDevice) DeepCopy() UserDevice {
    45  	return UserDevice{
    46  		D: o.D.DeepCopy(),
    47  		U: o.U.DeepCopy(),
    48  	}
    49  }
    50  
    51  type GameMetadata struct {
    52  	Initiator      UserDevice           `codec:"initiator" json:"initiator"`
    53  	ConversationID chat1.ConversationID `codec:"conversationID" json:"conversationID"`
    54  	GameID         chat1.FlipGameID     `codec:"gameID" json:"gameID"`
    55  }
    56  
    57  func (o GameMetadata) DeepCopy() GameMetadata {
    58  	return GameMetadata{
    59  		Initiator:      o.Initiator.DeepCopy(),
    60  		ConversationID: o.ConversationID.DeepCopy(),
    61  		GameID:         o.GameID.DeepCopy(),
    62  	}
    63  }
    64  
    65  type CommitmentComplete struct {
    66  	Players []UserDeviceCommitment `codec:"players" json:"players"`
    67  }
    68  
    69  func (o CommitmentComplete) DeepCopy() CommitmentComplete {
    70  	return CommitmentComplete{
    71  		Players: (func(x []UserDeviceCommitment) []UserDeviceCommitment {
    72  			if x == nil {
    73  				return nil
    74  			}
    75  			ret := make([]UserDeviceCommitment, len(x))
    76  			for i, v := range x {
    77  				vCopy := v.DeepCopy()
    78  				ret[i] = vCopy
    79  			}
    80  			return ret
    81  		})(o.Players),
    82  	}
    83  }
    84  
    85  type FlipType int
    86  
    87  const (
    88  	FlipType_BOOL    FlipType = 1
    89  	FlipType_INT     FlipType = 2
    90  	FlipType_BIG     FlipType = 3
    91  	FlipType_SHUFFLE FlipType = 4
    92  )
    93  
    94  func (o FlipType) DeepCopy() FlipType { return o }
    95  
    96  var FlipTypeMap = map[string]FlipType{
    97  	"BOOL":    1,
    98  	"INT":     2,
    99  	"BIG":     3,
   100  	"SHUFFLE": 4,
   101  }
   102  
   103  var FlipTypeRevMap = map[FlipType]string{
   104  	1: "BOOL",
   105  	2: "INT",
   106  	3: "BIG",
   107  	4: "SHUFFLE",
   108  }
   109  
   110  func (e FlipType) String() string {
   111  	if v, ok := FlipTypeRevMap[e]; ok {
   112  		return v
   113  	}
   114  	return ""
   115  }
   116  
   117  type FlipParameters struct {
   118  	T__       FlipType `codec:"t" json:"t"`
   119  	Int__     *int64   `codec:"int,omitempty" json:"int,omitempty"`
   120  	Big__     *[]byte  `codec:"big,omitempty" json:"big,omitempty"`
   121  	Shuffle__ *int64   `codec:"shuffle,omitempty" json:"shuffle,omitempty"`
   122  }
   123  
   124  func (o *FlipParameters) T() (ret FlipType, err error) {
   125  	switch o.T__ {
   126  	case FlipType_INT:
   127  		if o.Int__ == nil {
   128  			err = errors.New("unexpected nil value for Int__")
   129  			return ret, err
   130  		}
   131  	case FlipType_BIG:
   132  		if o.Big__ == nil {
   133  			err = errors.New("unexpected nil value for Big__")
   134  			return ret, err
   135  		}
   136  	case FlipType_SHUFFLE:
   137  		if o.Shuffle__ == nil {
   138  			err = errors.New("unexpected nil value for Shuffle__")
   139  			return ret, err
   140  		}
   141  	}
   142  	return o.T__, nil
   143  }
   144  
   145  func (o FlipParameters) Int() (res int64) {
   146  	if o.T__ != FlipType_INT {
   147  		panic("wrong case accessed")
   148  	}
   149  	if o.Int__ == nil {
   150  		return
   151  	}
   152  	return *o.Int__
   153  }
   154  
   155  func (o FlipParameters) Big() (res []byte) {
   156  	if o.T__ != FlipType_BIG {
   157  		panic("wrong case accessed")
   158  	}
   159  	if o.Big__ == nil {
   160  		return
   161  	}
   162  	return *o.Big__
   163  }
   164  
   165  func (o FlipParameters) Shuffle() (res int64) {
   166  	if o.T__ != FlipType_SHUFFLE {
   167  		panic("wrong case accessed")
   168  	}
   169  	if o.Shuffle__ == nil {
   170  		return
   171  	}
   172  	return *o.Shuffle__
   173  }
   174  
   175  func NewFlipParametersWithBool() FlipParameters {
   176  	return FlipParameters{
   177  		T__: FlipType_BOOL,
   178  	}
   179  }
   180  
   181  func NewFlipParametersWithInt(v int64) FlipParameters {
   182  	return FlipParameters{
   183  		T__:   FlipType_INT,
   184  		Int__: &v,
   185  	}
   186  }
   187  
   188  func NewFlipParametersWithBig(v []byte) FlipParameters {
   189  	return FlipParameters{
   190  		T__:   FlipType_BIG,
   191  		Big__: &v,
   192  	}
   193  }
   194  
   195  func NewFlipParametersWithShuffle(v int64) FlipParameters {
   196  	return FlipParameters{
   197  		T__:       FlipType_SHUFFLE,
   198  		Shuffle__: &v,
   199  	}
   200  }
   201  
   202  func (o FlipParameters) DeepCopy() FlipParameters {
   203  	return FlipParameters{
   204  		T__: o.T__.DeepCopy(),
   205  		Int__: (func(x *int64) *int64 {
   206  			if x == nil {
   207  				return nil
   208  			}
   209  			tmp := (*x)
   210  			return &tmp
   211  		})(o.Int__),
   212  		Big__: (func(x *[]byte) *[]byte {
   213  			if x == nil {
   214  				return nil
   215  			}
   216  			tmp := (func(x []byte) []byte {
   217  				if x == nil {
   218  					return nil
   219  				}
   220  				return append([]byte{}, x...)
   221  			})((*x))
   222  			return &tmp
   223  		})(o.Big__),
   224  		Shuffle__: (func(x *int64) *int64 {
   225  			if x == nil {
   226  				return nil
   227  			}
   228  			tmp := (*x)
   229  			return &tmp
   230  		})(o.Shuffle__),
   231  	}
   232  }
   233  
   234  type MessageType int
   235  
   236  const (
   237  	MessageType_START               MessageType = 1
   238  	MessageType_COMMITMENT          MessageType = 2
   239  	MessageType_COMMITMENT_COMPLETE MessageType = 3
   240  	MessageType_REVEAL              MessageType = 4
   241  	MessageType_END                 MessageType = 5
   242  )
   243  
   244  func (o MessageType) DeepCopy() MessageType { return o }
   245  
   246  var MessageTypeMap = map[string]MessageType{
   247  	"START":               1,
   248  	"COMMITMENT":          2,
   249  	"COMMITMENT_COMPLETE": 3,
   250  	"REVEAL":              4,
   251  	"END":                 5,
   252  }
   253  
   254  var MessageTypeRevMap = map[MessageType]string{
   255  	1: "START",
   256  	2: "COMMITMENT",
   257  	3: "COMMITMENT_COMPLETE",
   258  	4: "REVEAL",
   259  	5: "END",
   260  }
   261  
   262  func (e MessageType) String() string {
   263  	if v, ok := MessageTypeRevMap[e]; ok {
   264  		return v
   265  	}
   266  	return ""
   267  }
   268  
   269  type Stage int
   270  
   271  const (
   272  	Stage_ROUND1 Stage = 1
   273  	Stage_ROUND2 Stage = 2
   274  )
   275  
   276  func (o Stage) DeepCopy() Stage { return o }
   277  
   278  var StageMap = map[string]Stage{
   279  	"ROUND1": 1,
   280  	"ROUND2": 2,
   281  }
   282  
   283  var StageRevMap = map[Stage]string{
   284  	1: "ROUND1",
   285  	2: "ROUND2",
   286  }
   287  
   288  func (e Stage) String() string {
   289  	if v, ok := StageRevMap[e]; ok {
   290  		return v
   291  	}
   292  	return ""
   293  }
   294  
   295  type Secret [32]byte
   296  
   297  func (o Secret) DeepCopy() Secret {
   298  	var ret Secret
   299  	copy(ret[:], o[:])
   300  	return ret
   301  }
   302  
   303  type Commitment [32]byte
   304  
   305  func (o Commitment) DeepCopy() Commitment {
   306  	var ret Commitment
   307  	copy(ret[:], o[:])
   308  	return ret
   309  }
   310  
   311  type UserDeviceCommitment struct {
   312  	Ud UserDevice `codec:"ud" json:"ud"`
   313  	C  Commitment `codec:"c" json:"c"`
   314  }
   315  
   316  func (o UserDeviceCommitment) DeepCopy() UserDeviceCommitment {
   317  	return UserDeviceCommitment{
   318  		Ud: o.Ud.DeepCopy(),
   319  		C:  o.C.DeepCopy(),
   320  	}
   321  }
   322  
   323  type Hash [32]byte
   324  
   325  func (o Hash) DeepCopy() Hash {
   326  	var ret Hash
   327  	copy(ret[:], o[:])
   328  	return ret
   329  }
   330  
   331  type Reveal struct {
   332  	Secret Secret `codec:"secret" json:"secret"`
   333  	Cch    Hash   `codec:"cch" json:"cch"`
   334  }
   335  
   336  func (o Reveal) DeepCopy() Reveal {
   337  	return Reveal{
   338  		Secret: o.Secret.DeepCopy(),
   339  		Cch:    o.Cch.DeepCopy(),
   340  	}
   341  }
   342  
   343  type GameMessageBody struct {
   344  	T__                  MessageType         `codec:"t" json:"t"`
   345  	Start__              *Start              `codec:"start,omitempty" json:"start,omitempty"`
   346  	Commitment__         *Commitment         `codec:"commitment,omitempty" json:"commitment,omitempty"`
   347  	CommitmentComplete__ *CommitmentComplete `codec:"commitmentComplete,omitempty" json:"commitmentComplete,omitempty"`
   348  	Reveal__             *Reveal             `codec:"reveal,omitempty" json:"reveal,omitempty"`
   349  }
   350  
   351  func (o *GameMessageBody) T() (ret MessageType, err error) {
   352  	switch o.T__ {
   353  	case MessageType_START:
   354  		if o.Start__ == nil {
   355  			err = errors.New("unexpected nil value for Start__")
   356  			return ret, err
   357  		}
   358  	case MessageType_COMMITMENT:
   359  		if o.Commitment__ == nil {
   360  			err = errors.New("unexpected nil value for Commitment__")
   361  			return ret, err
   362  		}
   363  	case MessageType_COMMITMENT_COMPLETE:
   364  		if o.CommitmentComplete__ == nil {
   365  			err = errors.New("unexpected nil value for CommitmentComplete__")
   366  			return ret, err
   367  		}
   368  	case MessageType_REVEAL:
   369  		if o.Reveal__ == nil {
   370  			err = errors.New("unexpected nil value for Reveal__")
   371  			return ret, err
   372  		}
   373  	}
   374  	return o.T__, nil
   375  }
   376  
   377  func (o GameMessageBody) Start() (res Start) {
   378  	if o.T__ != MessageType_START {
   379  		panic("wrong case accessed")
   380  	}
   381  	if o.Start__ == nil {
   382  		return
   383  	}
   384  	return *o.Start__
   385  }
   386  
   387  func (o GameMessageBody) Commitment() (res Commitment) {
   388  	if o.T__ != MessageType_COMMITMENT {
   389  		panic("wrong case accessed")
   390  	}
   391  	if o.Commitment__ == nil {
   392  		return
   393  	}
   394  	return *o.Commitment__
   395  }
   396  
   397  func (o GameMessageBody) CommitmentComplete() (res CommitmentComplete) {
   398  	if o.T__ != MessageType_COMMITMENT_COMPLETE {
   399  		panic("wrong case accessed")
   400  	}
   401  	if o.CommitmentComplete__ == nil {
   402  		return
   403  	}
   404  	return *o.CommitmentComplete__
   405  }
   406  
   407  func (o GameMessageBody) Reveal() (res Reveal) {
   408  	if o.T__ != MessageType_REVEAL {
   409  		panic("wrong case accessed")
   410  	}
   411  	if o.Reveal__ == nil {
   412  		return
   413  	}
   414  	return *o.Reveal__
   415  }
   416  
   417  func NewGameMessageBodyWithStart(v Start) GameMessageBody {
   418  	return GameMessageBody{
   419  		T__:     MessageType_START,
   420  		Start__: &v,
   421  	}
   422  }
   423  
   424  func NewGameMessageBodyWithCommitment(v Commitment) GameMessageBody {
   425  	return GameMessageBody{
   426  		T__:          MessageType_COMMITMENT,
   427  		Commitment__: &v,
   428  	}
   429  }
   430  
   431  func NewGameMessageBodyWithCommitmentComplete(v CommitmentComplete) GameMessageBody {
   432  	return GameMessageBody{
   433  		T__:                  MessageType_COMMITMENT_COMPLETE,
   434  		CommitmentComplete__: &v,
   435  	}
   436  }
   437  
   438  func NewGameMessageBodyWithReveal(v Reveal) GameMessageBody {
   439  	return GameMessageBody{
   440  		T__:      MessageType_REVEAL,
   441  		Reveal__: &v,
   442  	}
   443  }
   444  
   445  func NewGameMessageBodyWithEnd() GameMessageBody {
   446  	return GameMessageBody{
   447  		T__: MessageType_END,
   448  	}
   449  }
   450  
   451  func (o GameMessageBody) DeepCopy() GameMessageBody {
   452  	return GameMessageBody{
   453  		T__: o.T__.DeepCopy(),
   454  		Start__: (func(x *Start) *Start {
   455  			if x == nil {
   456  				return nil
   457  			}
   458  			tmp := (*x).DeepCopy()
   459  			return &tmp
   460  		})(o.Start__),
   461  		Commitment__: (func(x *Commitment) *Commitment {
   462  			if x == nil {
   463  				return nil
   464  			}
   465  			tmp := (*x).DeepCopy()
   466  			return &tmp
   467  		})(o.Commitment__),
   468  		CommitmentComplete__: (func(x *CommitmentComplete) *CommitmentComplete {
   469  			if x == nil {
   470  				return nil
   471  			}
   472  			tmp := (*x).DeepCopy()
   473  			return &tmp
   474  		})(o.CommitmentComplete__),
   475  		Reveal__: (func(x *Reveal) *Reveal {
   476  			if x == nil {
   477  				return nil
   478  			}
   479  			tmp := (*x).DeepCopy()
   480  			return &tmp
   481  		})(o.Reveal__),
   482  	}
   483  }
   484  
   485  type Version int
   486  
   487  const (
   488  	Version_V1 Version = 1
   489  )
   490  
   491  func (o Version) DeepCopy() Version { return o }
   492  
   493  var VersionMap = map[string]Version{
   494  	"V1": 1,
   495  }
   496  
   497  var VersionRevMap = map[Version]string{
   498  	1: "V1",
   499  }
   500  
   501  func (e Version) String() string {
   502  	if v, ok := VersionRevMap[e]; ok {
   503  		return v
   504  	}
   505  	return ""
   506  }
   507  
   508  type GameMessage struct {
   509  	V__  Version        `codec:"v" json:"v"`
   510  	V1__ *GameMessageV1 `codec:"v1,omitempty" json:"v1,omitempty"`
   511  }
   512  
   513  func (o *GameMessage) V() (ret Version, err error) {
   514  	switch o.V__ {
   515  	case Version_V1:
   516  		if o.V1__ == nil {
   517  			err = errors.New("unexpected nil value for V1__")
   518  			return ret, err
   519  		}
   520  	}
   521  	return o.V__, nil
   522  }
   523  
   524  func (o GameMessage) V1() (res GameMessageV1) {
   525  	if o.V__ != Version_V1 {
   526  		panic("wrong case accessed")
   527  	}
   528  	if o.V1__ == nil {
   529  		return
   530  	}
   531  	return *o.V1__
   532  }
   533  
   534  func NewGameMessageWithV1(v GameMessageV1) GameMessage {
   535  	return GameMessage{
   536  		V__:  Version_V1,
   537  		V1__: &v,
   538  	}
   539  }
   540  
   541  func NewGameMessageDefault(v Version) GameMessage {
   542  	return GameMessage{
   543  		V__: v,
   544  	}
   545  }
   546  
   547  func (o GameMessage) DeepCopy() GameMessage {
   548  	return GameMessage{
   549  		V__: o.V__.DeepCopy(),
   550  		V1__: (func(x *GameMessageV1) *GameMessageV1 {
   551  			if x == nil {
   552  				return nil
   553  			}
   554  			tmp := (*x).DeepCopy()
   555  			return &tmp
   556  		})(o.V1__),
   557  	}
   558  }
   559  
   560  type GameMessageV1 struct {
   561  	Md   GameMetadata    `codec:"md" json:"md"`
   562  	Body GameMessageBody `codec:"body" json:"body"`
   563  }
   564  
   565  func (o GameMessageV1) DeepCopy() GameMessageV1 {
   566  	return GameMessageV1{
   567  		Md:   o.Md.DeepCopy(),
   568  		Body: o.Body.DeepCopy(),
   569  	}
   570  }
   571  
   572  type FlipInterface interface {
   573  }
   574  
   575  func FlipProtocol(i FlipInterface) rpc.Protocol {
   576  	return rpc.Protocol{
   577  		Name:    "flip.flip",
   578  		Methods: map[string]rpc.ServeHandlerDescription{},
   579  	}
   580  }
   581  
   582  type FlipClient struct {
   583  	Cli rpc.GenericClient
   584  }