mirror of https://github.com/poanetwork/quorum.git
Merge remote-tracking branch 'quorum/master' into geth-upgrade-1.8.16
This commit is contained in:
parent
519337a9d0
commit
13a9f26f9a
|
@ -911,7 +911,7 @@ func (bc *BlockChain) WriteBlockWithoutState(block *types.Block, td *big.Int) (e
|
|||
}
|
||||
|
||||
// WriteBlockWithState writes the block and all associated state to the database.
|
||||
func (bc *BlockChain) WriteBlockWithState(block *types.Block, receipts []*types.Receipt, state , privateState *state.StateDB) (status WriteStatus, err error) {
|
||||
func (bc *BlockChain) WriteBlockWithState(block *types.Block, receipts []*types.Receipt, state, privateState *state.StateDB) (status WriteStatus, err error) {
|
||||
bc.wg.Add(1)
|
||||
defer bc.wg.Done()
|
||||
|
||||
|
|
|
@ -17,15 +17,15 @@
|
|||
package core
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"math/big"
|
||||
"testing"
|
||||
"bytes"
|
||||
"math/big"
|
||||
"testing"
|
||||
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/crypto/sha3"
|
||||
"github.com/ethereum/go-ethereum/ethdb"
|
||||
"github.com/ethereum/go-ethereum/rlp"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/crypto/sha3"
|
||||
"github.com/ethereum/go-ethereum/ethdb"
|
||||
"github.com/ethereum/go-ethereum/rlp"
|
||||
)
|
||||
|
||||
// Tests block header storage and retrieval operations.
|
||||
|
|
|
@ -317,5 +317,3 @@ func TestBlockReceiptStorage(t *testing.T) {
|
|||
t.Fatalf("deleted receipts returned: %v", rs)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -745,7 +745,6 @@ func (pool *TxPool) journalTx(from common.Address, tx *types.Transaction) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// promoteTx adds a transaction to the pending (processable) list of transactions
|
||||
// and returns whether it was inserted or an older was better.
|
||||
//
|
||||
|
@ -1244,7 +1243,6 @@ func newTxLookup() *txLookup {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// Range calls f on each key and value present in the map.
|
||||
func (t *txLookup) Range(f func(hash common.Hash, tx *types.Transaction) bool) {
|
||||
t.lock.RLock()
|
||||
|
|
|
@ -1650,7 +1650,7 @@ var async = newAsync(100)
|
|||
// Please note: This is a temporary integration to improve performance in high-latency
|
||||
// environments when sending many private transactions. It will be removed at a later
|
||||
// date when account management is handled outside Ethereum.
|
||||
func (s *PublicTransactionPoolAPI) SendTransactionAsync(ctx context.Context, args AsyncSendTxArgs) (common.Hash, error){
|
||||
func (s *PublicTransactionPoolAPI) SendTransactionAsync(ctx context.Context, args AsyncSendTxArgs) (common.Hash, error) {
|
||||
|
||||
select {
|
||||
case async.sem <- struct{}{}:
|
||||
|
@ -1688,4 +1688,5 @@ func (s *PublicBlockChainAPI) GetQuorumPayload(digestHex string) (string, error)
|
|||
}
|
||||
return fmt.Sprintf("0x%x", data), nil
|
||||
}
|
||||
|
||||
//End-Quorum
|
||||
|
|
|
@ -604,7 +604,6 @@ func (w *worker) resultLoop() {
|
|||
core.WritePrivateStateRoot(w.eth.ChainDb(), block.Root(), privateStateRoot)
|
||||
allReceipts := mergeReceipts(work.receipts, work.privateReceipts)
|
||||
|
||||
|
||||
// Commit block and state to database.
|
||||
stat, err := w.chain.WriteBlockWithState(block, allReceipts, work.state, nil)
|
||||
if err != nil {
|
||||
|
@ -644,7 +643,6 @@ func (w *worker) resultLoop() {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// Given a slice of public receipts and an overlapping (smaller) slice of
|
||||
// private receipts, return a new slice where the default for each location is
|
||||
// the public receipt but we take the private receipt in each place we have
|
||||
|
@ -666,9 +664,6 @@ func mergeReceipts(pub, priv types.Receipts) types.Receipts {
|
|||
return ret
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// makeCurrent creates a new environment for the current cycle.
|
||||
func (w *worker) makeCurrent(parent *types.Block, header *types.Header) error {
|
||||
publicState, privateState, err := w.chain.StateAt(parent.Root())
|
||||
|
@ -752,12 +747,11 @@ func (w *worker) updateSnapshot() {
|
|||
w.snapshotState = w.current.state.Copy()
|
||||
}
|
||||
|
||||
|
||||
func (w *worker) commitTransaction(tx *types.Transaction, coinbase common.Address) ([]*types.Log, error) {
|
||||
snap := w.current.state.Snapshot()
|
||||
privateSnap := w.current.privateState.Snapshot()
|
||||
|
||||
receipt, privateReceipt, _, err := core.ApplyTransaction(w.config, w.chain, &coinbase, w.current.gasPool, w.current.state,w.current.privateState, w.current.header, tx, &w.current.header.GasUsed, vm.Config{})
|
||||
receipt, privateReceipt, _, err := core.ApplyTransaction(w.config, w.chain, &coinbase, w.current.gasPool, w.current.state, w.current.privateState, w.current.header, tx, &w.current.header.GasUsed, vm.Config{})
|
||||
if err != nil {
|
||||
w.current.state.RevertToSnapshot(snap)
|
||||
w.current.privateState.RevertToSnapshot(privateSnap)
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package raft
|
||||
|
||||
import (
|
||||
"crypto/ecdsa"
|
||||
"sync"
|
||||
"time"
|
||||
"crypto/ecdsa"
|
||||
|
||||
"github.com/ethereum/go-ethereum/accounts"
|
||||
"github.com/ethereum/go-ethereum/core"
|
||||
|
|
|
@ -1,28 +1,28 @@
|
|||
package raft
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"math/big"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/ethereum/go-ethereum/crypto"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/common/hexutil"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/crypto"
|
||||
"github.com/ethereum/go-ethereum/node"
|
||||
"github.com/ethereum/go-ethereum/rlp"
|
||||
"github.com/ethereum/go-ethereum/common/hexutil"
|
||||
)
|
||||
|
||||
func TestSignHeader(t *testing.T){
|
||||
func TestSignHeader(t *testing.T) {
|
||||
//create only what we need to test the seal
|
||||
var testRaftId uint16 = 5
|
||||
config := &node.Config{Name: "unit-test", DataDir: ""}
|
||||
|
||||
nodeKey := config.NodeKey()
|
||||
|
||||
raftProtocolManager := &ProtocolManager{raftId:testRaftId}
|
||||
raftProtocolManager := &ProtocolManager{raftId: testRaftId}
|
||||
raftService := &RaftService{nodeKey: nodeKey, raftProtocolManager: raftProtocolManager}
|
||||
minter := minter{eth: raftService,}
|
||||
minter := minter{eth: raftService}
|
||||
|
||||
//create some fake header to sign
|
||||
fakeParentHash := common.HexToHash("0xc2c1dc1be8054808c69e06137429899d")
|
||||
|
@ -46,7 +46,7 @@ func TestSignHeader(t *testing.T){
|
|||
}
|
||||
|
||||
// Check raftId
|
||||
sealRaftId, err := hexutil.DecodeUint64("0x"+ string(seal.RaftId)) //add the 0x prefix
|
||||
sealRaftId, err := hexutil.DecodeUint64("0x" + string(seal.RaftId)) //add the 0x prefix
|
||||
if err != nil {
|
||||
t.Errorf("Unable to get RaftId: %s", err.Error())
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ func TestSignHeader(t *testing.T){
|
|||
}
|
||||
|
||||
//Identify who signed it
|
||||
sig:= seal.Signature
|
||||
sig := seal.Signature
|
||||
pubKey, err := crypto.SigToPub(headerHash.Bytes(), sig)
|
||||
if err != nil {
|
||||
t.Fatalf("Unable to get public key from signature: %s", err.Error())
|
||||
|
|
|
@ -126,7 +126,6 @@ func BenchmarkDiscovery_64_4(b *testing.B) { benchmarkDiscovery(b, 64, 4) }
|
|||
func BenchmarkDiscovery_128_4(b *testing.B) { benchmarkDiscovery(b, 128, 4) }
|
||||
func BenchmarkDiscovery_256_4(b *testing.B) { benchmarkDiscovery(b, 256, 4) }
|
||||
|
||||
|
||||
func testDiscoverySimulationDockerAdapter(t *testing.T, nodes, conns int) {
|
||||
adapter, err := adapters.NewDockerAdapter()
|
||||
if err != nil {
|
||||
|
|
Loading…
Reference in New Issue