aboutsummaryrefslogtreecommitdiffstats
path: root/ethchain/transaction_pool.go
diff options
context:
space:
mode:
Diffstat (limited to 'ethchain/transaction_pool.go')
-rw-r--r--ethchain/transaction_pool.go24
1 files changed, 6 insertions, 18 deletions
diff --git a/ethchain/transaction_pool.go b/ethchain/transaction_pool.go
index 6c0282dc6..796ec7c9a 100644
--- a/ethchain/transaction_pool.go
+++ b/ethchain/transaction_pool.go
@@ -131,9 +131,10 @@ func (pool *TxPool) ProcessTransaction(tx *Transaction, block *Block, toContract
block.state.UpdateStateObject(sender)
- log.Printf("[TXPL] Processed Tx %x\n", tx.Hash())
+ ethutil.Config.Log.Infof("[TXPL] Processed Tx %x\n", tx.Hash())
- pool.notifySubscribers(TxPost, tx)
+ // Notify all subscribers
+ pool.Ethereum.Reactor().Post("newTx:post", tx)
return
}
@@ -148,7 +149,8 @@ func (pool *TxPool) ValidateTransaction(tx *Transaction) error {
}
// Get the sender
- sender := pool.Ethereum.StateManager().procState.GetAccount(tx.Sender())
+ //sender := pool.Ethereum.StateManager().procState.GetAccount(tx.Sender())
+ sender := pool.Ethereum.StateManager().CurrentState().GetAccount(tx.Sender())
totAmount := new(big.Int).Add(tx.Value, new(big.Int).Mul(TxFee, TxFeeRat))
// Make sure there's enough in the sender's account. Having insufficient
@@ -188,10 +190,7 @@ out:
pool.addTransaction(tx)
// Notify the subscribers
- pool.Ethereum.Reactor().Post("newTx", tx)
-
- // Notify the subscribers
- pool.notifySubscribers(TxPre, tx)
+ pool.Ethereum.Reactor().Post("newTx:pre", tx)
}
case <-pool.quit:
break out
@@ -252,14 +251,3 @@ func (pool *TxPool) Stop() {
log.Println("[TXP] Stopped")
}
-
-func (pool *TxPool) Subscribe(channel chan TxMsg) {
- pool.subscribers = append(pool.subscribers, channel)
-}
-
-func (pool *TxPool) notifySubscribers(ty TxMsgTy, tx *Transaction) {
- msg := TxMsg{Type: ty, Tx: tx}
- for _, subscriber := range pool.subscribers {
- subscriber <- msg
- }
-}