db type conversion

This commit is contained in:
denis k 2018-08-21 15:43:50 +10:00
parent 50fb0a24ff
commit e232ba43a3
2 changed files with 27 additions and 32 deletions

View file

@ -14,7 +14,6 @@
// You should have received a copy of the GNU Lesser General Public License // You should have received a copy of the GNU Lesser General Public License
// along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
package lcp package lcp
import ( import (
@ -22,6 +21,7 @@ import (
"github.com/pavelkrolevets/go-ethereum/consensus" "github.com/pavelkrolevets/go-ethereum/consensus"
"github.com/pavelkrolevets/go-ethereum/core/types" "github.com/pavelkrolevets/go-ethereum/core/types"
"github.com/pavelkrolevets/go-ethereum/rpc" "github.com/pavelkrolevets/go-ethereum/rpc"
"github.com/pavelkrolevets/go-ethereum/trie"
"math/big" "math/big"
) )
@ -44,7 +44,7 @@ func (api *API) GetValidators(number *rpc.BlockNumber) ([]common.Address, error)
return nil, errUnknownBlock return nil, errUnknownBlock
} }
epochTrie, err := types.NewEpochTrie(header.LCPContext.EpochHash, api.lcp.db) epochTrie, err := types.NewEpochTrie(header.LCPContext.EpochHash, trie.NewDatabase(api.lcp.db))
if err != nil { if err != nil {
return nil, err return nil, err
} }

View file

@ -1,6 +1,5 @@
package lcp package lcp
import ( import (
"bytes" "bytes"
"errors" "errors"
@ -8,6 +7,9 @@ import (
"sync" "sync"
"time" "time"
"encoding/binary"
"fmt"
"github.com/hashicorp/golang-lru"
"github.com/pavelkrolevets/go-ethereum/accounts" "github.com/pavelkrolevets/go-ethereum/accounts"
"github.com/pavelkrolevets/go-ethereum/common" "github.com/pavelkrolevets/go-ethereum/common"
"github.com/pavelkrolevets/go-ethereum/consensus" "github.com/pavelkrolevets/go-ethereum/consensus"
@ -16,15 +18,12 @@ import (
"github.com/pavelkrolevets/go-ethereum/core/types" "github.com/pavelkrolevets/go-ethereum/core/types"
"github.com/pavelkrolevets/go-ethereum/crypto" "github.com/pavelkrolevets/go-ethereum/crypto"
"github.com/pavelkrolevets/go-ethereum/crypto/sha3" "github.com/pavelkrolevets/go-ethereum/crypto/sha3"
"github.com/pavelkrolevets/go-ethereum/ethdb"
"github.com/pavelkrolevets/go-ethereum/log" "github.com/pavelkrolevets/go-ethereum/log"
"github.com/pavelkrolevets/go-ethereum/params" "github.com/pavelkrolevets/go-ethereum/params"
"github.com/pavelkrolevets/go-ethereum/rlp" "github.com/pavelkrolevets/go-ethereum/rlp"
"github.com/pavelkrolevets/go-ethereum/rpc" "github.com/pavelkrolevets/go-ethereum/rpc"
"github.com/hashicorp/golang-lru"
"encoding/binary"
"fmt"
"github.com/pavelkrolevets/go-ethereum/trie" "github.com/pavelkrolevets/go-ethereum/trie"
"github.com/pavelkrolevets/go-ethereum/ethdb"
) )
const ( const (
@ -32,7 +31,6 @@ const (
extraSeal = 65 // Fixed number of extra-data suffix bytes reserved for signer seal extraSeal = 65 // Fixed number of extra-data suffix bytes reserved for signer seal
inmemorySignatures = 4096 // Number of recent block signatures to keep in memory inmemorySignatures = 4096 // Number of recent block signatures to keep in memory
) )
var ( var (
@ -49,9 +47,6 @@ var (
epochInterval = int64(params.LcpChainConfig.LCP.EpochInterval) epochInterval = int64(params.LcpChainConfig.LCP.EpochInterval)
) )
var ( var (
// errUnknownBlock is returned when the list of signers is requested for a block // errUnknownBlock is returned when the list of signers is requested for a block
// that is not part of the local blockchain. // that is not part of the local blockchain.
@ -240,7 +235,7 @@ func (d *LCP) verifySeal(chain consensus.ChainReader, header *types.Header, pare
} else { } else {
parent = chain.GetHeader(header.ParentHash, number-1) parent = chain.GetHeader(header.ParentHash, number-1)
} }
dposContext, err := types.NewLCPContextFromProto(d.db, parent.LCPContext) dposContext, err := types.NewLCPContextFromProto(trie.NewDatabase(d.db), parent.LCPContext)
if err != nil { if err != nil {
return err return err
} }
@ -406,7 +401,7 @@ func (d *LCP) CheckValidator(lastBlock *types.Block, now int64) error {
if err := d.checkDeadline(lastBlock, now); err != nil { if err := d.checkDeadline(lastBlock, now); err != nil {
return err return err
} }
dposContext, err := types.NewLCPContextFromProto(d.db, lastBlock.Header().LCPContext) dposContext, err := types.NewLCPContextFromProto(trie.NewDatabase(d.db), lastBlock.Header().LCPContext)
if err != nil { if err != nil {
return err return err
} }