Commit 1c13997e authored by king wang's avatar king wang

update plugin

parent 46c31a88
consensus/raft/tools/scripts/grpc33.log
consensus/raft/tools/scripts/logs/
*.orig
store/kvmvcc/1.png
store/kvmvcc/cpu.pprof
store/kvmvcc/kvmvcc.test
store/mpt/1.png
store/mpt/cpu.pprof
store/mpt/mpt.test
chain33 plugin system
\ No newline at end of file
package plugin package init
import ( import (
_ "gitlab.33.cn/chain33/chain33/plugin/consensus/para" _ "gitlab.33.cn/chain33/chain33/plugin/consensus/para"
......
t=2018-09-05T17:07:56+0800 lvl=info msg="init::LoadBlockStoreHeight::database may be crash" module=blockchain err=ErrHeightNotExist
t=2018-09-05T17:07:56+0800 lvl=info msg="load block height error, may be init database" module=blockchain height=-1
t=2018-09-05T17:07:56+0800 lvl=info msg=InitIndexAndBestView module=blockchain cost=485.295µs
t=2018-09-05T17:07:56+0800 lvl=info msg=GetDbVersion module=blockchain submodule=store err=ErrNotFoundInDb
t=2018-09-05T17:07:56+0800 lvl=info msg=SetDbVersion module=blockchain submodule=store blcokchain db version=1
t=2018-09-05T17:07:56+0800 lvl=info msg="mempool piple line start" module=mempool
t=2018-09-05T17:07:56+0800 lvl=info msg="pollLastHeader quit" module=mempool
t=2018-09-05T17:08:29+0800 lvl=info msg="init::LoadBlockStoreHeight::database may be crash" module=blockchain err=ErrHeightNotExist
t=2018-09-05T17:08:29+0800 lvl=info msg="load block height error, may be init database" module=blockchain height=-1
t=2018-09-05T17:08:29+0800 lvl=info msg=InitIndexAndBestView module=blockchain cost=1.503171ms
t=2018-09-05T17:08:29+0800 lvl=info msg=GetDbVersion module=blockchain submodule=store blockchain db version=1
t=2018-09-05T17:08:29+0800 lvl=info msg="mempool piple line start" module=mempool
t=2018-09-05T17:08:29+0800 lvl=info msg="pollLastHeader quit" module=mempool
t=2018-09-05T17:08:29+0800 lvl=info msg="Enter store mavl" module=store
t=2018-09-05T17:08:29+0800 lvl=info msg="start to creat pbft node" module=Pbft
t=2018-09-05T17:08:29+0800 lvl=info msg="Enter consensus pbft"
t=2018-09-05T17:08:29+0800 lvl=info msg="Enter SetQueue method of pbft consensus" module=Pbft
t=2018-09-05T17:08:29+0800 lvl=info msg="Enter SetQueueClient method of consensus"
t=2018-09-05T17:08:29+0800 lvl=info msg=ExecBlock module=util height=0 ntx=1 writebatchsync=false cost=411.009µs
t=2018-09-05T17:08:29+0800 lvl=info msg=EventAddBlockDetail module=blockchain height=0 hash=935cb32d5a24e56967c7a0a9bf357e447fcaa082d703159ccb3a04bf9ae8ec32
t=2018-09-05T17:08:29+0800 lvl=info msg=p2p module=p2p Version=118
t=2018-09-05T17:08:29+0800 lvl=info msg=p2p module=p2p InnerBounds=500
t=2018-09-05T17:08:29+0800 lvl=info msg=p2p module=p2p setqueuecliet=ok
t=2018-09-05T17:08:29+0800 lvl=info msg=DetectNodeAddr module=p2p addr:=192.168.0.141
t=2018-09-05T17:08:29+0800 lvl=info msg=detectNodeAddr module=p2p LocalAddr=192.168.0.141
t=2018-09-05T17:08:29+0800 lvl=info msg=ShowTaskCapcity module=p2p Capcity=1000
t=2018-09-05T17:08:29+0800 lvl=eror msg=GetFeeAmount module=wallet submodule=store Get from db error=ErrNotFoundInDb
t=2018-09-05T17:08:29+0800 lvl=eror msg=getVersion module=wallet.privacy db.Get error=ErrNotFoundInDb
t=2018-09-05T17:08:29+0800 lvl=eror msg="GetAccountByPrefix addr not exist" wallet=store
t=2018-09-05T17:08:29+0800 lvl=info msg=GetWalletAccounts module=wallet GetAccountByPrefix:err=ErrAccountNotExist
t=2018-09-05T17:08:29+0800 lvl=eror msg=rescanAllTxToUpdateUTXOs module=wallet.privacy walletOperate.GetWalletAccounts error=ErrAccountNotExist
t=2018-09-05T17:08:29+0800 lvl=eror msg=GetAutoMinerFlag module=wallet.ticket Get error=ErrNotFoundInDb
t=2018-09-05T17:08:29+0800 lvl=info msg="Begin auto mining" module=wallet.ticket
=============== Sep 5, 2018 (CST) ===============
17:08:29.922706 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
17:08:29.923258 db@open opening
17:08:29.923864 version@stat F·[] S·0B[] Sc·[]
17:08:29.924069 db@janitor F·2 G·0
17:08:29.924089 db@open done T·818.266µs
=============== Sep 5, 2018 (CST) ===============
17:07:56.823741 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
17:07:56.824523 db@open opening
17:07:56.825400 version@stat F·[] S·0B[] Sc·[]
17:07:56.825624 db@janitor F·2 G·0
17:07:56.825646 db@open done T·1.107044ms
=============== Sep 5, 2018 (CST) ===============
17:08:29.905714 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
17:08:29.906016 version@stat F·[] S·0B[] Sc·[]
17:08:29.906037 db@open opening
17:08:29.906108 journal@recovery F·1
17:08:29.907790 journal@recovery recovering @1
17:08:29.908286 memdb@flush created L0@2 N·1 S·194B "Blo..Key,v1":"Blo..Key,v1"
17:08:29.908970 version@stat F·[1] S·194B[194B] Sc·[0.25]
17:08:29.909559 db@janitor F·3 G·0
17:08:29.909588 db@open done T·3.53978ms
=============== Sep 5, 2018 (CST) ===============
17:08:29.914061 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
17:08:29.914622 db@open opening
17:08:29.915266 version@stat F·[] S·0B[] Sc·[]
17:08:29.915477 db@janitor F·2 G·0
17:08:29.915495 db@open done T·860.67µs
=============== Sep 5, 2018 (CST) ===============
17:08:29.948081 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
17:08:29.948567 db@open opening
17:08:29.949041 version@stat F·[] S·0B[] Sc·[]
17:08:29.949212 db@janitor F·2 G·0
17:08:29.949228 db@open done T·651.21µs
...@@ -598,7 +598,7 @@ func (action *Action) checkDraw(lott *LotteryDB) (*types.Receipt, *pty.LotteryUp ...@@ -598,7 +598,7 @@ func (action *Action) checkDraw(lott *LotteryDB) (*types.Receipt, *pty.LotteryUp
fund, fundType := checkFundAmount(luckynum, rec.Number, rec.Way) fund, fundType := checkFundAmount(luckynum, rec.Number, rec.Way)
if fund != 0 { if fund != 0 {
newUpdateRec := &pty.LotteryUpdateRec{rec.Index, fundType} newUpdateRec := &pty.LotteryUpdateRec{rec.Index, fundType}
if update, ok := updateInfo.BuyInfo[action.fromaddr]; ok { if update, ok := updateInfo.BuyInfo[addr]; ok {
update.Records = append(update.Records, newUpdateRec) update.Records = append(update.Records, newUpdateRec)
} else { } else {
initrecord := &pty.LotteryUpdateRecs{} initrecord := &pty.LotteryUpdateRecs{}
......
...@@ -21,6 +21,7 @@ import ( ...@@ -21,6 +21,7 @@ import (
"gitlab.33.cn/chain33/chain33/common/address" "gitlab.33.cn/chain33/chain33/common/address"
"gitlab.33.cn/chain33/chain33/common/log" "gitlab.33.cn/chain33/chain33/common/log"
pt "gitlab.33.cn/chain33/chain33/plugin/dapp/paracross/types" pt "gitlab.33.cn/chain33/chain33/plugin/dapp/paracross/types"
mty "gitlab.33.cn/chain33/chain33/system/dapp/manage/types"
) )
// 构造一个4个节点的平行链数据, 进行测试 // 构造一个4个节点的平行链数据, 进行测试
...@@ -67,7 +68,7 @@ func makeNodeInfo(key, addr string, cnt int) *types.ConfigItem { ...@@ -67,7 +68,7 @@ func makeNodeInfo(key, addr string, cnt int) *types.ConfigItem {
var item types.ConfigItem var item types.ConfigItem
item.Key = key item.Key = key
item.Addr = addr item.Addr = addr
item.Ty = types.ConfigItemArrayConfig item.Ty = mty.ConfigItemArrayConfig
emptyValue := &types.ArrayConfig{make([]string, 0)} emptyValue := &types.ArrayConfig{make([]string, 0)}
arr := types.ConfigItem_Arr{emptyValue} arr := types.ConfigItem_Arr{emptyValue}
item.Value = &arr item.Value = &arr
......
...@@ -24,7 +24,7 @@ import ( ...@@ -24,7 +24,7 @@ import (
func (policy *privacyPolicy) rescanAllTxAddToUpdateUTXOs() { func (policy *privacyPolicy) rescanAllTxAddToUpdateUTXOs() {
accounts, err := policy.getWalletOperate().GetWalletAccounts() accounts, err := policy.getWalletOperate().GetWalletAccounts()
if err != nil { if err != nil {
bizlog.Error("rescanAllTxToUpdateUTXOs", "walletOperate.GetWalletAccounts error", err) bizlog.Debug("rescanAllTxToUpdateUTXOs", "walletOperate.GetWalletAccounts error", err)
return return
} }
bizlog.Debug("rescanAllTxToUpdateUTXOs begin!") bizlog.Debug("rescanAllTxToUpdateUTXOs begin!")
......
...@@ -32,7 +32,7 @@ func (store *privacyStore) getVersion() int64 { ...@@ -32,7 +32,7 @@ func (store *privacyStore) getVersion() int64 {
var version int64 var version int64
data, err := store.Get(calcPrivacyDBVersion()) data, err := store.Get(calcPrivacyDBVersion())
if err != nil || data == nil { if err != nil || data == nil {
bizlog.Error("getVersion", "db.Get error", err) bizlog.Debug("getVersion", "db.Get error", err)
return 0 return 0
} }
err = json.Unmarshal(data, &version) err = json.Unmarshal(data, &version)
......
...@@ -37,7 +37,7 @@ func (store *ticketStore) GetAutoMinerFlag() int32 { ...@@ -37,7 +37,7 @@ func (store *ticketStore) GetAutoMinerFlag() int32 {
flag := int32(0) flag := int32(0)
value, err := store.Get(CalcWalletAutoMiner()) value, err := store.Get(CalcWalletAutoMiner())
if err != nil { if err != nil {
bizlog.Error("GetAutoMinerFlag", "Get error", err) bizlog.Debug("GetAutoMinerFlag", "Get error", err)
return flag return flag
} }
if value != nil && string(value) == "1" { if value != nil && string(value) == "1" {
......
...@@ -7,16 +7,16 @@ import ( ...@@ -7,16 +7,16 @@ import (
"gitlab.33.cn/chain33/chain33/account" "gitlab.33.cn/chain33/chain33/account"
dbm "gitlab.33.cn/chain33/chain33/common/db" dbm "gitlab.33.cn/chain33/chain33/common/db"
tokenty "gitlab.33.cn/chain33/chain33/plugin/dapp/token/types" pty "gitlab.33.cn/chain33/chain33/plugin/dapp/token/types"
"gitlab.33.cn/chain33/chain33/system/dapp" "gitlab.33.cn/chain33/chain33/system/dapp"
"gitlab.33.cn/chain33/chain33/types" "gitlab.33.cn/chain33/chain33/types"
) )
type tokenDB struct { type tokenDB struct {
token tokenty.Token token pty.Token
} }
func newTokenDB(preCreate *tokenty.TokenPreCreate, creator string) *tokenDB { func newTokenDB(preCreate *pty.TokenPreCreate, creator string) *tokenDB {
t := &tokenDB{} t := &tokenDB{}
t.token.Name = preCreate.GetName() t.token.Name = preCreate.GetName()
t.token.Symbol = preCreate.GetSymbol() t.token.Symbol = preCreate.GetSymbol()
...@@ -26,7 +26,7 @@ func newTokenDB(preCreate *tokenty.TokenPreCreate, creator string) *tokenDB { ...@@ -26,7 +26,7 @@ func newTokenDB(preCreate *tokenty.TokenPreCreate, creator string) *tokenDB {
//token可以由自己进行创建,也可以通过委托给其他地址进行创建 //token可以由自己进行创建,也可以通过委托给其他地址进行创建
t.token.Owner = preCreate.GetOwner() t.token.Owner = preCreate.GetOwner()
t.token.Creator = creator t.token.Creator = creator
t.token.Status = tokenty.TokenStatusPreCreated t.token.Status = pty.TokenStatusPreCreated
return t return t
} }
...@@ -39,7 +39,7 @@ func (t *tokenDB) save(db dbm.KV, key []byte) { ...@@ -39,7 +39,7 @@ func (t *tokenDB) save(db dbm.KV, key []byte) {
func (t *tokenDB) getLogs(ty int32, status int32) []*types.ReceiptLog { func (t *tokenDB) getLogs(ty int32, status int32) []*types.ReceiptLog {
var log []*types.ReceiptLog var log []*types.ReceiptLog
value := types.Encode(&tokenty.ReceiptToken{t.token.Symbol, t.token.Owner, t.token.Status}) value := types.Encode(&pty.ReceiptToken{t.token.Symbol, t.token.Owner, t.token.Status})
log = append(log, &types.ReceiptLog{ty, value}) log = append(log, &types.ReceiptLog{ty, value})
return log return log
...@@ -52,7 +52,7 @@ func (t *tokenDB) getKVSet(key []byte) (kvset []*types.KeyValue) { ...@@ -52,7 +52,7 @@ func (t *tokenDB) getKVSet(key []byte) (kvset []*types.KeyValue) {
return kvset return kvset
} }
func getTokenFromDB(db dbm.KV, symbol string, owner string) (*tokenty.Token, error) { func getTokenFromDB(db dbm.KV, symbol string, owner string) (*pty.Token, error) {
key := calcTokenAddrKeyS(symbol, owner) key := calcTokenAddrKeyS(symbol, owner)
value, err := db.Get(key) value, err := db.Get(key)
if err != nil { if err != nil {
...@@ -64,7 +64,7 @@ func getTokenFromDB(db dbm.KV, symbol string, owner string) (*tokenty.Token, err ...@@ -64,7 +64,7 @@ func getTokenFromDB(db dbm.KV, symbol string, owner string) (*tokenty.Token, err
} }
} }
var token tokenty.Token var token pty.Token
if err = types.Decode(value, &token); err != nil { if err = types.Decode(value, &token); err != nil {
tokenlog.Error("getTokenFromDB", "Fail to decode types.token for key", string(key), "err info is", err) tokenlog.Error("getTokenFromDB", "Fail to decode types.token for key", string(key), "err info is", err)
return nil, err return nil, err
...@@ -90,48 +90,48 @@ func newTokenAction(t *token, toaddr string, tx *types.Transaction) *tokenAction ...@@ -90,48 +90,48 @@ func newTokenAction(t *token, toaddr string, tx *types.Transaction) *tokenAction
t.GetBlockTime(), t.GetHeight(), dapp.ExecAddress(string(tx.Execer))} t.GetBlockTime(), t.GetHeight(), dapp.ExecAddress(string(tx.Execer))}
} }
func (action *tokenAction) preCreate(token *tokenty.TokenPreCreate) (*types.Receipt, error) { func (action *tokenAction) preCreate(token *pty.TokenPreCreate) (*types.Receipt, error) {
tokenlog.Debug("preCreate") tokenlog.Debug("preCreate")
if token == nil { if token == nil {
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
if len(token.GetName()) > types.TokenNameLenLimit { if len(token.GetName()) > pty.TokenNameLenLimit {
return nil, tokenty.ErrTokenNameLen return nil, pty.ErrTokenNameLen
} else if len(token.GetIntroduction()) > types.TokenIntroLenLimit { } else if len(token.GetIntroduction()) > pty.TokenIntroLenLimit {
return nil, tokenty.ErrTokenIntroLen return nil, pty.ErrTokenIntroLen
} else if len(token.GetSymbol()) > types.TokenSymbolLenLimit { } else if len(token.GetSymbol()) > pty.TokenSymbolLenLimit {
return nil, tokenty.ErrTokenSymbolLen return nil, pty.ErrTokenSymbolLen
} else if token.GetTotal() > types.MaxTokenBalance || token.GetTotal() <= 0 { } else if token.GetTotal() > types.MaxTokenBalance || token.GetTotal() <= 0 {
return nil, tokenty.ErrTokenTotalOverflow return nil, pty.ErrTokenTotalOverflow
} }
if !ValidSymbolWithHeight([]byte(token.GetSymbol()), action.height) { if !ValidSymbolWithHeight([]byte(token.GetSymbol()), action.height) {
tokenlog.Error("token precreate ", "symbol need be upper", token.GetSymbol()) tokenlog.Error("token precreate ", "symbol need be upper", token.GetSymbol())
return nil, tokenty.ErrTokenSymbolUpper return nil, pty.ErrTokenSymbolUpper
} }
if CheckTokenExist(token.GetSymbol(), action.db) { if CheckTokenExist(token.GetSymbol(), action.db) {
return nil, tokenty.ErrTokenExist return nil, pty.ErrTokenExist
} }
if checkTokenHasPrecreate(token.GetSymbol(), token.GetOwner(), tokenty.TokenStatusPreCreated, action.db) { if checkTokenHasPrecreate(token.GetSymbol(), token.GetOwner(), pty.TokenStatusPreCreated, action.db) {
return nil, tokenty.ErrTokenHavePrecreated return nil, pty.ErrTokenHavePrecreated
} }
if types.IsDappFork(action.height, tokenty.TokenX, "ForkTokenBlackList") { if types.IsDappFork(action.height, pty.TokenX, "ForkTokenBlackList") {
found, err := inBlacklist(token.GetSymbol(), blacklist, action.db) found, err := inBlacklist(token.GetSymbol(), blacklist, action.db)
if err != nil { if err != nil {
return nil, err return nil, err
} }
if found { if found {
return nil, tokenty.ErrTokenBlacklist return nil, pty.ErrTokenBlacklist
} }
} }
var logs []*types.ReceiptLog var logs []*types.ReceiptLog
var kv []*types.KeyValue var kv []*types.KeyValue
if types.IsDappFork(action.height, tokenty.TokenX, "ForkTokenPrice") && token.GetPrice() == 0 { if types.IsDappFork(action.height, pty.TokenX, "ForkTokenPrice") && token.GetPrice() == 0 {
// pay for create token offline // pay for create token offline
} else { } else {
receipt, err := action.coinsAccount.ExecFrozen(action.fromaddr, action.execaddr, token.GetPrice()) receipt, err := action.coinsAccount.ExecFrozen(action.fromaddr, action.execaddr, token.GetPrice())
...@@ -147,17 +147,17 @@ func (action *tokenAction) preCreate(token *tokenty.TokenPreCreate) (*types.Rece ...@@ -147,17 +147,17 @@ func (action *tokenAction) preCreate(token *tokenty.TokenPreCreate) (*types.Rece
var statuskey []byte var statuskey []byte
var key []byte var key []byte
if types.IsFork(action.height, "ForkExecKey") { if types.IsFork(action.height, "ForkExecKey") {
statuskey = calcTokenStatusNewKeyS(tokendb.token.Symbol, tokendb.token.Owner, tokenty.TokenStatusPreCreated) statuskey = calcTokenStatusNewKeyS(tokendb.token.Symbol, tokendb.token.Owner, pty.TokenStatusPreCreated)
key = calcTokenAddrNewKeyS(tokendb.token.Symbol, tokendb.token.Owner) key = calcTokenAddrNewKeyS(tokendb.token.Symbol, tokendb.token.Owner)
} else { } else {
statuskey = calcTokenStatusKey(tokendb.token.Symbol, tokendb.token.Owner, tokenty.TokenStatusPreCreated) statuskey = calcTokenStatusKey(tokendb.token.Symbol, tokendb.token.Owner, pty.TokenStatusPreCreated)
key = calcTokenAddrKeyS(tokendb.token.Symbol, tokendb.token.Owner) key = calcTokenAddrKeyS(tokendb.token.Symbol, tokendb.token.Owner)
} }
tokendb.save(action.db, statuskey) tokendb.save(action.db, statuskey)
tokendb.save(action.db, key) tokendb.save(action.db, key)
logs = append(logs, tokendb.getLogs(tokenty.TyLogPreCreateToken, tokenty.TokenStatusPreCreated)...) logs = append(logs, tokendb.getLogs(pty.TyLogPreCreateToken, pty.TokenStatusPreCreated)...)
kv = append(kv, tokendb.getKVSet(key)...) kv = append(kv, tokendb.getKVSet(key)...)
kv = append(kv, tokendb.getKVSet(statuskey)...) kv = append(kv, tokendb.getKVSet(statuskey)...)
//tokenlog.Info("func token preCreate", "token:", tokendb.token.Symbol, "owner:", tokendb.token.Owner, //tokenlog.Info("func token preCreate", "token:", tokendb.token.Symbol, "owner:", tokendb.token.Owner,
...@@ -167,14 +167,14 @@ func (action *tokenAction) preCreate(token *tokenty.TokenPreCreate) (*types.Rece ...@@ -167,14 +167,14 @@ func (action *tokenAction) preCreate(token *tokenty.TokenPreCreate) (*types.Rece
return receipt, nil return receipt, nil
} }
func (action *tokenAction) finishCreate(tokenFinish *tokenty.TokenFinishCreate) (*types.Receipt, error) { func (action *tokenAction) finishCreate(tokenFinish *pty.TokenFinishCreate) (*types.Receipt, error) {
tokenlog.Debug("finishCreate") tokenlog.Debug("finishCreate")
if tokenFinish == nil { if tokenFinish == nil {
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
token, err := getTokenFromDB(action.db, tokenFinish.GetSymbol(), tokenFinish.GetOwner()) token, err := getTokenFromDB(action.db, tokenFinish.GetSymbol(), tokenFinish.GetOwner())
if err != nil || token.Status != tokenty.TokenStatusPreCreated { if err != nil || token.Status != pty.TokenStatusPreCreated {
return nil, tokenty.ErrTokenNotPrecreated return nil, pty.ErrTokenNotPrecreated
} }
approverValid := false approverValid := false
...@@ -188,13 +188,13 @@ func (action *tokenAction) finishCreate(tokenFinish *tokenty.TokenFinishCreate) ...@@ -188,13 +188,13 @@ func (action *tokenAction) finishCreate(tokenFinish *tokenty.TokenFinishCreate)
hasPriv, ok := validFinisher(action.fromaddr, action.db) hasPriv, ok := validFinisher(action.fromaddr, action.db)
if (ok != nil || !hasPriv) && !approverValid { if (ok != nil || !hasPriv) && !approverValid {
return nil, tokenty.ErrTokenCreatedApprover return nil, pty.ErrTokenCreatedApprover
} }
var logs []*types.ReceiptLog var logs []*types.ReceiptLog
var kv []*types.KeyValue var kv []*types.KeyValue
if types.IsDappFork(action.height, tokenty.TokenX, "ForkTokenPrice") && token.GetPrice() == 0 { if types.IsDappFork(action.height, pty.TokenX, "ForkTokenPrice") && token.GetPrice() == 0 {
// pay for create token offline // pay for create token offline
} else { } else {
//将之前冻结的资金转账到fund合约账户中 //将之前冻结的资金转账到fund合约账户中
...@@ -219,7 +219,7 @@ func (action *tokenAction) finishCreate(tokenFinish *tokenty.TokenFinishCreate) ...@@ -219,7 +219,7 @@ func (action *tokenAction) finishCreate(tokenFinish *tokenty.TokenFinishCreate)
return nil, err return nil, err
} }
//更新token的状态为已经创建 //更新token的状态为已经创建
token.Status = tokenty.TokenStatusCreated token.Status = pty.TokenStatusCreated
tokendb := &tokenDB{*token} tokendb := &tokenDB{*token}
var key []byte var key []byte
if types.IsFork(action.height, "ForkExecKey") { if types.IsFork(action.height, "ForkExecKey") {
...@@ -230,7 +230,7 @@ func (action *tokenAction) finishCreate(tokenFinish *tokenty.TokenFinishCreate) ...@@ -230,7 +230,7 @@ func (action *tokenAction) finishCreate(tokenFinish *tokenty.TokenFinishCreate)
tokendb.save(action.db, key) tokendb.save(action.db, key)
logs = append(logs, receiptForToken.Logs...) logs = append(logs, receiptForToken.Logs...)
logs = append(logs, tokendb.getLogs(tokenty.TyLogFinishCreateToken, tokenty.TokenStatusCreated)...) logs = append(logs, tokendb.getLogs(pty.TyLogFinishCreateToken, pty.TokenStatusCreated)...)
kv = append(kv, receiptForToken.KV...) kv = append(kv, receiptForToken.KV...)
kv = append(kv, tokendb.getKVSet(key)...) kv = append(kv, tokendb.getKVSet(key)...)
...@@ -242,19 +242,19 @@ func (action *tokenAction) finishCreate(tokenFinish *tokenty.TokenFinishCreate) ...@@ -242,19 +242,19 @@ func (action *tokenAction) finishCreate(tokenFinish *tokenty.TokenFinishCreate)
return receipt, nil return receipt, nil
} }
func (action *tokenAction) revokeCreate(tokenRevoke *tokenty.TokenRevokeCreate) (*types.Receipt, error) { func (action *tokenAction) revokeCreate(tokenRevoke *pty.TokenRevokeCreate) (*types.Receipt, error) {
if tokenRevoke == nil { if tokenRevoke == nil {
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
token, err := getTokenFromDB(action.db, tokenRevoke.GetSymbol(), tokenRevoke.GetOwner()) token, err := getTokenFromDB(action.db, tokenRevoke.GetSymbol(), tokenRevoke.GetOwner())
if err != nil { if err != nil {
tokenlog.Error("token revokeCreate ", "Can't get token form db for token", tokenRevoke.GetSymbol()) tokenlog.Error("token revokeCreate ", "Can't get token form db for token", tokenRevoke.GetSymbol())
return nil, tokenty.ErrTokenNotPrecreated return nil, pty.ErrTokenNotPrecreated
} }
if token.Status != tokenty.TokenStatusPreCreated { if token.Status != pty.TokenStatusPreCreated {
tokenlog.Error("token revokeCreate ", "token's status should be precreated to be revoked for token", tokenRevoke.GetSymbol()) tokenlog.Error("token revokeCreate ", "token's status should be precreated to be revoked for token", tokenRevoke.GetSymbol())
return nil, tokenty.ErrTokenCanotRevoked return nil, pty.ErrTokenCanotRevoked
} }
//确认交易发起者的身份,token的发起人可以撤销该项token的创建 //确认交易发起者的身份,token的发起人可以撤销该项token的创建
...@@ -262,12 +262,12 @@ func (action *tokenAction) revokeCreate(tokenRevoke *tokenty.TokenRevokeCreate) ...@@ -262,12 +262,12 @@ func (action *tokenAction) revokeCreate(tokenRevoke *tokenty.TokenRevokeCreate)
if action.fromaddr != token.Owner && action.fromaddr != token.Creator { if action.fromaddr != token.Owner && action.fromaddr != token.Creator {
tokenlog.Error("tprocTokenRevokeCreate, different creator/owner vs actor of this revoke", tokenlog.Error("tprocTokenRevokeCreate, different creator/owner vs actor of this revoke",
"action.fromaddr", action.fromaddr, "creator", token.Creator, "owner", token.Owner) "action.fromaddr", action.fromaddr, "creator", token.Creator, "owner", token.Owner)
return nil, tokenty.ErrTokenRevoker return nil, pty.ErrTokenRevoker
} }
var logs []*types.ReceiptLog var logs []*types.ReceiptLog
var kv []*types.KeyValue var kv []*types.KeyValue
if types.IsDappFork(action.height, tokenty.TokenX, "ForkTokenPrice") && token.GetPrice() == 0 { if types.IsDappFork(action.height, pty.TokenX, "ForkTokenPrice") && token.GetPrice() == 0 {
// pay for create token offline // pay for create token offline
} else { } else {
//解锁之前冻结的资金 //解锁之前冻结的资金
...@@ -280,7 +280,7 @@ func (action *tokenAction) revokeCreate(tokenRevoke *tokenty.TokenRevokeCreate) ...@@ -280,7 +280,7 @@ func (action *tokenAction) revokeCreate(tokenRevoke *tokenty.TokenRevokeCreate)
kv = append(kv, receipt.KV...) kv = append(kv, receipt.KV...)
} }
token.Status = tokenty.TokenStatusCreateRevoked token.Status = pty.TokenStatusCreateRevoked
tokendb := &tokenDB{*token} tokendb := &tokenDB{*token}
var key []byte var key []byte
if types.IsFork(action.height, "ForkExecKey") { if types.IsFork(action.height, "ForkExecKey") {
...@@ -290,7 +290,7 @@ func (action *tokenAction) revokeCreate(tokenRevoke *tokenty.TokenRevokeCreate) ...@@ -290,7 +290,7 @@ func (action *tokenAction) revokeCreate(tokenRevoke *tokenty.TokenRevokeCreate)
} }
tokendb.save(action.db, key) tokendb.save(action.db, key)
logs = append(logs, tokendb.getLogs(tokenty.TyLogRevokeCreateToken, tokenty.TokenStatusCreateRevoked)...) logs = append(logs, tokendb.getLogs(pty.TyLogRevokeCreateToken, pty.TokenStatusCreateRevoked)...)
kv = append(kv, tokendb.getKVSet(key)...) kv = append(kv, tokendb.getKVSet(key)...)
receipt := &types.Receipt{types.ExecOk, kv, logs} receipt := &types.Receipt{types.ExecOk, kv, logs}
...@@ -429,7 +429,7 @@ func ValidSymbol(cs []byte) bool { ...@@ -429,7 +429,7 @@ func ValidSymbol(cs []byte) bool {
} }
func ValidSymbolWithHeight(cs []byte, height int64) bool { func ValidSymbolWithHeight(cs []byte, height int64) bool {
if !types.IsDappFork(height, tokenty.TokenX, "ForkBadTokenSymbol") { if !types.IsDappFork(height, pty.TokenX, "ForkBadTokenSymbol") {
symbol := string(cs) symbol := string(cs)
upSymbol := strings.ToUpper(symbol) upSymbol := strings.ToUpper(symbol)
return upSymbol == symbol return upSymbol == symbol
......
...@@ -37,3 +37,9 @@ const ( ...@@ -37,3 +37,9 @@ const (
TyLogTokenGenesisTransfer = 321 TyLogTokenGenesisTransfer = 321
TyLogTokenGenesisDeposit = 322 TyLogTokenGenesisDeposit = 322
) )
const (
TokenNameLenLimit = 128
TokenSymbolLenLimit = 16
TokenIntroLenLimit = 1024
)
...@@ -34,7 +34,7 @@ func (t *trade) localDelLog(tx *types.Transaction, receipt *types.ReceiptData, i ...@@ -34,7 +34,7 @@ func (t *trade) localDelLog(tx *types.Transaction, receipt *types.ReceiptData, i
for i := 0; i < len(receipt.Logs); i++ { for i := 0; i < len(receipt.Logs); i++ {
item := receipt.Logs[i] item := receipt.Logs[i]
if item.Ty == types.TyLogTradeSellLimit || item.Ty == types.TyLogTradeSellRevoke { if item.Ty == pty.TyLogTradeSellLimit || item.Ty == pty.TyLogTradeSellRevoke {
var receipt pty.ReceiptTradeSellLimit var receipt pty.ReceiptTradeSellLimit
err := types.Decode(item.Log, &receipt) err := types.Decode(item.Log, &receipt)
if err != nil { if err != nil {
...@@ -42,7 +42,7 @@ func (t *trade) localDelLog(tx *types.Transaction, receipt *types.ReceiptData, i ...@@ -42,7 +42,7 @@ func (t *trade) localDelLog(tx *types.Transaction, receipt *types.ReceiptData, i
} }
kv := t.deleteSell([]byte(receipt.Base.SellID), item.Ty) kv := t.deleteSell([]byte(receipt.Base.SellID), item.Ty)
set.KV = append(set.KV, kv...) set.KV = append(set.KV, kv...)
} else if item.Ty == types.TyLogTradeBuyMarket { } else if item.Ty == pty.TyLogTradeBuyMarket {
var receipt pty.ReceiptTradeBuyMarket var receipt pty.ReceiptTradeBuyMarket
err := types.Decode(item.Log, &receipt) err := types.Decode(item.Log, &receipt)
if err != nil { if err != nil {
...@@ -50,7 +50,7 @@ func (t *trade) localDelLog(tx *types.Transaction, receipt *types.ReceiptData, i ...@@ -50,7 +50,7 @@ func (t *trade) localDelLog(tx *types.Transaction, receipt *types.ReceiptData, i
} }
kv := t.deleteBuy(receipt.Base) kv := t.deleteBuy(receipt.Base)
set.KV = append(set.KV, kv...) set.KV = append(set.KV, kv...)
} else if item.Ty == types.TyLogTradeBuyRevoke || item.Ty == types.TyLogTradeBuyLimit { } else if item.Ty == pty.TyLogTradeBuyRevoke || item.Ty == pty.TyLogTradeBuyLimit {
var receipt pty.ReceiptTradeBuyLimit var receipt pty.ReceiptTradeBuyLimit
err := types.Decode(item.Log, &receipt) err := types.Decode(item.Log, &receipt)
if err != nil { if err != nil {
...@@ -58,7 +58,7 @@ func (t *trade) localDelLog(tx *types.Transaction, receipt *types.ReceiptData, i ...@@ -58,7 +58,7 @@ func (t *trade) localDelLog(tx *types.Transaction, receipt *types.ReceiptData, i
} }
kv := t.deleteBuyLimit([]byte(receipt.Base.BuyID), item.Ty) kv := t.deleteBuyLimit([]byte(receipt.Base.BuyID), item.Ty)
set.KV = append(set.KV, kv...) set.KV = append(set.KV, kv...)
} else if item.Ty == types.TyLogTradeSellMarket { } else if item.Ty == pty.TyLogTradeSellMarket {
var receipt pty.ReceiptSellMarket var receipt pty.ReceiptSellMarket
err := types.Decode(item.Log, &receipt) err := types.Decode(item.Log, &receipt)
if err != nil { if err != nil {
......
...@@ -34,7 +34,7 @@ func (t *trade) localAddLog(tx *types.Transaction, receipt *types.ReceiptData, i ...@@ -34,7 +34,7 @@ func (t *trade) localAddLog(tx *types.Transaction, receipt *types.ReceiptData, i
for i := 0; i < len(receipt.Logs); i++ { for i := 0; i < len(receipt.Logs); i++ {
item := receipt.Logs[i] item := receipt.Logs[i]
if item.Ty == types.TyLogTradeSellLimit || item.Ty == types.TyLogTradeSellRevoke { if item.Ty == pty.TyLogTradeSellLimit || item.Ty == pty.TyLogTradeSellRevoke {
var receipt pty.ReceiptTradeSellLimit var receipt pty.ReceiptTradeSellLimit
err := types.Decode(item.Log, &receipt) err := types.Decode(item.Log, &receipt)
if err != nil { if err != nil {
...@@ -42,7 +42,7 @@ func (t *trade) localAddLog(tx *types.Transaction, receipt *types.ReceiptData, i ...@@ -42,7 +42,7 @@ func (t *trade) localAddLog(tx *types.Transaction, receipt *types.ReceiptData, i
} }
kv := t.saveSell([]byte(receipt.Base.SellID), item.Ty) kv := t.saveSell([]byte(receipt.Base.SellID), item.Ty)
set.KV = append(set.KV, kv...) set.KV = append(set.KV, kv...)
} else if item.Ty == types.TyLogTradeBuyMarket { } else if item.Ty == pty.TyLogTradeBuyMarket {
var receipt pty.ReceiptTradeBuyMarket var receipt pty.ReceiptTradeBuyMarket
err := types.Decode(item.Log, &receipt) err := types.Decode(item.Log, &receipt)
if err != nil { if err != nil {
...@@ -50,7 +50,7 @@ func (t *trade) localAddLog(tx *types.Transaction, receipt *types.ReceiptData, i ...@@ -50,7 +50,7 @@ func (t *trade) localAddLog(tx *types.Transaction, receipt *types.ReceiptData, i
} }
kv := t.saveBuy(receipt.Base) kv := t.saveBuy(receipt.Base)
set.KV = append(set.KV, kv...) set.KV = append(set.KV, kv...)
} else if item.Ty == types.TyLogTradeBuyRevoke || item.Ty == types.TyLogTradeBuyLimit { } else if item.Ty == pty.TyLogTradeBuyRevoke || item.Ty == pty.TyLogTradeBuyLimit {
var receipt pty.ReceiptTradeBuyLimit var receipt pty.ReceiptTradeBuyLimit
err := types.Decode(item.Log, &receipt) err := types.Decode(item.Log, &receipt)
if err != nil { if err != nil {
...@@ -59,7 +59,7 @@ func (t *trade) localAddLog(tx *types.Transaction, receipt *types.ReceiptData, i ...@@ -59,7 +59,7 @@ func (t *trade) localAddLog(tx *types.Transaction, receipt *types.ReceiptData, i
kv := t.saveBuyLimit([]byte(receipt.Base.BuyID), item.Ty) kv := t.saveBuyLimit([]byte(receipt.Base.BuyID), item.Ty)
set.KV = append(set.KV, kv...) set.KV = append(set.KV, kv...)
} else if item.Ty == types.TyLogTradeSellMarket { } else if item.Ty == pty.TyLogTradeSellMarket {
var receipt pty.ReceiptSellMarket var receipt pty.ReceiptSellMarket
err := types.Decode(item.Log, &receipt) err := types.Decode(item.Log, &receipt)
if err != nil { if err != nil {
......
...@@ -302,7 +302,7 @@ func txResult2sellOrderReply(txResult *types.TxResult) *pty.ReplySellOrder { ...@@ -302,7 +302,7 @@ func txResult2sellOrderReply(txResult *types.TxResult) *pty.ReplySellOrder {
logs := txResult.Receiptdate.Logs logs := txResult.Receiptdate.Logs
tradelog.Debug("txResult2sellOrderReply", "show logs", logs) tradelog.Debug("txResult2sellOrderReply", "show logs", logs)
for _, log := range logs { for _, log := range logs {
if log.Ty == types.TyLogTradeSellMarket { if log.Ty == pty.TyLogTradeSellMarket {
var receipt pty.ReceiptSellMarket var receipt pty.ReceiptSellMarket
err := types.Decode(log.Log, &receipt) err := types.Decode(log.Log, &receipt)
if err != nil { if err != nil {
...@@ -369,7 +369,7 @@ func txResult2buyOrderReply(txResult *types.TxResult) *pty.ReplyBuyOrder { ...@@ -369,7 +369,7 @@ func txResult2buyOrderReply(txResult *types.TxResult) *pty.ReplyBuyOrder {
logs := txResult.Receiptdate.Logs logs := txResult.Receiptdate.Logs
tradelog.Debug("txResult2sellOrderReply", "show logs", logs) tradelog.Debug("txResult2sellOrderReply", "show logs", logs)
for _, log := range logs { for _, log := range logs {
if log.Ty == types.TyLogTradeBuyMarket { if log.Ty == pty.TyLogTradeBuyMarket {
var receipt pty.ReceiptTradeBuyMarket var receipt pty.ReceiptTradeBuyMarket
err := types.Decode(log.Log, &receipt) err := types.Decode(log.Log, &receipt)
if err != nil { if err != nil {
...@@ -525,7 +525,7 @@ func txResult2OrderReply(txResult *types.TxResult) *pty.ReplyTradeOrder { ...@@ -525,7 +525,7 @@ func txResult2OrderReply(txResult *types.TxResult) *pty.ReplyTradeOrder {
logs := txResult.Receiptdate.Logs logs := txResult.Receiptdate.Logs
tradelog.Debug("txResult2sellOrderReply", "show logs", logs) tradelog.Debug("txResult2sellOrderReply", "show logs", logs)
for _, log := range logs { for _, log := range logs {
if log.Ty == types.TyLogTradeBuyMarket { if log.Ty == pty.TyLogTradeBuyMarket {
var receipt pty.ReceiptTradeBuyMarket var receipt pty.ReceiptTradeBuyMarket
err := types.Decode(log.Log, &receipt) err := types.Decode(log.Log, &receipt)
if err != nil { if err != nil {
...@@ -534,7 +534,7 @@ func txResult2OrderReply(txResult *types.TxResult) *pty.ReplyTradeOrder { ...@@ -534,7 +534,7 @@ func txResult2OrderReply(txResult *types.TxResult) *pty.ReplyTradeOrder {
} }
tradelog.Debug("txResult2sellOrderReply", "show logs 1 ", receipt) tradelog.Debug("txResult2sellOrderReply", "show logs 1 ", receipt)
return buyBase2Order(receipt.Base, common.ToHex(txResult.GetTx().Hash()), txResult.Blocktime) return buyBase2Order(receipt.Base, common.ToHex(txResult.GetTx().Hash()), txResult.Blocktime)
} else if log.Ty == types.TyLogTradeBuyRevoke { } else if log.Ty == pty.TyLogTradeBuyRevoke {
var receipt pty.ReceiptTradeBuyRevoke var receipt pty.ReceiptTradeBuyRevoke
err := types.Decode(log.Log, &receipt) err := types.Decode(log.Log, &receipt)
if err != nil { if err != nil {
...@@ -543,7 +543,7 @@ func txResult2OrderReply(txResult *types.TxResult) *pty.ReplyTradeOrder { ...@@ -543,7 +543,7 @@ func txResult2OrderReply(txResult *types.TxResult) *pty.ReplyTradeOrder {
} }
tradelog.Debug("txResult2sellOrderReply", "show logs 1 ", receipt) tradelog.Debug("txResult2sellOrderReply", "show logs 1 ", receipt)
return buyBase2Order(receipt.Base, common.ToHex(txResult.GetTx().Hash()), txResult.Blocktime) return buyBase2Order(receipt.Base, common.ToHex(txResult.GetTx().Hash()), txResult.Blocktime)
} else if log.Ty == types.TyLogTradeSellRevoke { } else if log.Ty == pty.TyLogTradeSellRevoke {
var receipt pty.ReceiptTradeSellRevoke var receipt pty.ReceiptTradeSellRevoke
err := types.Decode(log.Log, &receipt) err := types.Decode(log.Log, &receipt)
if err != nil { if err != nil {
...@@ -552,7 +552,7 @@ func txResult2OrderReply(txResult *types.TxResult) *pty.ReplyTradeOrder { ...@@ -552,7 +552,7 @@ func txResult2OrderReply(txResult *types.TxResult) *pty.ReplyTradeOrder {
} }
tradelog.Debug("txResult2sellOrderReply", "show revoke 1 ", receipt) tradelog.Debug("txResult2sellOrderReply", "show revoke 1 ", receipt)
return sellBase2Order(receipt.Base, common.ToHex(txResult.GetTx().Hash()), txResult.Blocktime) return sellBase2Order(receipt.Base, common.ToHex(txResult.GetTx().Hash()), txResult.Blocktime)
} else if log.Ty == types.TyLogTradeSellMarket { } else if log.Ty == pty.TyLogTradeSellMarket {
var receipt pty.ReceiptSellMarket var receipt pty.ReceiptSellMarket
err := types.Decode(log.Log, &receipt) err := types.Decode(log.Log, &receipt)
if err != nil { if err != nil {
...@@ -570,7 +570,7 @@ func limitOrderTxResult2Order(txResult *types.TxResult) *pty.ReplyTradeOrder { ...@@ -570,7 +570,7 @@ func limitOrderTxResult2Order(txResult *types.TxResult) *pty.ReplyTradeOrder {
logs := txResult.Receiptdate.Logs logs := txResult.Receiptdate.Logs
tradelog.Debug("txResult2sellOrderReply", "show logs", logs) tradelog.Debug("txResult2sellOrderReply", "show logs", logs)
for _, log := range logs { for _, log := range logs {
if log.Ty == types.TyLogTradeSellLimit { if log.Ty == pty.TyLogTradeSellLimit {
var receipt pty.ReceiptTradeSellLimit var receipt pty.ReceiptTradeSellLimit
err := types.Decode(log.Log, &receipt) err := types.Decode(log.Log, &receipt)
if err != nil { if err != nil {
...@@ -579,7 +579,7 @@ func limitOrderTxResult2Order(txResult *types.TxResult) *pty.ReplyTradeOrder { ...@@ -579,7 +579,7 @@ func limitOrderTxResult2Order(txResult *types.TxResult) *pty.ReplyTradeOrder {
} }
tradelog.Debug("txResult2sellOrderReply", "show logs 1 ", receipt) tradelog.Debug("txResult2sellOrderReply", "show logs 1 ", receipt)
return sellBase2Order(receipt.Base, common.ToHex(txResult.GetTx().Hash()), txResult.Blocktime) return sellBase2Order(receipt.Base, common.ToHex(txResult.GetTx().Hash()), txResult.Blocktime)
} else if log.Ty == types.TyLogTradeBuyLimit { } else if log.Ty == pty.TyLogTradeBuyLimit {
var receipt pty.ReceiptTradeBuyLimit var receipt pty.ReceiptTradeBuyLimit
err := types.Decode(log.Log, &receipt) err := types.Decode(log.Log, &receipt)
if err != nil { if err != nil {
......
...@@ -17,7 +17,7 @@ type sellDB struct { ...@@ -17,7 +17,7 @@ type sellDB struct {
func newSellDB(sellOrder pty.SellOrder) (selldb *sellDB) { func newSellDB(sellOrder pty.SellOrder) (selldb *sellDB) {
selldb = &sellDB{sellOrder} selldb = &sellDB{sellOrder}
if types.InvalidStartTime != selldb.Starttime { if pty.InvalidStartTime != selldb.Starttime {
selldb.Status = pty.TradeOrderStatusNotStart selldb.Status = pty.TradeOrderStatusNotStart
} }
return return
...@@ -53,11 +53,11 @@ func (selldb *sellDB) getSellLogs(tradeType int32, txhash string) *types.Receipt ...@@ -53,11 +53,11 @@ func (selldb *sellDB) getSellLogs(tradeType int32, txhash string) *types.Receipt
selldb.Height, selldb.Height,
selldb.AssetExec, selldb.AssetExec,
} }
if types.TyLogTradeSellLimit == tradeType { if pty.TyLogTradeSellLimit == tradeType {
receiptTrade := &pty.ReceiptTradeSellLimit{base} receiptTrade := &pty.ReceiptTradeSellLimit{base}
log.Log = types.Encode(receiptTrade) log.Log = types.Encode(receiptTrade)
} else if types.TyLogTradeSellRevoke == tradeType { } else if pty.TyLogTradeSellRevoke == tradeType {
receiptTrade := &pty.ReceiptTradeSellRevoke{base} receiptTrade := &pty.ReceiptTradeSellRevoke{base}
log.Log = types.Encode(receiptTrade) log.Log = types.Encode(receiptTrade)
} }
...@@ -67,7 +67,7 @@ func (selldb *sellDB) getSellLogs(tradeType int32, txhash string) *types.Receipt ...@@ -67,7 +67,7 @@ func (selldb *sellDB) getSellLogs(tradeType int32, txhash string) *types.Receipt
func (selldb *sellDB) getBuyLogs(buyerAddr string, boardlotcnt int64, txhash string) *types.ReceiptLog { func (selldb *sellDB) getBuyLogs(buyerAddr string, boardlotcnt int64, txhash string) *types.ReceiptLog {
log := &types.ReceiptLog{} log := &types.ReceiptLog{}
log.Ty = types.TyLogTradeBuyMarket log.Ty = pty.TyLogTradeBuyMarket
base := &pty.ReceiptBuyBase{ base := &pty.ReceiptBuyBase{
selldb.TokenSymbol, selldb.TokenSymbol,
buyerAddr, buyerAddr,
...@@ -174,11 +174,11 @@ func (buydb *buyDB) getBuyLogs(tradeType int32, txhash string) *types.ReceiptLog ...@@ -174,11 +174,11 @@ func (buydb *buyDB) getBuyLogs(tradeType int32, txhash string) *types.ReceiptLog
buydb.Height, buydb.Height,
buydb.AssetExec, buydb.AssetExec,
} }
if types.TyLogTradeBuyLimit == tradeType { if pty.TyLogTradeBuyLimit == tradeType {
receiptTrade := &pty.ReceiptTradeBuyLimit{base} receiptTrade := &pty.ReceiptTradeBuyLimit{base}
log.Log = types.Encode(receiptTrade) log.Log = types.Encode(receiptTrade)
} else if types.TyLogTradeBuyRevoke == tradeType { } else if pty.TyLogTradeBuyRevoke == tradeType {
receiptTrade := &pty.ReceiptTradeBuyRevoke{base} receiptTrade := &pty.ReceiptTradeBuyRevoke{base}
log.Log = types.Encode(receiptTrade) log.Log = types.Encode(receiptTrade)
} }
...@@ -203,7 +203,7 @@ func getBuyOrderFromID(buyID []byte, db dbm.KV) (*pty.BuyLimitOrder, error) { ...@@ -203,7 +203,7 @@ func getBuyOrderFromID(buyID []byte, db dbm.KV) (*pty.BuyLimitOrder, error) {
func (buydb *buyDB) getSellLogs(sellerAddr string, sellID string, boardlotCnt int64, txhash string) *types.ReceiptLog { func (buydb *buyDB) getSellLogs(sellerAddr string, sellID string, boardlotCnt int64, txhash string) *types.ReceiptLog {
log := &types.ReceiptLog{} log := &types.ReceiptLog{}
log.Ty = types.TyLogTradeSellMarket log.Ty = pty.TyLogTradeSellMarket
base := &pty.ReceiptSellBase{ base := &pty.ReceiptSellBase{
buydb.TokenSymbol, buydb.TokenSymbol,
sellerAddr, sellerAddr,
...@@ -287,7 +287,7 @@ func (action *tradeAction) tradeSell(sell *pty.TradeForSell) (*types.Receipt, er ...@@ -287,7 +287,7 @@ func (action *tradeAction) tradeSell(sell *pty.TradeForSell) (*types.Receipt, er
tokendb := newSellDB(sellOrder) tokendb := newSellDB(sellOrder)
sellOrderKV := tokendb.save(action.db) sellOrderKV := tokendb.save(action.db)
logs = append(logs, receipt.Logs...) logs = append(logs, receipt.Logs...)
logs = append(logs, tokendb.getSellLogs(types.TyLogTradeSellLimit, action.txhash)) logs = append(logs, tokendb.getSellLogs(pty.TyLogTradeSellLimit, action.txhash))
kv = append(kv, receipt.KV...) kv = append(kv, receipt.KV...)
kv = append(kv, sellOrderKV...) kv = append(kv, sellOrderKV...)
...@@ -357,7 +357,7 @@ func (action *tradeAction) tradeBuy(buyOrder *pty.TradeForBuy) (*types.Receipt, ...@@ -357,7 +357,7 @@ func (action *tradeAction) tradeBuy(buyOrder *pty.TradeForBuy) (*types.Receipt,
logs = append(logs, receiptFromAcc.Logs...) logs = append(logs, receiptFromAcc.Logs...)
logs = append(logs, receiptFromExecAcc.Logs...) logs = append(logs, receiptFromExecAcc.Logs...)
logs = append(logs, sellTokendb.getSellLogs(types.TyLogTradeSellLimit, action.txhash)) logs = append(logs, sellTokendb.getSellLogs(pty.TyLogTradeSellLimit, action.txhash))
logs = append(logs, sellTokendb.getBuyLogs(action.fromaddr, buyOrder.BoardlotCnt, action.txhash)) logs = append(logs, sellTokendb.getBuyLogs(action.fromaddr, buyOrder.BoardlotCnt, action.txhash))
kv = append(kv, receiptFromAcc.KV...) kv = append(kv, receiptFromAcc.KV...)
kv = append(kv, receiptFromExecAcc.KV...) kv = append(kv, receiptFromExecAcc.KV...)
...@@ -402,7 +402,7 @@ func (action *tradeAction) tradeRevokeSell(revoke *pty.TradeForRevokeSell) (*typ ...@@ -402,7 +402,7 @@ func (action *tradeAction) tradeRevokeSell(revoke *pty.TradeForRevokeSell) (*typ
sellOrderKV := tokendb.save(action.db) sellOrderKV := tokendb.save(action.db)
logs = append(logs, receiptFromExecAcc.Logs...) logs = append(logs, receiptFromExecAcc.Logs...)
logs = append(logs, tokendb.getSellLogs(types.TyLogTradeSellRevoke, action.txhash)) logs = append(logs, tokendb.getSellLogs(pty.TyLogTradeSellRevoke, action.txhash))
kv = append(kv, receiptFromExecAcc.KV...) kv = append(kv, receiptFromExecAcc.KV...)
kv = append(kv, sellOrderKV...) kv = append(kv, sellOrderKV...)
return &types.Receipt{types.ExecOk, kv, logs}, nil return &types.Receipt{types.ExecOk, kv, logs}, nil
...@@ -444,7 +444,7 @@ func (action *tradeAction) tradeBuyLimit(buy *pty.TradeForBuyLimit) (*types.Rece ...@@ -444,7 +444,7 @@ func (action *tradeAction) tradeBuyLimit(buy *pty.TradeForBuyLimit) (*types.Rece
tokendb := newBuyDB(buyOrder) tokendb := newBuyDB(buyOrder)
buyOrderKV := tokendb.save(action.db) buyOrderKV := tokendb.save(action.db)
logs = append(logs, receipt.Logs...) logs = append(logs, receipt.Logs...)
logs = append(logs, tokendb.getBuyLogs(types.TyLogTradeBuyLimit, action.txhash)) logs = append(logs, tokendb.getBuyLogs(pty.TyLogTradeBuyLimit, action.txhash))
kv = append(kv, receipt.KV...) kv = append(kv, receipt.KV...)
kv = append(kv, buyOrderKV...) kv = append(kv, buyOrderKV...)
...@@ -514,7 +514,7 @@ func (action *tradeAction) tradeSellMarket(sellOrder *pty.TradeForSellMarket) (* ...@@ -514,7 +514,7 @@ func (action *tradeAction) tradeSellMarket(sellOrder *pty.TradeForSellMarket) (*
logs = append(logs, receiptFromAcc.Logs...) logs = append(logs, receiptFromAcc.Logs...)
logs = append(logs, receiptFromExecAcc.Logs...) logs = append(logs, receiptFromExecAcc.Logs...)
logs = append(logs, buyTokendb.getBuyLogs(types.TyLogTradeBuyLimit, action.txhash)) logs = append(logs, buyTokendb.getBuyLogs(pty.TyLogTradeBuyLimit, action.txhash))
logs = append(logs, buyTokendb.getSellLogs(action.fromaddr, action.txhash, sellOrder.BoardlotCnt, action.txhash)) logs = append(logs, buyTokendb.getSellLogs(action.fromaddr, action.txhash, sellOrder.BoardlotCnt, action.txhash))
kv = append(kv, receiptFromAcc.KV...) kv = append(kv, receiptFromAcc.KV...)
kv = append(kv, receiptFromExecAcc.KV...) kv = append(kv, receiptFromExecAcc.KV...)
...@@ -555,7 +555,7 @@ func (action *tradeAction) tradeRevokeBuyLimit(revoke *pty.TradeForRevokeBuy) (* ...@@ -555,7 +555,7 @@ func (action *tradeAction) tradeRevokeBuyLimit(revoke *pty.TradeForRevokeBuy) (*
sellOrderKV := tokendb.save(action.db) sellOrderKV := tokendb.save(action.db)
logs = append(logs, receiptFromExecAcc.Logs...) logs = append(logs, receiptFromExecAcc.Logs...)
logs = append(logs, tokendb.getBuyLogs(types.TyLogTradeBuyRevoke, action.txhash)) logs = append(logs, tokendb.getBuyLogs(pty.TyLogTradeBuyRevoke, action.txhash))
kv = append(kv, receiptFromExecAcc.KV...) kv = append(kv, receiptFromExecAcc.KV...)
kv = append(kv, sellOrderKV...) kv = append(kv, sellOrderKV...)
return &types.Receipt{types.ExecOk, kv, logs}, nil return &types.Receipt{types.ExecOk, kv, logs}, nil
......
...@@ -10,7 +10,7 @@ import ( ...@@ -10,7 +10,7 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"gitlab.33.cn/chain33/chain33/client/mocks" "gitlab.33.cn/chain33/chain33/client/mocks"
ptypes "gitlab.33.cn/chain33/chain33/plugin/dapp/trade/types" pty "gitlab.33.cn/chain33/chain33/plugin/dapp/trade/types"
rpctypes "gitlab.33.cn/chain33/chain33/rpc/types" rpctypes "gitlab.33.cn/chain33/chain33/rpc/types"
) )
...@@ -30,7 +30,7 @@ func TestChain33_CreateRawTradeSellTx(t *testing.T) { ...@@ -30,7 +30,7 @@ func TestChain33_CreateRawTradeSellTx(t *testing.T) {
assert.NotNil(t, err) assert.NotNil(t, err)
assert.Nil(t, testResult) assert.Nil(t, testResult)
token := &ptypes.TradeSellTx{ token := &pty.TradeSellTx{
TokenSymbol: "CNY", TokenSymbol: "CNY",
AmountPerBoardlot: 10, AmountPerBoardlot: 10,
MinBoardlot: 1, MinBoardlot: 1,
...@@ -51,7 +51,7 @@ func TestChain33_CreateRawTradeBuyTx(t *testing.T) { ...@@ -51,7 +51,7 @@ func TestChain33_CreateRawTradeBuyTx(t *testing.T) {
assert.NotNil(t, err) assert.NotNil(t, err)
assert.Nil(t, testResult) assert.Nil(t, testResult)
token := &ptypes.TradeBuyTx{ token := &pty.TradeBuyTx{
SellID: "sadfghjkhgfdsa", SellID: "sadfghjkhgfdsa",
BoardlotCnt: 100, BoardlotCnt: 100,
Fee: 1, Fee: 1,
...@@ -69,7 +69,7 @@ func TestChain33_CreateRawTradeRevokeTx(t *testing.T) { ...@@ -69,7 +69,7 @@ func TestChain33_CreateRawTradeRevokeTx(t *testing.T) {
assert.NotNil(t, err) assert.NotNil(t, err)
assert.Nil(t, testResult) assert.Nil(t, testResult)
token := &ptypes.TradeRevokeTx{ token := &pty.TradeRevokeTx{
SellID: "sadfghjkhgfdsa", SellID: "sadfghjkhgfdsa",
Fee: 1, Fee: 1,
} }
...@@ -87,7 +87,7 @@ func TestChain33_CreateRawTradeBuyLimitTx(t *testing.T) { ...@@ -87,7 +87,7 @@ func TestChain33_CreateRawTradeBuyLimitTx(t *testing.T) {
assert.NotNil(t, err) assert.NotNil(t, err)
assert.Nil(t, testResult) assert.Nil(t, testResult)
token := &ptypes.TradeBuyLimitTx{ token := &pty.TradeBuyLimitTx{
TokenSymbol: "CNY", TokenSymbol: "CNY",
AmountPerBoardlot: 10, AmountPerBoardlot: 10,
MinBoardlot: 1, MinBoardlot: 1,
...@@ -109,7 +109,7 @@ func TestChain33_CreateRawTradeSellMarketTx(t *testing.T) { ...@@ -109,7 +109,7 @@ func TestChain33_CreateRawTradeSellMarketTx(t *testing.T) {
assert.NotNil(t, err) assert.NotNil(t, err)
assert.Nil(t, testResult) assert.Nil(t, testResult)
token := &ptypes.TradeSellMarketTx{ token := &pty.TradeSellMarketTx{
BuyID: "12asdfa", BuyID: "12asdfa",
BoardlotCnt: 100, BoardlotCnt: 100,
Fee: 1, Fee: 1,
...@@ -128,7 +128,7 @@ func TestChain33_CreateRawTradeRevokeBuyTx(t *testing.T) { ...@@ -128,7 +128,7 @@ func TestChain33_CreateRawTradeRevokeBuyTx(t *testing.T) {
assert.NotNil(t, err) assert.NotNil(t, err)
assert.Nil(t, testResult) assert.Nil(t, testResult)
token := &ptypes.TradeRevokeBuyTx{ token := &pty.TradeRevokeBuyTx{
BuyID: "12asdfa", BuyID: "12asdfa",
Fee: 1, Fee: 1,
} }
...@@ -139,11 +139,11 @@ func TestChain33_CreateRawTradeRevokeBuyTx(t *testing.T) { ...@@ -139,11 +139,11 @@ func TestChain33_CreateRawTradeRevokeBuyTx(t *testing.T) {
} }
func TestDecodeLogTradeSellLimit(t *testing.T) { func TestDecodeLogTradeSellLimit(t *testing.T) {
var logTmp = &ptypes.ReceiptTradeSellLimit{} var logTmp = &pty.ReceiptTradeSellLimit{}
dec := types.Encode(logTmp) dec := types.Encode(logTmp)
strdec := hex.EncodeToString(dec) strdec := hex.EncodeToString(dec)
rlog := &rpctypes.ReceiptLog{ rlog := &rpctypes.ReceiptLog{
Ty: types.TyLogTradeSellLimit, Ty: pty.TyLogTradeSellLimit,
Log: "0x" + strdec, Log: "0x" + strdec,
} }
...@@ -161,11 +161,11 @@ func TestDecodeLogTradeSellLimit(t *testing.T) { ...@@ -161,11 +161,11 @@ func TestDecodeLogTradeSellLimit(t *testing.T) {
} }
func TestDecodeLogTradeSellRevoke(t *testing.T) { func TestDecodeLogTradeSellRevoke(t *testing.T) {
var logTmp = &ptypes.ReceiptTradeBuyMarket{} var logTmp = &pty.ReceiptTradeBuyMarket{}
dec := types.Encode(logTmp) dec := types.Encode(logTmp)
strdec := hex.EncodeToString(dec) strdec := hex.EncodeToString(dec)
rlog := &rpctypes.ReceiptLog{ rlog := &rpctypes.ReceiptLog{
Ty: types.TyLogTradeSellRevoke, Ty: pty.TyLogTradeSellRevoke,
Log: "0x" + strdec, Log: "0x" + strdec,
} }
...@@ -183,11 +183,11 @@ func TestDecodeLogTradeSellRevoke(t *testing.T) { ...@@ -183,11 +183,11 @@ func TestDecodeLogTradeSellRevoke(t *testing.T) {
} }
func TestDecodeLogTradeBuyLimit(t *testing.T) { func TestDecodeLogTradeBuyLimit(t *testing.T) {
var logTmp = &ptypes.ReceiptTradeBuyLimit{} var logTmp = &pty.ReceiptTradeBuyLimit{}
dec := types.Encode(logTmp) dec := types.Encode(logTmp)
strdec := hex.EncodeToString(dec) strdec := hex.EncodeToString(dec)
rlog := &rpctypes.ReceiptLog{ rlog := &rpctypes.ReceiptLog{
Ty: types.TyLogTradeBuyLimit, Ty: pty.TyLogTradeBuyLimit,
Log: "0x" + strdec, Log: "0x" + strdec,
} }
...@@ -205,11 +205,11 @@ func TestDecodeLogTradeBuyLimit(t *testing.T) { ...@@ -205,11 +205,11 @@ func TestDecodeLogTradeBuyLimit(t *testing.T) {
} }
func TestDecodeLogTradeSellMarket(t *testing.T) { func TestDecodeLogTradeSellMarket(t *testing.T) {
var logTmp = &ptypes.ReceiptSellMarket{} var logTmp = &pty.ReceiptSellMarket{}
dec := types.Encode(logTmp) dec := types.Encode(logTmp)
strdec := hex.EncodeToString(dec) strdec := hex.EncodeToString(dec)
rlog := &rpctypes.ReceiptLog{ rlog := &rpctypes.ReceiptLog{
Ty: types.TyLogTradeSellMarket, Ty: pty.TyLogTradeSellMarket,
Log: "0x" + strdec, Log: "0x" + strdec,
} }
...@@ -227,11 +227,11 @@ func TestDecodeLogTradeSellMarket(t *testing.T) { ...@@ -227,11 +227,11 @@ func TestDecodeLogTradeSellMarket(t *testing.T) {
} }
func TestDecodeLogTradeBuyRevoke(t *testing.T) { func TestDecodeLogTradeBuyRevoke(t *testing.T) {
var logTmp = &ptypes.ReceiptTradeBuyRevoke{} var logTmp = &pty.ReceiptTradeBuyRevoke{}
dec := types.Encode(logTmp) dec := types.Encode(logTmp)
strdec := hex.EncodeToString(dec) strdec := hex.EncodeToString(dec)
rlog := &rpctypes.ReceiptLog{ rlog := &rpctypes.ReceiptLog{
Ty: types.TyLogTradeBuyRevoke, Ty: pty.TyLogTradeBuyRevoke,
Log: "0x" + strdec, Log: "0x" + strdec,
} }
...@@ -249,11 +249,11 @@ func TestDecodeLogTradeBuyRevoke(t *testing.T) { ...@@ -249,11 +249,11 @@ func TestDecodeLogTradeBuyRevoke(t *testing.T) {
} }
func TestDecodeLogTradeBuyMarket(t *testing.T) { func TestDecodeLogTradeBuyMarket(t *testing.T) {
var logTmp = &ptypes.ReceiptTradeBuyMarket{} var logTmp = &pty.ReceiptTradeBuyMarket{}
dec := types.Encode(logTmp) dec := types.Encode(logTmp)
strdec := hex.EncodeToString(dec) strdec := hex.EncodeToString(dec)
rlog := &rpctypes.ReceiptLog{ rlog := &rpctypes.ReceiptLog{
Ty: types.TyLogTradeBuyMarket, Ty: pty.TyLogTradeBuyMarket,
Log: "0x" + strdec, Log: "0x" + strdec,
} }
...@@ -275,10 +275,10 @@ func TestChain33_GetLastMemPoolOk(t *testing.T) { ...@@ -275,10 +275,10 @@ func TestChain33_GetLastMemPoolOk(t *testing.T) {
testChain33 := newTestChain33(api) testChain33 := newTestChain33(api)
var txlist types.ReplyTxList var txlist types.ReplyTxList
var action ptypes.Trade var action pty.Trade
act := types.Encode(&action) act := types.Encode(&action)
var tx = &types.Transaction{ var tx = &types.Transaction{
Execer: []byte(types.ExecName(ptypes.TradeX)), Execer: []byte(types.ExecName(pty.TradeX)),
Payload: act, Payload: act,
To: "to", To: "to",
} }
......
...@@ -10,6 +10,17 @@ const ( ...@@ -10,6 +10,17 @@ const (
TradeRevokeBuy TradeRevokeBuy
) )
// log
const (
TyLogTradeSellLimit = 310
TyLogTradeBuyMarket = 311
TyLogTradeSellRevoke = 312
TyLogTradeSellMarket = 330
TyLogTradeBuyLimit = 331
TyLogTradeBuyRevoke = 332
)
// 0->not start, 1->on sale, 2->sold out, 3->revoke, 4->expired // 0->not start, 1->on sale, 2->sold out, 3->revoke, 4->expired
const ( const (
TradeOrderStatusNotStart = iota TradeOrderStatusNotStart = iota
...@@ -55,3 +66,7 @@ var MapBuyOrderStatusStr2Int = map[string]int32{ ...@@ -55,3 +66,7 @@ var MapBuyOrderStatusStr2Int = map[string]int32{
"boughtout": TradeOrderStatusBoughtOut, "boughtout": TradeOrderStatusBoughtOut,
"buyrevoked": TradeOrderStatusBuyRevoked, "buyrevoked": TradeOrderStatusBuyRevoked,
} }
const (
InvalidStartTime = 0
)
...@@ -22,12 +22,12 @@ var ( ...@@ -22,12 +22,12 @@ var (
} }
logInfo = map[int64]*types.LogInfo{ logInfo = map[int64]*types.LogInfo{
types.TyLogTradeSellLimit: {reflect.TypeOf(ReceiptTradeSellLimit{}), "LogTradeSell"}, TyLogTradeSellLimit: {reflect.TypeOf(ReceiptTradeSellLimit{}), "LogTradeSell"},
types.TyLogTradeBuyMarket: {reflect.TypeOf(ReceiptTradeBuyMarket{}), "LogTradeBuyMarket"}, TyLogTradeBuyMarket: {reflect.TypeOf(ReceiptTradeBuyMarket{}), "LogTradeBuyMarket"},
types.TyLogTradeSellRevoke: {reflect.TypeOf(ReceiptTradeSellRevoke{}), "LogTradeSellRevoke"}, TyLogTradeSellRevoke: {reflect.TypeOf(ReceiptTradeSellRevoke{}), "LogTradeSellRevoke"},
types.TyLogTradeSellMarket: {reflect.TypeOf(ReceiptSellMarket{}), "LogTradeSellMarket"}, TyLogTradeSellMarket: {reflect.TypeOf(ReceiptSellMarket{}), "LogTradeSellMarket"},
types.TyLogTradeBuyLimit: {reflect.TypeOf(ReceiptTradeBuyLimit{}), "LogTradeBuyLimit"}, TyLogTradeBuyLimit: {reflect.TypeOf(ReceiptTradeBuyLimit{}), "LogTradeBuyLimit"},
types.TyLogTradeBuyRevoke: {reflect.TypeOf(ReceiptTradeBuyRevoke{}), "LogTradeBuyRevoke"}, TyLogTradeBuyRevoke: {reflect.TypeOf(ReceiptTradeBuyRevoke{}), "LogTradeBuyRevoke"},
} }
) )
......
package plugin package init
import ( import (
_ "gitlab.33.cn/chain33/chain33/plugin/store/kvdb" _ "gitlab.33.cn/chain33/chain33/plugin/store/kvdb"
......
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