IHomeGateway

Git Source

Inherits: IArbitrableV2, ISenderGateway

Functions

relayCreateDispute

Relays a dispute creation from the ForeignGateway to the home arbitrator using the same parameters as the ones on the foreign chain. Providing incorrect parameters will create a different hash than on the foreignChain and will not affect the actual dispute/arbitrable's ruling. This function accepts the fees payment in the native currency of the home chain, typically ETH.

function relayCreateDispute(RelayCreateDisputeParams memory _params) external payable;

Parameters

NameTypeDescription
_paramsRelayCreateDisputeParamsThe parameters of the dispute, see RelayCreateDisputeParams.

relayCreateDispute

Relays a dispute creation from the ForeignGateway to the home arbitrator using the same parameters as the ones on the foreign chain. Providing incorrect parameters will create a different hash than on the foreignChain and will not affect the actual dispute/arbitrable's ruling. This function accepts the fees payment in the ERC20 acceptedFeeToken().

function relayCreateDispute(RelayCreateDisputeParams memory _params, uint256 _feeAmount) external;

Parameters

NameTypeDescription
_paramsRelayCreateDisputeParamsThe parameters of the dispute, see RelayCreateDisputeParams.
_feeAmountuint256

disputeHashToHomeID

Looks up the local home disputeID for a disputeHash

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

Parameters

NameTypeDescription
_disputeHashbytes32dispute hash

Returns

NameTypeDescription
<none>uint256disputeID dispute identifier on the home chain

foreignChainID

function foreignChainID() external view returns (uint256);

Returns

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

foreignGateway

function foreignGateway() external view returns (address);

Returns

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

feeToken

return The fee token.

function feeToken() external view returns (IERC20);

Events

CrossChainDisputeIncoming

To be emitted when a dispute is received from the IForeignGateway.

event CrossChainDisputeIncoming( IArbitratorV2 _arbitrator, uint256 _arbitrableChainId, address indexed _arbitrable, uint256 indexed _arbitrableDisputeID, uint256 indexed _arbitratorDisputeID, uint256 _externalDisputeID, uint256 _templateId, string _templateUri );

Structs

RelayCreateDisputeParams

struct RelayCreateDisputeParams { bytes32 foreignBlockHash; uint256 foreignChainID; address foreignArbitrable; uint256 foreignDisputeID; uint256 externalDisputeID; uint256 templateId; string templateUri; uint256 choices; bytes extraData; }