Skip to content

Commit

Permalink
Merge pull request ethereum#18 from maticnetwork/span-chain
Browse files Browse the repository at this point in the history
check bor chain id for commit span and state
  • Loading branch information
jdkanani authored Feb 17, 2020
2 parents b343bd1 + cfac491 commit 1fc442e
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
20 changes: 20 additions & 0 deletions consensus/bor/bor.go
Original file line number Diff line number Diff line change
Expand Up @@ -1048,6 +1048,15 @@ func (c *Bor) commitSpan(
return err
}

// check if chain id matches with heimdall span
if heimdallSpan.ChainID != c.chainConfig.ChainID.String() {
return fmt.Errorf(
"Chain id proposed span, %s, and bor chain id, %s, doesn't match",
heimdallSpan.ChainID,
c.chainConfig.ChainID,
)
}

// get validators bytes
var validators []MinimalVal
for _, val := range heimdallSpan.ValidatorSet.Validators {
Expand Down Expand Up @@ -1167,11 +1176,22 @@ func (c *Bor) CommitStates(
if err := json.Unmarshal(response.Result, &eventRecord); err != nil {
return err
}

// check if chain id matches with event record
if eventRecord.ChainID != "" && eventRecord.ChainID != c.chainConfig.ChainID.String() {
return fmt.Errorf(
"Chain id proposed state in span, %s, and bor chain id, %s, doesn't match",
eventRecord.ChainID,
c.chainConfig.ChainID,
)
}

log.Info("→ committing new state",
"id", eventRecord.ID,
"contract", eventRecord.Contract,
"data", hex.EncodeToString(eventRecord.Data),
"txHash", eventRecord.TxHash,
"chainID", eventRecord.ChainID,
)

recordBytes, err := rlp.EncodeToBytes(eventRecord)
Expand Down
1 change: 1 addition & 0 deletions consensus/bor/clerk.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@ type EventRecord struct {
Data hexutil.Bytes `json:"data" yaml:"data"`
TxHash common.Hash `json:"tx_hash" yaml:"tx_hash"`
LogIndex uint64 `json:"log_index" yaml:"log_index"`
ChainID string `json:"bor_chain_id" yaml:"bor_chain_id"`
}

0 comments on commit 1fc442e

Please sign in to comment.