HomeGatewayToEthereum
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
Name | Type | Description |
---|---|---|
_originalChainID | uint256 | originalChainId |
_originalBlockHash | bytes32 | originalBlockHash |
_originalDisputeID | uint256 | originalDisputeID |
_choices | uint256 | number of ruling choices |
_extraData | bytes | extraData |
_arbitrable | address | arbitrable |
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;
}