aboutsummaryrefslogtreecommitdiffstats
path: root/ethpub/pub.go
diff options
context:
space:
mode:
Diffstat (limited to 'ethpub/pub.go')
-rw-r--r--ethpub/pub.go21
1 files changed, 14 insertions, 7 deletions
diff --git a/ethpub/pub.go b/ethpub/pub.go
index f9d2ebc72..431f173a0 100644
--- a/ethpub/pub.go
+++ b/ethpub/pub.go
@@ -1,7 +1,6 @@
package ethpub
import (
- "github.com/ethereum/eth-go"
"github.com/ethereum/eth-go/ethchain"
"github.com/ethereum/eth-go/ethutil"
)
@@ -12,11 +11,11 @@ type PEthereum struct {
txPool *ethchain.TxPool
}
-func NewPEthereum(eth *eth.Ethereum) *PEthereum {
+func NewPEthereum(sm *ethchain.StateManager, bc *ethchain.BlockChain, txp *ethchain.TxPool) *PEthereum {
return &PEthereum{
- eth.StateManager(),
- eth.BlockChain(),
- eth.TxPool(),
+ sm,
+ bc,
+ txp,
}
}
@@ -25,7 +24,15 @@ func (lib *PEthereum) GetBlock(hexHash string) *PBlock {
block := lib.blockChain.GetBlock(hash)
- return &PBlock{Number: int(block.BlockInfo().Number), Hash: ethutil.Hex(block.Hash())}
+ var blockInfo *PBlock
+
+ if block != nil {
+ blockInfo = &PBlock{Number: int(block.BlockInfo().Number), Hash: ethutil.Hex(block.Hash())}
+ } else {
+ blockInfo = &PBlock{Number: -1, Hash: ""}
+ }
+
+ return blockInfo
}
func (lib *PEthereum) GetKey() *PKey {
@@ -108,7 +115,7 @@ func (lib *PEthereum) createTx(key, recipient, valueStr, gasStr, gasPriceStr, in
tx = ethchain.NewContractCreationTx(value, gas, gasPrice, mainScript, initScript)
} else {
// Just in case it was submitted as a 0x prefixed string
- if initStr[0:2] == "0x" {
+ if len(initStr) > 0 && initStr[0:2] == "0x" {
initStr = initStr[2:len(initStr)]
}
tx = ethchain.NewTransactionMessage(hash, value, gas, gasPrice, ethutil.FromHex(initStr))