Open rmeissner opened 3 years ago
Comment from realitio team
The right way to do this is probably not to implement the arbitration methods like getDisputeFee (if you don't want them to be used) but just to implement a metadata() function which will return some information about how arbitration is supposed to work - eg for the kleros special case we made it return {"foreignProxy": "something"} and the app could use that to handle the behaviour and show helpful messages to the user about what's going on.
Currently the DAO module uses the connected DAO (normally a Safe) as the arbitrator. The Realitio interface expects the arbitrator to expose some information via on-chain function calls. A fallback handler should be provided that can be set on the DAO safe to return this required information.
Required methods:
getDisputeFee(bytes32 question_id) https://github.com/realitio/realitio-contracts/blob/a032359a1c7f39737825ab8e8d344766e94775a8/truffle/contracts/Arbitrator.sol#L87 If you want to block calling it make it return a really high number
metadata() - can return an empty string for now https://github.com/realitio/realitio-contracts/blob/a032359a1c7f39737825ab8e8d344766e94775a8/truffle/contracts/Arbitrator.sol#L17
realitio() - should return the address of the contract you're accessing https://github.com/realitio/realitio-contracts/blob/master/truffle/contracts/Arbitrator.sol#L10