forked from cerc-io/ipld-eth-server
1355271011
- Only syncs block headers (excludes block bodies, transactions, receipts, and logs) - Modifies validation window to include the most recent block - Isolates validation window to the variable defined in the cmd directory (blocks have a separate variable defined in the block_repository for determining when to set a block as final)
25 lines
560 B
Go
25 lines
560 B
Go
package common
|
|
|
|
import (
|
|
"bytes"
|
|
"github.com/ethereum/go-ethereum/core/types"
|
|
"github.com/ethereum/go-ethereum/rlp"
|
|
"github.com/vulcanize/vulcanizedb/pkg/core"
|
|
)
|
|
|
|
type HeaderConverter struct{}
|
|
|
|
func (converter HeaderConverter) Convert(gethHeader *types.Header) (core.Header, error) {
|
|
writer := new(bytes.Buffer)
|
|
err := rlp.Encode(writer, &gethHeader)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
coreHeader := core.Header{
|
|
Hash: gethHeader.Hash().Hex(),
|
|
BlockNumber: gethHeader.Number.Int64(),
|
|
Raw: writer.Bytes(),
|
|
}
|
|
return coreHeader, nil
|
|
}
|