RealitioHomeArbitrationProxy

This contract is meant to be deployed to side-chains (i.e.: xDAI) in which Reality.eth is deployed.

Variables

realitio

contract RealitioInterface realitio

The address of the Realitio contract (v2.1+ required). TRUSTED.

amb

contract IAMB amb

ArbitraryMessageBridge contract address. TRUSTED.

foreignProxy

address foreignProxy

Address of the counter-party proxy on the Foreign Chain. TRUSTED.

foreignChainId

bytes32 foreignChainId

The chain ID where the foreign proxy is deployed.

metadata

Metadata for Realitio interface.

Status

Request

requests

Associates an arbitration request with a question ID and a requester address. requests[questionID][requester]

questionIDToRequester

Associates a question ID with the requester who succeeded in requesting arbitration. questionIDToRequester[questionID]

Modifiers

onlyForeignProxy

Functions

constructor

Creates an arbitration proxy on the home chain.

Parameters

Name
Type
Description

_amb

contract IAMB

ArbitraryMessageBridge contract address.

_foreignProxy

address

The address of the proxy.

_foreignChainId

bytes32

The ID of the chain where the foreign proxy is deployed.

_realitio

contract RealitioInterface

Realitio contract address.

receiveArbitrationRequest

Receives the requested arbitration for a question. TRUSTED.

Parameters

Name
Type
Description

_questionID

bytes32

The ID of the question.

_requester

address

The address of the user that requested arbitration.

_maxPrevious

uint256

The maximum value of the previous bond for the question.

handleNotifiedRequest

Handles arbitration request after it has been notified to Realitio for a given question.

This method exists because receiveArbitrationRequest is called by the AMB and cannot send messages back to it.

Parameters

Name
Type
Description

_questionID

bytes32

The ID of the question.

_requester

address

The address of the user that requested arbitration.

handleRejectedRequest

Handles arbitration request after it has been rejected.

_This method exists because receiveArbitrationRequest is called by the AMB and cannot send messages back to it. Reasons why the request might be rejected:

  • The question does not exist

  • The question was not answered yet

  • The question bond value changed while the arbitration was being requested

  • Another request was already accepted_

Parameters

Name
Type
Description

_questionID

bytes32

The ID of the question.

_requester

address

The address of the user that requested arbitration.

receiveArbitrationFailure

Receives a failed attempt to request arbitration. TRUSTED.

Currently this can happen only if the arbitration cost increased.

Parameters

Name
Type
Description

_questionID

bytes32

The ID of the question.

_requester

address

The address of the user that requested arbitration.

receiveArbitrationAnswer

Receives the answer to a specified question. TRUSTED.

Parameters

Name
Type
Description

_questionID

bytes32

The ID of the question.

_answer

bytes32

The answer from the arbitrator.

reportArbitrationAnswer

Reports the answer provided by the arbitrator to a specified question.

The Realitio contract validates the input parameters passed to this method, so making this publicly accessible is safe.

Parameters

Name
Type
Description

_questionID

bytes32

The ID of the question.

_lastHistoryHash

bytes32

The history hash given with the last answer to the question in the Realitio contract.

_lastAnswerOrCommitmentID

bytes32

The last answer given, or its commitment ID if it was a commitment, to the question in the Realitio contract.

_lastAnswerer

address

The last answerer to the question in the Realitio contract.

Last updated