Removed the need of having a backend for the tx pool
This commit is contained in:
@ -43,22 +43,19 @@ type TxPool struct {
|
||||
|
||||
subscribers []chan TxMsg
|
||||
|
||||
stateQuery StateQuery
|
||||
eventMux *event.TypeMux
|
||||
eventMux *event.TypeMux
|
||||
}
|
||||
|
||||
func NewTxPool(stateQuery StateQuery, eventMux *event.TypeMux) *TxPool {
|
||||
func NewTxPool(eventMux *event.TypeMux) *TxPool {
|
||||
return &TxPool{
|
||||
pool: set.New(),
|
||||
queueChan: make(chan *types.Transaction, txPoolQueueSize),
|
||||
quit: make(chan bool),
|
||||
stateQuery: stateQuery,
|
||||
eventMux: eventMux,
|
||||
pool: set.New(),
|
||||
queueChan: make(chan *types.Transaction, txPoolQueueSize),
|
||||
quit: make(chan bool),
|
||||
eventMux: eventMux,
|
||||
}
|
||||
}
|
||||
|
||||
func (pool *TxPool) addTransaction(tx *types.Transaction) {
|
||||
|
||||
pool.pool.Add(tx)
|
||||
|
||||
// Broadcast the transaction to the rest of the peers
|
||||
@ -75,6 +72,10 @@ func (pool *TxPool) ValidateTransaction(tx *types.Transaction) error {
|
||||
return fmt.Errorf("tx.v != (28 || 27) => %v", v)
|
||||
}
|
||||
|
||||
/* XXX this kind of validation needs to happen elsewhere in the gui when sending txs.
|
||||
Other clients should do their own validation. Value transfer could throw error
|
||||
but doesn't necessarily invalidate the tx. Gas can still be payed for and miner
|
||||
can still be rewarded for their inclusion and processing.
|
||||
// Get the sender
|
||||
senderAddr := tx.From()
|
||||
if senderAddr == nil {
|
||||
@ -82,10 +83,6 @@ func (pool *TxPool) ValidateTransaction(tx *types.Transaction) error {
|
||||
}
|
||||
sender := pool.stateQuery.GetAccount(senderAddr)
|
||||
|
||||
/* XXX this kind of validation needs to happen elsewhere in the gui when sending txs.
|
||||
Other clients should do their own validation. Value transfer could be throw error
|
||||
but doesn't necessarily invalidate the tx. Gas can still be payed for and miner
|
||||
can still be rewarded for their inclusion and processing.
|
||||
totAmount := new(big.Int).Set(tx.Value())
|
||||
// Make sure there's enough in the sender's account. Having insufficient
|
||||
// funds won't invalidate this transaction but simple ignores it.
|
||||
|
Reference in New Issue
Block a user