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;
}