Commit a6754637 authored by vipwzw's avatar vipwzw

auto ci

parent 5c0ea3b1
...@@ -5,12 +5,13 @@ ...@@ -5,12 +5,13 @@
package commands package commands
import ( import (
"strings"
jsonrpc "github.com/33cn/chain33/rpc/jsonclient" jsonrpc "github.com/33cn/chain33/rpc/jsonclient"
rpctypes "github.com/33cn/chain33/rpc/types" rpctypes "github.com/33cn/chain33/rpc/types"
"github.com/33cn/chain33/types" "github.com/33cn/chain33/types"
pkt "github.com/33cn/plugin/plugin/dapp/guess/types" pkt "github.com/33cn/plugin/plugin/dapp/guess/types"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"strings"
) )
func GuessCmd() *cobra.Command { func GuessCmd() *cobra.Command {
...@@ -88,18 +89,18 @@ func guessStart(cmd *cobra.Command, args []string) { ...@@ -88,18 +89,18 @@ func guessStart(cmd *cobra.Command, args []string) {
fee, _ := cmd.Flags().GetFloat64("fee") fee, _ := cmd.Flags().GetFloat64("fee")
params := &pkt.GuessStartTxReq{ params := &pkt.GuessStartTxReq{
Topic: topic, Topic: topic,
Options: options, Options: options,
Category: category, Category: category,
MaxBetHeight: maxBetHeight, MaxBetHeight: maxBetHeight,
MaxBetsOneTime:maxBetsOneTime * 1e8, MaxBetsOneTime: maxBetsOneTime * 1e8,
MaxBetsNumber: maxBetsNumber * 1e8, MaxBetsNumber: maxBetsNumber * 1e8,
DevFeeFactor: devFeeFactor, DevFeeFactor: devFeeFactor,
DevFeeAddr: devFeeAddr, DevFeeAddr: devFeeAddr,
PlatFeeFactor: platFeeFactor, PlatFeeFactor: platFeeFactor,
PlatFeeAddr: platFeeAddr, PlatFeeAddr: platFeeAddr,
ExpireHeight: expireHeight, ExpireHeight: expireHeight,
Fee: int64(fee * float64(1e8)), Fee: int64(fee * float64(1e8)),
} }
var res string var res string
...@@ -137,8 +138,8 @@ func guessBet(cmd *cobra.Command, args []string) { ...@@ -137,8 +138,8 @@ func guessBet(cmd *cobra.Command, args []string) {
params := &pkt.GuessBetTxReq{ params := &pkt.GuessBetTxReq{
GameId: gameId, GameId: gameId,
Option: option, Option: option,
Bets: betsNumber, Bets: betsNumber,
Fee: int64(fee * float64(1e8)), Fee: int64(fee * float64(1e8)),
} }
var res string var res string
...@@ -169,7 +170,7 @@ func guessStopBet(cmd *cobra.Command, args []string) { ...@@ -169,7 +170,7 @@ func guessStopBet(cmd *cobra.Command, args []string) {
params := &pkt.GuessStopBetTxReq{ params := &pkt.GuessStopBetTxReq{
GameId: gameId, GameId: gameId,
Fee: int64(fee * float64(1e8)), Fee: int64(fee * float64(1e8)),
} }
var res string var res string
...@@ -177,7 +178,6 @@ func guessStopBet(cmd *cobra.Command, args []string) { ...@@ -177,7 +178,6 @@ func guessStopBet(cmd *cobra.Command, args []string) {
ctx.RunWithoutMarshal() ctx.RunWithoutMarshal()
} }
func GuessAbortRawTxCmd() *cobra.Command { func GuessAbortRawTxCmd() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "abort", Use: "abort",
...@@ -200,7 +200,7 @@ func guessAbort(cmd *cobra.Command, args []string) { ...@@ -200,7 +200,7 @@ func guessAbort(cmd *cobra.Command, args []string) {
fee, _ := cmd.Flags().GetFloat64("fee") fee, _ := cmd.Flags().GetFloat64("fee")
params := &pkt.GuessAbortTxReq{ params := &pkt.GuessAbortTxReq{
GameId: gameId, GameId: gameId,
Fee: int64(fee * float64(1e8)), Fee: int64(fee * float64(1e8)),
} }
var res string var res string
...@@ -237,7 +237,7 @@ func guessPublish(cmd *cobra.Command, args []string) { ...@@ -237,7 +237,7 @@ func guessPublish(cmd *cobra.Command, args []string) {
params := &pkt.GuessPublishTxReq{ params := &pkt.GuessPublishTxReq{
GameId: gameId, GameId: gameId,
Result: result, Result: result,
Fee: int64(fee * float64(1e8)), Fee: int64(fee * float64(1e8)),
} }
var res string var res string
...@@ -245,7 +245,6 @@ func guessPublish(cmd *cobra.Command, args []string) { ...@@ -245,7 +245,6 @@ func guessPublish(cmd *cobra.Command, args []string) {
ctx.RunWithoutMarshal() ctx.RunWithoutMarshal()
} }
func GuessQueryRawTxCmd() *cobra.Command { func GuessQueryRawTxCmd() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "query", Use: "query",
...@@ -290,7 +289,7 @@ func guessQuery(cmd *cobra.Command, args []string) { ...@@ -290,7 +289,7 @@ func guessQuery(cmd *cobra.Command, args []string) {
//6:QueryGameByAddrStatus, //6:QueryGameByAddrStatus,
//7:QueryGameByAdminStatus, //7:QueryGameByAdminStatus,
//8:QueryGameByCategoryStatus, //8:QueryGameByCategoryStatus,
switch ty{ switch ty {
case 1: case 1:
gameIds := strings.Split(gameIDs, ";") gameIds := strings.Split(gameIDs, ";")
req := &pkt.QueryGuessGameInfos{ req := &pkt.QueryGuessGameInfos{
...@@ -314,7 +313,7 @@ func guessQuery(cmd *cobra.Command, args []string) { ...@@ -314,7 +313,7 @@ func guessQuery(cmd *cobra.Command, args []string) {
case 3: case 3:
req := &pkt.QueryGuessGameInfo{ req := &pkt.QueryGuessGameInfo{
Addr: addr, Addr: addr,
Index: index, Index: index,
} }
params.FuncName = pkt.FuncName_QueryGameByAddr params.FuncName = pkt.FuncName_QueryGameByAddr
...@@ -326,7 +325,7 @@ func guessQuery(cmd *cobra.Command, args []string) { ...@@ -326,7 +325,7 @@ func guessQuery(cmd *cobra.Command, args []string) {
case 4: case 4:
req := &pkt.QueryGuessGameInfo{ req := &pkt.QueryGuessGameInfo{
Status: status, Status: status,
Index: index, Index: index,
} }
params.FuncName = pkt.FuncName_QueryGameByStatus params.FuncName = pkt.FuncName_QueryGameByStatus
params.Payload = types.MustPBToJSON(req) params.Payload = types.MustPBToJSON(req)
...@@ -337,7 +336,7 @@ func guessQuery(cmd *cobra.Command, args []string) { ...@@ -337,7 +336,7 @@ func guessQuery(cmd *cobra.Command, args []string) {
case 5: case 5:
req := &pkt.QueryGuessGameInfo{ req := &pkt.QueryGuessGameInfo{
AdminAddr: adminAddr, AdminAddr: adminAddr,
Index: index, Index: index,
} }
params.FuncName = pkt.FuncName_QueryGameByAdminAddr params.FuncName = pkt.FuncName_QueryGameByAdminAddr
params.Payload = types.MustPBToJSON(req) params.Payload = types.MustPBToJSON(req)
...@@ -347,9 +346,9 @@ func guessQuery(cmd *cobra.Command, args []string) { ...@@ -347,9 +346,9 @@ func guessQuery(cmd *cobra.Command, args []string) {
case 6: case 6:
req := &pkt.QueryGuessGameInfo{ req := &pkt.QueryGuessGameInfo{
Addr: addr, Addr: addr,
Status: status, Status: status,
Index: index, Index: index,
} }
params.FuncName = pkt.FuncName_QueryGameByAddrStatus params.FuncName = pkt.FuncName_QueryGameByAddrStatus
params.Payload = types.MustPBToJSON(req) params.Payload = types.MustPBToJSON(req)
...@@ -357,12 +356,11 @@ func guessQuery(cmd *cobra.Command, args []string) { ...@@ -357,12 +356,11 @@ func guessQuery(cmd *cobra.Command, args []string) {
ctx := jsonrpc.NewRPCCtx(rpcLaddr, "Chain33.Query", params, &res) ctx := jsonrpc.NewRPCCtx(rpcLaddr, "Chain33.Query", params, &res)
ctx.Run() ctx.Run()
case 7: case 7:
req := &pkt.QueryGuessGameInfo{ req := &pkt.QueryGuessGameInfo{
AdminAddr: adminAddr, AdminAddr: adminAddr,
Status: status, Status: status,
Index: index, Index: index,
} }
params.FuncName = pkt.FuncName_QueryGameByAdminStatus params.FuncName = pkt.FuncName_QueryGameByAdminStatus
params.Payload = types.MustPBToJSON(req) params.Payload = types.MustPBToJSON(req)
...@@ -373,8 +371,8 @@ func guessQuery(cmd *cobra.Command, args []string) { ...@@ -373,8 +371,8 @@ func guessQuery(cmd *cobra.Command, args []string) {
case 8: case 8:
req := &pkt.QueryGuessGameInfo{ req := &pkt.QueryGuessGameInfo{
Category: category, Category: category,
Status: status, Status: status,
Index: index, Index: index,
} }
params.FuncName = pkt.FuncName_QueryGameByCategoryStatus params.FuncName = pkt.FuncName_QueryGameByCategoryStatus
params.Payload = types.MustPBToJSON(req) params.Payload = types.MustPBToJSON(req)
......
...@@ -32,4 +32,4 @@ func (c *Guess) Exec_Publish(payload *pkt.GuessGamePublish, tx *types.Transactio ...@@ -32,4 +32,4 @@ func (c *Guess) Exec_Publish(payload *pkt.GuessGamePublish, tx *types.Transactio
func (c *Guess) Exec_Abort(payload *pkt.GuessGameAbort, tx *types.Transaction, index int) (*types.Receipt, error) { func (c *Guess) Exec_Abort(payload *pkt.GuessGameAbort, tx *types.Transaction, index int) (*types.Receipt, error) {
action := NewAction(c, tx, index) action := NewAction(c, tx, index)
return action.GameAbort(payload) return action.GameAbort(payload)
} }
\ No newline at end of file
...@@ -11,10 +11,10 @@ import ( ...@@ -11,10 +11,10 @@ import (
func (g *Guess) rollbackIndex(log *pkt.ReceiptGuessGame) (kvs []*types.KeyValue) { func (g *Guess) rollbackIndex(log *pkt.ReceiptGuessGame) (kvs []*types.KeyValue) {
//新创建游戏,将增加的记录都删除掉 //新创建游戏,将增加的记录都删除掉
if log.Status == pkt.GuessGameStatusStart{ if log.Status == pkt.GuessGameStatusStart {
//kvs = append(kvs, addGuessGameAddrIndexKey(log.Status, log.Addr, log.GameId, log.Index)) //kvs = append(kvs, addGuessGameAddrIndexKey(log.Status, log.Addr, log.GameId, log.Index))
kvs = append(kvs, delGuessGameStatusIndexKey(log.Status, log.Index)) kvs = append(kvs, delGuessGameStatusIndexKey(log.Status, log.Index))
kvs = append(kvs, delGuessGameAdminIndexKey(log.AdminAddr,log.Index)) kvs = append(kvs, delGuessGameAdminIndexKey(log.AdminAddr, log.Index))
kvs = append(kvs, delGuessGameAdminStatusIndexKey(log.Status, log.AdminAddr, log.Index)) kvs = append(kvs, delGuessGameAdminStatusIndexKey(log.Status, log.AdminAddr, log.Index))
kvs = append(kvs, delGuessGameCategoryStatusIndexKey(log.Status, log.Category, log.Index)) kvs = append(kvs, delGuessGameCategoryStatusIndexKey(log.Status, log.Category, log.Index))
} else if log.Status == pkt.GuessGameStatusBet { } else if log.Status == pkt.GuessGameStatusBet {
...@@ -32,7 +32,7 @@ func (g *Guess) rollbackIndex(log *pkt.ReceiptGuessGame) (kvs []*types.KeyValue) ...@@ -32,7 +32,7 @@ func (g *Guess) rollbackIndex(log *pkt.ReceiptGuessGame) (kvs []*types.KeyValue)
kvs = append(kvs, delGuessGameAdminStatusIndexKey(log.Status, log.AdminAddr, log.Index)) kvs = append(kvs, delGuessGameAdminStatusIndexKey(log.Status, log.AdminAddr, log.Index))
kvs = append(kvs, delGuessGameCategoryStatusIndexKey(log.Status, log.Category, log.Index)) kvs = append(kvs, delGuessGameCategoryStatusIndexKey(log.Status, log.Category, log.Index))
} }
}else if log.StatusChange { } else if log.StatusChange {
//其他状态时的状态发生变化的情况,要将老状态对应的记录恢复,同时删除新加的状态记录;对于每个地址的下注记录也需要遍历处理。 //其他状态时的状态发生变化的情况,要将老状态对应的记录恢复,同时删除新加的状态记录;对于每个地址的下注记录也需要遍历处理。
kvs = append(kvs, addGuessGameStatusIndexKey(log.PreStatus, log.GameId, log.PreIndex)) kvs = append(kvs, addGuessGameStatusIndexKey(log.PreStatus, log.GameId, log.PreIndex))
kvs = append(kvs, addGuessGameAdminStatusIndexKey(log.PreStatus, log.AdminAddr, log.GameId, log.PreIndex)) kvs = append(kvs, addGuessGameAdminStatusIndexKey(log.PreStatus, log.AdminAddr, log.GameId, log.PreIndex))
...@@ -90,4 +90,4 @@ func (g *Guess) ExecDelLocal_Publish(payload *pkt.GuessGamePublish, tx *types.Tr ...@@ -90,4 +90,4 @@ func (g *Guess) ExecDelLocal_Publish(payload *pkt.GuessGamePublish, tx *types.Tr
func (g *Guess) ExecDelLocal_Abort(payload *pkt.GuessGameAbort, tx *types.Transaction, receiptData *types.ReceiptData, index int) (*types.LocalDBSet, error) { func (g *Guess) ExecDelLocal_Abort(payload *pkt.GuessGameAbort, tx *types.Transaction, receiptData *types.ReceiptData, index int) (*types.LocalDBSet, error) {
return g.execLocal(receiptData) return g.execLocal(receiptData)
} }
\ No newline at end of file
...@@ -11,7 +11,7 @@ import ( ...@@ -11,7 +11,7 @@ import (
func (g *Guess) updateIndex(log *pkt.ReceiptGuessGame) (kvs []*types.KeyValue) { func (g *Guess) updateIndex(log *pkt.ReceiptGuessGame) (kvs []*types.KeyValue) {
//新创建游戏 //新创建游戏
if log.Status == pkt.GuessGameStatusStart{ if log.Status == pkt.GuessGameStatusStart {
//kvs = append(kvs, addGuessGameAddrIndexKey(log.Status, log.Addr, log.GameId, log.Index)) //kvs = append(kvs, addGuessGameAddrIndexKey(log.Status, log.Addr, log.GameId, log.Index))
kvs = append(kvs, addGuessGameStatusIndexKey(log.Status, log.GameId, log.Index)) kvs = append(kvs, addGuessGameStatusIndexKey(log.Status, log.GameId, log.Index))
kvs = append(kvs, addGuessGameAdminIndexKey(log.Status, log.AdminAddr, log.GameId, log.Index)) kvs = append(kvs, addGuessGameAdminIndexKey(log.Status, log.AdminAddr, log.GameId, log.Index))
...@@ -31,7 +31,7 @@ func (g *Guess) updateIndex(log *pkt.ReceiptGuessGame) (kvs []*types.KeyValue) { ...@@ -31,7 +31,7 @@ func (g *Guess) updateIndex(log *pkt.ReceiptGuessGame) (kvs []*types.KeyValue) {
kvs = append(kvs, delGuessGameAdminStatusIndexKey(log.PreStatus, log.AdminAddr, log.PreIndex)) kvs = append(kvs, delGuessGameAdminStatusIndexKey(log.PreStatus, log.AdminAddr, log.PreIndex))
kvs = append(kvs, delGuessGameCategoryStatusIndexKey(log.PreStatus, log.Category, log.PreIndex)) kvs = append(kvs, delGuessGameCategoryStatusIndexKey(log.PreStatus, log.Category, log.PreIndex))
} }
}else if log.StatusChange { } else if log.StatusChange {
//其他状态时的状态发生变化,要将老状态对应的记录删除,同时加入新状态记录;对于每个地址的下注记录也需要遍历处理。 //其他状态时的状态发生变化,要将老状态对应的记录删除,同时加入新状态记录;对于每个地址的下注记录也需要遍历处理。
kvs = append(kvs, addGuessGameStatusIndexKey(log.Status, log.GameId, log.Index)) kvs = append(kvs, addGuessGameStatusIndexKey(log.Status, log.GameId, log.Index))
kvs = append(kvs, addGuessGameAdminStatusIndexKey(log.Status, log.AdminAddr, log.GameId, log.Index)) kvs = append(kvs, addGuessGameAdminStatusIndexKey(log.Status, log.AdminAddr, log.GameId, log.Index))
...@@ -93,4 +93,4 @@ func (g *Guess) ExecLocal_Publish(payload *pkt.GuessGamePublish, tx *types.Trans ...@@ -93,4 +93,4 @@ func (g *Guess) ExecLocal_Publish(payload *pkt.GuessGamePublish, tx *types.Trans
func (g *Guess) ExecLocal_Abort(payload *pkt.GuessGameAbort, tx *types.Transaction, receiptData *types.ReceiptData, index int) (*types.LocalDBSet, error) { func (g *Guess) ExecLocal_Abort(payload *pkt.GuessGameAbort, tx *types.Transaction, receiptData *types.ReceiptData, index int) (*types.LocalDBSet, error) {
return g.execLocal(receiptData) return g.execLocal(receiptData)
} }
\ No newline at end of file
...@@ -26,7 +26,6 @@ type subConfig struct { ...@@ -26,7 +26,6 @@ type subConfig struct {
var cfg subConfig var cfg subConfig
// Init Guess // Init Guess
func Init(name string, sub []byte) { func Init(name string, sub []byte) {
driverName := GetName() driverName := GetName()
......
...@@ -7,11 +7,12 @@ package executor ...@@ -7,11 +7,12 @@ package executor
import ( import (
"context" "context"
"fmt" "fmt"
"github.com/33cn/chain33/client"
"google.golang.org/grpc"
"strings" "strings"
"time" "time"
"github.com/33cn/chain33/client"
"google.golang.org/grpc"
"github.com/33cn/chain33/account" "github.com/33cn/chain33/account"
"github.com/33cn/chain33/common" "github.com/33cn/chain33/common"
dbm "github.com/33cn/chain33/common/db" dbm "github.com/33cn/chain33/common/db"
...@@ -24,22 +25,22 @@ const ( ...@@ -24,22 +25,22 @@ const (
ListDESC = int32(0) ListDESC = int32(0)
ListASC = int32(1) ListASC = int32(1)
DefaultCount = int32(20) //默认一次取多少条记录 DefaultCount = int32(20) //默认一次取多少条记录
DefaultCategory= "default" DefaultCategory = "default"
MaxBetsOneTime = 10000e8 //一次最多下多少注 MaxBetsOneTime = 10000e8 //一次最多下多少注
MaxBetsNumber = 10000000e8 //一局游戏最多接受多少注 MaxBetsNumber = 10000000e8 //一局游戏最多接受多少注
MaxBetHeight = 1000000 //距离游戏创建区块的最大可下注高度差 MaxBetHeight = 1000000 //距离游戏创建区块的最大可下注高度差
MaxExpireHeight = 1000000 //距离游戏创建区块的最大过期高度差 MaxExpireHeight = 1000000 //距离游戏创建区块的最大过期高度差
MinBetBlockNum = 720 //从创建游戏开始,一局游戏最少的可下注区块数量 MinBetBlockNum = 720 //从创建游戏开始,一局游戏最少的可下注区块数量
MinBetTimeInterval = "2h" //从创建游戏开始,一局游戏最短的可下注时间 MinBetTimeInterval = "2h" //从创建游戏开始,一局游戏最短的可下注时间
MinBetTimeoutNum = 8640 //从游戏结束下注开始,一局游戏最少的超时块数 MinBetTimeoutNum = 8640 //从游戏结束下注开始,一局游戏最少的超时块数
MinBetTimeoutInterval = "24h" //从游戏结束下注开始,一局游戏最短的超时时间 MinBetTimeoutInterval = "24h" //从游戏结束下注开始,一局游戏最短的超时时间
grpcRecSize int = 5 * 30 * 1024 * 1024 grpcRecSize int = 5 * 30 * 1024 * 1024
retryNum = 10 retryNum = 10
) )
type Action struct { type Action struct {
...@@ -76,17 +77,17 @@ func NewAction(guess *Guess, tx *types.Transaction, index int) *Action { ...@@ -76,17 +77,17 @@ func NewAction(guess *Guess, tx *types.Transaction, index int) *Action {
return &Action{ return &Action{
coinsAccount: guess.GetCoinsAccount(), coinsAccount: guess.GetCoinsAccount(),
db: guess.GetStateDB(), db: guess.GetStateDB(),
txhash: hash, txhash: hash,
fromaddr: fromAddr, fromaddr: fromAddr,
blocktime: guess.GetBlockTime(), blocktime: guess.GetBlockTime(),
height: guess.GetHeight(), height: guess.GetHeight(),
execaddr: dapp.ExecAddress(string(tx.Execer)), execaddr: dapp.ExecAddress(string(tx.Execer)),
localDB: guess.GetLocalDB(), localDB: guess.GetLocalDB(),
index: index, index: index,
api: guess.GetAPI(), api: guess.GetAPI(),
conn: conn, conn: conn,
grpcClient: grpcClient, grpcClient: grpcClient,
} }
} }
...@@ -342,21 +343,21 @@ func (action *Action) readGame(id string) (*pkt.GuessGame, error) { ...@@ -342,21 +343,21 @@ func (action *Action) readGame(id string) (*pkt.GuessGame, error) {
// 新建一局游戏 // 新建一局游戏
func (action *Action) newGame(gameId string, start *pkt.GuessGameStart) (*pkt.GuessGame, error) { func (action *Action) newGame(gameId string, start *pkt.GuessGameStart) (*pkt.GuessGame, error) {
game := &pkt.GuessGame{ game := &pkt.GuessGame{
GameId: gameId, GameId: gameId,
Status: pkt.GuessGameActionStart, Status: pkt.GuessGameActionStart,
//StartTime: action.blocktime, //StartTime: action.blocktime,
StartTxHash: gameId, StartTxHash: gameId,
Topic: start.Topic, Topic: start.Topic,
Category: start.Category, Category: start.Category,
Options: start.Options, Options: start.Options,
MaxBetHeight: start.MaxBetHeight, MaxBetHeight: start.MaxBetHeight,
MaxBetsOneTime: start.MaxBetsOneTime, MaxBetsOneTime: start.MaxBetsOneTime,
MaxBetsNumber: start.MaxBetsNumber, MaxBetsNumber: start.MaxBetsNumber,
DevFeeFactor: start.DevFeeFactor, DevFeeFactor: start.DevFeeFactor,
DevFeeAddr: start.DevFeeAddr, DevFeeAddr: start.DevFeeAddr,
PlatFeeFactor: start.PlatFeeFactor, PlatFeeFactor: start.PlatFeeFactor,
PlatFeeAddr: start.PlatFeeAddr, PlatFeeAddr: start.PlatFeeAddr,
ExpireHeight: start.ExpireHeight, ExpireHeight: start.ExpireHeight,
//AdminAddr: action.fromaddr, //AdminAddr: action.fromaddr,
BetsNumber: 0, BetsNumber: 0,
//Index: action.getIndex(game), //Index: action.getIndex(game),
...@@ -366,7 +367,6 @@ func (action *Action) newGame(gameId string, start *pkt.GuessGameStart) (*pkt.Gu ...@@ -366,7 +367,6 @@ func (action *Action) newGame(gameId string, start *pkt.GuessGameStart) (*pkt.Gu
return game, nil return game, nil
} }
func (action *Action) GameStart(start *pkt.GuessGameStart) (*types.Receipt, error) { func (action *Action) GameStart(start *pkt.GuessGameStart) (*types.Receipt, error) {
var logs []*types.ReceiptLog var logs []*types.ReceiptLog
var kv []*types.KeyValue var kv []*types.KeyValue
...@@ -433,8 +433,8 @@ func (action *Action) GameStart(start *pkt.GuessGameStart) (*types.Receipt, erro ...@@ -433,8 +433,8 @@ func (action *Action) GameStart(start *pkt.GuessGameStart) (*types.Receipt, erro
game.PreIndex = 0 game.PreIndex = 0
game.Index = action.getIndex() game.Index = action.getIndex()
game.Status = pkt.GuessGameStatusStart game.Status = pkt.GuessGameStatusStart
game.BetStat = &pkt.GuessBetStat{TotalBetTimes:0, TotalBetsNumber:0} game.BetStat = &pkt.GuessBetStat{TotalBetTimes: 0, TotalBetsNumber: 0}
for i := 0; i < len(options); i++ { for i := 0; i < len(options); i++ {
item := &pkt.GuessBetStatItem{Option: options[i], BetsNumber: 0, BetsTimes: 0} item := &pkt.GuessBetStatItem{Option: options[i], BetsNumber: 0, BetsTimes: 0}
game.BetStat.Items = append(game.BetStat.Items, item) game.BetStat.Items = append(game.BetStat.Items, item)
} }
...@@ -484,7 +484,7 @@ func (action *Action) GameBet(pbBet *pkt.GuessGameBet) (*types.Receipt, error) { ...@@ -484,7 +484,7 @@ func (action *Action) GameBet(pbBet *pkt.GuessGameBet) (*types.Receipt, error) {
//检查竞猜选项是否合法 //检查竞猜选项是否合法
options, legal := GetOptions(game.GetOptions()) options, legal := GetOptions(game.GetOptions())
if !legal || len(options) == 0{ if !legal || len(options) == 0 {
logger.Error("GameBet", "addr", action.fromaddr, "execaddr", action.execaddr, "Game Options illegal", logger.Error("GameBet", "addr", action.fromaddr, "execaddr", action.execaddr, "Game Options illegal",
game.GetOptions()) game.GetOptions())
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
...@@ -501,7 +501,7 @@ func (action *Action) GameBet(pbBet *pkt.GuessGameBet) (*types.Receipt, error) { ...@@ -501,7 +501,7 @@ func (action *Action) GameBet(pbBet *pkt.GuessGameBet) (*types.Receipt, error) {
pbBet.BetsNum = game.GetMaxBetsOneTime() pbBet.BetsNum = game.GetMaxBetsOneTime()
} }
if game.BetsNumber + pbBet.GetBetsNum() > game.MaxBetsNumber { if game.BetsNumber+pbBet.GetBetsNum() > game.MaxBetsNumber {
logger.Error("GameBet", "addr", action.fromaddr, "execaddr", action.execaddr, "MaxBetsNumber over limit", logger.Error("GameBet", "addr", action.fromaddr, "execaddr", action.execaddr, "MaxBetsNumber over limit",
game.MaxBetsNumber, "current Bets Number", game.BetsNumber) game.MaxBetsNumber, "current Bets Number", game.BetsNumber)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
...@@ -550,7 +550,7 @@ func (action *Action) GameStopBet(pbBet *pkt.GuessGameStopBet) (*types.Receipt, ...@@ -550,7 +550,7 @@ func (action *Action) GameStopBet(pbBet *pkt.GuessGameStopBet) (*types.Receipt,
return nil, err return nil, err
} }
if game.Status != pkt.GuessGameStatusStart && game.Status != pkt.GuessGameStatusBet{ if game.Status != pkt.GuessGameStatusStart && game.Status != pkt.GuessGameStatusBet {
logger.Error("GameBet", "addr", action.fromaddr, "execaddr", action.execaddr, "Status error", logger.Error("GameBet", "addr", action.fromaddr, "execaddr", action.execaddr, "Status error",
game.GetStatus()) game.GetStatus())
return nil, pkt.ErrGuessStatus return nil, pkt.ErrGuessStatus
...@@ -577,11 +577,11 @@ func (action *Action) GameStopBet(pbBet *pkt.GuessGameStopBet) (*types.Receipt, ...@@ -577,11 +577,11 @@ func (action *Action) GameStopBet(pbBet *pkt.GuessGameStopBet) (*types.Receipt,
} }
func (action *Action) AddGuessBet(game *pkt.GuessGame, pbBet *pkt.GuessGameBet) { func (action *Action) AddGuessBet(game *pkt.GuessGame, pbBet *pkt.GuessGameBet) {
bet := &pkt.GuessBet{ Option: pbBet.GetOption(), BetsNumber: pbBet.BetsNum, Index: game.Index} bet := &pkt.GuessBet{Option: pbBet.GetOption(), BetsNumber: pbBet.BetsNum, Index: game.Index}
player := &pkt.GuessPlayer{ Addr: action.fromaddr, Bet: bet} player := &pkt.GuessPlayer{Addr: action.fromaddr, Bet: bet}
game.Plays = append(game.Plays, player) game.Plays = append(game.Plays, player)
for i := 0; i < len(game.BetStat.Items); i ++ { for i := 0; i < len(game.BetStat.Items); i++ {
if game.BetStat.Items[i].Option == pbBet.GetOption() { if game.BetStat.Items[i].Option == pbBet.GetOption() {
//针对具体选项更新统计项 //针对具体选项更新统计项
game.BetStat.Items[i].BetsNumber += pbBet.GetBetsNum() game.BetStat.Items[i].BetsNumber += pbBet.GetBetsNum()
...@@ -615,7 +615,7 @@ func (action *Action) GamePublish(publish *pkt.GuessGamePublish) (*types.Receipt ...@@ -615,7 +615,7 @@ func (action *Action) GamePublish(publish *pkt.GuessGamePublish) (*types.Receipt
return nil, pkt.ErrNoPrivilege return nil, pkt.ErrNoPrivilege
} }
if game.Status != pkt.GuessGameStatusStart && game.Status != pkt.GuessGameStatusBet && game.Status != pkt.GuessGameStatusStopBet{ if game.Status != pkt.GuessGameStatusStart && game.Status != pkt.GuessGameStatusBet && game.Status != pkt.GuessGameStatusStopBet {
logger.Error("GamePublish", "addr", action.fromaddr, "execaddr", action.execaddr, "Status error", logger.Error("GamePublish", "addr", action.fromaddr, "execaddr", action.execaddr, "Status error",
game.GetStatus()) game.GetStatus())
return nil, pkt.ErrGuessStatus return nil, pkt.ErrGuessStatus
...@@ -623,7 +623,7 @@ func (action *Action) GamePublish(publish *pkt.GuessGamePublish) (*types.Receipt ...@@ -623,7 +623,7 @@ func (action *Action) GamePublish(publish *pkt.GuessGamePublish) (*types.Receipt
//检查竞猜选项是否合法 //检查竞猜选项是否合法
options, legal := GetOptions(game.GetOptions()) options, legal := GetOptions(game.GetOptions())
if !legal || len(options) == 0{ if !legal || len(options) == 0 {
logger.Error("GamePublish", "addr", action.fromaddr, "execaddr", action.execaddr, "Game Options illegal", logger.Error("GamePublish", "addr", action.fromaddr, "execaddr", action.execaddr, "Game Options illegal",
game.GetOptions()) game.GetOptions())
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
...@@ -731,7 +731,7 @@ func (action *Action) GamePublish(publish *pkt.GuessGamePublish) (*types.Receipt ...@@ -731,7 +731,7 @@ func (action *Action) GamePublish(publish *pkt.GuessGamePublish) (*types.Receipt
} }
var receiptLog *types.ReceiptLog var receiptLog *types.ReceiptLog
action.ChangeAllAddrIndex(game) action.ChangeAllAddrIndex(game)
receiptLog = action.GetReceiptLog(game, true) receiptLog = action.GetReceiptLog(game, true)
logs = append(logs, receiptLog) logs = append(logs, receiptLog)
...@@ -751,7 +751,7 @@ func (action *Action) GameAbort(pbend *pkt.GuessGameAbort) (*types.Receipt, erro ...@@ -751,7 +751,7 @@ func (action *Action) GameAbort(pbend *pkt.GuessGameAbort) (*types.Receipt, erro
return nil, err return nil, err
} }
if game.Status == pkt.GuessGameStatusPublish || game.Status == pkt.GuessGameStatusAbort{ if game.Status == pkt.GuessGameStatusPublish || game.Status == pkt.GuessGameStatusAbort {
logger.Error("GameAbort", "addr", action.fromaddr, "execaddr", action.execaddr, "game status not allow abort", logger.Error("GameAbort", "addr", action.fromaddr, "execaddr", action.execaddr, "game status not allow abort",
game.Status) game.Status)
...@@ -804,11 +804,11 @@ func (action *Action) GameAbort(pbend *pkt.GuessGameAbort) (*types.Receipt, erro ...@@ -804,11 +804,11 @@ func (action *Action) GameAbort(pbend *pkt.GuessGameAbort) (*types.Receipt, erro
return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil
} }
func GetOptions(strOptions string) (options []string, legal bool){ func GetOptions(strOptions string) (options []string, legal bool) {
legal = true legal = true
items := strings.Split(strOptions, ";") items := strings.Split(strOptions, ";")
for i := 0 ; i < len(items); i++ { for i := 0; i < len(items); i++ {
item := strings.Split(items[i],":") item := strings.Split(items[i], ":")
for j := 0; j < len(options); j++ { for j := 0; j < len(options); j++ {
if item[0] == options[j] { if item[0] == options[j] {
legal = false legal = false
...@@ -844,7 +844,7 @@ func (action *Action) ChangeStatus(game *pkt.GuessGame, destStatus int32) { ...@@ -844,7 +844,7 @@ func (action *Action) ChangeStatus(game *pkt.GuessGame, destStatus int32) {
} }
func (action *Action) ChangeAllAddrIndex(game *pkt.GuessGame) { func (action *Action) ChangeAllAddrIndex(game *pkt.GuessGame) {
for i := 0; i < len(game.Plays) ; i++ { for i := 0; i < len(game.Plays); i++ {
player := game.Plays[i] player := game.Plays[i]
player.Bet.PreIndex = player.Bet.Index player.Bet.PreIndex = player.Bet.Index
player.Bet.Index = game.Index player.Bet.Index = game.Index
...@@ -888,7 +888,7 @@ func (action *Action) RefreshStatusByTime(game *pkt.GuessGame) (canBet bool) { ...@@ -888,7 +888,7 @@ func (action *Action) RefreshStatusByTime(game *pkt.GuessGame) (canBet bool) {
} }
canBet = false canBet = false
return canBet return canBet
} }
canBet = true canBet = true
......
...@@ -2,6 +2,7 @@ package executor ...@@ -2,6 +2,7 @@ package executor
import ( import (
"fmt" "fmt"
"github.com/33cn/chain33/types" "github.com/33cn/chain33/types"
pkt "github.com/33cn/plugin/plugin/dapp/guess/types" pkt "github.com/33cn/plugin/plugin/dapp/guess/types"
) )
...@@ -189,4 +190,3 @@ func delGuessGameCategoryStatusIndexKey(status int32, category string, index int ...@@ -189,4 +190,3 @@ func delGuessGameCategoryStatusIndexKey(status int32, category string, index int
kv.Value = nil kv.Value = nil
return kv return kv
} }
...@@ -80,4 +80,3 @@ func (c *Jrpc) GuessPublishTx(parm *pb.GuessPublishTxReq, result *interface{}) e ...@@ -80,4 +80,3 @@ func (c *Jrpc) GuessPublishTx(parm *pb.GuessPublishTxReq, result *interface{}) e
*result = hex.EncodeToString(reply.Data) *result = hex.EncodeToString(reply.Data)
return nil return nil
} }
...@@ -6,6 +6,7 @@ package rpc ...@@ -6,6 +6,7 @@ package rpc
import ( import (
"context" "context"
"github.com/33cn/chain33/common/address" "github.com/33cn/chain33/common/address"
"github.com/33cn/chain33/types" "github.com/33cn/chain33/types"
pb "github.com/33cn/plugin/plugin/dapp/guess/types" pb "github.com/33cn/plugin/plugin/dapp/guess/types"
...@@ -13,17 +14,17 @@ import ( ...@@ -13,17 +14,17 @@ import (
func (c *channelClient) GuessStart(ctx context.Context, parm *pb.GuessStartTxReq) (*types.UnsignTx, error) { func (c *channelClient) GuessStart(ctx context.Context, parm *pb.GuessStartTxReq) (*types.UnsignTx, error) {
v := &pb.GuessGameStart{ v := &pb.GuessGameStart{
Topic: parm.Topic, Topic: parm.Topic,
Options: parm.Options, Options: parm.Options,
Category: parm.Category, Category: parm.Category,
MaxBetHeight: parm.MaxBetHeight, MaxBetHeight: parm.MaxBetHeight,
MaxBetsOneTime: parm.MaxBetsOneTime, MaxBetsOneTime: parm.MaxBetsOneTime,
MaxBetsNumber: parm.MaxBetsNumber, MaxBetsNumber: parm.MaxBetsNumber,
DevFeeFactor: parm.DevFeeFactor, DevFeeFactor: parm.DevFeeFactor,
DevFeeAddr: parm.DevFeeAddr, DevFeeAddr: parm.DevFeeAddr,
PlatFeeFactor: parm.PlatFeeFactor, PlatFeeFactor: parm.PlatFeeFactor,
PlatFeeAddr: parm.PlatFeeAddr, PlatFeeAddr: parm.PlatFeeAddr,
ExpireHeight: parm.ExpireHeight, ExpireHeight: parm.ExpireHeight,
} }
val := &pb.GuessGameAction{ val := &pb.GuessGameAction{
...@@ -33,10 +34,10 @@ func (c *channelClient) GuessStart(ctx context.Context, parm *pb.GuessStartTxReq ...@@ -33,10 +34,10 @@ func (c *channelClient) GuessStart(ctx context.Context, parm *pb.GuessStartTxReq
name := types.ExecName(pb.GuessX) name := types.ExecName(pb.GuessX)
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(pb.GuessX)), Execer: []byte(types.ExecName(pb.GuessX)),
Payload: types.Encode(val), Payload: types.Encode(val),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(name), To: address.ExecAddress(name),
} }
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(name, tx)
...@@ -49,8 +50,8 @@ func (c *channelClient) GuessStart(ctx context.Context, parm *pb.GuessStartTxReq ...@@ -49,8 +50,8 @@ func (c *channelClient) GuessStart(ctx context.Context, parm *pb.GuessStartTxReq
func (c *channelClient) GuessBet(ctx context.Context, parm *pb.GuessBetTxReq) (*types.UnsignTx, error) { func (c *channelClient) GuessBet(ctx context.Context, parm *pb.GuessBetTxReq) (*types.UnsignTx, error) {
v := &pb.GuessGameBet{ v := &pb.GuessGameBet{
GameId: parm.GameId, GameId: parm.GameId,
Option: parm.Option, Option: parm.Option,
BetsNum: parm.Bets, BetsNum: parm.Bets,
} }
...@@ -61,10 +62,10 @@ func (c *channelClient) GuessBet(ctx context.Context, parm *pb.GuessBetTxReq) (* ...@@ -61,10 +62,10 @@ func (c *channelClient) GuessBet(ctx context.Context, parm *pb.GuessBetTxReq) (*
name := types.ExecName(pb.GuessX) name := types.ExecName(pb.GuessX)
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(pb.GuessX)), Execer: []byte(types.ExecName(pb.GuessX)),
Payload: types.Encode(val), Payload: types.Encode(val),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(name), To: address.ExecAddress(name),
} }
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(name, tx)
...@@ -87,10 +88,10 @@ func (c *channelClient) GuessStopBet(ctx context.Context, parm *pb.GuessStopBetT ...@@ -87,10 +88,10 @@ func (c *channelClient) GuessStopBet(ctx context.Context, parm *pb.GuessStopBetT
name := types.ExecName(pb.GuessX) name := types.ExecName(pb.GuessX)
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(pb.GuessX)), Execer: []byte(types.ExecName(pb.GuessX)),
Payload: types.Encode(val), Payload: types.Encode(val),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(name), To: address.ExecAddress(name),
} }
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(name, tx)
...@@ -112,10 +113,10 @@ func (c *channelClient) GuessAbort(ctx context.Context, parm *pb.GuessAbortTxReq ...@@ -112,10 +113,10 @@ func (c *channelClient) GuessAbort(ctx context.Context, parm *pb.GuessAbortTxReq
} }
name := types.ExecName(pb.GuessX) name := types.ExecName(pb.GuessX)
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(pb.GuessX)), Execer: []byte(types.ExecName(pb.GuessX)),
Payload: types.Encode(val), Payload: types.Encode(val),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(name), To: address.ExecAddress(name),
} }
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(name, tx)
...@@ -139,10 +140,10 @@ func (c *channelClient) GuessPublish(ctx context.Context, parm *pb.GuessPublishT ...@@ -139,10 +140,10 @@ func (c *channelClient) GuessPublish(ctx context.Context, parm *pb.GuessPublishT
name := types.ExecName(pb.GuessX) name := types.ExecName(pb.GuessX)
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(pb.GuessX)), Execer: []byte(types.ExecName(pb.GuessX)),
Payload: types.Encode(val), Payload: types.Encode(val),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(name), To: address.ExecAddress(name),
} }
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(name, tx)
......
...@@ -27,10 +27,10 @@ const ( ...@@ -27,10 +27,10 @@ const (
) )
const ( const (
TyLogGuessGameStart = 901 TyLogGuessGameStart = 901
TyLogGuessGameBet = 902 TyLogGuessGameBet = 902
TyLogGuessGameStopBet = 903 TyLogGuessGameStopBet = 903
TyLogGuessGameAbort = 904 TyLogGuessGameAbort = 904
TyLogGuessGamePublish = 905 TyLogGuessGamePublish = 905
TyLogGuessGameTimeout = 906 TyLogGuessGameTimeout = 906
) )
...@@ -39,24 +39,24 @@ const ( ...@@ -39,24 +39,24 @@ const (
//建议用github的组织名称,或者用户名字开头, 再加上自己的插件的名字 //建议用github的组织名称,或者用户名字开头, 再加上自己的插件的名字
//如果发生重名,可以通过配置文件修改这些名字 //如果发生重名,可以通过配置文件修改这些名字
var ( var (
JRPCName = "guess" JRPCName = "guess"
GuessX = "guess" GuessX = "guess"
ExecerGuess = []byte(GuessX) ExecerGuess = []byte(GuessX)
) )
const ( const (
//查询方法名 //查询方法名
FuncName_QueryGamesByIds = "QueryGamesByIds" FuncName_QueryGamesByIds = "QueryGamesByIds"
FuncName_QueryGameById = "QueryGameById" FuncName_QueryGameById = "QueryGameById"
FuncName_QueryGameByAddr = "QueryGamesByAddr" FuncName_QueryGameByAddr = "QueryGamesByAddr"
FuncName_QueryGameByStatus = "QueryGamesByStatus" FuncName_QueryGameByStatus = "QueryGamesByStatus"
FuncName_QueryGameByAdminAddr = "QueryGamesByAdminAddr" FuncName_QueryGameByAdminAddr = "QueryGamesByAdminAddr"
FuncName_QueryGameByAddrStatus = "QueryGamesByAddrStatus" FuncName_QueryGameByAddrStatus = "QueryGamesByAddrStatus"
FuncName_QueryGameByAdminStatus = "QueryGamesByAdminStatus" FuncName_QueryGameByAdminStatus = "QueryGamesByAdminStatus"
FuncName_QueryGameByCategoryStatus="QueryGamesByCategoryStatus" FuncName_QueryGameByCategoryStatus = "QueryGamesByCategoryStatus"
) )
const ( const (
DevShareAddr = "1D6RFZNp2rh6QdbcZ1d7RWuBUz61We6SD7" DevShareAddr = "1D6RFZNp2rh6QdbcZ1d7RWuBUz61We6SD7"
PlatformShareAddr = "1PHtChNt3UcfssR7v7trKSk3WJtAWjKjjX" PlatformShareAddr = "1PHtChNt3UcfssR7v7trKSk3WJtAWjKjjX"
) )
\ No newline at end of file
...@@ -8,6 +8,6 @@ import "errors" ...@@ -8,6 +8,6 @@ import "errors"
// Errors for lottery // Errors for lottery
var ( var (
ErrNoPrivilege = errors.New("ErrNoPrivilege") ErrNoPrivilege = errors.New("ErrNoPrivilege")
ErrGuessStatus = errors.New("ErrGuessStatus") ErrGuessStatus = errors.New("ErrGuessStatus")
) )
...@@ -6,10 +6,11 @@ package types ...@@ -6,10 +6,11 @@ package types
import ( import (
context "context" context "context"
fmt "fmt" fmt "fmt"
math "math"
types "github.com/33cn/chain33/types" types "github.com/33cn/chain33/types"
proto "github.com/golang/protobuf/proto" proto "github.com/golang/protobuf/proto"
grpc "google.golang.org/grpc" grpc "google.golang.org/grpc"
math "math"
) )
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
......
...@@ -5,39 +5,39 @@ ...@@ -5,39 +5,39 @@
package types package types
type GuessGameStartTx struct { type GuessGameStartTx struct {
Topic string `json:"topic,omitempty"` Topic string `json:"topic,omitempty"`
Options string `json:"options,omitempty"` Options string `json:"options,omitempty"`
Category string `json:"category,omitempty"` Category string `json:"category,omitempty"`
MaxBetHeight int64 `json:"maxHeight,omitempty"` MaxBetHeight int64 `json:"maxHeight,omitempty"`
MaxBets int64 `json:"maxBets,omitempty"` MaxBets int64 `json:"maxBets,omitempty"`
MaxBetsNumber int64 `json:"maxBetsNumber,omitempty"` MaxBetsNumber int64 `json:"maxBetsNumber,omitempty"`
DevFeeFactor int64 `json:"devFeeFactor,omitempty"` DevFeeFactor int64 `json:"devFeeFactor,omitempty"`
DevFeeAddr string `json:"devFeeAddr,omitempty"` DevFeeAddr string `json:"devFeeAddr,omitempty"`
PlatFeeFactor int64 `json:"platFeeFactor,omitempty"` PlatFeeFactor int64 `json:"platFeeFactor,omitempty"`
PlatFeeAddr string `json:"platFeeAddr,omitempty"` PlatFeeAddr string `json:"platFeeAddr,omitempty"`
ExpireHeight int64 `json:"expireHeight,omitempty"` ExpireHeight int64 `json:"expireHeight,omitempty"`
Fee int64 `json:"fee,omitempty"` Fee int64 `json:"fee,omitempty"`
} }
type GuessGameBetTx struct { type GuessGameBetTx struct {
GameId string `json:"gameId,omitempty"` GameId string `json:"gameId,omitempty"`
Option string `json:"option,omitempty"` Option string `json:"option,omitempty"`
BetsNum int64 `json:"betsNum,omitempty"` BetsNum int64 `json:"betsNum,omitempty"`
Fee int64 `json:"fee,omitempty"` Fee int64 `json:"fee,omitempty"`
} }
type GuessGameStopBetTx struct { type GuessGameStopBetTx struct {
GameId string `json:"gameId,omitempty"` GameId string `json:"gameId,omitempty"`
Fee int64 `json:"fee,omitempty"` Fee int64 `json:"fee,omitempty"`
} }
type GuessGamePublishTx struct { type GuessGamePublishTx struct {
GameId string `json:"gameId,omitempty"` GameId string `json:"gameId,omitempty"`
Result string `json:"result,omitempty"` Result string `json:"result,omitempty"`
Fee int64 `json:"fee,omitempty"` Fee int64 `json:"fee,omitempty"`
} }
type GuessGameAbortTx struct { type GuessGameAbortTx struct {
GameId string `json:"gameId,omitempty"` GameId string `json:"gameId,omitempty"`
Fee int64 `json:"fee,omitempty"` Fee int64 `json:"fee,omitempty"`
} }
...@@ -6,15 +6,16 @@ package types ...@@ -6,15 +6,16 @@ package types
import ( import (
"encoding/json" "encoding/json"
"github.com/33cn/chain33/common/address"
"reflect" "reflect"
"github.com/33cn/chain33/types" "github.com/33cn/chain33/common/address"
log "github.com/33cn/chain33/common/log/log15" log "github.com/33cn/chain33/common/log/log15"
"github.com/33cn/chain33/types"
) )
var ( var (
llog = log.New("module", "exectype." + GuessX) llog = log.New("module", "exectype."+GuessX)
) )
func init() { func init() {
...@@ -41,23 +42,23 @@ func (t *GuessType) GetPayload() types.Message { ...@@ -41,23 +42,23 @@ func (t *GuessType) GetPayload() types.Message {
func (t *GuessType) GetTypeMap() map[string]int32 { func (t *GuessType) GetTypeMap() map[string]int32 {
return map[string]int32{ return map[string]int32{
"Start": GuessGameActionStart, "Start": GuessGameActionStart,
"Bet": GuessGameActionBet, "Bet": GuessGameActionBet,
"StopBet":GuessGameActionStopBet, "StopBet": GuessGameActionStopBet,
"Abort": GuessGameActionAbort, "Abort": GuessGameActionAbort,
"Publish": GuessGameActionPublish, "Publish": GuessGameActionPublish,
"Query": GuessGameActionQuery, "Query": GuessGameActionQuery,
} }
} }
func (t *GuessType) GetLogMap() map[int64]*types.LogInfo { func (t *GuessType) GetLogMap() map[int64]*types.LogInfo {
return map[int64]*types.LogInfo{ return map[int64]*types.LogInfo{
TyLogGuessGameStart: {reflect.TypeOf(ReceiptGuessGame{}), "TyLogGuessGameStart"}, TyLogGuessGameStart: {reflect.TypeOf(ReceiptGuessGame{}), "TyLogGuessGameStart"},
TyLogGuessGameBet: {reflect.TypeOf(ReceiptGuessGame{}), "TyLogGuessGameBet"}, TyLogGuessGameBet: {reflect.TypeOf(ReceiptGuessGame{}), "TyLogGuessGameBet"},
TyLogGuessGameStopBet: {reflect.TypeOf(ReceiptGuessGame{}), "TyLogGuessGameStopBet"}, TyLogGuessGameStopBet: {reflect.TypeOf(ReceiptGuessGame{}), "TyLogGuessGameStopBet"},
TyLogGuessGameAbort: {reflect.TypeOf(ReceiptGuessGame{}), "TyLogGuessGameAbort"}, TyLogGuessGameAbort: {reflect.TypeOf(ReceiptGuessGame{}), "TyLogGuessGameAbort"},
TyLogGuessGamePublish: {reflect.TypeOf(ReceiptGuessGame{}), "TyLogGuessGamePublish"}, TyLogGuessGamePublish: {reflect.TypeOf(ReceiptGuessGame{}), "TyLogGuessGamePublish"},
TyLogGuessGameTimeout: {reflect.TypeOf(ReceiptGuessGame{}), "TyLogGuessGameTimeout"}, TyLogGuessGameTimeout: {reflect.TypeOf(ReceiptGuessGame{}), "TyLogGuessGameTimeout"},
} }
} }
...@@ -117,18 +118,18 @@ func CreateRawGuessStartTx(parm *GuessGameStartTx) (*types.Transaction, error) { ...@@ -117,18 +118,18 @@ func CreateRawGuessStartTx(parm *GuessGameStartTx) (*types.Transaction, error) {
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
v := &GuessGameStart { v := &GuessGameStart{
Topic: parm.Topic, Topic: parm.Topic,
Options: parm.Options, Options: parm.Options,
Category: parm.Category, Category: parm.Category,
MaxBetHeight: parm.MaxBetHeight, MaxBetHeight: parm.MaxBetHeight,
MaxBetsOneTime: parm.MaxBets, MaxBetsOneTime: parm.MaxBets,
MaxBetsNumber: parm.MaxBetsNumber, MaxBetsNumber: parm.MaxBetsNumber,
DevFeeFactor: parm.DevFeeFactor, DevFeeFactor: parm.DevFeeFactor,
DevFeeAddr: parm.DevFeeAddr, DevFeeAddr: parm.DevFeeAddr,
PlatFeeFactor: parm.PlatFeeFactor, PlatFeeFactor: parm.PlatFeeFactor,
PlatFeeAddr: parm.PlatFeeAddr, PlatFeeAddr: parm.PlatFeeAddr,
ExpireHeight: parm.ExpireHeight, ExpireHeight: parm.ExpireHeight,
} }
val := &GuessGameAction{ val := &GuessGameAction{
...@@ -159,8 +160,8 @@ func CreateRawGuessBetTx(parm *GuessGameBetTx) (*types.Transaction, error) { ...@@ -159,8 +160,8 @@ func CreateRawGuessBetTx(parm *GuessGameBetTx) (*types.Transaction, error) {
} }
v := &GuessGameBet{ v := &GuessGameBet{
GameId: parm.GameId, GameId: parm.GameId,
Option: parm.Option, Option: parm.Option,
BetsNum: parm.BetsNum, BetsNum: parm.BetsNum,
} }
val := &GuessGameAction{ val := &GuessGameAction{
...@@ -249,7 +250,7 @@ func CreateRawGuessAbortTx(parm *GuessGameAbortTx) (*types.Transaction, error) { ...@@ -249,7 +250,7 @@ func CreateRawGuessAbortTx(parm *GuessGameAbortTx) (*types.Transaction, error) {
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
v := &GuessGameAbort { v := &GuessGameAbort{
GameId: parm.GameId, GameId: parm.GameId,
} }
...@@ -271,5 +272,3 @@ func CreateRawGuessAbortTx(parm *GuessGameAbortTx) (*types.Transaction, error) { ...@@ -271,5 +272,3 @@ func CreateRawGuessAbortTx(parm *GuessGameAbortTx) (*types.Transaction, error) {
} }
return tx, nil return tx, nil
} }
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