import 'c'; import 'api'; pragma solidity^0.4.10; contract directTest_fnc { OraclizeI c; function directTest_fnc(address t) { c = OraclizeI(t); } function extCb() external { } // These only work on initial contract deployment function query1First() { assert(c.query1_fnc(0, 'URL', '', this.extCb, 200000) != 0); } function query2First() { assert(c.query2_fnc(0, 'URL', '', '', this.extCb, 200000) != 0); } function queryNFirst() { assert(c.queryN_fnc(0, 'URL', hex'deadbeef', this.extCb, 200000) != 0); } // End first // Provide 0.1 eth per call to these function query1() payable { assert(c.query1_fnc.value(0.1 ether)(0, 'URL', '', this.extCb, 200000) != 0); } function query2() payable { assert(c.query2_fnc.value(0.1 ether)(0, 'URL', '', '', this.extCb, 200000) != 0); } function queryN() payable { assert(c.queryN_fnc.value(0.1 ether)(0, 'URL', hex'deadbeef', this.extCb, 200000) != 0); } } contract apiTest_fnc is usingOraclize { function extCb() external { } function apiTest_fnc(address o) { oraclize = OraclizeI(o); } // top up after first call at least function topUp() payable { } // These only work on initial contract deployment function query1Full() { assert(oraclize_query(0, 'URL', '', this.extCb, 200000) != 0); } function query1Rest() { assert(oraclize_query('URL', '', this.extCb) != 0); assert(oraclize_query(0, 'URL', '', this.extCb) != 0); assert(oraclize_query('URL', '', this.extCb, 200000) != 0); } function query2Full() { assert(oraclize_query(0, 'URL', '', '', this.extCb, 200000) != 0); } function query2Rest() { assert(oraclize_query('URL', '', '', this.extCb) != 0); assert(oraclize_query(0, 'URL', '', '', this.extCb) != 0); assert(oraclize_query('URL', '', '', this.extCb, 200000) != 0); } function queryNFull() { bytes[] memory b = new bytes[](2); b[0] = hex'11'; b[1] = hex'22'; oraclize_query(0, 'URL', b, this.extCb, 200000); } function queryNRest1() { bytes[] memory b = new bytes[](2); b[0] = hex'11'; b[1] = hex'22'; oraclize_query('URL', b, this.extCb); oraclize_query(0, 'URL', b, this.extCb); oraclize_query('URL', b, this.extCb, 200000); } function queryNRest2() { oraclize_query(0, 'URL', [hex'11', hex'22', hex'33', hex'44', hex'55'], this.extCb, 200000); oraclize_query('URL', [hex'11', hex'22', hex'33', hex'44', hex'55'], this.extCb); oraclize_query(0, 'URL', [hex'11', hex'22', hex'33', hex'44', hex'55'], this.extCb); oraclize_query('URL', [hex'11', hex'22', hex'33', hex'44', hex'55'], this.extCb, 200000); } function queryNFullString() { string[] memory s = new string[](2); s[0] = 'one'; s[1] = 'two'; oraclize_query(0, 'URL', s, this.extCb, 200000); } function queryNRest1String() { string[] memory s = new string[](2); s[0] = 'one'; s[1] = 'two'; oraclize_query('URL', s, this.extCb); oraclize_query(0, 'URL', s, this.extCb); oraclize_query('URL', s, this.extCb, 200000); } function queryNRest2String() { oraclize_query(0, 'URL', ['one', 'two', 'three', 'four', 'five'], this.extCb, 200000); oraclize_query('URL', ['one', 'two', 'three', 'four', 'five'], this.extCb); oraclize_query(0, 'URL', ['one', 'two', 'three', 'four', 'five'], this.extCb); oraclize_query('URL', ['one', 'two', 'three', 'four', 'five'], this.extCb, 200000); } }