Interface (ABI)
Copied!
Function Signatures
bb235d67: INVALID_RESULT_INDEX()
4f2c07f5: arbitrationEndBlock()
f9b0b5b9: consensusThreshold()
fad56779: eventAddress()
61cac418: finalizeResult()
bef4876b: finished()
871169b9: getBetBalances()
a3cb679d: getTotalBets()
9a0e7d66: getTotalVotes()
95d3382a: getVoteBalances()
54750783: lastResultIndex()
ca381d2e: numOfResults()
8da5cb5b: owner()
0d4e8aed: resultIndex()
f2fde38b: transferOwnership(address)
54fd4d50: version()
a34ce8b9: voteResult(uint8,uint256)
Event Hashes
event OracleResultVoted(uint16 indexed _version, address indexed _oracleAddress, address indexed _participant, uint8 _resultIndex, uint256 _votedAmount)
999983c5b5c285890ab4b2b91f9a82d0ca95784c9b138bd37110ba06faa45f67
event OracleResultSet(uint16 indexed _version, address indexed _oracleAddress, uint8 _resultIndex)
766d7bf9e9e8671204cd1da1b1b107d50247d2d1c389c552765262ee3afefb9b
voteResult()
Places a vote with BOT on a result given the index. The BOT is routed to the TopicEvent contract for storage.
- Launch QT Wallet
 - approve() the amount of BOT you want to vote with. The 
_spendershould be theTopicEventaddress. - Click on 
Smart Contracttab, then click onSendTosub tab - Set the 
Contract Addressand Interface (ABI) - 
Set the
FunctiontovoteResult(a34ce8b9)
 - 
Set the Result Index you would like to vote in
uint8 _eventResultIndexfield. Note this cannot be the equal to the last result index, or your transaction will fail.
 - 
Set the amount of BOT to vote in the
uint256 _botAmountfield. Note that you have toapprove()this amount to theTopicEventcontract address from the BodhiToken contract first.
 - 
If this vote will reach the consensus threshold, set the
Gas Limitto3000000(3 million) to make sure the transaction goes through. If under the threshold, leave it as the default gas limit. Any unused gas will be returned to you. The vote that reaches the consensus threshold will need high gas to create a new DecentralizedOracle contract.
 - 
Set the
Sender Addressas the address you want to vote from
 - 
Click
Send To Contractbutton - 
You should see your new transaction posted. Save the transaction id if you want to verify the transaction succeeded.

 - 
Wait for the transaction to be mined
 
finalizeResult()
If the arbitration end block is reached, the last result index is a valid result, and the consensus threshold has not been surpassed, anyone may call this method to set the final result in the TopicEvent. This allows winners to withdraw from the TopicEvent.
- Launch QT Wallet
 - Click on 
Smart Contracttab, then click onSendTosub tab - Set the 
Contract Addressand Interface (ABI) - 
Set the
FunctiontofinalizeResult(61cac418)
 - 
Click
Send To Contractbutton - Wait for the transaction to be mined
 
eventAddress()
Returns the Event address.
- Launch QT Wallet
 - Click on 
Smart Contracttab, then click onCallsub tab - Set the 
Contract Addressand Interface (ABI) - Set the 
FunctiontoeventAddress(fad56779) - Click 
Call Contractbutton - Returns:
addressis the Event address
 
numOfResults()
Returns the number of Event results.
- Launch QT Wallet
 - Click on 
Smart Contracttab, then click onCallsub tab - Set the 
Contract Addressand Interface (ABI) - Set the 
FunctiontonumOfResults(ca381d2e) - Click 
Call Contractbutton - Returns:
uint8is the number of Event results
 
consensusThreshold()
Returns the consensus threshold that needs to be reached in order for the Oracle to be valid.
- Launch QT Wallet
 - Click on 
Smart Contracttab, then click onCallsub tab - Set the 
Contract Addressand Interface (ABI) - Set the 
FunctiontoconsensusThreshold(f9b0b5b9) - Click 
Call Contractbutton - Returns:
uint256is the consensus threshold
 
lastResultIndex()
Returns the last index of the previous oracle.
- Launch QT Wallet
 - Click on 
Smart Contracttab, then click onCallsub tab - Set the 
Contract Addressand Interface (ABI) - Set the 
FunctiontolastResultIndex(54750783) - Click 
Call Contractbutton - Returns:
uint8is the last result index
 
arbitrationEndBlock()
Returns the block when the voting period will end.
- Launch QT Wallet
 - Click on 
Smart Contracttab, then click onCallsub tab - Set the 
Contract Addressand Interface (ABI) - Set the 
FunctiontoarbitrationEndBlock(4f2c07f5) - Click 
Call Contractbutton - Returns:
uint256is the arbitration end block
 
getVoteBalances()
Returns an array of BOT vote balances placed by the sender. Shows 10 values and each index is the vote amount for that result index.
- Launch QT Wallet
 - Click on 
Smart Contracttab, then click onCallsub tab - Set the 
Contract Addressand Interface (ABI) - Set the 
FunctiontogetVoteBalances(95d3382a) - Click 
Call Contractbutton - Returns:
uint256[10]is the array of BOT vote balances shown in Botoshi
 
getTotalVotes()
Returns an array of total BOT votes placed by all participants. Shows 10 values and each index is the total vote amount for that result.
- Launch QT Wallet
 - Click on 
Smart Contracttab, then click onCallsub tab - Set the 
Contract Addressand Interface (ABI) - Set the 
FunctiontogetTotalVotes(9a0e7d66) - Click 
Call Contractbutton - Returns:
uint256[10]is the array of total BOT votes shown in Botoshi
 
resultIndex()
Returns the result index. If it returns 255, then no single result have reached the consensus threshold.
- Launch QT Wallet
 - Click on 
Smart Contracttab, then click onCallsub tab - Set the 
Contract Addressand Interface (ABI) - Set the 
FunctiontoresultIndex(0d4e8aed) - Click 
Call Contractbutton - Returns:
uint8is the result index
 
finished()
Returns true or false if the Oracle is finished. No more transactions are allowed after finished.
- Launch QT Wallet
 - Click on 
Smart Contracttab, then click onCallsub tab - Set the 
Contract Addressand Interface (ABI) - Set the 
Functiontofinished(bef4876b) - Click 
Call Contractbutton - Returns:
boolshows true/false if the Oracle is finished