aboutsummaryrefslogtreecommitdiffstats
path: root/core/types
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-02-04 21:52:59 +0800
committerobscuren <geffobscura@gmail.com>2015-02-04 21:53:22 +0800
commitb1870631a4829e075eae77064973ef94aa2166b3 (patch)
tree1baf861b569d8310eb332238e5b771251141fd54 /core/types
parent4dc283c0fb5d886ce8d3638c3322af7e6f2a3b2e (diff)
downloaddexon-b1870631a4829e075eae77064973ef94aa2166b3.tar
dexon-b1870631a4829e075eae77064973ef94aa2166b3.tar.gz
dexon-b1870631a4829e075eae77064973ef94aa2166b3.tar.bz2
dexon-b1870631a4829e075eae77064973ef94aa2166b3.tar.lz
dexon-b1870631a4829e075eae77064973ef94aa2166b3.tar.xz
dexon-b1870631a4829e075eae77064973ef94aa2166b3.tar.zst
dexon-b1870631a4829e075eae77064973ef94aa2166b3.zip
WIP miner
Diffstat (limited to 'core/types')
-rw-r--r--core/types/block.go26
1 files changed, 15 insertions, 11 deletions
diff --git a/core/types/block.go b/core/types/block.go
index be57e86a6..a334c512e 100644
--- a/core/types/block.go
+++ b/core/types/block.go
@@ -6,7 +6,6 @@ import (
"math/big"
"sort"
"time"
-
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/ethutil"
"github.com/ethereum/go-ethereum/rlp"
@@ -146,6 +145,10 @@ func (self *Block) SetTransactions(transactions Transactions) {
self.transactions = transactions
self.header.TxHash = DeriveSha(transactions)
}
+func (self *Block) AddTransaction(transaction *Transaction) {
+ self.transactions = append(self.transactions, transaction)
+ self.SetTransactions(self.transactions)
+}
func (self *Block) Receipts() Receipts {
return self.receipts
@@ -156,6 +159,10 @@ func (self *Block) SetReceipts(receipts Receipts) {
self.header.ReceiptHash = DeriveSha(receipts)
self.header.Bloom = CreateBloom(receipts)
}
+func (self *Block) AddReceipt(receipt *Receipt) {
+ self.receipts = append(self.receipts, receipt)
+ self.SetReceipts(self.receipts)
+}
func (self *Block) RlpData() interface{} {
return []interface{}{self.header, self.transactions, self.uncles}
@@ -166,16 +173,13 @@ func (self *Block) RlpDataForStorage() interface{} {
}
// Header accessors (add as you need them)
-func (self *Block) Number() *big.Int { return self.header.Number }
-func (self *Block) NumberU64() uint64 { return self.header.Number.Uint64() }
-func (self *Block) Bloom() []byte { return self.header.Bloom }
-func (self *Block) Coinbase() []byte { return self.header.Coinbase }
-func (self *Block) Time() int64 { return int64(self.header.Time) }
-func (self *Block) GasLimit() *big.Int { return self.header.GasLimit }
-func (self *Block) GasUsed() *big.Int { return self.header.GasUsed }
-
-//func (self *Block) Trie() *ptrie.Trie { return ptrie.New(self.header.Root, ethutil.Config.Db) }
-//func (self *Block) State() *state.StateDB { return state.New(self.Trie()) }
+func (self *Block) Number() *big.Int { return self.header.Number }
+func (self *Block) NumberU64() uint64 { return self.header.Number.Uint64() }
+func (self *Block) Bloom() []byte { return self.header.Bloom }
+func (self *Block) Coinbase() []byte { return self.header.Coinbase }
+func (self *Block) Time() int64 { return int64(self.header.Time) }
+func (self *Block) GasLimit() *big.Int { return self.header.GasLimit }
+func (self *Block) GasUsed() *big.Int { return self.header.GasUsed }
func (self *Block) Root() []byte { return self.header.Root }
func (self *Block) SetRoot(root []byte) { self.header.Root = root }
func (self *Block) Size() ethutil.StorageSize { return ethutil.StorageSize(len(ethutil.Encode(self))) }