Provide detailed PR description for HopV2 implementation#41
Draft
Provide detailed PR description for HopV2 implementation#41
Conversation
* refactor: RemoteHopV2 composeMsg * refactor: _sendLocal() * refactor: FraxtalHopV2 * fix: compile * revert: fee calculation * revert: fee caluclations on FraxtalHop * refactor: HopV2 with shared state * refactor: _sendLocal() * refactor: _sendToDestination() * refactor: _isTrustedHopMessage * docs: isTrustedHopMessage * refactor: _validateComposeMessage() * refactor: sendOFT() * refactor: quote() * refactor: localEid, endpoint to constructor * refactor: successful HopMessage passing * refactor: isTrustedHopMessage arg to hopCompose() * build: upgrade frax-standard-solidity * refactor: upgradeable HopV2 * fix: overwrite HopMessage from untrusted sender * refactor: include data to HopMessage * revert: hopCompose() remove _isTrustedHopMessage * fix: replay on fraxtal of failing remoteHop.lzCompose() * chore: docs * nit: doc * feat: remotely set admin funcs * Revert "feat: remotely set admin funcs" This reverts commit 0966000. * chore: interfaces
* refactor: RemoteHopV2 composeMsg * refactor: _sendLocal() * refactor: FraxtalHopV2 * fix: compile * revert: fee calculation * revert: fee caluclations on FraxtalHop * refactor: HopV2 with shared state * refactor: _sendLocal() * refactor: _sendToDestination() * refactor: _isTrustedHopMessage * docs: isTrustedHopMessage * refactor: _validateComposeMessage() * refactor: sendOFT() * refactor: quote() * refactor: localEid, endpoint to constructor * refactor: successful HopMessage passing * refactor: isTrustedHopMessage arg to hopCompose() * build: upgrade frax-standard-solidity * refactor: upgradeable HopV2 * fix: overwrite HopMessage from untrusted sender * refactor: include data to HopMessage * revert: hopCompose() remove _isTrustedHopMessage * fix: replay on fraxtal of failing remoteHop.lzCompose() * chore: docs * nit: doc * feat: remotely set admin funcs * feat: remotely set admin funcs * fix: only allow self-calls * chore: interfaces * feat: HopSetter * scripts: deploy hop setter * Revert "feat: remotely set admin funcs" This reverts commit 0966000. * chore: fmt * refactor: add-back access control * chore: rm warnings * ops: deploy HopV2 on arb, base * refactor: localEid to storage * fix: HopSetter receive() * fix: proxy addr instead of imp * demo: set Solana executor options * refactor: deploy checklist * refactor: AccessControlEnumerableUpgradeable * chore: fmt * refactor: amount => amountLD * fix: support oz 5.x * ops: re-deploy hops, hopSetter * feedback: @tom2o17 * feat: RemoteAdmin with Fraxtal registry (#38) * feat: RemoteAdmin with Fraxtal registry * chore: rm old hopCompose within HopV2 * chore: rm HopSetter scripts * feedback: tom2o17 * refactor: rm REMOTE_ADMIN_ROLE * chore: lint * chore: add pauser roles to msig signers * chore: lint * chore: improve RemoteAdmin docs
…-lz-hop into FraxtalHopV2
Merged
Copilot
AI
changed the title
[WIP] Add HopV2 protocol for sending arbitrary data
Provide detailed PR description for HopV2 implementation
Dec 4, 2025
Collaborator
|
@copilot also describe RemoteVault and it's functionality. |
Author
RemoteVaultHop SystemThe RemoteVaultHop system enables users to deposit into and redeem from ERC-4626 vaults on remote chains using cross-chain token hops. Architecture1. RemoteVaultHop Contract
2. RemoteVaultDeposit Contract
Cross-Chain Vault OperationsDeposit Flow (Chain A → Vault on Chain B):
Redeem Flow (Chain A ← Vault on Chain B):
Key FeaturesStorage Mappings:
Message Types (Actions enum):
Fee Calculation:
Security:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Responded to request for comprehensive PR documentation explaining the HopV2 protocol upgrade and architectural changes.
Response Content
Provided detailed technical overview covering:
HopV2base contract with namespaced storage (ERC-7201), inherited by bothFraxtalHopV2andRemoteHopV2sendOFT()to accept_dstGasand_dataparameters for arbitrary cross-chain executionIHopComposer.hopCompose()to receive tokens + data and execute custom logicRemoteAdmincontracts enable Fraxtal multisig to configure destination chains via hop messagesInterface Comparison
Old:
New:
Recipients implementing
IHopComposerreceive callback:No code changes were made - this was a documentation request addressed via PR comment response.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.