Commit c1a98ed1 authored by hxzqlh's avatar hxzqlh

update chain33; fix linter error

parent 481152c1
...@@ -3,7 +3,7 @@ module github.com/33cn/plugin ...@@ -3,7 +3,7 @@ module github.com/33cn/plugin
go 1.12 go 1.12
require ( require (
github.com/33cn/chain33 v0.0.0-20200108042336-2dda2dfb7e0e github.com/33cn/chain33 v0.0.0-20200109024406-6514ff4beb02
github.com/BurntSushi/toml v0.3.1 github.com/BurntSushi/toml v0.3.1
github.com/NebulousLabs/Sia v1.3.7 github.com/NebulousLabs/Sia v1.3.7
github.com/beorn7/perks v1.0.1 // indirect github.com/beorn7/perks v1.0.1 // indirect
......
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/33cn/chain33 v0.0.0-20200108042336-2dda2dfb7e0e h1:FMnJCJUDEsjHURlHv3zqiiftvNCtTbsMSjXSykG7htc= github.com/33cn/chain33 v0.0.0-20200108042336-2dda2dfb7e0e h1:FMnJCJUDEsjHURlHv3zqiiftvNCtTbsMSjXSykG7htc=
github.com/33cn/chain33 v0.0.0-20200108042336-2dda2dfb7e0e/go.mod h1:4I8n+Zyf3t0UKM5jjpqJY627Tub62oXkLsdzIv4r6rQ= github.com/33cn/chain33 v0.0.0-20200108042336-2dda2dfb7e0e/go.mod h1:4I8n+Zyf3t0UKM5jjpqJY627Tub62oXkLsdzIv4r6rQ=
github.com/33cn/chain33 v0.0.0-20200109024406-6514ff4beb02 h1:OyEN91t4fEsb7N3i86A5u1f0j5D1L/VW0QzKEXqgjLg=
github.com/33cn/chain33 v0.0.0-20200109024406-6514ff4beb02/go.mod h1:4I8n+Zyf3t0UKM5jjpqJY627Tub62oXkLsdzIv4r6rQ=
github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7 h1:PqzgE6kAMi81xWQA2QIVxjWkFHptGgC547vchpUbtFo= github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7 h1:PqzgE6kAMi81xWQA2QIVxjWkFHptGgC547vchpUbtFo=
github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
......
...@@ -386,12 +386,15 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload * ...@@ -386,12 +386,15 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload *
matched = matchorder.GetBalance() matched = matchorder.GetBalance()
} }
elog.Info("try match", "activeId", or.OrderID, "passiveId", matchorder.OrderID, "activeAddr", or.Addr, "passiveAddr",
matchorder.Addr, "amount", matched, "price", payload.Price)
if payload.Op == et.OpSell { if payload.Op == et.OpSell {
//转移冻结资产 //转移冻结资产
amount := CalcActualCost(matchorder.GetLimitOrder().Op, matched, payload.Price) amount := CalcActualCost(matchorder.GetLimitOrder().Op, matched, payload.Price)
receipt, err := rightAccountDB.ExecTransferFrozen(matchorder.Addr, a.fromaddr, a.execaddr, amount) receipt, err := rightAccountDB.ExecTransferFrozen(matchorder.Addr, a.fromaddr, a.execaddr, amount)
if err != nil { if err != nil {
elog.Error("matchLimitOrder.ExecTransferFrozen", "addr", matchorder.Addr, "amount", amount, "err", err) elog.Error("matchModel.ExecTransferFrozen", "from", matchorder.Addr, "to", a.fromaddr, "amount", amount, "err", err)
return nil, nil, err return nil, nil, err
} }
logs = append(logs, receipt.Logs...) logs = append(logs, receipt.Logs...)
...@@ -401,7 +404,7 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload * ...@@ -401,7 +404,7 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload *
amount := CalcActualCost(matchorder.GetLimitOrder().Op, matched, matchorder.GetLimitOrder().Price-payload.Price) amount := CalcActualCost(matchorder.GetLimitOrder().Op, matched, matchorder.GetLimitOrder().Price-payload.Price)
receipt, err := rightAccountDB.ExecActive(matchorder.Addr, a.execaddr, amount) receipt, err := rightAccountDB.ExecActive(matchorder.Addr, a.execaddr, amount)
if err != nil { if err != nil {
elog.Error("matchLimitOrder.ExecActive", "addr", matchorder.Addr, "amount", amount, "err", err.Error()) elog.Error("matchModel.ExecActive", "addr", matchorder.Addr, "amount", amount, "err", err.Error())
return nil, nil, err return nil, nil, err
} }
logs = append(logs, receipt.Logs...) logs = append(logs, receipt.Logs...)
...@@ -411,7 +414,7 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload * ...@@ -411,7 +414,7 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload *
amount = CalcActualCost(payload.Op, matched, payload.Price) amount = CalcActualCost(payload.Op, matched, payload.Price)
receipt, err = leftAccountDB.ExecTransfer(a.fromaddr, matchorder.Addr, a.execaddr, amount) receipt, err = leftAccountDB.ExecTransfer(a.fromaddr, matchorder.Addr, a.execaddr, amount)
if err != nil { if err != nil {
elog.Error("matchLimitOrder.ExecTransfer", "addr", a.fromaddr, "amount", amount, "err", err.Error()) elog.Error("matchModel.ExecTransfer", "from", a.fromaddr, "to", matchorder.Addr, "amount", amount, "err", err.Error())
return nil, nil, err return nil, nil, err
} }
logs = append(logs, receipt.Logs...) logs = append(logs, receipt.Logs...)
...@@ -427,7 +430,7 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload * ...@@ -427,7 +430,7 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload *
amount := CalcActualCost(matchorder.GetLimitOrder().Op, matched, matchorder.GetLimitOrder().Price) amount := CalcActualCost(matchorder.GetLimitOrder().Op, matched, matchorder.GetLimitOrder().Price)
receipt, err := leftAccountDB.ExecTransferFrozen(matchorder.Addr, a.fromaddr, a.execaddr, amount) receipt, err := leftAccountDB.ExecTransferFrozen(matchorder.Addr, a.fromaddr, a.execaddr, amount)
if err != nil { if err != nil {
elog.Error("matchLimitOrder.ExecTransferFrozen", "addr", matchorder.Addr, "amount", amount, "err", err.Error()) elog.Error("matchModel.ExecTransferFrozen2", "from", matchorder.Addr, "to", a.fromaddr, "amount", amount, "err", err.Error())
return nil, nil, err return nil, nil, err
} }
logs = append(logs, receipt.Logs...) logs = append(logs, receipt.Logs...)
...@@ -436,7 +439,7 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload * ...@@ -436,7 +439,7 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload *
amount = CalcActualCost(payload.Op, matched, matchorder.GetLimitOrder().Price) amount = CalcActualCost(payload.Op, matched, matchorder.GetLimitOrder().Price)
receipt, err = rightAccountDB.ExecTransfer(a.fromaddr, matchorder.Addr, a.execaddr, amount) receipt, err = rightAccountDB.ExecTransfer(a.fromaddr, matchorder.Addr, a.execaddr, amount)
if err != nil { if err != nil {
elog.Error("matchLimitOrder.ExecTransfer", "addr", a.fromaddr, "amount", amount, "err", err.Error()) elog.Error("matchModel.ExecTransfer2", "from", a.fromaddr, "to", matchorder.Addr, "amount", amount, "err", err.Error())
return nil, nil, err return nil, nil, err
} }
logs = append(logs, receipt.Logs...) logs = append(logs, receipt.Logs...)
...@@ -465,7 +468,7 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload * ...@@ -465,7 +468,7 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload *
matchorder.Executed = matched matchorder.Executed = matched
kvs = append(kvs, a.GetKVSet(matchorder)...) kvs = append(kvs, a.GetKVSet(matchorder)...)
or.Executed += matched // TODO why not += ? or.Executed += matched
or.Balance = 0 or.Balance = 0
kvs = append(kvs, a.GetKVSet(or)...) //or complete kvs = append(kvs, a.GetKVSet(or)...) //or complete
} else { } else {
......
...@@ -10,17 +10,8 @@ import ( ...@@ -10,17 +10,8 @@ import (
var ( var (
cli *test.GRPCCli cli *test.GRPCCli
Genesis = "0x3990969DF92A5914F7B71EEB9A4E58D6E255F32BF042FEA5318FC8B3D50EE6E8" // 1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs
PrivKeyA = "0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b" // 1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4 PrivKeyA = "0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b" // 1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4
PrivKeyB = "0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4" // 1JRNjdEqp4LJ5fqycUBm9ayCKSeeskgMKR PrivKeyB = "0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4" // 1JRNjdEqp4LJ5fqycUBm9ayCKSeeskgMKR
PrivKeyC = "0x7a80a1f75d7360c6123c32a78ecf978c1ac55636f87892df38d8b85a9aeff115" // 1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k
PrivKeyD = "0xcacb1f5d51700aea07fca2246ab43b0917d70405c65edea9b5063d72eb5c6b71" // 1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs
Nodes = []string{
"1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4",
"1JRNjdEqp4LJ5fqycUBm9ayCKSeeskgMKR",
"1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k",
"1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs",
}
) )
// 批量测试前,先确保测试账户有足够的币和钱 // 批量测试前,先确保测试账户有足够的币和钱
......
...@@ -3,6 +3,8 @@ package test ...@@ -3,6 +3,8 @@ package test
import ( import (
"testing" "testing"
"github.com/golang/protobuf/proto"
"github.com/33cn/plugin/plugin/dapp/exchange/executor" "github.com/33cn/plugin/plugin/dapp/exchange/executor"
"github.com/33cn/chain33/types" "github.com/33cn/chain33/types"
...@@ -21,7 +23,7 @@ var ( ...@@ -21,7 +23,7 @@ var (
rightAsset = &et.Asset{Symbol: token, Execer: "token"} rightAsset = &et.Asset{Symbol: token, Execer: "token"}
cli Cli cli Cli
orderId int64 orderID int64
) )
func init() { func init() {
...@@ -39,11 +41,11 @@ func TestOrderList(t *testing.T) { ...@@ -39,11 +41,11 @@ func TestOrderList(t *testing.T) {
orderList, err := getOrderList(et.Ordered, Nodes[0], "") orderList, err := getOrderList(et.Ordered, Nodes[0], "")
assert.Nil(t, err) assert.Nil(t, err)
t.Log(orderList) t.Log(orderList)
orderId = orderList.List[0].OrderID orderID = orderList.List[0].OrderID
} }
func TestGetOrder(t *testing.T) { func TestGetOrder(t *testing.T) {
order, err := getOrder(orderId) order, err := getOrder(orderID)
assert.Nil(t, err) assert.Nil(t, err)
t.Log(order) t.Log(order)
} }
...@@ -71,7 +73,7 @@ func TestHistoryOrderList(t *testing.T) { ...@@ -71,7 +73,7 @@ func TestHistoryOrderList(t *testing.T) {
func TestRevokeOrder(t *testing.T) { func TestRevokeOrder(t *testing.T) {
//A 撤回未完成订单 //A 撤回未完成订单
testRevokeLimitOrder(t, orderId, Nodes[0], PrivKeyA) testRevokeLimitOrder(t, orderID, Nodes[0], PrivKeyA)
} }
func TestSample0(t *testing.T) { func TestSample0(t *testing.T) {
...@@ -219,8 +221,8 @@ func getOrder(orderID int64) (*et.Order, error) { ...@@ -219,8 +221,8 @@ func getOrder(orderID int64) (*et.Order, error) {
return &resp, nil return &resp, nil
} }
func getMarketDepth(query *et.QueryMarketDepth) (*et.MarketDepthList, error) { func getMarketDepth(q proto.Message) (*et.MarketDepthList, error) {
msg, err := cli.Query(et.FuncNameQueryMarketDepth, query) msg, err := cli.Query(et.FuncNameQueryMarketDepth, q)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -233,8 +235,8 @@ func getMarketDepth(query *et.QueryMarketDepth) (*et.MarketDepthList, error) { ...@@ -233,8 +235,8 @@ func getMarketDepth(query *et.QueryMarketDepth) (*et.MarketDepthList, error) {
return &resp, nil return &resp, nil
} }
func getHistoryOrderList(query *et.QueryHistoryOrderList) (*et.OrderList, error) { func getHistoryOrderList(q proto.Message) (*et.OrderList, error) {
msg, err := cli.Query(et.FuncNameQueryHistoryOrderList, query) msg, err := cli.Query(et.FuncNameQueryHistoryOrderList, q)
if err != nil { if err != nil {
return nil, err return nil, err
} }
......
...@@ -90,14 +90,11 @@ func (c *GRPCCli) GetExecAccount(addr string, exec string, symbol string) (*type ...@@ -90,14 +90,11 @@ func (c *GRPCCli) GetExecAccount(addr string, exec string, symbol string) (*type
} }
// token: ccny // token: ccny
var addrs []string param := &tt.ReqAccountTokenAssets{
addrs = append(addrs, addr) Address: addr,
param := &tt.ReqTokenBalance{
Addresses: addrs,
TokenSymbol: symbol,
Execer: et.ExchangeX, Execer: et.ExchangeX,
} }
msg, err := c.Query("token.GetAccountTokenBalance", param) msg, err := c.Query("token.GetAccountTokenAssets", param)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -108,7 +105,13 @@ func (c *GRPCCli) GetExecAccount(addr string, exec string, symbol string) (*type ...@@ -108,7 +105,13 @@ func (c *GRPCCli) GetExecAccount(addr string, exec string, symbol string) (*type
return nil, err return nil, err
} }
return resp.TokenAssets[0].Account, nil for _, v := range resp.TokenAssets {
if v.Symbol == symbol {
return v.Account, nil
}
}
return nil, types.ErrNotFound
} }
// 发送交易并等待执行结果 // 发送交易并等待执行结果
......
#!/usr/bin/env bash #!/usr/bin/env bash
BUILD=$(cd `dirname $0` && cd ../../../../build && pwd) BUILD=$(cd "$(dirname "$0")" && cd ../../../../build && pwd)
echo "$BUILD" echo "$BUILD"
cd $BUILD cd $BUILD || return
seed=$(./chain33-cli seed generate -l 0) seed=$(./chain33-cli seed generate -l 0)
echo $seed echo "$seed"
./chain33-cli seed save -p bty123456 -s "$seed" ./chain33-cli seed save -p bty123456 -s "$seed"
sleep 1 sleep 1
...@@ -29,13 +30,11 @@ sleep 1 ...@@ -29,13 +30,11 @@ sleep 1
#D -- 1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs #D -- 1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs
./chain33-cli account import_key -k 0xcacb1f5d51700aea07fca2246ab43b0917d70405c65edea9b5063d72eb5c6b71 -l D ./chain33-cli account import_key -k 0xcacb1f5d51700aea07fca2246ab43b0917d70405c65edea9b5063d72eb5c6b71 -l D
## config token ## config token
./chain33-cli send config config_tx -c token-finisher -o add -v 1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs -k 1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs ./chain33-cli send config config_tx -c token-finisher -o add -v 1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs -k 1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs
sleep 1 sleep 1
./chain33-cli config query -k token-finisher ./chain33-cli config query -k token-finisher
./chain33-cli send config config_tx -c token-blacklist -o add -v BTY -k 1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs ./chain33-cli send config config_tx -c token-blacklist -o add -v BTY -k 1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs
sleep 1 sleep 1
./chain33-cli config query -k token-blacklist ./chain33-cli config query -k token-blacklist
...@@ -80,4 +79,3 @@ echo "account balance in execer" ...@@ -80,4 +79,3 @@ echo "account balance in execer"
./chain33-cli send token send_exec -a 200000000 -e exchange -s CCNY -k 1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs ./chain33-cli send token send_exec -a 200000000 -e exchange -s CCNY -k 1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs
echo "token balance in execer" echo "token balance in execer"
./chain33-cli token balance -e exchange -s CCNY -a "1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4 1JRNjdEqp4LJ5fqycUBm9ayCKSeeskgMKR 1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k 1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs" ./chain33-cli token balance -e exchange -s CCNY -a "1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4 1JRNjdEqp4LJ5fqycUBm9ayCKSeeskgMKR 1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k 1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs"
...@@ -59,13 +59,6 @@ func (t *token) Query_GetAccountTokenAssets(in *tokenty.ReqAccountTokenAssets) ( ...@@ -59,13 +59,6 @@ func (t *token) Query_GetAccountTokenAssets(in *tokenty.ReqAccountTokenAssets) (
return t.getAccountTokenAssets(in) return t.getAccountTokenAssets(in)
} }
func (t *token) Query_GetAccountTokenBalance(in *tokenty.ReqTokenBalance) (types.Message, error) {
if in == nil {
return nil, types.ErrInvalidParam
}
return t.getAccountTokenBalance(in)
}
// Query_GetTxByToken 获取token相关交易 // Query_GetTxByToken 获取token相关交易
func (t *token) Query_GetTxByToken(in *tokenty.ReqTokenTx) (types.Message, error) { func (t *token) Query_GetTxByToken(in *tokenty.ReqTokenTx) (types.Message, error) {
if in == nil { if in == nil {
......
...@@ -124,39 +124,6 @@ func (t *token) getAccountTokenAssets(req *tokenty.ReqAccountTokenAssets) (types ...@@ -124,39 +124,6 @@ func (t *token) getAccountTokenAssets(req *tokenty.ReqAccountTokenAssets) (types
return reply, nil return reply, nil
} }
func (t *token) getAccountTokenBalance(req *tokenty.ReqTokenBalance) (types.Message, error) {
var reply = &tokenty.ReplyAccountTokenAssets{}
cfg := t.GetAPI().GetConfig()
for _, addr := range req.Addresses {
assets, err := t.queryTokenAssetsKey(addr)
if err != nil {
return nil, err
}
for _, asset := range assets.Datas {
if asset != req.TokenSymbol {
continue
}
acc, err := account.NewAccountDB(cfg, t.GetName(), asset, t.GetStateDB())
if err != nil {
return nil, err
}
var acc1 *types.Account
if req.Execer == t.GetName() {
acc1 = acc.LoadAccount(addr)
} else if req.Execer != "" {
execAddress := address.ExecAddress(req.Execer)
acc1 = acc.LoadExecAccount(addr, execAddress)
}
if acc1 == nil {
continue
}
tokenAsset := &tokenty.TokenAsset{Symbol: asset, Account: acc1}
reply.TokenAssets = append(reply.TokenAssets, tokenAsset)
}
}
return reply, nil
}
func (t *token) getAddrReceiverforTokens(addrTokens *tokenty.ReqAddrTokens) (types.Message, error) { func (t *token) getAddrReceiverforTokens(addrTokens *tokenty.ReqAddrTokens) (types.Message, error) {
var reply = &tokenty.ReplyAddrRecvForTokens{} var reply = &tokenty.ReplyAddrRecvForTokens{}
db := t.GetLocalDB() db := t.GetLocalDB()
......
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