erigon-pulse/polygon/sync/state_point.go
battlmonstr 2793ef6ec1
polygon: flatten redundant packages (#9241)
* move mocks to the owner packages
* squash single file packages
* move types to more appropriate files
* remove unused mocks
2024-01-16 09:23:02 +01:00

47 lines
1.2 KiB
Go

package sync
import (
"math/big"
"github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon/polygon/heimdall"
)
func statePointFromCheckpoint(checkpoint *heimdall.Checkpoint) *statePoint {
return &statePoint{
proposer: checkpoint.Proposer,
startBlock: new(big.Int).Set(checkpoint.StartBlock),
endBlock: new(big.Int).Set(checkpoint.EndBlock),
rootHash: checkpoint.RootHash,
chainId: checkpoint.BorChainID,
timestamp: checkpoint.Timestamp,
kind: checkpointKind,
}
}
func statePointFromMilestone(milestone *heimdall.Milestone) *statePoint {
return &statePoint{
proposer: milestone.Proposer,
startBlock: new(big.Int).Set(milestone.StartBlock),
endBlock: new(big.Int).Set(milestone.EndBlock),
rootHash: milestone.Hash,
chainId: milestone.BorChainID,
timestamp: milestone.Timestamp,
kind: milestoneKind,
}
}
type statePoint struct {
proposer common.Address
startBlock *big.Int
endBlock *big.Int
rootHash common.Hash
chainId string
timestamp uint64
kind statePointKind
}
func (sp *statePoint) length() int {
return int(new(big.Int).Sub(sp.endBlock, sp.startBlock).Int64() + 1)
}