feat: hashi - #1
Conversation
…hain in order to add hashi for cross chain communication
jordaniza
left a comment
There was a problem hiding this comment.
This looks like it nicely strips the layer zero elements out - I would love to do a code walkthrough to better understand how the flow changes for Dapps and how we would wire the original oapp via L0
| }); | ||
|
|
||
| emit ActionsRelayed(_callId, _params.dstEid, receipt); | ||
| uint256 _destinationChainId |
There was a problem hiding this comment.
To confirm my understanding of Hashi: the destinationChainId is it:
- The chainId for the specific protocol
- A chainId used by Hashi that reconciles to the specific chainId for the xchain protocol
| unchecked { | ||
| ++_nonce; | ||
| } | ||
| emit ActionsRelayed(_callId, _destinationChainId, commitment); |
There was a problem hiding this comment.
Should the nonce be in the event sig?
| @@ -0,0 +1,248 @@ | |||
| // SPDX-License-Identifier: LGPL-3.0-only | |||
| pragma solidity ^0.8.0; | |||
There was a problem hiding this comment.
This contract all looks good but I'd need to review in the context of how it fits in the wider application and the workflow. Would appreciate a walkthrough.
| uint256 chainId; // The ID of the blockchain where the proof is applicable. | ||
| uint256 blockNumber; // The block number at which the proof is generated. | ||
| bytes blockHeader; // The RLP-encoded header of the block containing the account state. | ||
| uint256 ancestralBlockNumber; // The block number of an ancestral block if needed for verification. |
There was a problem hiding this comment.
when are ancestral blocks required for verification and when are they not?
| */ | ||
| event ShoyuBashiSet(address shoyuBashi); | ||
|
|
||
| function __HashiProverUpgradeable_init(address shoyuBashi_) public onlyInitializing { |
There was a problem hiding this comment.
I believe you would define an init_unchained method to allow for inheritance. Not 100% necessary though
| /// @notice Emitted when ShoyuBashi is changed. | ||
| event ShoyuBashiSet(address shoyuBashi); | ||
|
|
||
| /// @notice Emitted when ShoyuBaactionRelayStorageKeyshi is changed. |
| /// @notice Metadata to identify a remote proposal. Logged on receipt. | ||
| /// @param callId The ID of the proposal on the foreign chain. No guarantees of uniqueness. | ||
| /// @param srcEid The LayerZero foreign chain ID. | ||
| /// @param srcChainid The LayerZero foreign chain ID. |
…ting Modes Enables Denial of Service in Cross-Chain Voting
No description provided.