Skip to content

Comments

[Provers H03] ZKsync ParentToChildProver returns Publisher instead of Broadcaster#83

Open
luiz-lvj wants to merge 4 commits intomainfrom
fix/provers-H03
Open

[Provers H03] ZKsync ParentToChildProver returns Publisher instead of Broadcaster#83
luiz-lvj wants to merge 4 commits intomainfrom
fix/provers-H03

Conversation

@luiz-lvj
Copy link
Collaborator

The verifyStorageSlot function in the ZKsync ParentToChildProver contract returns:

An address,
The storage slot where the message was stored on L2, and
The timestamp stored in that slot.
Although the storage proof itself is correctly verified, the returned address corresponds to the publisher of the message on L2 (in ERC-7888 terminology) instead of the broadcaster contract address. This does not align with the expectations of the Receiver contract, which relies on verifyStorageSlot to return the broadcaster (proof.message.sender).

Compounding the issue, the test ParentChildProver.t.sol::test_verifyStorageSlot validates the returned address against the publisher of the message. Since the test asserts the same incorrect behavior as the implementation, it successfully passes, and the issue is not detected.

this PR updates the ZkSync ParentToChildProver to return the broadcaster address on verifyStorageSlot, instead of the publisher address.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant