IForeignGateway

Git Source

Inherits: IArbitrator, IReceiverGateway

Functions

createDisputeERC20

Create a dispute with the fees paid in the ERC20 token specified by feeToken(). Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).

function createDisputeERC20(uint256 _choices, bytes calldata _extraData, uint256 _amount)
    external
    returns (uint256 disputeID);

Parameters

NameTypeDescription
_choicesuint256Amount of choices the arbitrator can make in this dispute.
_extraDatabytesCan be used to give additional info on the dispute to be created.
_amountuint256Amount of ERC20 token that will be paid.

Returns

NameTypeDescription
disputeIDuint256ID of the dispute created.

relayRule

Relay the rule call from the home gateway to the arbitrable.

function relayRule(address _messageSender, bytes32 _disputeHash, uint256 _ruling, address _forwarder) external;

withdrawFees

Reimburses the dispute fees to the relayer who paid for these fees on the home chain.

function withdrawFees(bytes32 _disputeHash) external;

Parameters

NameTypeDescription
_disputeHashbytes32The dispute hash for which to withdraw the fees.

disputeHashToForeignID

Looks up the local foreign disputeID for a disputeHash

function disputeHashToForeignID(bytes32 _disputeHash) external view returns (uint256);

Parameters

NameTypeDescription
_disputeHashbytes32dispute hash

feeToken

function feeToken() external view returns (IERC20);

Returns

NameTypeDescription
<none>IERC20The ERC20 token used for the fees.

homeChainID

function homeChainID() external view returns (uint256);

Returns

NameTypeDescription
<none>uint256The chain ID where the corresponding home gateway is deployed.

homeGateway

function homeGateway() external view returns (address);

Returns

NameTypeDescription
<none>addressThe address of the corresponding home gateway.