Skip to content

Commit

Permalink
remove bytesToUint
Browse files Browse the repository at this point in the history
John Whitton committed Aug 15, 2024
1 parent a91d173 commit a46576e
Showing 2 changed files with 7 additions and 23 deletions.
14 changes: 3 additions & 11 deletions contracts/Prover.sol
Original file line number Diff line number Diff line change
@@ -166,14 +166,6 @@ contract Prover is UUPSUpgradeable, OwnableUpgradeable {
}
}

function _bytesToUint(bytes memory b) internal pure returns (uint256) {
uint256 number;
for (uint256 i = 0; i < b.length; i++) {
number = number + uint256(uint8(b[i])) * (2 ** (8 * (b.length - (i + 1))));
}
return number;
}

function assembleGameStatusStorage(
uint64 createdAt,
uint64 resolvedAt,
@@ -225,7 +217,7 @@ contract Prover is UUPSUpgradeable, OwnableUpgradeable {
// require(l1WorldStateRoot.length <= 32); // ensure lossless casting to bytes32

BlockProof memory blockProof = BlockProof({
blockNumber: _bytesToUint(RLPReader.readBytes(RLPReader.readList(rlpEncodedBlockData)[8])),
blockNumber: uint256(bytes32(RLPReader.readBytes(RLPReader.readList(rlpEncodedBlockData)[8]))),
blockHash: keccak256(rlpEncodedBlockData),
stateRoot: bytes32(RLPReader.readBytes(RLPReader.readList(rlpEncodedBlockData)[3]))
});
@@ -295,7 +287,7 @@ contract Prover is UUPSUpgradeable, OwnableUpgradeable {

BlockProof memory existingBlockProof = provenStates[chainId];
BlockProof memory blockProof = BlockProof({
blockNumber: _bytesToUint(RLPReader.readBytes(RLPReader.readList(rlpEncodedBlockData)[8])),
blockNumber: uint256(bytes32(RLPReader.readBytes(RLPReader.readList(rlpEncodedBlockData)[8]))),
blockHash: keccak256(rlpEncodedBlockData),
stateRoot: l2WorldStateRoot
});
@@ -437,7 +429,7 @@ contract Prover is UUPSUpgradeable, OwnableUpgradeable {

BlockProof memory existingBlockProof = provenStates[chainId];
BlockProof memory blockProof = BlockProof({
blockNumber: _bytesToUint(RLPReader.readBytes(RLPReader.readList(rlpEncodedBlockData)[8])),
blockNumber: uint256(bytes32(RLPReader.readBytes(RLPReader.readList(rlpEncodedBlockData)[8]))),
blockHash: keccak256(rlpEncodedBlockData),
stateRoot: l2WorldStateRoot
});
16 changes: 4 additions & 12 deletions contracts/ProverL3.sol
Original file line number Diff line number Diff line change
@@ -166,14 +166,6 @@ contract ProverL3 is UUPSUpgradeable, OwnableUpgradeable {
}
}

function _bytesToUint(bytes memory b) internal pure returns (uint256) {
uint256 number;
for (uint256 i = 0; i < b.length; i++) {
number = number + uint256(uint8(b[i])) * (2 ** (8 * (b.length - (i + 1))));
}
return number;
}

function assembleGameStatusStorage(
uint64 createdAt,
uint64 resolvedAt,
@@ -225,7 +217,7 @@ contract ProverL3 is UUPSUpgradeable, OwnableUpgradeable {
// require(l1WorldStateRoot.length <= 32); // ensure lossless casting to bytes32

BlockProof memory blockProof = BlockProof({
blockNumber: _bytesToUint(RLPReader.readBytes(RLPReader.readList(rlpEncodedBlockData)[8])),
blockNumber: uint256(bytes32(RLPReader.readBytes(RLPReader.readList(rlpEncodedBlockData)[8]))),
blockHash: keccak256(rlpEncodedBlockData),
stateRoot: bytes32(RLPReader.readBytes(RLPReader.readList(rlpEncodedBlockData)[3]))
});
@@ -246,7 +238,7 @@ contract ProverL3 is UUPSUpgradeable, OwnableUpgradeable {
onlyOwner
{
BlockProof memory blockProof = BlockProof({
blockNumber: _bytesToUint(RLPReader.readBytes(RLPReader.readList(rlpEncodedBlockData)[8])),
blockNumber: uint256(bytes32(RLPReader.readBytes(RLPReader.readList(rlpEncodedBlockData)[8]))),
blockHash: keccak256(rlpEncodedBlockData),
stateRoot: bytes32(RLPReader.readBytes(RLPReader.readList(rlpEncodedBlockData)[3]))
});
@@ -316,7 +308,7 @@ contract ProverL3 is UUPSUpgradeable, OwnableUpgradeable {

BlockProof memory existingBlockProof = provenStates[chainId];
BlockProof memory blockProof = BlockProof({
blockNumber: _bytesToUint(RLPReader.readBytes(RLPReader.readList(rlpEncodedBlockData)[8])),
blockNumber: uint256(bytes32(RLPReader.readBytes(RLPReader.readList(rlpEncodedBlockData)[8]))),
blockHash: keccak256(rlpEncodedBlockData),
stateRoot: l2WorldStateRoot
});
@@ -458,7 +450,7 @@ contract ProverL3 is UUPSUpgradeable, OwnableUpgradeable {

BlockProof memory existingBlockProof = provenStates[chainId];
BlockProof memory blockProof = BlockProof({
blockNumber: _bytesToUint(RLPReader.readBytes(RLPReader.readList(rlpEncodedBlockData)[8])),
blockNumber: uint256(bytes32(RLPReader.readBytes(RLPReader.readList(rlpEncodedBlockData)[8]))),
blockHash: keccak256(rlpEncodedBlockData),
stateRoot: l2WorldStateRoot
});

0 comments on commit a46576e

Please sign in to comment.