From 79c64f6bca4fcfb257496be22c64f4b2faed7050 Mon Sep 17 00:00:00 2001
From: obscuren <geffobscura@gmail.com>
Date: Wed, 20 Aug 2014 16:40:19 +0200
Subject: [PATCH] Added block by hash or number

---
 ethpipe/js_pipe.go | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/ethpipe/js_pipe.go b/ethpipe/js_pipe.go
index 51de4ddbe2..8f08a7c5fe 100644
--- a/ethpipe/js_pipe.go
+++ b/ethpipe/js_pipe.go
@@ -28,7 +28,7 @@ func (self *JSPipe) BlockByHash(strHash string) *JSBlock {
 	return NewJSBlock(block)
 }
 
-func (self *JSPipe) GetBlockByNumber(num int32) *JSBlock {
+func (self *JSPipe) BlockByNumber(num int32) *JSBlock {
 	if num == -1 {
 		return NewJSBlock(self.obj.BlockChain().CurrentBlock)
 	}
@@ -36,6 +36,18 @@ func (self *JSPipe) GetBlockByNumber(num int32) *JSBlock {
 	return NewJSBlock(self.obj.BlockChain().GetBlockByNumber(uint64(num)))
 }
 
+func (self *JSPipe) Block(v interface{}) *JSBlock {
+	if n, ok := v.(int32); ok {
+		return self.BlockByNumber(n)
+	} else if str, ok := v.(string); ok {
+		return self.BlockByHash(str)
+	} else if f, ok := v.(float64); ok { // Don't ask ...
+		return self.BlockByNumber(int32(f))
+	}
+
+	return nil
+}
+
 func (self *JSPipe) Key() *JSKey {
 	return NewJSKey(self.obj.KeyManager().KeyPair())
 }