Commit 808a5d90 authored by caopingcp's avatar caopingcp Committed by vipwzw

fix CreateBindMiner bug

parent af8546e2
#!/usr/bin/env bash #!/usr/bin/env bash
RAW_TX_HASH="" RAW_TX_HASH=""
LAST_BLOCK_HASH=""
CASE_ERR="" CASE_ERR=""
#color #color
...@@ -156,3 +157,10 @@ chain33_GetAccounts() { ...@@ -156,3 +157,10 @@ chain33_GetAccounts() {
resp=$(curl -ksd '{"jsonrpc":"2.0","id":2,"method":"Chain33.GetAccounts","params":[{}]}' -H 'content-type:text/plain;' "${MAIN_HTTP}") resp=$(curl -ksd '{"jsonrpc":"2.0","id":2,"method":"Chain33.GetAccounts","params":[{}]}' -H 'content-type:text/plain;' "${MAIN_HTTP}")
echo "$resp" echo "$resp"
} }
chain33_LastBlockhash() {
local MAIN_HTTP=$1
result=$(curl -ksd '{"method":"Chain33.GetLastHeader","params":[{}]}' -H 'content-type:text/plain;' ${MAIN_HTTP} | jq -r ".result.hash")
LAST_BLOCK_HASH=$result
echo -e "######\\n last blockhash is $LAST_BLOCK_HASH \\n######"
}
...@@ -9,18 +9,8 @@ MAIN_HTTP="" ...@@ -9,18 +9,8 @@ MAIN_HTTP=""
source ../dapp-test-common.sh source ../dapp-test-common.sh
ticketId="" ticketId=""
blockhash=""
price=$((10000 * 100000000)) price=$((10000 * 100000000))
last_blockhash() {
result=$(curl -ksd '{"method":"Chain33.GetLastHeader","params":[{}]}' -H 'content-type:text/plain;' ${MAIN_HTTP} | jq -r ".result.hash")
[[ $result != "" ]]
rst=$?
echo_rst "$FUNCNAME" "$rst"
blockhash=$result
echo -e "######\\n last blockhash is $blockhash \\n######"
}
ticket_CreateBindMiner() { ticket_CreateBindMiner() {
#创建交易 #创建交易
minerAddr=$1 minerAddr=$1
...@@ -28,7 +18,7 @@ ticket_CreateBindMiner() { ...@@ -28,7 +18,7 @@ ticket_CreateBindMiner() {
returnPriv=$3 returnPriv=$3
amount=$4 amount=$4
set -x set -x
resp=$(curl -ksd '{"method":"ticket.CreateBindMiner","params":[{"bindAddr":"'"$minerAddr"'", "originAddr":"'"$returnAddr"'", "amount":'"$amount"', "checkBalance":false}]}' -H 'content-type:text/plain;' ${MAIN_HTTP}) resp=$(curl -ksd '{"method":"ticket.CreateBindMiner","params":[{"bindAddr":"'"$minerAddr"'", "originAddr":"'"$returnAddr"'", "amount":'"$amount"', "checkBalance":true}]}' -H 'content-type:text/plain;' ${MAIN_HTTP})
ok=$(echo "${resp}" | jq -r ".error") ok=$(echo "${resp}" | jq -r ".error")
[[ $ok == null ]] [[ $ok == null ]]
rst=$? rst=$?
...@@ -177,8 +167,8 @@ function run_testcases() { ...@@ -177,8 +167,8 @@ function run_testcases() {
#关闭 #关闭
ticket_CloseTickets "${minerAddr2}" ticket_CloseTickets "${minerAddr2}"
last_blockhash chain33_LastBlockhash "${MAIN_HTTP}"
ticket_RandNumHash "${blockhash}" 5 ticket_RandNumHash "${LAST_BLOCK_HASH}" 5
} }
function main() { function main() {
......
...@@ -28,10 +28,14 @@ func bindMiner(param *ty.ReqBindMiner) (*ty.ReplyBindMiner, error) { ...@@ -28,10 +28,14 @@ func bindMiner(param *ty.ReqBindMiner) (*ty.ReplyBindMiner, error) {
// CreateBindMiner 创建绑定挖矿 // CreateBindMiner 创建绑定挖矿
func (g *channelClient) CreateBindMiner(ctx context.Context, in *ty.ReqBindMiner) (*ty.ReplyBindMiner, error) { func (g *channelClient) CreateBindMiner(ctx context.Context, in *ty.ReqBindMiner) (*ty.ReplyBindMiner, error) {
if in.Amount%(10000*types.Coin) != 0 || in.Amount < 0 { header, err := g.GetLastHeader()
if err != nil {
return nil, err
}
if in.Amount%types.GetP(header.Height).TicketPrice != 0 || in.Amount < 0 {
return nil, types.ErrAmount return nil, types.ErrAmount
} }
err := address.CheckAddress(in.BindAddr) err = address.CheckAddress(in.BindAddr)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -41,7 +45,7 @@ func (g *channelClient) CreateBindMiner(ctx context.Context, in *ty.ReqBindMiner ...@@ -41,7 +45,7 @@ func (g *channelClient) CreateBindMiner(ctx context.Context, in *ty.ReqBindMiner
} }
if in.CheckBalance { if in.CheckBalance {
getBalance := &types.ReqBalance{Addresses: []string{in.OriginAddr}, Execer: "coins"} getBalance := &types.ReqBalance{Addresses: []string{in.OriginAddr}, Execer: "coins", AssetSymbol: "bty", AssetExec: "coins"}
balances, err := g.GetCoinsAccountDB().GetBalance(g, getBalance) balances, err := g.GetCoinsAccountDB().GetBalance(g, getBalance)
if err != nil { if err != nil {
return nil, err return nil, err
......
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