Commit c1a98ed1 authored by hxzqlh's avatar hxzqlh

update chain33; fix linter error

parent 481152c1
......@@ -3,7 +3,7 @@ module github.com/33cn/plugin
go 1.12
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/NebulousLabs/Sia v1.3.7
github.com/beorn7/perks v1.0.1 // indirect
......
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/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/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
......
......@@ -386,12 +386,15 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload *
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 {
//转移冻结资产
amount := CalcActualCost(matchorder.GetLimitOrder().Op, matched, payload.Price)
receipt, err := rightAccountDB.ExecTransferFrozen(matchorder.Addr, a.fromaddr, a.execaddr, amount)
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
}
logs = append(logs, receipt.Logs...)
......@@ -401,7 +404,7 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload *
amount := CalcActualCost(matchorder.GetLimitOrder().Op, matched, matchorder.GetLimitOrder().Price-payload.Price)
receipt, err := rightAccountDB.ExecActive(matchorder.Addr, a.execaddr, amount)
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
}
logs = append(logs, receipt.Logs...)
......@@ -411,7 +414,7 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload *
amount = CalcActualCost(payload.Op, matched, payload.Price)
receipt, err = leftAccountDB.ExecTransfer(a.fromaddr, matchorder.Addr, a.execaddr, amount)
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
}
logs = append(logs, receipt.Logs...)
......@@ -427,7 +430,7 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload *
amount := CalcActualCost(matchorder.GetLimitOrder().Op, matched, matchorder.GetLimitOrder().Price)
receipt, err := leftAccountDB.ExecTransferFrozen(matchorder.Addr, a.fromaddr, a.execaddr, amount)
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
}
logs = append(logs, receipt.Logs...)
......@@ -436,7 +439,7 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload *
amount = CalcActualCost(payload.Op, matched, matchorder.GetLimitOrder().Price)
receipt, err = rightAccountDB.ExecTransfer(a.fromaddr, matchorder.Addr, a.execaddr, amount)
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
}
logs = append(logs, receipt.Logs...)
......@@ -465,7 +468,7 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload *
matchorder.Executed = matched
kvs = append(kvs, a.GetKVSet(matchorder)...)
or.Executed += matched // TODO why not += ?
or.Executed += matched
or.Balance = 0
kvs = append(kvs, a.GetKVSet(or)...) //or complete
} else {
......
......@@ -10,17 +10,8 @@ import (
var (
cli *test.GRPCCli
Genesis = "0x3990969DF92A5914F7B71EEB9A4E58D6E255F32BF042FEA5318FC8B3D50EE6E8" // 1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs
PrivKeyA = "0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b" // 1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4
PrivKeyB = "0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4" // 1JRNjdEqp4LJ5fqycUBm9ayCKSeeskgMKR
PrivKeyC = "0x7a80a1f75d7360c6123c32a78ecf978c1ac55636f87892df38d8b85a9aeff115" // 1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k
PrivKeyD = "0xcacb1f5d51700aea07fca2246ab43b0917d70405c65edea9b5063d72eb5c6b71" // 1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs
Nodes = []string{
"1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4",
"1JRNjdEqp4LJ5fqycUBm9ayCKSeeskgMKR",
"1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k",
"1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs",
}
)
// 批量测试前,先确保测试账户有足够的币和钱
......
......@@ -3,6 +3,8 @@ package test
import (
"testing"
"github.com/golang/protobuf/proto"
"github.com/33cn/plugin/plugin/dapp/exchange/executor"
"github.com/33cn/chain33/types"
......@@ -21,7 +23,7 @@ var (
rightAsset = &et.Asset{Symbol: token, Execer: "token"}
cli Cli
orderId int64
orderID int64
)
func init() {
......@@ -39,11 +41,11 @@ func TestOrderList(t *testing.T) {
orderList, err := getOrderList(et.Ordered, Nodes[0], "")
assert.Nil(t, err)
t.Log(orderList)
orderId = orderList.List[0].OrderID
orderID = orderList.List[0].OrderID
}
func TestGetOrder(t *testing.T) {
order, err := getOrder(orderId)
order, err := getOrder(orderID)
assert.Nil(t, err)
t.Log(order)
}
......@@ -71,7 +73,7 @@ func TestHistoryOrderList(t *testing.T) {
func TestRevokeOrder(t *testing.T) {
//A 撤回未完成订单
testRevokeLimitOrder(t, orderId, Nodes[0], PrivKeyA)
testRevokeLimitOrder(t, orderID, Nodes[0], PrivKeyA)
}
func TestSample0(t *testing.T) {
......@@ -219,8 +221,8 @@ func getOrder(orderID int64) (*et.Order, error) {
return &resp, nil
}
func getMarketDepth(query *et.QueryMarketDepth) (*et.MarketDepthList, error) {
msg, err := cli.Query(et.FuncNameQueryMarketDepth, query)
func getMarketDepth(q proto.Message) (*et.MarketDepthList, error) {
msg, err := cli.Query(et.FuncNameQueryMarketDepth, q)
if err != nil {
return nil, err
}
......@@ -233,8 +235,8 @@ func getMarketDepth(query *et.QueryMarketDepth) (*et.MarketDepthList, error) {
return &resp, nil
}
func getHistoryOrderList(query *et.QueryHistoryOrderList) (*et.OrderList, error) {
msg, err := cli.Query(et.FuncNameQueryHistoryOrderList, query)
func getHistoryOrderList(q proto.Message) (*et.OrderList, error) {
msg, err := cli.Query(et.FuncNameQueryHistoryOrderList, q)
if err != nil {
return nil, err
}
......
......@@ -90,14 +90,11 @@ func (c *GRPCCli) GetExecAccount(addr string, exec string, symbol string) (*type
}
// token: ccny
var addrs []string
addrs = append(addrs, addr)
param := &tt.ReqTokenBalance{
Addresses: addrs,
TokenSymbol: symbol,
param := &tt.ReqAccountTokenAssets{
Address: addr,
Execer: et.ExchangeX,
}
msg, err := c.Query("token.GetAccountTokenBalance", param)
msg, err := c.Query("token.GetAccountTokenAssets", param)
if err != nil {
return nil, err
}
......@@ -108,7 +105,13 @@ func (c *GRPCCli) GetExecAccount(addr string, exec string, symbol string) (*type
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
BUILD=$(cd `dirname $0` && cd ../../../../build && pwd)
BUILD=$(cd "$(dirname "$0")" && cd ../../../../build && pwd)
echo "$BUILD"
cd $BUILD
cd $BUILD || return
seed=$(./chain33-cli seed generate -l 0)
echo $seed
echo "$seed"
./chain33-cli seed save -p bty123456 -s "$seed"
sleep 1
......@@ -29,13 +30,11 @@ sleep 1
#D -- 1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs
./chain33-cli account import_key -k 0xcacb1f5d51700aea07fca2246ab43b0917d70405c65edea9b5063d72eb5c6b71 -l D
## config token
./chain33-cli send config config_tx -c token-finisher -o add -v 1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs -k 1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs
sleep 1
./chain33-cli config query -k token-finisher
./chain33-cli send config config_tx -c token-blacklist -o add -v BTY -k 1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs
sleep 1
./chain33-cli config query -k token-blacklist
......@@ -80,4 +79,3 @@ echo "account balance in execer"
./chain33-cli send token send_exec -a 200000000 -e exchange -s CCNY -k 1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs
echo "token balance in execer"
./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) (
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相关交易
func (t *token) Query_GetTxByToken(in *tokenty.ReqTokenTx) (types.Message, error) {
if in == nil {
......
......@@ -124,39 +124,6 @@ func (t *token) getAccountTokenAssets(req *tokenty.ReqAccountTokenAssets) (types
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) {
var reply = &tokenty.ReplyAddrRecvForTokens{}
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