HomeGatewayToEthereum

Git Source

Inherits: IHomeGatewaySingleMessage

State Variables

disputeIDtoHash

mapping(uint256 => bytes32) public disputeIDtoHash;

disputeHashtoID

mapping(bytes32 => uint256) public disputeHashtoID;

arbitrator

IArbitrator public arbitrator;

fastbridge

IFastBridgeSender public fastbridge;

foreignGateway

address public foreignGateway;

chainID

uint256 public chainID;

foreignChainID

uint256 public foreignChainID;

disputeHashtoRelayedData

mapping(bytes32 => RelayedData) public disputeHashtoRelayedData;

Functions

constructor

constructor(IArbitrator _arbitrator, IFastBridgeSender _fastbridge, address _foreignGateway, uint256 _foreignChainID);

relayCreateDispute

Provide the same parameters as on the originalChain while creating a dispute. Providing incorrect parameters will create a hash which is different than the one on the originalChain and will not affect the actual dispute/arbitrable's ruling.

function relayCreateDispute(
    uint256 _originalChainID,
    bytes32 _originalBlockHash,
    uint256 _originalDisputeID,
    uint256 _choices,
    bytes calldata _extraData,
    address _arbitrable
) external payable;

Parameters

NameTypeDescription
_originalChainIDuint256originalChainId
_originalBlockHashbytes32originalBlockHash
_originalDisputeIDuint256originalDisputeID
_choicesuint256number of ruling choices
_extraDatabytesextraData
_arbitrableaddressarbitrable

rule

function rule(uint256 _disputeID, uint256 _ruling) external;

disputeHashToHomeID

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

Structs

RelayedData

struct RelayedData {
    uint256 arbitrationCost;
    address relayer;
}