From 589d27386a4d630f052bf645a9e134a8b2d6fcad Mon Sep 17 00:00:00 2001
From: Maran <maran.hidskes@gmail.com>
Date: Wed, 25 Jun 2014 14:05:55 +0200
Subject: Fix key generation in ethPub

---
 ethpub/pub.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'ethpub')

diff --git a/ethpub/pub.go b/ethpub/pub.go
index b475453af..6a41f575c 100644
--- a/ethpub/pub.go
+++ b/ethpub/pub.go
@@ -142,7 +142,7 @@ func (lib *PEthereum) createTx(key, recipient, valueStr, gasStr, gasPriceStr, sc
 	var keyPair *ethutil.KeyPair
 	var err error
 	if key[0:2] == "0x" {
-		keyPair, err = ethutil.NewKeyPairFromSec([]byte(ethutil.FromHex(key[0:2])))
+		keyPair, err = ethutil.NewKeyPairFromSec([]byte(ethutil.FromHex(key[2:])))
 	} else {
 		keyPair, err = ethutil.NewKeyPairFromSec([]byte(ethutil.FromHex(key)))
 	}
-- 
cgit v1.2.3


From 8fe8175c7870e18a791888a14630253f5a0476b0 Mon Sep 17 00:00:00 2001
From: Maran <maran.hidskes@gmail.com>
Date: Wed, 25 Jun 2014 16:12:33 +0200
Subject: Implemented TX History for ethPub

---
 ethpub/pub.go | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

(limited to 'ethpub')

diff --git a/ethpub/pub.go b/ethpub/pub.go
index 6a41f575c..c4b10f0e6 100644
--- a/ethpub/pub.go
+++ b/ethpub/pub.go
@@ -1,7 +1,9 @@
 package ethpub
 
 import (
+	"bytes"
 	"encoding/hex"
+	"encoding/json"
 	"github.com/ethereum/eth-go/ethchain"
 	"github.com/ethereum/eth-go/ethutil"
 	"math/big"
@@ -81,6 +83,34 @@ func (lib *PEthereum) GetCoinBase() string {
 	return lib.SecretToAddress(hex.EncodeToString(key))
 }
 
+func (lib *PEthereum) GetTransactionsFor(address string, asJson bool) interface{} {
+	sBlk := lib.manager.BlockChain().LastBlockHash
+	blk := lib.manager.BlockChain().GetBlock(sBlk)
+	addr := []byte(ethutil.FromHex(address))
+
+	var txs []*PTx
+
+	for ; blk != nil; blk = lib.manager.BlockChain().GetBlock(sBlk) {
+		sBlk = blk.PrevHash
+
+		// Loop through all transactions to see if we missed any while being offline
+		for _, tx := range blk.Transactions() {
+			if bytes.Compare(tx.Sender(), addr) == 0 || bytes.Compare(tx.Recipient, addr) == 0 {
+				ethutil.Config.Log.Debugf("FOund tx: %x\n", tx)
+				txs = append(txs, NewPTx(tx))
+			}
+		}
+	}
+	if asJson {
+		txJson, err := json.Marshal(txs)
+		if err != nil {
+			return nil
+		}
+		return string(txJson)
+	}
+	return txs
+}
+
 func (lib *PEthereum) GetStorage(address, storageAddress string) string {
 	return lib.GetStateObject(address).GetStorage(storageAddress)
 }
@@ -123,7 +153,6 @@ func GetAddressFromNameReg(stateManager *ethchain.StateManager, name string) []b
 
 	return nil
 }
-
 func (lib *PEthereum) createTx(key, recipient, valueStr, gasStr, gasPriceStr, scriptStr string) (*PReceipt, error) {
 	var hash []byte
 	var contractCreation bool
-- 
cgit v1.2.3


From d8c675afbf98178ffa447e4d36b77bbdad3f9ec0 Mon Sep 17 00:00:00 2001
From: Maran <maran.hidskes@gmail.com>
Date: Wed, 25 Jun 2014 16:23:10 +0200
Subject: Implement something that looks like confirmations, wip

---
 ethpub/pub.go   | 6 ++++--
 ethpub/types.go | 1 +
 2 files changed, 5 insertions(+), 2 deletions(-)

(limited to 'ethpub')

diff --git a/ethpub/pub.go b/ethpub/pub.go
index c4b10f0e6..05acdb058 100644
--- a/ethpub/pub.go
+++ b/ethpub/pub.go
@@ -96,8 +96,10 @@ func (lib *PEthereum) GetTransactionsFor(address string, asJson bool) interface{
 		// Loop through all transactions to see if we missed any while being offline
 		for _, tx := range blk.Transactions() {
 			if bytes.Compare(tx.Sender(), addr) == 0 || bytes.Compare(tx.Recipient, addr) == 0 {
-				ethutil.Config.Log.Debugf("FOund tx: %x\n", tx)
-				txs = append(txs, NewPTx(tx))
+				ptx := NewPTx(tx)
+				//TODO: somehow move this to NewPTx
+				ptx.Confirmations = int(lib.manager.BlockChain().LastBlockNumber - blk.BlockInfo().Number)
+				txs = append(txs, ptx)
 			}
 		}
 	}
diff --git a/ethpub/types.go b/ethpub/types.go
index 352598148..0ced68ad1 100644
--- a/ethpub/types.go
+++ b/ethpub/types.go
@@ -99,6 +99,7 @@ type PTx struct {
 	Data            string `json:"data"`
 	Contract        bool   `json:"isContract"`
 	CreatesContract bool   `json:"createsContract"`
+	Confirmations   int    `json:"confirmations"`
 }
 
 func NewPTx(tx *ethchain.Transaction) *PTx {
-- 
cgit v1.2.3