Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 3 additions & 8 deletions contracts/test/integration/bridge/MARKBridgeIntegration.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,9 @@ contract MARKBridgeIntegrationTest is Test {
token.approve(address(adapter), type(uint256).max);
}

/// @notice Verifies that bridgeTo burns tokens on chain A and the recipient
/// receives them on chain B via SuperchainTokenBridge auto-relay.
/// @notice Verifies that bridgeTo burns tokens on chain A.
/// @dev Cross-chain relay (chain B balance) requires live supersim message passing
/// which Foundry fork tests cannot simulate — only the source-chain burn is asserted here.
function testBridgeToTransfersTokensCrossChain() public {
vm.selectFork(forkA);
uint256 destChainId = vm.envOr("CHAIN_B_CHAIN_ID", uint256(902));
Expand All @@ -70,12 +71,6 @@ contract MARKBridgeIntegrationTest is Test {
// Tokens are burned on chain A by SuperchainTokenBridge.
assertEq(token.balanceOf(operator), operatorBalanceBefore - amount, "operator balance not reduced");
assertEq(token.totalSupply(), supplyBefore - amount, "supply not reduced on chain A");

// Supersim auto-relays the message; verify recipient balance on chain B.
vm.selectFork(forkB);
// RYLA is a SuperchainERC20 — same address on both chains via CREATE2.
address tokenOnB = address(token);
assertEq(RYLA(tokenOnB).balanceOf(recipient), amount, "recipient did not receive tokens on chain B");
}

/// @notice Verifies that rate limits are enforced even against the live bridge.
Expand Down
Loading