47 lines
1.2 KiB
Solidity
47 lines
1.2 KiB
Solidity
|
// SPDX-License-Identifier: MIT
|
||
|
|
||
|
pragma solidity >=0.8.9;
|
||
|
|
||
|
interface IBridge {
|
||
|
function send(
|
||
|
address _receiver,
|
||
|
address _token,
|
||
|
uint256 _amount,
|
||
|
uint64 _dstChainId,
|
||
|
uint64 _nonce,
|
||
|
uint32 _maxSlippage
|
||
|
) external;
|
||
|
|
||
|
function relay(
|
||
|
bytes calldata _relayRequest,
|
||
|
bytes[] calldata _sigs,
|
||
|
address[] calldata _signers,
|
||
|
uint256[] calldata _powers
|
||
|
) external;
|
||
|
|
||
|
function transfers(bytes32 transferId) external view returns (bool);
|
||
|
|
||
|
function withdraws(bytes32 withdrawId) external view returns (bool);
|
||
|
|
||
|
function withdraw(
|
||
|
bytes calldata _wdmsg,
|
||
|
bytes[] calldata _sigs,
|
||
|
address[] calldata _signers,
|
||
|
uint256[] calldata _powers
|
||
|
) external;
|
||
|
|
||
|
/**
|
||
|
* @notice Verifies that a message is signed by a quorum among the signers.
|
||
|
* @param _msg signed message
|
||
|
* @param _sigs list of signatures sorted by signer addresses in ascending order
|
||
|
* @param _signers sorted list of current signers
|
||
|
* @param _powers powers of current signers
|
||
|
*/
|
||
|
function verifySigs(
|
||
|
bytes memory _msg,
|
||
|
bytes[] calldata _sigs,
|
||
|
address[] calldata _signers,
|
||
|
uint256[] calldata _powers
|
||
|
) external view;
|
||
|
}
|