aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/blockchain_test.go34
-rw-r--r--core/chain_makers.go33
-rw-r--r--core/types/transaction.go9
-rw-r--r--core/vm/memory_table.go6
4 files changed, 34 insertions, 48 deletions
diff --git a/core/blockchain_test.go b/core/blockchain_test.go
index 5dbf63d1d..f409bb7b0 100644
--- a/core/blockchain_test.go
+++ b/core/blockchain_test.go
@@ -25,6 +25,7 @@ import (
"time"
"github.com/ethereum/go-ethereum/common"
+ "github.com/ethereum/go-ethereum/consensus"
"github.com/ethereum/go-ethereum/consensus/ethash"
"github.com/ethereum/go-ethereum/core/rawdb"
"github.com/ethereum/go-ethereum/core/state"
@@ -35,6 +36,39 @@ import (
"github.com/ethereum/go-ethereum/params"
)
+// So we can deterministically seed different blockchains
+var (
+ canonicalSeed = 1
+ forkSeed = 2
+)
+
+// newCanonical creates a chain database, and injects a deterministic canonical
+// chain. Depending on the full flag, if creates either a full block chain or a
+// header only chain.
+func newCanonical(engine consensus.Engine, n int, full bool) (ethdb.Database, *BlockChain, error) {
+ var (
+ db = ethdb.NewMemDatabase()
+ genesis = new(Genesis).MustCommit(db)
+ )
+
+ // Initialize a fresh chain with only a genesis block
+ blockchain, _ := NewBlockChain(db, nil, params.AllEthashProtocolChanges, engine, vm.Config{})
+ // Create and inject the requested chain
+ if n == 0 {
+ return db, blockchain, nil
+ }
+ if full {
+ // Full block-chain requested
+ blocks := makeBlockChain(genesis, n, engine, db, canonicalSeed)
+ _, err := blockchain.InsertChain(blocks)
+ return db, blockchain, err
+ }
+ // Header-only chain requested
+ headers := makeHeaderChain(genesis.Header(), n, engine, db, canonicalSeed)
+ _, err := blockchain.InsertHeaderChain(headers, 1)
+ return db, blockchain, err
+}
+
// Test fork of length N starting from block i
func testFork(t *testing.T, blockchain *BlockChain, i, n int, full bool, comparator func(td1, td2 *big.Int)) {
// Copy old chain up to #i into a new db
diff --git a/core/chain_makers.go b/core/chain_makers.go
index fcba90bb8..c1e4b4264 100644
--- a/core/chain_makers.go
+++ b/core/chain_makers.go
@@ -30,12 +30,6 @@ import (
"github.com/ethereum/go-ethereum/params"
)
-// So we can deterministically seed different blockchains
-var (
- canonicalSeed = 1
- forkSeed = 2
-)
-
// BlockGen creates blocks for testing.
// See GenerateChain for a detailed explanation.
type BlockGen struct {
@@ -252,33 +246,6 @@ func makeHeader(chain consensus.ChainReader, parent *types.Block, state *state.S
}
}
-// newCanonical creates a chain database, and injects a deterministic canonical
-// chain. Depending on the full flag, if creates either a full block chain or a
-// header only chain.
-func newCanonical(engine consensus.Engine, n int, full bool) (ethdb.Database, *BlockChain, error) {
- var (
- db = ethdb.NewMemDatabase()
- genesis = new(Genesis).MustCommit(db)
- )
-
- // Initialize a fresh chain with only a genesis block
- blockchain, _ := NewBlockChain(db, nil, params.AllEthashProtocolChanges, engine, vm.Config{})
- // Create and inject the requested chain
- if n == 0 {
- return db, blockchain, nil
- }
- if full {
- // Full block-chain requested
- blocks := makeBlockChain(genesis, n, engine, db, canonicalSeed)
- _, err := blockchain.InsertChain(blocks)
- return db, blockchain, err
- }
- // Header-only chain requested
- headers := makeHeaderChain(genesis.Header(), n, engine, db, canonicalSeed)
- _, err := blockchain.InsertHeaderChain(headers, 1)
- return db, blockchain, err
-}
-
// makeHeaderChain creates a deterministic chain of headers rooted at parent.
func makeHeaderChain(parent *types.Header, n int, engine consensus.Engine, db ethdb.Database, seed int) []*types.Header {
blocks := makeBlockChain(types.NewBlockWithHeader(parent), n, engine, db, seed)
diff --git a/core/types/transaction.go b/core/types/transaction.go
index c1cb7a043..b824a77f6 100644
--- a/core/types/transaction.go
+++ b/core/types/transaction.go
@@ -35,15 +35,6 @@ var (
ErrInvalidSig = errors.New("invalid transaction v, r, s values")
)
-// deriveSigner makes a *best* guess about which signer to use.
-func deriveSigner(V *big.Int) Signer {
- if V.Sign() != 0 && isProtectedV(V) {
- return NewEIP155Signer(deriveChainId(V))
- } else {
- return HomesteadSigner{}
- }
-}
-
type Transaction struct {
data txdata
// caches
diff --git a/core/vm/memory_table.go b/core/vm/memory_table.go
index bec0235bc..ab49ebb38 100644
--- a/core/vm/memory_table.go
+++ b/core/vm/memory_table.go
@@ -65,12 +65,6 @@ func memoryCall(stack *Stack) *big.Int {
return math.BigMax(x, y)
}
-func memoryCallCode(stack *Stack) *big.Int {
- x := calcMemSize(stack.Back(5), stack.Back(6))
- y := calcMemSize(stack.Back(3), stack.Back(4))
-
- return math.BigMax(x, y)
-}
func memoryDelegateCall(stack *Stack) *big.Int {
x := calcMemSize(stack.Back(4), stack.Back(5))
y := calcMemSize(stack.Back(2), stack.Back(3))