Commit a0f8a384 authored by duanjinfei's avatar duanjinfei

add sign tx arr mux

parent cce4e4ad
......@@ -9,6 +9,7 @@ import (
"github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/crypto"
"math/big"
"sync"
"sync/atomic"
"time"
)
......@@ -28,9 +29,16 @@ type Transactor struct {
receivedAddr common.Address
}
type SignTranArr struct {
TranArr []*types.Transaction
mux sync.Mutex
}
var (
tran = make(chan *Transactor, 0)
tranArr = make([]*types.Transaction, 0)
tran = make(chan *Transactor, 0)
signTranArr = &SignTranArr{
TranArr: make([]*types.Transaction, 0),
}
batchSignCount int32
)
......@@ -84,7 +92,7 @@ func SignedTxArr(sendTxAccountArr [][]string, cfg *tool.Config) []*types.Transac
}
for {
if len(sendTxAccountArr)*cfg.SignCount == int(batchSignCount) {
return tranArr
return signTranArr.TranArr
}
}
}
......@@ -110,8 +118,14 @@ func signedTxFunc() (*types.Transaction, error) {
return nil, err
}
txcache.Add(signedTx.Hash().Hex(), t.sender.Hex())
tranArr = append(tranArr, signedTx)
atomic.AddInt32(&batchSignCount, 1)
Add(signedTx)
}
}
}
func Add(signedTx *types.Transaction) {
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