diff options
author | Jimmy Hu <jimmy.hu@dexon.org> | 2019-02-27 10:41:01 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@dexon.org> | 2019-03-12 12:19:09 +0800 |
commit | 0ac79d780ba63c574d648552f887c9411fdd76fe (patch) | |
tree | 0afb53c6bd8bd10f1beae428460c4481ee876dc1 /core | |
parent | d2a491c0b69bb0777b124e9ba278c05129bb327e (diff) | |
download | dexon-0ac79d780ba63c574d648552f887c9411fdd76fe.tar.gz dexon-0ac79d780ba63c574d648552f887c9411fdd76fe.tar.zst dexon-0ac79d780ba63c574d648552f887c9411fdd76fe.zip |
core: sync to latest core (#214)
* vendor: sync to latest core
* fix for single chain
Diffstat (limited to 'core')
-rw-r--r-- | core/blockchain.go | 2 | ||||
-rw-r--r-- | core/governance.go | 15 | ||||
-rw-r--r-- | core/vm/oracle_contracts.go | 10 |
3 files changed, 20 insertions, 7 deletions
diff --git a/core/blockchain.go b/core/blockchain.go index 299c6f162..29af94b66 100644 --- a/core/blockchain.go +++ b/core/blockchain.go @@ -293,7 +293,7 @@ type blockInfo struct { } func (bc *BlockChain) AddConfirmedBlock(block *coreTypes.Block) error { - chainID := block.Position.ChainID + chainID := uint32(0) bc.confirmedBlockInitMu.Lock() _, exist := bc.confirmedBlocks[chainID] if !exist { diff --git a/core/governance.go b/core/governance.go index 9929867c9..03f53ae6b 100644 --- a/core/governance.go +++ b/core/governance.go @@ -91,12 +91,11 @@ func (g *Governance) Configuration(round uint64) *coreTypes.Config { configHelper := g.GetGovStateHelperAtRound(round) c := configHelper.Configuration() return &coreTypes.Config{ - LambdaBA: time.Duration(c.LambdaBA) * time.Millisecond, - LambdaDKG: time.Duration(c.LambdaDKG) * time.Millisecond, - NotarySetSize: c.NotarySetSize, - DKGSetSize: c.DKGSetSize, - // TODO(jimmyhu): remove MinBlockInterval after coreTypes.Config update. - RoundInterval: time.Duration(c.RoundLength) * time.Duration(c.MinBlockInterval) * time.Millisecond, + LambdaBA: time.Duration(c.LambdaBA) * time.Millisecond, + LambdaDKG: time.Duration(c.LambdaDKG) * time.Millisecond, + NotarySetSize: c.NotarySetSize, + DKGSetSize: c.DKGSetSize, + RoundLength: c.RoundLength, MinBlockInterval: time.Duration(c.MinBlockInterval) * time.Millisecond, } } @@ -138,3 +137,7 @@ func (g *Governance) IsDKGFinal(round uint64) bool { func (g *Governance) MinGasPrice(round uint64) *big.Int { return g.GetGovStateHelperAtRound(round).MinGasPrice() } + +func (g *Governance) DKGResetCount(round uint64) uint64 { + return g.GetHeadHelper().DKGResetCount(big.NewInt(int64(round))).Uint64() +} diff --git a/core/vm/oracle_contracts.go b/core/vm/oracle_contracts.go index 826e0396c..aa93c97fb 100644 --- a/core/vm/oracle_contracts.go +++ b/core/vm/oracle_contracts.go @@ -2469,6 +2469,16 @@ func PackReportForkBlock(block1, block2 *coreTypes.Block) ([]byte, error) { return data, nil } +func PackResetDKG(newSignedCRS []byte) ([]byte, error) { + method := GovernanceABI.Name2Method["resetDKG"] + res, err := method.Inputs.Pack(newSignedCRS) + if err != nil { + return nil, err + } + data := append(method.Id(), res...) + return data, nil +} + // NodeInfoOracleContract representing a oracle providing the node information. type NodeInfoOracleContract struct { } |