Commit da14080b authored by duanjinfei's avatar duanjinfei

add sign tx arr mux

parent 3c7ef75b
...@@ -15,6 +15,7 @@ import ( ...@@ -15,6 +15,7 @@ import (
"math/big" "math/big"
"net" "net"
"strings" "strings"
"sync"
"sync/atomic" "sync/atomic"
"time" "time"
) )
...@@ -34,9 +35,16 @@ type Transactor struct { ...@@ -34,9 +35,16 @@ type Transactor struct {
receivedAddr common.Address receivedAddr common.Address
} }
type SignTranArr struct {
TranArr []*types.Transaction
mux sync.RWMutex
}
var ( var (
tran = make(chan *Transactor, 0) tran = make(chan *Transactor, 0)
tranArr = make([]*types.Transaction, 0) signTranArr = &SignTranArr{
TranArr: make([]*types.Transaction, 0),
}
batchSignCount int32 batchSignCount int32
) )
...@@ -125,8 +133,8 @@ func SignedTxArr(sendTxAccountArr [][]string, cfg *tool.Config) []*types.Transac ...@@ -125,8 +133,8 @@ func SignedTxArr(sendTxAccountArr [][]string, cfg *tool.Config) []*types.Transac
} }
} }
for { for {
if len(sendTxAccountArr)*cfg.SignCount == int(batchSignCount) { if len(sendTxAccountArr)*cfg.SignCount == int(batchSignCount) && len(signTranArr.TranArr) == len(sendTxAccountArr)*cfg.SignCount {
return tranArr return signTranArr.TranArr
} }
} }
} }
...@@ -152,8 +160,10 @@ func signedTxFunc() (*types.Transaction, error) { ...@@ -152,8 +160,10 @@ func signedTxFunc() (*types.Transaction, error) {
return nil, err return nil, err
} }
txcache.Add(signedTx.Hash().Hex(), t.sender.Hex()) txcache.Add(signedTx.Hash().Hex(), t.sender.Hex())
tranArr = append(tranArr, signedTx)
atomic.AddInt32(&batchSignCount, 1) atomic.AddInt32(&batchSignCount, 1)
signTranArr.mux.Lock()
defer signTranArr.mux.Unlock()
signTranArr.TranArr = append(signTranArr.TranArr, signedTx)
} }
} }
} }
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