Skip to content

Commit

Permalink
interfaces for unverified sepolia bridge contracts
Browse files Browse the repository at this point in the history
  • Loading branch information
ajb413 committed Mar 22, 2024
1 parent a6fd4c0 commit 63a6f25
Show file tree
Hide file tree
Showing 2 changed files with 235 additions and 0 deletions.
74 changes: 74 additions & 0 deletions contracts/bridges/optimism/IL1CrossDomainMessenger.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.15;

interface IL1CrossDomainMessenger {
event FailedRelayedMessage(bytes32 indexed msgHash);
event Initialized(uint8 version);
event RelayedMessage(bytes32 indexed msgHash);
event SentMessage(
address indexed target,
address sender,
bytes message,
uint256 messageNonce,
uint256 gasLimit
);
event SentMessageExtension1(address indexed sender, uint256 value);

function MESSAGE_VERSION() external view returns (uint16);

function MIN_GAS_CALLDATA_OVERHEAD() external view returns (uint64);

function MIN_GAS_DYNAMIC_OVERHEAD_DENOMINATOR()
external
view
returns (uint64);

function MIN_GAS_DYNAMIC_OVERHEAD_NUMERATOR()
external
view
returns (uint64);

function OTHER_MESSENGER() external view returns (address);

function PORTAL() external view returns (address);

function RELAY_CALL_OVERHEAD() external view returns (uint64);

function RELAY_CONSTANT_OVERHEAD() external view returns (uint64);

function RELAY_GAS_CHECK_BUFFER() external view returns (uint64);

function RELAY_RESERVED_GAS() external view returns (uint64);

function baseGas(bytes memory _message, uint32 _minGasLimit)
external
pure
returns (uint64);

function failedMessages(bytes32) external view returns (bool);

function initialize() external;

function messageNonce() external view returns (uint256);

function relayMessage(
uint256 _nonce,
address _sender,
address _target,
uint256 _value,
uint256 _minGasLimit,
bytes memory _message
) external payable;

function sendMessage(
address _target,
bytes memory _message,
uint32 _minGasLimit
) external payable;

function successfulMessages(bytes32) external view returns (bool);

function version() external view returns (string memory);

function xDomainMessageSender() external view returns (address);
}
161 changes: 161 additions & 0 deletions contracts/bridges/optimism/IL1StandardBridge.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.15;

interface IL1StandardBridge {
event ERC20BridgeFinalized(
address indexed localToken,
address indexed remoteToken,
address indexed from,
address to,
uint256 amount,
bytes extraData
);
event ERC20BridgeInitiated(
address indexed localToken,
address indexed remoteToken,
address indexed from,
address to,
uint256 amount,
bytes extraData
);
event ERC20DepositInitiated(
address indexed l1Token,
address indexed l2Token,
address indexed from,
address to,
uint256 amount,
bytes extraData
);
event ERC20WithdrawalFinalized(
address indexed l1Token,
address indexed l2Token,
address indexed from,
address to,
uint256 amount,
bytes extraData
);
event ETHBridgeFinalized(
address indexed from,
address indexed to,
uint256 amount,
bytes extraData
);
event ETHBridgeInitiated(
address indexed from,
address indexed to,
uint256 amount,
bytes extraData
);
event ETHDepositInitiated(
address indexed from,
address indexed to,
uint256 amount,
bytes extraData
);
event ETHWithdrawalFinalized(
address indexed from,
address indexed to,
uint256 amount,
bytes extraData
);

function MESSENGER() external view returns (address);

function OTHER_BRIDGE() external view returns (address);

function bridgeERC20(
address _localToken,
address _remoteToken,
uint256 _amount,
uint32 _minGasLimit,
bytes memory _extraData
) external;

function bridgeERC20To(
address _localToken,
address _remoteToken,
address _to,
uint256 _amount,
uint32 _minGasLimit,
bytes memory _extraData
) external;

function bridgeETH(uint32 _minGasLimit, bytes memory _extraData)
external
payable;

function bridgeETHTo(
address _to,
uint32 _minGasLimit,
bytes memory _extraData
) external payable;

function depositERC20(
address _l1Token,
address _l2Token,
uint256 _amount,
uint32 _minGasLimit,
bytes memory _extraData
) external;

function depositERC20To(
address _l1Token,
address _l2Token,
address _to,
uint256 _amount,
uint32 _minGasLimit,
bytes memory _extraData
) external;

function depositETH(uint32 _minGasLimit, bytes memory _extraData)
external
payable;

function depositETHTo(
address _to,
uint32 _minGasLimit,
bytes memory _extraData
) external payable;

function deposits(address, address) external view returns (uint256);

function finalizeBridgeERC20(
address _localToken,
address _remoteToken,
address _from,
address _to,
uint256 _amount,
bytes memory _extraData
) external;

function finalizeBridgeETH(
address _from,
address _to,
uint256 _amount,
bytes memory _extraData
) external payable;

function finalizeERC20Withdrawal(
address _l1Token,
address _l2Token,
address _from,
address _to,
uint256 _amount,
bytes memory _extraData
) external;

function finalizeETHWithdrawal(
address _from,
address _to,
uint256 _amount,
bytes memory _extraData
) external payable;

function l2TokenBridge() external view returns (address);

function messenger() external view returns (address);

function version() external view returns (string memory);

receive() external payable;
}

0 comments on commit 63a6f25

Please sign in to comment.