From 8c7e4b290fbdfe2c0da451aef03b94bec3c95e4c Mon Sep 17 00:00:00 2001
From: obscuren <geffobscura@gmail.com>
Date: Thu, 4 Dec 2014 16:44:14 +0100
Subject: [PATCH] Added pre processing of transaction on the transient state

---
 xeth/pipe.go | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/xeth/pipe.go b/xeth/pipe.go
index 6da92cd23..2ca8134ce 100644
--- a/xeth/pipe.go
+++ b/xeth/pipe.go
@@ -136,11 +136,17 @@ func (self *XEth) Transact(key *crypto.KeyPair, to []byte, value, gas, price *et
 
 	tx.Nonce = nonce
 	tx.Sign(key.PrivateKey)
+
+	// Do some pre processing for our "pre" events  and hooks
+	block := self.blockChain.NewBlock(key.Address())
+	coinbase := state.GetStateObject(key.Address())
+	coinbase.SetGasPool(block.GasLimit)
+	self.blockManager.ApplyTransactions(coinbase, state, block, types.Transactions{tx}, true)
+
 	err := self.obj.TxPool().Add(tx)
 	if err != nil {
 		return nil, err
 	}
-
 	state.SetNonce(key.Address(), nonce+1)
 
 	if contractCreation {
-- 
GitLab