Skip to content

Commit

Permalink
Merge pull request #293 from Anthony4548/main
Browse files Browse the repository at this point in the history
bsc light node v1 bug fix * 2
  • Loading branch information
philllau authored Nov 7, 2024
2 parents ca10497 + 75e03c7 commit b9545ea
Showing 1 changed file with 14 additions and 16 deletions.
30 changes: 14 additions & 16 deletions lightclients/bsc/contracts/LightNode.sol
Original file line number Diff line number Diff line change
Expand Up @@ -211,9 +211,8 @@ contract LightNode is UUPSUpgradeable, Initializable, Pausable, ILightNode {
uint256 preGasLimt = _blockHeaders[0].gasLimit;

uint256 preBlockTime;

bytes memory vals;

uint256 vNum;
for (uint256 i = 0; i < _min; i++) {
if (_blockHeaders[i].number != start + i) {
return (false, "invalid block number");
Expand All @@ -226,25 +225,24 @@ contract LightNode is UUPSUpgradeable, Initializable, Pausable, ILightNode {
}

preBlockTime = _blockHeaders[i].timestamp;

if (!Verify._validateHeader(_blockHeaders[i], preGasLimt, minEpochBlockExtraDataLen)) {
return (false, "invalid block");
}

preGasLimt = _blockHeaders[i].gasLimit;

uint256 recently = _blockHeaders[i].number - (_blockHeaders[i].number % EPOCH_NUM);
// get the block validators
uint256 mod = (_blockHeaders[i].number % EPOCH_NUM);
uint256 recently = _blockHeaders[i].number - mod;
vals = validators[recently - EPOCH_NUM];

if (
!Verify._containsValidator(
vals,
_blockHeaders[i].miner,
_blockHeaders[i].number % (_getValidatorNum(vals))
)
) {
return (false, "invalid signer");
vNum = _getValidatorNum(vals);
if (!Verify._containsValidator(vals,_blockHeaders[i].miner, _blockHeaders[i].number % vNum)) {
if(mod > 10) {
vals = validators[recently];
vNum = _getValidatorNum(vals);
if(!Verify._containsValidator(vals, _blockHeaders[i].miner, _blockHeaders[i].number % (vNum))){
return (false, "invalid signer");
}
} else {
return (false, "invalid signer");
}
}

if (!Verify._verifyHeaderSignature(_blockHeaders[i], chainId)) {
Expand Down

0 comments on commit b9545ea

Please sign in to comment.