Contract Address Details
contract
0xb97FCb6adf4c4aF9981932a004e6CC47173d0Bfc
- Contract Name
- RealitioScalarAdapter
- Creator
- 0x5d5fb4–92281c at 0x07bb34–ba83d4
- Balance
- 0 xDai ( )
- Tokens
-
Fetching tokens...
- Transactions
- 0 Transactions
- Transfers
- 0 Transfers
- Gas Used
- Fetching gas used...
- Last Balance Update
- 27072609
Warning! Contract bytecode has been changed and doesn't match the verified one. Therefore, interaction with this smart contract may be risky.
- Contract name:
- RealitioScalarAdapter
- Optimization enabled
- false
- Compiler version
- v0.5.12+commit.7709ece9
- EVM Version
- default
- Verified at
- 2021-01-12T21:16:45.282331Z
Constructor Arguments
000000000000000000000000ceafdd6bc0bef976fdcd1112955828e00543c0ce00000000000000000000000090a617ed516ab7faaba56cceda0c5d952f294d03
Arg [0] (address) : 0xceafdd6bc0bef976fdcd1112955828e00543c0ce
Arg [1] (address) : 0x90a617ed516ab7faaba56cceda0c5d952f294d03
Contract source code
pragma solidity ^0.5.12; interface IConditionalTokens { function reportPayouts(bytes32 questionId, uint256[] calldata payouts) external; } interface IRealitio { function getContentHash(bytes32 questionId) external view returns (bytes32); function getOpeningTS(bytes32 questionId) external view returns (uint32); function resultFor(bytes32 questionId) external view returns (bytes32); } contract RealitioScalarAdapter { IConditionalTokens public conditionalTokens; IRealitio public realitio; constructor( IConditionalTokens _conditionalTokens, IRealitio _realitio ) public { conditionalTokens = _conditionalTokens; realitio = _realitio; } event QuestionIdAnnouncement( bytes32 indexed realitioQuestionId, bytes32 indexed conditionQuestionId, uint256 low, uint256 high ); function announceConditionQuestionId( bytes32 questionId, uint256 low, uint256 high ) external { emit QuestionIdAnnouncement( questionId, keccak256(abi.encode( questionId, low, high )), low, high ); } function resolve( bytes32 questionId, string calldata question, uint256 low, uint256 high ) external { // check that the given templateId and question match the questionId bytes32 contentHash = keccak256(abi.encodePacked( uint256(1), realitio.getOpeningTS(questionId), question )); require(contentHash == realitio.getContentHash(questionId), "Content hash mismatch"); require(low < high, "Range invalid"); require(high != uint256(-1), "Invalid high point"); uint256[] memory payouts = new uint256[](2); uint256 answer = uint256(realitio.resultFor(questionId)); if (answer == uint256(-1)) { payouts[0] = 1; payouts[1] = 1; } else if (answer <= low) { payouts[0] = 1; payouts[1] = 0; } else if (answer >= high) { payouts[0] = 0; payouts[1] = 1; } else { payouts[0] = high - answer; payouts[1] = answer - low; } conditionalTokens.reportPayouts( keccak256(abi.encode( questionId, low, high )), payouts ); } }
Contract ABI
[{"type":"constructor","stateMutability":"nonpayable","payable":false,"inputs":[{"type":"address","name":"_conditionalTokens","internalType":"contract IConditionalTokens"},{"type":"address","name":"_realitio","internalType":"contract IRealitio"}]},{"type":"event","name":"QuestionIdAnnouncement","inputs":[{"type":"bytes32","name":"realitioQuestionId","internalType":"bytes32","indexed":true},{"type":"bytes32","name":"conditionQuestionId","internalType":"bytes32","indexed":true},{"type":"uint256","name":"low","internalType":"uint256","indexed":false},{"type":"uint256","name":"high","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"function","stateMutability":"nonpayable","payable":false,"outputs":[],"name":"announceConditionQuestionId","inputs":[{"type":"bytes32","name":"questionId","internalType":"bytes32"},{"type":"uint256","name":"low","internalType":"uint256"},{"type":"uint256","name":"high","internalType":"uint256"}],"constant":false},{"type":"function","stateMutability":"view","payable":false,"outputs":[{"type":"address","name":"","internalType":"contract IConditionalTokens"}],"name":"conditionalTokens","inputs":[],"constant":true},{"type":"function","stateMutability":"view","payable":false,"outputs":[{"type":"address","name":"","internalType":"contract IRealitio"}],"name":"realitio","inputs":[],"constant":true},{"type":"function","stateMutability":"nonpayable","payable":false,"outputs":[],"name":"resolve","inputs":[{"type":"bytes32","name":"questionId","internalType":"bytes32"},{"type":"string","name":"question","internalType":"string"},{"type":"uint256","name":"low","internalType":"uint256"},{"type":"uint256","name":"high","internalType":"uint256"}],"constant":false}]
Contract Creation Code
0x608060405234801561001057600080fd5b506040516109e83803806109e88339818101604052604081101561003357600080fd5b810190808051906020019092919080519060200190929190505050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610908806100e06000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80635bd9e29914610051578063bc8802a21461009b578063c213c373146100e5578063fe0db7c114610127575b600080fd5b6100596101be565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100a36101e3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610125600480360360608110156100fb57600080fd5b81019080803590602001909291908035906020019092919080359060200190929190505050610209565b005b6101bc6004803603608081101561013d57600080fd5b81019080803590602001909291908035906020019064010000000081111561016457600080fd5b82018360208201111561017657600080fd5b8035906020019184600183028401116401000000008311171561019857600080fd5b90919293919293908035906020019092919080359060200190929190505050610285565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b82828260405160200180848152602001838152602001828152602001935050505060405160208183030381529060405280519060200120837fab038c0885722fffdf6864cf016c56fa921a1506541dac4fcd59d65963916cb18484604051808381526020018281526020019250505060405180910390a3505050565b600060018060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e63fa6a886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156102fb57600080fd5b505afa15801561030f573d6000803e3d6000fd5b505050506040513d602081101561032557600080fd5b81019080805190602001909291905050508686604051602001808581526020018463ffffffff1663ffffffff1660e01b815260040183838082843780830192505050945050505050604051602081830303815290604052805190602001209050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166351577ea9876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156103f857600080fd5b505afa15801561040c573d6000803e3d6000fd5b505050506040513d602081101561042257600080fd5b810190808051906020019092919050505081146104a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f436f6e74656e742068617368206d69736d61746368000000000000000000000081525060200191505060405180910390fd5b81831061051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f52616e676520696e76616c69640000000000000000000000000000000000000081525060200191505060405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156105b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f496e76616c6964206869676820706f696e74000000000000000000000000000081525060200191505060405180910390fd5b606060026040519080825280602002602001820160405280156105e45781602001602082028038833980820191505090505b5090506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d09cc57e896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561065c57600080fd5b505afa158015610670573d6000803e3d6000fd5b505050506040513d602081101561068657600080fd5b810190808051906020019092919050505060001c90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114156106ff576001826000815181106106d357fe5b6020026020010181815250506001826001815181106106ee57fe5b6020026020010181815250506107be565b8481116107415760018260008151811061071557fe5b60200260200101818152505060008260018151811061073057fe5b6020026020010181815250506107bd565b8381106107835760008260008151811061075757fe5b60200260200101818152505060018260018151811061077257fe5b6020026020010181815250506107bc565b8084038260008151811061079357fe5b602002602001018181525050848103826001815181106107af57fe5b6020026020010181815250505b5b5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c49298ac89878760405160200180848152602001838152602001828152602001935050505060405160208183030381529060405280519060200120846040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561088b578082015181840152602081019050610870565b505050509050019350505050600060405180830381600087803b1580156108b157600080fd5b505af11580156108c5573d6000803e3d6000fd5b50505050505050505050505056fea265627a7a723158206b1a89c8b5a8e59af16a44b87149d96f5842c4a6619cafb857deb99ff8992ea264736f6c634300050c0032000000000000000000000000ceafdd6bc0bef976fdcd1112955828e00543c0ce00000000000000000000000090a617ed516ab7faaba56cceda0c5d952f294d03
Deployed ByteCode
0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80635bd9e29914610051578063bc8802a21461009b578063c213c373146100e5578063fe0db7c114610127575b600080fd5b6100596101be565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100a36101e3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610125600480360360608110156100fb57600080fd5b81019080803590602001909291908035906020019092919080359060200190929190505050610209565b005b6101bc6004803603608081101561013d57600080fd5b81019080803590602001909291908035906020019064010000000081111561016457600080fd5b82018360208201111561017657600080fd5b8035906020019184600183028401116401000000008311171561019857600080fd5b90919293919293908035906020019092919080359060200190929190505050610285565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b82828260405160200180848152602001838152602001828152602001935050505060405160208183030381529060405280519060200120837fab038c0885722fffdf6864cf016c56fa921a1506541dac4fcd59d65963916cb18484604051808381526020018281526020019250505060405180910390a3505050565b600060018060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e63fa6a886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156102fb57600080fd5b505afa15801561030f573d6000803e3d6000fd5b505050506040513d602081101561032557600080fd5b81019080805190602001909291905050508686604051602001808581526020018463ffffffff1663ffffffff1660e01b815260040183838082843780830192505050945050505050604051602081830303815290604052805190602001209050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166351577ea9876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156103f857600080fd5b505afa15801561040c573d6000803e3d6000fd5b505050506040513d602081101561042257600080fd5b810190808051906020019092919050505081146104a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f436f6e74656e742068617368206d69736d61746368000000000000000000000081525060200191505060405180910390fd5b81831061051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f52616e676520696e76616c69640000000000000000000000000000000000000081525060200191505060405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156105b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f496e76616c6964206869676820706f696e74000000000000000000000000000081525060200191505060405180910390fd5b606060026040519080825280602002602001820160405280156105e45781602001602082028038833980820191505090505b5090506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d09cc57e896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561065c57600080fd5b505afa158015610670573d6000803e3d6000fd5b505050506040513d602081101561068657600080fd5b810190808051906020019092919050505060001c90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114156106ff576001826000815181106106d357fe5b6020026020010181815250506001826001815181106106ee57fe5b6020026020010181815250506107be565b8481116107415760018260008151811061071557fe5b60200260200101818152505060008260018151811061073057fe5b6020026020010181815250506107bd565b8381106107835760008260008151811061075757fe5b60200260200101818152505060018260018151811061077257fe5b6020026020010181815250506107bc565b8084038260008151811061079357fe5b602002602001018181525050848103826001815181106107af57fe5b6020026020010181815250505b5b5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c49298ac89878760405160200180848152602001838152602001828152602001935050505060405160208183030381529060405280519060200120846040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561088b578082015181840152602081019050610870565b505050509050019350505050600060405180830381600087803b1580156108b157600080fd5b505af11580156108c5573d6000803e3d6000fd5b50505050505050505050505056fea265627a7a723158206b1a89c8b5a8e59af16a44b87149d96f5842c4a6619cafb857deb99ff8992ea264736f6c634300050c0032