Merge branch 'develop' of github.com:ethereum/go-ethereum into develop
This commit is contained in:
commit
202362d925
@ -3,7 +3,7 @@ import QtQuick.Controls 1.0;
|
|||||||
import QtQuick.Controls.Styles 1.0
|
import QtQuick.Controls.Styles 1.0
|
||||||
import QtQuick.Layouts 1.0;
|
import QtQuick.Layouts 1.0;
|
||||||
import QtWebEngine 1.0
|
import QtWebEngine 1.0
|
||||||
//import QtWebEngine.experimental 1.0
|
import QtWebEngine.experimental 1.0
|
||||||
import QtQuick.Window 2.0;
|
import QtQuick.Window 2.0;
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
@ -326,6 +326,8 @@ Rectangle {
|
|||||||
WebEngineView {
|
WebEngineView {
|
||||||
objectName: "webView"
|
objectName: "webView"
|
||||||
id: webview
|
id: webview
|
||||||
|
experimental.settings.javascriptCanAccessClipboard: true
|
||||||
|
experimental.settings.localContentCanAccessRemoteUrls: true
|
||||||
anchors {
|
anchors {
|
||||||
left: parent.left
|
left: parent.left
|
||||||
right: parent.right
|
right: parent.right
|
||||||
|
@ -103,7 +103,7 @@ Rectangle {
|
|||||||
|
|
||||||
ComboBox {
|
ComboBox {
|
||||||
id: valueDenom
|
id: valueDenom
|
||||||
currentIndex: 6
|
currentIndex: 5
|
||||||
model: denomModel
|
model: denomModel
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -104,7 +104,7 @@ Rectangle {
|
|||||||
|
|
||||||
ComboBox {
|
ComboBox {
|
||||||
id: valueDenom
|
id: valueDenom
|
||||||
currentIndex: 6
|
currentIndex: 5
|
||||||
model: denomModel
|
model: denomModel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,11 +78,10 @@ type ChainManager struct {
|
|||||||
eventMux *event.TypeMux
|
eventMux *event.TypeMux
|
||||||
genesisBlock *types.Block
|
genesisBlock *types.Block
|
||||||
// Last known total difficulty
|
// Last known total difficulty
|
||||||
mu sync.RWMutex
|
mu sync.RWMutex
|
||||||
td *big.Int
|
td *big.Int
|
||||||
lastBlockNumber uint64
|
currentBlock *types.Block
|
||||||
currentBlock *types.Block
|
lastBlockHash []byte
|
||||||
lastBlockHash []byte
|
|
||||||
|
|
||||||
transState *state.StateDB
|
transState *state.StateDB
|
||||||
}
|
}
|
||||||
@ -94,13 +93,6 @@ func (self *ChainManager) Td() *big.Int {
|
|||||||
return self.td
|
return self.td
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *ChainManager) LastBlockNumber() uint64 {
|
|
||||||
self.mu.RLock()
|
|
||||||
defer self.mu.RUnlock()
|
|
||||||
|
|
||||||
return self.lastBlockNumber
|
|
||||||
}
|
|
||||||
|
|
||||||
func (self *ChainManager) LastBlockHash() []byte {
|
func (self *ChainManager) LastBlockHash() []byte {
|
||||||
self.mu.RLock()
|
self.mu.RLock()
|
||||||
defer self.mu.RUnlock()
|
defer self.mu.RUnlock()
|
||||||
@ -149,7 +141,6 @@ func (bc *ChainManager) setLastBlock() {
|
|||||||
rlp.Decode(bytes.NewReader(data), &block)
|
rlp.Decode(bytes.NewReader(data), &block)
|
||||||
bc.currentBlock = &block
|
bc.currentBlock = &block
|
||||||
bc.lastBlockHash = block.Hash()
|
bc.lastBlockHash = block.Hash()
|
||||||
bc.lastBlockNumber = block.Header().Number.Uint64()
|
|
||||||
|
|
||||||
// Set the last know difficulty (might be 0x0 as initial value, Genesis)
|
// Set the last know difficulty (might be 0x0 as initial value, Genesis)
|
||||||
bc.td = ethutil.BigD(bc.db.LastKnownTD())
|
bc.td = ethutil.BigD(bc.db.LastKnownTD())
|
||||||
@ -157,7 +148,7 @@ func (bc *ChainManager) setLastBlock() {
|
|||||||
bc.Reset()
|
bc.Reset()
|
||||||
}
|
}
|
||||||
|
|
||||||
chainlogger.Infof("Last block (#%d) %x TD=%v\n", bc.lastBlockNumber, bc.currentBlock.Hash(), bc.td)
|
chainlogger.Infof("Last block (#%v) %x TD=%v\n", bc.currentBlock.Number(), bc.currentBlock.Hash(), bc.td)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Block creation & chain handling
|
// Block creation & chain handling
|
||||||
@ -234,8 +225,6 @@ func (bc *ChainManager) insert(block *types.Block) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (bc *ChainManager) write(block *types.Block) {
|
func (bc *ChainManager) write(block *types.Block) {
|
||||||
bc.writeBlockInfo(block)
|
|
||||||
|
|
||||||
encodedBlock := ethutil.Encode(block.RlpDataForStorage())
|
encodedBlock := ethutil.Encode(block.RlpDataForStorage())
|
||||||
bc.db.Put(block.Hash(), encodedBlock)
|
bc.db.Put(block.Hash(), encodedBlock)
|
||||||
}
|
}
|
||||||
@ -354,11 +343,6 @@ func (self *ChainManager) CalcTotalDiff(block *types.Block) (*big.Int, error) {
|
|||||||
return td, nil
|
return td, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unexported method for writing extra non-essential block info to the db
|
|
||||||
func (bc *ChainManager) writeBlockInfo(block *types.Block) {
|
|
||||||
bc.lastBlockNumber++
|
|
||||||
}
|
|
||||||
|
|
||||||
func (bc *ChainManager) Stop() {
|
func (bc *ChainManager) Stop() {
|
||||||
if bc.CurrentBlock != nil {
|
if bc.CurrentBlock != nil {
|
||||||
chainlogger.Infoln("Stopped")
|
chainlogger.Infoln("Stopped")
|
||||||
|
@ -3,9 +3,10 @@ package secp256k1
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/ethereum/go-ethereum/crypto/randentropy"
|
|
||||||
"log"
|
"log"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/ethereum/go-ethereum/crypto/randentropy"
|
||||||
)
|
)
|
||||||
|
|
||||||
const TESTS = 10000 // how many tests
|
const TESTS = 10000 // how many tests
|
||||||
@ -227,3 +228,11 @@ func Test_Secp256_06b(t *testing.T) {
|
|||||||
fmt.Printf("ERROR: Accepted signature for %v of %v random messages\n", fail_count, TESTS)
|
fmt.Printf("ERROR: Accepted signature for %v of %v random messages\n", fail_count, TESTS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestInvalidKey(t *testing.T) {
|
||||||
|
p1 := make([]byte, 32)
|
||||||
|
err := VerifySeckeyValidity(p1)
|
||||||
|
if err == nil {
|
||||||
|
t.Errorf("pvk %x varify sec key should have returned error", p1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user