Commit 19bb29d0 authored by 张振华's avatar 张振华

modify

parent 043707db
......@@ -54,10 +54,10 @@ func addGuessStartFlags(cmd *cobra.Command) {
cmd.Flags().StringP("symbol", "s", "bty", "token symbol")
cmd.Flags().StringP("exec", "e", "coins", "excutor name")
cmd.Flags().Uint32P("maxBetsOneTime", "m", 10000, "max bets one time")
cmd.Flags().Int64P("maxBetsOneTime", "m", 10000, "max bets one time")
//cmd.MarkFlagRequired("maxBets")
cmd.Flags().Uint32P("maxBetsNumber", "n", 100000, "max bets number")
cmd.Flags().Int64P("maxBetsNumber", "n", 100000, "max bets number")
//cmd.MarkFlagRequired("maxBetsNumber")
cmd.Flags().Int64P("devFeeFactor", "d", 0, "dev fee factor, unit: 1/1000")
......@@ -81,8 +81,8 @@ func guessStart(cmd *cobra.Command, args []string) {
maxBetHeight, _ := cmd.Flags().GetInt64("maxBetHeight")
symbol, _ := cmd.Flags().GetString("symbol")
exec, _ := cmd.Flags().GetString("exec")
maxBets, _ := cmd.Flags().GetUint32("maxBets")
maxBetsNumber, _ := cmd.Flags().GetUint32("maxBetsNumber")
maxBets, _ := cmd.Flags().GetInt64("maxBets")
maxBetsNumber, _ := cmd.Flags().GetInt64("maxBetsNumber")
devFeeFactor, _ := cmd.Flags().GetInt64("devFeeFactor")
devFeeAddr, _ := cmd.Flags().GetString("devFeeAddr")
platFeeFactor, _ := cmd.Flags().GetInt64("platFeeFactor")
......@@ -127,7 +127,7 @@ func addGuessBetFlags(cmd *cobra.Command) {
cmd.MarkFlagRequired("gameId")
cmd.Flags().StringP("option", "o", "", "option")
cmd.MarkFlagRequired("option")
cmd.Flags().Uint32P("betsNumber", "b", 1, "bets number for one option in a guess game")
cmd.Flags().Int64P("betsNumber", "b", 1, "bets number for one option in a guess game")
cmd.MarkFlagRequired("betsNumber")
}
......@@ -135,7 +135,7 @@ func guessBet(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
gameId, _ := cmd.Flags().GetString("gameId")
option, _ := cmd.Flags().GetString("option")
betsNumber, _ := cmd.Flags().GetUint32("betsNumber")
betsNumber, _ := cmd.Flags().GetInt64("betsNumber")
params := &pkt.GuessBetTxReq{
GameId: gameId,
......
......@@ -25,8 +25,8 @@ const (
ListASC = int32(1)
DefaultCount = int32(20) //默认一次取多少条记录
MaxBetsOneTime = 10000 //一次最多下多少注
MaxBetsNumber = 1000000 //一局游戏最多接受多少注
MaxBetsOneTime = 10000e8 //一次最多下多少注
MaxBetsNumber = 10000000e8 //一局游戏最多接受多少注
MaxBetHeight = 10000000000 //最大区块高度
MinBetBlockNum = 720 //从创建游戏开始,一局游戏最少的可下注区块数量
......@@ -312,6 +312,7 @@ func (action *Action) GetReceiptLog(game *pkt.GuessGame, statusChange bool) *typ
r.PreStatus = game.PreStatus
r.StatusChange = statusChange
r.PreIndex = game.PreIndex
r.Category = game.Category
log.Log = types.Encode(r)
return log
}
......@@ -491,7 +492,7 @@ func (action *Action) GameBet(pbBet *pkt.GuessGameBet) (*types.Receipt, error) {
}
// 检查余额账户余额
checkValue := int64(pbBet.BetsNum)
checkValue := pbBet.BetsNum
if !action.CheckExecAccountBalance(action.fromaddr, checkValue, 0) {
logger.Error("GameBet", "addr", action.fromaddr, "execaddr", action.execaddr, "id",
pbBet.GetGameId(), "err", types.ErrNoBalance)
......@@ -597,7 +598,7 @@ func (action *Action) GamePublish(publish *pkt.GuessGamePublish) (*types.Receipt
if game.AdminAddr != action.fromaddr {
logger.Error("GamePublish", "addr", action.fromaddr, "execaddr", action.execaddr, "fromAddr is not adminAddr",
action.fromaddr, "adminAddr", game.AdminAddr)
return nil, types.ErrInvalidParam
return nil, pkt.ErrNoPrivilege
}
if game.Status != pkt.GuessGameStatusStart && game.Status != pkt.GuessGameStatusBet && game.Status != pkt.GuessGameStatusStopBet{
......@@ -640,7 +641,7 @@ func (action *Action) GamePublish(publish *pkt.GuessGamePublish) (*types.Receipt
action.ChangeStatus(game, pkt.GuessGameStatusPublish)
//计算竞猜正确的筹码总数
totalBetsNumber := game.BetStat.TotalBetsNumber
winBetsNumber := uint32(0)
winBetsNumber := int64(0)
for j := 0; j < len(game.BetStat.Items); j++ {
if game.BetStat.Items[j].Option == game.Result {
winBetsNumber = game.BetStat.Items[j].BetsNumber
......@@ -687,11 +688,11 @@ func (action *Action) GamePublish(publish *pkt.GuessGamePublish) (*types.Receipt
}
//再遍历赢家,按照投注占比分配所有筹码
winValue := int64(totalBetsNumber) - devFee - platFee
winValue := totalBetsNumber - devFee - platFee
for j := 0; j < len(game.Plays); j++ {
player := game.Plays[j]
if player.Bet.Option == game.Result {
value := int64(player.Bet.BetsNumber * uint32(winValue) / winBetsNumber)
value := int64(player.Bet.BetsNumber * winValue / winBetsNumber)
receipt, err := action.coinsAccount.ExecTransfer(game.AdminAddr, player.Addr, action.execaddr, value)
if err != nil {
action.coinsAccount.ExecFrozen(player.Addr, action.execaddr, value) // rollback
......
......@@ -18,8 +18,8 @@ message GuessGame {
int64 maxBetHeight = 10; //截止下注的块高
string symbol = 11; //bty或者具体token
string exec = 12; //coins或者token
uint32 maxBetsOneTime= 14; //单次可以下多少注,默认100
uint32 maxBetsNumber = 15; //最多可以下多少注
int64 maxBetsOneTime= 14; //单次可以下多少注,默认100
int64 maxBetsNumber = 15; //最多可以下多少注
int64 devFeeFactor = 16; //开发者抽成比例
string devFeeAddr = 17; //开发者地址
int64 platFeeFactor = 18; //平台抽成比例
......@@ -27,7 +27,7 @@ message GuessGame {
string expire = 20; //游戏过期时间
int64 expireHeight = 21; //游戏过期区块高度
string adminAddr = 22; //游戏创建者地址,只有该地址可以开奖
uint32 betsNumber = 23; //已下注数,如果数量达到maxBetsNumber,则不允许再下注
int64 betsNumber = 23; //已下注数,如果数量达到maxBetsNumber,则不允许再下注
repeated GuessPlayer plays = 24; //参与游戏下注的玩家投注信息
string result = 25; //公布的中奖结果
GuessBetStat betStat = 26;
......@@ -43,7 +43,7 @@ message GuessPlayer {
message GuessBet {
string option = 1;
uint32 betsNumber = 2;
int64 betsNumber = 2;
bool isWinner = 3;
int64 profit = 4;
int64 index = 5;
......@@ -51,15 +51,15 @@ message GuessBet {
}
message GuessBetStat {
uint32 totalBetTimes = 1;
uint32 totalBetsNumber = 2;
int64 totalBetTimes = 1;
int64 totalBetsNumber = 2;
repeated GuessBetStatItem items = 3;
}
message GuessBetStatItem {
string option = 1;
uint32 betsNumber = 2;
uint32 betsTimes = 3;
int64 betsNumber = 2;
int64 betsTimes = 3;
}
//游戏状态
......@@ -84,8 +84,8 @@ message GuessGameStart{
int64 maxBetHeight = 5;
string symbol = 6;
string exec = 7;
uint32 maxBetsOneTime= 9;
uint32 maxBetsNumber = 10;
int64 maxBetsOneTime= 9;
int64 maxBetsNumber = 10;
int64 devFeeFactor = 11; //开发者抽成比例
string devFeeAddr = 12; //开发者地址
int64 platFeeFactor = 13; //平台抽成比例
......@@ -99,7 +99,7 @@ message GuessGameStart{
message GuessGameBet{
string gameId = 1;
string option = 2;
uint32 betsNum = 3;
int64 betsNum = 3;
}
//游戏停止下注
......@@ -166,8 +166,8 @@ message GuessStartTxReq {
int64 maxBetHeight = 5;
string symbol = 6;
string exec = 7;
uint32 maxBetsOneTime = 8;
uint32 maxBetsNumber = 9;
int64 maxBetsOneTime = 8;
int64 maxBetsNumber = 9;
int64 devFeeFactor = 10;
string devFeeAddr = 11;
int64 platFeeFactor = 12;
......@@ -180,7 +180,7 @@ message GuessStartTxReq {
message GuessBetTxReq {
string gameId = 1;
string option = 2;
uint32 bets = 3;
int64 bets = 3;
}
message GuessAbortTxReq {
......
......@@ -37,8 +37,8 @@ type GuessGame struct {
MaxBetHeight int64 `protobuf:"varint,10,opt,name=maxBetHeight,proto3" json:"maxBetHeight,omitempty"`
Symbol string `protobuf:"bytes,11,opt,name=symbol,proto3" json:"symbol,omitempty"`
Exec string `protobuf:"bytes,12,opt,name=exec,proto3" json:"exec,omitempty"`
MaxBetsOneTime uint32 `protobuf:"varint,14,opt,name=maxBetsOneTime,proto3" json:"maxBetsOneTime,omitempty"`
MaxBetsNumber uint32 `protobuf:"varint,15,opt,name=maxBetsNumber,proto3" json:"maxBetsNumber,omitempty"`
MaxBetsOneTime int64 `protobuf:"varint,14,opt,name=maxBetsOneTime,proto3" json:"maxBetsOneTime,omitempty"`
MaxBetsNumber int64 `protobuf:"varint,15,opt,name=maxBetsNumber,proto3" json:"maxBetsNumber,omitempty"`
DevFeeFactor int64 `protobuf:"varint,16,opt,name=devFeeFactor,proto3" json:"devFeeFactor,omitempty"`
DevFeeAddr string `protobuf:"bytes,17,opt,name=devFeeAddr,proto3" json:"devFeeAddr,omitempty"`
PlatFeeFactor int64 `protobuf:"varint,18,opt,name=platFeeFactor,proto3" json:"platFeeFactor,omitempty"`
......@@ -46,7 +46,7 @@ type GuessGame struct {
Expire string `protobuf:"bytes,20,opt,name=expire,proto3" json:"expire,omitempty"`
ExpireHeight int64 `protobuf:"varint,21,opt,name=expireHeight,proto3" json:"expireHeight,omitempty"`
AdminAddr string `protobuf:"bytes,22,opt,name=adminAddr,proto3" json:"adminAddr,omitempty"`
BetsNumber uint32 `protobuf:"varint,23,opt,name=betsNumber,proto3" json:"betsNumber,omitempty"`
BetsNumber int64 `protobuf:"varint,23,opt,name=betsNumber,proto3" json:"betsNumber,omitempty"`
Plays []*GuessPlayer `protobuf:"bytes,24,rep,name=plays,proto3" json:"plays,omitempty"`
Result string `protobuf:"bytes,25,opt,name=result,proto3" json:"result,omitempty"`
BetStat *GuessBetStat `protobuf:"bytes,26,opt,name=betStat,proto3" json:"betStat,omitempty"`
......@@ -167,14 +167,14 @@ func (m *GuessGame) GetExec() string {
return ""
}
func (m *GuessGame) GetMaxBetsOneTime() uint32 {
func (m *GuessGame) GetMaxBetsOneTime() int64 {
if m != nil {
return m.MaxBetsOneTime
}
return 0
}
func (m *GuessGame) GetMaxBetsNumber() uint32 {
func (m *GuessGame) GetMaxBetsNumber() int64 {
if m != nil {
return m.MaxBetsNumber
}
......@@ -230,7 +230,7 @@ func (m *GuessGame) GetAdminAddr() string {
return ""
}
func (m *GuessGame) GetBetsNumber() uint32 {
func (m *GuessGame) GetBetsNumber() int64 {
if m != nil {
return m.BetsNumber
}
......@@ -328,7 +328,7 @@ func (m *GuessPlayer) GetBet() *GuessBet {
type GuessBet struct {
Option string `protobuf:"bytes,1,opt,name=option,proto3" json:"option,omitempty"`
BetsNumber uint32 `protobuf:"varint,2,opt,name=betsNumber,proto3" json:"betsNumber,omitempty"`
BetsNumber int64 `protobuf:"varint,2,opt,name=betsNumber,proto3" json:"betsNumber,omitempty"`
IsWinner bool `protobuf:"varint,3,opt,name=isWinner,proto3" json:"isWinner,omitempty"`
Profit int64 `protobuf:"varint,4,opt,name=profit,proto3" json:"profit,omitempty"`
Index int64 `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"`
......@@ -370,7 +370,7 @@ func (m *GuessBet) GetOption() string {
return ""
}
func (m *GuessBet) GetBetsNumber() uint32 {
func (m *GuessBet) GetBetsNumber() int64 {
if m != nil {
return m.BetsNumber
}
......@@ -406,8 +406,8 @@ func (m *GuessBet) GetPreIndex() int64 {
}
type GuessBetStat struct {
TotalBetTimes uint32 `protobuf:"varint,1,opt,name=totalBetTimes,proto3" json:"totalBetTimes,omitempty"`
TotalBetsNumber uint32 `protobuf:"varint,2,opt,name=totalBetsNumber,proto3" json:"totalBetsNumber,omitempty"`
TotalBetTimes int64 `protobuf:"varint,1,opt,name=totalBetTimes,proto3" json:"totalBetTimes,omitempty"`
TotalBetsNumber int64 `protobuf:"varint,2,opt,name=totalBetsNumber,proto3" json:"totalBetsNumber,omitempty"`
Items []*GuessBetStatItem `protobuf:"bytes,3,rep,name=items,proto3" json:"items,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
......@@ -439,14 +439,14 @@ func (m *GuessBetStat) XXX_DiscardUnknown() {
var xxx_messageInfo_GuessBetStat proto.InternalMessageInfo
func (m *GuessBetStat) GetTotalBetTimes() uint32 {
func (m *GuessBetStat) GetTotalBetTimes() int64 {
if m != nil {
return m.TotalBetTimes
}
return 0
}
func (m *GuessBetStat) GetTotalBetsNumber() uint32 {
func (m *GuessBetStat) GetTotalBetsNumber() int64 {
if m != nil {
return m.TotalBetsNumber
}
......@@ -462,8 +462,8 @@ func (m *GuessBetStat) GetItems() []*GuessBetStatItem {
type GuessBetStatItem struct {
Option string `protobuf:"bytes,1,opt,name=option,proto3" json:"option,omitempty"`
BetsNumber uint32 `protobuf:"varint,2,opt,name=betsNumber,proto3" json:"betsNumber,omitempty"`
BetsTimes uint32 `protobuf:"varint,3,opt,name=betsTimes,proto3" json:"betsTimes,omitempty"`
BetsNumber int64 `protobuf:"varint,2,opt,name=betsNumber,proto3" json:"betsNumber,omitempty"`
BetsTimes int64 `protobuf:"varint,3,opt,name=betsTimes,proto3" json:"betsTimes,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
......@@ -501,14 +501,14 @@ func (m *GuessBetStatItem) GetOption() string {
return ""
}
func (m *GuessBetStatItem) GetBetsNumber() uint32 {
func (m *GuessBetStatItem) GetBetsNumber() int64 {
if m != nil {
return m.BetsNumber
}
return 0
}
func (m *GuessBetStatItem) GetBetsTimes() uint32 {
func (m *GuessBetStatItem) GetBetsTimes() int64 {
if m != nil {
return m.BetsTimes
}
......@@ -811,8 +811,8 @@ type GuessGameStart struct {
MaxBetHeight int64 `protobuf:"varint,5,opt,name=maxBetHeight,proto3" json:"maxBetHeight,omitempty"`
Symbol string `protobuf:"bytes,6,opt,name=symbol,proto3" json:"symbol,omitempty"`
Exec string `protobuf:"bytes,7,opt,name=exec,proto3" json:"exec,omitempty"`
MaxBetsOneTime uint32 `protobuf:"varint,9,opt,name=maxBetsOneTime,proto3" json:"maxBetsOneTime,omitempty"`
MaxBetsNumber uint32 `protobuf:"varint,10,opt,name=maxBetsNumber,proto3" json:"maxBetsNumber,omitempty"`
MaxBetsOneTime int64 `protobuf:"varint,9,opt,name=maxBetsOneTime,proto3" json:"maxBetsOneTime,omitempty"`
MaxBetsNumber int64 `protobuf:"varint,10,opt,name=maxBetsNumber,proto3" json:"maxBetsNumber,omitempty"`
DevFeeFactor int64 `protobuf:"varint,11,opt,name=devFeeFactor,proto3" json:"devFeeFactor,omitempty"`
DevFeeAddr string `protobuf:"bytes,12,opt,name=devFeeAddr,proto3" json:"devFeeAddr,omitempty"`
PlatFeeFactor int64 `protobuf:"varint,13,opt,name=platFeeFactor,proto3" json:"platFeeFactor,omitempty"`
......@@ -899,14 +899,14 @@ func (m *GuessGameStart) GetExec() string {
return ""
}
func (m *GuessGameStart) GetMaxBetsOneTime() uint32 {
func (m *GuessGameStart) GetMaxBetsOneTime() int64 {
if m != nil {
return m.MaxBetsOneTime
}
return 0
}
func (m *GuessGameStart) GetMaxBetsNumber() uint32 {
func (m *GuessGameStart) GetMaxBetsNumber() int64 {
if m != nil {
return m.MaxBetsNumber
}
......@@ -966,7 +966,7 @@ func (m *GuessGameStart) GetDrivenByAdmin() bool {
type GuessGameBet struct {
GameId string `protobuf:"bytes,1,opt,name=gameId,proto3" json:"gameId,omitempty"`
Option string `protobuf:"bytes,2,opt,name=option,proto3" json:"option,omitempty"`
BetsNum uint32 `protobuf:"varint,3,opt,name=betsNum,proto3" json:"betsNum,omitempty"`
BetsNum int64 `protobuf:"varint,3,opt,name=betsNum,proto3" json:"betsNum,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
......@@ -1011,7 +1011,7 @@ func (m *GuessGameBet) GetOption() string {
return ""
}
func (m *GuessGameBet) GetBetsNum() uint32 {
func (m *GuessGameBet) GetBetsNum() int64 {
if m != nil {
return m.BetsNum
}
......@@ -1501,8 +1501,8 @@ type GuessStartTxReq struct {
MaxBetHeight int64 `protobuf:"varint,5,opt,name=maxBetHeight,proto3" json:"maxBetHeight,omitempty"`
Symbol string `protobuf:"bytes,6,opt,name=symbol,proto3" json:"symbol,omitempty"`
Exec string `protobuf:"bytes,7,opt,name=exec,proto3" json:"exec,omitempty"`
MaxBetsOneTime uint32 `protobuf:"varint,8,opt,name=maxBetsOneTime,proto3" json:"maxBetsOneTime,omitempty"`
MaxBetsNumber uint32 `protobuf:"varint,9,opt,name=maxBetsNumber,proto3" json:"maxBetsNumber,omitempty"`
MaxBetsOneTime int64 `protobuf:"varint,8,opt,name=maxBetsOneTime,proto3" json:"maxBetsOneTime,omitempty"`
MaxBetsNumber int64 `protobuf:"varint,9,opt,name=maxBetsNumber,proto3" json:"maxBetsNumber,omitempty"`
DevFeeFactor int64 `protobuf:"varint,10,opt,name=devFeeFactor,proto3" json:"devFeeFactor,omitempty"`
DevFeeAddr string `protobuf:"bytes,11,opt,name=devFeeAddr,proto3" json:"devFeeAddr,omitempty"`
PlatFeeFactor int64 `protobuf:"varint,12,opt,name=platFeeFactor,proto3" json:"platFeeFactor,omitempty"`
......@@ -1589,14 +1589,14 @@ func (m *GuessStartTxReq) GetExec() string {
return ""
}
func (m *GuessStartTxReq) GetMaxBetsOneTime() uint32 {
func (m *GuessStartTxReq) GetMaxBetsOneTime() int64 {
if m != nil {
return m.MaxBetsOneTime
}
return 0
}
func (m *GuessStartTxReq) GetMaxBetsNumber() uint32 {
func (m *GuessStartTxReq) GetMaxBetsNumber() int64 {
if m != nil {
return m.MaxBetsNumber
}
......@@ -1655,7 +1655,7 @@ func (m *GuessStartTxReq) GetExpireHeight() int64 {
type GuessBetTxReq struct {
GameId string `protobuf:"bytes,1,opt,name=gameId,proto3" json:"gameId,omitempty"`
Option string `protobuf:"bytes,2,opt,name=option,proto3" json:"option,omitempty"`
Bets uint32 `protobuf:"varint,3,opt,name=bets,proto3" json:"bets,omitempty"`
Bets int64 `protobuf:"varint,3,opt,name=bets,proto3" json:"bets,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
......@@ -1700,7 +1700,7 @@ func (m *GuessBetTxReq) GetOption() string {
return ""
}
func (m *GuessBetTxReq) GetBets() uint32 {
func (m *GuessBetTxReq) GetBets() int64 {
if m != nil {
return m.Bets
}
......@@ -1965,88 +1965,88 @@ func init() {
func init() { proto.RegisterFile("guess.proto", fileDescriptor_7574406c5d3430e8) }
var fileDescriptor_7574406c5d3430e8 = []byte{
// 1286 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcd, 0x8e, 0xe3, 0x44,
0x10, 0x9e, 0x38, 0x71, 0x7e, 0x2a, 0xc9, 0x4c, 0xa6, 0x67, 0x7f, 0xcc, 0x30, 0xa0, 0x60, 0xad,
0x96, 0x80, 0xb4, 0x03, 0xca, 0x4a, 0x08, 0xad, 0xc4, 0x61, 0xb2, 0xab, 0xdd, 0x99, 0x0b, 0x2c,
0x9e, 0x45, 0xcb, 0xd5, 0x49, 0x7a, 0x32, 0x96, 0x12, 0xdb, 0x6b, 0x77, 0x46, 0xc9, 0x9d, 0x03,
0x17, 0xde, 0x83, 0x67, 0xe1, 0x45, 0xb8, 0xf3, 0x02, 0xa0, 0xaa, 0x6e, 0xc7, 0x6d, 0xc7, 0xf9,
0x19, 0x38, 0x70, 0x4b, 0xfd, 0x74, 0x77, 0x75, 0x75, 0xd5, 0xf7, 0x95, 0x03, 0xcd, 0xc9, 0x9c,
0xc7, 0xf1, 0x79, 0x18, 0x05, 0x22, 0x60, 0xa6, 0x58, 0x86, 0x3c, 0x3e, 0x3d, 0x16, 0x91, 0xeb,
0xc7, 0xee, 0x48, 0x78, 0x81, 0x2f, 0x2d, 0xf6, 0x5f, 0x55, 0x68, 0xbc, 0x41, 0xcf, 0x37, 0xee,
0x8c, 0xb3, 0x47, 0x50, 0x9d, 0xb8, 0x33, 0x7e, 0x35, 0xb6, 0x4a, 0xdd, 0x52, 0xaf, 0xe1, 0x28,
0x09, 0xf5, 0xb1, 0x70, 0xc5, 0x3c, 0xb6, 0x8c, 0x6e, 0xa9, 0x67, 0x3a, 0x4a, 0x62, 0x67, 0xd0,
0x08, 0x23, 0x7e, 0x2d, 0x4d, 0x65, 0x32, 0xa5, 0x0a, 0xb4, 0xc6, 0xc2, 0x8d, 0xc4, 0x3b, 0x6f,
0xc6, 0xad, 0x4a, 0xb7, 0xd4, 0x2b, 0x3b, 0xa9, 0x82, 0x75, 0xa1, 0x29, 0x85, 0xc5, 0xa5, 0x1b,
0xdf, 0x5a, 0x26, 0x1d, 0xa8, 0xab, 0xd8, 0x03, 0x30, 0x45, 0x10, 0x7a, 0x23, 0xab, 0x4a, 0x36,
0x29, 0xb0, 0x53, 0xa8, 0x8f, 0x5c, 0xc1, 0x27, 0x41, 0xb4, 0xb4, 0x6a, 0x64, 0x58, 0xc9, 0xcc,
0x82, 0x5a, 0x10, 0xe2, 0xed, 0x62, 0xab, 0x4e, 0xa6, 0x44, 0x64, 0x9f, 0x02, 0xcc, 0xdc, 0xc5,
0x80, 0xcb, 0x60, 0x1a, 0x64, 0xd4, 0x34, 0xcc, 0x86, 0x96, 0x94, 0x2e, 0xb9, 0x37, 0xb9, 0x15,
0x16, 0x50, 0xb8, 0x19, 0x1d, 0x65, 0x61, 0x39, 0x1b, 0x06, 0x53, 0xab, 0x29, 0xb3, 0x23, 0x25,
0xc6, 0xa0, 0xc2, 0x17, 0x7c, 0x64, 0xb5, 0x48, 0x4b, 0xbf, 0xd9, 0x53, 0x38, 0x94, 0x6b, 0xe3,
0x1f, 0x7c, 0x4e, 0x67, 0x1e, 0x76, 0x4b, 0xbd, 0xb6, 0x93, 0xd3, 0xb2, 0x27, 0xd0, 0x56, 0x9a,
0xef, 0xe7, 0xb3, 0x21, 0x8f, 0xac, 0x23, 0x72, 0xcb, 0x2a, 0x31, 0xba, 0x31, 0xbf, 0x7b, 0xcd,
0xf9, 0x6b, 0x77, 0x24, 0x82, 0xc8, 0xea, 0xc8, 0xe8, 0x74, 0x1d, 0xde, 0x50, 0xca, 0x17, 0xe3,
0x71, 0x64, 0x1d, 0xcb, 0x1b, 0xa6, 0x1a, 0x3c, 0x29, 0x9c, 0xba, 0x22, 0xdd, 0x84, 0xd1, 0x26,
0x59, 0x25, 0xbe, 0x8a, 0x52, 0xd0, 0x36, 0x27, 0xf2, 0x55, 0x34, 0x15, 0x66, 0x81, 0x2f, 0x42,
0x2f, 0xe2, 0xd6, 0x03, 0x99, 0x05, 0x29, 0x61, 0x8c, 0xf2, 0x97, 0xca, 0xe0, 0x43, 0x19, 0xa3,
0xae, 0xc3, 0x8a, 0x70, 0xc7, 0x33, 0xcf, 0xa7, 0xbd, 0x1f, 0xd1, 0xf2, 0x54, 0x81, 0x37, 0x18,
0xa6, 0x89, 0x78, 0x4c, 0x89, 0xd0, 0x34, 0xac, 0x07, 0x66, 0x38, 0x75, 0x97, 0xb1, 0x65, 0x75,
0xcb, 0xbd, 0x66, 0x9f, 0x9d, 0x53, 0x55, 0x9f, 0x53, 0xf9, 0xbe, 0x9d, 0xba, 0x4b, 0x1e, 0x39,
0xd2, 0x01, 0x63, 0x8c, 0x78, 0x3c, 0x9f, 0x0a, 0xeb, 0x23, 0x19, 0xa3, 0x94, 0xd8, 0x33, 0xa8,
0x0d, 0xb9, 0xc0, 0xf2, 0xb4, 0x4e, 0xbb, 0xa5, 0x5e, 0xb3, 0x7f, 0xa2, 0xef, 0x31, 0x90, 0x26,
0x27, 0xf1, 0xc1, 0x02, 0xf4, 0xfc, 0x31, 0x5f, 0x58, 0x1f, 0xd3, 0x5d, 0xa4, 0x80, 0x05, 0x18,
0x46, 0xfc, 0x8a, 0x0c, 0x67, 0x64, 0x58, 0xc9, 0x98, 0xe4, 0x71, 0xe4, 0xdd, 0x71, 0x7f, 0xb0,
0xbc, 0xc0, 0x7b, 0x59, 0x9f, 0x74, 0x4b, 0xbd, 0xba, 0x93, 0x55, 0xda, 0xaf, 0xa0, 0xa9, 0x05,
0x8d, 0xf5, 0xe3, 0x62, 0x42, 0x64, 0xcf, 0xd1, 0x6f, 0xf6, 0x19, 0x94, 0x87, 0x5c, 0x50, 0xbb,
0x35, 0xfb, 0x47, 0xb9, 0x28, 0x1d, 0xb4, 0xd9, 0xbf, 0x97, 0xa0, 0x9e, 0x68, 0xf0, 0xc6, 0xb2,
0xd4, 0x93, 0xce, 0x95, 0x52, 0x2e, 0xa7, 0xc6, 0x5a, 0x4e, 0x4f, 0xa1, 0xee, 0xc5, 0xef, 0x3d,
0xdf, 0xe7, 0x11, 0x35, 0x70, 0xdd, 0x59, 0xc9, 0xb8, 0x67, 0x18, 0x05, 0x37, 0x9e, 0x50, 0xcd,
0xab, 0xa4, 0x34, 0x2d, 0xe6, 0xa6, 0xb4, 0x54, 0xb3, 0x69, 0xb1, 0x7f, 0x2b, 0x41, 0x4b, 0x4f,
0x31, 0xe6, 0x49, 0x04, 0xc2, 0x9d, 0xaa, 0xf6, 0x8b, 0x29, 0xea, 0xb6, 0x93, 0x55, 0xb2, 0x1e,
0x1c, 0x25, 0x8a, 0xec, 0x0d, 0xf2, 0x6a, 0xf6, 0x0c, 0x4c, 0x4f, 0xf0, 0x19, 0x82, 0x10, 0x96,
0xc6, 0xe3, 0x82, 0x67, 0xbd, 0x12, 0x7c, 0xe6, 0x48, 0x2f, 0xfb, 0x16, 0x3a, 0x79, 0xd3, 0xbf,
0xce, 0xe0, 0x19, 0x34, 0x50, 0x92, 0xd7, 0x28, 0x93, 0x39, 0x55, 0xd8, 0x7f, 0x18, 0x70, 0xb4,
0xc2, 0xd7, 0x0b, 0x42, 0x5e, 0x0c, 0x96, 0x60, 0x8e, 0x0e, 0x6a, 0xf6, 0x1f, 0xea, 0xc1, 0xa2,
0xdb, 0x35, 0x1a, 0x2f, 0x0f, 0x1c, 0xe9, 0xc5, 0x3e, 0xd7, 0x4b, 0xe1, 0x24, 0xef, 0x8c, 0xf0,
0x74, 0x40, 0x05, 0xc1, 0x9e, 0x43, 0x2d, 0x16, 0x41, 0x38, 0xe0, 0x82, 0xe2, 0xc8, 0xa5, 0x41,
0xee, 0x4c, 0xe6, 0xcb, 0x03, 0x27, 0xf1, 0xc4, 0x60, 0xdc, 0x61, 0x10, 0xc9, 0x37, 0x2e, 0x08,
0xe6, 0x02, 0x8d, 0x18, 0x0c, 0x79, 0xe1, 0x19, 0xe1, 0x7c, 0x38, 0xf5, 0x14, 0x62, 0x17, 0x9c,
0xf1, 0x56, 0x9a, 0xf1, 0x0c, 0xe5, 0x89, 0x67, 0x7c, 0x98, 0xf3, 0x68, 0x49, 0x75, 0x51, 0x70,
0xc6, 0x8f, 0x68, 0xc4, 0x33, 0xc8, 0x8b, 0x1d, 0x82, 0x21, 0x24, 0xb6, 0x9b, 0x8e, 0x21, 0x96,
0x83, 0x1a, 0x98, 0x77, 0xee, 0x74, 0xce, 0xed, 0x5f, 0x2b, 0x70, 0x98, 0xcd, 0x52, 0xca, 0x11,
0x25, 0x9d, 0x23, 0x34, 0x1e, 0x30, 0xb2, 0x3c, 0xa0, 0xb3, 0x47, 0x39, 0xc7, 0x1e, 0x59, 0x8e,
0xa8, 0xec, 0xe4, 0x08, 0x73, 0x2b, 0x47, 0x54, 0x0b, 0x39, 0xa2, 0xb6, 0x95, 0x23, 0x1a, 0xfb,
0x71, 0x04, 0xec, 0xc3, 0x11, 0xcd, 0x9d, 0x1c, 0xd1, 0xda, 0xcd, 0x11, 0xed, 0x3d, 0x38, 0xe2,
0x70, 0x1b, 0x47, 0x1c, 0x6d, 0xe5, 0x88, 0x4e, 0x01, 0x47, 0xac, 0x41, 0xe8, 0x71, 0x11, 0x84,
0xfe, 0xac, 0x00, 0x45, 0xb5, 0xc0, 0xb6, 0xc9, 0x45, 0x75, 0xb5, 0x91, 0xe9, 0x6a, 0x8b, 0x98,
0x00, 0x73, 0xa7, 0x7a, 0x36, 0x11, 0xed, 0x2f, 0x15, 0x36, 0x68, 0xfd, 0xb2, 0x69, 0x77, 0xbb,
0xa7, 0xd5, 0x23, 0x35, 0xca, 0x46, 0xcf, 0x81, 0xb6, 0xab, 0xea, 0x90, 0x6d, 0x31, 0x2b, 0xf6,
0x32, 0x74, 0xf6, 0xb2, 0xbf, 0xd5, 0x4e, 0xa3, 0x96, 0xd9, 0xb8, 0x83, 0xec, 0x20, 0x89, 0x55,
0x86, 0x58, 0x22, 0x55, 0x30, 0x5a, 0xb1, 0x5a, 0x7f, 0xe5, 0xdf, 0x04, 0x1b, 0x97, 0x27, 0x84,
0x64, 0x68, 0x84, 0x94, 0x8e, 0x80, 0xe5, 0xcc, 0x08, 0xb8, 0x22, 0x83, 0x8a, 0x4e, 0x06, 0x19,
0xa2, 0x37, 0xf3, 0x44, 0xaf, 0x37, 0x61, 0x35, 0xdb, 0x84, 0xf6, 0x0b, 0x60, 0x0e, 0x0f, 0xa7,
0xb9, 0x48, 0x9f, 0x40, 0x05, 0x63, 0x53, 0x88, 0xd9, 0xc9, 0x03, 0x88, 0x43, 0x56, 0xfb, 0x2b,
0x38, 0x59, 0xbf, 0x65, 0x8c, 0x6f, 0x2d, 0x2f, 0x86, 0x34, 0x53, 0x46, 0x34, 0x50, 0xa2, 0xfd,
0x1d, 0x9c, 0xac, 0x1f, 0x16, 0xb3, 0xa7, 0x60, 0xa2, 0x87, 0x74, 0x2f, 0x3a, 0x4e, 0x9a, 0xed,
0x5f, 0x0c, 0xe8, 0x38, 0x7c, 0xc4, 0xbd, 0x50, 0xec, 0x9e, 0xa1, 0x33, 0xb3, 0xb2, 0x91, 0x9f,
0x95, 0x37, 0xa5, 0x37, 0x79, 0x8a, 0x8a, 0xf6, 0x14, 0x3b, 0x93, 0xbb, 0x89, 0x87, 0xd3, 0xc7,
0xaa, 0xe5, 0x98, 0x7b, 0xf5, 0x1c, 0xf5, 0x1c, 0x26, 0xda, 0xd0, 0x92, 0x91, 0xbc, 0xbc, 0x75,
0xfd, 0x89, 0x44, 0xa8, 0xba, 0x93, 0xd1, 0xd9, 0x7f, 0x97, 0x15, 0xc7, 0x5d, 0xcb, 0xe1, 0xdd,
0xe1, 0x1f, 0xee, 0x8d, 0xcb, 0x99, 0x6f, 0x85, 0x72, 0xfe, 0x5b, 0xe1, 0xff, 0x47, 0xe6, 0xfa,
0x7e, 0xc8, 0xdc, 0xd8, 0x07, 0x99, 0x61, 0x27, 0x32, 0x37, 0x77, 0x23, 0x73, 0x6b, 0x0f, 0x64,
0x6e, 0xaf, 0x23, 0xb3, 0x05, 0xb5, 0x9b, 0x0c, 0x6e, 0x27, 0xe2, 0x7f, 0xc1, 0x6c, 0xfb, 0x1a,
0xda, 0xc9, 0x3c, 0x25, 0x9f, 0xff, 0xbe, 0x70, 0xcc, 0xa0, 0x82, 0xf8, 0xab, 0xb0, 0x98, 0x7e,
0xdb, 0x5f, 0xa8, 0xaa, 0x22, 0x60, 0xdd, 0xba, 0xad, 0xfd, 0x12, 0x8e, 0xe5, 0x40, 0x2d, 0x91,
0x75, 0x67, 0x0c, 0x85, 0xf0, 0xfa, 0x5e, 0x9b, 0xd4, 0x1c, 0x3e, 0x0a, 0xa2, 0xf1, 0xbd, 0xbf,
0x87, 0x57, 0xfd, 0x55, 0xd6, 0xfa, 0xcb, 0x7e, 0x05, 0x0f, 0x34, 0x80, 0x19, 0xf3, 0xc5, 0x8e,
0xdd, 0x57, 0xbb, 0x18, 0xd9, 0x5d, 0x3a, 0xb9, 0xf0, 0x62, 0xf6, 0x35, 0xd4, 0x22, 0xf9, 0x53,
0x41, 0xd5, 0xa3, 0x35, 0xa8, 0x22, 0xb3, 0x93, 0xb8, 0xf5, 0xff, 0x2c, 0x81, 0x49, 0xff, 0x0c,
0xb0, 0x6f, 0x00, 0xd2, 0xa6, 0x65, 0xc5, 0x43, 0xe8, 0x69, 0xf2, 0xe5, 0xf1, 0x93, 0x1f, 0x7b,
0x13, 0xff, 0xdd, 0xc2, 0x3e, 0x60, 0x7d, 0xed, 0xab, 0xa3, 0x68, 0x1a, 0x2d, 0x5a, 0x93, 0x9c,
0x25, 0x39, 0xb2, 0x78, 0xc6, 0x2c, 0x5a, 0xf7, 0x42, 0xb1, 0x7c, 0xc2, 0x98, 0x9b, 0x86, 0xcd,
0x82, 0xb5, 0xc3, 0x2a, 0xfd, 0xc1, 0xf1, 0xfc, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x42, 0x2c,
0x06, 0x12, 0x09, 0x11, 0x00, 0x00,
// 1284 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcd, 0x6e, 0xdb, 0x46,
0x10, 0xb6, 0x48, 0x51, 0x3f, 0x23, 0xd9, 0x96, 0xd7, 0x8e, 0xc3, 0xba, 0x6e, 0xa1, 0x12, 0x41,
0xaa, 0x16, 0x88, 0x5b, 0x28, 0x40, 0x51, 0x04, 0xe8, 0xc1, 0x4a, 0x90, 0xd8, 0x97, 0x36, 0xa5,
0x53, 0xa4, 0x57, 0x4a, 0x5a, 0xcb, 0x04, 0x24, 0x92, 0x21, 0x57, 0x86, 0x74, 0xef, 0xa1, 0x97,
0xbe, 0x47, 0x9f, 0xa5, 0x2f, 0xd2, 0x7b, 0x5f, 0xa0, 0xc5, 0xec, 0x2c, 0xa5, 0x25, 0x45, 0xfd,
0xb8, 0x3d, 0xf4, 0xa6, 0xf9, 0xd9, 0x9d, 0xd9, 0xd9, 0x9d, 0xef, 0x1b, 0x0a, 0x1a, 0xa3, 0x29,
0x4f, 0x92, 0x8b, 0x28, 0x0e, 0x45, 0xc8, 0x2c, 0x31, 0x8f, 0x78, 0x72, 0x76, 0x24, 0x62, 0x2f,
0x48, 0xbc, 0x81, 0xf0, 0xc3, 0x80, 0x2c, 0xce, 0x5f, 0x15, 0xa8, 0xbf, 0x41, 0xcf, 0x37, 0xde,
0x84, 0xb3, 0x53, 0xa8, 0x8c, 0xbc, 0x09, 0xbf, 0x1e, 0xda, 0xa5, 0x76, 0xa9, 0x53, 0x77, 0x95,
0x84, 0xfa, 0x44, 0x78, 0x62, 0x9a, 0xd8, 0x46, 0xbb, 0xd4, 0xb1, 0x5c, 0x25, 0xb1, 0x73, 0xa8,
0x47, 0x31, 0xbf, 0x21, 0x93, 0x29, 0x4d, 0x4b, 0x05, 0x5a, 0x13, 0xe1, 0xc5, 0xe2, 0x9d, 0x3f,
0xe1, 0x76, 0xb9, 0x5d, 0xea, 0x98, 0xee, 0x52, 0xc1, 0xda, 0xd0, 0x20, 0x61, 0x76, 0xe5, 0x25,
0x77, 0xb6, 0x25, 0x03, 0xea, 0x2a, 0x76, 0x02, 0x96, 0x08, 0x23, 0x7f, 0x60, 0x57, 0xa4, 0x8d,
0x04, 0x76, 0x06, 0xb5, 0x81, 0x27, 0xf8, 0x28, 0x8c, 0xe7, 0x76, 0x55, 0x1a, 0x16, 0x32, 0xb3,
0xa1, 0x1a, 0x46, 0x78, 0xba, 0xc4, 0xae, 0x49, 0x53, 0x2a, 0xb2, 0x4f, 0x01, 0x26, 0xde, 0xac,
0xc7, 0x29, 0x99, 0xba, 0x34, 0x6a, 0x1a, 0xe6, 0x40, 0x93, 0xa4, 0x2b, 0xee, 0x8f, 0xee, 0x84,
0x0d, 0x32, 0xdd, 0x8c, 0x4e, 0x56, 0x61, 0x3e, 0xe9, 0x87, 0x63, 0xbb, 0x41, 0xd5, 0x21, 0x89,
0x31, 0x28, 0xf3, 0x19, 0x1f, 0xd8, 0x4d, 0xa9, 0x95, 0xbf, 0xd9, 0x53, 0x38, 0xa0, 0xb5, 0xc9,
0x0f, 0x01, 0x97, 0x31, 0x0f, 0xe4, 0x8e, 0x39, 0x2d, 0x7b, 0x02, 0xfb, 0x4a, 0xf3, 0xfd, 0x74,
0xd2, 0xe7, 0xb1, 0x7d, 0x28, 0xdd, 0xb2, 0x4a, 0xcc, 0x6e, 0xc8, 0xef, 0x5f, 0x73, 0xfe, 0xda,
0x1b, 0x88, 0x30, 0xb6, 0x5b, 0x94, 0x9d, 0xae, 0xc3, 0x13, 0x92, 0x7c, 0x39, 0x1c, 0xc6, 0xf6,
0x11, 0x9d, 0x70, 0xa9, 0xc1, 0x48, 0xd1, 0xd8, 0x13, 0xcb, 0x4d, 0x18, 0x45, 0xca, 0x28, 0xf1,
0x56, 0x94, 0x42, 0x6e, 0x73, 0x4c, 0xb7, 0xa2, 0xa9, 0xb0, 0x0a, 0x7c, 0x16, 0xf9, 0x31, 0xb7,
0x4f, 0xa8, 0x0a, 0x24, 0x61, 0x8e, 0xf4, 0x4b, 0x55, 0xf0, 0x11, 0xe5, 0xa8, 0xeb, 0xf0, 0x45,
0x78, 0xc3, 0x89, 0x1f, 0xc8, 0xbd, 0x4f, 0xe5, 0xf2, 0xa5, 0x02, 0x4f, 0xd0, 0x5f, 0x16, 0xe2,
0xb1, 0x5c, 0xaf, 0x69, 0x58, 0x07, 0xac, 0x68, 0xec, 0xcd, 0x13, 0xdb, 0x6e, 0x9b, 0x9d, 0x46,
0x97, 0x5d, 0xc8, 0x57, 0x7d, 0x21, 0x9f, 0xef, 0xdb, 0xb1, 0x37, 0xe7, 0xb1, 0x4b, 0x0e, 0x98,
0x63, 0xcc, 0x93, 0xe9, 0x58, 0xd8, 0x1f, 0x51, 0x8e, 0x24, 0xb1, 0x67, 0x50, 0xed, 0x73, 0x81,
0xcf, 0xd3, 0x3e, 0x6b, 0x97, 0x3a, 0x8d, 0xee, 0xb1, 0xbe, 0x47, 0x8f, 0x4c, 0x6e, 0xea, 0x83,
0x0f, 0xd0, 0x0f, 0x86, 0x7c, 0x66, 0x7f, 0x2c, 0x73, 0x21, 0x01, 0x1f, 0x60, 0x14, 0xf3, 0x6b,
0x69, 0x38, 0x97, 0x86, 0x85, 0x8c, 0x45, 0x1e, 0xc6, 0xfe, 0x3d, 0x0f, 0x7a, 0xf3, 0x4b, 0x3c,
0x97, 0xfd, 0x49, 0xbb, 0xd4, 0xa9, 0xb9, 0x59, 0xa5, 0xf3, 0x0a, 0x1a, 0x5a, 0xd2, 0xf8, 0x7e,
0x3c, 0x2c, 0x08, 0xf5, 0x9c, 0xfc, 0xcd, 0x3e, 0x03, 0xb3, 0xcf, 0x85, 0x6c, 0xb7, 0x46, 0xf7,
0x30, 0x97, 0xa5, 0x8b, 0x36, 0xe7, 0xf7, 0x12, 0xd4, 0x52, 0x0d, 0x9e, 0x98, 0x9e, 0x7a, 0xda,
0xb9, 0x24, 0xe5, 0x6a, 0x6a, 0xac, 0xd4, 0xf4, 0x0c, 0x6a, 0x7e, 0xf2, 0xde, 0x0f, 0x02, 0x1e,
0xcb, 0x06, 0xae, 0xb9, 0x0b, 0x19, 0xf7, 0x8c, 0xe2, 0xf0, 0xd6, 0x17, 0xaa, 0x79, 0x95, 0xb4,
0x2c, 0x8b, 0xb5, 0xae, 0x2c, 0x95, 0x6c, 0x59, 0x9c, 0xdf, 0x4a, 0xd0, 0xd4, 0x4b, 0x8c, 0x75,
0x12, 0xa1, 0xf0, 0xc6, 0xaa, 0xfd, 0x12, 0x99, 0xb5, 0xe9, 0x66, 0x95, 0xac, 0x03, 0x87, 0xa9,
0x22, 0x7b, 0x82, 0xbc, 0x9a, 0x3d, 0x03, 0xcb, 0x17, 0x7c, 0x82, 0x20, 0x84, 0x4f, 0xe3, 0x71,
0xc1, 0xb5, 0x5e, 0x0b, 0x3e, 0x71, 0xc9, 0xcb, 0xb9, 0x83, 0x56, 0xde, 0xf4, 0xaf, 0x2b, 0x78,
0x0e, 0x75, 0x94, 0xe8, 0x18, 0x26, 0xa1, 0xdc, 0x42, 0xe1, 0xfc, 0x61, 0xc0, 0xe1, 0x02, 0x5f,
0x2f, 0x25, 0xf2, 0x62, 0xb2, 0x12, 0xe6, 0x64, 0xa0, 0x46, 0xf7, 0x91, 0x9e, 0x2c, 0xba, 0xdd,
0xa0, 0xf1, 0x6a, 0xcf, 0x25, 0x2f, 0xf6, 0xb9, 0xfe, 0x14, 0x8e, 0xf3, 0xce, 0x08, 0x4f, 0x7b,
0xf2, 0x41, 0xb0, 0xe7, 0x50, 0x4d, 0x44, 0x18, 0xf5, 0xb8, 0x90, 0x79, 0xe4, 0xca, 0x40, 0x3b,
0x4b, 0xf3, 0xd5, 0x9e, 0x9b, 0x7a, 0x62, 0x32, 0x5e, 0x3f, 0x8c, 0xe9, 0x8e, 0x0b, 0x92, 0xb9,
0x44, 0x23, 0x26, 0x23, 0xbd, 0x30, 0x46, 0x34, 0xed, 0x8f, 0x7d, 0x85, 0xd8, 0x05, 0x31, 0xde,
0x92, 0x19, 0x63, 0x28, 0x4f, 0x8c, 0xf1, 0x61, 0xca, 0xe3, 0xb9, 0x7c, 0x17, 0x05, 0x31, 0x7e,
0x44, 0x23, 0xc6, 0x90, 0x5e, 0xec, 0x00, 0x0c, 0x41, 0xd8, 0x6e, 0xb9, 0x86, 0x98, 0xf7, 0xaa,
0x60, 0xdd, 0x7b, 0xe3, 0x29, 0x77, 0x7e, 0x2d, 0xc3, 0x41, 0xb6, 0x4a, 0x4b, 0x8e, 0x28, 0xe9,
0x1c, 0xa1, 0xf1, 0x80, 0x91, 0xe5, 0x01, 0x9d, 0x3d, 0xcc, 0x1c, 0x7b, 0x64, 0x39, 0xa2, 0xbc,
0x95, 0x23, 0xac, 0x8d, 0x1c, 0x51, 0x29, 0xe4, 0x88, 0xea, 0x46, 0x8e, 0xa8, 0xef, 0xc6, 0x11,
0xb0, 0x0b, 0x47, 0x34, 0xb6, 0x72, 0x44, 0x73, 0x3b, 0x47, 0xec, 0xef, 0xc0, 0x11, 0x07, 0x9b,
0x38, 0xe2, 0x70, 0x23, 0x47, 0xb4, 0x0a, 0x38, 0x62, 0x05, 0x42, 0x8f, 0x8a, 0x20, 0xf4, 0x67,
0x05, 0x28, 0xaa, 0x05, 0x36, 0x4d, 0x2e, 0xaa, 0xab, 0x8d, 0x4c, 0x57, 0xdb, 0x92, 0x09, 0xb0,
0x76, 0xaa, 0x67, 0x53, 0xd1, 0xf9, 0x52, 0x61, 0x83, 0xd6, 0x2f, 0xeb, 0x76, 0x77, 0x3a, 0xda,
0x7b, 0x94, 0x8d, 0xb2, 0xd6, 0xb3, 0xa7, 0xed, 0xaa, 0x3a, 0x64, 0x53, 0xce, 0x8a, 0xbd, 0x0c,
0x9d, 0xbd, 0x9c, 0x6f, 0xb5, 0x68, 0xb2, 0x65, 0xd6, 0xee, 0x40, 0x1d, 0x84, 0xab, 0xf7, 0xb1,
0x83, 0x90, 0x2a, 0x98, 0x5c, 0xb1, 0x58, 0x7f, 0x1d, 0xdc, 0x86, 0x6b, 0x97, 0xa7, 0x84, 0x64,
0x68, 0x84, 0xb4, 0x1c, 0x01, 0xcd, 0xcc, 0x08, 0xb8, 0x20, 0x83, 0xb2, 0x4e, 0x06, 0x19, 0xa2,
0xb7, 0xf2, 0x44, 0xaf, 0x37, 0x61, 0x25, 0xdb, 0x84, 0xce, 0x0b, 0x60, 0x2e, 0x8f, 0xc6, 0xb9,
0x4c, 0x9f, 0x40, 0x19, 0x73, 0x53, 0x88, 0xd9, 0xca, 0x03, 0x88, 0x2b, 0xad, 0xce, 0x57, 0x70,
0xbc, 0x7a, 0xca, 0x04, 0xef, 0x9a, 0x0e, 0x86, 0x34, 0x63, 0x22, 0x1a, 0x28, 0xd1, 0xf9, 0x0e,
0x8e, 0x57, 0x83, 0x25, 0xec, 0x29, 0x58, 0xe8, 0x41, 0xee, 0x45, 0xe1, 0xc8, 0xec, 0xfc, 0x62,
0x40, 0xcb, 0xe5, 0x03, 0xee, 0x47, 0x62, 0xfb, 0x0c, 0x9d, 0x99, 0x95, 0x8d, 0xfc, 0xac, 0xbc,
0xae, 0xbc, 0xe9, 0x55, 0x94, 0xb5, 0xab, 0xd8, 0x5a, 0xdc, 0x75, 0x3c, 0xbc, 0xbc, 0xac, 0x6a,
0x8e, 0xb9, 0x17, 0xd7, 0x51, 0xcb, 0x61, 0xa2, 0x03, 0x4d, 0xca, 0xe4, 0xe5, 0x9d, 0x17, 0x8c,
0x08, 0xa1, 0x6a, 0x6e, 0x46, 0xe7, 0xfc, 0x6d, 0x2a, 0x8e, 0xbb, 0xa1, 0xe1, 0xdd, 0xe5, 0x1f,
0x1e, 0x8c, 0xcb, 0x99, 0x6f, 0x05, 0x33, 0xff, 0xad, 0xf0, 0xff, 0x23, 0x73, 0x6d, 0x37, 0x64,
0xae, 0xef, 0x82, 0xcc, 0xb0, 0x15, 0x99, 0x1b, 0xdb, 0x91, 0xb9, 0xb9, 0x03, 0x32, 0xef, 0xaf,
0x22, 0xb3, 0x0d, 0xd5, 0xdb, 0x0c, 0x6e, 0xa7, 0xe2, 0x7f, 0xc1, 0x6c, 0xe7, 0x06, 0xf6, 0xd3,
0x79, 0x8a, 0xae, 0xff, 0xa1, 0x70, 0xcc, 0xa0, 0x8c, 0xf8, 0xab, 0x6e, 0x5e, 0xfe, 0x76, 0xbe,
0x50, 0xaf, 0x4a, 0x02, 0xeb, 0xc6, 0x6d, 0x9d, 0x97, 0x70, 0x44, 0x03, 0x35, 0x21, 0xeb, 0xd6,
0x1c, 0x0a, 0xe1, 0xf5, 0xbd, 0x36, 0xa9, 0xb9, 0x7c, 0x10, 0xc6, 0xc3, 0x07, 0x7f, 0x0f, 0x2f,
0xfa, 0xcb, 0xd4, 0xfa, 0xcb, 0x79, 0x05, 0x27, 0x1a, 0xc0, 0x0c, 0xf9, 0x6c, 0xcb, 0xee, 0x8b,
0x5d, 0x8c, 0xec, 0x2e, 0xad, 0x5c, 0x7a, 0x09, 0xfb, 0x1a, 0xaa, 0x31, 0xfd, 0x54, 0x50, 0x75,
0xba, 0x02, 0x55, 0xd2, 0xec, 0xa6, 0x6e, 0xdd, 0x3f, 0x4b, 0x60, 0xc9, 0x7f, 0x06, 0xd8, 0x37,
0x00, 0xcb, 0xa6, 0x65, 0xc5, 0x43, 0xe8, 0x59, 0xfa, 0xe5, 0xf1, 0x53, 0x90, 0xf8, 0xa3, 0xe0,
0xdd, 0xcc, 0xd9, 0x63, 0x5d, 0xed, 0xab, 0xa3, 0x68, 0x1a, 0x2d, 0x5a, 0x93, 0xc6, 0x22, 0x8e,
0x2c, 0x9e, 0x31, 0x8b, 0xd6, 0xbd, 0x50, 0x2c, 0x9f, 0x32, 0xe6, 0xba, 0x61, 0xb3, 0x60, 0x6d,
0xbf, 0x22, 0xff, 0xe0, 0x78, 0xfe, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x27, 0xb4, 0x3c, 0x3d,
0x09, 0x11, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
......
......@@ -12,8 +12,8 @@ type GuessGameStartTx struct {
MaxBetHeight int64 `json:"maxHeight,omitempty"`
Symbol string `json:"symbol,omitempty"`
Exec string `json:"exec,omitempty"`
MaxBets uint32 `json:"maxBets,omitempty"`
MaxBetsNumber uint32 `json:"maxBetsNumber,omitempty"`
MaxBets int64 `json:"maxBets,omitempty"`
MaxBetsNumber int64 `json:"maxBetsNumber,omitempty"`
DevFeeFactor int64 `json:"devFeeFactor,omitempty"`
DevFeeAddr string `json:"devFeeAddr,omitempty"`
PlatFeeFactor int64 `json:"platFeeFactor,omitempty"`
......@@ -26,7 +26,7 @@ type GuessGameStartTx struct {
type GuessGameBetTx struct {
GameId string `json:"gameId,omitempty"`
Option string `json:"option,omitempty"`
BetsNum uint32 `json:"betsNum,omitempty"`
BetsNum int64 `json:"betsNum,omitempty"`
Fee int64 `json:"fee,omitempty"`
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment