UNPKG

1.62 MBJSONView Raw
1{
2 "contractName": "Dispatch",
3 "abi": [
4 {
5 "constant": true,
6 "inputs": [],
7 "name": "db",
8 "outputs": [
9 {
10 "name": "",
11 "type": "address"
12 }
13 ],
14 "payable": false,
15 "stateMutability": "view",
16 "type": "function"
17 },
18 {
19 "constant": false,
20 "inputs": [],
21 "name": "updateDependencies",
22 "outputs": [],
23 "payable": false,
24 "stateMutability": "nonpayable",
25 "type": "function"
26 },
27 {
28 "constant": true,
29 "inputs": [],
30 "name": "owner",
31 "outputs": [
32 {
33 "name": "",
34 "type": "address"
35 }
36 ],
37 "payable": false,
38 "stateMutability": "view",
39 "type": "function"
40 },
41 {
42 "constant": true,
43 "inputs": [],
44 "name": "bondage",
45 "outputs": [
46 {
47 "name": "",
48 "type": "address"
49 }
50 ],
51 "payable": false,
52 "stateMutability": "view",
53 "type": "function"
54 },
55 {
56 "constant": false,
57 "inputs": [],
58 "name": "selfDestruct",
59 "outputs": [],
60 "payable": false,
61 "stateMutability": "nonpayable",
62 "type": "function"
63 },
64 {
65 "constant": true,
66 "inputs": [],
67 "name": "bondageAddress",
68 "outputs": [
69 {
70 "name": "",
71 "type": "address"
72 }
73 ],
74 "payable": false,
75 "stateMutability": "view",
76 "type": "function"
77 },
78 {
79 "constant": false,
80 "inputs": [
81 {
82 "name": "newOwner",
83 "type": "address"
84 }
85 ],
86 "name": "transferOwnership",
87 "outputs": [],
88 "payable": false,
89 "stateMutability": "nonpayable",
90 "type": "function"
91 },
92 {
93 "inputs": [
94 {
95 "name": "c",
96 "type": "address"
97 }
98 ],
99 "payable": false,
100 "stateMutability": "nonpayable",
101 "type": "constructor"
102 },
103 {
104 "anonymous": false,
105 "inputs": [
106 {
107 "indexed": true,
108 "name": "id",
109 "type": "uint256"
110 },
111 {
112 "indexed": true,
113 "name": "provider",
114 "type": "address"
115 },
116 {
117 "indexed": true,
118 "name": "subscriber",
119 "type": "address"
120 },
121 {
122 "indexed": false,
123 "name": "query",
124 "type": "string"
125 },
126 {
127 "indexed": false,
128 "name": "endpoint",
129 "type": "bytes32"
130 },
131 {
132 "indexed": false,
133 "name": "endpointParams",
134 "type": "bytes32[]"
135 },
136 {
137 "indexed": false,
138 "name": "onchainSubscriber",
139 "type": "bool"
140 }
141 ],
142 "name": "Incoming",
143 "type": "event"
144 },
145 {
146 "anonymous": false,
147 "inputs": [
148 {
149 "indexed": true,
150 "name": "subscriber",
151 "type": "address"
152 },
153 {
154 "indexed": true,
155 "name": "provider",
156 "type": "address"
157 },
158 {
159 "indexed": true,
160 "name": "endpoint",
161 "type": "bytes32"
162 }
163 ],
164 "name": "FulfillQuery",
165 "type": "event"
166 },
167 {
168 "anonymous": false,
169 "inputs": [
170 {
171 "indexed": true,
172 "name": "id",
173 "type": "uint256"
174 },
175 {
176 "indexed": true,
177 "name": "subscriber",
178 "type": "address"
179 },
180 {
181 "indexed": true,
182 "name": "provider",
183 "type": "address"
184 },
185 {
186 "indexed": false,
187 "name": "response",
188 "type": "bytes32[]"
189 }
190 ],
191 "name": "OffchainResponse",
192 "type": "event"
193 },
194 {
195 "anonymous": false,
196 "inputs": [
197 {
198 "indexed": true,
199 "name": "id",
200 "type": "uint256"
201 },
202 {
203 "indexed": true,
204 "name": "subscriber",
205 "type": "address"
206 },
207 {
208 "indexed": true,
209 "name": "provider",
210 "type": "address"
211 },
212 {
213 "indexed": false,
214 "name": "response",
215 "type": "int256[]"
216 }
217 ],
218 "name": "OffchainResponseInt",
219 "type": "event"
220 },
221 {
222 "anonymous": false,
223 "inputs": [
224 {
225 "indexed": true,
226 "name": "id",
227 "type": "uint256"
228 },
229 {
230 "indexed": true,
231 "name": "subscriber",
232 "type": "address"
233 },
234 {
235 "indexed": true,
236 "name": "provider",
237 "type": "address"
238 },
239 {
240 "indexed": false,
241 "name": "response1",
242 "type": "string"
243 }
244 ],
245 "name": "OffchainResult1",
246 "type": "event"
247 },
248 {
249 "anonymous": false,
250 "inputs": [
251 {
252 "indexed": true,
253 "name": "id",
254 "type": "uint256"
255 },
256 {
257 "indexed": true,
258 "name": "subscriber",
259 "type": "address"
260 },
261 {
262 "indexed": true,
263 "name": "provider",
264 "type": "address"
265 },
266 {
267 "indexed": false,
268 "name": "response1",
269 "type": "string"
270 },
271 {
272 "indexed": false,
273 "name": "response2",
274 "type": "string"
275 }
276 ],
277 "name": "OffchainResult2",
278 "type": "event"
279 },
280 {
281 "anonymous": false,
282 "inputs": [
283 {
284 "indexed": true,
285 "name": "id",
286 "type": "uint256"
287 },
288 {
289 "indexed": true,
290 "name": "subscriber",
291 "type": "address"
292 },
293 {
294 "indexed": true,
295 "name": "provider",
296 "type": "address"
297 },
298 {
299 "indexed": false,
300 "name": "response1",
301 "type": "string"
302 },
303 {
304 "indexed": false,
305 "name": "response2",
306 "type": "string"
307 },
308 {
309 "indexed": false,
310 "name": "response3",
311 "type": "string"
312 }
313 ],
314 "name": "OffchainResult3",
315 "type": "event"
316 },
317 {
318 "anonymous": false,
319 "inputs": [
320 {
321 "indexed": true,
322 "name": "id",
323 "type": "uint256"
324 },
325 {
326 "indexed": true,
327 "name": "subscriber",
328 "type": "address"
329 },
330 {
331 "indexed": true,
332 "name": "provider",
333 "type": "address"
334 },
335 {
336 "indexed": false,
337 "name": "response1",
338 "type": "string"
339 },
340 {
341 "indexed": false,
342 "name": "response2",
343 "type": "string"
344 },
345 {
346 "indexed": false,
347 "name": "response3",
348 "type": "string"
349 },
350 {
351 "indexed": false,
352 "name": "response4",
353 "type": "string"
354 }
355 ],
356 "name": "OffchainResult4",
357 "type": "event"
358 },
359 {
360 "anonymous": false,
361 "inputs": [
362 {
363 "indexed": true,
364 "name": "id",
365 "type": "uint256"
366 },
367 {
368 "indexed": true,
369 "name": "subscriber",
370 "type": "address"
371 },
372 {
373 "indexed": true,
374 "name": "provider",
375 "type": "address"
376 }
377 ],
378 "name": "CanceledRequest",
379 "type": "event"
380 },
381 {
382 "anonymous": false,
383 "inputs": [
384 {
385 "indexed": true,
386 "name": "id",
387 "type": "uint256"
388 },
389 {
390 "indexed": true,
391 "name": "subscriber",
392 "type": "address"
393 },
394 {
395 "indexed": true,
396 "name": "provider",
397 "type": "address"
398 }
399 ],
400 "name": "RevertCancelation",
401 "type": "event"
402 },
403 {
404 "anonymous": false,
405 "inputs": [
406 {
407 "indexed": true,
408 "name": "previousOwner",
409 "type": "address"
410 },
411 {
412 "indexed": true,
413 "name": "newOwner",
414 "type": "address"
415 }
416 ],
417 "name": "OwnershipTransferred",
418 "type": "event"
419 },
420 {
421 "constant": false,
422 "inputs": [
423 {
424 "name": "provider",
425 "type": "address"
426 },
427 {
428 "name": "userQuery",
429 "type": "string"
430 },
431 {
432 "name": "endpoint",
433 "type": "bytes32"
434 },
435 {
436 "name": "endpointParams",
437 "type": "bytes32[]"
438 }
439 ],
440 "name": "query",
441 "outputs": [
442 {
443 "name": "id",
444 "type": "uint256"
445 }
446 ],
447 "payable": false,
448 "stateMutability": "nonpayable",
449 "type": "function"
450 },
451 {
452 "constant": false,
453 "inputs": [
454 {
455 "name": "id",
456 "type": "uint256"
457 }
458 ],
459 "name": "cancelQuery",
460 "outputs": [],
461 "payable": false,
462 "stateMutability": "nonpayable",
463 "type": "function"
464 },
465 {
466 "constant": false,
467 "inputs": [
468 {
469 "name": "id",
470 "type": "uint256"
471 },
472 {
473 "name": "response",
474 "type": "bytes32[]"
475 }
476 ],
477 "name": "respondBytes32Array",
478 "outputs": [
479 {
480 "name": "",
481 "type": "bool"
482 }
483 ],
484 "payable": false,
485 "stateMutability": "nonpayable",
486 "type": "function"
487 },
488 {
489 "constant": false,
490 "inputs": [
491 {
492 "name": "id",
493 "type": "uint256"
494 },
495 {
496 "name": "response",
497 "type": "int256[]"
498 }
499 ],
500 "name": "respondIntArray",
501 "outputs": [
502 {
503 "name": "",
504 "type": "bool"
505 }
506 ],
507 "payable": false,
508 "stateMutability": "nonpayable",
509 "type": "function"
510 },
511 {
512 "constant": false,
513 "inputs": [
514 {
515 "name": "id",
516 "type": "uint256"
517 },
518 {
519 "name": "response",
520 "type": "string"
521 }
522 ],
523 "name": "respond1",
524 "outputs": [
525 {
526 "name": "",
527 "type": "bool"
528 }
529 ],
530 "payable": false,
531 "stateMutability": "nonpayable",
532 "type": "function"
533 },
534 {
535 "constant": false,
536 "inputs": [
537 {
538 "name": "id",
539 "type": "uint256"
540 },
541 {
542 "name": "response1",
543 "type": "string"
544 },
545 {
546 "name": "response2",
547 "type": "string"
548 }
549 ],
550 "name": "respond2",
551 "outputs": [
552 {
553 "name": "",
554 "type": "bool"
555 }
556 ],
557 "payable": false,
558 "stateMutability": "nonpayable",
559 "type": "function"
560 },
561 {
562 "constant": false,
563 "inputs": [
564 {
565 "name": "id",
566 "type": "uint256"
567 },
568 {
569 "name": "response1",
570 "type": "string"
571 },
572 {
573 "name": "response2",
574 "type": "string"
575 },
576 {
577 "name": "response3",
578 "type": "string"
579 }
580 ],
581 "name": "respond3",
582 "outputs": [
583 {
584 "name": "",
585 "type": "bool"
586 }
587 ],
588 "payable": false,
589 "stateMutability": "nonpayable",
590 "type": "function"
591 },
592 {
593 "constant": false,
594 "inputs": [
595 {
596 "name": "id",
597 "type": "uint256"
598 },
599 {
600 "name": "response1",
601 "type": "string"
602 },
603 {
604 "name": "response2",
605 "type": "string"
606 },
607 {
608 "name": "response3",
609 "type": "string"
610 },
611 {
612 "name": "response4",
613 "type": "string"
614 }
615 ],
616 "name": "respond4",
617 "outputs": [
618 {
619 "name": "",
620 "type": "bool"
621 }
622 ],
623 "payable": false,
624 "stateMutability": "nonpayable",
625 "type": "function"
626 },
627 {
628 "constant": true,
629 "inputs": [
630 {
631 "name": "id",
632 "type": "uint256"
633 }
634 ],
635 "name": "getProvider",
636 "outputs": [
637 {
638 "name": "",
639 "type": "address"
640 }
641 ],
642 "payable": false,
643 "stateMutability": "view",
644 "type": "function"
645 },
646 {
647 "constant": true,
648 "inputs": [
649 {
650 "name": "id",
651 "type": "uint256"
652 }
653 ],
654 "name": "getSubscriber",
655 "outputs": [
656 {
657 "name": "",
658 "type": "address"
659 }
660 ],
661 "payable": false,
662 "stateMutability": "view",
663 "type": "function"
664 },
665 {
666 "constant": true,
667 "inputs": [
668 {
669 "name": "id",
670 "type": "uint256"
671 }
672 ],
673 "name": "getEndpoint",
674 "outputs": [
675 {
676 "name": "",
677 "type": "bytes32"
678 }
679 ],
680 "payable": false,
681 "stateMutability": "view",
682 "type": "function"
683 },
684 {
685 "constant": true,
686 "inputs": [
687 {
688 "name": "id",
689 "type": "uint256"
690 }
691 ],
692 "name": "getStatus",
693 "outputs": [
694 {
695 "name": "",
696 "type": "uint256"
697 }
698 ],
699 "payable": false,
700 "stateMutability": "view",
701 "type": "function"
702 },
703 {
704 "constant": true,
705 "inputs": [
706 {
707 "name": "id",
708 "type": "uint256"
709 }
710 ],
711 "name": "getCancel",
712 "outputs": [
713 {
714 "name": "",
715 "type": "uint256"
716 }
717 ],
718 "payable": false,
719 "stateMutability": "view",
720 "type": "function"
721 },
722 {
723 "constant": true,
724 "inputs": [
725 {
726 "name": "id",
727 "type": "uint256"
728 }
729 ],
730 "name": "getUserQuery",
731 "outputs": [
732 {
733 "name": "",
734 "type": "string"
735 }
736 ],
737 "payable": false,
738 "stateMutability": "view",
739 "type": "function"
740 },
741 {
742 "constant": true,
743 "inputs": [
744 {
745 "name": "id",
746 "type": "uint256"
747 }
748 ],
749 "name": "getSubscriberOnchain",
750 "outputs": [
751 {
752 "name": "",
753 "type": "bool"
754 }
755 ],
756 "payable": false,
757 "stateMutability": "view",
758 "type": "function"
759 }
760 ],
761 "bytecode": "0x608060405234801561001057600080fd5b506040516020806148c48339810180604052810190808051906020019092919050505080336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506147bd806101076000396000f300608060405260043610610128576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063027521ce1461012d5780630cbe69a11461016e57806325df1e77146101cb5780633485d34c1461023857806337a8c560146102dd5780633b90dfa8146103225780634d655aff146103af5780635c42d079146104065780635c622a0e146104735780636843581c146104b45780636e5ecdff146105115780637237dc0b146105285780637de7cc66146105555780638da5cb5b146105ea5780638ed2002114610641578063937bbc4a146106985780639cb8a26a146106e1578063dc7317c9146106f8578063e00dbb411461079e578063ef05ab0b146107f5578063f2fde38b14610852578063fedea28814610895575b600080fd5b34801561013957600080fd5b506101586004803603810190808035906020019092919050505061090a565b6040518082815260200191505060405180910390f35b34801561017a57600080fd5b506101b160048036038101908080359060200190929190803590602001908201803590602001919091929391929390505050610ab8565b604051808215151515815260200191505060405180910390f35b3480156101d757600080fd5b506101f660048036038101908080359060200190929190505050610c6b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024457600080fd5b506102c360048036038101908080359060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050610e19565b604051808215151515815260200191505060405180910390f35b3480156102e957600080fd5b5061030860048036038101908080359060200190929190505050611098565b604051808215151515815260200191505060405180910390f35b34801561032e57600080fd5b506103956004803603810190808035906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061125c565b604051808215151515815260200191505060405180910390f35b3480156103bb57600080fd5b506103c4611495565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041257600080fd5b50610431600480360381019080803590602001909291905050506114bb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561047f57600080fd5b5061049e60048036038101908080359060200190929190505050611669565b6040518082815260200191505060405180910390f35b3480156104c057600080fd5b506104f760048036038101908080359060200190929190803590602001908201803590602001919091929391929390505050611817565b604051808215151515815260200191505060405180910390f35b34801561051d57600080fd5b506105266119c4565b005b34801561053457600080fd5b5061055360048036038101908080359060200190929190505050611a93565b005b34801561056157600080fd5b506105d4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390505050611dbf565b6040518082815260200191505060405180910390f35b3480156105f657600080fd5b506105ff61242b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561064d57600080fd5b50610656612450565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106a457600080fd5b506106c360048036038101908080359060200190929190505050612476565b60405180826000191660001916815260200191505060405180910390f35b3480156106ed57600080fd5b506106f6612624565b005b34801561070457600080fd5b50610723600480360381019080803590602001909291905050506126b9565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610763578082015181840152602081019050610748565b50505050905090810190601f1680156107905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107aa57600080fd5b506107b36128bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561080157600080fd5b50610838600480360381019080803590602001909291908035906020019082018035906020019190919293919293905050506128e3565b604051808215151515815260200191505060405180910390f35b34801561085e57600080fd5b50610893600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612a96565b005b3480156108a157600080fd5b506108f060048036038101908080359060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612beb565b604051808215151515815260200191505060405180910390f35b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ecb0d648360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f63616e63656c426c6f636b000000000000000000000000000000000000000000815250600b019150506040516020818303038152906040526040518082805190602001908083835b6020831015156109ef57805182526020820191506020810190506020830392506109ca565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610a7657600080fd5b505af1158015610a8a573d6000803e3d6000fd5b505050506040513d6020811015610aa057600080fd5b81019080805190602001909291905050509050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16610ada856114bb565b73ffffffffffffffffffffffffffffffffffffffff16141580610b035750610b0184612dde565b155b15610b0d57600080fd5b610b1684611098565b15610bd457610b2484610c6b565b73ffffffffffffffffffffffffffffffffffffffff166363b41fe98585856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050600060405180830381600087803b158015610bb757600080fd5b505af1158015610bcb573d6000803e3d6000fd5b50505050610c60565b3373ffffffffffffffffffffffffffffffffffffffff16610bf485610c6b565b73ffffffffffffffffffffffffffffffffffffffff16857f92d44f3550f6aeaab26241971266a417e4385691402c27c5a1bf69b2c19210c68686604051808060200182810382528484828181526020019250602002808284378201915050935050505060405180910390a45b600190509392505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ecb0d648360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f7375627363726962657200000000000000000000000000000000000000000000815250600a019150506040516020818303038152906040526040518082805190602001908083835b602083101515610d505780518252602082019150602081019050602083039250610d2b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610dd757600080fd5b505af1158015610deb573d6000803e3d6000fd5b505050506040513d6020811015610e0157600080fd5b81019080805190602001909291905050509050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16610e3b8b6114bb565b73ffffffffffffffffffffffffffffffffffffffff16141580610e645750610e628a612dde565b155b15610e6e57600080fd5b610e778a611098565b15610f9857610e858a610c6b565b73ffffffffffffffffffffffffffffffffffffffff1663a267cf078b8b8b8b8b8b8b8b8b6040518a63ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808a81526020018060200180602001806020018060200185810385528d8d82818152602001925080828437820191505085810384528b8b82818152602001925080828437820191505085810383528989828181526020019250808284378201915050858103825287878281815260200192508082843782019150509d5050505050505050505050505050600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050611087565b3373ffffffffffffffffffffffffffffffffffffffff16610fb88b610c6b565b73ffffffffffffffffffffffffffffffffffffffff168b7f5e141f0f2db9b2fa0d44e60384103676292be03cac75671374ea23e719dcd64b8c8c8c8c8c8c8c8c604051808060200180602001806020018060200185810385528d8d82818152602001925080828437820191505085810384528b8b82818152602001925080828437820191505085810383528989828181526020019250808284378201915050858103825287878281815260200192508082843782019150509c5050505050505050505050505060405180910390a45b600190509998505050505050505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ecb0d648460405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f6f6e636861696e537562736372696265720000000000000000000000000000008152506011019150506040516020818303038152906040526040518082805190602001908083835b60208310151561117e5780518252602082019150602081019050602083039250611159565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561120557600080fd5b505af1158015611219573d6000803e3d6000fd5b505050506040513d602081101561122f57600080fd5b8101908080519060200190929190505050905060018114611251576000611254565b60015b915050919050565b60003373ffffffffffffffffffffffffffffffffffffffff1661127e896114bb565b73ffffffffffffffffffffffffffffffffffffffff161415806112a757506112a588612dde565b155b156112b157600080fd5b6112ba88611098565b156113b9576112c888610c6b565b73ffffffffffffffffffffffffffffffffffffffff1663d936a327898989898989896040518863ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018088815260200180602001806020018060200184810384528a8a82818152602001925080828437820191505084810383528888828181526020019250808284378201915050848103825286868281815260200192508082843782019150509a5050505050505050505050600060405180830381600087803b15801561139c57600080fd5b505af11580156113b0573d6000803e3d6000fd5b50505050611486565b3373ffffffffffffffffffffffffffffffffffffffff166113d989610c6b565b73ffffffffffffffffffffffffffffffffffffffff16897f5d15dbf2e2e3132b5a4fa750a08fbdc88bde1149224a6b1de740e50804707ef28a8a8a8a8a8a6040518080602001806020018060200184810384528a8a8281815260200192508082843782019150508481038352888882818152602001925080828437820191505084810382528686828181526020019250808284378201915050995050505050505050505060405180910390a45b60019050979650505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ecb0d648360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f70726f76696465720000000000000000000000000000000000000000000000008152506008019150506040516020818303038152906040526040518082805190602001908083835b6020831015156115a0578051825260208201915060208101905060208303925061157b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561162757600080fd5b505af115801561163b573d6000803e3d6000fd5b505050506040513d602081101561165157600080fd5b81019080805190602001909291905050509050919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ecb0d648360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f73746174757300000000000000000000000000000000000000000000000000008152506006019150506040516020818303038152906040526040518082805190602001908083835b60208310151561174e5780518252602082019150602081019050602083039250611729565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156117d557600080fd5b505af11580156117e9573d6000803e3d6000fd5b505050506040513d60208110156117ff57600080fd5b81019080805190602001909291905050509050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16611839856114bb565b73ffffffffffffffffffffffffffffffffffffffff16141580611862575061186084612dde565b155b1561186c57600080fd5b61187584611098565b156119305761188384610c6b565b73ffffffffffffffffffffffffffffffffffffffff1663b69a375d8585856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250808284378201915050945050505050600060405180830381600087803b15801561191357600080fd5b505af1158015611927573d6000803e3d6000fd5b505050506119b9565b3373ffffffffffffffffffffffffffffffffffffffff1661195085610c6b565b73ffffffffffffffffffffffffffffffffffffffff16857f61ca5cd516a9a4012e4c147542d38223206ca531953abcb3272f579768d9dfb08686604051808060200182810382528484828181526020019250808284378201915050935050505060405180910390a45b600190509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a89576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4572726f723a20436f6f7264696e61746f72204f6e6c792046756e6374696f6e81525060200191505060405180910390fd5b611a916132b6565b565b6000806000611aa184610c6b565b9250611aac846114bb565b9150611ab784612476565b90503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515611b5c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4572726f723a2057726f6e67207375627363726962657200000000000000000081525060200191505060405180910390fd5b60006002811115611b6957fe5b611b7285611669565b6002811115611b7d57fe5b6002811115611b8857fe5b141515611bfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4572726f723a205175657279206973206e6f742070656e64696e67000000000081525060200191505060405180910390fd5b611c0884600161359b565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f6dfac2584848460016040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360001916600019168152602001828152602001945050505050602060405180830381600087803b158015611d1257600080fd5b505af1158015611d26573d6000803e3d6000fd5b505050506040513d6020811015611d3c57600080fd5b810190808051906020019092919050505050611d57846114bb565b73ffffffffffffffffffffffffffffffffffffffff16611d7685610c6b565b73ffffffffffffffffffffffffffffffffffffffff16857f4030457f4368d74748ca5f9c90692bd6c8a018884ddca38fcbce9e02179e777e60405160405180910390a450505050565b600080600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bbee3694338c8a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050509250611f0c8a613beb565b9150611f1733613beb565b905060018310151561238a57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166316614c98338c8a60016040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360001916600019168152602001828152602001945050505050602060405180830381600087803b15801561202d57600080fd5b505af1158015612041573d6000803e3d6000fd5b505050506040513d602081101561205757600080fd5b81019080805190602001909291905050505043428a8a338e6040516020018087815260200186815260200185858082843782019150508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140196505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561215b5780518252602082019150602081019050602083039250612136565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206001900493506121ce848b338a8d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505086613bfe565b81156122c3578973ffffffffffffffffffffffffffffffffffffffff1663de261583858b8b8b8b8b886040518863ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180888152602001806020018660001916600019168152602001806020018415151515815260200183810383528989828181526020019250808284378201915050838103825286868281815260200192506020028082843782019150509950505050505050505050600060405180830381600087803b1580156122a657600080fd5b505af11580156122ba573d6000803e3d6000fd5b50505050612385565b3373ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16857f69741cc3ec0270f258feb6b53b42ef1e7d2251a3c8eea4f6ba1f72bd4b7beba78c8c8c8c8c8960405180806020018660001916600019168152602001806020018415151515815260200183810383528989828181526020019250808284378201915050838103825286868281815260200192506020028082843782019150509850505050505050505060405180910390a45b61241e565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5375627363726962657220646f6573206e6f74206861766520616e7920646f7481526020017f732e00000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050509695505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a6ed563e8360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f656e64706f696e740000000000000000000000000000000000000000000000008152506008019150506040516020818303038152906040526040518082805190602001908083835b60208310151561255b5780518252602082019150602081019050602083039250612536565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156125e257600080fd5b505af11580156125f6573d6000803e3d6000fd5b505050506040513d602081101561260c57600080fd5b81019080805190602001909291905050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561267f57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6060600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663986e791a8360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f75736572517565727900000000000000000000000000000000000000000000008152506009019150506040516020818303038152906040526040518082805190602001908083835b60208310151561279e5780518252602082019150602081019050602083039250612779565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b15801561282557600080fd5b505af1158015612839573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561286357600080fd5b81019080805164010000000081111561287b57600080fd5b8281019050602081018481111561289157600080fd5b81518560018202830111640100000000821117156128ae57600080fd5b50509291905050509050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16612905856114bb565b73ffffffffffffffffffffffffffffffffffffffff1614158061292e575061292c84612dde565b155b1561293857600080fd5b61294184611098565b156129ff5761294f84610c6b565b73ffffffffffffffffffffffffffffffffffffffff166399ff48af8585856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050600060405180830381600087803b1580156129e257600080fd5b505af11580156129f6573d6000803e3d6000fd5b50505050612a8b565b3373ffffffffffffffffffffffffffffffffffffffff16612a1f85610c6b565b73ffffffffffffffffffffffffffffffffffffffff16857f9f77e7a9a5b13a5eb3acd7d32b8bffc55d7eb27f4ac09a5b804feaf2bab4c74d8686604051808060200182810382528484828181526020019250602002808284378201915050935050505060405180910390a45b600190509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612af157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515612b2d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60003373ffffffffffffffffffffffffffffffffffffffff16612c0d876114bb565b73ffffffffffffffffffffffffffffffffffffffff16141580612c365750612c3486612dde565b155b15612c4057600080fd5b612c4986611098565b15612d2657612c5786610c6b565b73ffffffffffffffffffffffffffffffffffffffff1663f5795cd587878787876040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086815260200180602001806020018381038352878782818152602001925080828437820191505083810382528585828181526020019250808284378201915050975050505050505050600060405180830381600087803b158015612d0957600080fd5b505af1158015612d1d573d6000803e3d6000fd5b50505050612dd1565b3373ffffffffffffffffffffffffffffffffffffffff16612d4687610c6b565b73ffffffffffffffffffffffffffffffffffffffff16877ff34afe5c6e139b15c1ff3b929a198532242d2d8727db2099925e4e2d8a8fc681888888886040518080602001806020018381038352878782818152602001925080828437820191505083810382528585828181526020019250808284378201915050965050505050505060405180910390a45b6001905095945050505050565b600080600080600080612df087611669565b6002811115612dfb57fe5b945060016002811115612e0a57fe5b856002811115612e1657fe5b14151515612e8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4572726f723a2053746174757320616c72656164792066756c66696c6c65640081525060200191505060405180910390fd5b612e9587610c6b565b9350612ea0876114bb565b9250612eab87612476565b9150600280811115612eb957fe5b856002811115612ec557fe5b14156130fa57612ed48761090a565b90508043141515612f4d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4572726f723a2043616e63656c2069676e6f726564000000000000000000000081525060200191505060405180910390fd5b612f5887600061359b565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166316614c9885858560016040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360001916600019168152602001828152602001945050505050602060405180830381600087803b15801561306257600080fd5b505af1158015613076573d6000803e3d6000fd5b505050506040513d602081101561308c57600080fd5b8101908080519060200190929190505050508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16887f01aa7d984ab9ef683cf842c6260f8c3d4e2c2c4a32bfa5120bf0f6bcd51225f060405160405180910390a45b613103876145f8565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633b058aa785858560016040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360001916600019168152602001828152602001945050505050602060405180830381600087803b15801561320d57600080fd5b505af1158015613221573d6000803e3d6000fd5b505050506040513d602081101561323757600080fd5b81019080805190602001909291905050505081600019168373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fd2acd679e4b12e04dac69f514df2934d7bdb622acd5b5ebaea14f3dd70c3d58a60405160405180910390a4600195505050505050919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260088152602001807f4441544142415345000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561337a57600080fd5b505af115801561338e573d6000803e3d6000fd5b505050506040513d60208110156133a457600080fd5b8101908080519060200190929190505050905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260078152602001807f424f4e4441474500000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156134ba57600080fd5b505af11580156134ce573d6000803e3d6000fd5b505050506040513d60208110156134e457600080fd5b8101908080519060200190929190505050600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b80156138c557600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f63616e63656c426c6f636b000000000000000000000000000000000000000000815250600b019150506040516020818303038152906040526040518082805190602001908083835b602083101515613684578051825260208201915060208101905060208303925061365f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020436040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b15801561371357600080fd5b505af1158015613727573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f73746174757300000000000000000000000000000000000000000000000000008152506006019150506040516020818303038152906040526040518082805190602001908083835b60208310151561380e57805182526020820191506020810190506020830392506137e9565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060028081111561384757fe5b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b1580156138a857600080fd5b505af11580156138bc573d6000803e3d6000fd5b50505050613be7565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f63616e63656c426c6f636b000000000000000000000000000000000000000000815250600b019150506040516020818303038152906040526040518082805190602001908083835b6020831015156139a85780518252602082019150602081019050602083039250613983565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060006040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015613a3857600080fd5b505af1158015613a4c573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f73746174757300000000000000000000000000000000000000000000000000008152506006019150506040516020818303038152906040526040518082805190602001908083835b602083101515613b335780518252602082019150602081019050602083039250613b0e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060006002811115613b6d57fe5b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015613bce57600080fd5b505af1158015613be2573d6000803e3d6000fd5b505050505b5050565b600080823b905060008111915050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8760405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f70726f76696465720000000000000000000000000000000000000000000000008152506008019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ce15780518252602082019150602081019050602083039250613cbc565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208773ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015613d8657600080fd5b505af1158015613d9a573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8760405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f7375627363726962657200000000000000000000000000000000000000000000815250600a019150506040516020818303038152906040526040518082805190602001908083835b602083101515613e815780518252602082019150602081019050602083039250613e5c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208673ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015613f2657600080fd5b505af1158015613f3a573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634e91db088760405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f656e64706f696e740000000000000000000000000000000000000000000000008152506008019150506040516020818303038152906040526040518082805190602001908083835b6020831015156140215780518252602082019150602081019050602083039250613ffc565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808360001916600019168152602001826000191660001916815260200192505050600060405180830381600087803b1580156140b857600080fd5b505af11580156140cc573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636e8995508760405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f75736572517565727900000000000000000000000000000000000000000000008152506009019150506040516020818303038152906040526040518082805190602001908083835b6020831015156141b3578051825260208201915060208101905060208303925061418e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561425a57808201518184015260208101905061423f565b50505050905090810190601f1680156142875780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156142a757600080fd5b505af11580156142bb573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8760405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f73746174757300000000000000000000000000000000000000000000000000008152506006019150506040516020818303038152906040526040518082805190602001908083835b6020831015156143a2578051825260208201915060208101905060208303925061437d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600060028111156143dc57fe5b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b15801561443d57600080fd5b505af1158015614451573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8760405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f6f6e636861696e537562736372696265720000000000000000000000000000008152506011019150506040516020818303038152906040526040518082805190602001908083835b6020831015156145385780518252602082019150602081019050602083039250614513565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902083614571576000614574565b60015b6040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018260ff16815260200192505050600060405180830381600087803b1580156145d857600080fd5b505af11580156145ec573d6000803e3d6000fd5b50505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8260405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f73746174757300000000000000000000000000000000000000000000000000008152506006019150506040516020818303038152906040526040518082805190602001908083835b6020831015156146db57805182526020820191506020810190506020830392506146b6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206001600281111561471557fe5b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b15801561477657600080fd5b505af115801561478a573d6000803e3d6000fd5b50505050505600a165627a7a7230582084789a30bf7facd28dce659921c19fa828de3859735fd6fc49c6c9cac1dc05e10029",
762 "deployedBytecode": "0x608060405260043610610128576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063027521ce1461012d5780630cbe69a11461016e57806325df1e77146101cb5780633485d34c1461023857806337a8c560146102dd5780633b90dfa8146103225780634d655aff146103af5780635c42d079146104065780635c622a0e146104735780636843581c146104b45780636e5ecdff146105115780637237dc0b146105285780637de7cc66146105555780638da5cb5b146105ea5780638ed2002114610641578063937bbc4a146106985780639cb8a26a146106e1578063dc7317c9146106f8578063e00dbb411461079e578063ef05ab0b146107f5578063f2fde38b14610852578063fedea28814610895575b600080fd5b34801561013957600080fd5b506101586004803603810190808035906020019092919050505061090a565b6040518082815260200191505060405180910390f35b34801561017a57600080fd5b506101b160048036038101908080359060200190929190803590602001908201803590602001919091929391929390505050610ab8565b604051808215151515815260200191505060405180910390f35b3480156101d757600080fd5b506101f660048036038101908080359060200190929190505050610c6b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024457600080fd5b506102c360048036038101908080359060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050610e19565b604051808215151515815260200191505060405180910390f35b3480156102e957600080fd5b5061030860048036038101908080359060200190929190505050611098565b604051808215151515815260200191505060405180910390f35b34801561032e57600080fd5b506103956004803603810190808035906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061125c565b604051808215151515815260200191505060405180910390f35b3480156103bb57600080fd5b506103c4611495565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041257600080fd5b50610431600480360381019080803590602001909291905050506114bb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561047f57600080fd5b5061049e60048036038101908080359060200190929190505050611669565b6040518082815260200191505060405180910390f35b3480156104c057600080fd5b506104f760048036038101908080359060200190929190803590602001908201803590602001919091929391929390505050611817565b604051808215151515815260200191505060405180910390f35b34801561051d57600080fd5b506105266119c4565b005b34801561053457600080fd5b5061055360048036038101908080359060200190929190505050611a93565b005b34801561056157600080fd5b506105d4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390505050611dbf565b6040518082815260200191505060405180910390f35b3480156105f657600080fd5b506105ff61242b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561064d57600080fd5b50610656612450565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106a457600080fd5b506106c360048036038101908080359060200190929190505050612476565b60405180826000191660001916815260200191505060405180910390f35b3480156106ed57600080fd5b506106f6612624565b005b34801561070457600080fd5b50610723600480360381019080803590602001909291905050506126b9565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610763578082015181840152602081019050610748565b50505050905090810190601f1680156107905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107aa57600080fd5b506107b36128bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561080157600080fd5b50610838600480360381019080803590602001909291908035906020019082018035906020019190919293919293905050506128e3565b604051808215151515815260200191505060405180910390f35b34801561085e57600080fd5b50610893600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612a96565b005b3480156108a157600080fd5b506108f060048036038101908080359060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612beb565b604051808215151515815260200191505060405180910390f35b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ecb0d648360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f63616e63656c426c6f636b000000000000000000000000000000000000000000815250600b019150506040516020818303038152906040526040518082805190602001908083835b6020831015156109ef57805182526020820191506020810190506020830392506109ca565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610a7657600080fd5b505af1158015610a8a573d6000803e3d6000fd5b505050506040513d6020811015610aa057600080fd5b81019080805190602001909291905050509050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16610ada856114bb565b73ffffffffffffffffffffffffffffffffffffffff16141580610b035750610b0184612dde565b155b15610b0d57600080fd5b610b1684611098565b15610bd457610b2484610c6b565b73ffffffffffffffffffffffffffffffffffffffff166363b41fe98585856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050600060405180830381600087803b158015610bb757600080fd5b505af1158015610bcb573d6000803e3d6000fd5b50505050610c60565b3373ffffffffffffffffffffffffffffffffffffffff16610bf485610c6b565b73ffffffffffffffffffffffffffffffffffffffff16857f92d44f3550f6aeaab26241971266a417e4385691402c27c5a1bf69b2c19210c68686604051808060200182810382528484828181526020019250602002808284378201915050935050505060405180910390a45b600190509392505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ecb0d648360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f7375627363726962657200000000000000000000000000000000000000000000815250600a019150506040516020818303038152906040526040518082805190602001908083835b602083101515610d505780518252602082019150602081019050602083039250610d2b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610dd757600080fd5b505af1158015610deb573d6000803e3d6000fd5b505050506040513d6020811015610e0157600080fd5b81019080805190602001909291905050509050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16610e3b8b6114bb565b73ffffffffffffffffffffffffffffffffffffffff16141580610e645750610e628a612dde565b155b15610e6e57600080fd5b610e778a611098565b15610f9857610e858a610c6b565b73ffffffffffffffffffffffffffffffffffffffff1663a267cf078b8b8b8b8b8b8b8b8b6040518a63ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808a81526020018060200180602001806020018060200185810385528d8d82818152602001925080828437820191505085810384528b8b82818152602001925080828437820191505085810383528989828181526020019250808284378201915050858103825287878281815260200192508082843782019150509d5050505050505050505050505050600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050611087565b3373ffffffffffffffffffffffffffffffffffffffff16610fb88b610c6b565b73ffffffffffffffffffffffffffffffffffffffff168b7f5e141f0f2db9b2fa0d44e60384103676292be03cac75671374ea23e719dcd64b8c8c8c8c8c8c8c8c604051808060200180602001806020018060200185810385528d8d82818152602001925080828437820191505085810384528b8b82818152602001925080828437820191505085810383528989828181526020019250808284378201915050858103825287878281815260200192508082843782019150509c5050505050505050505050505060405180910390a45b600190509998505050505050505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ecb0d648460405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f6f6e636861696e537562736372696265720000000000000000000000000000008152506011019150506040516020818303038152906040526040518082805190602001908083835b60208310151561117e5780518252602082019150602081019050602083039250611159565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561120557600080fd5b505af1158015611219573d6000803e3d6000fd5b505050506040513d602081101561122f57600080fd5b8101908080519060200190929190505050905060018114611251576000611254565b60015b915050919050565b60003373ffffffffffffffffffffffffffffffffffffffff1661127e896114bb565b73ffffffffffffffffffffffffffffffffffffffff161415806112a757506112a588612dde565b155b156112b157600080fd5b6112ba88611098565b156113b9576112c888610c6b565b73ffffffffffffffffffffffffffffffffffffffff1663d936a327898989898989896040518863ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018088815260200180602001806020018060200184810384528a8a82818152602001925080828437820191505084810383528888828181526020019250808284378201915050848103825286868281815260200192508082843782019150509a5050505050505050505050600060405180830381600087803b15801561139c57600080fd5b505af11580156113b0573d6000803e3d6000fd5b50505050611486565b3373ffffffffffffffffffffffffffffffffffffffff166113d989610c6b565b73ffffffffffffffffffffffffffffffffffffffff16897f5d15dbf2e2e3132b5a4fa750a08fbdc88bde1149224a6b1de740e50804707ef28a8a8a8a8a8a6040518080602001806020018060200184810384528a8a8281815260200192508082843782019150508481038352888882818152602001925080828437820191505084810382528686828181526020019250808284378201915050995050505050505050505060405180910390a45b60019050979650505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ecb0d648360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f70726f76696465720000000000000000000000000000000000000000000000008152506008019150506040516020818303038152906040526040518082805190602001908083835b6020831015156115a0578051825260208201915060208101905060208303925061157b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561162757600080fd5b505af115801561163b573d6000803e3d6000fd5b505050506040513d602081101561165157600080fd5b81019080805190602001909291905050509050919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ecb0d648360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f73746174757300000000000000000000000000000000000000000000000000008152506006019150506040516020818303038152906040526040518082805190602001908083835b60208310151561174e5780518252602082019150602081019050602083039250611729565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156117d557600080fd5b505af11580156117e9573d6000803e3d6000fd5b505050506040513d60208110156117ff57600080fd5b81019080805190602001909291905050509050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16611839856114bb565b73ffffffffffffffffffffffffffffffffffffffff16141580611862575061186084612dde565b155b1561186c57600080fd5b61187584611098565b156119305761188384610c6b565b73ffffffffffffffffffffffffffffffffffffffff1663b69a375d8585856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250808284378201915050945050505050600060405180830381600087803b15801561191357600080fd5b505af1158015611927573d6000803e3d6000fd5b505050506119b9565b3373ffffffffffffffffffffffffffffffffffffffff1661195085610c6b565b73ffffffffffffffffffffffffffffffffffffffff16857f61ca5cd516a9a4012e4c147542d38223206ca531953abcb3272f579768d9dfb08686604051808060200182810382528484828181526020019250808284378201915050935050505060405180910390a45b600190509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a89576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4572726f723a20436f6f7264696e61746f72204f6e6c792046756e6374696f6e81525060200191505060405180910390fd5b611a916132b6565b565b6000806000611aa184610c6b565b9250611aac846114bb565b9150611ab784612476565b90503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515611b5c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4572726f723a2057726f6e67207375627363726962657200000000000000000081525060200191505060405180910390fd5b60006002811115611b6957fe5b611b7285611669565b6002811115611b7d57fe5b6002811115611b8857fe5b141515611bfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4572726f723a205175657279206973206e6f742070656e64696e67000000000081525060200191505060405180910390fd5b611c0884600161359b565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f6dfac2584848460016040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360001916600019168152602001828152602001945050505050602060405180830381600087803b158015611d1257600080fd5b505af1158015611d26573d6000803e3d6000fd5b505050506040513d6020811015611d3c57600080fd5b810190808051906020019092919050505050611d57846114bb565b73ffffffffffffffffffffffffffffffffffffffff16611d7685610c6b565b73ffffffffffffffffffffffffffffffffffffffff16857f4030457f4368d74748ca5f9c90692bd6c8a018884ddca38fcbce9e02179e777e60405160405180910390a450505050565b600080600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bbee3694338c8a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050509250611f0c8a613beb565b9150611f1733613beb565b905060018310151561238a57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166316614c98338c8a60016040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360001916600019168152602001828152602001945050505050602060405180830381600087803b15801561202d57600080fd5b505af1158015612041573d6000803e3d6000fd5b505050506040513d602081101561205757600080fd5b81019080805190602001909291905050505043428a8a338e6040516020018087815260200186815260200185858082843782019150508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140196505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561215b5780518252602082019150602081019050602083039250612136565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206001900493506121ce848b338a8d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505086613bfe565b81156122c3578973ffffffffffffffffffffffffffffffffffffffff1663de261583858b8b8b8b8b886040518863ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180888152602001806020018660001916600019168152602001806020018415151515815260200183810383528989828181526020019250808284378201915050838103825286868281815260200192506020028082843782019150509950505050505050505050600060405180830381600087803b1580156122a657600080fd5b505af11580156122ba573d6000803e3d6000fd5b50505050612385565b3373ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16857f69741cc3ec0270f258feb6b53b42ef1e7d2251a3c8eea4f6ba1f72bd4b7beba78c8c8c8c8c8960405180806020018660001916600019168152602001806020018415151515815260200183810383528989828181526020019250808284378201915050838103825286868281815260200192506020028082843782019150509850505050505050505060405180910390a45b61241e565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5375627363726962657220646f6573206e6f74206861766520616e7920646f7481526020017f732e00000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050509695505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a6ed563e8360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f656e64706f696e740000000000000000000000000000000000000000000000008152506008019150506040516020818303038152906040526040518082805190602001908083835b60208310151561255b5780518252602082019150602081019050602083039250612536565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156125e257600080fd5b505af11580156125f6573d6000803e3d6000fd5b505050506040513d602081101561260c57600080fd5b81019080805190602001909291905050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561267f57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6060600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663986e791a8360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f75736572517565727900000000000000000000000000000000000000000000008152506009019150506040516020818303038152906040526040518082805190602001908083835b60208310151561279e5780518252602082019150602081019050602083039250612779565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b15801561282557600080fd5b505af1158015612839573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561286357600080fd5b81019080805164010000000081111561287b57600080fd5b8281019050602081018481111561289157600080fd5b81518560018202830111640100000000821117156128ae57600080fd5b50509291905050509050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16612905856114bb565b73ffffffffffffffffffffffffffffffffffffffff1614158061292e575061292c84612dde565b155b1561293857600080fd5b61294184611098565b156129ff5761294f84610c6b565b73ffffffffffffffffffffffffffffffffffffffff166399ff48af8585856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050600060405180830381600087803b1580156129e257600080fd5b505af11580156129f6573d6000803e3d6000fd5b50505050612a8b565b3373ffffffffffffffffffffffffffffffffffffffff16612a1f85610c6b565b73ffffffffffffffffffffffffffffffffffffffff16857f9f77e7a9a5b13a5eb3acd7d32b8bffc55d7eb27f4ac09a5b804feaf2bab4c74d8686604051808060200182810382528484828181526020019250602002808284378201915050935050505060405180910390a45b600190509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612af157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515612b2d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60003373ffffffffffffffffffffffffffffffffffffffff16612c0d876114bb565b73ffffffffffffffffffffffffffffffffffffffff16141580612c365750612c3486612dde565b155b15612c4057600080fd5b612c4986611098565b15612d2657612c5786610c6b565b73ffffffffffffffffffffffffffffffffffffffff1663f5795cd587878787876040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086815260200180602001806020018381038352878782818152602001925080828437820191505083810382528585828181526020019250808284378201915050975050505050505050600060405180830381600087803b158015612d0957600080fd5b505af1158015612d1d573d6000803e3d6000fd5b50505050612dd1565b3373ffffffffffffffffffffffffffffffffffffffff16612d4687610c6b565b73ffffffffffffffffffffffffffffffffffffffff16877ff34afe5c6e139b15c1ff3b929a198532242d2d8727db2099925e4e2d8a8fc681888888886040518080602001806020018381038352878782818152602001925080828437820191505083810382528585828181526020019250808284378201915050965050505050505060405180910390a45b6001905095945050505050565b600080600080600080612df087611669565b6002811115612dfb57fe5b945060016002811115612e0a57fe5b856002811115612e1657fe5b14151515612e8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4572726f723a2053746174757320616c72656164792066756c66696c6c65640081525060200191505060405180910390fd5b612e9587610c6b565b9350612ea0876114bb565b9250612eab87612476565b9150600280811115612eb957fe5b856002811115612ec557fe5b14156130fa57612ed48761090a565b90508043141515612f4d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4572726f723a2043616e63656c2069676e6f726564000000000000000000000081525060200191505060405180910390fd5b612f5887600061359b565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166316614c9885858560016040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360001916600019168152602001828152602001945050505050602060405180830381600087803b15801561306257600080fd5b505af1158015613076573d6000803e3d6000fd5b505050506040513d602081101561308c57600080fd5b8101908080519060200190929190505050508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16887f01aa7d984ab9ef683cf842c6260f8c3d4e2c2c4a32bfa5120bf0f6bcd51225f060405160405180910390a45b613103876145f8565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633b058aa785858560016040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360001916600019168152602001828152602001945050505050602060405180830381600087803b15801561320d57600080fd5b505af1158015613221573d6000803e3d6000fd5b505050506040513d602081101561323757600080fd5b81019080805190602001909291905050505081600019168373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fd2acd679e4b12e04dac69f514df2934d7bdb622acd5b5ebaea14f3dd70c3d58a60405160405180910390a4600195505050505050919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260088152602001807f4441544142415345000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561337a57600080fd5b505af115801561338e573d6000803e3d6000fd5b505050506040513d60208110156133a457600080fd5b8101908080519060200190929190505050905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260078152602001807f424f4e4441474500000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156134ba57600080fd5b505af11580156134ce573d6000803e3d6000fd5b505050506040513d60208110156134e457600080fd5b8101908080519060200190929190505050600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b80156138c557600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f63616e63656c426c6f636b000000000000000000000000000000000000000000815250600b019150506040516020818303038152906040526040518082805190602001908083835b602083101515613684578051825260208201915060208101905060208303925061365f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020436040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b15801561371357600080fd5b505af1158015613727573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f73746174757300000000000000000000000000000000000000000000000000008152506006019150506040516020818303038152906040526040518082805190602001908083835b60208310151561380e57805182526020820191506020810190506020830392506137e9565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060028081111561384757fe5b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b1580156138a857600080fd5b505af11580156138bc573d6000803e3d6000fd5b50505050613be7565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f63616e63656c426c6f636b000000000000000000000000000000000000000000815250600b019150506040516020818303038152906040526040518082805190602001908083835b6020831015156139a85780518252602082019150602081019050602083039250613983565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060006040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015613a3857600080fd5b505af1158015613a4c573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8360405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f73746174757300000000000000000000000000000000000000000000000000008152506006019150506040516020818303038152906040526040518082805190602001908083835b602083101515613b335780518252602082019150602081019050602083039250613b0e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060006002811115613b6d57fe5b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015613bce57600080fd5b505af1158015613be2573d6000803e3d6000fd5b505050505b5050565b600080823b905060008111915050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8760405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f70726f76696465720000000000000000000000000000000000000000000000008152506008019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ce15780518252602082019150602081019050602083039250613cbc565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208773ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015613d8657600080fd5b505af1158015613d9a573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8760405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f7375627363726962657200000000000000000000000000000000000000000000815250600a019150506040516020818303038152906040526040518082805190602001908083835b602083101515613e815780518252602082019150602081019050602083039250613e5c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208673ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015613f2657600080fd5b505af1158015613f3a573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634e91db088760405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f656e64706f696e740000000000000000000000000000000000000000000000008152506008019150506040516020818303038152906040526040518082805190602001908083835b6020831015156140215780518252602082019150602081019050602083039250613ffc565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808360001916600019168152602001826000191660001916815260200192505050600060405180830381600087803b1580156140b857600080fd5b505af11580156140cc573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636e8995508760405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f75736572517565727900000000000000000000000000000000000000000000008152506009019150506040516020818303038152906040526040518082805190602001908083835b6020831015156141b3578051825260208201915060208101905060208303925061418e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561425a57808201518184015260208101905061423f565b50505050905090810190601f1680156142875780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156142a757600080fd5b505af11580156142bb573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8760405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f73746174757300000000000000000000000000000000000000000000000000008152506006019150506040516020818303038152906040526040518082805190602001908083835b6020831015156143a2578051825260208201915060208101905060208303925061437d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600060028111156143dc57fe5b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b15801561443d57600080fd5b505af1158015614451573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8760405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f6f6e636861696e537562736372696265720000000000000000000000000000008152506011019150506040516020818303038152906040526040518082805190602001908083835b6020831015156145385780518252602082019150602081019050602083039250614513565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902083614571576000614574565b60015b6040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018260ff16815260200192505050600060405180830381600087803b1580156145d857600080fd5b505af11580156145ec573d6000803e3d6000fd5b50505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354c552db8260405160200180807f7175657269657300000000000000000000000000000000000000000000000000815250600701828152602001807f73746174757300000000000000000000000000000000000000000000000000008152506006019150506040516020818303038152906040526040518082805190602001908083835b6020831015156146db57805182526020820191506020810190506020830392506146b6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206001600281111561471557fe5b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b15801561477657600080fd5b505af115801561478a573d6000803e3d6000fd5b50505050505600a165627a7a7230582084789a30bf7facd28dce659921c19fa828de3859735fd6fc49c6c9cac1dc05e10029",
763 "sourceMap": "336:12699:33:-;;;2401:84;8:9:-1;5:2;;;30:1;27;20:12;5:2;2401:84:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2435:1;297:10:3;289:5;;:18;;;;;;;;;;;;;;;;;;222:1:4;204:15;;:19;;;;;;;;;;;;;;;;;;271:1;233:11;;:40;;;;;;;;;;;;;;;;;;165:115;2401:84:33;336:12699;;;;;;",
764 "deployedSourceMap": "336:12699:33:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10651:156;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10651:156:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6143:470;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6143:470:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9947:168;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9947:168:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8997:593;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8997:593:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11131:214;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11131:214:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8365:545;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8365:545:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2367:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2367:27:33;;;;;;;;;;;;;;;;;;;;;;;;;;;9701:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9701:164:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10413:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10413:151:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7249:445;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7249:445:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;286:93:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;286:93:4;;;;;;5443:613:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5443:613:33;;;;;;;;;;;;;;;;;;;;;;;;;;2861:1241;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2861:1241:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:20:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;49:20:3;;;;;;;;;;;;;;;;;;;;;;;;;;;2294:31:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2294:31:33;;;;;;;;;;;;;;;;;;;;;;;;;;;10187:156;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10187:156:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;101:77:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;101:77:2;;;;;;10891:156:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10891:156:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10891:156:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2331:29:33;;;;;;;;;;;;;;;;;;;;;;;;;;;6700:461;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6700:461:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;632:188:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;632:188:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;7781:497:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7781:497:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10651:156;10703:7;10729:2;;;;;;;;;;;:12;;;10780:2;10752:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;10752:46:33;;;10742:57;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;10742:57:33;;;;;;;;;;;;;;;;10729:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10729:71:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10729:71:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10729:71:33;;;;;;;;;;;;;;;;10722:78;;10651:156;;;:::o;6143:470::-;6260:4;6303:10;6284:29;;:15;6296:2;6284:11;:15::i;:::-;:29;;;;:50;;;;6318:16;6331:2;6318:12;:16::i;:::-;6317:17;6284:50;6280:76;;;6348:8;;;6280:76;6370:24;6391:2;6370:20;:24::i;:::-;6366:220;;;6429:17;6443:2;6429:13;:17::i;:::-;6410:46;;;6457:2;6461:8;;6410:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6410:60:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6410:60:33;;;;6366:220;;;6554:10;6514:61;;6535:17;6549:2;6535:13;:17::i;:::-;6514:61;;6531:2;6514:61;6566:8;;6514:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6366:220;6602:4;6595:11;;6143:470;;;;;:::o;9947:168::-;10003:7;10037:2;;;;;;;;;;;:12;;;10088:2;10060:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;10060:45:33;;;10050:56;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;10050:56:33;;;;;;;;;;;;;;;;10037:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10037:70:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10037:70:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10037:70:33;;;;;;;;;;;;;;;;10022:86;;9947:168;;;:::o;8997:593::-;9179:4;9222:10;9203:29;;:15;9215:2;9203:11;:15::i;:::-;:29;;;;:50;;;;9237:16;9250:2;9237:12;:16::i;:::-;9236:17;9203:50;9199:76;;;9267:8;;;9199:76;9290:24;9311:2;9290:20;:24::i;:::-;9286:276;;;9338:17;9352:2;9338:13;:17::i;:::-;9330:35;;;9366:2;9370:9;;9381;;9392;;9403;;9330:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9330:83:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9330:83:33;;;;9286:276;;;9496:10;9457:94;;9477:17;9491:2;9477:13;:17::i;:::-;9457:94;;9473:2;9457:94;9508:9;;9519;;9530;;9541;;9457:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9286:276;9579:4;9572:11;;8997:593;;;;;;;;;;;:::o;11131:214::-;11194:4;11210:8;11221:2;;;;;;;;;;;:12;;;11272:2;11244:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11244:52:33;;;11234:63;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;11234:63:33;;;;;;;;;;;;;;;;11221:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11221:77:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11221:77:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11221:77:33;;;;;;;;;;;;;;;;11210:88;;11322:1;11315:3;:8;:23;;11333:5;11315:23;;;11326:4;11315:23;11308:30;;11131:214;;;;:::o;8365:545::-;8521:4;8564:10;8545:29;;:15;8557:2;8545:11;:15::i;:::-;:29;;;;:50;;;;8579:16;8592:2;8579:12;:16::i;:::-;8578:17;8545:50;8541:76;;;8609:8;;;8541:76;8632:24;8653:2;8632:20;:24::i;:::-;8628:254;;;8680:17;8694:2;8680:13;:17::i;:::-;8672:35;;;8708:2;8712:9;;8723;;8734;;8672:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8672:72:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8672:72:33;;;;8628:254;;;8827:10;8788:83;;8808:17;8822:2;8808:13;:17::i;:::-;8788:83;;8804:2;8788:83;8839:9;;8850;;8861;;8788:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8628:254;8899:4;8892:11;;8365:545;;;;;;;;;:::o;2367:27::-;;;;;;;;;;;;;:::o;9701:164::-;9755:7;9789:2;;;;;;;;;;;:12;;;9840:2;9812:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;9812:43:33;;;9802:54;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;9802:54:33;;;;;;;;;;;;;;;;9789:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9789:68:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9789:68:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9789:68:33;;;;;;;;;;;;;;;;9774:84;;9701:164;;;:::o;10413:151::-;10465:7;10491:2;;;;;;;;;;;:12;;;10542:2;10514:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;10514:41:33;;;10504:52;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;10504:52:33;;;;;;;;;;;;;;;;10491:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10491:66:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10491:66:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10491:66:33;;;;;;;;;;;;;;;;10484:73;;10413:151;;;:::o;7249:445::-;7352:4;7395:10;7376:29;;:15;7388:2;7376:11;:15::i;:::-;:29;;;;:50;;;;7410:16;7423:2;7410:12;:16::i;:::-;7409:17;7376:50;7372:76;;;7440:8;;;7372:76;7463:24;7484:2;7463:20;:24::i;:::-;7459:208;;;7511:17;7525:2;7511:13;:17::i;:::-;7503:35;;;7539:2;7543:8;;7503:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7503:49:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7503:49:33;;;;7459:208;;;7635:10;7596:60;;7616:17;7630:2;7616:13;:17::i;:::-;7596:60;;7612:2;7596:60;7647:8;;7596:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7459:208;7683:4;7676:11;;7249:445;;;;;:::o;286:93:4:-;490:15;;;;;;;;;;;476:29;;:10;:29;;;468:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;351:21;:19;:21::i;:::-;286:93::o;5443:613:33:-;5495:18;5543:16;5587;5516:17;5530:2;5516:13;:17::i;:::-;5495:38;;5562:15;5574:2;5562:11;:15::i;:::-;5543:34;;5606:15;5618:2;5606:11;:15::i;:::-;5587:34;;5654:10;5640:24;;:10;:24;;;5632:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5735:14;5710:39;;;;;;;;5717:13;5727:2;5717:9;:13::i;:::-;5710:21;;;;;;;;:39;;;;;;;;;5702:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5820:21;5832:2;5836:4;5820:11;:21::i;:::-;5897:7;;;;;;;;;;;:18;;;5916:10;5928:8;5938;5948:1;5897:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5897:53:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5897:53:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5897:53:33;;;;;;;;;;;;;;;;;6033:15;6045:2;6033:11;:15::i;:::-;5994:55;;6014:17;6028:2;6014:13;:17::i;:::-;5994:55;;6010:2;5994:55;;;;;;;;;;5443:613;;;;:::o;2861:1241::-;3177:10;3203:12;3280:20;3333:22;3218:7;;;;;;;;;;;:20;;;3239:10;3251:8;3261;3218:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3218:52:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3218:52:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3218:52:33;;;;;;;;;;;;;;;;3203:67;;3303:20;3314:8;3303:10;:20::i;:::-;3280:43;;3358:22;3369:10;3358;:22::i;:::-;3333:47;;3402:1;3394:4;:9;;3390:706;;;3445:7;;;;;;;;;;;:18;;;3464:10;3476:8;3486;3496:1;3445:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3445:53:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3445:53:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3445:53:33;;;;;;;;;;;;;;;;;3553:12;3567:3;3572:9;;3583:10;3595:8;3536:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3536:68:33;;;3526:79;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3526:79:33;;;;;;;;;;;;;;;;3518:88;;;3513:93;;3621:77;3633:2;3637:8;3647:10;3659:8;3669:9;;3621:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3680:17;3621:11;:77::i;:::-;3716:15;3712:280;;;3767:8;3751:33;;;3785:2;3789:9;;3800:8;3810:14;;3826:17;3751:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3751:93:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3751:93:33;;;;3712:280;;;3910:10;3887:90;;3900:8;3887:90;;3896:2;3887:90;3922:9;;3933:8;3943:14;;3959:17;3887:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3712:280;3390:706;;;4041:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3390:706;2861:1241;;;;;;;;;;;:::o;49:20:3:-;;;;;;;;;;;;;:::o;2294:31:33:-;;;;;;;;;;;;;:::o;10187:156::-;10241:7;10267:2;;;;;;;;;;;:13;;;10319:2;10291:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;10291:43:33;;;10281:54;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;10281:54:33;;;;;;;;;;;;;;;;10267:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10267:69:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10267:69:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10267:69:33;;;;;;;;;;;;;;;;10260:76;;10187:156;;;:::o;101:77:2:-;451:5:3;;;;;;;;;;;437:19;;:10;:19;;;429:28;;;;;;;;165:5:2;;;;;;;;;;;152:19;;;10891:156:33;10946:6;10971:2;;;;;;;;;;;:12;;;11022:2;10994:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;10994:44:33;;;10984:55;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;10984:55:33;;;;;;;;;;;;;;;;10971:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10971:69:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10971:69:33;;;;;;39:16:-1;36:1;17:17;2:54;10971:69:33;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10971:69:33;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;338:9;333:1;319:12;315:20;297:16;293:43;290:58;268:11;254:12;251:29;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;10971:69:33;;;;;;10964:76;;10891:156;;;:::o;2331:29::-;;;;;;;;;;;;;:::o;6700:461::-;6809:4;6852:10;6833:29;;:15;6845:2;6833:11;:15::i;:::-;:29;;;;:50;;;;6867:16;6880:2;6867:12;:16::i;:::-;6866:17;6833:50;6829:76;;;6897:8;;;6829:76;6919:24;6940:2;6919:20;:24::i;:::-;6915:219;;;6974:17;6988:2;6974:13;:17::i;:::-;6959:42;;;7002:2;7006:8;;6959:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6959:56:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6959:56:33;;;;6915:219;;;7102:10;7059:64;;7083:17;7097:2;7083:13;:17::i;:::-;7059:64;;7079:2;7059:64;7114:8;;7059:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6915:219;7150:4;7143:11;;6700:461;;;;;:::o;632:188:3:-;451:5;;;;;;;;;;;437:19;;:10;:19;;;429:28;;;;;;;;732:1;712:22;;:8;:22;;;;704:31;;;;;;;;778:8;750:37;;771:5;;;;;;;;;;;750:37;;;;;;;;;;;;805:8;797:5;;:16;;;;;;;;;;;;;;;;;;632:188;:::o;7781:497:33:-;7911:4;7954:10;7935:29;;:15;7947:2;7935:11;:15::i;:::-;:29;;;;:50;;;;7969:16;7982:2;7969:12;:16::i;:::-;7968:17;7935:50;7931:76;;;7999:8;;;7931:76;8022:24;8043:2;8022:20;:24::i;:::-;8018:232;;;8070:17;8084:2;8070:13;:17::i;:::-;8062:35;;;8098:2;8102:9;;8113;;8062:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8062:61:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8062:61:33;;;;8018:232;;;8206:10;8167:72;;8187:17;8201:2;8187:13;:17::i;:::-;8167:72;;8183:2;8167:72;8218:9;;8229;;8167:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8018:232;8267:4;8260:11;;7781:497;;;;;;;:::o;4272:1069::-;4323:4;4339:13;4468:18;4516:16;4560;4650;4362:13;4372:2;4362:9;:13::i;:::-;4355:21;;;;;;;;4339:37;;4405:16;4395:26;;;;;;;;:6;:26;;;;;;;;;;4387:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4489:17;4503:2;4489:13;:17::i;:::-;4468:38;;4535:15;4547:2;4535:11;:15::i;:::-;4516:34;;4579:15;4591:2;4579:11;:15::i;:::-;4560:34;;4619:15;4609:25;;;;;;;;:6;:25;;;;;;;;;4605:556;;;4669:13;4679:2;4669:9;:13::i;:::-;4650:32;;4829:8;4813:12;:24;4805:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4912:22;4924:2;4928:5;4912:11;:22::i;:::-;5003:7;;;;;;;;;;;:18;;;5022:10;5034:8;5044;5054:1;5003:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5003:53:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5003:53:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5003:53:33;;;;;;;;;;;;;;;;;5141:8;5107:43;;5129:10;5107:43;;5125:2;5107:43;;;;;;;;;;4605:556;5171:16;5184:2;5171:12;:16::i;:::-;5198:7;;;;;;;;;;;:19;;;5218:10;5230:8;5240;5250:1;5198:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5198:54:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5198:54:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5198:54:33;;;;;;;;;;;;;;;;;5303:8;5268:44;;;5293:8;5268:44;;5281:10;5268:44;;;;;;;;;;;;5330:4;5323:11;;4272:1069;;;;;;;;:::o;2491:281::-;2541:23;2567:11;;;;;;;;;;;:23;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2567:35:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2567:35:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2567:35:33;;;;;;;;;;;;;;;;2541:61;;2635:15;2612:2;;:39;;;;;;;;;;;;;;;;;;2679:11;;;;;;;;;;;:23;;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2679:34:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2679:34:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2679:34:33;;;;;;;;;;;;;;;;2662:14;;:51;;;;;;;;;;;;;;;;;;2750:14;;;;;;;;;;;2723:7;;:42;;;;;;;;;;;;;;;;;;2491:281;:::o;12347:520::-;12417:8;12413:448;;;12441:2;;;;;;;;;;;:12;;;12492:2;12464:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12464:46:33;;;12454:57;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12454:57:33;;;;;;;;;;;;;;;;12513:12;12441:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12441:85:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12441:85:33;;;;12540:2;;;;;;;;;;;:12;;;12591:2;12563:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12563:41:33;;;12553:52;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12553:52:33;;;;;;;;;;;;;;;;12615:15;12607:24;;;;;;;;12540:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12540:92:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12540:92:33;;;;12413:448;;;12671:2;;;;;;;;;;;:12;;;12722:2;12694:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12694:46:33;;;12684:57;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12684:57:33;;;;;;;;;;;;;;;;12743:1;12671:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12671:74:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12671:74:33;;;;12759:2;;;;;;;;;;;:12;;;12810:2;12782:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12782:41:33;;;12772:52;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12772:52:33;;;;;;;;;;;;;;;;12834:14;12826:23;;;;;;;;12759:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12759:91:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12759:91:33;;;;12413:448;12347:520;;:::o;12873:160::-;12929:4;12945:9;12995:4;12983:17;12975:25;;13025:1;13018:4;:8;13011:15;;12873:160;;;;:::o;11379:804::-;11594:2;;;;;;;;;;;:12;;;11645:2;11617:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11617:43:33;;;11607:54;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;11607:54:33;;;;;;;;;;;;;;;;11671:8;11663:17;;11594:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11594:87:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11594:87:33;;;;11691:2;;;;;;;;;;;:12;;;11742:2;11714:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11714:45:33;;;11704:56;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;11704:56:33;;;;;;;;;;;;;;;;11770:10;11762:19;;11691:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11691:91:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11691:91:33;;;;11792:2;;;;;;;;;;;:13;;;11844:2;11816:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11816:43:33;;;11806:54;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;11806:54:33;;;;;;;;;;;;;;;;11862:8;11792:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11792:79:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11792:79:33;;;;11881:2;;;;;;;;;;;:12;;;11932:2;11904:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11904:44:33;;;11894:55;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;11894:55:33;;;;;;;;;;;;;;;;11951:9;11881:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11881:80:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11881:80:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11881:80:33;;;;11971:2;;;;;;;;;;;:12;;;12022:2;11994:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11994:41:33;;;11984:52;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;11984:52:33;;;;;;;;;;;;;;;;12046:14;12038:23;;;;;;;;11971:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11971:91:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11971:91:33;;;;12072:2;;;;;;;;;;;:12;;;12123:2;12095:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12095:52:33;;;12085:63;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12085:63:33;;;;;;;;;;;;;;;;12150:17;:25;;12174:1;12150:25;;;12170:1;12150:25;12072:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12072:104:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12072:104:33;;;;11379:804;;;;;;:::o;12189:152::-;12241:2;;;;;;;;;;;:12;;;12292:2;12264:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12264:41:33;;;12254:52;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12254:52:33;;;;;;;;;;;;;;;;12316:16;12308:25;;;;;;;;12241:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12241:93:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12241:93:33;;;;12189:152;:::o",
765 "source": "pragma solidity ^0.4.24;\n// v1.0\n\nimport \"../../lib/ownership/Upgradable.sol\";\nimport \"../../lib/lifecycle/Destructible.sol\";\nimport \"../../lib/platform/Client.sol\";\nimport \"../../lib/platform/OnChainProvider.sol\";\nimport \"../bondage/BondageInterface.sol\";\nimport \"./DispatchInterface.sol\";\nimport \"../database/DatabaseInterface.sol\";\n\ncontract Dispatch is Destructible, DispatchInterface, Upgradable {\n\n enum Status { Pending, Fulfilled, Canceled }\n\n //event data provider is listening for, containing all relevant request parameters\n event Incoming(\n uint256 indexed id,\n address indexed provider,\n address indexed subscriber,\n string query,\n bytes32 endpoint,\n bytes32[] endpointParams,\n bool onchainSubscriber\n );\n\n event FulfillQuery(\n address indexed subscriber,\n address indexed provider,\n bytes32 indexed endpoint\n );\n\n event OffchainResponse(\n uint256 indexed id,\n address indexed subscriber,\n address indexed provider,\n bytes32[] response\n );\n\n event OffchainResponseInt(\n uint256 indexed id,\n address indexed subscriber,\n address indexed provider,\n int[] response\n );\n\n event OffchainResult1(\n uint256 indexed id,\n address indexed subscriber,\n address indexed provider,\n string response1\n );\n\n event OffchainResult2(\n uint256 indexed id,\n address indexed subscriber,\n address indexed provider,\n string response1,\n string response2\n );\n\n event OffchainResult3(\n uint256 indexed id,\n address indexed subscriber,\n address indexed provider,\n string response1,\n string response2,\n string response3\n );\n\n event OffchainResult4(\n uint256 indexed id,\n address indexed subscriber,\n address indexed provider,\n string response1,\n string response2,\n string response3,\n string response4\n );\n\n event CanceledRequest(\n uint256 indexed id,\n address indexed subscriber,\n address indexed provider\n );\n\n event RevertCancelation(\n uint256 indexed id,\n address indexed subscriber,\n address indexed provider\n );\n\n BondageInterface public bondage;\n address public bondageAddress;\n\n DatabaseInterface public db;\n\n constructor(address c) Upgradable(c) public {\n //_updateDependencies();\n }\n\n function _updateDependencies() internal {\n address databaseAddress = coordinator.getContract(\"DATABASE\");\n db = DatabaseInterface(databaseAddress);\n\n bondageAddress = coordinator.getContract(\"BONDAGE\");\n bondage = BondageInterface(bondageAddress);\n }\n\n /// @notice Escrow dot for oracle request\n /// @dev Called by user contract\n function query(\n address provider, // data provider address\n string userQuery, // query string\n bytes32 endpoint, // endpoint specifier ala 'smart_contract'\n bytes32[] endpointParams // endpoint-specific params\n )\n external\n returns (uint256 id)\n {\n uint256 dots = bondage.getBoundDots(msg.sender, provider, endpoint);\n bool onchainProvider = isContract(provider);\n bool onchainSubscriber = isContract(msg.sender);\n if (dots >= 1) {\n //enough dots\n bondage.escrowDots(msg.sender, provider, endpoint, 1);\n\n id = uint256(keccak256(abi.encodePacked(block.number, now, userQuery, msg.sender, provider)));\n\n createQuery(id, provider, msg.sender, endpoint, userQuery, onchainSubscriber);\n if (onchainProvider) {\n OnChainProvider(provider).receive(id, userQuery, endpoint, endpointParams, onchainSubscriber);\n } else{\n emit Incoming(id, provider, msg.sender, userQuery, endpoint, endpointParams, onchainSubscriber);\n }\n } else { // NOT ENOUGH DOTS\n revert(\"Subscriber does not have any dots.\");\n }\n }\n\n /// @notice Transfer dots from Bondage escrow to data provider's Holder object under its own address\n /// @dev Called upon data-provider request fulfillment\n function fulfillQuery(uint256 id) private returns (bool) {\n Status status = Status(getStatus(id));\n\n require(status != Status.Fulfilled, \"Error: Status already fulfilled\");\n\n address subscriber = getSubscriber(id);\n address provider = getProvider(id);\n bytes32 endpoint = getEndpoint(id);\n\n if (status == Status.Canceled) {\n uint256 canceled = getCancel(id);\n\n // Make sure we've canceled in the past,\n // if it's current block ignore the cancel\n require(block.number == canceled, \"Error: Cancel ignored\");\n\n // Uncancel the query\n setCanceled(id, false);\n\n // Re-escrow the previously returned dots\n bondage.escrowDots(subscriber, provider, endpoint, 1);\n\n // Emit the events\n emit RevertCancelation(id, subscriber, provider);\n }\n\n setFulfilled(id);\n\n bondage.releaseDots(subscriber, provider, endpoint, 1);\n\n emit FulfillQuery(subscriber, provider, endpoint);\n\n return true;\n }\n\n /// @notice Cancel a query.\n /// @dev If responded on the same block, ignore the cancel.\n function cancelQuery(uint256 id) external {\n address subscriber = getSubscriber(id);\n address provider = getProvider(id);\n bytes32 endpoint = getEndpoint(id);\n\n require(subscriber == msg.sender, \"Error: Wrong subscriber\");\n require(Status(getStatus(id)) == Status.Pending, \"Error: Query is not pending\");\n\n // Cancel the query\n setCanceled(id, true);\n\n // Return the dots to the subscriber\n bondage.returnDots(subscriber, provider, endpoint, 1);\n\n // Release an event\n emit CanceledRequest(id, getSubscriber(id), getProvider(id));\n }\n\n /// @dev Parameter-count specific method called by data provider in response\n function respondBytes32Array(\n uint256 id,\n bytes32[] response\n )\n external\n returns (bool)\n {\n if (getProvider(id) != msg.sender || !fulfillQuery(id))\n revert();\n if (getSubscriberOnchain(id)) {\n ClientBytes32Array(getSubscriber(id)).callback(id, response);\n }\n else {\n emit OffchainResponse(id, getSubscriber(id), msg.sender, response);\n }\n return true;\n }\n\n /// @dev Parameter-count specific method called by data provider in response\n function respondIntArray(\n uint256 id,\n int[] response\n )\n external\n returns (bool)\n {\n if (getProvider(id) != msg.sender || !fulfillQuery(id))\n revert();\n if (getSubscriberOnchain(id)) {\n ClientIntArray(getSubscriber(id)).callback(id, response);\n }\n else {\n emit OffchainResponseInt(id, getSubscriber(id), msg.sender, response);\n }\n return true;\n }\n\n\n /// @dev Parameter-count specific method called by data provider in response\n function respond1(\n uint256 id,\n string response\n )\n external\n returns (bool)\n {\n if (getProvider(id) != msg.sender || !fulfillQuery(id))\n revert();\n\n if (getSubscriberOnchain(id)) {\n Client1(getSubscriber(id)).callback(id, response);\n }\n else {\n emit OffchainResult1(id, getSubscriber(id), msg.sender, response);\n }\n return true;\n }\n\n /// @dev Parameter-count specific method called by data provider in response\n function respond2(\n uint256 id,\n string response1,\n string response2\n )\n external\n returns (bool)\n {\n if (getProvider(id) != msg.sender || !fulfillQuery(id))\n revert();\n\n if (getSubscriberOnchain(id)) {\n Client2(getSubscriber(id)).callback(id, response1, response2);\n }\n else {\n emit OffchainResult2(id, getSubscriber(id), msg.sender, response1, response2);\n }\n\n return true;\n }\n\n /// @dev Parameter-count specific method called by data provider in response\n function respond3(\n uint256 id,\n string response1,\n string response2,\n string response3\n )\n external\n returns (bool)\n {\n if (getProvider(id) != msg.sender || !fulfillQuery(id))\n revert();\n\n if (getSubscriberOnchain(id)) {\n Client3(getSubscriber(id)).callback(id, response1, response2, response3);\n }\n else {\n emit OffchainResult3(id, getSubscriber(id), msg.sender, response1, response2, response3);\n }\n\n return true;\n }\n\n /// @dev Parameter-count specific method called by data provider in response\n function respond4(\n uint256 id,\n string response1,\n string response2,\n string response3,\n string response4\n )\n external\n returns (bool)\n {\n if (getProvider(id) != msg.sender || !fulfillQuery(id))\n revert();\n\n if (getSubscriberOnchain(id)) {\n Client4(getSubscriber(id)).callback(id, response1, response2, response3, response4);\n }\n else {\n emit OffchainResult4(id, getSubscriber(id), msg.sender, response1, response2, response3, response4);\n }\n\n return true;\n }\n\n /*** STORAGE METHODS ***/\n\n /// @dev get provider address of request\n /// @param id request id\n function getProvider(uint256 id) public view returns (address) {\n return address(db.getNumber(keccak256(abi.encodePacked('queries', id, 'provider'))));\n }\n\n /// @dev get subscriber address of request\n /// @param id request id\n function getSubscriber(uint256 id) public view returns (address) {\n return address(db.getNumber(keccak256(abi.encodePacked('queries', id, 'subscriber'))));\n }\n\n /// @dev get endpoint of request\n /// @param id request id\n function getEndpoint(uint256 id) public view returns (bytes32) {\n return db.getBytes32(keccak256(abi.encodePacked('queries', id, 'endpoint')));\n }\n\n /// @dev get status of request\n /// @param id request id\n function getStatus(uint256 id) public view returns (uint256) {\n return db.getNumber(keccak256(abi.encodePacked('queries', id, 'status')));\n }\n\n /// @dev get the cancelation block of a request\n /// @param id request id\n function getCancel(uint256 id) public view returns (uint256) {\n return db.getNumber(keccak256(abi.encodePacked('queries', id, 'cancelBlock')));\n }\n\n /// @dev get user specified query of request\n /// @param id request id\n function getUserQuery(uint256 id) public view returns (string) {\n return db.getString(keccak256(abi.encodePacked('queries', id, 'userQuery')));\n }\n\n /// @dev is subscriber contract or offchain \n /// @param id request id\n function getSubscriberOnchain(uint256 id) public view returns (bool) {\n uint res = db.getNumber(keccak256(abi.encodePacked('queries', id, 'onchainSubscriber')));\n return res == 1 ? true : false;\n }\n\n /**** Set Methods ****/\n function createQuery(\n uint256 id,\n address provider,\n address subscriber,\n bytes32 endpoint,\n string userQuery,\n bool onchainSubscriber\n )\n private\n {\n db.setNumber(keccak256(abi.encodePacked('queries', id, 'provider')), uint256(provider));\n db.setNumber(keccak256(abi.encodePacked('queries', id, 'subscriber')), uint256(subscriber));\n db.setBytes32(keccak256(abi.encodePacked('queries', id, 'endpoint')), endpoint);\n db.setString(keccak256(abi.encodePacked('queries', id, 'userQuery')), userQuery);\n db.setNumber(keccak256(abi.encodePacked('queries', id, 'status')), uint256(Status.Pending));\n db.setNumber(keccak256(abi.encodePacked('queries', id, 'onchainSubscriber')), onchainSubscriber ? 1 : 0);\n }\n\n function setFulfilled(uint256 id) private {\n db.setNumber(keccak256(abi.encodePacked('queries', id, 'status')), uint256(Status.Fulfilled));\n }\n\n function setCanceled(uint256 id, bool canceled) private {\n if (canceled) {\n db.setNumber(keccak256(abi.encodePacked('queries', id, 'cancelBlock')), block.number);\n db.setNumber(keccak256(abi.encodePacked('queries', id, 'status')), uint256(Status.Canceled));\n }\n else {\n db.setNumber(keccak256(abi.encodePacked('queries', id, 'cancelBlock')), 0);\n db.setNumber(keccak256(abi.encodePacked('queries', id, 'status')), uint256(Status.Pending));\n }\n }\n\n function isContract(address addr) private view returns (bool) {\n uint size;\n assembly { size := extcodesize(addr) }\n return size > 0;\n }\n}\n\n/*\n/* For use in example contract, see TestContracts.sol\n/*\n/* When User Contract calls ZapDispatch.query(),\n/* 1 oracle specific dot is escrowed by ZapBondage and Incoming event is ted.\n/*\n/* When provider's client hears an Incoming event containing provider's address and responds,\n/* the provider calls a ZapDispatch.respondX function corresponding to number of response params.\n/*\n/* Dots are moved from ZapBondage escrow to data-provider's bond Holder struct,\n/* with data provider address set as self's address.\n/*/\n\n/*************************************** STORAGE ****************************************\n* 'queries', id, 'provider' => {address} address of provider that this query was sent to\n* 'queries', id, 'subscriber' => {address} address of subscriber that this query was sent by\n* 'queries', id, 'endpoint' => {bytes32} endpoint that this query was sent to\n* 'queries', id, 'status' => {Status} current status of this query\n* 'queries', id, 'cancelBlock' => {uint256} the block number of the cancellation request (0 if none)\n* 'queries', id, 'userQuery' => {uint256} the query that was sent with this queryId\n* 'queries', id, 'onchainSubscriber' => {uint256} 1 -> onchainSubscriber, 0 -> offchainSubscriber\n****************************************************************************************/\n",
766 "sourcePath": "/home/xv702/2zap/zap-ethereum-api/contracts/platform/dispatch/Dispatch.sol",
767 "ast": {
768 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/platform/dispatch/Dispatch.sol",
769 "exportedSymbols": {
770 "Dispatch": [
771 10008
772 ]
773 },
774 "id": 10009,
775 "nodeType": "SourceUnit",
776 "nodes": [
777 {
778 "id": 8827,
779 "literals": [
780 "solidity",
781 "^",
782 "0.4",
783 ".24"
784 ],
785 "nodeType": "PragmaDirective",
786 "src": "0:24:33"
787 },
788 {
789 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/lib/ownership/Upgradable.sol",
790 "file": "../../lib/ownership/Upgradable.sol",
791 "id": 8828,
792 "nodeType": "ImportDirective",
793 "scope": 10009,
794 "sourceUnit": 252,
795 "src": "34:44:33",
796 "symbolAliases": [],
797 "unitAlias": ""
798 },
799 {
800 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/lib/lifecycle/Destructible.sol",
801 "file": "../../lib/lifecycle/Destructible.sol",
802 "id": 8829,
803 "nodeType": "ImportDirective",
804 "scope": 10009,
805 "sourceUnit": 148,
806 "src": "79:46:33",
807 "symbolAliases": [],
808 "unitAlias": ""
809 },
810 {
811 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/lib/platform/Client.sol",
812 "file": "../../lib/platform/Client.sol",
813 "id": 8830,
814 "nodeType": "ImportDirective",
815 "scope": 10009,
816 "sourceUnit": 870,
817 "src": "126:39:33",
818 "symbolAliases": [],
819 "unitAlias": ""
820 },
821 {
822 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/lib/platform/OnChainProvider.sol",
823 "file": "../../lib/platform/OnChainProvider.sol",
824 "id": 8831,
825 "nodeType": "ImportDirective",
826 "scope": 10009,
827 "sourceUnit": 1827,
828 "src": "166:48:33",
829 "symbolAliases": [],
830 "unitAlias": ""
831 },
832 {
833 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/platform/bondage/BondageInterface.sol",
834 "file": "../bondage/BondageInterface.sol",
835 "id": 8832,
836 "nodeType": "ImportDirective",
837 "scope": 10009,
838 "sourceUnit": 7927,
839 "src": "215:41:33",
840 "symbolAliases": [],
841 "unitAlias": ""
842 },
843 {
844 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/platform/dispatch/DispatchInterface.sol",
845 "file": "./DispatchInterface.sol",
846 "id": 8833,
847 "nodeType": "ImportDirective",
848 "scope": 10009,
849 "sourceUnit": 10148,
850 "src": "257:33:33",
851 "symbolAliases": [],
852 "unitAlias": ""
853 },
854 {
855 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/platform/database/DatabaseInterface.sol",
856 "file": "../database/DatabaseInterface.sol",
857 "id": 8834,
858 "nodeType": "ImportDirective",
859 "scope": 10009,
860 "sourceUnit": 8826,
861 "src": "291:43:33",
862 "symbolAliases": [],
863 "unitAlias": ""
864 },
865 {
866 "baseContracts": [
867 {
868 "arguments": null,
869 "baseName": {
870 "contractScope": null,
871 "id": 8835,
872 "name": "Destructible",
873 "nodeType": "UserDefinedTypeName",
874 "referencedDeclaration": 147,
875 "src": "357:12:33",
876 "typeDescriptions": {
877 "typeIdentifier": "t_contract$_Destructible_$147",
878 "typeString": "contract Destructible"
879 }
880 },
881 "id": 8836,
882 "nodeType": "InheritanceSpecifier",
883 "src": "357:12:33"
884 },
885 {
886 "arguments": null,
887 "baseName": {
888 "contractScope": null,
889 "id": 8837,
890 "name": "DispatchInterface",
891 "nodeType": "UserDefinedTypeName",
892 "referencedDeclaration": 10147,
893 "src": "371:17:33",
894 "typeDescriptions": {
895 "typeIdentifier": "t_contract$_DispatchInterface_$10147",
896 "typeString": "contract DispatchInterface"
897 }
898 },
899 "id": 8838,
900 "nodeType": "InheritanceSpecifier",
901 "src": "371:17:33"
902 },
903 {
904 "arguments": null,
905 "baseName": {
906 "contractScope": null,
907 "id": 8839,
908 "name": "Upgradable",
909 "nodeType": "UserDefinedTypeName",
910 "referencedDeclaration": 251,
911 "src": "390:10:33",
912 "typeDescriptions": {
913 "typeIdentifier": "t_contract$_Upgradable_$251",
914 "typeString": "contract Upgradable"
915 }
916 },
917 "id": 8840,
918 "nodeType": "InheritanceSpecifier",
919 "src": "390:10:33"
920 }
921 ],
922 "contractDependencies": [
923 147,
924 203,
925 251,
926 10147
927 ],
928 "contractKind": "contract",
929 "documentation": null,
930 "fullyImplemented": true,
931 "id": 10008,
932 "linearizedBaseContracts": [
933 10008,
934 251,
935 10147,
936 147,
937 203
938 ],
939 "name": "Dispatch",
940 "nodeType": "ContractDefinition",
941 "nodes": [
942 {
943 "canonicalName": "Dispatch.Status",
944 "id": 8844,
945 "members": [
946 {
947 "id": 8841,
948 "name": "Pending",
949 "nodeType": "EnumValue",
950 "src": "422:7:33"
951 },
952 {
953 "id": 8842,
954 "name": "Fulfilled",
955 "nodeType": "EnumValue",
956 "src": "431:9:33"
957 },
958 {
959 "id": 8843,
960 "name": "Canceled",
961 "nodeType": "EnumValue",
962 "src": "442:8:33"
963 }
964 ],
965 "name": "Status",
966 "nodeType": "EnumDefinition",
967 "src": "408:44:33"
968 },
969 {
970 "anonymous": false,
971 "documentation": null,
972 "id": 8861,
973 "name": "Incoming",
974 "nodeType": "EventDefinition",
975 "parameters": {
976 "id": 8860,
977 "nodeType": "ParameterList",
978 "parameters": [
979 {
980 "constant": false,
981 "id": 8846,
982 "indexed": true,
983 "name": "id",
984 "nodeType": "VariableDeclaration",
985 "scope": 8861,
986 "src": "569:18:33",
987 "stateVariable": false,
988 "storageLocation": "default",
989 "typeDescriptions": {
990 "typeIdentifier": "t_uint256",
991 "typeString": "uint256"
992 },
993 "typeName": {
994 "id": 8845,
995 "name": "uint256",
996 "nodeType": "ElementaryTypeName",
997 "src": "569:7:33",
998 "typeDescriptions": {
999 "typeIdentifier": "t_uint256",
1000 "typeString": "uint256"
1001 }
1002 },
1003 "value": null,
1004 "visibility": "internal"
1005 },
1006 {
1007 "constant": false,
1008 "id": 8848,
1009 "indexed": true,
1010 "name": "provider",
1011 "nodeType": "VariableDeclaration",
1012 "scope": 8861,
1013 "src": "597:24:33",
1014 "stateVariable": false,
1015 "storageLocation": "default",
1016 "typeDescriptions": {
1017 "typeIdentifier": "t_address",
1018 "typeString": "address"
1019 },
1020 "typeName": {
1021 "id": 8847,
1022 "name": "address",
1023 "nodeType": "ElementaryTypeName",
1024 "src": "597:7:33",
1025 "typeDescriptions": {
1026 "typeIdentifier": "t_address",
1027 "typeString": "address"
1028 }
1029 },
1030 "value": null,
1031 "visibility": "internal"
1032 },
1033 {
1034 "constant": false,
1035 "id": 8850,
1036 "indexed": true,
1037 "name": "subscriber",
1038 "nodeType": "VariableDeclaration",
1039 "scope": 8861,
1040 "src": "631:26:33",
1041 "stateVariable": false,
1042 "storageLocation": "default",
1043 "typeDescriptions": {
1044 "typeIdentifier": "t_address",
1045 "typeString": "address"
1046 },
1047 "typeName": {
1048 "id": 8849,
1049 "name": "address",
1050 "nodeType": "ElementaryTypeName",
1051 "src": "631:7:33",
1052 "typeDescriptions": {
1053 "typeIdentifier": "t_address",
1054 "typeString": "address"
1055 }
1056 },
1057 "value": null,
1058 "visibility": "internal"
1059 },
1060 {
1061 "constant": false,
1062 "id": 8852,
1063 "indexed": false,
1064 "name": "query",
1065 "nodeType": "VariableDeclaration",
1066 "scope": 8861,
1067 "src": "667:12:33",
1068 "stateVariable": false,
1069 "storageLocation": "default",
1070 "typeDescriptions": {
1071 "typeIdentifier": "t_string_memory_ptr",
1072 "typeString": "string"
1073 },
1074 "typeName": {
1075 "id": 8851,
1076 "name": "string",
1077 "nodeType": "ElementaryTypeName",
1078 "src": "667:6:33",
1079 "typeDescriptions": {
1080 "typeIdentifier": "t_string_storage_ptr",
1081 "typeString": "string"
1082 }
1083 },
1084 "value": null,
1085 "visibility": "internal"
1086 },
1087 {
1088 "constant": false,
1089 "id": 8854,
1090 "indexed": false,
1091 "name": "endpoint",
1092 "nodeType": "VariableDeclaration",
1093 "scope": 8861,
1094 "src": "689:16:33",
1095 "stateVariable": false,
1096 "storageLocation": "default",
1097 "typeDescriptions": {
1098 "typeIdentifier": "t_bytes32",
1099 "typeString": "bytes32"
1100 },
1101 "typeName": {
1102 "id": 8853,
1103 "name": "bytes32",
1104 "nodeType": "ElementaryTypeName",
1105 "src": "689:7:33",
1106 "typeDescriptions": {
1107 "typeIdentifier": "t_bytes32",
1108 "typeString": "bytes32"
1109 }
1110 },
1111 "value": null,
1112 "visibility": "internal"
1113 },
1114 {
1115 "constant": false,
1116 "id": 8857,
1117 "indexed": false,
1118 "name": "endpointParams",
1119 "nodeType": "VariableDeclaration",
1120 "scope": 8861,
1121 "src": "715:24:33",
1122 "stateVariable": false,
1123 "storageLocation": "default",
1124 "typeDescriptions": {
1125 "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
1126 "typeString": "bytes32[]"
1127 },
1128 "typeName": {
1129 "baseType": {
1130 "id": 8855,
1131 "name": "bytes32",
1132 "nodeType": "ElementaryTypeName",
1133 "src": "715:7:33",
1134 "typeDescriptions": {
1135 "typeIdentifier": "t_bytes32",
1136 "typeString": "bytes32"
1137 }
1138 },
1139 "id": 8856,
1140 "length": null,
1141 "nodeType": "ArrayTypeName",
1142 "src": "715:9:33",
1143 "typeDescriptions": {
1144 "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
1145 "typeString": "bytes32[]"
1146 }
1147 },
1148 "value": null,
1149 "visibility": "internal"
1150 },
1151 {
1152 "constant": false,
1153 "id": 8859,
1154 "indexed": false,
1155 "name": "onchainSubscriber",
1156 "nodeType": "VariableDeclaration",
1157 "scope": 8861,
1158 "src": "749:22:33",
1159 "stateVariable": false,
1160 "storageLocation": "default",
1161 "typeDescriptions": {
1162 "typeIdentifier": "t_bool",
1163 "typeString": "bool"
1164 },
1165 "typeName": {
1166 "id": 8858,
1167 "name": "bool",
1168 "nodeType": "ElementaryTypeName",
1169 "src": "749:4:33",
1170 "typeDescriptions": {
1171 "typeIdentifier": "t_bool",
1172 "typeString": "bool"
1173 }
1174 },
1175 "value": null,
1176 "visibility": "internal"
1177 }
1178 ],
1179 "src": "559:218:33"
1180 },
1181 "src": "545:233:33"
1182 },
1183 {
1184 "anonymous": false,
1185 "documentation": null,
1186 "id": 8869,
1187 "name": "FulfillQuery",
1188 "nodeType": "EventDefinition",
1189 "parameters": {
1190 "id": 8868,
1191 "nodeType": "ParameterList",
1192 "parameters": [
1193 {
1194 "constant": false,
1195 "id": 8863,
1196 "indexed": true,
1197 "name": "subscriber",
1198 "nodeType": "VariableDeclaration",
1199 "scope": 8869,
1200 "src": "812:26:33",
1201 "stateVariable": false,
1202 "storageLocation": "default",
1203 "typeDescriptions": {
1204 "typeIdentifier": "t_address",
1205 "typeString": "address"
1206 },
1207 "typeName": {
1208 "id": 8862,
1209 "name": "address",
1210 "nodeType": "ElementaryTypeName",
1211 "src": "812:7:33",
1212 "typeDescriptions": {
1213 "typeIdentifier": "t_address",
1214 "typeString": "address"
1215 }
1216 },
1217 "value": null,
1218 "visibility": "internal"
1219 },
1220 {
1221 "constant": false,
1222 "id": 8865,
1223 "indexed": true,
1224 "name": "provider",
1225 "nodeType": "VariableDeclaration",
1226 "scope": 8869,
1227 "src": "848:24:33",
1228 "stateVariable": false,
1229 "storageLocation": "default",
1230 "typeDescriptions": {
1231 "typeIdentifier": "t_address",
1232 "typeString": "address"
1233 },
1234 "typeName": {
1235 "id": 8864,
1236 "name": "address",
1237 "nodeType": "ElementaryTypeName",
1238 "src": "848:7:33",
1239 "typeDescriptions": {
1240 "typeIdentifier": "t_address",
1241 "typeString": "address"
1242 }
1243 },
1244 "value": null,
1245 "visibility": "internal"
1246 },
1247 {
1248 "constant": false,
1249 "id": 8867,
1250 "indexed": true,
1251 "name": "endpoint",
1252 "nodeType": "VariableDeclaration",
1253 "scope": 8869,
1254 "src": "882:24:33",
1255 "stateVariable": false,
1256 "storageLocation": "default",
1257 "typeDescriptions": {
1258 "typeIdentifier": "t_bytes32",
1259 "typeString": "bytes32"
1260 },
1261 "typeName": {
1262 "id": 8866,
1263 "name": "bytes32",
1264 "nodeType": "ElementaryTypeName",
1265 "src": "882:7:33",
1266 "typeDescriptions": {
1267 "typeIdentifier": "t_bytes32",
1268 "typeString": "bytes32"
1269 }
1270 },
1271 "value": null,
1272 "visibility": "internal"
1273 }
1274 ],
1275 "src": "802:110:33"
1276 },
1277 "src": "784:129:33"
1278 },
1279 {
1280 "anonymous": false,
1281 "documentation": null,
1282 "id": 8880,
1283 "name": "OffchainResponse",
1284 "nodeType": "EventDefinition",
1285 "parameters": {
1286 "id": 8879,
1287 "nodeType": "ParameterList",
1288 "parameters": [
1289 {
1290 "constant": false,
1291 "id": 8871,
1292 "indexed": true,
1293 "name": "id",
1294 "nodeType": "VariableDeclaration",
1295 "scope": 8880,
1296 "src": "951:18:33",
1297 "stateVariable": false,
1298 "storageLocation": "default",
1299 "typeDescriptions": {
1300 "typeIdentifier": "t_uint256",
1301 "typeString": "uint256"
1302 },
1303 "typeName": {
1304 "id": 8870,
1305 "name": "uint256",
1306 "nodeType": "ElementaryTypeName",
1307 "src": "951:7:33",
1308 "typeDescriptions": {
1309 "typeIdentifier": "t_uint256",
1310 "typeString": "uint256"
1311 }
1312 },
1313 "value": null,
1314 "visibility": "internal"
1315 },
1316 {
1317 "constant": false,
1318 "id": 8873,
1319 "indexed": true,
1320 "name": "subscriber",
1321 "nodeType": "VariableDeclaration",
1322 "scope": 8880,
1323 "src": "979:26:33",
1324 "stateVariable": false,
1325 "storageLocation": "default",
1326 "typeDescriptions": {
1327 "typeIdentifier": "t_address",
1328 "typeString": "address"
1329 },
1330 "typeName": {
1331 "id": 8872,
1332 "name": "address",
1333 "nodeType": "ElementaryTypeName",
1334 "src": "979:7:33",
1335 "typeDescriptions": {
1336 "typeIdentifier": "t_address",
1337 "typeString": "address"
1338 }
1339 },
1340 "value": null,
1341 "visibility": "internal"
1342 },
1343 {
1344 "constant": false,
1345 "id": 8875,
1346 "indexed": true,
1347 "name": "provider",
1348 "nodeType": "VariableDeclaration",
1349 "scope": 8880,
1350 "src": "1015:24:33",
1351 "stateVariable": false,
1352 "storageLocation": "default",
1353 "typeDescriptions": {
1354 "typeIdentifier": "t_address",
1355 "typeString": "address"
1356 },
1357 "typeName": {
1358 "id": 8874,
1359 "name": "address",
1360 "nodeType": "ElementaryTypeName",
1361 "src": "1015:7:33",
1362 "typeDescriptions": {
1363 "typeIdentifier": "t_address",
1364 "typeString": "address"
1365 }
1366 },
1367 "value": null,
1368 "visibility": "internal"
1369 },
1370 {
1371 "constant": false,
1372 "id": 8878,
1373 "indexed": false,
1374 "name": "response",
1375 "nodeType": "VariableDeclaration",
1376 "scope": 8880,
1377 "src": "1049:18:33",
1378 "stateVariable": false,
1379 "storageLocation": "default",
1380 "typeDescriptions": {
1381 "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
1382 "typeString": "bytes32[]"
1383 },
1384 "typeName": {
1385 "baseType": {
1386 "id": 8876,
1387 "name": "bytes32",
1388 "nodeType": "ElementaryTypeName",
1389 "src": "1049:7:33",
1390 "typeDescriptions": {
1391 "typeIdentifier": "t_bytes32",
1392 "typeString": "bytes32"
1393 }
1394 },
1395 "id": 8877,
1396 "length": null,
1397 "nodeType": "ArrayTypeName",
1398 "src": "1049:9:33",
1399 "typeDescriptions": {
1400 "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
1401 "typeString": "bytes32[]"
1402 }
1403 },
1404 "value": null,
1405 "visibility": "internal"
1406 }
1407 ],
1408 "src": "941:132:33"
1409 },
1410 "src": "919:155:33"
1411 },
1412 {
1413 "anonymous": false,
1414 "documentation": null,
1415 "id": 8891,
1416 "name": "OffchainResponseInt",
1417 "nodeType": "EventDefinition",
1418 "parameters": {
1419 "id": 8890,
1420 "nodeType": "ParameterList",
1421 "parameters": [
1422 {
1423 "constant": false,
1424 "id": 8882,
1425 "indexed": true,
1426 "name": "id",
1427 "nodeType": "VariableDeclaration",
1428 "scope": 8891,
1429 "src": "1115:18:33",
1430 "stateVariable": false,
1431 "storageLocation": "default",
1432 "typeDescriptions": {
1433 "typeIdentifier": "t_uint256",
1434 "typeString": "uint256"
1435 },
1436 "typeName": {
1437 "id": 8881,
1438 "name": "uint256",
1439 "nodeType": "ElementaryTypeName",
1440 "src": "1115:7:33",
1441 "typeDescriptions": {
1442 "typeIdentifier": "t_uint256",
1443 "typeString": "uint256"
1444 }
1445 },
1446 "value": null,
1447 "visibility": "internal"
1448 },
1449 {
1450 "constant": false,
1451 "id": 8884,
1452 "indexed": true,
1453 "name": "subscriber",
1454 "nodeType": "VariableDeclaration",
1455 "scope": 8891,
1456 "src": "1143:26:33",
1457 "stateVariable": false,
1458 "storageLocation": "default",
1459 "typeDescriptions": {
1460 "typeIdentifier": "t_address",
1461 "typeString": "address"
1462 },
1463 "typeName": {
1464 "id": 8883,
1465 "name": "address",
1466 "nodeType": "ElementaryTypeName",
1467 "src": "1143:7:33",
1468 "typeDescriptions": {
1469 "typeIdentifier": "t_address",
1470 "typeString": "address"
1471 }
1472 },
1473 "value": null,
1474 "visibility": "internal"
1475 },
1476 {
1477 "constant": false,
1478 "id": 8886,
1479 "indexed": true,
1480 "name": "provider",
1481 "nodeType": "VariableDeclaration",
1482 "scope": 8891,
1483 "src": "1179:24:33",
1484 "stateVariable": false,
1485 "storageLocation": "default",
1486 "typeDescriptions": {
1487 "typeIdentifier": "t_address",
1488 "typeString": "address"
1489 },
1490 "typeName": {
1491 "id": 8885,
1492 "name": "address",
1493 "nodeType": "ElementaryTypeName",
1494 "src": "1179:7:33",
1495 "typeDescriptions": {
1496 "typeIdentifier": "t_address",
1497 "typeString": "address"
1498 }
1499 },
1500 "value": null,
1501 "visibility": "internal"
1502 },
1503 {
1504 "constant": false,
1505 "id": 8889,
1506 "indexed": false,
1507 "name": "response",
1508 "nodeType": "VariableDeclaration",
1509 "scope": 8891,
1510 "src": "1213:14:33",
1511 "stateVariable": false,
1512 "storageLocation": "default",
1513 "typeDescriptions": {
1514 "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr",
1515 "typeString": "int256[]"
1516 },
1517 "typeName": {
1518 "baseType": {
1519 "id": 8887,
1520 "name": "int",
1521 "nodeType": "ElementaryTypeName",
1522 "src": "1213:3:33",
1523 "typeDescriptions": {
1524 "typeIdentifier": "t_int256",
1525 "typeString": "int256"
1526 }
1527 },
1528 "id": 8888,
1529 "length": null,
1530 "nodeType": "ArrayTypeName",
1531 "src": "1213:5:33",
1532 "typeDescriptions": {
1533 "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr",
1534 "typeString": "int256[]"
1535 }
1536 },
1537 "value": null,
1538 "visibility": "internal"
1539 }
1540 ],
1541 "src": "1105:128:33"
1542 },
1543 "src": "1080:154:33"
1544 },
1545 {
1546 "anonymous": false,
1547 "documentation": null,
1548 "id": 8901,
1549 "name": "OffchainResult1",
1550 "nodeType": "EventDefinition",
1551 "parameters": {
1552 "id": 8900,
1553 "nodeType": "ParameterList",
1554 "parameters": [
1555 {
1556 "constant": false,
1557 "id": 8893,
1558 "indexed": true,
1559 "name": "id",
1560 "nodeType": "VariableDeclaration",
1561 "scope": 8901,
1562 "src": "1271:18:33",
1563 "stateVariable": false,
1564 "storageLocation": "default",
1565 "typeDescriptions": {
1566 "typeIdentifier": "t_uint256",
1567 "typeString": "uint256"
1568 },
1569 "typeName": {
1570 "id": 8892,
1571 "name": "uint256",
1572 "nodeType": "ElementaryTypeName",
1573 "src": "1271:7:33",
1574 "typeDescriptions": {
1575 "typeIdentifier": "t_uint256",
1576 "typeString": "uint256"
1577 }
1578 },
1579 "value": null,
1580 "visibility": "internal"
1581 },
1582 {
1583 "constant": false,
1584 "id": 8895,
1585 "indexed": true,
1586 "name": "subscriber",
1587 "nodeType": "VariableDeclaration",
1588 "scope": 8901,
1589 "src": "1299:26:33",
1590 "stateVariable": false,
1591 "storageLocation": "default",
1592 "typeDescriptions": {
1593 "typeIdentifier": "t_address",
1594 "typeString": "address"
1595 },
1596 "typeName": {
1597 "id": 8894,
1598 "name": "address",
1599 "nodeType": "ElementaryTypeName",
1600 "src": "1299:7:33",
1601 "typeDescriptions": {
1602 "typeIdentifier": "t_address",
1603 "typeString": "address"
1604 }
1605 },
1606 "value": null,
1607 "visibility": "internal"
1608 },
1609 {
1610 "constant": false,
1611 "id": 8897,
1612 "indexed": true,
1613 "name": "provider",
1614 "nodeType": "VariableDeclaration",
1615 "scope": 8901,
1616 "src": "1335:24:33",
1617 "stateVariable": false,
1618 "storageLocation": "default",
1619 "typeDescriptions": {
1620 "typeIdentifier": "t_address",
1621 "typeString": "address"
1622 },
1623 "typeName": {
1624 "id": 8896,
1625 "name": "address",
1626 "nodeType": "ElementaryTypeName",
1627 "src": "1335:7:33",
1628 "typeDescriptions": {
1629 "typeIdentifier": "t_address",
1630 "typeString": "address"
1631 }
1632 },
1633 "value": null,
1634 "visibility": "internal"
1635 },
1636 {
1637 "constant": false,
1638 "id": 8899,
1639 "indexed": false,
1640 "name": "response1",
1641 "nodeType": "VariableDeclaration",
1642 "scope": 8901,
1643 "src": "1369:16:33",
1644 "stateVariable": false,
1645 "storageLocation": "default",
1646 "typeDescriptions": {
1647 "typeIdentifier": "t_string_memory_ptr",
1648 "typeString": "string"
1649 },
1650 "typeName": {
1651 "id": 8898,
1652 "name": "string",
1653 "nodeType": "ElementaryTypeName",
1654 "src": "1369:6:33",
1655 "typeDescriptions": {
1656 "typeIdentifier": "t_string_storage_ptr",
1657 "typeString": "string"
1658 }
1659 },
1660 "value": null,
1661 "visibility": "internal"
1662 }
1663 ],
1664 "src": "1261:130:33"
1665 },
1666 "src": "1240:152:33"
1667 },
1668 {
1669 "anonymous": false,
1670 "documentation": null,
1671 "id": 8913,
1672 "name": "OffchainResult2",
1673 "nodeType": "EventDefinition",
1674 "parameters": {
1675 "id": 8912,
1676 "nodeType": "ParameterList",
1677 "parameters": [
1678 {
1679 "constant": false,
1680 "id": 8903,
1681 "indexed": true,
1682 "name": "id",
1683 "nodeType": "VariableDeclaration",
1684 "scope": 8913,
1685 "src": "1429:18:33",
1686 "stateVariable": false,
1687 "storageLocation": "default",
1688 "typeDescriptions": {
1689 "typeIdentifier": "t_uint256",
1690 "typeString": "uint256"
1691 },
1692 "typeName": {
1693 "id": 8902,
1694 "name": "uint256",
1695 "nodeType": "ElementaryTypeName",
1696 "src": "1429:7:33",
1697 "typeDescriptions": {
1698 "typeIdentifier": "t_uint256",
1699 "typeString": "uint256"
1700 }
1701 },
1702 "value": null,
1703 "visibility": "internal"
1704 },
1705 {
1706 "constant": false,
1707 "id": 8905,
1708 "indexed": true,
1709 "name": "subscriber",
1710 "nodeType": "VariableDeclaration",
1711 "scope": 8913,
1712 "src": "1457:26:33",
1713 "stateVariable": false,
1714 "storageLocation": "default",
1715 "typeDescriptions": {
1716 "typeIdentifier": "t_address",
1717 "typeString": "address"
1718 },
1719 "typeName": {
1720 "id": 8904,
1721 "name": "address",
1722 "nodeType": "ElementaryTypeName",
1723 "src": "1457:7:33",
1724 "typeDescriptions": {
1725 "typeIdentifier": "t_address",
1726 "typeString": "address"
1727 }
1728 },
1729 "value": null,
1730 "visibility": "internal"
1731 },
1732 {
1733 "constant": false,
1734 "id": 8907,
1735 "indexed": true,
1736 "name": "provider",
1737 "nodeType": "VariableDeclaration",
1738 "scope": 8913,
1739 "src": "1493:24:33",
1740 "stateVariable": false,
1741 "storageLocation": "default",
1742 "typeDescriptions": {
1743 "typeIdentifier": "t_address",
1744 "typeString": "address"
1745 },
1746 "typeName": {
1747 "id": 8906,
1748 "name": "address",
1749 "nodeType": "ElementaryTypeName",
1750 "src": "1493:7:33",
1751 "typeDescriptions": {
1752 "typeIdentifier": "t_address",
1753 "typeString": "address"
1754 }
1755 },
1756 "value": null,
1757 "visibility": "internal"
1758 },
1759 {
1760 "constant": false,
1761 "id": 8909,
1762 "indexed": false,
1763 "name": "response1",
1764 "nodeType": "VariableDeclaration",
1765 "scope": 8913,
1766 "src": "1527:16:33",
1767 "stateVariable": false,
1768 "storageLocation": "default",
1769 "typeDescriptions": {
1770 "typeIdentifier": "t_string_memory_ptr",
1771 "typeString": "string"
1772 },
1773 "typeName": {
1774 "id": 8908,
1775 "name": "string",
1776 "nodeType": "ElementaryTypeName",
1777 "src": "1527:6:33",
1778 "typeDescriptions": {
1779 "typeIdentifier": "t_string_storage_ptr",
1780 "typeString": "string"
1781 }
1782 },
1783 "value": null,
1784 "visibility": "internal"
1785 },
1786 {
1787 "constant": false,
1788 "id": 8911,
1789 "indexed": false,
1790 "name": "response2",
1791 "nodeType": "VariableDeclaration",
1792 "scope": 8913,
1793 "src": "1553:16:33",
1794 "stateVariable": false,
1795 "storageLocation": "default",
1796 "typeDescriptions": {
1797 "typeIdentifier": "t_string_memory_ptr",
1798 "typeString": "string"
1799 },
1800 "typeName": {
1801 "id": 8910,
1802 "name": "string",
1803 "nodeType": "ElementaryTypeName",
1804 "src": "1553:6:33",
1805 "typeDescriptions": {
1806 "typeIdentifier": "t_string_storage_ptr",
1807 "typeString": "string"
1808 }
1809 },
1810 "value": null,
1811 "visibility": "internal"
1812 }
1813 ],
1814 "src": "1419:156:33"
1815 },
1816 "src": "1398:178:33"
1817 },
1818 {
1819 "anonymous": false,
1820 "documentation": null,
1821 "id": 8927,
1822 "name": "OffchainResult3",
1823 "nodeType": "EventDefinition",
1824 "parameters": {
1825 "id": 8926,
1826 "nodeType": "ParameterList",
1827 "parameters": [
1828 {
1829 "constant": false,
1830 "id": 8915,
1831 "indexed": true,
1832 "name": "id",
1833 "nodeType": "VariableDeclaration",
1834 "scope": 8927,
1835 "src": "1613:18:33",
1836 "stateVariable": false,
1837 "storageLocation": "default",
1838 "typeDescriptions": {
1839 "typeIdentifier": "t_uint256",
1840 "typeString": "uint256"
1841 },
1842 "typeName": {
1843 "id": 8914,
1844 "name": "uint256",
1845 "nodeType": "ElementaryTypeName",
1846 "src": "1613:7:33",
1847 "typeDescriptions": {
1848 "typeIdentifier": "t_uint256",
1849 "typeString": "uint256"
1850 }
1851 },
1852 "value": null,
1853 "visibility": "internal"
1854 },
1855 {
1856 "constant": false,
1857 "id": 8917,
1858 "indexed": true,
1859 "name": "subscriber",
1860 "nodeType": "VariableDeclaration",
1861 "scope": 8927,
1862 "src": "1641:26:33",
1863 "stateVariable": false,
1864 "storageLocation": "default",
1865 "typeDescriptions": {
1866 "typeIdentifier": "t_address",
1867 "typeString": "address"
1868 },
1869 "typeName": {
1870 "id": 8916,
1871 "name": "address",
1872 "nodeType": "ElementaryTypeName",
1873 "src": "1641:7:33",
1874 "typeDescriptions": {
1875 "typeIdentifier": "t_address",
1876 "typeString": "address"
1877 }
1878 },
1879 "value": null,
1880 "visibility": "internal"
1881 },
1882 {
1883 "constant": false,
1884 "id": 8919,
1885 "indexed": true,
1886 "name": "provider",
1887 "nodeType": "VariableDeclaration",
1888 "scope": 8927,
1889 "src": "1677:24:33",
1890 "stateVariable": false,
1891 "storageLocation": "default",
1892 "typeDescriptions": {
1893 "typeIdentifier": "t_address",
1894 "typeString": "address"
1895 },
1896 "typeName": {
1897 "id": 8918,
1898 "name": "address",
1899 "nodeType": "ElementaryTypeName",
1900 "src": "1677:7:33",
1901 "typeDescriptions": {
1902 "typeIdentifier": "t_address",
1903 "typeString": "address"
1904 }
1905 },
1906 "value": null,
1907 "visibility": "internal"
1908 },
1909 {
1910 "constant": false,
1911 "id": 8921,
1912 "indexed": false,
1913 "name": "response1",
1914 "nodeType": "VariableDeclaration",
1915 "scope": 8927,
1916 "src": "1711:16:33",
1917 "stateVariable": false,
1918 "storageLocation": "default",
1919 "typeDescriptions": {
1920 "typeIdentifier": "t_string_memory_ptr",
1921 "typeString": "string"
1922 },
1923 "typeName": {
1924 "id": 8920,
1925 "name": "string",
1926 "nodeType": "ElementaryTypeName",
1927 "src": "1711:6:33",
1928 "typeDescriptions": {
1929 "typeIdentifier": "t_string_storage_ptr",
1930 "typeString": "string"
1931 }
1932 },
1933 "value": null,
1934 "visibility": "internal"
1935 },
1936 {
1937 "constant": false,
1938 "id": 8923,
1939 "indexed": false,
1940 "name": "response2",
1941 "nodeType": "VariableDeclaration",
1942 "scope": 8927,
1943 "src": "1737:16:33",
1944 "stateVariable": false,
1945 "storageLocation": "default",
1946 "typeDescriptions": {
1947 "typeIdentifier": "t_string_memory_ptr",
1948 "typeString": "string"
1949 },
1950 "typeName": {
1951 "id": 8922,
1952 "name": "string",
1953 "nodeType": "ElementaryTypeName",
1954 "src": "1737:6:33",
1955 "typeDescriptions": {
1956 "typeIdentifier": "t_string_storage_ptr",
1957 "typeString": "string"
1958 }
1959 },
1960 "value": null,
1961 "visibility": "internal"
1962 },
1963 {
1964 "constant": false,
1965 "id": 8925,
1966 "indexed": false,
1967 "name": "response3",
1968 "nodeType": "VariableDeclaration",
1969 "scope": 8927,
1970 "src": "1763:16:33",
1971 "stateVariable": false,
1972 "storageLocation": "default",
1973 "typeDescriptions": {
1974 "typeIdentifier": "t_string_memory_ptr",
1975 "typeString": "string"
1976 },
1977 "typeName": {
1978 "id": 8924,
1979 "name": "string",
1980 "nodeType": "ElementaryTypeName",
1981 "src": "1763:6:33",
1982 "typeDescriptions": {
1983 "typeIdentifier": "t_string_storage_ptr",
1984 "typeString": "string"
1985 }
1986 },
1987 "value": null,
1988 "visibility": "internal"
1989 }
1990 ],
1991 "src": "1603:182:33"
1992 },
1993 "src": "1582:204:33"
1994 },
1995 {
1996 "anonymous": false,
1997 "documentation": null,
1998 "id": 8943,
1999 "name": "OffchainResult4",
2000 "nodeType": "EventDefinition",
2001 "parameters": {
2002 "id": 8942,
2003 "nodeType": "ParameterList",
2004 "parameters": [
2005 {
2006 "constant": false,
2007 "id": 8929,
2008 "indexed": true,
2009 "name": "id",
2010 "nodeType": "VariableDeclaration",
2011 "scope": 8943,
2012 "src": "1823:18:33",
2013 "stateVariable": false,
2014 "storageLocation": "default",
2015 "typeDescriptions": {
2016 "typeIdentifier": "t_uint256",
2017 "typeString": "uint256"
2018 },
2019 "typeName": {
2020 "id": 8928,
2021 "name": "uint256",
2022 "nodeType": "ElementaryTypeName",
2023 "src": "1823:7:33",
2024 "typeDescriptions": {
2025 "typeIdentifier": "t_uint256",
2026 "typeString": "uint256"
2027 }
2028 },
2029 "value": null,
2030 "visibility": "internal"
2031 },
2032 {
2033 "constant": false,
2034 "id": 8931,
2035 "indexed": true,
2036 "name": "subscriber",
2037 "nodeType": "VariableDeclaration",
2038 "scope": 8943,
2039 "src": "1851:26:33",
2040 "stateVariable": false,
2041 "storageLocation": "default",
2042 "typeDescriptions": {
2043 "typeIdentifier": "t_address",
2044 "typeString": "address"
2045 },
2046 "typeName": {
2047 "id": 8930,
2048 "name": "address",
2049 "nodeType": "ElementaryTypeName",
2050 "src": "1851:7:33",
2051 "typeDescriptions": {
2052 "typeIdentifier": "t_address",
2053 "typeString": "address"
2054 }
2055 },
2056 "value": null,
2057 "visibility": "internal"
2058 },
2059 {
2060 "constant": false,
2061 "id": 8933,
2062 "indexed": true,
2063 "name": "provider",
2064 "nodeType": "VariableDeclaration",
2065 "scope": 8943,
2066 "src": "1887:24:33",
2067 "stateVariable": false,
2068 "storageLocation": "default",
2069 "typeDescriptions": {
2070 "typeIdentifier": "t_address",
2071 "typeString": "address"
2072 },
2073 "typeName": {
2074 "id": 8932,
2075 "name": "address",
2076 "nodeType": "ElementaryTypeName",
2077 "src": "1887:7:33",
2078 "typeDescriptions": {
2079 "typeIdentifier": "t_address",
2080 "typeString": "address"
2081 }
2082 },
2083 "value": null,
2084 "visibility": "internal"
2085 },
2086 {
2087 "constant": false,
2088 "id": 8935,
2089 "indexed": false,
2090 "name": "response1",
2091 "nodeType": "VariableDeclaration",
2092 "scope": 8943,
2093 "src": "1921:16:33",
2094 "stateVariable": false,
2095 "storageLocation": "default",
2096 "typeDescriptions": {
2097 "typeIdentifier": "t_string_memory_ptr",
2098 "typeString": "string"
2099 },
2100 "typeName": {
2101 "id": 8934,
2102 "name": "string",
2103 "nodeType": "ElementaryTypeName",
2104 "src": "1921:6:33",
2105 "typeDescriptions": {
2106 "typeIdentifier": "t_string_storage_ptr",
2107 "typeString": "string"
2108 }
2109 },
2110 "value": null,
2111 "visibility": "internal"
2112 },
2113 {
2114 "constant": false,
2115 "id": 8937,
2116 "indexed": false,
2117 "name": "response2",
2118 "nodeType": "VariableDeclaration",
2119 "scope": 8943,
2120 "src": "1947:16:33",
2121 "stateVariable": false,
2122 "storageLocation": "default",
2123 "typeDescriptions": {
2124 "typeIdentifier": "t_string_memory_ptr",
2125 "typeString": "string"
2126 },
2127 "typeName": {
2128 "id": 8936,
2129 "name": "string",
2130 "nodeType": "ElementaryTypeName",
2131 "src": "1947:6:33",
2132 "typeDescriptions": {
2133 "typeIdentifier": "t_string_storage_ptr",
2134 "typeString": "string"
2135 }
2136 },
2137 "value": null,
2138 "visibility": "internal"
2139 },
2140 {
2141 "constant": false,
2142 "id": 8939,
2143 "indexed": false,
2144 "name": "response3",
2145 "nodeType": "VariableDeclaration",
2146 "scope": 8943,
2147 "src": "1973:16:33",
2148 "stateVariable": false,
2149 "storageLocation": "default",
2150 "typeDescriptions": {
2151 "typeIdentifier": "t_string_memory_ptr",
2152 "typeString": "string"
2153 },
2154 "typeName": {
2155 "id": 8938,
2156 "name": "string",
2157 "nodeType": "ElementaryTypeName",
2158 "src": "1973:6:33",
2159 "typeDescriptions": {
2160 "typeIdentifier": "t_string_storage_ptr",
2161 "typeString": "string"
2162 }
2163 },
2164 "value": null,
2165 "visibility": "internal"
2166 },
2167 {
2168 "constant": false,
2169 "id": 8941,
2170 "indexed": false,
2171 "name": "response4",
2172 "nodeType": "VariableDeclaration",
2173 "scope": 8943,
2174 "src": "1999:16:33",
2175 "stateVariable": false,
2176 "storageLocation": "default",
2177 "typeDescriptions": {
2178 "typeIdentifier": "t_string_memory_ptr",
2179 "typeString": "string"
2180 },
2181 "typeName": {
2182 "id": 8940,
2183 "name": "string",
2184 "nodeType": "ElementaryTypeName",
2185 "src": "1999:6:33",
2186 "typeDescriptions": {
2187 "typeIdentifier": "t_string_storage_ptr",
2188 "typeString": "string"
2189 }
2190 },
2191 "value": null,
2192 "visibility": "internal"
2193 }
2194 ],
2195 "src": "1813:208:33"
2196 },
2197 "src": "1792:230:33"
2198 },
2199 {
2200 "anonymous": false,
2201 "documentation": null,
2202 "id": 8951,
2203 "name": "CanceledRequest",
2204 "nodeType": "EventDefinition",
2205 "parameters": {
2206 "id": 8950,
2207 "nodeType": "ParameterList",
2208 "parameters": [
2209 {
2210 "constant": false,
2211 "id": 8945,
2212 "indexed": true,
2213 "name": "id",
2214 "nodeType": "VariableDeclaration",
2215 "scope": 8951,
2216 "src": "2059:18:33",
2217 "stateVariable": false,
2218 "storageLocation": "default",
2219 "typeDescriptions": {
2220 "typeIdentifier": "t_uint256",
2221 "typeString": "uint256"
2222 },
2223 "typeName": {
2224 "id": 8944,
2225 "name": "uint256",
2226 "nodeType": "ElementaryTypeName",
2227 "src": "2059:7:33",
2228 "typeDescriptions": {
2229 "typeIdentifier": "t_uint256",
2230 "typeString": "uint256"
2231 }
2232 },
2233 "value": null,
2234 "visibility": "internal"
2235 },
2236 {
2237 "constant": false,
2238 "id": 8947,
2239 "indexed": true,
2240 "name": "subscriber",
2241 "nodeType": "VariableDeclaration",
2242 "scope": 8951,
2243 "src": "2087:26:33",
2244 "stateVariable": false,
2245 "storageLocation": "default",
2246 "typeDescriptions": {
2247 "typeIdentifier": "t_address",
2248 "typeString": "address"
2249 },
2250 "typeName": {
2251 "id": 8946,
2252 "name": "address",
2253 "nodeType": "ElementaryTypeName",
2254 "src": "2087:7:33",
2255 "typeDescriptions": {
2256 "typeIdentifier": "t_address",
2257 "typeString": "address"
2258 }
2259 },
2260 "value": null,
2261 "visibility": "internal"
2262 },
2263 {
2264 "constant": false,
2265 "id": 8949,
2266 "indexed": true,
2267 "name": "provider",
2268 "nodeType": "VariableDeclaration",
2269 "scope": 8951,
2270 "src": "2123:24:33",
2271 "stateVariable": false,
2272 "storageLocation": "default",
2273 "typeDescriptions": {
2274 "typeIdentifier": "t_address",
2275 "typeString": "address"
2276 },
2277 "typeName": {
2278 "id": 8948,
2279 "name": "address",
2280 "nodeType": "ElementaryTypeName",
2281 "src": "2123:7:33",
2282 "typeDescriptions": {
2283 "typeIdentifier": "t_address",
2284 "typeString": "address"
2285 }
2286 },
2287 "value": null,
2288 "visibility": "internal"
2289 }
2290 ],
2291 "src": "2049:104:33"
2292 },
2293 "src": "2028:126:33"
2294 },
2295 {
2296 "anonymous": false,
2297 "documentation": null,
2298 "id": 8959,
2299 "name": "RevertCancelation",
2300 "nodeType": "EventDefinition",
2301 "parameters": {
2302 "id": 8958,
2303 "nodeType": "ParameterList",
2304 "parameters": [
2305 {
2306 "constant": false,
2307 "id": 8953,
2308 "indexed": true,
2309 "name": "id",
2310 "nodeType": "VariableDeclaration",
2311 "scope": 8959,
2312 "src": "2193:18:33",
2313 "stateVariable": false,
2314 "storageLocation": "default",
2315 "typeDescriptions": {
2316 "typeIdentifier": "t_uint256",
2317 "typeString": "uint256"
2318 },
2319 "typeName": {
2320 "id": 8952,
2321 "name": "uint256",
2322 "nodeType": "ElementaryTypeName",
2323 "src": "2193:7:33",
2324 "typeDescriptions": {
2325 "typeIdentifier": "t_uint256",
2326 "typeString": "uint256"
2327 }
2328 },
2329 "value": null,
2330 "visibility": "internal"
2331 },
2332 {
2333 "constant": false,
2334 "id": 8955,
2335 "indexed": true,
2336 "name": "subscriber",
2337 "nodeType": "VariableDeclaration",
2338 "scope": 8959,
2339 "src": "2221:26:33",
2340 "stateVariable": false,
2341 "storageLocation": "default",
2342 "typeDescriptions": {
2343 "typeIdentifier": "t_address",
2344 "typeString": "address"
2345 },
2346 "typeName": {
2347 "id": 8954,
2348 "name": "address",
2349 "nodeType": "ElementaryTypeName",
2350 "src": "2221:7:33",
2351 "typeDescriptions": {
2352 "typeIdentifier": "t_address",
2353 "typeString": "address"
2354 }
2355 },
2356 "value": null,
2357 "visibility": "internal"
2358 },
2359 {
2360 "constant": false,
2361 "id": 8957,
2362 "indexed": true,
2363 "name": "provider",
2364 "nodeType": "VariableDeclaration",
2365 "scope": 8959,
2366 "src": "2257:24:33",
2367 "stateVariable": false,
2368 "storageLocation": "default",
2369 "typeDescriptions": {
2370 "typeIdentifier": "t_address",
2371 "typeString": "address"
2372 },
2373 "typeName": {
2374 "id": 8956,
2375 "name": "address",
2376 "nodeType": "ElementaryTypeName",
2377 "src": "2257:7:33",
2378 "typeDescriptions": {
2379 "typeIdentifier": "t_address",
2380 "typeString": "address"
2381 }
2382 },
2383 "value": null,
2384 "visibility": "internal"
2385 }
2386 ],
2387 "src": "2183:104:33"
2388 },
2389 "src": "2160:128:33"
2390 },
2391 {
2392 "constant": false,
2393 "id": 8961,
2394 "name": "bondage",
2395 "nodeType": "VariableDeclaration",
2396 "scope": 10008,
2397 "src": "2294:31:33",
2398 "stateVariable": true,
2399 "storageLocation": "default",
2400 "typeDescriptions": {
2401 "typeIdentifier": "t_contract$_BondageInterface_$7926",
2402 "typeString": "contract BondageInterface"
2403 },
2404 "typeName": {
2405 "contractScope": null,
2406 "id": 8960,
2407 "name": "BondageInterface",
2408 "nodeType": "UserDefinedTypeName",
2409 "referencedDeclaration": 7926,
2410 "src": "2294:16:33",
2411 "typeDescriptions": {
2412 "typeIdentifier": "t_contract$_BondageInterface_$7926",
2413 "typeString": "contract BondageInterface"
2414 }
2415 },
2416 "value": null,
2417 "visibility": "public"
2418 },
2419 {
2420 "constant": false,
2421 "id": 8963,
2422 "name": "bondageAddress",
2423 "nodeType": "VariableDeclaration",
2424 "scope": 10008,
2425 "src": "2331:29:33",
2426 "stateVariable": true,
2427 "storageLocation": "default",
2428 "typeDescriptions": {
2429 "typeIdentifier": "t_address",
2430 "typeString": "address"
2431 },
2432 "typeName": {
2433 "id": 8962,
2434 "name": "address",
2435 "nodeType": "ElementaryTypeName",
2436 "src": "2331:7:33",
2437 "typeDescriptions": {
2438 "typeIdentifier": "t_address",
2439 "typeString": "address"
2440 }
2441 },
2442 "value": null,
2443 "visibility": "public"
2444 },
2445 {
2446 "constant": false,
2447 "id": 8965,
2448 "name": "db",
2449 "nodeType": "VariableDeclaration",
2450 "scope": 10008,
2451 "src": "2367:27:33",
2452 "stateVariable": true,
2453 "storageLocation": "default",
2454 "typeDescriptions": {
2455 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
2456 "typeString": "contract DatabaseInterface"
2457 },
2458 "typeName": {
2459 "contractScope": null,
2460 "id": 8964,
2461 "name": "DatabaseInterface",
2462 "nodeType": "UserDefinedTypeName",
2463 "referencedDeclaration": 8825,
2464 "src": "2367:17:33",
2465 "typeDescriptions": {
2466 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
2467 "typeString": "contract DatabaseInterface"
2468 }
2469 },
2470 "value": null,
2471 "visibility": "public"
2472 },
2473 {
2474 "body": {
2475 "id": 8973,
2476 "nodeType": "Block",
2477 "src": "2445:40:33",
2478 "statements": []
2479 },
2480 "documentation": null,
2481 "id": 8974,
2482 "implemented": true,
2483 "isConstructor": true,
2484 "isDeclaredConst": false,
2485 "modifiers": [
2486 {
2487 "arguments": [
2488 {
2489 "argumentTypes": null,
2490 "id": 8970,
2491 "name": "c",
2492 "nodeType": "Identifier",
2493 "overloadedDeclarations": [],
2494 "referencedDeclaration": 8967,
2495 "src": "2435:1:33",
2496 "typeDescriptions": {
2497 "typeIdentifier": "t_address",
2498 "typeString": "address"
2499 }
2500 }
2501 ],
2502 "id": 8971,
2503 "modifierName": {
2504 "argumentTypes": null,
2505 "id": 8969,
2506 "name": "Upgradable",
2507 "nodeType": "Identifier",
2508 "overloadedDeclarations": [],
2509 "referencedDeclaration": 251,
2510 "src": "2424:10:33",
2511 "typeDescriptions": {
2512 "typeIdentifier": "t_type$_t_contract$_Upgradable_$251_$",
2513 "typeString": "type(contract Upgradable)"
2514 }
2515 },
2516 "nodeType": "ModifierInvocation",
2517 "src": "2424:13:33"
2518 }
2519 ],
2520 "name": "",
2521 "nodeType": "FunctionDefinition",
2522 "parameters": {
2523 "id": 8968,
2524 "nodeType": "ParameterList",
2525 "parameters": [
2526 {
2527 "constant": false,
2528 "id": 8967,
2529 "name": "c",
2530 "nodeType": "VariableDeclaration",
2531 "scope": 8974,
2532 "src": "2413:9:33",
2533 "stateVariable": false,
2534 "storageLocation": "default",
2535 "typeDescriptions": {
2536 "typeIdentifier": "t_address",
2537 "typeString": "address"
2538 },
2539 "typeName": {
2540 "id": 8966,
2541 "name": "address",
2542 "nodeType": "ElementaryTypeName",
2543 "src": "2413:7:33",
2544 "typeDescriptions": {
2545 "typeIdentifier": "t_address",
2546 "typeString": "address"
2547 }
2548 },
2549 "value": null,
2550 "visibility": "internal"
2551 }
2552 ],
2553 "src": "2412:11:33"
2554 },
2555 "payable": false,
2556 "returnParameters": {
2557 "id": 8972,
2558 "nodeType": "ParameterList",
2559 "parameters": [],
2560 "src": "2445:0:33"
2561 },
2562 "scope": 10008,
2563 "src": "2401:84:33",
2564 "stateMutability": "nonpayable",
2565 "superFunction": null,
2566 "visibility": "public"
2567 },
2568 {
2569 "body": {
2570 "id": 9003,
2571 "nodeType": "Block",
2572 "src": "2531:241:33",
2573 "statements": [
2574 {
2575 "assignments": [
2576 8978
2577 ],
2578 "declarations": [
2579 {
2580 "constant": false,
2581 "id": 8978,
2582 "name": "databaseAddress",
2583 "nodeType": "VariableDeclaration",
2584 "scope": 9004,
2585 "src": "2541:23:33",
2586 "stateVariable": false,
2587 "storageLocation": "default",
2588 "typeDescriptions": {
2589 "typeIdentifier": "t_address",
2590 "typeString": "address"
2591 },
2592 "typeName": {
2593 "id": 8977,
2594 "name": "address",
2595 "nodeType": "ElementaryTypeName",
2596 "src": "2541:7:33",
2597 "typeDescriptions": {
2598 "typeIdentifier": "t_address",
2599 "typeString": "address"
2600 }
2601 },
2602 "value": null,
2603 "visibility": "internal"
2604 }
2605 ],
2606 "id": 8983,
2607 "initialValue": {
2608 "argumentTypes": null,
2609 "arguments": [
2610 {
2611 "argumentTypes": null,
2612 "hexValue": "4441544142415345",
2613 "id": 8981,
2614 "isConstant": false,
2615 "isLValue": false,
2616 "isPure": true,
2617 "kind": "string",
2618 "lValueRequested": false,
2619 "nodeType": "Literal",
2620 "src": "2591:10:33",
2621 "subdenomination": null,
2622 "typeDescriptions": {
2623 "typeIdentifier": "t_stringliteral_6d9edc57e54c810082cdbb84850c38c87962345930465f6145aa008b22c9ae62",
2624 "typeString": "literal_string \"DATABASE\""
2625 },
2626 "value": "DATABASE"
2627 }
2628 ],
2629 "expression": {
2630 "argumentTypes": [
2631 {
2632 "typeIdentifier": "t_stringliteral_6d9edc57e54c810082cdbb84850c38c87962345930465f6145aa008b22c9ae62",
2633 "typeString": "literal_string \"DATABASE\""
2634 }
2635 ],
2636 "expression": {
2637 "argumentTypes": null,
2638 "id": 8979,
2639 "name": "coordinator",
2640 "nodeType": "Identifier",
2641 "overloadedDeclarations": [],
2642 "referencedDeclaration": 210,
2643 "src": "2567:11:33",
2644 "typeDescriptions": {
2645 "typeIdentifier": "t_contract$_ZapCoordinatorInterface_$493",
2646 "typeString": "contract ZapCoordinatorInterface"
2647 }
2648 },
2649 "id": 8980,
2650 "isConstant": false,
2651 "isLValue": false,
2652 "isPure": false,
2653 "lValueRequested": false,
2654 "memberName": "getContract",
2655 "nodeType": "MemberAccess",
2656 "referencedDeclaration": 489,
2657 "src": "2567:23:33",
2658 "typeDescriptions": {
2659 "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$",
2660 "typeString": "function (string memory) view external returns (address)"
2661 }
2662 },
2663 "id": 8982,
2664 "isConstant": false,
2665 "isLValue": false,
2666 "isPure": false,
2667 "kind": "functionCall",
2668 "lValueRequested": false,
2669 "names": [],
2670 "nodeType": "FunctionCall",
2671 "src": "2567:35:33",
2672 "typeDescriptions": {
2673 "typeIdentifier": "t_address",
2674 "typeString": "address"
2675 }
2676 },
2677 "nodeType": "VariableDeclarationStatement",
2678 "src": "2541:61:33"
2679 },
2680 {
2681 "expression": {
2682 "argumentTypes": null,
2683 "id": 8988,
2684 "isConstant": false,
2685 "isLValue": false,
2686 "isPure": false,
2687 "lValueRequested": false,
2688 "leftHandSide": {
2689 "argumentTypes": null,
2690 "id": 8984,
2691 "name": "db",
2692 "nodeType": "Identifier",
2693 "overloadedDeclarations": [],
2694 "referencedDeclaration": 8965,
2695 "src": "2612:2:33",
2696 "typeDescriptions": {
2697 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
2698 "typeString": "contract DatabaseInterface"
2699 }
2700 },
2701 "nodeType": "Assignment",
2702 "operator": "=",
2703 "rightHandSide": {
2704 "argumentTypes": null,
2705 "arguments": [
2706 {
2707 "argumentTypes": null,
2708 "id": 8986,
2709 "name": "databaseAddress",
2710 "nodeType": "Identifier",
2711 "overloadedDeclarations": [],
2712 "referencedDeclaration": 8978,
2713 "src": "2635:15:33",
2714 "typeDescriptions": {
2715 "typeIdentifier": "t_address",
2716 "typeString": "address"
2717 }
2718 }
2719 ],
2720 "expression": {
2721 "argumentTypes": [
2722 {
2723 "typeIdentifier": "t_address",
2724 "typeString": "address"
2725 }
2726 ],
2727 "id": 8985,
2728 "name": "DatabaseInterface",
2729 "nodeType": "Identifier",
2730 "overloadedDeclarations": [],
2731 "referencedDeclaration": 8825,
2732 "src": "2617:17:33",
2733 "typeDescriptions": {
2734 "typeIdentifier": "t_type$_t_contract$_DatabaseInterface_$8825_$",
2735 "typeString": "type(contract DatabaseInterface)"
2736 }
2737 },
2738 "id": 8987,
2739 "isConstant": false,
2740 "isLValue": false,
2741 "isPure": false,
2742 "kind": "typeConversion",
2743 "lValueRequested": false,
2744 "names": [],
2745 "nodeType": "FunctionCall",
2746 "src": "2617:34:33",
2747 "typeDescriptions": {
2748 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
2749 "typeString": "contract DatabaseInterface"
2750 }
2751 },
2752 "src": "2612:39:33",
2753 "typeDescriptions": {
2754 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
2755 "typeString": "contract DatabaseInterface"
2756 }
2757 },
2758 "id": 8989,
2759 "nodeType": "ExpressionStatement",
2760 "src": "2612:39:33"
2761 },
2762 {
2763 "expression": {
2764 "argumentTypes": null,
2765 "id": 8995,
2766 "isConstant": false,
2767 "isLValue": false,
2768 "isPure": false,
2769 "lValueRequested": false,
2770 "leftHandSide": {
2771 "argumentTypes": null,
2772 "id": 8990,
2773 "name": "bondageAddress",
2774 "nodeType": "Identifier",
2775 "overloadedDeclarations": [],
2776 "referencedDeclaration": 8963,
2777 "src": "2662:14:33",
2778 "typeDescriptions": {
2779 "typeIdentifier": "t_address",
2780 "typeString": "address"
2781 }
2782 },
2783 "nodeType": "Assignment",
2784 "operator": "=",
2785 "rightHandSide": {
2786 "argumentTypes": null,
2787 "arguments": [
2788 {
2789 "argumentTypes": null,
2790 "hexValue": "424f4e44414745",
2791 "id": 8993,
2792 "isConstant": false,
2793 "isLValue": false,
2794 "isPure": true,
2795 "kind": "string",
2796 "lValueRequested": false,
2797 "nodeType": "Literal",
2798 "src": "2703:9:33",
2799 "subdenomination": null,
2800 "typeDescriptions": {
2801 "typeIdentifier": "t_stringliteral_8db6e752c473cf27fd950e9b9ac06384370d511fb552ce5f96812082c602436b",
2802 "typeString": "literal_string \"BONDAGE\""
2803 },
2804 "value": "BONDAGE"
2805 }
2806 ],
2807 "expression": {
2808 "argumentTypes": [
2809 {
2810 "typeIdentifier": "t_stringliteral_8db6e752c473cf27fd950e9b9ac06384370d511fb552ce5f96812082c602436b",
2811 "typeString": "literal_string \"BONDAGE\""
2812 }
2813 ],
2814 "expression": {
2815 "argumentTypes": null,
2816 "id": 8991,
2817 "name": "coordinator",
2818 "nodeType": "Identifier",
2819 "overloadedDeclarations": [],
2820 "referencedDeclaration": 210,
2821 "src": "2679:11:33",
2822 "typeDescriptions": {
2823 "typeIdentifier": "t_contract$_ZapCoordinatorInterface_$493",
2824 "typeString": "contract ZapCoordinatorInterface"
2825 }
2826 },
2827 "id": 8992,
2828 "isConstant": false,
2829 "isLValue": false,
2830 "isPure": false,
2831 "lValueRequested": false,
2832 "memberName": "getContract",
2833 "nodeType": "MemberAccess",
2834 "referencedDeclaration": 489,
2835 "src": "2679:23:33",
2836 "typeDescriptions": {
2837 "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$",
2838 "typeString": "function (string memory) view external returns (address)"
2839 }
2840 },
2841 "id": 8994,
2842 "isConstant": false,
2843 "isLValue": false,
2844 "isPure": false,
2845 "kind": "functionCall",
2846 "lValueRequested": false,
2847 "names": [],
2848 "nodeType": "FunctionCall",
2849 "src": "2679:34:33",
2850 "typeDescriptions": {
2851 "typeIdentifier": "t_address",
2852 "typeString": "address"
2853 }
2854 },
2855 "src": "2662:51:33",
2856 "typeDescriptions": {
2857 "typeIdentifier": "t_address",
2858 "typeString": "address"
2859 }
2860 },
2861 "id": 8996,
2862 "nodeType": "ExpressionStatement",
2863 "src": "2662:51:33"
2864 },
2865 {
2866 "expression": {
2867 "argumentTypes": null,
2868 "id": 9001,
2869 "isConstant": false,
2870 "isLValue": false,
2871 "isPure": false,
2872 "lValueRequested": false,
2873 "leftHandSide": {
2874 "argumentTypes": null,
2875 "id": 8997,
2876 "name": "bondage",
2877 "nodeType": "Identifier",
2878 "overloadedDeclarations": [],
2879 "referencedDeclaration": 8961,
2880 "src": "2723:7:33",
2881 "typeDescriptions": {
2882 "typeIdentifier": "t_contract$_BondageInterface_$7926",
2883 "typeString": "contract BondageInterface"
2884 }
2885 },
2886 "nodeType": "Assignment",
2887 "operator": "=",
2888 "rightHandSide": {
2889 "argumentTypes": null,
2890 "arguments": [
2891 {
2892 "argumentTypes": null,
2893 "id": 8999,
2894 "name": "bondageAddress",
2895 "nodeType": "Identifier",
2896 "overloadedDeclarations": [],
2897 "referencedDeclaration": 8963,
2898 "src": "2750:14:33",
2899 "typeDescriptions": {
2900 "typeIdentifier": "t_address",
2901 "typeString": "address"
2902 }
2903 }
2904 ],
2905 "expression": {
2906 "argumentTypes": [
2907 {
2908 "typeIdentifier": "t_address",
2909 "typeString": "address"
2910 }
2911 ],
2912 "id": 8998,
2913 "name": "BondageInterface",
2914 "nodeType": "Identifier",
2915 "overloadedDeclarations": [],
2916 "referencedDeclaration": 7926,
2917 "src": "2733:16:33",
2918 "typeDescriptions": {
2919 "typeIdentifier": "t_type$_t_contract$_BondageInterface_$7926_$",
2920 "typeString": "type(contract BondageInterface)"
2921 }
2922 },
2923 "id": 9000,
2924 "isConstant": false,
2925 "isLValue": false,
2926 "isPure": false,
2927 "kind": "typeConversion",
2928 "lValueRequested": false,
2929 "names": [],
2930 "nodeType": "FunctionCall",
2931 "src": "2733:32:33",
2932 "typeDescriptions": {
2933 "typeIdentifier": "t_contract$_BondageInterface_$7926",
2934 "typeString": "contract BondageInterface"
2935 }
2936 },
2937 "src": "2723:42:33",
2938 "typeDescriptions": {
2939 "typeIdentifier": "t_contract$_BondageInterface_$7926",
2940 "typeString": "contract BondageInterface"
2941 }
2942 },
2943 "id": 9002,
2944 "nodeType": "ExpressionStatement",
2945 "src": "2723:42:33"
2946 }
2947 ]
2948 },
2949 "documentation": null,
2950 "id": 9004,
2951 "implemented": true,
2952 "isConstructor": false,
2953 "isDeclaredConst": false,
2954 "modifiers": [],
2955 "name": "_updateDependencies",
2956 "nodeType": "FunctionDefinition",
2957 "parameters": {
2958 "id": 8975,
2959 "nodeType": "ParameterList",
2960 "parameters": [],
2961 "src": "2519:2:33"
2962 },
2963 "payable": false,
2964 "returnParameters": {
2965 "id": 8976,
2966 "nodeType": "ParameterList",
2967 "parameters": [],
2968 "src": "2531:0:33"
2969 },
2970 "scope": 10008,
2971 "src": "2491:281:33",
2972 "stateMutability": "nonpayable",
2973 "superFunction": 238,
2974 "visibility": "internal"
2975 },
2976 {
2977 "body": {
2978 "id": 9114,
2979 "nodeType": "Block",
2980 "src": "3193:909:33",
2981 "statements": [
2982 {
2983 "assignments": [
2984 9019
2985 ],
2986 "declarations": [
2987 {
2988 "constant": false,
2989 "id": 9019,
2990 "name": "dots",
2991 "nodeType": "VariableDeclaration",
2992 "scope": 9115,
2993 "src": "3203:12:33",
2994 "stateVariable": false,
2995 "storageLocation": "default",
2996 "typeDescriptions": {
2997 "typeIdentifier": "t_uint256",
2998 "typeString": "uint256"
2999 },
3000 "typeName": {
3001 "id": 9018,
3002 "name": "uint256",
3003 "nodeType": "ElementaryTypeName",
3004 "src": "3203:7:33",
3005 "typeDescriptions": {
3006 "typeIdentifier": "t_uint256",
3007 "typeString": "uint256"
3008 }
3009 },
3010 "value": null,
3011 "visibility": "internal"
3012 }
3013 ],
3014 "id": 9027,
3015 "initialValue": {
3016 "argumentTypes": null,
3017 "arguments": [
3018 {
3019 "argumentTypes": null,
3020 "expression": {
3021 "argumentTypes": null,
3022 "id": 9022,
3023 "name": "msg",
3024 "nodeType": "Identifier",
3025 "overloadedDeclarations": [],
3026 "referencedDeclaration": 12092,
3027 "src": "3239:3:33",
3028 "typeDescriptions": {
3029 "typeIdentifier": "t_magic_message",
3030 "typeString": "msg"
3031 }
3032 },
3033 "id": 9023,
3034 "isConstant": false,
3035 "isLValue": false,
3036 "isPure": false,
3037 "lValueRequested": false,
3038 "memberName": "sender",
3039 "nodeType": "MemberAccess",
3040 "referencedDeclaration": null,
3041 "src": "3239:10:33",
3042 "typeDescriptions": {
3043 "typeIdentifier": "t_address",
3044 "typeString": "address"
3045 }
3046 },
3047 {
3048 "argumentTypes": null,
3049 "id": 9024,
3050 "name": "provider",
3051 "nodeType": "Identifier",
3052 "overloadedDeclarations": [],
3053 "referencedDeclaration": 9006,
3054 "src": "3251:8:33",
3055 "typeDescriptions": {
3056 "typeIdentifier": "t_address",
3057 "typeString": "address"
3058 }
3059 },
3060 {
3061 "argumentTypes": null,
3062 "id": 9025,
3063 "name": "endpoint",
3064 "nodeType": "Identifier",
3065 "overloadedDeclarations": [],
3066 "referencedDeclaration": 9010,
3067 "src": "3261:8:33",
3068 "typeDescriptions": {
3069 "typeIdentifier": "t_bytes32",
3070 "typeString": "bytes32"
3071 }
3072 }
3073 ],
3074 "expression": {
3075 "argumentTypes": [
3076 {
3077 "typeIdentifier": "t_address",
3078 "typeString": "address"
3079 },
3080 {
3081 "typeIdentifier": "t_address",
3082 "typeString": "address"
3083 },
3084 {
3085 "typeIdentifier": "t_bytes32",
3086 "typeString": "bytes32"
3087 }
3088 ],
3089 "expression": {
3090 "argumentTypes": null,
3091 "id": 9020,
3092 "name": "bondage",
3093 "nodeType": "Identifier",
3094 "overloadedDeclarations": [],
3095 "referencedDeclaration": 8961,
3096 "src": "3218:7:33",
3097 "typeDescriptions": {
3098 "typeIdentifier": "t_contract$_BondageInterface_$7926",
3099 "typeString": "contract BondageInterface"
3100 }
3101 },
3102 "id": 9021,
3103 "isConstant": false,
3104 "isLValue": false,
3105 "isPure": false,
3106 "lValueRequested": false,
3107 "memberName": "getBoundDots",
3108 "nodeType": "MemberAccess",
3109 "referencedDeclaration": 7907,
3110 "src": "3218:20:33",
3111 "typeDescriptions": {
3112 "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes32_$returns$_t_uint256_$",
3113 "typeString": "function (address,address,bytes32) view external returns (uint256)"
3114 }
3115 },
3116 "id": 9026,
3117 "isConstant": false,
3118 "isLValue": false,
3119 "isPure": false,
3120 "kind": "functionCall",
3121 "lValueRequested": false,
3122 "names": [],
3123 "nodeType": "FunctionCall",
3124 "src": "3218:52:33",
3125 "typeDescriptions": {
3126 "typeIdentifier": "t_uint256",
3127 "typeString": "uint256"
3128 }
3129 },
3130 "nodeType": "VariableDeclarationStatement",
3131 "src": "3203:67:33"
3132 },
3133 {
3134 "assignments": [
3135 9029
3136 ],
3137 "declarations": [
3138 {
3139 "constant": false,
3140 "id": 9029,
3141 "name": "onchainProvider",
3142 "nodeType": "VariableDeclaration",
3143 "scope": 9115,
3144 "src": "3280:20:33",
3145 "stateVariable": false,
3146 "storageLocation": "default",
3147 "typeDescriptions": {
3148 "typeIdentifier": "t_bool",
3149 "typeString": "bool"
3150 },
3151 "typeName": {
3152 "id": 9028,
3153 "name": "bool",
3154 "nodeType": "ElementaryTypeName",
3155 "src": "3280:4:33",
3156 "typeDescriptions": {
3157 "typeIdentifier": "t_bool",
3158 "typeString": "bool"
3159 }
3160 },
3161 "value": null,
3162 "visibility": "internal"
3163 }
3164 ],
3165 "id": 9033,
3166 "initialValue": {
3167 "argumentTypes": null,
3168 "arguments": [
3169 {
3170 "argumentTypes": null,
3171 "id": 9031,
3172 "name": "provider",
3173 "nodeType": "Identifier",
3174 "overloadedDeclarations": [],
3175 "referencedDeclaration": 9006,
3176 "src": "3314:8:33",
3177 "typeDescriptions": {
3178 "typeIdentifier": "t_address",
3179 "typeString": "address"
3180 }
3181 }
3182 ],
3183 "expression": {
3184 "argumentTypes": [
3185 {
3186 "typeIdentifier": "t_address",
3187 "typeString": "address"
3188 }
3189 ],
3190 "id": 9030,
3191 "name": "isContract",
3192 "nodeType": "Identifier",
3193 "overloadedDeclarations": [],
3194 "referencedDeclaration": 10007,
3195 "src": "3303:10:33",
3196 "typeDescriptions": {
3197 "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
3198 "typeString": "function (address) view returns (bool)"
3199 }
3200 },
3201 "id": 9032,
3202 "isConstant": false,
3203 "isLValue": false,
3204 "isPure": false,
3205 "kind": "functionCall",
3206 "lValueRequested": false,
3207 "names": [],
3208 "nodeType": "FunctionCall",
3209 "src": "3303:20:33",
3210 "typeDescriptions": {
3211 "typeIdentifier": "t_bool",
3212 "typeString": "bool"
3213 }
3214 },
3215 "nodeType": "VariableDeclarationStatement",
3216 "src": "3280:43:33"
3217 },
3218 {
3219 "assignments": [
3220 9035
3221 ],
3222 "declarations": [
3223 {
3224 "constant": false,
3225 "id": 9035,
3226 "name": "onchainSubscriber",
3227 "nodeType": "VariableDeclaration",
3228 "scope": 9115,
3229 "src": "3333:22:33",
3230 "stateVariable": false,
3231 "storageLocation": "default",
3232 "typeDescriptions": {
3233 "typeIdentifier": "t_bool",
3234 "typeString": "bool"
3235 },
3236 "typeName": {
3237 "id": 9034,
3238 "name": "bool",
3239 "nodeType": "ElementaryTypeName",
3240 "src": "3333:4:33",
3241 "typeDescriptions": {
3242 "typeIdentifier": "t_bool",
3243 "typeString": "bool"
3244 }
3245 },
3246 "value": null,
3247 "visibility": "internal"
3248 }
3249 ],
3250 "id": 9040,
3251 "initialValue": {
3252 "argumentTypes": null,
3253 "arguments": [
3254 {
3255 "argumentTypes": null,
3256 "expression": {
3257 "argumentTypes": null,
3258 "id": 9037,
3259 "name": "msg",
3260 "nodeType": "Identifier",
3261 "overloadedDeclarations": [],
3262 "referencedDeclaration": 12092,
3263 "src": "3369:3:33",
3264 "typeDescriptions": {
3265 "typeIdentifier": "t_magic_message",
3266 "typeString": "msg"
3267 }
3268 },
3269 "id": 9038,
3270 "isConstant": false,
3271 "isLValue": false,
3272 "isPure": false,
3273 "lValueRequested": false,
3274 "memberName": "sender",
3275 "nodeType": "MemberAccess",
3276 "referencedDeclaration": null,
3277 "src": "3369:10:33",
3278 "typeDescriptions": {
3279 "typeIdentifier": "t_address",
3280 "typeString": "address"
3281 }
3282 }
3283 ],
3284 "expression": {
3285 "argumentTypes": [
3286 {
3287 "typeIdentifier": "t_address",
3288 "typeString": "address"
3289 }
3290 ],
3291 "id": 9036,
3292 "name": "isContract",
3293 "nodeType": "Identifier",
3294 "overloadedDeclarations": [],
3295 "referencedDeclaration": 10007,
3296 "src": "3358:10:33",
3297 "typeDescriptions": {
3298 "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
3299 "typeString": "function (address) view returns (bool)"
3300 }
3301 },
3302 "id": 9039,
3303 "isConstant": false,
3304 "isLValue": false,
3305 "isPure": false,
3306 "kind": "functionCall",
3307 "lValueRequested": false,
3308 "names": [],
3309 "nodeType": "FunctionCall",
3310 "src": "3358:22:33",
3311 "typeDescriptions": {
3312 "typeIdentifier": "t_bool",
3313 "typeString": "bool"
3314 }
3315 },
3316 "nodeType": "VariableDeclarationStatement",
3317 "src": "3333:47:33"
3318 },
3319 {
3320 "condition": {
3321 "argumentTypes": null,
3322 "commonType": {
3323 "typeIdentifier": "t_uint256",
3324 "typeString": "uint256"
3325 },
3326 "id": 9043,
3327 "isConstant": false,
3328 "isLValue": false,
3329 "isPure": false,
3330 "lValueRequested": false,
3331 "leftExpression": {
3332 "argumentTypes": null,
3333 "id": 9041,
3334 "name": "dots",
3335 "nodeType": "Identifier",
3336 "overloadedDeclarations": [],
3337 "referencedDeclaration": 9019,
3338 "src": "3394:4:33",
3339 "typeDescriptions": {
3340 "typeIdentifier": "t_uint256",
3341 "typeString": "uint256"
3342 }
3343 },
3344 "nodeType": "BinaryOperation",
3345 "operator": ">=",
3346 "rightExpression": {
3347 "argumentTypes": null,
3348 "hexValue": "31",
3349 "id": 9042,
3350 "isConstant": false,
3351 "isLValue": false,
3352 "isPure": true,
3353 "kind": "number",
3354 "lValueRequested": false,
3355 "nodeType": "Literal",
3356 "src": "3402:1:33",
3357 "subdenomination": null,
3358 "typeDescriptions": {
3359 "typeIdentifier": "t_rational_1_by_1",
3360 "typeString": "int_const 1"
3361 },
3362 "value": "1"
3363 },
3364 "src": "3394:9:33",
3365 "typeDescriptions": {
3366 "typeIdentifier": "t_bool",
3367 "typeString": "bool"
3368 }
3369 },
3370 "falseBody": {
3371 "id": 9112,
3372 "nodeType": "Block",
3373 "src": "4008:88:33",
3374 "statements": [
3375 {
3376 "expression": {
3377 "argumentTypes": null,
3378 "arguments": [
3379 {
3380 "argumentTypes": null,
3381 "hexValue": "5375627363726962657220646f6573206e6f74206861766520616e7920646f74732e",
3382 "id": 9109,
3383 "isConstant": false,
3384 "isLValue": false,
3385 "isPure": true,
3386 "kind": "string",
3387 "lValueRequested": false,
3388 "nodeType": "Literal",
3389 "src": "4048:36:33",
3390 "subdenomination": null,
3391 "typeDescriptions": {
3392 "typeIdentifier": "t_stringliteral_e63a12d0d5028ae38d1656ee89c57de9b137d72d81a7322923acf5c7b71728fd",
3393 "typeString": "literal_string \"Subscriber does not have any dots.\""
3394 },
3395 "value": "Subscriber does not have any dots."
3396 }
3397 ],
3398 "expression": {
3399 "argumentTypes": [
3400 {
3401 "typeIdentifier": "t_stringliteral_e63a12d0d5028ae38d1656ee89c57de9b137d72d81a7322923acf5c7b71728fd",
3402 "typeString": "literal_string \"Subscriber does not have any dots.\""
3403 }
3404 ],
3405 "id": 9108,
3406 "name": "revert",
3407 "nodeType": "Identifier",
3408 "overloadedDeclarations": [
3409 12097,
3410 12098
3411 ],
3412 "referencedDeclaration": 12098,
3413 "src": "4041:6:33",
3414 "typeDescriptions": {
3415 "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
3416 "typeString": "function (string memory) pure"
3417 }
3418 },
3419 "id": 9110,
3420 "isConstant": false,
3421 "isLValue": false,
3422 "isPure": false,
3423 "kind": "functionCall",
3424 "lValueRequested": false,
3425 "names": [],
3426 "nodeType": "FunctionCall",
3427 "src": "4041:44:33",
3428 "typeDescriptions": {
3429 "typeIdentifier": "t_tuple$__$",
3430 "typeString": "tuple()"
3431 }
3432 },
3433 "id": 9111,
3434 "nodeType": "ExpressionStatement",
3435 "src": "4041:44:33"
3436 }
3437 ]
3438 },
3439 "id": 9113,
3440 "nodeType": "IfStatement",
3441 "src": "3390:706:33",
3442 "trueBody": {
3443 "id": 9107,
3444 "nodeType": "Block",
3445 "src": "3405:597:33",
3446 "statements": [
3447 {
3448 "expression": {
3449 "argumentTypes": null,
3450 "arguments": [
3451 {
3452 "argumentTypes": null,
3453 "expression": {
3454 "argumentTypes": null,
3455 "id": 9047,
3456 "name": "msg",
3457 "nodeType": "Identifier",
3458 "overloadedDeclarations": [],
3459 "referencedDeclaration": 12092,
3460 "src": "3464:3:33",
3461 "typeDescriptions": {
3462 "typeIdentifier": "t_magic_message",
3463 "typeString": "msg"
3464 }
3465 },
3466 "id": 9048,
3467 "isConstant": false,
3468 "isLValue": false,
3469 "isPure": false,
3470 "lValueRequested": false,
3471 "memberName": "sender",
3472 "nodeType": "MemberAccess",
3473 "referencedDeclaration": null,
3474 "src": "3464:10:33",
3475 "typeDescriptions": {
3476 "typeIdentifier": "t_address",
3477 "typeString": "address"
3478 }
3479 },
3480 {
3481 "argumentTypes": null,
3482 "id": 9049,
3483 "name": "provider",
3484 "nodeType": "Identifier",
3485 "overloadedDeclarations": [],
3486 "referencedDeclaration": 9006,
3487 "src": "3476:8:33",
3488 "typeDescriptions": {
3489 "typeIdentifier": "t_address",
3490 "typeString": "address"
3491 }
3492 },
3493 {
3494 "argumentTypes": null,
3495 "id": 9050,
3496 "name": "endpoint",
3497 "nodeType": "Identifier",
3498 "overloadedDeclarations": [],
3499 "referencedDeclaration": 9010,
3500 "src": "3486:8:33",
3501 "typeDescriptions": {
3502 "typeIdentifier": "t_bytes32",
3503 "typeString": "bytes32"
3504 }
3505 },
3506 {
3507 "argumentTypes": null,
3508 "hexValue": "31",
3509 "id": 9051,
3510 "isConstant": false,
3511 "isLValue": false,
3512 "isPure": true,
3513 "kind": "number",
3514 "lValueRequested": false,
3515 "nodeType": "Literal",
3516 "src": "3496:1:33",
3517 "subdenomination": null,
3518 "typeDescriptions": {
3519 "typeIdentifier": "t_rational_1_by_1",
3520 "typeString": "int_const 1"
3521 },
3522 "value": "1"
3523 }
3524 ],
3525 "expression": {
3526 "argumentTypes": [
3527 {
3528 "typeIdentifier": "t_address",
3529 "typeString": "address"
3530 },
3531 {
3532 "typeIdentifier": "t_address",
3533 "typeString": "address"
3534 },
3535 {
3536 "typeIdentifier": "t_bytes32",
3537 "typeString": "bytes32"
3538 },
3539 {
3540 "typeIdentifier": "t_rational_1_by_1",
3541 "typeString": "int_const 1"
3542 }
3543 ],
3544 "expression": {
3545 "argumentTypes": null,
3546 "id": 9044,
3547 "name": "bondage",
3548 "nodeType": "Identifier",
3549 "overloadedDeclarations": [],
3550 "referencedDeclaration": 8961,
3551 "src": "3445:7:33",
3552 "typeDescriptions": {
3553 "typeIdentifier": "t_contract$_BondageInterface_$7926",
3554 "typeString": "contract BondageInterface"
3555 }
3556 },
3557 "id": 9046,
3558 "isConstant": false,
3559 "isLValue": false,
3560 "isPure": false,
3561 "lValueRequested": false,
3562 "memberName": "escrowDots",
3563 "nodeType": "MemberAccess",
3564 "referencedDeclaration": 7839,
3565 "src": "3445:18:33",
3566 "typeDescriptions": {
3567 "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$returns$_t_bool_$",
3568 "typeString": "function (address,address,bytes32,uint256) external returns (bool)"
3569 }
3570 },
3571 "id": 9052,
3572 "isConstant": false,
3573 "isLValue": false,
3574 "isPure": false,
3575 "kind": "functionCall",
3576 "lValueRequested": false,
3577 "names": [],
3578 "nodeType": "FunctionCall",
3579 "src": "3445:53:33",
3580 "typeDescriptions": {
3581 "typeIdentifier": "t_bool",
3582 "typeString": "bool"
3583 }
3584 },
3585 "id": 9053,
3586 "nodeType": "ExpressionStatement",
3587 "src": "3445:53:33"
3588 },
3589 {
3590 "expression": {
3591 "argumentTypes": null,
3592 "id": 9069,
3593 "isConstant": false,
3594 "isLValue": false,
3595 "isPure": false,
3596 "lValueRequested": false,
3597 "leftHandSide": {
3598 "argumentTypes": null,
3599 "id": 9054,
3600 "name": "id",
3601 "nodeType": "Identifier",
3602 "overloadedDeclarations": [],
3603 "referencedDeclaration": 9016,
3604 "src": "3513:2:33",
3605 "typeDescriptions": {
3606 "typeIdentifier": "t_uint256",
3607 "typeString": "uint256"
3608 }
3609 },
3610 "nodeType": "Assignment",
3611 "operator": "=",
3612 "rightHandSide": {
3613 "argumentTypes": null,
3614 "arguments": [
3615 {
3616 "argumentTypes": null,
3617 "arguments": [
3618 {
3619 "argumentTypes": null,
3620 "arguments": [
3621 {
3622 "argumentTypes": null,
3623 "expression": {
3624 "argumentTypes": null,
3625 "id": 9059,
3626 "name": "block",
3627 "nodeType": "Identifier",
3628 "overloadedDeclarations": [],
3629 "referencedDeclaration": 12082,
3630 "src": "3553:5:33",
3631 "typeDescriptions": {
3632 "typeIdentifier": "t_magic_block",
3633 "typeString": "block"
3634 }
3635 },
3636 "id": 9060,
3637 "isConstant": false,
3638 "isLValue": false,
3639 "isPure": false,
3640 "lValueRequested": false,
3641 "memberName": "number",
3642 "nodeType": "MemberAccess",
3643 "referencedDeclaration": null,
3644 "src": "3553:12:33",
3645 "typeDescriptions": {
3646 "typeIdentifier": "t_uint256",
3647 "typeString": "uint256"
3648 }
3649 },
3650 {
3651 "argumentTypes": null,
3652 "id": 9061,
3653 "name": "now",
3654 "nodeType": "Identifier",
3655 "overloadedDeclarations": [],
3656 "referencedDeclaration": 12094,
3657 "src": "3567:3:33",
3658 "typeDescriptions": {
3659 "typeIdentifier": "t_uint256",
3660 "typeString": "uint256"
3661 }
3662 },
3663 {
3664 "argumentTypes": null,
3665 "id": 9062,
3666 "name": "userQuery",
3667 "nodeType": "Identifier",
3668 "overloadedDeclarations": [],
3669 "referencedDeclaration": 9008,
3670 "src": "3572:9:33",
3671 "typeDescriptions": {
3672 "typeIdentifier": "t_string_calldata_ptr",
3673 "typeString": "string calldata"
3674 }
3675 },
3676 {
3677 "argumentTypes": null,
3678 "expression": {
3679 "argumentTypes": null,
3680 "id": 9063,
3681 "name": "msg",
3682 "nodeType": "Identifier",
3683 "overloadedDeclarations": [],
3684 "referencedDeclaration": 12092,
3685 "src": "3583:3:33",
3686 "typeDescriptions": {
3687 "typeIdentifier": "t_magic_message",
3688 "typeString": "msg"
3689 }
3690 },
3691 "id": 9064,
3692 "isConstant": false,
3693 "isLValue": false,
3694 "isPure": false,
3695 "lValueRequested": false,
3696 "memberName": "sender",
3697 "nodeType": "MemberAccess",
3698 "referencedDeclaration": null,
3699 "src": "3583:10:33",
3700 "typeDescriptions": {
3701 "typeIdentifier": "t_address",
3702 "typeString": "address"
3703 }
3704 },
3705 {
3706 "argumentTypes": null,
3707 "id": 9065,
3708 "name": "provider",
3709 "nodeType": "Identifier",
3710 "overloadedDeclarations": [],
3711 "referencedDeclaration": 9006,
3712 "src": "3595:8:33",
3713 "typeDescriptions": {
3714 "typeIdentifier": "t_address",
3715 "typeString": "address"
3716 }
3717 }
3718 ],
3719 "expression": {
3720 "argumentTypes": [
3721 {
3722 "typeIdentifier": "t_uint256",
3723 "typeString": "uint256"
3724 },
3725 {
3726 "typeIdentifier": "t_uint256",
3727 "typeString": "uint256"
3728 },
3729 {
3730 "typeIdentifier": "t_string_calldata_ptr",
3731 "typeString": "string calldata"
3732 },
3733 {
3734 "typeIdentifier": "t_address",
3735 "typeString": "address"
3736 },
3737 {
3738 "typeIdentifier": "t_address",
3739 "typeString": "address"
3740 }
3741 ],
3742 "expression": {
3743 "argumentTypes": null,
3744 "id": 9057,
3745 "name": "abi",
3746 "nodeType": "Identifier",
3747 "overloadedDeclarations": [],
3748 "referencedDeclaration": 12079,
3749 "src": "3536:3:33",
3750 "typeDescriptions": {
3751 "typeIdentifier": "t_magic_abi",
3752 "typeString": "abi"
3753 }
3754 },
3755 "id": 9058,
3756 "isConstant": false,
3757 "isLValue": false,
3758 "isPure": true,
3759 "lValueRequested": false,
3760 "memberName": "encodePacked",
3761 "nodeType": "MemberAccess",
3762 "referencedDeclaration": null,
3763 "src": "3536:16:33",
3764 "typeDescriptions": {
3765 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
3766 "typeString": "function () pure returns (bytes memory)"
3767 }
3768 },
3769 "id": 9066,
3770 "isConstant": false,
3771 "isLValue": false,
3772 "isPure": false,
3773 "kind": "functionCall",
3774 "lValueRequested": false,
3775 "names": [],
3776 "nodeType": "FunctionCall",
3777 "src": "3536:68:33",
3778 "typeDescriptions": {
3779 "typeIdentifier": "t_bytes_memory_ptr",
3780 "typeString": "bytes memory"
3781 }
3782 }
3783 ],
3784 "expression": {
3785 "argumentTypes": [
3786 {
3787 "typeIdentifier": "t_bytes_memory_ptr",
3788 "typeString": "bytes memory"
3789 }
3790 ],
3791 "id": 9056,
3792 "name": "keccak256",
3793 "nodeType": "Identifier",
3794 "overloadedDeclarations": [],
3795 "referencedDeclaration": 12086,
3796 "src": "3526:9:33",
3797 "typeDescriptions": {
3798 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
3799 "typeString": "function () pure returns (bytes32)"
3800 }
3801 },
3802 "id": 9067,
3803 "isConstant": false,
3804 "isLValue": false,
3805 "isPure": false,
3806 "kind": "functionCall",
3807 "lValueRequested": false,
3808 "names": [],
3809 "nodeType": "FunctionCall",
3810 "src": "3526:79:33",
3811 "typeDescriptions": {
3812 "typeIdentifier": "t_bytes32",
3813 "typeString": "bytes32"
3814 }
3815 }
3816 ],
3817 "expression": {
3818 "argumentTypes": [
3819 {
3820 "typeIdentifier": "t_bytes32",
3821 "typeString": "bytes32"
3822 }
3823 ],
3824 "id": 9055,
3825 "isConstant": false,
3826 "isLValue": false,
3827 "isPure": true,
3828 "lValueRequested": false,
3829 "nodeType": "ElementaryTypeNameExpression",
3830 "src": "3518:7:33",
3831 "typeDescriptions": {
3832 "typeIdentifier": "t_type$_t_uint256_$",
3833 "typeString": "type(uint256)"
3834 },
3835 "typeName": "uint256"
3836 },
3837 "id": 9068,
3838 "isConstant": false,
3839 "isLValue": false,
3840 "isPure": false,
3841 "kind": "typeConversion",
3842 "lValueRequested": false,
3843 "names": [],
3844 "nodeType": "FunctionCall",
3845 "src": "3518:88:33",
3846 "typeDescriptions": {
3847 "typeIdentifier": "t_uint256",
3848 "typeString": "uint256"
3849 }
3850 },
3851 "src": "3513:93:33",
3852 "typeDescriptions": {
3853 "typeIdentifier": "t_uint256",
3854 "typeString": "uint256"
3855 }
3856 },
3857 "id": 9070,
3858 "nodeType": "ExpressionStatement",
3859 "src": "3513:93:33"
3860 },
3861 {
3862 "expression": {
3863 "argumentTypes": null,
3864 "arguments": [
3865 {
3866 "argumentTypes": null,
3867 "id": 9072,
3868 "name": "id",
3869 "nodeType": "Identifier",
3870 "overloadedDeclarations": [],
3871 "referencedDeclaration": 9016,
3872 "src": "3633:2:33",
3873 "typeDescriptions": {
3874 "typeIdentifier": "t_uint256",
3875 "typeString": "uint256"
3876 }
3877 },
3878 {
3879 "argumentTypes": null,
3880 "id": 9073,
3881 "name": "provider",
3882 "nodeType": "Identifier",
3883 "overloadedDeclarations": [],
3884 "referencedDeclaration": 9006,
3885 "src": "3637:8:33",
3886 "typeDescriptions": {
3887 "typeIdentifier": "t_address",
3888 "typeString": "address"
3889 }
3890 },
3891 {
3892 "argumentTypes": null,
3893 "expression": {
3894 "argumentTypes": null,
3895 "id": 9074,
3896 "name": "msg",
3897 "nodeType": "Identifier",
3898 "overloadedDeclarations": [],
3899 "referencedDeclaration": 12092,
3900 "src": "3647:3:33",
3901 "typeDescriptions": {
3902 "typeIdentifier": "t_magic_message",
3903 "typeString": "msg"
3904 }
3905 },
3906 "id": 9075,
3907 "isConstant": false,
3908 "isLValue": false,
3909 "isPure": false,
3910 "lValueRequested": false,
3911 "memberName": "sender",
3912 "nodeType": "MemberAccess",
3913 "referencedDeclaration": null,
3914 "src": "3647:10:33",
3915 "typeDescriptions": {
3916 "typeIdentifier": "t_address",
3917 "typeString": "address"
3918 }
3919 },
3920 {
3921 "argumentTypes": null,
3922 "id": 9076,
3923 "name": "endpoint",
3924 "nodeType": "Identifier",
3925 "overloadedDeclarations": [],
3926 "referencedDeclaration": 9010,
3927 "src": "3659:8:33",
3928 "typeDescriptions": {
3929 "typeIdentifier": "t_bytes32",
3930 "typeString": "bytes32"
3931 }
3932 },
3933 {
3934 "argumentTypes": null,
3935 "id": 9077,
3936 "name": "userQuery",
3937 "nodeType": "Identifier",
3938 "overloadedDeclarations": [],
3939 "referencedDeclaration": 9008,
3940 "src": "3669:9:33",
3941 "typeDescriptions": {
3942 "typeIdentifier": "t_string_calldata_ptr",
3943 "typeString": "string calldata"
3944 }
3945 },
3946 {
3947 "argumentTypes": null,
3948 "id": 9078,
3949 "name": "onchainSubscriber",
3950 "nodeType": "Identifier",
3951 "overloadedDeclarations": [],
3952 "referencedDeclaration": 9035,
3953 "src": "3680:17:33",
3954 "typeDescriptions": {
3955 "typeIdentifier": "t_bool",
3956 "typeString": "bool"
3957 }
3958 }
3959 ],
3960 "expression": {
3961 "argumentTypes": [
3962 {
3963 "typeIdentifier": "t_uint256",
3964 "typeString": "uint256"
3965 },
3966 {
3967 "typeIdentifier": "t_address",
3968 "typeString": "address"
3969 },
3970 {
3971 "typeIdentifier": "t_address",
3972 "typeString": "address"
3973 },
3974 {
3975 "typeIdentifier": "t_bytes32",
3976 "typeString": "bytes32"
3977 },
3978 {
3979 "typeIdentifier": "t_string_calldata_ptr",
3980 "typeString": "string calldata"
3981 },
3982 {
3983 "typeIdentifier": "t_bool",
3984 "typeString": "bool"
3985 }
3986 ],
3987 "id": 9071,
3988 "name": "createQuery",
3989 "nodeType": "Identifier",
3990 "overloadedDeclarations": [],
3991 "referencedDeclaration": 9893,
3992 "src": "3621:11:33",
3993 "typeDescriptions": {
3994 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_bytes32_$_t_string_memory_ptr_$_t_bool_$returns$__$",
3995 "typeString": "function (uint256,address,address,bytes32,string memory,bool)"
3996 }
3997 },
3998 "id": 9079,
3999 "isConstant": false,
4000 "isLValue": false,
4001 "isPure": false,
4002 "kind": "functionCall",
4003 "lValueRequested": false,
4004 "names": [],
4005 "nodeType": "FunctionCall",
4006 "src": "3621:77:33",
4007 "typeDescriptions": {
4008 "typeIdentifier": "t_tuple$__$",
4009 "typeString": "tuple()"
4010 }
4011 },
4012 "id": 9080,
4013 "nodeType": "ExpressionStatement",
4014 "src": "3621:77:33"
4015 },
4016 {
4017 "condition": {
4018 "argumentTypes": null,
4019 "id": 9081,
4020 "name": "onchainProvider",
4021 "nodeType": "Identifier",
4022 "overloadedDeclarations": [],
4023 "referencedDeclaration": 9029,
4024 "src": "3716:15:33",
4025 "typeDescriptions": {
4026 "typeIdentifier": "t_bool",
4027 "typeString": "bool"
4028 }
4029 },
4030 "falseBody": {
4031 "id": 9105,
4032 "nodeType": "Block",
4033 "src": "3864:128:33",
4034 "statements": [
4035 {
4036 "eventCall": {
4037 "argumentTypes": null,
4038 "arguments": [
4039 {
4040 "argumentTypes": null,
4041 "id": 9095,
4042 "name": "id",
4043 "nodeType": "Identifier",
4044 "overloadedDeclarations": [],
4045 "referencedDeclaration": 9016,
4046 "src": "3896:2:33",
4047 "typeDescriptions": {
4048 "typeIdentifier": "t_uint256",
4049 "typeString": "uint256"
4050 }
4051 },
4052 {
4053 "argumentTypes": null,
4054 "id": 9096,
4055 "name": "provider",
4056 "nodeType": "Identifier",
4057 "overloadedDeclarations": [],
4058 "referencedDeclaration": 9006,
4059 "src": "3900:8:33",
4060 "typeDescriptions": {
4061 "typeIdentifier": "t_address",
4062 "typeString": "address"
4063 }
4064 },
4065 {
4066 "argumentTypes": null,
4067 "expression": {
4068 "argumentTypes": null,
4069 "id": 9097,
4070 "name": "msg",
4071 "nodeType": "Identifier",
4072 "overloadedDeclarations": [],
4073 "referencedDeclaration": 12092,
4074 "src": "3910:3:33",
4075 "typeDescriptions": {
4076 "typeIdentifier": "t_magic_message",
4077 "typeString": "msg"
4078 }
4079 },
4080 "id": 9098,
4081 "isConstant": false,
4082 "isLValue": false,
4083 "isPure": false,
4084 "lValueRequested": false,
4085 "memberName": "sender",
4086 "nodeType": "MemberAccess",
4087 "referencedDeclaration": null,
4088 "src": "3910:10:33",
4089 "typeDescriptions": {
4090 "typeIdentifier": "t_address",
4091 "typeString": "address"
4092 }
4093 },
4094 {
4095 "argumentTypes": null,
4096 "id": 9099,
4097 "name": "userQuery",
4098 "nodeType": "Identifier",
4099 "overloadedDeclarations": [],
4100 "referencedDeclaration": 9008,
4101 "src": "3922:9:33",
4102 "typeDescriptions": {
4103 "typeIdentifier": "t_string_calldata_ptr",
4104 "typeString": "string calldata"
4105 }
4106 },
4107 {
4108 "argumentTypes": null,
4109 "id": 9100,
4110 "name": "endpoint",
4111 "nodeType": "Identifier",
4112 "overloadedDeclarations": [],
4113 "referencedDeclaration": 9010,
4114 "src": "3933:8:33",
4115 "typeDescriptions": {
4116 "typeIdentifier": "t_bytes32",
4117 "typeString": "bytes32"
4118 }
4119 },
4120 {
4121 "argumentTypes": null,
4122 "id": 9101,
4123 "name": "endpointParams",
4124 "nodeType": "Identifier",
4125 "overloadedDeclarations": [],
4126 "referencedDeclaration": 9013,
4127 "src": "3943:14:33",
4128 "typeDescriptions": {
4129 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
4130 "typeString": "bytes32[] calldata"
4131 }
4132 },
4133 {
4134 "argumentTypes": null,
4135 "id": 9102,
4136 "name": "onchainSubscriber",
4137 "nodeType": "Identifier",
4138 "overloadedDeclarations": [],
4139 "referencedDeclaration": 9035,
4140 "src": "3959:17:33",
4141 "typeDescriptions": {
4142 "typeIdentifier": "t_bool",
4143 "typeString": "bool"
4144 }
4145 }
4146 ],
4147 "expression": {
4148 "argumentTypes": [
4149 {
4150 "typeIdentifier": "t_uint256",
4151 "typeString": "uint256"
4152 },
4153 {
4154 "typeIdentifier": "t_address",
4155 "typeString": "address"
4156 },
4157 {
4158 "typeIdentifier": "t_address",
4159 "typeString": "address"
4160 },
4161 {
4162 "typeIdentifier": "t_string_calldata_ptr",
4163 "typeString": "string calldata"
4164 },
4165 {
4166 "typeIdentifier": "t_bytes32",
4167 "typeString": "bytes32"
4168 },
4169 {
4170 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
4171 "typeString": "bytes32[] calldata"
4172 },
4173 {
4174 "typeIdentifier": "t_bool",
4175 "typeString": "bool"
4176 }
4177 ],
4178 "id": 9094,
4179 "name": "Incoming",
4180 "nodeType": "Identifier",
4181 "overloadedDeclarations": [],
4182 "referencedDeclaration": 8861,
4183 "src": "3887:8:33",
4184 "typeDescriptions": {
4185 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_bytes32_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bool_$returns$__$",
4186 "typeString": "function (uint256,address,address,string memory,bytes32,bytes32[] memory,bool)"
4187 }
4188 },
4189 "id": 9103,
4190 "isConstant": false,
4191 "isLValue": false,
4192 "isPure": false,
4193 "kind": "functionCall",
4194 "lValueRequested": false,
4195 "names": [],
4196 "nodeType": "FunctionCall",
4197 "src": "3887:90:33",
4198 "typeDescriptions": {
4199 "typeIdentifier": "t_tuple$__$",
4200 "typeString": "tuple()"
4201 }
4202 },
4203 "id": 9104,
4204 "nodeType": "EmitStatement",
4205 "src": "3882:95:33"
4206 }
4207 ]
4208 },
4209 "id": 9106,
4210 "nodeType": "IfStatement",
4211 "src": "3712:280:33",
4212 "trueBody": {
4213 "id": 9093,
4214 "nodeType": "Block",
4215 "src": "3733:126:33",
4216 "statements": [
4217 {
4218 "expression": {
4219 "argumentTypes": null,
4220 "arguments": [
4221 {
4222 "argumentTypes": null,
4223 "id": 9086,
4224 "name": "id",
4225 "nodeType": "Identifier",
4226 "overloadedDeclarations": [],
4227 "referencedDeclaration": 9016,
4228 "src": "3785:2:33",
4229 "typeDescriptions": {
4230 "typeIdentifier": "t_uint256",
4231 "typeString": "uint256"
4232 }
4233 },
4234 {
4235 "argumentTypes": null,
4236 "id": 9087,
4237 "name": "userQuery",
4238 "nodeType": "Identifier",
4239 "overloadedDeclarations": [],
4240 "referencedDeclaration": 9008,
4241 "src": "3789:9:33",
4242 "typeDescriptions": {
4243 "typeIdentifier": "t_string_calldata_ptr",
4244 "typeString": "string calldata"
4245 }
4246 },
4247 {
4248 "argumentTypes": null,
4249 "id": 9088,
4250 "name": "endpoint",
4251 "nodeType": "Identifier",
4252 "overloadedDeclarations": [],
4253 "referencedDeclaration": 9010,
4254 "src": "3800:8:33",
4255 "typeDescriptions": {
4256 "typeIdentifier": "t_bytes32",
4257 "typeString": "bytes32"
4258 }
4259 },
4260 {
4261 "argumentTypes": null,
4262 "id": 9089,
4263 "name": "endpointParams",
4264 "nodeType": "Identifier",
4265 "overloadedDeclarations": [],
4266 "referencedDeclaration": 9013,
4267 "src": "3810:14:33",
4268 "typeDescriptions": {
4269 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
4270 "typeString": "bytes32[] calldata"
4271 }
4272 },
4273 {
4274 "argumentTypes": null,
4275 "id": 9090,
4276 "name": "onchainSubscriber",
4277 "nodeType": "Identifier",
4278 "overloadedDeclarations": [],
4279 "referencedDeclaration": 9035,
4280 "src": "3826:17:33",
4281 "typeDescriptions": {
4282 "typeIdentifier": "t_bool",
4283 "typeString": "bool"
4284 }
4285 }
4286 ],
4287 "expression": {
4288 "argumentTypes": [
4289 {
4290 "typeIdentifier": "t_uint256",
4291 "typeString": "uint256"
4292 },
4293 {
4294 "typeIdentifier": "t_string_calldata_ptr",
4295 "typeString": "string calldata"
4296 },
4297 {
4298 "typeIdentifier": "t_bytes32",
4299 "typeString": "bytes32"
4300 },
4301 {
4302 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
4303 "typeString": "bytes32[] calldata"
4304 },
4305 {
4306 "typeIdentifier": "t_bool",
4307 "typeString": "bool"
4308 }
4309 ],
4310 "expression": {
4311 "argumentTypes": null,
4312 "arguments": [
4313 {
4314 "argumentTypes": null,
4315 "id": 9083,
4316 "name": "provider",
4317 "nodeType": "Identifier",
4318 "overloadedDeclarations": [],
4319 "referencedDeclaration": 9006,
4320 "src": "3767:8:33",
4321 "typeDescriptions": {
4322 "typeIdentifier": "t_address",
4323 "typeString": "address"
4324 }
4325 }
4326 ],
4327 "expression": {
4328 "argumentTypes": [
4329 {
4330 "typeIdentifier": "t_address",
4331 "typeString": "address"
4332 }
4333 ],
4334 "id": 9082,
4335 "name": "OnChainProvider",
4336 "nodeType": "Identifier",
4337 "overloadedDeclarations": [],
4338 "referencedDeclaration": 1826,
4339 "src": "3751:15:33",
4340 "typeDescriptions": {
4341 "typeIdentifier": "t_type$_t_contract$_OnChainProvider_$1826_$",
4342 "typeString": "type(contract OnChainProvider)"
4343 }
4344 },
4345 "id": 9084,
4346 "isConstant": false,
4347 "isLValue": false,
4348 "isPure": false,
4349 "kind": "typeConversion",
4350 "lValueRequested": false,
4351 "names": [],
4352 "nodeType": "FunctionCall",
4353 "src": "3751:25:33",
4354 "typeDescriptions": {
4355 "typeIdentifier": "t_contract$_OnChainProvider_$1826",
4356 "typeString": "contract OnChainProvider"
4357 }
4358 },
4359 "id": 9085,
4360 "isConstant": false,
4361 "isLValue": false,
4362 "isPure": false,
4363 "lValueRequested": false,
4364 "memberName": "receive",
4365 "nodeType": "MemberAccess",
4366 "referencedDeclaration": 1825,
4367 "src": "3751:33:33",
4368 "typeDescriptions": {
4369 "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_bytes32_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bool_$returns$__$",
4370 "typeString": "function (uint256,string memory,bytes32,bytes32[] memory,bool) external"
4371 }
4372 },
4373 "id": 9091,
4374 "isConstant": false,
4375 "isLValue": false,
4376 "isPure": false,
4377 "kind": "functionCall",
4378 "lValueRequested": false,
4379 "names": [],
4380 "nodeType": "FunctionCall",
4381 "src": "3751:93:33",
4382 "typeDescriptions": {
4383 "typeIdentifier": "t_tuple$__$",
4384 "typeString": "tuple()"
4385 }
4386 },
4387 "id": 9092,
4388 "nodeType": "ExpressionStatement",
4389 "src": "3751:93:33"
4390 }
4391 ]
4392 }
4393 }
4394 ]
4395 }
4396 }
4397 ]
4398 },
4399 "documentation": "@notice Escrow dot for oracle request\n @dev Called by user contract",
4400 "id": 9115,
4401 "implemented": true,
4402 "isConstructor": false,
4403 "isDeclaredConst": false,
4404 "modifiers": [],
4405 "name": "query",
4406 "nodeType": "FunctionDefinition",
4407 "parameters": {
4408 "id": 9014,
4409 "nodeType": "ParameterList",
4410 "parameters": [
4411 {
4412 "constant": false,
4413 "id": 9006,
4414 "name": "provider",
4415 "nodeType": "VariableDeclaration",
4416 "scope": 9115,
4417 "src": "2885:16:33",
4418 "stateVariable": false,
4419 "storageLocation": "default",
4420 "typeDescriptions": {
4421 "typeIdentifier": "t_address",
4422 "typeString": "address"
4423 },
4424 "typeName": {
4425 "id": 9005,
4426 "name": "address",
4427 "nodeType": "ElementaryTypeName",
4428 "src": "2885:7:33",
4429 "typeDescriptions": {
4430 "typeIdentifier": "t_address",
4431 "typeString": "address"
4432 }
4433 },
4434 "value": null,
4435 "visibility": "internal"
4436 },
4437 {
4438 "constant": false,
4439 "id": 9008,
4440 "name": "userQuery",
4441 "nodeType": "VariableDeclaration",
4442 "scope": 9115,
4443 "src": "2946:16:33",
4444 "stateVariable": false,
4445 "storageLocation": "default",
4446 "typeDescriptions": {
4447 "typeIdentifier": "t_string_calldata_ptr",
4448 "typeString": "string"
4449 },
4450 "typeName": {
4451 "id": 9007,
4452 "name": "string",
4453 "nodeType": "ElementaryTypeName",
4454 "src": "2946:6:33",
4455 "typeDescriptions": {
4456 "typeIdentifier": "t_string_storage_ptr",
4457 "typeString": "string"
4458 }
4459 },
4460 "value": null,
4461 "visibility": "internal"
4462 },
4463 {
4464 "constant": false,
4465 "id": 9010,
4466 "name": "endpoint",
4467 "nodeType": "VariableDeclaration",
4468 "scope": 9115,
4469 "src": "2998:16:33",
4470 "stateVariable": false,
4471 "storageLocation": "default",
4472 "typeDescriptions": {
4473 "typeIdentifier": "t_bytes32",
4474 "typeString": "bytes32"
4475 },
4476 "typeName": {
4477 "id": 9009,
4478 "name": "bytes32",
4479 "nodeType": "ElementaryTypeName",
4480 "src": "2998:7:33",
4481 "typeDescriptions": {
4482 "typeIdentifier": "t_bytes32",
4483 "typeString": "bytes32"
4484 }
4485 },
4486 "value": null,
4487 "visibility": "internal"
4488 },
4489 {
4490 "constant": false,
4491 "id": 9013,
4492 "name": "endpointParams",
4493 "nodeType": "VariableDeclaration",
4494 "scope": 9115,
4495 "src": "3077:24:33",
4496 "stateVariable": false,
4497 "storageLocation": "default",
4498 "typeDescriptions": {
4499 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
4500 "typeString": "bytes32[]"
4501 },
4502 "typeName": {
4503 "baseType": {
4504 "id": 9011,
4505 "name": "bytes32",
4506 "nodeType": "ElementaryTypeName",
4507 "src": "3077:7:33",
4508 "typeDescriptions": {
4509 "typeIdentifier": "t_bytes32",
4510 "typeString": "bytes32"
4511 }
4512 },
4513 "id": 9012,
4514 "length": null,
4515 "nodeType": "ArrayTypeName",
4516 "src": "3077:9:33",
4517 "typeDescriptions": {
4518 "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
4519 "typeString": "bytes32[]"
4520 }
4521 },
4522 "value": null,
4523 "visibility": "internal"
4524 }
4525 ],
4526 "src": "2875:267:33"
4527 },
4528 "payable": false,
4529 "returnParameters": {
4530 "id": 9017,
4531 "nodeType": "ParameterList",
4532 "parameters": [
4533 {
4534 "constant": false,
4535 "id": 9016,
4536 "name": "id",
4537 "nodeType": "VariableDeclaration",
4538 "scope": 9115,
4539 "src": "3177:10:33",
4540 "stateVariable": false,
4541 "storageLocation": "default",
4542 "typeDescriptions": {
4543 "typeIdentifier": "t_uint256",
4544 "typeString": "uint256"
4545 },
4546 "typeName": {
4547 "id": 9015,
4548 "name": "uint256",
4549 "nodeType": "ElementaryTypeName",
4550 "src": "3177:7:33",
4551 "typeDescriptions": {
4552 "typeIdentifier": "t_uint256",
4553 "typeString": "uint256"
4554 }
4555 },
4556 "value": null,
4557 "visibility": "internal"
4558 }
4559 ],
4560 "src": "3176:12:33"
4561 },
4562 "scope": 10008,
4563 "src": "2861:1241:33",
4564 "stateMutability": "nonpayable",
4565 "superFunction": 10024,
4566 "visibility": "external"
4567 },
4568 {
4569 "body": {
4570 "id": 9217,
4571 "nodeType": "Block",
4572 "src": "4329:1012:33",
4573 "statements": [
4574 {
4575 "assignments": [
4576 9123
4577 ],
4578 "declarations": [
4579 {
4580 "constant": false,
4581 "id": 9123,
4582 "name": "status",
4583 "nodeType": "VariableDeclaration",
4584 "scope": 9218,
4585 "src": "4339:13:33",
4586 "stateVariable": false,
4587 "storageLocation": "default",
4588 "typeDescriptions": {
4589 "typeIdentifier": "t_enum$_Status_$8844",
4590 "typeString": "enum Dispatch.Status"
4591 },
4592 "typeName": {
4593 "contractScope": null,
4594 "id": 9122,
4595 "name": "Status",
4596 "nodeType": "UserDefinedTypeName",
4597 "referencedDeclaration": 8844,
4598 "src": "4339:6:33",
4599 "typeDescriptions": {
4600 "typeIdentifier": "t_enum$_Status_$8844",
4601 "typeString": "enum Dispatch.Status"
4602 }
4603 },
4604 "value": null,
4605 "visibility": "internal"
4606 }
4607 ],
4608 "id": 9129,
4609 "initialValue": {
4610 "argumentTypes": null,
4611 "arguments": [
4612 {
4613 "argumentTypes": null,
4614 "arguments": [
4615 {
4616 "argumentTypes": null,
4617 "id": 9126,
4618 "name": "id",
4619 "nodeType": "Identifier",
4620 "overloadedDeclarations": [],
4621 "referencedDeclaration": 9117,
4622 "src": "4372:2:33",
4623 "typeDescriptions": {
4624 "typeIdentifier": "t_uint256",
4625 "typeString": "uint256"
4626 }
4627 }
4628 ],
4629 "expression": {
4630 "argumentTypes": [
4631 {
4632 "typeIdentifier": "t_uint256",
4633 "typeString": "uint256"
4634 }
4635 ],
4636 "id": 9125,
4637 "name": "getStatus",
4638 "nodeType": "Identifier",
4639 "overloadedDeclarations": [
4640 9714
4641 ],
4642 "referencedDeclaration": 9714,
4643 "src": "4362:9:33",
4644 "typeDescriptions": {
4645 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$",
4646 "typeString": "function (uint256) view returns (uint256)"
4647 }
4648 },
4649 "id": 9127,
4650 "isConstant": false,
4651 "isLValue": false,
4652 "isPure": false,
4653 "kind": "functionCall",
4654 "lValueRequested": false,
4655 "names": [],
4656 "nodeType": "FunctionCall",
4657 "src": "4362:13:33",
4658 "typeDescriptions": {
4659 "typeIdentifier": "t_uint256",
4660 "typeString": "uint256"
4661 }
4662 }
4663 ],
4664 "expression": {
4665 "argumentTypes": [
4666 {
4667 "typeIdentifier": "t_uint256",
4668 "typeString": "uint256"
4669 }
4670 ],
4671 "id": 9124,
4672 "name": "Status",
4673 "nodeType": "Identifier",
4674 "overloadedDeclarations": [],
4675 "referencedDeclaration": 8844,
4676 "src": "4355:6:33",
4677 "typeDescriptions": {
4678 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
4679 "typeString": "type(enum Dispatch.Status)"
4680 }
4681 },
4682 "id": 9128,
4683 "isConstant": false,
4684 "isLValue": false,
4685 "isPure": false,
4686 "kind": "typeConversion",
4687 "lValueRequested": false,
4688 "names": [],
4689 "nodeType": "FunctionCall",
4690 "src": "4355:21:33",
4691 "typeDescriptions": {
4692 "typeIdentifier": "t_enum$_Status_$8844",
4693 "typeString": "enum Dispatch.Status"
4694 }
4695 },
4696 "nodeType": "VariableDeclarationStatement",
4697 "src": "4339:37:33"
4698 },
4699 {
4700 "expression": {
4701 "argumentTypes": null,
4702 "arguments": [
4703 {
4704 "argumentTypes": null,
4705 "commonType": {
4706 "typeIdentifier": "t_enum$_Status_$8844",
4707 "typeString": "enum Dispatch.Status"
4708 },
4709 "id": 9134,
4710 "isConstant": false,
4711 "isLValue": false,
4712 "isPure": false,
4713 "lValueRequested": false,
4714 "leftExpression": {
4715 "argumentTypes": null,
4716 "id": 9131,
4717 "name": "status",
4718 "nodeType": "Identifier",
4719 "overloadedDeclarations": [],
4720 "referencedDeclaration": 9123,
4721 "src": "4395:6:33",
4722 "typeDescriptions": {
4723 "typeIdentifier": "t_enum$_Status_$8844",
4724 "typeString": "enum Dispatch.Status"
4725 }
4726 },
4727 "nodeType": "BinaryOperation",
4728 "operator": "!=",
4729 "rightExpression": {
4730 "argumentTypes": null,
4731 "expression": {
4732 "argumentTypes": null,
4733 "id": 9132,
4734 "name": "Status",
4735 "nodeType": "Identifier",
4736 "overloadedDeclarations": [],
4737 "referencedDeclaration": 8844,
4738 "src": "4405:6:33",
4739 "typeDescriptions": {
4740 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
4741 "typeString": "type(enum Dispatch.Status)"
4742 }
4743 },
4744 "id": 9133,
4745 "isConstant": false,
4746 "isLValue": false,
4747 "isPure": true,
4748 "lValueRequested": false,
4749 "memberName": "Fulfilled",
4750 "nodeType": "MemberAccess",
4751 "referencedDeclaration": null,
4752 "src": "4405:16:33",
4753 "typeDescriptions": {
4754 "typeIdentifier": "t_enum$_Status_$8844",
4755 "typeString": "enum Dispatch.Status"
4756 }
4757 },
4758 "src": "4395:26:33",
4759 "typeDescriptions": {
4760 "typeIdentifier": "t_bool",
4761 "typeString": "bool"
4762 }
4763 },
4764 {
4765 "argumentTypes": null,
4766 "hexValue": "4572726f723a2053746174757320616c72656164792066756c66696c6c6564",
4767 "id": 9135,
4768 "isConstant": false,
4769 "isLValue": false,
4770 "isPure": true,
4771 "kind": "string",
4772 "lValueRequested": false,
4773 "nodeType": "Literal",
4774 "src": "4423:33:33",
4775 "subdenomination": null,
4776 "typeDescriptions": {
4777 "typeIdentifier": "t_stringliteral_1c5e07f241dc3876769a05356e413a5775addd59819452481acae43a879622b0",
4778 "typeString": "literal_string \"Error: Status already fulfilled\""
4779 },
4780 "value": "Error: Status already fulfilled"
4781 }
4782 ],
4783 "expression": {
4784 "argumentTypes": [
4785 {
4786 "typeIdentifier": "t_bool",
4787 "typeString": "bool"
4788 },
4789 {
4790 "typeIdentifier": "t_stringliteral_1c5e07f241dc3876769a05356e413a5775addd59819452481acae43a879622b0",
4791 "typeString": "literal_string \"Error: Status already fulfilled\""
4792 }
4793 ],
4794 "id": 9130,
4795 "name": "require",
4796 "nodeType": "Identifier",
4797 "overloadedDeclarations": [
4798 12095,
4799 12096
4800 ],
4801 "referencedDeclaration": 12096,
4802 "src": "4387:7:33",
4803 "typeDescriptions": {
4804 "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
4805 "typeString": "function (bool,string memory) pure"
4806 }
4807 },
4808 "id": 9136,
4809 "isConstant": false,
4810 "isLValue": false,
4811 "isPure": false,
4812 "kind": "functionCall",
4813 "lValueRequested": false,
4814 "names": [],
4815 "nodeType": "FunctionCall",
4816 "src": "4387:70:33",
4817 "typeDescriptions": {
4818 "typeIdentifier": "t_tuple$__$",
4819 "typeString": "tuple()"
4820 }
4821 },
4822 "id": 9137,
4823 "nodeType": "ExpressionStatement",
4824 "src": "4387:70:33"
4825 },
4826 {
4827 "assignments": [
4828 9139
4829 ],
4830 "declarations": [
4831 {
4832 "constant": false,
4833 "id": 9139,
4834 "name": "subscriber",
4835 "nodeType": "VariableDeclaration",
4836 "scope": 9218,
4837 "src": "4468:18:33",
4838 "stateVariable": false,
4839 "storageLocation": "default",
4840 "typeDescriptions": {
4841 "typeIdentifier": "t_address",
4842 "typeString": "address"
4843 },
4844 "typeName": {
4845 "id": 9138,
4846 "name": "address",
4847 "nodeType": "ElementaryTypeName",
4848 "src": "4468:7:33",
4849 "typeDescriptions": {
4850 "typeIdentifier": "t_address",
4851 "typeString": "address"
4852 }
4853 },
4854 "value": null,
4855 "visibility": "internal"
4856 }
4857 ],
4858 "id": 9143,
4859 "initialValue": {
4860 "argumentTypes": null,
4861 "arguments": [
4862 {
4863 "argumentTypes": null,
4864 "id": 9141,
4865 "name": "id",
4866 "nodeType": "Identifier",
4867 "overloadedDeclarations": [],
4868 "referencedDeclaration": 9117,
4869 "src": "4503:2:33",
4870 "typeDescriptions": {
4871 "typeIdentifier": "t_uint256",
4872 "typeString": "uint256"
4873 }
4874 }
4875 ],
4876 "expression": {
4877 "argumentTypes": [
4878 {
4879 "typeIdentifier": "t_uint256",
4880 "typeString": "uint256"
4881 }
4882 ],
4883 "id": 9140,
4884 "name": "getSubscriber",
4885 "nodeType": "Identifier",
4886 "overloadedDeclarations": [
4887 9674
4888 ],
4889 "referencedDeclaration": 9674,
4890 "src": "4489:13:33",
4891 "typeDescriptions": {
4892 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
4893 "typeString": "function (uint256) view returns (address)"
4894 }
4895 },
4896 "id": 9142,
4897 "isConstant": false,
4898 "isLValue": false,
4899 "isPure": false,
4900 "kind": "functionCall",
4901 "lValueRequested": false,
4902 "names": [],
4903 "nodeType": "FunctionCall",
4904 "src": "4489:17:33",
4905 "typeDescriptions": {
4906 "typeIdentifier": "t_address",
4907 "typeString": "address"
4908 }
4909 },
4910 "nodeType": "VariableDeclarationStatement",
4911 "src": "4468:38:33"
4912 },
4913 {
4914 "assignments": [
4915 9145
4916 ],
4917 "declarations": [
4918 {
4919 "constant": false,
4920 "id": 9145,
4921 "name": "provider",
4922 "nodeType": "VariableDeclaration",
4923 "scope": 9218,
4924 "src": "4516:16:33",
4925 "stateVariable": false,
4926 "storageLocation": "default",
4927 "typeDescriptions": {
4928 "typeIdentifier": "t_address",
4929 "typeString": "address"
4930 },
4931 "typeName": {
4932 "id": 9144,
4933 "name": "address",
4934 "nodeType": "ElementaryTypeName",
4935 "src": "4516:7:33",
4936 "typeDescriptions": {
4937 "typeIdentifier": "t_address",
4938 "typeString": "address"
4939 }
4940 },
4941 "value": null,
4942 "visibility": "internal"
4943 }
4944 ],
4945 "id": 9149,
4946 "initialValue": {
4947 "argumentTypes": null,
4948 "arguments": [
4949 {
4950 "argumentTypes": null,
4951 "id": 9147,
4952 "name": "id",
4953 "nodeType": "Identifier",
4954 "overloadedDeclarations": [],
4955 "referencedDeclaration": 9117,
4956 "src": "4547:2:33",
4957 "typeDescriptions": {
4958 "typeIdentifier": "t_uint256",
4959 "typeString": "uint256"
4960 }
4961 }
4962 ],
4963 "expression": {
4964 "argumentTypes": [
4965 {
4966 "typeIdentifier": "t_uint256",
4967 "typeString": "uint256"
4968 }
4969 ],
4970 "id": 9146,
4971 "name": "getProvider",
4972 "nodeType": "Identifier",
4973 "overloadedDeclarations": [
4974 9652
4975 ],
4976 "referencedDeclaration": 9652,
4977 "src": "4535:11:33",
4978 "typeDescriptions": {
4979 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
4980 "typeString": "function (uint256) view returns (address)"
4981 }
4982 },
4983 "id": 9148,
4984 "isConstant": false,
4985 "isLValue": false,
4986 "isPure": false,
4987 "kind": "functionCall",
4988 "lValueRequested": false,
4989 "names": [],
4990 "nodeType": "FunctionCall",
4991 "src": "4535:15:33",
4992 "typeDescriptions": {
4993 "typeIdentifier": "t_address",
4994 "typeString": "address"
4995 }
4996 },
4997 "nodeType": "VariableDeclarationStatement",
4998 "src": "4516:34:33"
4999 },
5000 {
5001 "assignments": [
5002 9151
5003 ],
5004 "declarations": [
5005 {
5006 "constant": false,
5007 "id": 9151,
5008 "name": "endpoint",
5009 "nodeType": "VariableDeclaration",
5010 "scope": 9218,
5011 "src": "4560:16:33",
5012 "stateVariable": false,
5013 "storageLocation": "default",
5014 "typeDescriptions": {
5015 "typeIdentifier": "t_bytes32",
5016 "typeString": "bytes32"
5017 },
5018 "typeName": {
5019 "id": 9150,
5020 "name": "bytes32",
5021 "nodeType": "ElementaryTypeName",
5022 "src": "4560:7:33",
5023 "typeDescriptions": {
5024 "typeIdentifier": "t_bytes32",
5025 "typeString": "bytes32"
5026 }
5027 },
5028 "value": null,
5029 "visibility": "internal"
5030 }
5031 ],
5032 "id": 9155,
5033 "initialValue": {
5034 "argumentTypes": null,
5035 "arguments": [
5036 {
5037 "argumentTypes": null,
5038 "id": 9153,
5039 "name": "id",
5040 "nodeType": "Identifier",
5041 "overloadedDeclarations": [],
5042 "referencedDeclaration": 9117,
5043 "src": "4591:2:33",
5044 "typeDescriptions": {
5045 "typeIdentifier": "t_uint256",
5046 "typeString": "uint256"
5047 }
5048 }
5049 ],
5050 "expression": {
5051 "argumentTypes": [
5052 {
5053 "typeIdentifier": "t_uint256",
5054 "typeString": "uint256"
5055 }
5056 ],
5057 "id": 9152,
5058 "name": "getEndpoint",
5059 "nodeType": "Identifier",
5060 "overloadedDeclarations": [
5061 9694
5062 ],
5063 "referencedDeclaration": 9694,
5064 "src": "4579:11:33",
5065 "typeDescriptions": {
5066 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bytes32_$",
5067 "typeString": "function (uint256) view returns (bytes32)"
5068 }
5069 },
5070 "id": 9154,
5071 "isConstant": false,
5072 "isLValue": false,
5073 "isPure": false,
5074 "kind": "functionCall",
5075 "lValueRequested": false,
5076 "names": [],
5077 "nodeType": "FunctionCall",
5078 "src": "4579:15:33",
5079 "typeDescriptions": {
5080 "typeIdentifier": "t_bytes32",
5081 "typeString": "bytes32"
5082 }
5083 },
5084 "nodeType": "VariableDeclarationStatement",
5085 "src": "4560:34:33"
5086 },
5087 {
5088 "condition": {
5089 "argumentTypes": null,
5090 "commonType": {
5091 "typeIdentifier": "t_enum$_Status_$8844",
5092 "typeString": "enum Dispatch.Status"
5093 },
5094 "id": 9159,
5095 "isConstant": false,
5096 "isLValue": false,
5097 "isPure": false,
5098 "lValueRequested": false,
5099 "leftExpression": {
5100 "argumentTypes": null,
5101 "id": 9156,
5102 "name": "status",
5103 "nodeType": "Identifier",
5104 "overloadedDeclarations": [],
5105 "referencedDeclaration": 9123,
5106 "src": "4609:6:33",
5107 "typeDescriptions": {
5108 "typeIdentifier": "t_enum$_Status_$8844",
5109 "typeString": "enum Dispatch.Status"
5110 }
5111 },
5112 "nodeType": "BinaryOperation",
5113 "operator": "==",
5114 "rightExpression": {
5115 "argumentTypes": null,
5116 "expression": {
5117 "argumentTypes": null,
5118 "id": 9157,
5119 "name": "Status",
5120 "nodeType": "Identifier",
5121 "overloadedDeclarations": [],
5122 "referencedDeclaration": 8844,
5123 "src": "4619:6:33",
5124 "typeDescriptions": {
5125 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
5126 "typeString": "type(enum Dispatch.Status)"
5127 }
5128 },
5129 "id": 9158,
5130 "isConstant": false,
5131 "isLValue": false,
5132 "isPure": true,
5133 "lValueRequested": false,
5134 "memberName": "Canceled",
5135 "nodeType": "MemberAccess",
5136 "referencedDeclaration": null,
5137 "src": "4619:15:33",
5138 "typeDescriptions": {
5139 "typeIdentifier": "t_enum$_Status_$8844",
5140 "typeString": "enum Dispatch.Status"
5141 }
5142 },
5143 "src": "4609:25:33",
5144 "typeDescriptions": {
5145 "typeIdentifier": "t_bool",
5146 "typeString": "bool"
5147 }
5148 },
5149 "falseBody": null,
5150 "id": 9195,
5151 "nodeType": "IfStatement",
5152 "src": "4605:556:33",
5153 "trueBody": {
5154 "id": 9194,
5155 "nodeType": "Block",
5156 "src": "4636:525:33",
5157 "statements": [
5158 {
5159 "assignments": [
5160 9161
5161 ],
5162 "declarations": [
5163 {
5164 "constant": false,
5165 "id": 9161,
5166 "name": "canceled",
5167 "nodeType": "VariableDeclaration",
5168 "scope": 9218,
5169 "src": "4650:16:33",
5170 "stateVariable": false,
5171 "storageLocation": "default",
5172 "typeDescriptions": {
5173 "typeIdentifier": "t_uint256",
5174 "typeString": "uint256"
5175 },
5176 "typeName": {
5177 "id": 9160,
5178 "name": "uint256",
5179 "nodeType": "ElementaryTypeName",
5180 "src": "4650:7:33",
5181 "typeDescriptions": {
5182 "typeIdentifier": "t_uint256",
5183 "typeString": "uint256"
5184 }
5185 },
5186 "value": null,
5187 "visibility": "internal"
5188 }
5189 ],
5190 "id": 9165,
5191 "initialValue": {
5192 "argumentTypes": null,
5193 "arguments": [
5194 {
5195 "argumentTypes": null,
5196 "id": 9163,
5197 "name": "id",
5198 "nodeType": "Identifier",
5199 "overloadedDeclarations": [],
5200 "referencedDeclaration": 9117,
5201 "src": "4679:2:33",
5202 "typeDescriptions": {
5203 "typeIdentifier": "t_uint256",
5204 "typeString": "uint256"
5205 }
5206 }
5207 ],
5208 "expression": {
5209 "argumentTypes": [
5210 {
5211 "typeIdentifier": "t_uint256",
5212 "typeString": "uint256"
5213 }
5214 ],
5215 "id": 9162,
5216 "name": "getCancel",
5217 "nodeType": "Identifier",
5218 "overloadedDeclarations": [
5219 9734
5220 ],
5221 "referencedDeclaration": 9734,
5222 "src": "4669:9:33",
5223 "typeDescriptions": {
5224 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$",
5225 "typeString": "function (uint256) view returns (uint256)"
5226 }
5227 },
5228 "id": 9164,
5229 "isConstant": false,
5230 "isLValue": false,
5231 "isPure": false,
5232 "kind": "functionCall",
5233 "lValueRequested": false,
5234 "names": [],
5235 "nodeType": "FunctionCall",
5236 "src": "4669:13:33",
5237 "typeDescriptions": {
5238 "typeIdentifier": "t_uint256",
5239 "typeString": "uint256"
5240 }
5241 },
5242 "nodeType": "VariableDeclarationStatement",
5243 "src": "4650:32:33"
5244 },
5245 {
5246 "expression": {
5247 "argumentTypes": null,
5248 "arguments": [
5249 {
5250 "argumentTypes": null,
5251 "commonType": {
5252 "typeIdentifier": "t_uint256",
5253 "typeString": "uint256"
5254 },
5255 "id": 9170,
5256 "isConstant": false,
5257 "isLValue": false,
5258 "isPure": false,
5259 "lValueRequested": false,
5260 "leftExpression": {
5261 "argumentTypes": null,
5262 "expression": {
5263 "argumentTypes": null,
5264 "id": 9167,
5265 "name": "block",
5266 "nodeType": "Identifier",
5267 "overloadedDeclarations": [],
5268 "referencedDeclaration": 12082,
5269 "src": "4813:5:33",
5270 "typeDescriptions": {
5271 "typeIdentifier": "t_magic_block",
5272 "typeString": "block"
5273 }
5274 },
5275 "id": 9168,
5276 "isConstant": false,
5277 "isLValue": false,
5278 "isPure": false,
5279 "lValueRequested": false,
5280 "memberName": "number",
5281 "nodeType": "MemberAccess",
5282 "referencedDeclaration": null,
5283 "src": "4813:12:33",
5284 "typeDescriptions": {
5285 "typeIdentifier": "t_uint256",
5286 "typeString": "uint256"
5287 }
5288 },
5289 "nodeType": "BinaryOperation",
5290 "operator": "==",
5291 "rightExpression": {
5292 "argumentTypes": null,
5293 "id": 9169,
5294 "name": "canceled",
5295 "nodeType": "Identifier",
5296 "overloadedDeclarations": [],
5297 "referencedDeclaration": 9161,
5298 "src": "4829:8:33",
5299 "typeDescriptions": {
5300 "typeIdentifier": "t_uint256",
5301 "typeString": "uint256"
5302 }
5303 },
5304 "src": "4813:24:33",
5305 "typeDescriptions": {
5306 "typeIdentifier": "t_bool",
5307 "typeString": "bool"
5308 }
5309 },
5310 {
5311 "argumentTypes": null,
5312 "hexValue": "4572726f723a2043616e63656c2069676e6f726564",
5313 "id": 9171,
5314 "isConstant": false,
5315 "isLValue": false,
5316 "isPure": true,
5317 "kind": "string",
5318 "lValueRequested": false,
5319 "nodeType": "Literal",
5320 "src": "4839:23:33",
5321 "subdenomination": null,
5322 "typeDescriptions": {
5323 "typeIdentifier": "t_stringliteral_79eb345c3feb68972a5fb345b34567da2263cb5b5a3e718831283d06e869e8b5",
5324 "typeString": "literal_string \"Error: Cancel ignored\""
5325 },
5326 "value": "Error: Cancel ignored"
5327 }
5328 ],
5329 "expression": {
5330 "argumentTypes": [
5331 {
5332 "typeIdentifier": "t_bool",
5333 "typeString": "bool"
5334 },
5335 {
5336 "typeIdentifier": "t_stringliteral_79eb345c3feb68972a5fb345b34567da2263cb5b5a3e718831283d06e869e8b5",
5337 "typeString": "literal_string \"Error: Cancel ignored\""
5338 }
5339 ],
5340 "id": 9166,
5341 "name": "require",
5342 "nodeType": "Identifier",
5343 "overloadedDeclarations": [
5344 12095,
5345 12096
5346 ],
5347 "referencedDeclaration": 12096,
5348 "src": "4805:7:33",
5349 "typeDescriptions": {
5350 "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
5351 "typeString": "function (bool,string memory) pure"
5352 }
5353 },
5354 "id": 9172,
5355 "isConstant": false,
5356 "isLValue": false,
5357 "isPure": false,
5358 "kind": "functionCall",
5359 "lValueRequested": false,
5360 "names": [],
5361 "nodeType": "FunctionCall",
5362 "src": "4805:58:33",
5363 "typeDescriptions": {
5364 "typeIdentifier": "t_tuple$__$",
5365 "typeString": "tuple()"
5366 }
5367 },
5368 "id": 9173,
5369 "nodeType": "ExpressionStatement",
5370 "src": "4805:58:33"
5371 },
5372 {
5373 "expression": {
5374 "argumentTypes": null,
5375 "arguments": [
5376 {
5377 "argumentTypes": null,
5378 "id": 9175,
5379 "name": "id",
5380 "nodeType": "Identifier",
5381 "overloadedDeclarations": [],
5382 "referencedDeclaration": 9117,
5383 "src": "4924:2:33",
5384 "typeDescriptions": {
5385 "typeIdentifier": "t_uint256",
5386 "typeString": "uint256"
5387 }
5388 },
5389 {
5390 "argumentTypes": null,
5391 "hexValue": "66616c7365",
5392 "id": 9176,
5393 "isConstant": false,
5394 "isLValue": false,
5395 "isPure": true,
5396 "kind": "bool",
5397 "lValueRequested": false,
5398 "nodeType": "Literal",
5399 "src": "4928:5:33",
5400 "subdenomination": null,
5401 "typeDescriptions": {
5402 "typeIdentifier": "t_bool",
5403 "typeString": "bool"
5404 },
5405 "value": "false"
5406 }
5407 ],
5408 "expression": {
5409 "argumentTypes": [
5410 {
5411 "typeIdentifier": "t_uint256",
5412 "typeString": "uint256"
5413 },
5414 {
5415 "typeIdentifier": "t_bool",
5416 "typeString": "bool"
5417 }
5418 ],
5419 "id": 9174,
5420 "name": "setCanceled",
5421 "nodeType": "Identifier",
5422 "overloadedDeclarations": [],
5423 "referencedDeclaration": 9991,
5424 "src": "4912:11:33",
5425 "typeDescriptions": {
5426 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bool_$returns$__$",
5427 "typeString": "function (uint256,bool)"
5428 }
5429 },
5430 "id": 9177,
5431 "isConstant": false,
5432 "isLValue": false,
5433 "isPure": false,
5434 "kind": "functionCall",
5435 "lValueRequested": false,
5436 "names": [],
5437 "nodeType": "FunctionCall",
5438 "src": "4912:22:33",
5439 "typeDescriptions": {
5440 "typeIdentifier": "t_tuple$__$",
5441 "typeString": "tuple()"
5442 }
5443 },
5444 "id": 9178,
5445 "nodeType": "ExpressionStatement",
5446 "src": "4912:22:33"
5447 },
5448 {
5449 "expression": {
5450 "argumentTypes": null,
5451 "arguments": [
5452 {
5453 "argumentTypes": null,
5454 "id": 9182,
5455 "name": "subscriber",
5456 "nodeType": "Identifier",
5457 "overloadedDeclarations": [],
5458 "referencedDeclaration": 9139,
5459 "src": "5022:10:33",
5460 "typeDescriptions": {
5461 "typeIdentifier": "t_address",
5462 "typeString": "address"
5463 }
5464 },
5465 {
5466 "argumentTypes": null,
5467 "id": 9183,
5468 "name": "provider",
5469 "nodeType": "Identifier",
5470 "overloadedDeclarations": [],
5471 "referencedDeclaration": 9145,
5472 "src": "5034:8:33",
5473 "typeDescriptions": {
5474 "typeIdentifier": "t_address",
5475 "typeString": "address"
5476 }
5477 },
5478 {
5479 "argumentTypes": null,
5480 "id": 9184,
5481 "name": "endpoint",
5482 "nodeType": "Identifier",
5483 "overloadedDeclarations": [],
5484 "referencedDeclaration": 9151,
5485 "src": "5044:8:33",
5486 "typeDescriptions": {
5487 "typeIdentifier": "t_bytes32",
5488 "typeString": "bytes32"
5489 }
5490 },
5491 {
5492 "argumentTypes": null,
5493 "hexValue": "31",
5494 "id": 9185,
5495 "isConstant": false,
5496 "isLValue": false,
5497 "isPure": true,
5498 "kind": "number",
5499 "lValueRequested": false,
5500 "nodeType": "Literal",
5501 "src": "5054:1:33",
5502 "subdenomination": null,
5503 "typeDescriptions": {
5504 "typeIdentifier": "t_rational_1_by_1",
5505 "typeString": "int_const 1"
5506 },
5507 "value": "1"
5508 }
5509 ],
5510 "expression": {
5511 "argumentTypes": [
5512 {
5513 "typeIdentifier": "t_address",
5514 "typeString": "address"
5515 },
5516 {
5517 "typeIdentifier": "t_address",
5518 "typeString": "address"
5519 },
5520 {
5521 "typeIdentifier": "t_bytes32",
5522 "typeString": "bytes32"
5523 },
5524 {
5525 "typeIdentifier": "t_rational_1_by_1",
5526 "typeString": "int_const 1"
5527 }
5528 ],
5529 "expression": {
5530 "argumentTypes": null,
5531 "id": 9179,
5532 "name": "bondage",
5533 "nodeType": "Identifier",
5534 "overloadedDeclarations": [],
5535 "referencedDeclaration": 8961,
5536 "src": "5003:7:33",
5537 "typeDescriptions": {
5538 "typeIdentifier": "t_contract$_BondageInterface_$7926",
5539 "typeString": "contract BondageInterface"
5540 }
5541 },
5542 "id": 9181,
5543 "isConstant": false,
5544 "isLValue": false,
5545 "isPure": false,
5546 "lValueRequested": false,
5547 "memberName": "escrowDots",
5548 "nodeType": "MemberAccess",
5549 "referencedDeclaration": 7839,
5550 "src": "5003:18:33",
5551 "typeDescriptions": {
5552 "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$returns$_t_bool_$",
5553 "typeString": "function (address,address,bytes32,uint256) external returns (bool)"
5554 }
5555 },
5556 "id": 9186,
5557 "isConstant": false,
5558 "isLValue": false,
5559 "isPure": false,
5560 "kind": "functionCall",
5561 "lValueRequested": false,
5562 "names": [],
5563 "nodeType": "FunctionCall",
5564 "src": "5003:53:33",
5565 "typeDescriptions": {
5566 "typeIdentifier": "t_bool",
5567 "typeString": "bool"
5568 }
5569 },
5570 "id": 9187,
5571 "nodeType": "ExpressionStatement",
5572 "src": "5003:53:33"
5573 },
5574 {
5575 "eventCall": {
5576 "argumentTypes": null,
5577 "arguments": [
5578 {
5579 "argumentTypes": null,
5580 "id": 9189,
5581 "name": "id",
5582 "nodeType": "Identifier",
5583 "overloadedDeclarations": [],
5584 "referencedDeclaration": 9117,
5585 "src": "5125:2:33",
5586 "typeDescriptions": {
5587 "typeIdentifier": "t_uint256",
5588 "typeString": "uint256"
5589 }
5590 },
5591 {
5592 "argumentTypes": null,
5593 "id": 9190,
5594 "name": "subscriber",
5595 "nodeType": "Identifier",
5596 "overloadedDeclarations": [],
5597 "referencedDeclaration": 9139,
5598 "src": "5129:10:33",
5599 "typeDescriptions": {
5600 "typeIdentifier": "t_address",
5601 "typeString": "address"
5602 }
5603 },
5604 {
5605 "argumentTypes": null,
5606 "id": 9191,
5607 "name": "provider",
5608 "nodeType": "Identifier",
5609 "overloadedDeclarations": [],
5610 "referencedDeclaration": 9145,
5611 "src": "5141:8:33",
5612 "typeDescriptions": {
5613 "typeIdentifier": "t_address",
5614 "typeString": "address"
5615 }
5616 }
5617 ],
5618 "expression": {
5619 "argumentTypes": [
5620 {
5621 "typeIdentifier": "t_uint256",
5622 "typeString": "uint256"
5623 },
5624 {
5625 "typeIdentifier": "t_address",
5626 "typeString": "address"
5627 },
5628 {
5629 "typeIdentifier": "t_address",
5630 "typeString": "address"
5631 }
5632 ],
5633 "id": 9188,
5634 "name": "RevertCancelation",
5635 "nodeType": "Identifier",
5636 "overloadedDeclarations": [],
5637 "referencedDeclaration": 8959,
5638 "src": "5107:17:33",
5639 "typeDescriptions": {
5640 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$__$",
5641 "typeString": "function (uint256,address,address)"
5642 }
5643 },
5644 "id": 9192,
5645 "isConstant": false,
5646 "isLValue": false,
5647 "isPure": false,
5648 "kind": "functionCall",
5649 "lValueRequested": false,
5650 "names": [],
5651 "nodeType": "FunctionCall",
5652 "src": "5107:43:33",
5653 "typeDescriptions": {
5654 "typeIdentifier": "t_tuple$__$",
5655 "typeString": "tuple()"
5656 }
5657 },
5658 "id": 9193,
5659 "nodeType": "EmitStatement",
5660 "src": "5102:48:33"
5661 }
5662 ]
5663 }
5664 },
5665 {
5666 "expression": {
5667 "argumentTypes": null,
5668 "arguments": [
5669 {
5670 "argumentTypes": null,
5671 "id": 9197,
5672 "name": "id",
5673 "nodeType": "Identifier",
5674 "overloadedDeclarations": [],
5675 "referencedDeclaration": 9117,
5676 "src": "5184:2:33",
5677 "typeDescriptions": {
5678 "typeIdentifier": "t_uint256",
5679 "typeString": "uint256"
5680 }
5681 }
5682 ],
5683 "expression": {
5684 "argumentTypes": [
5685 {
5686 "typeIdentifier": "t_uint256",
5687 "typeString": "uint256"
5688 }
5689 ],
5690 "id": 9196,
5691 "name": "setFulfilled",
5692 "nodeType": "Identifier",
5693 "overloadedDeclarations": [],
5694 "referencedDeclaration": 9916,
5695 "src": "5171:12:33",
5696 "typeDescriptions": {
5697 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
5698 "typeString": "function (uint256)"
5699 }
5700 },
5701 "id": 9198,
5702 "isConstant": false,
5703 "isLValue": false,
5704 "isPure": false,
5705 "kind": "functionCall",
5706 "lValueRequested": false,
5707 "names": [],
5708 "nodeType": "FunctionCall",
5709 "src": "5171:16:33",
5710 "typeDescriptions": {
5711 "typeIdentifier": "t_tuple$__$",
5712 "typeString": "tuple()"
5713 }
5714 },
5715 "id": 9199,
5716 "nodeType": "ExpressionStatement",
5717 "src": "5171:16:33"
5718 },
5719 {
5720 "expression": {
5721 "argumentTypes": null,
5722 "arguments": [
5723 {
5724 "argumentTypes": null,
5725 "id": 9203,
5726 "name": "subscriber",
5727 "nodeType": "Identifier",
5728 "overloadedDeclarations": [],
5729 "referencedDeclaration": 9139,
5730 "src": "5218:10:33",
5731 "typeDescriptions": {
5732 "typeIdentifier": "t_address",
5733 "typeString": "address"
5734 }
5735 },
5736 {
5737 "argumentTypes": null,
5738 "id": 9204,
5739 "name": "provider",
5740 "nodeType": "Identifier",
5741 "overloadedDeclarations": [],
5742 "referencedDeclaration": 9145,
5743 "src": "5230:8:33",
5744 "typeDescriptions": {
5745 "typeIdentifier": "t_address",
5746 "typeString": "address"
5747 }
5748 },
5749 {
5750 "argumentTypes": null,
5751 "id": 9205,
5752 "name": "endpoint",
5753 "nodeType": "Identifier",
5754 "overloadedDeclarations": [],
5755 "referencedDeclaration": 9151,
5756 "src": "5240:8:33",
5757 "typeDescriptions": {
5758 "typeIdentifier": "t_bytes32",
5759 "typeString": "bytes32"
5760 }
5761 },
5762 {
5763 "argumentTypes": null,
5764 "hexValue": "31",
5765 "id": 9206,
5766 "isConstant": false,
5767 "isLValue": false,
5768 "isPure": true,
5769 "kind": "number",
5770 "lValueRequested": false,
5771 "nodeType": "Literal",
5772 "src": "5250:1:33",
5773 "subdenomination": null,
5774 "typeDescriptions": {
5775 "typeIdentifier": "t_rational_1_by_1",
5776 "typeString": "int_const 1"
5777 },
5778 "value": "1"
5779 }
5780 ],
5781 "expression": {
5782 "argumentTypes": [
5783 {
5784 "typeIdentifier": "t_address",
5785 "typeString": "address"
5786 },
5787 {
5788 "typeIdentifier": "t_address",
5789 "typeString": "address"
5790 },
5791 {
5792 "typeIdentifier": "t_bytes32",
5793 "typeString": "bytes32"
5794 },
5795 {
5796 "typeIdentifier": "t_rational_1_by_1",
5797 "typeString": "int_const 1"
5798 }
5799 ],
5800 "expression": {
5801 "argumentTypes": null,
5802 "id": 9200,
5803 "name": "bondage",
5804 "nodeType": "Identifier",
5805 "overloadedDeclarations": [],
5806 "referencedDeclaration": 8961,
5807 "src": "5198:7:33",
5808 "typeDescriptions": {
5809 "typeIdentifier": "t_contract$_BondageInterface_$7926",
5810 "typeString": "contract BondageInterface"
5811 }
5812 },
5813 "id": 9202,
5814 "isConstant": false,
5815 "isLValue": false,
5816 "isPure": false,
5817 "lValueRequested": false,
5818 "memberName": "releaseDots",
5819 "nodeType": "MemberAccess",
5820 "referencedDeclaration": 7852,
5821 "src": "5198:19:33",
5822 "typeDescriptions": {
5823 "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$returns$_t_bool_$",
5824 "typeString": "function (address,address,bytes32,uint256) external returns (bool)"
5825 }
5826 },
5827 "id": 9207,
5828 "isConstant": false,
5829 "isLValue": false,
5830 "isPure": false,
5831 "kind": "functionCall",
5832 "lValueRequested": false,
5833 "names": [],
5834 "nodeType": "FunctionCall",
5835 "src": "5198:54:33",
5836 "typeDescriptions": {
5837 "typeIdentifier": "t_bool",
5838 "typeString": "bool"
5839 }
5840 },
5841 "id": 9208,
5842 "nodeType": "ExpressionStatement",
5843 "src": "5198:54:33"
5844 },
5845 {
5846 "eventCall": {
5847 "argumentTypes": null,
5848 "arguments": [
5849 {
5850 "argumentTypes": null,
5851 "id": 9210,
5852 "name": "subscriber",
5853 "nodeType": "Identifier",
5854 "overloadedDeclarations": [],
5855 "referencedDeclaration": 9139,
5856 "src": "5281:10:33",
5857 "typeDescriptions": {
5858 "typeIdentifier": "t_address",
5859 "typeString": "address"
5860 }
5861 },
5862 {
5863 "argumentTypes": null,
5864 "id": 9211,
5865 "name": "provider",
5866 "nodeType": "Identifier",
5867 "overloadedDeclarations": [],
5868 "referencedDeclaration": 9145,
5869 "src": "5293:8:33",
5870 "typeDescriptions": {
5871 "typeIdentifier": "t_address",
5872 "typeString": "address"
5873 }
5874 },
5875 {
5876 "argumentTypes": null,
5877 "id": 9212,
5878 "name": "endpoint",
5879 "nodeType": "Identifier",
5880 "overloadedDeclarations": [],
5881 "referencedDeclaration": 9151,
5882 "src": "5303:8:33",
5883 "typeDescriptions": {
5884 "typeIdentifier": "t_bytes32",
5885 "typeString": "bytes32"
5886 }
5887 }
5888 ],
5889 "expression": {
5890 "argumentTypes": [
5891 {
5892 "typeIdentifier": "t_address",
5893 "typeString": "address"
5894 },
5895 {
5896 "typeIdentifier": "t_address",
5897 "typeString": "address"
5898 },
5899 {
5900 "typeIdentifier": "t_bytes32",
5901 "typeString": "bytes32"
5902 }
5903 ],
5904 "id": 9209,
5905 "name": "FulfillQuery",
5906 "nodeType": "Identifier",
5907 "overloadedDeclarations": [],
5908 "referencedDeclaration": 8869,
5909 "src": "5268:12:33",
5910 "typeDescriptions": {
5911 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
5912 "typeString": "function (address,address,bytes32)"
5913 }
5914 },
5915 "id": 9213,
5916 "isConstant": false,
5917 "isLValue": false,
5918 "isPure": false,
5919 "kind": "functionCall",
5920 "lValueRequested": false,
5921 "names": [],
5922 "nodeType": "FunctionCall",
5923 "src": "5268:44:33",
5924 "typeDescriptions": {
5925 "typeIdentifier": "t_tuple$__$",
5926 "typeString": "tuple()"
5927 }
5928 },
5929 "id": 9214,
5930 "nodeType": "EmitStatement",
5931 "src": "5263:49:33"
5932 },
5933 {
5934 "expression": {
5935 "argumentTypes": null,
5936 "hexValue": "74727565",
5937 "id": 9215,
5938 "isConstant": false,
5939 "isLValue": false,
5940 "isPure": true,
5941 "kind": "bool",
5942 "lValueRequested": false,
5943 "nodeType": "Literal",
5944 "src": "5330:4:33",
5945 "subdenomination": null,
5946 "typeDescriptions": {
5947 "typeIdentifier": "t_bool",
5948 "typeString": "bool"
5949 },
5950 "value": "true"
5951 },
5952 "functionReturnParameters": 9121,
5953 "id": 9216,
5954 "nodeType": "Return",
5955 "src": "5323:11:33"
5956 }
5957 ]
5958 },
5959 "documentation": "@notice Transfer dots from Bondage escrow to data provider's Holder object under its own address\n @dev Called upon data-provider request fulfillment",
5960 "id": 9218,
5961 "implemented": true,
5962 "isConstructor": false,
5963 "isDeclaredConst": false,
5964 "modifiers": [],
5965 "name": "fulfillQuery",
5966 "nodeType": "FunctionDefinition",
5967 "parameters": {
5968 "id": 9118,
5969 "nodeType": "ParameterList",
5970 "parameters": [
5971 {
5972 "constant": false,
5973 "id": 9117,
5974 "name": "id",
5975 "nodeType": "VariableDeclaration",
5976 "scope": 9218,
5977 "src": "4294:10:33",
5978 "stateVariable": false,
5979 "storageLocation": "default",
5980 "typeDescriptions": {
5981 "typeIdentifier": "t_uint256",
5982 "typeString": "uint256"
5983 },
5984 "typeName": {
5985 "id": 9116,
5986 "name": "uint256",
5987 "nodeType": "ElementaryTypeName",
5988 "src": "4294:7:33",
5989 "typeDescriptions": {
5990 "typeIdentifier": "t_uint256",
5991 "typeString": "uint256"
5992 }
5993 },
5994 "value": null,
5995 "visibility": "internal"
5996 }
5997 ],
5998 "src": "4293:12:33"
5999 },
6000 "payable": false,
6001 "returnParameters": {
6002 "id": 9121,
6003 "nodeType": "ParameterList",
6004 "parameters": [
6005 {
6006 "constant": false,
6007 "id": 9120,
6008 "name": "",
6009 "nodeType": "VariableDeclaration",
6010 "scope": 9218,
6011 "src": "4323:4:33",
6012 "stateVariable": false,
6013 "storageLocation": "default",
6014 "typeDescriptions": {
6015 "typeIdentifier": "t_bool",
6016 "typeString": "bool"
6017 },
6018 "typeName": {
6019 "id": 9119,
6020 "name": "bool",
6021 "nodeType": "ElementaryTypeName",
6022 "src": "4323:4:33",
6023 "typeDescriptions": {
6024 "typeIdentifier": "t_bool",
6025 "typeString": "bool"
6026 }
6027 },
6028 "value": null,
6029 "visibility": "internal"
6030 }
6031 ],
6032 "src": "4322:6:33"
6033 },
6034 "scope": 10008,
6035 "src": "4272:1069:33",
6036 "stateMutability": "nonpayable",
6037 "superFunction": null,
6038 "visibility": "private"
6039 },
6040 {
6041 "body": {
6042 "id": 9285,
6043 "nodeType": "Block",
6044 "src": "5485:571:33",
6045 "statements": [
6046 {
6047 "assignments": [
6048 9224
6049 ],
6050 "declarations": [
6051 {
6052 "constant": false,
6053 "id": 9224,
6054 "name": "subscriber",
6055 "nodeType": "VariableDeclaration",
6056 "scope": 9286,
6057 "src": "5495:18:33",
6058 "stateVariable": false,
6059 "storageLocation": "default",
6060 "typeDescriptions": {
6061 "typeIdentifier": "t_address",
6062 "typeString": "address"
6063 },
6064 "typeName": {
6065 "id": 9223,
6066 "name": "address",
6067 "nodeType": "ElementaryTypeName",
6068 "src": "5495:7:33",
6069 "typeDescriptions": {
6070 "typeIdentifier": "t_address",
6071 "typeString": "address"
6072 }
6073 },
6074 "value": null,
6075 "visibility": "internal"
6076 }
6077 ],
6078 "id": 9228,
6079 "initialValue": {
6080 "argumentTypes": null,
6081 "arguments": [
6082 {
6083 "argumentTypes": null,
6084 "id": 9226,
6085 "name": "id",
6086 "nodeType": "Identifier",
6087 "overloadedDeclarations": [],
6088 "referencedDeclaration": 9220,
6089 "src": "5530:2:33",
6090 "typeDescriptions": {
6091 "typeIdentifier": "t_uint256",
6092 "typeString": "uint256"
6093 }
6094 }
6095 ],
6096 "expression": {
6097 "argumentTypes": [
6098 {
6099 "typeIdentifier": "t_uint256",
6100 "typeString": "uint256"
6101 }
6102 ],
6103 "id": 9225,
6104 "name": "getSubscriber",
6105 "nodeType": "Identifier",
6106 "overloadedDeclarations": [
6107 9674
6108 ],
6109 "referencedDeclaration": 9674,
6110 "src": "5516:13:33",
6111 "typeDescriptions": {
6112 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
6113 "typeString": "function (uint256) view returns (address)"
6114 }
6115 },
6116 "id": 9227,
6117 "isConstant": false,
6118 "isLValue": false,
6119 "isPure": false,
6120 "kind": "functionCall",
6121 "lValueRequested": false,
6122 "names": [],
6123 "nodeType": "FunctionCall",
6124 "src": "5516:17:33",
6125 "typeDescriptions": {
6126 "typeIdentifier": "t_address",
6127 "typeString": "address"
6128 }
6129 },
6130 "nodeType": "VariableDeclarationStatement",
6131 "src": "5495:38:33"
6132 },
6133 {
6134 "assignments": [
6135 9230
6136 ],
6137 "declarations": [
6138 {
6139 "constant": false,
6140 "id": 9230,
6141 "name": "provider",
6142 "nodeType": "VariableDeclaration",
6143 "scope": 9286,
6144 "src": "5543:16:33",
6145 "stateVariable": false,
6146 "storageLocation": "default",
6147 "typeDescriptions": {
6148 "typeIdentifier": "t_address",
6149 "typeString": "address"
6150 },
6151 "typeName": {
6152 "id": 9229,
6153 "name": "address",
6154 "nodeType": "ElementaryTypeName",
6155 "src": "5543:7:33",
6156 "typeDescriptions": {
6157 "typeIdentifier": "t_address",
6158 "typeString": "address"
6159 }
6160 },
6161 "value": null,
6162 "visibility": "internal"
6163 }
6164 ],
6165 "id": 9234,
6166 "initialValue": {
6167 "argumentTypes": null,
6168 "arguments": [
6169 {
6170 "argumentTypes": null,
6171 "id": 9232,
6172 "name": "id",
6173 "nodeType": "Identifier",
6174 "overloadedDeclarations": [],
6175 "referencedDeclaration": 9220,
6176 "src": "5574:2:33",
6177 "typeDescriptions": {
6178 "typeIdentifier": "t_uint256",
6179 "typeString": "uint256"
6180 }
6181 }
6182 ],
6183 "expression": {
6184 "argumentTypes": [
6185 {
6186 "typeIdentifier": "t_uint256",
6187 "typeString": "uint256"
6188 }
6189 ],
6190 "id": 9231,
6191 "name": "getProvider",
6192 "nodeType": "Identifier",
6193 "overloadedDeclarations": [
6194 9652
6195 ],
6196 "referencedDeclaration": 9652,
6197 "src": "5562:11:33",
6198 "typeDescriptions": {
6199 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
6200 "typeString": "function (uint256) view returns (address)"
6201 }
6202 },
6203 "id": 9233,
6204 "isConstant": false,
6205 "isLValue": false,
6206 "isPure": false,
6207 "kind": "functionCall",
6208 "lValueRequested": false,
6209 "names": [],
6210 "nodeType": "FunctionCall",
6211 "src": "5562:15:33",
6212 "typeDescriptions": {
6213 "typeIdentifier": "t_address",
6214 "typeString": "address"
6215 }
6216 },
6217 "nodeType": "VariableDeclarationStatement",
6218 "src": "5543:34:33"
6219 },
6220 {
6221 "assignments": [
6222 9236
6223 ],
6224 "declarations": [
6225 {
6226 "constant": false,
6227 "id": 9236,
6228 "name": "endpoint",
6229 "nodeType": "VariableDeclaration",
6230 "scope": 9286,
6231 "src": "5587:16:33",
6232 "stateVariable": false,
6233 "storageLocation": "default",
6234 "typeDescriptions": {
6235 "typeIdentifier": "t_bytes32",
6236 "typeString": "bytes32"
6237 },
6238 "typeName": {
6239 "id": 9235,
6240 "name": "bytes32",
6241 "nodeType": "ElementaryTypeName",
6242 "src": "5587:7:33",
6243 "typeDescriptions": {
6244 "typeIdentifier": "t_bytes32",
6245 "typeString": "bytes32"
6246 }
6247 },
6248 "value": null,
6249 "visibility": "internal"
6250 }
6251 ],
6252 "id": 9240,
6253 "initialValue": {
6254 "argumentTypes": null,
6255 "arguments": [
6256 {
6257 "argumentTypes": null,
6258 "id": 9238,
6259 "name": "id",
6260 "nodeType": "Identifier",
6261 "overloadedDeclarations": [],
6262 "referencedDeclaration": 9220,
6263 "src": "5618:2:33",
6264 "typeDescriptions": {
6265 "typeIdentifier": "t_uint256",
6266 "typeString": "uint256"
6267 }
6268 }
6269 ],
6270 "expression": {
6271 "argumentTypes": [
6272 {
6273 "typeIdentifier": "t_uint256",
6274 "typeString": "uint256"
6275 }
6276 ],
6277 "id": 9237,
6278 "name": "getEndpoint",
6279 "nodeType": "Identifier",
6280 "overloadedDeclarations": [
6281 9694
6282 ],
6283 "referencedDeclaration": 9694,
6284 "src": "5606:11:33",
6285 "typeDescriptions": {
6286 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bytes32_$",
6287 "typeString": "function (uint256) view returns (bytes32)"
6288 }
6289 },
6290 "id": 9239,
6291 "isConstant": false,
6292 "isLValue": false,
6293 "isPure": false,
6294 "kind": "functionCall",
6295 "lValueRequested": false,
6296 "names": [],
6297 "nodeType": "FunctionCall",
6298 "src": "5606:15:33",
6299 "typeDescriptions": {
6300 "typeIdentifier": "t_bytes32",
6301 "typeString": "bytes32"
6302 }
6303 },
6304 "nodeType": "VariableDeclarationStatement",
6305 "src": "5587:34:33"
6306 },
6307 {
6308 "expression": {
6309 "argumentTypes": null,
6310 "arguments": [
6311 {
6312 "argumentTypes": null,
6313 "commonType": {
6314 "typeIdentifier": "t_address",
6315 "typeString": "address"
6316 },
6317 "id": 9245,
6318 "isConstant": false,
6319 "isLValue": false,
6320 "isPure": false,
6321 "lValueRequested": false,
6322 "leftExpression": {
6323 "argumentTypes": null,
6324 "id": 9242,
6325 "name": "subscriber",
6326 "nodeType": "Identifier",
6327 "overloadedDeclarations": [],
6328 "referencedDeclaration": 9224,
6329 "src": "5640:10:33",
6330 "typeDescriptions": {
6331 "typeIdentifier": "t_address",
6332 "typeString": "address"
6333 }
6334 },
6335 "nodeType": "BinaryOperation",
6336 "operator": "==",
6337 "rightExpression": {
6338 "argumentTypes": null,
6339 "expression": {
6340 "argumentTypes": null,
6341 "id": 9243,
6342 "name": "msg",
6343 "nodeType": "Identifier",
6344 "overloadedDeclarations": [],
6345 "referencedDeclaration": 12092,
6346 "src": "5654:3:33",
6347 "typeDescriptions": {
6348 "typeIdentifier": "t_magic_message",
6349 "typeString": "msg"
6350 }
6351 },
6352 "id": 9244,
6353 "isConstant": false,
6354 "isLValue": false,
6355 "isPure": false,
6356 "lValueRequested": false,
6357 "memberName": "sender",
6358 "nodeType": "MemberAccess",
6359 "referencedDeclaration": null,
6360 "src": "5654:10:33",
6361 "typeDescriptions": {
6362 "typeIdentifier": "t_address",
6363 "typeString": "address"
6364 }
6365 },
6366 "src": "5640:24:33",
6367 "typeDescriptions": {
6368 "typeIdentifier": "t_bool",
6369 "typeString": "bool"
6370 }
6371 },
6372 {
6373 "argumentTypes": null,
6374 "hexValue": "4572726f723a2057726f6e672073756273637269626572",
6375 "id": 9246,
6376 "isConstant": false,
6377 "isLValue": false,
6378 "isPure": true,
6379 "kind": "string",
6380 "lValueRequested": false,
6381 "nodeType": "Literal",
6382 "src": "5666:25:33",
6383 "subdenomination": null,
6384 "typeDescriptions": {
6385 "typeIdentifier": "t_stringliteral_876aa35c9ee9174aab0d07c9a4bb26ccf179a2f85f32daf34f3642cb4f730e77",
6386 "typeString": "literal_string \"Error: Wrong subscriber\""
6387 },
6388 "value": "Error: Wrong subscriber"
6389 }
6390 ],
6391 "expression": {
6392 "argumentTypes": [
6393 {
6394 "typeIdentifier": "t_bool",
6395 "typeString": "bool"
6396 },
6397 {
6398 "typeIdentifier": "t_stringliteral_876aa35c9ee9174aab0d07c9a4bb26ccf179a2f85f32daf34f3642cb4f730e77",
6399 "typeString": "literal_string \"Error: Wrong subscriber\""
6400 }
6401 ],
6402 "id": 9241,
6403 "name": "require",
6404 "nodeType": "Identifier",
6405 "overloadedDeclarations": [
6406 12095,
6407 12096
6408 ],
6409 "referencedDeclaration": 12096,
6410 "src": "5632:7:33",
6411 "typeDescriptions": {
6412 "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
6413 "typeString": "function (bool,string memory) pure"
6414 }
6415 },
6416 "id": 9247,
6417 "isConstant": false,
6418 "isLValue": false,
6419 "isPure": false,
6420 "kind": "functionCall",
6421 "lValueRequested": false,
6422 "names": [],
6423 "nodeType": "FunctionCall",
6424 "src": "5632:60:33",
6425 "typeDescriptions": {
6426 "typeIdentifier": "t_tuple$__$",
6427 "typeString": "tuple()"
6428 }
6429 },
6430 "id": 9248,
6431 "nodeType": "ExpressionStatement",
6432 "src": "5632:60:33"
6433 },
6434 {
6435 "expression": {
6436 "argumentTypes": null,
6437 "arguments": [
6438 {
6439 "argumentTypes": null,
6440 "commonType": {
6441 "typeIdentifier": "t_enum$_Status_$8844",
6442 "typeString": "enum Dispatch.Status"
6443 },
6444 "id": 9257,
6445 "isConstant": false,
6446 "isLValue": false,
6447 "isPure": false,
6448 "lValueRequested": false,
6449 "leftExpression": {
6450 "argumentTypes": null,
6451 "arguments": [
6452 {
6453 "argumentTypes": null,
6454 "arguments": [
6455 {
6456 "argumentTypes": null,
6457 "id": 9252,
6458 "name": "id",
6459 "nodeType": "Identifier",
6460 "overloadedDeclarations": [],
6461 "referencedDeclaration": 9220,
6462 "src": "5727:2:33",
6463 "typeDescriptions": {
6464 "typeIdentifier": "t_uint256",
6465 "typeString": "uint256"
6466 }
6467 }
6468 ],
6469 "expression": {
6470 "argumentTypes": [
6471 {
6472 "typeIdentifier": "t_uint256",
6473 "typeString": "uint256"
6474 }
6475 ],
6476 "id": 9251,
6477 "name": "getStatus",
6478 "nodeType": "Identifier",
6479 "overloadedDeclarations": [
6480 9714
6481 ],
6482 "referencedDeclaration": 9714,
6483 "src": "5717:9:33",
6484 "typeDescriptions": {
6485 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$",
6486 "typeString": "function (uint256) view returns (uint256)"
6487 }
6488 },
6489 "id": 9253,
6490 "isConstant": false,
6491 "isLValue": false,
6492 "isPure": false,
6493 "kind": "functionCall",
6494 "lValueRequested": false,
6495 "names": [],
6496 "nodeType": "FunctionCall",
6497 "src": "5717:13:33",
6498 "typeDescriptions": {
6499 "typeIdentifier": "t_uint256",
6500 "typeString": "uint256"
6501 }
6502 }
6503 ],
6504 "expression": {
6505 "argumentTypes": [
6506 {
6507 "typeIdentifier": "t_uint256",
6508 "typeString": "uint256"
6509 }
6510 ],
6511 "id": 9250,
6512 "name": "Status",
6513 "nodeType": "Identifier",
6514 "overloadedDeclarations": [],
6515 "referencedDeclaration": 8844,
6516 "src": "5710:6:33",
6517 "typeDescriptions": {
6518 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
6519 "typeString": "type(enum Dispatch.Status)"
6520 }
6521 },
6522 "id": 9254,
6523 "isConstant": false,
6524 "isLValue": false,
6525 "isPure": false,
6526 "kind": "typeConversion",
6527 "lValueRequested": false,
6528 "names": [],
6529 "nodeType": "FunctionCall",
6530 "src": "5710:21:33",
6531 "typeDescriptions": {
6532 "typeIdentifier": "t_enum$_Status_$8844",
6533 "typeString": "enum Dispatch.Status"
6534 }
6535 },
6536 "nodeType": "BinaryOperation",
6537 "operator": "==",
6538 "rightExpression": {
6539 "argumentTypes": null,
6540 "expression": {
6541 "argumentTypes": null,
6542 "id": 9255,
6543 "name": "Status",
6544 "nodeType": "Identifier",
6545 "overloadedDeclarations": [],
6546 "referencedDeclaration": 8844,
6547 "src": "5735:6:33",
6548 "typeDescriptions": {
6549 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
6550 "typeString": "type(enum Dispatch.Status)"
6551 }
6552 },
6553 "id": 9256,
6554 "isConstant": false,
6555 "isLValue": false,
6556 "isPure": true,
6557 "lValueRequested": false,
6558 "memberName": "Pending",
6559 "nodeType": "MemberAccess",
6560 "referencedDeclaration": null,
6561 "src": "5735:14:33",
6562 "typeDescriptions": {
6563 "typeIdentifier": "t_enum$_Status_$8844",
6564 "typeString": "enum Dispatch.Status"
6565 }
6566 },
6567 "src": "5710:39:33",
6568 "typeDescriptions": {
6569 "typeIdentifier": "t_bool",
6570 "typeString": "bool"
6571 }
6572 },
6573 {
6574 "argumentTypes": null,
6575 "hexValue": "4572726f723a205175657279206973206e6f742070656e64696e67",
6576 "id": 9258,
6577 "isConstant": false,
6578 "isLValue": false,
6579 "isPure": true,
6580 "kind": "string",
6581 "lValueRequested": false,
6582 "nodeType": "Literal",
6583 "src": "5751:29:33",
6584 "subdenomination": null,
6585 "typeDescriptions": {
6586 "typeIdentifier": "t_stringliteral_9f7d2f19dc2458805632053e84959b861a963c6259d290d3506ac0341fc63414",
6587 "typeString": "literal_string \"Error: Query is not pending\""
6588 },
6589 "value": "Error: Query is not pending"
6590 }
6591 ],
6592 "expression": {
6593 "argumentTypes": [
6594 {
6595 "typeIdentifier": "t_bool",
6596 "typeString": "bool"
6597 },
6598 {
6599 "typeIdentifier": "t_stringliteral_9f7d2f19dc2458805632053e84959b861a963c6259d290d3506ac0341fc63414",
6600 "typeString": "literal_string \"Error: Query is not pending\""
6601 }
6602 ],
6603 "id": 9249,
6604 "name": "require",
6605 "nodeType": "Identifier",
6606 "overloadedDeclarations": [
6607 12095,
6608 12096
6609 ],
6610 "referencedDeclaration": 12096,
6611 "src": "5702:7:33",
6612 "typeDescriptions": {
6613 "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
6614 "typeString": "function (bool,string memory) pure"
6615 }
6616 },
6617 "id": 9259,
6618 "isConstant": false,
6619 "isLValue": false,
6620 "isPure": false,
6621 "kind": "functionCall",
6622 "lValueRequested": false,
6623 "names": [],
6624 "nodeType": "FunctionCall",
6625 "src": "5702:79:33",
6626 "typeDescriptions": {
6627 "typeIdentifier": "t_tuple$__$",
6628 "typeString": "tuple()"
6629 }
6630 },
6631 "id": 9260,
6632 "nodeType": "ExpressionStatement",
6633 "src": "5702:79:33"
6634 },
6635 {
6636 "expression": {
6637 "argumentTypes": null,
6638 "arguments": [
6639 {
6640 "argumentTypes": null,
6641 "id": 9262,
6642 "name": "id",
6643 "nodeType": "Identifier",
6644 "overloadedDeclarations": [],
6645 "referencedDeclaration": 9220,
6646 "src": "5832:2:33",
6647 "typeDescriptions": {
6648 "typeIdentifier": "t_uint256",
6649 "typeString": "uint256"
6650 }
6651 },
6652 {
6653 "argumentTypes": null,
6654 "hexValue": "74727565",
6655 "id": 9263,
6656 "isConstant": false,
6657 "isLValue": false,
6658 "isPure": true,
6659 "kind": "bool",
6660 "lValueRequested": false,
6661 "nodeType": "Literal",
6662 "src": "5836:4:33",
6663 "subdenomination": null,
6664 "typeDescriptions": {
6665 "typeIdentifier": "t_bool",
6666 "typeString": "bool"
6667 },
6668 "value": "true"
6669 }
6670 ],
6671 "expression": {
6672 "argumentTypes": [
6673 {
6674 "typeIdentifier": "t_uint256",
6675 "typeString": "uint256"
6676 },
6677 {
6678 "typeIdentifier": "t_bool",
6679 "typeString": "bool"
6680 }
6681 ],
6682 "id": 9261,
6683 "name": "setCanceled",
6684 "nodeType": "Identifier",
6685 "overloadedDeclarations": [],
6686 "referencedDeclaration": 9991,
6687 "src": "5820:11:33",
6688 "typeDescriptions": {
6689 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bool_$returns$__$",
6690 "typeString": "function (uint256,bool)"
6691 }
6692 },
6693 "id": 9264,
6694 "isConstant": false,
6695 "isLValue": false,
6696 "isPure": false,
6697 "kind": "functionCall",
6698 "lValueRequested": false,
6699 "names": [],
6700 "nodeType": "FunctionCall",
6701 "src": "5820:21:33",
6702 "typeDescriptions": {
6703 "typeIdentifier": "t_tuple$__$",
6704 "typeString": "tuple()"
6705 }
6706 },
6707 "id": 9265,
6708 "nodeType": "ExpressionStatement",
6709 "src": "5820:21:33"
6710 },
6711 {
6712 "expression": {
6713 "argumentTypes": null,
6714 "arguments": [
6715 {
6716 "argumentTypes": null,
6717 "id": 9269,
6718 "name": "subscriber",
6719 "nodeType": "Identifier",
6720 "overloadedDeclarations": [],
6721 "referencedDeclaration": 9224,
6722 "src": "5916:10:33",
6723 "typeDescriptions": {
6724 "typeIdentifier": "t_address",
6725 "typeString": "address"
6726 }
6727 },
6728 {
6729 "argumentTypes": null,
6730 "id": 9270,
6731 "name": "provider",
6732 "nodeType": "Identifier",
6733 "overloadedDeclarations": [],
6734 "referencedDeclaration": 9230,
6735 "src": "5928:8:33",
6736 "typeDescriptions": {
6737 "typeIdentifier": "t_address",
6738 "typeString": "address"
6739 }
6740 },
6741 {
6742 "argumentTypes": null,
6743 "id": 9271,
6744 "name": "endpoint",
6745 "nodeType": "Identifier",
6746 "overloadedDeclarations": [],
6747 "referencedDeclaration": 9236,
6748 "src": "5938:8:33",
6749 "typeDescriptions": {
6750 "typeIdentifier": "t_bytes32",
6751 "typeString": "bytes32"
6752 }
6753 },
6754 {
6755 "argumentTypes": null,
6756 "hexValue": "31",
6757 "id": 9272,
6758 "isConstant": false,
6759 "isLValue": false,
6760 "isPure": true,
6761 "kind": "number",
6762 "lValueRequested": false,
6763 "nodeType": "Literal",
6764 "src": "5948:1:33",
6765 "subdenomination": null,
6766 "typeDescriptions": {
6767 "typeIdentifier": "t_rational_1_by_1",
6768 "typeString": "int_const 1"
6769 },
6770 "value": "1"
6771 }
6772 ],
6773 "expression": {
6774 "argumentTypes": [
6775 {
6776 "typeIdentifier": "t_address",
6777 "typeString": "address"
6778 },
6779 {
6780 "typeIdentifier": "t_address",
6781 "typeString": "address"
6782 },
6783 {
6784 "typeIdentifier": "t_bytes32",
6785 "typeString": "bytes32"
6786 },
6787 {
6788 "typeIdentifier": "t_rational_1_by_1",
6789 "typeString": "int_const 1"
6790 }
6791 ],
6792 "expression": {
6793 "argumentTypes": null,
6794 "id": 9266,
6795 "name": "bondage",
6796 "nodeType": "Identifier",
6797 "overloadedDeclarations": [],
6798 "referencedDeclaration": 8961,
6799 "src": "5897:7:33",
6800 "typeDescriptions": {
6801 "typeIdentifier": "t_contract$_BondageInterface_$7926",
6802 "typeString": "contract BondageInterface"
6803 }
6804 },
6805 "id": 9268,
6806 "isConstant": false,
6807 "isLValue": false,
6808 "isPure": false,
6809 "lValueRequested": false,
6810 "memberName": "returnDots",
6811 "nodeType": "MemberAccess",
6812 "referencedDeclaration": 7865,
6813 "src": "5897:18:33",
6814 "typeDescriptions": {
6815 "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$returns$_t_bool_$",
6816 "typeString": "function (address,address,bytes32,uint256) external returns (bool)"
6817 }
6818 },
6819 "id": 9273,
6820 "isConstant": false,
6821 "isLValue": false,
6822 "isPure": false,
6823 "kind": "functionCall",
6824 "lValueRequested": false,
6825 "names": [],
6826 "nodeType": "FunctionCall",
6827 "src": "5897:53:33",
6828 "typeDescriptions": {
6829 "typeIdentifier": "t_bool",
6830 "typeString": "bool"
6831 }
6832 },
6833 "id": 9274,
6834 "nodeType": "ExpressionStatement",
6835 "src": "5897:53:33"
6836 },
6837 {
6838 "eventCall": {
6839 "argumentTypes": null,
6840 "arguments": [
6841 {
6842 "argumentTypes": null,
6843 "id": 9276,
6844 "name": "id",
6845 "nodeType": "Identifier",
6846 "overloadedDeclarations": [],
6847 "referencedDeclaration": 9220,
6848 "src": "6010:2:33",
6849 "typeDescriptions": {
6850 "typeIdentifier": "t_uint256",
6851 "typeString": "uint256"
6852 }
6853 },
6854 {
6855 "argumentTypes": null,
6856 "arguments": [
6857 {
6858 "argumentTypes": null,
6859 "id": 9278,
6860 "name": "id",
6861 "nodeType": "Identifier",
6862 "overloadedDeclarations": [],
6863 "referencedDeclaration": 9220,
6864 "src": "6028:2:33",
6865 "typeDescriptions": {
6866 "typeIdentifier": "t_uint256",
6867 "typeString": "uint256"
6868 }
6869 }
6870 ],
6871 "expression": {
6872 "argumentTypes": [
6873 {
6874 "typeIdentifier": "t_uint256",
6875 "typeString": "uint256"
6876 }
6877 ],
6878 "id": 9277,
6879 "name": "getSubscriber",
6880 "nodeType": "Identifier",
6881 "overloadedDeclarations": [
6882 9674
6883 ],
6884 "referencedDeclaration": 9674,
6885 "src": "6014:13:33",
6886 "typeDescriptions": {
6887 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
6888 "typeString": "function (uint256) view returns (address)"
6889 }
6890 },
6891 "id": 9279,
6892 "isConstant": false,
6893 "isLValue": false,
6894 "isPure": false,
6895 "kind": "functionCall",
6896 "lValueRequested": false,
6897 "names": [],
6898 "nodeType": "FunctionCall",
6899 "src": "6014:17:33",
6900 "typeDescriptions": {
6901 "typeIdentifier": "t_address",
6902 "typeString": "address"
6903 }
6904 },
6905 {
6906 "argumentTypes": null,
6907 "arguments": [
6908 {
6909 "argumentTypes": null,
6910 "id": 9281,
6911 "name": "id",
6912 "nodeType": "Identifier",
6913 "overloadedDeclarations": [],
6914 "referencedDeclaration": 9220,
6915 "src": "6045:2:33",
6916 "typeDescriptions": {
6917 "typeIdentifier": "t_uint256",
6918 "typeString": "uint256"
6919 }
6920 }
6921 ],
6922 "expression": {
6923 "argumentTypes": [
6924 {
6925 "typeIdentifier": "t_uint256",
6926 "typeString": "uint256"
6927 }
6928 ],
6929 "id": 9280,
6930 "name": "getProvider",
6931 "nodeType": "Identifier",
6932 "overloadedDeclarations": [
6933 9652
6934 ],
6935 "referencedDeclaration": 9652,
6936 "src": "6033:11:33",
6937 "typeDescriptions": {
6938 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
6939 "typeString": "function (uint256) view returns (address)"
6940 }
6941 },
6942 "id": 9282,
6943 "isConstant": false,
6944 "isLValue": false,
6945 "isPure": false,
6946 "kind": "functionCall",
6947 "lValueRequested": false,
6948 "names": [],
6949 "nodeType": "FunctionCall",
6950 "src": "6033:15:33",
6951 "typeDescriptions": {
6952 "typeIdentifier": "t_address",
6953 "typeString": "address"
6954 }
6955 }
6956 ],
6957 "expression": {
6958 "argumentTypes": [
6959 {
6960 "typeIdentifier": "t_uint256",
6961 "typeString": "uint256"
6962 },
6963 {
6964 "typeIdentifier": "t_address",
6965 "typeString": "address"
6966 },
6967 {
6968 "typeIdentifier": "t_address",
6969 "typeString": "address"
6970 }
6971 ],
6972 "id": 9275,
6973 "name": "CanceledRequest",
6974 "nodeType": "Identifier",
6975 "overloadedDeclarations": [],
6976 "referencedDeclaration": 8951,
6977 "src": "5994:15:33",
6978 "typeDescriptions": {
6979 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$__$",
6980 "typeString": "function (uint256,address,address)"
6981 }
6982 },
6983 "id": 9283,
6984 "isConstant": false,
6985 "isLValue": false,
6986 "isPure": false,
6987 "kind": "functionCall",
6988 "lValueRequested": false,
6989 "names": [],
6990 "nodeType": "FunctionCall",
6991 "src": "5994:55:33",
6992 "typeDescriptions": {
6993 "typeIdentifier": "t_tuple$__$",
6994 "typeString": "tuple()"
6995 }
6996 },
6997 "id": 9284,
6998 "nodeType": "EmitStatement",
6999 "src": "5989:60:33"
7000 }
7001 ]
7002 },
7003 "documentation": "@notice Cancel a query.\n @dev If responded on the same block, ignore the cancel.",
7004 "id": 9286,
7005 "implemented": true,
7006 "isConstructor": false,
7007 "isDeclaredConst": false,
7008 "modifiers": [],
7009 "name": "cancelQuery",
7010 "nodeType": "FunctionDefinition",
7011 "parameters": {
7012 "id": 9221,
7013 "nodeType": "ParameterList",
7014 "parameters": [
7015 {
7016 "constant": false,
7017 "id": 9220,
7018 "name": "id",
7019 "nodeType": "VariableDeclaration",
7020 "scope": 9286,
7021 "src": "5464:10:33",
7022 "stateVariable": false,
7023 "storageLocation": "default",
7024 "typeDescriptions": {
7025 "typeIdentifier": "t_uint256",
7026 "typeString": "uint256"
7027 },
7028 "typeName": {
7029 "id": 9219,
7030 "name": "uint256",
7031 "nodeType": "ElementaryTypeName",
7032 "src": "5464:7:33",
7033 "typeDescriptions": {
7034 "typeIdentifier": "t_uint256",
7035 "typeString": "uint256"
7036 }
7037 },
7038 "value": null,
7039 "visibility": "internal"
7040 }
7041 ],
7042 "src": "5463:12:33"
7043 },
7044 "payable": false,
7045 "returnParameters": {
7046 "id": 9222,
7047 "nodeType": "ParameterList",
7048 "parameters": [],
7049 "src": "5485:0:33"
7050 },
7051 "scope": 10008,
7052 "src": "5443:613:33",
7053 "stateMutability": "nonpayable",
7054 "superFunction": 10097,
7055 "visibility": "external"
7056 },
7057 {
7058 "body": {
7059 "id": 9339,
7060 "nodeType": "Block",
7061 "src": "6270:343:33",
7062 "statements": [
7063 {
7064 "condition": {
7065 "argumentTypes": null,
7066 "commonType": {
7067 "typeIdentifier": "t_bool",
7068 "typeString": "bool"
7069 },
7070 "id": 9306,
7071 "isConstant": false,
7072 "isLValue": false,
7073 "isPure": false,
7074 "lValueRequested": false,
7075 "leftExpression": {
7076 "argumentTypes": null,
7077 "commonType": {
7078 "typeIdentifier": "t_address",
7079 "typeString": "address"
7080 },
7081 "id": 9301,
7082 "isConstant": false,
7083 "isLValue": false,
7084 "isPure": false,
7085 "lValueRequested": false,
7086 "leftExpression": {
7087 "argumentTypes": null,
7088 "arguments": [
7089 {
7090 "argumentTypes": null,
7091 "id": 9297,
7092 "name": "id",
7093 "nodeType": "Identifier",
7094 "overloadedDeclarations": [],
7095 "referencedDeclaration": 9288,
7096 "src": "6296:2:33",
7097 "typeDescriptions": {
7098 "typeIdentifier": "t_uint256",
7099 "typeString": "uint256"
7100 }
7101 }
7102 ],
7103 "expression": {
7104 "argumentTypes": [
7105 {
7106 "typeIdentifier": "t_uint256",
7107 "typeString": "uint256"
7108 }
7109 ],
7110 "id": 9296,
7111 "name": "getProvider",
7112 "nodeType": "Identifier",
7113 "overloadedDeclarations": [
7114 9652
7115 ],
7116 "referencedDeclaration": 9652,
7117 "src": "6284:11:33",
7118 "typeDescriptions": {
7119 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
7120 "typeString": "function (uint256) view returns (address)"
7121 }
7122 },
7123 "id": 9298,
7124 "isConstant": false,
7125 "isLValue": false,
7126 "isPure": false,
7127 "kind": "functionCall",
7128 "lValueRequested": false,
7129 "names": [],
7130 "nodeType": "FunctionCall",
7131 "src": "6284:15:33",
7132 "typeDescriptions": {
7133 "typeIdentifier": "t_address",
7134 "typeString": "address"
7135 }
7136 },
7137 "nodeType": "BinaryOperation",
7138 "operator": "!=",
7139 "rightExpression": {
7140 "argumentTypes": null,
7141 "expression": {
7142 "argumentTypes": null,
7143 "id": 9299,
7144 "name": "msg",
7145 "nodeType": "Identifier",
7146 "overloadedDeclarations": [],
7147 "referencedDeclaration": 12092,
7148 "src": "6303:3:33",
7149 "typeDescriptions": {
7150 "typeIdentifier": "t_magic_message",
7151 "typeString": "msg"
7152 }
7153 },
7154 "id": 9300,
7155 "isConstant": false,
7156 "isLValue": false,
7157 "isPure": false,
7158 "lValueRequested": false,
7159 "memberName": "sender",
7160 "nodeType": "MemberAccess",
7161 "referencedDeclaration": null,
7162 "src": "6303:10:33",
7163 "typeDescriptions": {
7164 "typeIdentifier": "t_address",
7165 "typeString": "address"
7166 }
7167 },
7168 "src": "6284:29:33",
7169 "typeDescriptions": {
7170 "typeIdentifier": "t_bool",
7171 "typeString": "bool"
7172 }
7173 },
7174 "nodeType": "BinaryOperation",
7175 "operator": "||",
7176 "rightExpression": {
7177 "argumentTypes": null,
7178 "id": 9305,
7179 "isConstant": false,
7180 "isLValue": false,
7181 "isPure": false,
7182 "lValueRequested": false,
7183 "nodeType": "UnaryOperation",
7184 "operator": "!",
7185 "prefix": true,
7186 "src": "6317:17:33",
7187 "subExpression": {
7188 "argumentTypes": null,
7189 "arguments": [
7190 {
7191 "argumentTypes": null,
7192 "id": 9303,
7193 "name": "id",
7194 "nodeType": "Identifier",
7195 "overloadedDeclarations": [],
7196 "referencedDeclaration": 9288,
7197 "src": "6331:2:33",
7198 "typeDescriptions": {
7199 "typeIdentifier": "t_uint256",
7200 "typeString": "uint256"
7201 }
7202 }
7203 ],
7204 "expression": {
7205 "argumentTypes": [
7206 {
7207 "typeIdentifier": "t_uint256",
7208 "typeString": "uint256"
7209 }
7210 ],
7211 "id": 9302,
7212 "name": "fulfillQuery",
7213 "nodeType": "Identifier",
7214 "overloadedDeclarations": [],
7215 "referencedDeclaration": 9218,
7216 "src": "6318:12:33",
7217 "typeDescriptions": {
7218 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$",
7219 "typeString": "function (uint256) returns (bool)"
7220 }
7221 },
7222 "id": 9304,
7223 "isConstant": false,
7224 "isLValue": false,
7225 "isPure": false,
7226 "kind": "functionCall",
7227 "lValueRequested": false,
7228 "names": [],
7229 "nodeType": "FunctionCall",
7230 "src": "6318:16:33",
7231 "typeDescriptions": {
7232 "typeIdentifier": "t_bool",
7233 "typeString": "bool"
7234 }
7235 },
7236 "typeDescriptions": {
7237 "typeIdentifier": "t_bool",
7238 "typeString": "bool"
7239 }
7240 },
7241 "src": "6284:50:33",
7242 "typeDescriptions": {
7243 "typeIdentifier": "t_bool",
7244 "typeString": "bool"
7245 }
7246 },
7247 "falseBody": null,
7248 "id": 9310,
7249 "nodeType": "IfStatement",
7250 "src": "6280:76:33",
7251 "trueBody": {
7252 "expression": {
7253 "argumentTypes": null,
7254 "arguments": [],
7255 "expression": {
7256 "argumentTypes": [],
7257 "id": 9307,
7258 "name": "revert",
7259 "nodeType": "Identifier",
7260 "overloadedDeclarations": [
7261 12097,
7262 12098
7263 ],
7264 "referencedDeclaration": 12097,
7265 "src": "6348:6:33",
7266 "typeDescriptions": {
7267 "typeIdentifier": "t_function_revert_pure$__$returns$__$",
7268 "typeString": "function () pure"
7269 }
7270 },
7271 "id": 9308,
7272 "isConstant": false,
7273 "isLValue": false,
7274 "isPure": false,
7275 "kind": "functionCall",
7276 "lValueRequested": false,
7277 "names": [],
7278 "nodeType": "FunctionCall",
7279 "src": "6348:8:33",
7280 "typeDescriptions": {
7281 "typeIdentifier": "t_tuple$__$",
7282 "typeString": "tuple()"
7283 }
7284 },
7285 "id": 9309,
7286 "nodeType": "ExpressionStatement",
7287 "src": "6348:8:33"
7288 }
7289 },
7290 {
7291 "condition": {
7292 "argumentTypes": null,
7293 "arguments": [
7294 {
7295 "argumentTypes": null,
7296 "id": 9312,
7297 "name": "id",
7298 "nodeType": "Identifier",
7299 "overloadedDeclarations": [],
7300 "referencedDeclaration": 9288,
7301 "src": "6391:2:33",
7302 "typeDescriptions": {
7303 "typeIdentifier": "t_uint256",
7304 "typeString": "uint256"
7305 }
7306 }
7307 ],
7308 "expression": {
7309 "argumentTypes": [
7310 {
7311 "typeIdentifier": "t_uint256",
7312 "typeString": "uint256"
7313 }
7314 ],
7315 "id": 9311,
7316 "name": "getSubscriberOnchain",
7317 "nodeType": "Identifier",
7318 "overloadedDeclarations": [
7319 9783
7320 ],
7321 "referencedDeclaration": 9783,
7322 "src": "6370:20:33",
7323 "typeDescriptions": {
7324 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
7325 "typeString": "function (uint256) view returns (bool)"
7326 }
7327 },
7328 "id": 9313,
7329 "isConstant": false,
7330 "isLValue": false,
7331 "isPure": false,
7332 "kind": "functionCall",
7333 "lValueRequested": false,
7334 "names": [],
7335 "nodeType": "FunctionCall",
7336 "src": "6370:24:33",
7337 "typeDescriptions": {
7338 "typeIdentifier": "t_bool",
7339 "typeString": "bool"
7340 }
7341 },
7342 "falseBody": {
7343 "id": 9335,
7344 "nodeType": "Block",
7345 "src": "6495:91:33",
7346 "statements": [
7347 {
7348 "eventCall": {
7349 "argumentTypes": null,
7350 "arguments": [
7351 {
7352 "argumentTypes": null,
7353 "id": 9326,
7354 "name": "id",
7355 "nodeType": "Identifier",
7356 "overloadedDeclarations": [],
7357 "referencedDeclaration": 9288,
7358 "src": "6531:2:33",
7359 "typeDescriptions": {
7360 "typeIdentifier": "t_uint256",
7361 "typeString": "uint256"
7362 }
7363 },
7364 {
7365 "argumentTypes": null,
7366 "arguments": [
7367 {
7368 "argumentTypes": null,
7369 "id": 9328,
7370 "name": "id",
7371 "nodeType": "Identifier",
7372 "overloadedDeclarations": [],
7373 "referencedDeclaration": 9288,
7374 "src": "6549:2:33",
7375 "typeDescriptions": {
7376 "typeIdentifier": "t_uint256",
7377 "typeString": "uint256"
7378 }
7379 }
7380 ],
7381 "expression": {
7382 "argumentTypes": [
7383 {
7384 "typeIdentifier": "t_uint256",
7385 "typeString": "uint256"
7386 }
7387 ],
7388 "id": 9327,
7389 "name": "getSubscriber",
7390 "nodeType": "Identifier",
7391 "overloadedDeclarations": [
7392 9674
7393 ],
7394 "referencedDeclaration": 9674,
7395 "src": "6535:13:33",
7396 "typeDescriptions": {
7397 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
7398 "typeString": "function (uint256) view returns (address)"
7399 }
7400 },
7401 "id": 9329,
7402 "isConstant": false,
7403 "isLValue": false,
7404 "isPure": false,
7405 "kind": "functionCall",
7406 "lValueRequested": false,
7407 "names": [],
7408 "nodeType": "FunctionCall",
7409 "src": "6535:17:33",
7410 "typeDescriptions": {
7411 "typeIdentifier": "t_address",
7412 "typeString": "address"
7413 }
7414 },
7415 {
7416 "argumentTypes": null,
7417 "expression": {
7418 "argumentTypes": null,
7419 "id": 9330,
7420 "name": "msg",
7421 "nodeType": "Identifier",
7422 "overloadedDeclarations": [],
7423 "referencedDeclaration": 12092,
7424 "src": "6554:3:33",
7425 "typeDescriptions": {
7426 "typeIdentifier": "t_magic_message",
7427 "typeString": "msg"
7428 }
7429 },
7430 "id": 9331,
7431 "isConstant": false,
7432 "isLValue": false,
7433 "isPure": false,
7434 "lValueRequested": false,
7435 "memberName": "sender",
7436 "nodeType": "MemberAccess",
7437 "referencedDeclaration": null,
7438 "src": "6554:10:33",
7439 "typeDescriptions": {
7440 "typeIdentifier": "t_address",
7441 "typeString": "address"
7442 }
7443 },
7444 {
7445 "argumentTypes": null,
7446 "id": 9332,
7447 "name": "response",
7448 "nodeType": "Identifier",
7449 "overloadedDeclarations": [],
7450 "referencedDeclaration": 9291,
7451 "src": "6566:8:33",
7452 "typeDescriptions": {
7453 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
7454 "typeString": "bytes32[] calldata"
7455 }
7456 }
7457 ],
7458 "expression": {
7459 "argumentTypes": [
7460 {
7461 "typeIdentifier": "t_uint256",
7462 "typeString": "uint256"
7463 },
7464 {
7465 "typeIdentifier": "t_address",
7466 "typeString": "address"
7467 },
7468 {
7469 "typeIdentifier": "t_address",
7470 "typeString": "address"
7471 },
7472 {
7473 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
7474 "typeString": "bytes32[] calldata"
7475 }
7476 ],
7477 "id": 9325,
7478 "name": "OffchainResponse",
7479 "nodeType": "Identifier",
7480 "overloadedDeclarations": [],
7481 "referencedDeclaration": 8880,
7482 "src": "6514:16:33",
7483 "typeDescriptions": {
7484 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$",
7485 "typeString": "function (uint256,address,address,bytes32[] memory)"
7486 }
7487 },
7488 "id": 9333,
7489 "isConstant": false,
7490 "isLValue": false,
7491 "isPure": false,
7492 "kind": "functionCall",
7493 "lValueRequested": false,
7494 "names": [],
7495 "nodeType": "FunctionCall",
7496 "src": "6514:61:33",
7497 "typeDescriptions": {
7498 "typeIdentifier": "t_tuple$__$",
7499 "typeString": "tuple()"
7500 }
7501 },
7502 "id": 9334,
7503 "nodeType": "EmitStatement",
7504 "src": "6509:66:33"
7505 }
7506 ]
7507 },
7508 "id": 9336,
7509 "nodeType": "IfStatement",
7510 "src": "6366:220:33",
7511 "trueBody": {
7512 "id": 9324,
7513 "nodeType": "Block",
7514 "src": "6396:85:33",
7515 "statements": [
7516 {
7517 "expression": {
7518 "argumentTypes": null,
7519 "arguments": [
7520 {
7521 "argumentTypes": null,
7522 "id": 9320,
7523 "name": "id",
7524 "nodeType": "Identifier",
7525 "overloadedDeclarations": [],
7526 "referencedDeclaration": 9288,
7527 "src": "6457:2:33",
7528 "typeDescriptions": {
7529 "typeIdentifier": "t_uint256",
7530 "typeString": "uint256"
7531 }
7532 },
7533 {
7534 "argumentTypes": null,
7535 "id": 9321,
7536 "name": "response",
7537 "nodeType": "Identifier",
7538 "overloadedDeclarations": [],
7539 "referencedDeclaration": 9291,
7540 "src": "6461:8:33",
7541 "typeDescriptions": {
7542 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
7543 "typeString": "bytes32[] calldata"
7544 }
7545 }
7546 ],
7547 "expression": {
7548 "argumentTypes": [
7549 {
7550 "typeIdentifier": "t_uint256",
7551 "typeString": "uint256"
7552 },
7553 {
7554 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
7555 "typeString": "bytes32[] calldata"
7556 }
7557 ],
7558 "expression": {
7559 "argumentTypes": null,
7560 "arguments": [
7561 {
7562 "argumentTypes": null,
7563 "arguments": [
7564 {
7565 "argumentTypes": null,
7566 "id": 9316,
7567 "name": "id",
7568 "nodeType": "Identifier",
7569 "overloadedDeclarations": [],
7570 "referencedDeclaration": 9288,
7571 "src": "6443:2:33",
7572 "typeDescriptions": {
7573 "typeIdentifier": "t_uint256",
7574 "typeString": "uint256"
7575 }
7576 }
7577 ],
7578 "expression": {
7579 "argumentTypes": [
7580 {
7581 "typeIdentifier": "t_uint256",
7582 "typeString": "uint256"
7583 }
7584 ],
7585 "id": 9315,
7586 "name": "getSubscriber",
7587 "nodeType": "Identifier",
7588 "overloadedDeclarations": [
7589 9674
7590 ],
7591 "referencedDeclaration": 9674,
7592 "src": "6429:13:33",
7593 "typeDescriptions": {
7594 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
7595 "typeString": "function (uint256) view returns (address)"
7596 }
7597 },
7598 "id": 9317,
7599 "isConstant": false,
7600 "isLValue": false,
7601 "isPure": false,
7602 "kind": "functionCall",
7603 "lValueRequested": false,
7604 "names": [],
7605 "nodeType": "FunctionCall",
7606 "src": "6429:17:33",
7607 "typeDescriptions": {
7608 "typeIdentifier": "t_address",
7609 "typeString": "address"
7610 }
7611 }
7612 ],
7613 "expression": {
7614 "argumentTypes": [
7615 {
7616 "typeIdentifier": "t_address",
7617 "typeString": "address"
7618 }
7619 ],
7620 "id": 9314,
7621 "name": "ClientBytes32Array",
7622 "nodeType": "Identifier",
7623 "overloadedDeclarations": [],
7624 "referencedDeclaration": 860,
7625 "src": "6410:18:33",
7626 "typeDescriptions": {
7627 "typeIdentifier": "t_type$_t_contract$_ClientBytes32Array_$860_$",
7628 "typeString": "type(contract ClientBytes32Array)"
7629 }
7630 },
7631 "id": 9318,
7632 "isConstant": false,
7633 "isLValue": false,
7634 "isPure": false,
7635 "kind": "typeConversion",
7636 "lValueRequested": false,
7637 "names": [],
7638 "nodeType": "FunctionCall",
7639 "src": "6410:37:33",
7640 "typeDescriptions": {
7641 "typeIdentifier": "t_contract$_ClientBytes32Array_$860",
7642 "typeString": "contract ClientBytes32Array"
7643 }
7644 },
7645 "id": 9319,
7646 "isConstant": false,
7647 "isLValue": false,
7648 "isPure": false,
7649 "lValueRequested": false,
7650 "memberName": "callback",
7651 "nodeType": "MemberAccess",
7652 "referencedDeclaration": 859,
7653 "src": "6410:46:33",
7654 "typeDescriptions": {
7655 "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$",
7656 "typeString": "function (uint256,bytes32[] memory) external"
7657 }
7658 },
7659 "id": 9322,
7660 "isConstant": false,
7661 "isLValue": false,
7662 "isPure": false,
7663 "kind": "functionCall",
7664 "lValueRequested": false,
7665 "names": [],
7666 "nodeType": "FunctionCall",
7667 "src": "6410:60:33",
7668 "typeDescriptions": {
7669 "typeIdentifier": "t_tuple$__$",
7670 "typeString": "tuple()"
7671 }
7672 },
7673 "id": 9323,
7674 "nodeType": "ExpressionStatement",
7675 "src": "6410:60:33"
7676 }
7677 ]
7678 }
7679 },
7680 {
7681 "expression": {
7682 "argumentTypes": null,
7683 "hexValue": "74727565",
7684 "id": 9337,
7685 "isConstant": false,
7686 "isLValue": false,
7687 "isPure": true,
7688 "kind": "bool",
7689 "lValueRequested": false,
7690 "nodeType": "Literal",
7691 "src": "6602:4:33",
7692 "subdenomination": null,
7693 "typeDescriptions": {
7694 "typeIdentifier": "t_bool",
7695 "typeString": "bool"
7696 },
7697 "value": "true"
7698 },
7699 "functionReturnParameters": 9295,
7700 "id": 9338,
7701 "nodeType": "Return",
7702 "src": "6595:11:33"
7703 }
7704 ]
7705 },
7706 "documentation": "@dev Parameter-count specific method called by data provider in response",
7707 "id": 9340,
7708 "implemented": true,
7709 "isConstructor": false,
7710 "isDeclaredConst": false,
7711 "modifiers": [],
7712 "name": "respondBytes32Array",
7713 "nodeType": "FunctionDefinition",
7714 "parameters": {
7715 "id": 9292,
7716 "nodeType": "ParameterList",
7717 "parameters": [
7718 {
7719 "constant": false,
7720 "id": 9288,
7721 "name": "id",
7722 "nodeType": "VariableDeclaration",
7723 "scope": 9340,
7724 "src": "6181:10:33",
7725 "stateVariable": false,
7726 "storageLocation": "default",
7727 "typeDescriptions": {
7728 "typeIdentifier": "t_uint256",
7729 "typeString": "uint256"
7730 },
7731 "typeName": {
7732 "id": 9287,
7733 "name": "uint256",
7734 "nodeType": "ElementaryTypeName",
7735 "src": "6181:7:33",
7736 "typeDescriptions": {
7737 "typeIdentifier": "t_uint256",
7738 "typeString": "uint256"
7739 }
7740 },
7741 "value": null,
7742 "visibility": "internal"
7743 },
7744 {
7745 "constant": false,
7746 "id": 9291,
7747 "name": "response",
7748 "nodeType": "VariableDeclaration",
7749 "scope": 9340,
7750 "src": "6201:18:33",
7751 "stateVariable": false,
7752 "storageLocation": "default",
7753 "typeDescriptions": {
7754 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
7755 "typeString": "bytes32[]"
7756 },
7757 "typeName": {
7758 "baseType": {
7759 "id": 9289,
7760 "name": "bytes32",
7761 "nodeType": "ElementaryTypeName",
7762 "src": "6201:7:33",
7763 "typeDescriptions": {
7764 "typeIdentifier": "t_bytes32",
7765 "typeString": "bytes32"
7766 }
7767 },
7768 "id": 9290,
7769 "length": null,
7770 "nodeType": "ArrayTypeName",
7771 "src": "6201:9:33",
7772 "typeDescriptions": {
7773 "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
7774 "typeString": "bytes32[]"
7775 }
7776 },
7777 "value": null,
7778 "visibility": "internal"
7779 }
7780 ],
7781 "src": "6171:54:33"
7782 },
7783 "payable": false,
7784 "returnParameters": {
7785 "id": 9295,
7786 "nodeType": "ParameterList",
7787 "parameters": [
7788 {
7789 "constant": false,
7790 "id": 9294,
7791 "name": "",
7792 "nodeType": "VariableDeclaration",
7793 "scope": 9340,
7794 "src": "6260:4:33",
7795 "stateVariable": false,
7796 "storageLocation": "default",
7797 "typeDescriptions": {
7798 "typeIdentifier": "t_bool",
7799 "typeString": "bool"
7800 },
7801 "typeName": {
7802 "id": 9293,
7803 "name": "bool",
7804 "nodeType": "ElementaryTypeName",
7805 "src": "6260:4:33",
7806 "typeDescriptions": {
7807 "typeIdentifier": "t_bool",
7808 "typeString": "bool"
7809 }
7810 },
7811 "value": null,
7812 "visibility": "internal"
7813 }
7814 ],
7815 "src": "6259:6:33"
7816 },
7817 "scope": 10008,
7818 "src": "6143:470:33",
7819 "stateMutability": "nonpayable",
7820 "superFunction": 10082,
7821 "visibility": "external"
7822 },
7823 {
7824 "body": {
7825 "id": 9393,
7826 "nodeType": "Block",
7827 "src": "6819:342:33",
7828 "statements": [
7829 {
7830 "condition": {
7831 "argumentTypes": null,
7832 "commonType": {
7833 "typeIdentifier": "t_bool",
7834 "typeString": "bool"
7835 },
7836 "id": 9360,
7837 "isConstant": false,
7838 "isLValue": false,
7839 "isPure": false,
7840 "lValueRequested": false,
7841 "leftExpression": {
7842 "argumentTypes": null,
7843 "commonType": {
7844 "typeIdentifier": "t_address",
7845 "typeString": "address"
7846 },
7847 "id": 9355,
7848 "isConstant": false,
7849 "isLValue": false,
7850 "isPure": false,
7851 "lValueRequested": false,
7852 "leftExpression": {
7853 "argumentTypes": null,
7854 "arguments": [
7855 {
7856 "argumentTypes": null,
7857 "id": 9351,
7858 "name": "id",
7859 "nodeType": "Identifier",
7860 "overloadedDeclarations": [],
7861 "referencedDeclaration": 9342,
7862 "src": "6845:2:33",
7863 "typeDescriptions": {
7864 "typeIdentifier": "t_uint256",
7865 "typeString": "uint256"
7866 }
7867 }
7868 ],
7869 "expression": {
7870 "argumentTypes": [
7871 {
7872 "typeIdentifier": "t_uint256",
7873 "typeString": "uint256"
7874 }
7875 ],
7876 "id": 9350,
7877 "name": "getProvider",
7878 "nodeType": "Identifier",
7879 "overloadedDeclarations": [
7880 9652
7881 ],
7882 "referencedDeclaration": 9652,
7883 "src": "6833:11:33",
7884 "typeDescriptions": {
7885 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
7886 "typeString": "function (uint256) view returns (address)"
7887 }
7888 },
7889 "id": 9352,
7890 "isConstant": false,
7891 "isLValue": false,
7892 "isPure": false,
7893 "kind": "functionCall",
7894 "lValueRequested": false,
7895 "names": [],
7896 "nodeType": "FunctionCall",
7897 "src": "6833:15:33",
7898 "typeDescriptions": {
7899 "typeIdentifier": "t_address",
7900 "typeString": "address"
7901 }
7902 },
7903 "nodeType": "BinaryOperation",
7904 "operator": "!=",
7905 "rightExpression": {
7906 "argumentTypes": null,
7907 "expression": {
7908 "argumentTypes": null,
7909 "id": 9353,
7910 "name": "msg",
7911 "nodeType": "Identifier",
7912 "overloadedDeclarations": [],
7913 "referencedDeclaration": 12092,
7914 "src": "6852:3:33",
7915 "typeDescriptions": {
7916 "typeIdentifier": "t_magic_message",
7917 "typeString": "msg"
7918 }
7919 },
7920 "id": 9354,
7921 "isConstant": false,
7922 "isLValue": false,
7923 "isPure": false,
7924 "lValueRequested": false,
7925 "memberName": "sender",
7926 "nodeType": "MemberAccess",
7927 "referencedDeclaration": null,
7928 "src": "6852:10:33",
7929 "typeDescriptions": {
7930 "typeIdentifier": "t_address",
7931 "typeString": "address"
7932 }
7933 },
7934 "src": "6833:29:33",
7935 "typeDescriptions": {
7936 "typeIdentifier": "t_bool",
7937 "typeString": "bool"
7938 }
7939 },
7940 "nodeType": "BinaryOperation",
7941 "operator": "||",
7942 "rightExpression": {
7943 "argumentTypes": null,
7944 "id": 9359,
7945 "isConstant": false,
7946 "isLValue": false,
7947 "isPure": false,
7948 "lValueRequested": false,
7949 "nodeType": "UnaryOperation",
7950 "operator": "!",
7951 "prefix": true,
7952 "src": "6866:17:33",
7953 "subExpression": {
7954 "argumentTypes": null,
7955 "arguments": [
7956 {
7957 "argumentTypes": null,
7958 "id": 9357,
7959 "name": "id",
7960 "nodeType": "Identifier",
7961 "overloadedDeclarations": [],
7962 "referencedDeclaration": 9342,
7963 "src": "6880:2:33",
7964 "typeDescriptions": {
7965 "typeIdentifier": "t_uint256",
7966 "typeString": "uint256"
7967 }
7968 }
7969 ],
7970 "expression": {
7971 "argumentTypes": [
7972 {
7973 "typeIdentifier": "t_uint256",
7974 "typeString": "uint256"
7975 }
7976 ],
7977 "id": 9356,
7978 "name": "fulfillQuery",
7979 "nodeType": "Identifier",
7980 "overloadedDeclarations": [],
7981 "referencedDeclaration": 9218,
7982 "src": "6867:12:33",
7983 "typeDescriptions": {
7984 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$",
7985 "typeString": "function (uint256) returns (bool)"
7986 }
7987 },
7988 "id": 9358,
7989 "isConstant": false,
7990 "isLValue": false,
7991 "isPure": false,
7992 "kind": "functionCall",
7993 "lValueRequested": false,
7994 "names": [],
7995 "nodeType": "FunctionCall",
7996 "src": "6867:16:33",
7997 "typeDescriptions": {
7998 "typeIdentifier": "t_bool",
7999 "typeString": "bool"
8000 }
8001 },
8002 "typeDescriptions": {
8003 "typeIdentifier": "t_bool",
8004 "typeString": "bool"
8005 }
8006 },
8007 "src": "6833:50:33",
8008 "typeDescriptions": {
8009 "typeIdentifier": "t_bool",
8010 "typeString": "bool"
8011 }
8012 },
8013 "falseBody": null,
8014 "id": 9364,
8015 "nodeType": "IfStatement",
8016 "src": "6829:76:33",
8017 "trueBody": {
8018 "expression": {
8019 "argumentTypes": null,
8020 "arguments": [],
8021 "expression": {
8022 "argumentTypes": [],
8023 "id": 9361,
8024 "name": "revert",
8025 "nodeType": "Identifier",
8026 "overloadedDeclarations": [
8027 12097,
8028 12098
8029 ],
8030 "referencedDeclaration": 12097,
8031 "src": "6897:6:33",
8032 "typeDescriptions": {
8033 "typeIdentifier": "t_function_revert_pure$__$returns$__$",
8034 "typeString": "function () pure"
8035 }
8036 },
8037 "id": 9362,
8038 "isConstant": false,
8039 "isLValue": false,
8040 "isPure": false,
8041 "kind": "functionCall",
8042 "lValueRequested": false,
8043 "names": [],
8044 "nodeType": "FunctionCall",
8045 "src": "6897:8:33",
8046 "typeDescriptions": {
8047 "typeIdentifier": "t_tuple$__$",
8048 "typeString": "tuple()"
8049 }
8050 },
8051 "id": 9363,
8052 "nodeType": "ExpressionStatement",
8053 "src": "6897:8:33"
8054 }
8055 },
8056 {
8057 "condition": {
8058 "argumentTypes": null,
8059 "arguments": [
8060 {
8061 "argumentTypes": null,
8062 "id": 9366,
8063 "name": "id",
8064 "nodeType": "Identifier",
8065 "overloadedDeclarations": [],
8066 "referencedDeclaration": 9342,
8067 "src": "6940:2:33",
8068 "typeDescriptions": {
8069 "typeIdentifier": "t_uint256",
8070 "typeString": "uint256"
8071 }
8072 }
8073 ],
8074 "expression": {
8075 "argumentTypes": [
8076 {
8077 "typeIdentifier": "t_uint256",
8078 "typeString": "uint256"
8079 }
8080 ],
8081 "id": 9365,
8082 "name": "getSubscriberOnchain",
8083 "nodeType": "Identifier",
8084 "overloadedDeclarations": [
8085 9783
8086 ],
8087 "referencedDeclaration": 9783,
8088 "src": "6919:20:33",
8089 "typeDescriptions": {
8090 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
8091 "typeString": "function (uint256) view returns (bool)"
8092 }
8093 },
8094 "id": 9367,
8095 "isConstant": false,
8096 "isLValue": false,
8097 "isPure": false,
8098 "kind": "functionCall",
8099 "lValueRequested": false,
8100 "names": [],
8101 "nodeType": "FunctionCall",
8102 "src": "6919:24:33",
8103 "typeDescriptions": {
8104 "typeIdentifier": "t_bool",
8105 "typeString": "bool"
8106 }
8107 },
8108 "falseBody": {
8109 "id": 9389,
8110 "nodeType": "Block",
8111 "src": "7040:94:33",
8112 "statements": [
8113 {
8114 "eventCall": {
8115 "argumentTypes": null,
8116 "arguments": [
8117 {
8118 "argumentTypes": null,
8119 "id": 9380,
8120 "name": "id",
8121 "nodeType": "Identifier",
8122 "overloadedDeclarations": [],
8123 "referencedDeclaration": 9342,
8124 "src": "7079:2:33",
8125 "typeDescriptions": {
8126 "typeIdentifier": "t_uint256",
8127 "typeString": "uint256"
8128 }
8129 },
8130 {
8131 "argumentTypes": null,
8132 "arguments": [
8133 {
8134 "argumentTypes": null,
8135 "id": 9382,
8136 "name": "id",
8137 "nodeType": "Identifier",
8138 "overloadedDeclarations": [],
8139 "referencedDeclaration": 9342,
8140 "src": "7097:2:33",
8141 "typeDescriptions": {
8142 "typeIdentifier": "t_uint256",
8143 "typeString": "uint256"
8144 }
8145 }
8146 ],
8147 "expression": {
8148 "argumentTypes": [
8149 {
8150 "typeIdentifier": "t_uint256",
8151 "typeString": "uint256"
8152 }
8153 ],
8154 "id": 9381,
8155 "name": "getSubscriber",
8156 "nodeType": "Identifier",
8157 "overloadedDeclarations": [
8158 9674
8159 ],
8160 "referencedDeclaration": 9674,
8161 "src": "7083:13:33",
8162 "typeDescriptions": {
8163 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
8164 "typeString": "function (uint256) view returns (address)"
8165 }
8166 },
8167 "id": 9383,
8168 "isConstant": false,
8169 "isLValue": false,
8170 "isPure": false,
8171 "kind": "functionCall",
8172 "lValueRequested": false,
8173 "names": [],
8174 "nodeType": "FunctionCall",
8175 "src": "7083:17:33",
8176 "typeDescriptions": {
8177 "typeIdentifier": "t_address",
8178 "typeString": "address"
8179 }
8180 },
8181 {
8182 "argumentTypes": null,
8183 "expression": {
8184 "argumentTypes": null,
8185 "id": 9384,
8186 "name": "msg",
8187 "nodeType": "Identifier",
8188 "overloadedDeclarations": [],
8189 "referencedDeclaration": 12092,
8190 "src": "7102:3:33",
8191 "typeDescriptions": {
8192 "typeIdentifier": "t_magic_message",
8193 "typeString": "msg"
8194 }
8195 },
8196 "id": 9385,
8197 "isConstant": false,
8198 "isLValue": false,
8199 "isPure": false,
8200 "lValueRequested": false,
8201 "memberName": "sender",
8202 "nodeType": "MemberAccess",
8203 "referencedDeclaration": null,
8204 "src": "7102:10:33",
8205 "typeDescriptions": {
8206 "typeIdentifier": "t_address",
8207 "typeString": "address"
8208 }
8209 },
8210 {
8211 "argumentTypes": null,
8212 "id": 9386,
8213 "name": "response",
8214 "nodeType": "Identifier",
8215 "overloadedDeclarations": [],
8216 "referencedDeclaration": 9345,
8217 "src": "7114:8:33",
8218 "typeDescriptions": {
8219 "typeIdentifier": "t_array$_t_int256_$dyn_calldata_ptr",
8220 "typeString": "int256[] calldata"
8221 }
8222 }
8223 ],
8224 "expression": {
8225 "argumentTypes": [
8226 {
8227 "typeIdentifier": "t_uint256",
8228 "typeString": "uint256"
8229 },
8230 {
8231 "typeIdentifier": "t_address",
8232 "typeString": "address"
8233 },
8234 {
8235 "typeIdentifier": "t_address",
8236 "typeString": "address"
8237 },
8238 {
8239 "typeIdentifier": "t_array$_t_int256_$dyn_calldata_ptr",
8240 "typeString": "int256[] calldata"
8241 }
8242 ],
8243 "id": 9379,
8244 "name": "OffchainResponseInt",
8245 "nodeType": "Identifier",
8246 "overloadedDeclarations": [],
8247 "referencedDeclaration": 8891,
8248 "src": "7059:19:33",
8249 "typeDescriptions": {
8250 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$",
8251 "typeString": "function (uint256,address,address,int256[] memory)"
8252 }
8253 },
8254 "id": 9387,
8255 "isConstant": false,
8256 "isLValue": false,
8257 "isPure": false,
8258 "kind": "functionCall",
8259 "lValueRequested": false,
8260 "names": [],
8261 "nodeType": "FunctionCall",
8262 "src": "7059:64:33",
8263 "typeDescriptions": {
8264 "typeIdentifier": "t_tuple$__$",
8265 "typeString": "tuple()"
8266 }
8267 },
8268 "id": 9388,
8269 "nodeType": "EmitStatement",
8270 "src": "7054:69:33"
8271 }
8272 ]
8273 },
8274 "id": 9390,
8275 "nodeType": "IfStatement",
8276 "src": "6915:219:33",
8277 "trueBody": {
8278 "id": 9378,
8279 "nodeType": "Block",
8280 "src": "6945:81:33",
8281 "statements": [
8282 {
8283 "expression": {
8284 "argumentTypes": null,
8285 "arguments": [
8286 {
8287 "argumentTypes": null,
8288 "id": 9374,
8289 "name": "id",
8290 "nodeType": "Identifier",
8291 "overloadedDeclarations": [],
8292 "referencedDeclaration": 9342,
8293 "src": "7002:2:33",
8294 "typeDescriptions": {
8295 "typeIdentifier": "t_uint256",
8296 "typeString": "uint256"
8297 }
8298 },
8299 {
8300 "argumentTypes": null,
8301 "id": 9375,
8302 "name": "response",
8303 "nodeType": "Identifier",
8304 "overloadedDeclarations": [],
8305 "referencedDeclaration": 9345,
8306 "src": "7006:8:33",
8307 "typeDescriptions": {
8308 "typeIdentifier": "t_array$_t_int256_$dyn_calldata_ptr",
8309 "typeString": "int256[] calldata"
8310 }
8311 }
8312 ],
8313 "expression": {
8314 "argumentTypes": [
8315 {
8316 "typeIdentifier": "t_uint256",
8317 "typeString": "uint256"
8318 },
8319 {
8320 "typeIdentifier": "t_array$_t_int256_$dyn_calldata_ptr",
8321 "typeString": "int256[] calldata"
8322 }
8323 ],
8324 "expression": {
8325 "argumentTypes": null,
8326 "arguments": [
8327 {
8328 "argumentTypes": null,
8329 "arguments": [
8330 {
8331 "argumentTypes": null,
8332 "id": 9370,
8333 "name": "id",
8334 "nodeType": "Identifier",
8335 "overloadedDeclarations": [],
8336 "referencedDeclaration": 9342,
8337 "src": "6988:2:33",
8338 "typeDescriptions": {
8339 "typeIdentifier": "t_uint256",
8340 "typeString": "uint256"
8341 }
8342 }
8343 ],
8344 "expression": {
8345 "argumentTypes": [
8346 {
8347 "typeIdentifier": "t_uint256",
8348 "typeString": "uint256"
8349 }
8350 ],
8351 "id": 9369,
8352 "name": "getSubscriber",
8353 "nodeType": "Identifier",
8354 "overloadedDeclarations": [
8355 9674
8356 ],
8357 "referencedDeclaration": 9674,
8358 "src": "6974:13:33",
8359 "typeDescriptions": {
8360 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
8361 "typeString": "function (uint256) view returns (address)"
8362 }
8363 },
8364 "id": 9371,
8365 "isConstant": false,
8366 "isLValue": false,
8367 "isPure": false,
8368 "kind": "functionCall",
8369 "lValueRequested": false,
8370 "names": [],
8371 "nodeType": "FunctionCall",
8372 "src": "6974:17:33",
8373 "typeDescriptions": {
8374 "typeIdentifier": "t_address",
8375 "typeString": "address"
8376 }
8377 }
8378 ],
8379 "expression": {
8380 "argumentTypes": [
8381 {
8382 "typeIdentifier": "t_address",
8383 "typeString": "address"
8384 }
8385 ],
8386 "id": 9368,
8387 "name": "ClientIntArray",
8388 "nodeType": "Identifier",
8389 "overloadedDeclarations": [],
8390 "referencedDeclaration": 869,
8391 "src": "6959:14:33",
8392 "typeDescriptions": {
8393 "typeIdentifier": "t_type$_t_contract$_ClientIntArray_$869_$",
8394 "typeString": "type(contract ClientIntArray)"
8395 }
8396 },
8397 "id": 9372,
8398 "isConstant": false,
8399 "isLValue": false,
8400 "isPure": false,
8401 "kind": "typeConversion",
8402 "lValueRequested": false,
8403 "names": [],
8404 "nodeType": "FunctionCall",
8405 "src": "6959:33:33",
8406 "typeDescriptions": {
8407 "typeIdentifier": "t_contract$_ClientIntArray_$869",
8408 "typeString": "contract ClientIntArray"
8409 }
8410 },
8411 "id": 9373,
8412 "isConstant": false,
8413 "isLValue": false,
8414 "isPure": false,
8415 "lValueRequested": false,
8416 "memberName": "callback",
8417 "nodeType": "MemberAccess",
8418 "referencedDeclaration": 868,
8419 "src": "6959:42:33",
8420 "typeDescriptions": {
8421 "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$",
8422 "typeString": "function (uint256,int256[] memory) external"
8423 }
8424 },
8425 "id": 9376,
8426 "isConstant": false,
8427 "isLValue": false,
8428 "isPure": false,
8429 "kind": "functionCall",
8430 "lValueRequested": false,
8431 "names": [],
8432 "nodeType": "FunctionCall",
8433 "src": "6959:56:33",
8434 "typeDescriptions": {
8435 "typeIdentifier": "t_tuple$__$",
8436 "typeString": "tuple()"
8437 }
8438 },
8439 "id": 9377,
8440 "nodeType": "ExpressionStatement",
8441 "src": "6959:56:33"
8442 }
8443 ]
8444 }
8445 },
8446 {
8447 "expression": {
8448 "argumentTypes": null,
8449 "hexValue": "74727565",
8450 "id": 9391,
8451 "isConstant": false,
8452 "isLValue": false,
8453 "isPure": true,
8454 "kind": "bool",
8455 "lValueRequested": false,
8456 "nodeType": "Literal",
8457 "src": "7150:4:33",
8458 "subdenomination": null,
8459 "typeDescriptions": {
8460 "typeIdentifier": "t_bool",
8461 "typeString": "bool"
8462 },
8463 "value": "true"
8464 },
8465 "functionReturnParameters": 9349,
8466 "id": 9392,
8467 "nodeType": "Return",
8468 "src": "7143:11:33"
8469 }
8470 ]
8471 },
8472 "documentation": "@dev Parameter-count specific method called by data provider in response",
8473 "id": 9394,
8474 "implemented": true,
8475 "isConstructor": false,
8476 "isDeclaredConst": false,
8477 "modifiers": [],
8478 "name": "respondIntArray",
8479 "nodeType": "FunctionDefinition",
8480 "parameters": {
8481 "id": 9346,
8482 "nodeType": "ParameterList",
8483 "parameters": [
8484 {
8485 "constant": false,
8486 "id": 9342,
8487 "name": "id",
8488 "nodeType": "VariableDeclaration",
8489 "scope": 9394,
8490 "src": "6734:10:33",
8491 "stateVariable": false,
8492 "storageLocation": "default",
8493 "typeDescriptions": {
8494 "typeIdentifier": "t_uint256",
8495 "typeString": "uint256"
8496 },
8497 "typeName": {
8498 "id": 9341,
8499 "name": "uint256",
8500 "nodeType": "ElementaryTypeName",
8501 "src": "6734:7:33",
8502 "typeDescriptions": {
8503 "typeIdentifier": "t_uint256",
8504 "typeString": "uint256"
8505 }
8506 },
8507 "value": null,
8508 "visibility": "internal"
8509 },
8510 {
8511 "constant": false,
8512 "id": 9345,
8513 "name": "response",
8514 "nodeType": "VariableDeclaration",
8515 "scope": 9394,
8516 "src": "6754:14:33",
8517 "stateVariable": false,
8518 "storageLocation": "default",
8519 "typeDescriptions": {
8520 "typeIdentifier": "t_array$_t_int256_$dyn_calldata_ptr",
8521 "typeString": "int256[]"
8522 },
8523 "typeName": {
8524 "baseType": {
8525 "id": 9343,
8526 "name": "int",
8527 "nodeType": "ElementaryTypeName",
8528 "src": "6754:3:33",
8529 "typeDescriptions": {
8530 "typeIdentifier": "t_int256",
8531 "typeString": "int256"
8532 }
8533 },
8534 "id": 9344,
8535 "length": null,
8536 "nodeType": "ArrayTypeName",
8537 "src": "6754:5:33",
8538 "typeDescriptions": {
8539 "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr",
8540 "typeString": "int256[]"
8541 }
8542 },
8543 "value": null,
8544 "visibility": "internal"
8545 }
8546 ],
8547 "src": "6724:50:33"
8548 },
8549 "payable": false,
8550 "returnParameters": {
8551 "id": 9349,
8552 "nodeType": "ParameterList",
8553 "parameters": [
8554 {
8555 "constant": false,
8556 "id": 9348,
8557 "name": "",
8558 "nodeType": "VariableDeclaration",
8559 "scope": 9394,
8560 "src": "6809:4:33",
8561 "stateVariable": false,
8562 "storageLocation": "default",
8563 "typeDescriptions": {
8564 "typeIdentifier": "t_bool",
8565 "typeString": "bool"
8566 },
8567 "typeName": {
8568 "id": 9347,
8569 "name": "bool",
8570 "nodeType": "ElementaryTypeName",
8571 "src": "6809:4:33",
8572 "typeDescriptions": {
8573 "typeIdentifier": "t_bool",
8574 "typeString": "bool"
8575 }
8576 },
8577 "value": null,
8578 "visibility": "internal"
8579 }
8580 ],
8581 "src": "6808:6:33"
8582 },
8583 "scope": 10008,
8584 "src": "6700:461:33",
8585 "stateMutability": "nonpayable",
8586 "superFunction": 10092,
8587 "visibility": "external"
8588 },
8589 {
8590 "body": {
8591 "id": 9446,
8592 "nodeType": "Block",
8593 "src": "7362:332:33",
8594 "statements": [
8595 {
8596 "condition": {
8597 "argumentTypes": null,
8598 "commonType": {
8599 "typeIdentifier": "t_bool",
8600 "typeString": "bool"
8601 },
8602 "id": 9413,
8603 "isConstant": false,
8604 "isLValue": false,
8605 "isPure": false,
8606 "lValueRequested": false,
8607 "leftExpression": {
8608 "argumentTypes": null,
8609 "commonType": {
8610 "typeIdentifier": "t_address",
8611 "typeString": "address"
8612 },
8613 "id": 9408,
8614 "isConstant": false,
8615 "isLValue": false,
8616 "isPure": false,
8617 "lValueRequested": false,
8618 "leftExpression": {
8619 "argumentTypes": null,
8620 "arguments": [
8621 {
8622 "argumentTypes": null,
8623 "id": 9404,
8624 "name": "id",
8625 "nodeType": "Identifier",
8626 "overloadedDeclarations": [],
8627 "referencedDeclaration": 9396,
8628 "src": "7388:2:33",
8629 "typeDescriptions": {
8630 "typeIdentifier": "t_uint256",
8631 "typeString": "uint256"
8632 }
8633 }
8634 ],
8635 "expression": {
8636 "argumentTypes": [
8637 {
8638 "typeIdentifier": "t_uint256",
8639 "typeString": "uint256"
8640 }
8641 ],
8642 "id": 9403,
8643 "name": "getProvider",
8644 "nodeType": "Identifier",
8645 "overloadedDeclarations": [
8646 9652
8647 ],
8648 "referencedDeclaration": 9652,
8649 "src": "7376:11:33",
8650 "typeDescriptions": {
8651 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
8652 "typeString": "function (uint256) view returns (address)"
8653 }
8654 },
8655 "id": 9405,
8656 "isConstant": false,
8657 "isLValue": false,
8658 "isPure": false,
8659 "kind": "functionCall",
8660 "lValueRequested": false,
8661 "names": [],
8662 "nodeType": "FunctionCall",
8663 "src": "7376:15:33",
8664 "typeDescriptions": {
8665 "typeIdentifier": "t_address",
8666 "typeString": "address"
8667 }
8668 },
8669 "nodeType": "BinaryOperation",
8670 "operator": "!=",
8671 "rightExpression": {
8672 "argumentTypes": null,
8673 "expression": {
8674 "argumentTypes": null,
8675 "id": 9406,
8676 "name": "msg",
8677 "nodeType": "Identifier",
8678 "overloadedDeclarations": [],
8679 "referencedDeclaration": 12092,
8680 "src": "7395:3:33",
8681 "typeDescriptions": {
8682 "typeIdentifier": "t_magic_message",
8683 "typeString": "msg"
8684 }
8685 },
8686 "id": 9407,
8687 "isConstant": false,
8688 "isLValue": false,
8689 "isPure": false,
8690 "lValueRequested": false,
8691 "memberName": "sender",
8692 "nodeType": "MemberAccess",
8693 "referencedDeclaration": null,
8694 "src": "7395:10:33",
8695 "typeDescriptions": {
8696 "typeIdentifier": "t_address",
8697 "typeString": "address"
8698 }
8699 },
8700 "src": "7376:29:33",
8701 "typeDescriptions": {
8702 "typeIdentifier": "t_bool",
8703 "typeString": "bool"
8704 }
8705 },
8706 "nodeType": "BinaryOperation",
8707 "operator": "||",
8708 "rightExpression": {
8709 "argumentTypes": null,
8710 "id": 9412,
8711 "isConstant": false,
8712 "isLValue": false,
8713 "isPure": false,
8714 "lValueRequested": false,
8715 "nodeType": "UnaryOperation",
8716 "operator": "!",
8717 "prefix": true,
8718 "src": "7409:17:33",
8719 "subExpression": {
8720 "argumentTypes": null,
8721 "arguments": [
8722 {
8723 "argumentTypes": null,
8724 "id": 9410,
8725 "name": "id",
8726 "nodeType": "Identifier",
8727 "overloadedDeclarations": [],
8728 "referencedDeclaration": 9396,
8729 "src": "7423:2:33",
8730 "typeDescriptions": {
8731 "typeIdentifier": "t_uint256",
8732 "typeString": "uint256"
8733 }
8734 }
8735 ],
8736 "expression": {
8737 "argumentTypes": [
8738 {
8739 "typeIdentifier": "t_uint256",
8740 "typeString": "uint256"
8741 }
8742 ],
8743 "id": 9409,
8744 "name": "fulfillQuery",
8745 "nodeType": "Identifier",
8746 "overloadedDeclarations": [],
8747 "referencedDeclaration": 9218,
8748 "src": "7410:12:33",
8749 "typeDescriptions": {
8750 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$",
8751 "typeString": "function (uint256) returns (bool)"
8752 }
8753 },
8754 "id": 9411,
8755 "isConstant": false,
8756 "isLValue": false,
8757 "isPure": false,
8758 "kind": "functionCall",
8759 "lValueRequested": false,
8760 "names": [],
8761 "nodeType": "FunctionCall",
8762 "src": "7410:16:33",
8763 "typeDescriptions": {
8764 "typeIdentifier": "t_bool",
8765 "typeString": "bool"
8766 }
8767 },
8768 "typeDescriptions": {
8769 "typeIdentifier": "t_bool",
8770 "typeString": "bool"
8771 }
8772 },
8773 "src": "7376:50:33",
8774 "typeDescriptions": {
8775 "typeIdentifier": "t_bool",
8776 "typeString": "bool"
8777 }
8778 },
8779 "falseBody": null,
8780 "id": 9417,
8781 "nodeType": "IfStatement",
8782 "src": "7372:76:33",
8783 "trueBody": {
8784 "expression": {
8785 "argumentTypes": null,
8786 "arguments": [],
8787 "expression": {
8788 "argumentTypes": [],
8789 "id": 9414,
8790 "name": "revert",
8791 "nodeType": "Identifier",
8792 "overloadedDeclarations": [
8793 12097,
8794 12098
8795 ],
8796 "referencedDeclaration": 12097,
8797 "src": "7440:6:33",
8798 "typeDescriptions": {
8799 "typeIdentifier": "t_function_revert_pure$__$returns$__$",
8800 "typeString": "function () pure"
8801 }
8802 },
8803 "id": 9415,
8804 "isConstant": false,
8805 "isLValue": false,
8806 "isPure": false,
8807 "kind": "functionCall",
8808 "lValueRequested": false,
8809 "names": [],
8810 "nodeType": "FunctionCall",
8811 "src": "7440:8:33",
8812 "typeDescriptions": {
8813 "typeIdentifier": "t_tuple$__$",
8814 "typeString": "tuple()"
8815 }
8816 },
8817 "id": 9416,
8818 "nodeType": "ExpressionStatement",
8819 "src": "7440:8:33"
8820 }
8821 },
8822 {
8823 "condition": {
8824 "argumentTypes": null,
8825 "arguments": [
8826 {
8827 "argumentTypes": null,
8828 "id": 9419,
8829 "name": "id",
8830 "nodeType": "Identifier",
8831 "overloadedDeclarations": [],
8832 "referencedDeclaration": 9396,
8833 "src": "7484:2:33",
8834 "typeDescriptions": {
8835 "typeIdentifier": "t_uint256",
8836 "typeString": "uint256"
8837 }
8838 }
8839 ],
8840 "expression": {
8841 "argumentTypes": [
8842 {
8843 "typeIdentifier": "t_uint256",
8844 "typeString": "uint256"
8845 }
8846 ],
8847 "id": 9418,
8848 "name": "getSubscriberOnchain",
8849 "nodeType": "Identifier",
8850 "overloadedDeclarations": [
8851 9783
8852 ],
8853 "referencedDeclaration": 9783,
8854 "src": "7463:20:33",
8855 "typeDescriptions": {
8856 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
8857 "typeString": "function (uint256) view returns (bool)"
8858 }
8859 },
8860 "id": 9420,
8861 "isConstant": false,
8862 "isLValue": false,
8863 "isPure": false,
8864 "kind": "functionCall",
8865 "lValueRequested": false,
8866 "names": [],
8867 "nodeType": "FunctionCall",
8868 "src": "7463:24:33",
8869 "typeDescriptions": {
8870 "typeIdentifier": "t_bool",
8871 "typeString": "bool"
8872 }
8873 },
8874 "falseBody": {
8875 "id": 9442,
8876 "nodeType": "Block",
8877 "src": "7577:90:33",
8878 "statements": [
8879 {
8880 "eventCall": {
8881 "argumentTypes": null,
8882 "arguments": [
8883 {
8884 "argumentTypes": null,
8885 "id": 9433,
8886 "name": "id",
8887 "nodeType": "Identifier",
8888 "overloadedDeclarations": [],
8889 "referencedDeclaration": 9396,
8890 "src": "7612:2:33",
8891 "typeDescriptions": {
8892 "typeIdentifier": "t_uint256",
8893 "typeString": "uint256"
8894 }
8895 },
8896 {
8897 "argumentTypes": null,
8898 "arguments": [
8899 {
8900 "argumentTypes": null,
8901 "id": 9435,
8902 "name": "id",
8903 "nodeType": "Identifier",
8904 "overloadedDeclarations": [],
8905 "referencedDeclaration": 9396,
8906 "src": "7630:2:33",
8907 "typeDescriptions": {
8908 "typeIdentifier": "t_uint256",
8909 "typeString": "uint256"
8910 }
8911 }
8912 ],
8913 "expression": {
8914 "argumentTypes": [
8915 {
8916 "typeIdentifier": "t_uint256",
8917 "typeString": "uint256"
8918 }
8919 ],
8920 "id": 9434,
8921 "name": "getSubscriber",
8922 "nodeType": "Identifier",
8923 "overloadedDeclarations": [
8924 9674
8925 ],
8926 "referencedDeclaration": 9674,
8927 "src": "7616:13:33",
8928 "typeDescriptions": {
8929 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
8930 "typeString": "function (uint256) view returns (address)"
8931 }
8932 },
8933 "id": 9436,
8934 "isConstant": false,
8935 "isLValue": false,
8936 "isPure": false,
8937 "kind": "functionCall",
8938 "lValueRequested": false,
8939 "names": [],
8940 "nodeType": "FunctionCall",
8941 "src": "7616:17:33",
8942 "typeDescriptions": {
8943 "typeIdentifier": "t_address",
8944 "typeString": "address"
8945 }
8946 },
8947 {
8948 "argumentTypes": null,
8949 "expression": {
8950 "argumentTypes": null,
8951 "id": 9437,
8952 "name": "msg",
8953 "nodeType": "Identifier",
8954 "overloadedDeclarations": [],
8955 "referencedDeclaration": 12092,
8956 "src": "7635:3:33",
8957 "typeDescriptions": {
8958 "typeIdentifier": "t_magic_message",
8959 "typeString": "msg"
8960 }
8961 },
8962 "id": 9438,
8963 "isConstant": false,
8964 "isLValue": false,
8965 "isPure": false,
8966 "lValueRequested": false,
8967 "memberName": "sender",
8968 "nodeType": "MemberAccess",
8969 "referencedDeclaration": null,
8970 "src": "7635:10:33",
8971 "typeDescriptions": {
8972 "typeIdentifier": "t_address",
8973 "typeString": "address"
8974 }
8975 },
8976 {
8977 "argumentTypes": null,
8978 "id": 9439,
8979 "name": "response",
8980 "nodeType": "Identifier",
8981 "overloadedDeclarations": [],
8982 "referencedDeclaration": 9398,
8983 "src": "7647:8:33",
8984 "typeDescriptions": {
8985 "typeIdentifier": "t_string_calldata_ptr",
8986 "typeString": "string calldata"
8987 }
8988 }
8989 ],
8990 "expression": {
8991 "argumentTypes": [
8992 {
8993 "typeIdentifier": "t_uint256",
8994 "typeString": "uint256"
8995 },
8996 {
8997 "typeIdentifier": "t_address",
8998 "typeString": "address"
8999 },
9000 {
9001 "typeIdentifier": "t_address",
9002 "typeString": "address"
9003 },
9004 {
9005 "typeIdentifier": "t_string_calldata_ptr",
9006 "typeString": "string calldata"
9007 }
9008 ],
9009 "id": 9432,
9010 "name": "OffchainResult1",
9011 "nodeType": "Identifier",
9012 "overloadedDeclarations": [],
9013 "referencedDeclaration": 8901,
9014 "src": "7596:15:33",
9015 "typeDescriptions": {
9016 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$",
9017 "typeString": "function (uint256,address,address,string memory)"
9018 }
9019 },
9020 "id": 9440,
9021 "isConstant": false,
9022 "isLValue": false,
9023 "isPure": false,
9024 "kind": "functionCall",
9025 "lValueRequested": false,
9026 "names": [],
9027 "nodeType": "FunctionCall",
9028 "src": "7596:60:33",
9029 "typeDescriptions": {
9030 "typeIdentifier": "t_tuple$__$",
9031 "typeString": "tuple()"
9032 }
9033 },
9034 "id": 9441,
9035 "nodeType": "EmitStatement",
9036 "src": "7591:65:33"
9037 }
9038 ]
9039 },
9040 "id": 9443,
9041 "nodeType": "IfStatement",
9042 "src": "7459:208:33",
9043 "trueBody": {
9044 "id": 9431,
9045 "nodeType": "Block",
9046 "src": "7489:74:33",
9047 "statements": [
9048 {
9049 "expression": {
9050 "argumentTypes": null,
9051 "arguments": [
9052 {
9053 "argumentTypes": null,
9054 "id": 9427,
9055 "name": "id",
9056 "nodeType": "Identifier",
9057 "overloadedDeclarations": [],
9058 "referencedDeclaration": 9396,
9059 "src": "7539:2:33",
9060 "typeDescriptions": {
9061 "typeIdentifier": "t_uint256",
9062 "typeString": "uint256"
9063 }
9064 },
9065 {
9066 "argumentTypes": null,
9067 "id": 9428,
9068 "name": "response",
9069 "nodeType": "Identifier",
9070 "overloadedDeclarations": [],
9071 "referencedDeclaration": 9398,
9072 "src": "7543:8:33",
9073 "typeDescriptions": {
9074 "typeIdentifier": "t_string_calldata_ptr",
9075 "typeString": "string calldata"
9076 }
9077 }
9078 ],
9079 "expression": {
9080 "argumentTypes": [
9081 {
9082 "typeIdentifier": "t_uint256",
9083 "typeString": "uint256"
9084 },
9085 {
9086 "typeIdentifier": "t_string_calldata_ptr",
9087 "typeString": "string calldata"
9088 }
9089 ],
9090 "expression": {
9091 "argumentTypes": null,
9092 "arguments": [
9093 {
9094 "argumentTypes": null,
9095 "arguments": [
9096 {
9097 "argumentTypes": null,
9098 "id": 9423,
9099 "name": "id",
9100 "nodeType": "Identifier",
9101 "overloadedDeclarations": [],
9102 "referencedDeclaration": 9396,
9103 "src": "7525:2:33",
9104 "typeDescriptions": {
9105 "typeIdentifier": "t_uint256",
9106 "typeString": "uint256"
9107 }
9108 }
9109 ],
9110 "expression": {
9111 "argumentTypes": [
9112 {
9113 "typeIdentifier": "t_uint256",
9114 "typeString": "uint256"
9115 }
9116 ],
9117 "id": 9422,
9118 "name": "getSubscriber",
9119 "nodeType": "Identifier",
9120 "overloadedDeclarations": [
9121 9674
9122 ],
9123 "referencedDeclaration": 9674,
9124 "src": "7511:13:33",
9125 "typeDescriptions": {
9126 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
9127 "typeString": "function (uint256) view returns (address)"
9128 }
9129 },
9130 "id": 9424,
9131 "isConstant": false,
9132 "isLValue": false,
9133 "isPure": false,
9134 "kind": "functionCall",
9135 "lValueRequested": false,
9136 "names": [],
9137 "nodeType": "FunctionCall",
9138 "src": "7511:17:33",
9139 "typeDescriptions": {
9140 "typeIdentifier": "t_address",
9141 "typeString": "address"
9142 }
9143 }
9144 ],
9145 "expression": {
9146 "argumentTypes": [
9147 {
9148 "typeIdentifier": "t_address",
9149 "typeString": "address"
9150 }
9151 ],
9152 "id": 9421,
9153 "name": "Client1",
9154 "nodeType": "Identifier",
9155 "overloadedDeclarations": [],
9156 "referencedDeclaration": 815,
9157 "src": "7503:7:33",
9158 "typeDescriptions": {
9159 "typeIdentifier": "t_type$_t_contract$_Client1_$815_$",
9160 "typeString": "type(contract Client1)"
9161 }
9162 },
9163 "id": 9425,
9164 "isConstant": false,
9165 "isLValue": false,
9166 "isPure": false,
9167 "kind": "typeConversion",
9168 "lValueRequested": false,
9169 "names": [],
9170 "nodeType": "FunctionCall",
9171 "src": "7503:26:33",
9172 "typeDescriptions": {
9173 "typeIdentifier": "t_contract$_Client1_$815",
9174 "typeString": "contract Client1"
9175 }
9176 },
9177 "id": 9426,
9178 "isConstant": false,
9179 "isLValue": false,
9180 "isPure": false,
9181 "lValueRequested": false,
9182 "memberName": "callback",
9183 "nodeType": "MemberAccess",
9184 "referencedDeclaration": 814,
9185 "src": "7503:35:33",
9186 "typeDescriptions": {
9187 "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$",
9188 "typeString": "function (uint256,string memory) external"
9189 }
9190 },
9191 "id": 9429,
9192 "isConstant": false,
9193 "isLValue": false,
9194 "isPure": false,
9195 "kind": "functionCall",
9196 "lValueRequested": false,
9197 "names": [],
9198 "nodeType": "FunctionCall",
9199 "src": "7503:49:33",
9200 "typeDescriptions": {
9201 "typeIdentifier": "t_tuple$__$",
9202 "typeString": "tuple()"
9203 }
9204 },
9205 "id": 9430,
9206 "nodeType": "ExpressionStatement",
9207 "src": "7503:49:33"
9208 }
9209 ]
9210 }
9211 },
9212 {
9213 "expression": {
9214 "argumentTypes": null,
9215 "hexValue": "74727565",
9216 "id": 9444,
9217 "isConstant": false,
9218 "isLValue": false,
9219 "isPure": true,
9220 "kind": "bool",
9221 "lValueRequested": false,
9222 "nodeType": "Literal",
9223 "src": "7683:4:33",
9224 "subdenomination": null,
9225 "typeDescriptions": {
9226 "typeIdentifier": "t_bool",
9227 "typeString": "bool"
9228 },
9229 "value": "true"
9230 },
9231 "functionReturnParameters": 9402,
9232 "id": 9445,
9233 "nodeType": "Return",
9234 "src": "7676:11:33"
9235 }
9236 ]
9237 },
9238 "documentation": "@dev Parameter-count specific method called by data provider in response",
9239 "id": 9447,
9240 "implemented": true,
9241 "isConstructor": false,
9242 "isDeclaredConst": false,
9243 "modifiers": [],
9244 "name": "respond1",
9245 "nodeType": "FunctionDefinition",
9246 "parameters": {
9247 "id": 9399,
9248 "nodeType": "ParameterList",
9249 "parameters": [
9250 {
9251 "constant": false,
9252 "id": 9396,
9253 "name": "id",
9254 "nodeType": "VariableDeclaration",
9255 "scope": 9447,
9256 "src": "7276:10:33",
9257 "stateVariable": false,
9258 "storageLocation": "default",
9259 "typeDescriptions": {
9260 "typeIdentifier": "t_uint256",
9261 "typeString": "uint256"
9262 },
9263 "typeName": {
9264 "id": 9395,
9265 "name": "uint256",
9266 "nodeType": "ElementaryTypeName",
9267 "src": "7276:7:33",
9268 "typeDescriptions": {
9269 "typeIdentifier": "t_uint256",
9270 "typeString": "uint256"
9271 }
9272 },
9273 "value": null,
9274 "visibility": "internal"
9275 },
9276 {
9277 "constant": false,
9278 "id": 9398,
9279 "name": "response",
9280 "nodeType": "VariableDeclaration",
9281 "scope": 9447,
9282 "src": "7296:15:33",
9283 "stateVariable": false,
9284 "storageLocation": "default",
9285 "typeDescriptions": {
9286 "typeIdentifier": "t_string_calldata_ptr",
9287 "typeString": "string"
9288 },
9289 "typeName": {
9290 "id": 9397,
9291 "name": "string",
9292 "nodeType": "ElementaryTypeName",
9293 "src": "7296:6:33",
9294 "typeDescriptions": {
9295 "typeIdentifier": "t_string_storage_ptr",
9296 "typeString": "string"
9297 }
9298 },
9299 "value": null,
9300 "visibility": "internal"
9301 }
9302 ],
9303 "src": "7266:51:33"
9304 },
9305 "payable": false,
9306 "returnParameters": {
9307 "id": 9402,
9308 "nodeType": "ParameterList",
9309 "parameters": [
9310 {
9311 "constant": false,
9312 "id": 9401,
9313 "name": "",
9314 "nodeType": "VariableDeclaration",
9315 "scope": 9447,
9316 "src": "7352:4:33",
9317 "stateVariable": false,
9318 "storageLocation": "default",
9319 "typeDescriptions": {
9320 "typeIdentifier": "t_bool",
9321 "typeString": "bool"
9322 },
9323 "typeName": {
9324 "id": 9400,
9325 "name": "bool",
9326 "nodeType": "ElementaryTypeName",
9327 "src": "7352:4:33",
9328 "typeDescriptions": {
9329 "typeIdentifier": "t_bool",
9330 "typeString": "bool"
9331 }
9332 },
9333 "value": null,
9334 "visibility": "internal"
9335 }
9336 ],
9337 "src": "7351:6:33"
9338 },
9339 "scope": 10008,
9340 "src": "7249:445:33",
9341 "stateMutability": "nonpayable",
9342 "superFunction": 10033,
9343 "visibility": "external"
9344 },
9345 {
9346 "body": {
9347 "id": 9503,
9348 "nodeType": "Block",
9349 "src": "7921:357:33",
9350 "statements": [
9351 {
9352 "condition": {
9353 "argumentTypes": null,
9354 "commonType": {
9355 "typeIdentifier": "t_bool",
9356 "typeString": "bool"
9357 },
9358 "id": 9468,
9359 "isConstant": false,
9360 "isLValue": false,
9361 "isPure": false,
9362 "lValueRequested": false,
9363 "leftExpression": {
9364 "argumentTypes": null,
9365 "commonType": {
9366 "typeIdentifier": "t_address",
9367 "typeString": "address"
9368 },
9369 "id": 9463,
9370 "isConstant": false,
9371 "isLValue": false,
9372 "isPure": false,
9373 "lValueRequested": false,
9374 "leftExpression": {
9375 "argumentTypes": null,
9376 "arguments": [
9377 {
9378 "argumentTypes": null,
9379 "id": 9459,
9380 "name": "id",
9381 "nodeType": "Identifier",
9382 "overloadedDeclarations": [],
9383 "referencedDeclaration": 9449,
9384 "src": "7947:2:33",
9385 "typeDescriptions": {
9386 "typeIdentifier": "t_uint256",
9387 "typeString": "uint256"
9388 }
9389 }
9390 ],
9391 "expression": {
9392 "argumentTypes": [
9393 {
9394 "typeIdentifier": "t_uint256",
9395 "typeString": "uint256"
9396 }
9397 ],
9398 "id": 9458,
9399 "name": "getProvider",
9400 "nodeType": "Identifier",
9401 "overloadedDeclarations": [
9402 9652
9403 ],
9404 "referencedDeclaration": 9652,
9405 "src": "7935:11:33",
9406 "typeDescriptions": {
9407 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
9408 "typeString": "function (uint256) view returns (address)"
9409 }
9410 },
9411 "id": 9460,
9412 "isConstant": false,
9413 "isLValue": false,
9414 "isPure": false,
9415 "kind": "functionCall",
9416 "lValueRequested": false,
9417 "names": [],
9418 "nodeType": "FunctionCall",
9419 "src": "7935:15:33",
9420 "typeDescriptions": {
9421 "typeIdentifier": "t_address",
9422 "typeString": "address"
9423 }
9424 },
9425 "nodeType": "BinaryOperation",
9426 "operator": "!=",
9427 "rightExpression": {
9428 "argumentTypes": null,
9429 "expression": {
9430 "argumentTypes": null,
9431 "id": 9461,
9432 "name": "msg",
9433 "nodeType": "Identifier",
9434 "overloadedDeclarations": [],
9435 "referencedDeclaration": 12092,
9436 "src": "7954:3:33",
9437 "typeDescriptions": {
9438 "typeIdentifier": "t_magic_message",
9439 "typeString": "msg"
9440 }
9441 },
9442 "id": 9462,
9443 "isConstant": false,
9444 "isLValue": false,
9445 "isPure": false,
9446 "lValueRequested": false,
9447 "memberName": "sender",
9448 "nodeType": "MemberAccess",
9449 "referencedDeclaration": null,
9450 "src": "7954:10:33",
9451 "typeDescriptions": {
9452 "typeIdentifier": "t_address",
9453 "typeString": "address"
9454 }
9455 },
9456 "src": "7935:29:33",
9457 "typeDescriptions": {
9458 "typeIdentifier": "t_bool",
9459 "typeString": "bool"
9460 }
9461 },
9462 "nodeType": "BinaryOperation",
9463 "operator": "||",
9464 "rightExpression": {
9465 "argumentTypes": null,
9466 "id": 9467,
9467 "isConstant": false,
9468 "isLValue": false,
9469 "isPure": false,
9470 "lValueRequested": false,
9471 "nodeType": "UnaryOperation",
9472 "operator": "!",
9473 "prefix": true,
9474 "src": "7968:17:33",
9475 "subExpression": {
9476 "argumentTypes": null,
9477 "arguments": [
9478 {
9479 "argumentTypes": null,
9480 "id": 9465,
9481 "name": "id",
9482 "nodeType": "Identifier",
9483 "overloadedDeclarations": [],
9484 "referencedDeclaration": 9449,
9485 "src": "7982:2:33",
9486 "typeDescriptions": {
9487 "typeIdentifier": "t_uint256",
9488 "typeString": "uint256"
9489 }
9490 }
9491 ],
9492 "expression": {
9493 "argumentTypes": [
9494 {
9495 "typeIdentifier": "t_uint256",
9496 "typeString": "uint256"
9497 }
9498 ],
9499 "id": 9464,
9500 "name": "fulfillQuery",
9501 "nodeType": "Identifier",
9502 "overloadedDeclarations": [],
9503 "referencedDeclaration": 9218,
9504 "src": "7969:12:33",
9505 "typeDescriptions": {
9506 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$",
9507 "typeString": "function (uint256) returns (bool)"
9508 }
9509 },
9510 "id": 9466,
9511 "isConstant": false,
9512 "isLValue": false,
9513 "isPure": false,
9514 "kind": "functionCall",
9515 "lValueRequested": false,
9516 "names": [],
9517 "nodeType": "FunctionCall",
9518 "src": "7969:16:33",
9519 "typeDescriptions": {
9520 "typeIdentifier": "t_bool",
9521 "typeString": "bool"
9522 }
9523 },
9524 "typeDescriptions": {
9525 "typeIdentifier": "t_bool",
9526 "typeString": "bool"
9527 }
9528 },
9529 "src": "7935:50:33",
9530 "typeDescriptions": {
9531 "typeIdentifier": "t_bool",
9532 "typeString": "bool"
9533 }
9534 },
9535 "falseBody": null,
9536 "id": 9472,
9537 "nodeType": "IfStatement",
9538 "src": "7931:76:33",
9539 "trueBody": {
9540 "expression": {
9541 "argumentTypes": null,
9542 "arguments": [],
9543 "expression": {
9544 "argumentTypes": [],
9545 "id": 9469,
9546 "name": "revert",
9547 "nodeType": "Identifier",
9548 "overloadedDeclarations": [
9549 12097,
9550 12098
9551 ],
9552 "referencedDeclaration": 12097,
9553 "src": "7999:6:33",
9554 "typeDescriptions": {
9555 "typeIdentifier": "t_function_revert_pure$__$returns$__$",
9556 "typeString": "function () pure"
9557 }
9558 },
9559 "id": 9470,
9560 "isConstant": false,
9561 "isLValue": false,
9562 "isPure": false,
9563 "kind": "functionCall",
9564 "lValueRequested": false,
9565 "names": [],
9566 "nodeType": "FunctionCall",
9567 "src": "7999:8:33",
9568 "typeDescriptions": {
9569 "typeIdentifier": "t_tuple$__$",
9570 "typeString": "tuple()"
9571 }
9572 },
9573 "id": 9471,
9574 "nodeType": "ExpressionStatement",
9575 "src": "7999:8:33"
9576 }
9577 },
9578 {
9579 "condition": {
9580 "argumentTypes": null,
9581 "arguments": [
9582 {
9583 "argumentTypes": null,
9584 "id": 9474,
9585 "name": "id",
9586 "nodeType": "Identifier",
9587 "overloadedDeclarations": [],
9588 "referencedDeclaration": 9449,
9589 "src": "8043:2:33",
9590 "typeDescriptions": {
9591 "typeIdentifier": "t_uint256",
9592 "typeString": "uint256"
9593 }
9594 }
9595 ],
9596 "expression": {
9597 "argumentTypes": [
9598 {
9599 "typeIdentifier": "t_uint256",
9600 "typeString": "uint256"
9601 }
9602 ],
9603 "id": 9473,
9604 "name": "getSubscriberOnchain",
9605 "nodeType": "Identifier",
9606 "overloadedDeclarations": [
9607 9783
9608 ],
9609 "referencedDeclaration": 9783,
9610 "src": "8022:20:33",
9611 "typeDescriptions": {
9612 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
9613 "typeString": "function (uint256) view returns (bool)"
9614 }
9615 },
9616 "id": 9475,
9617 "isConstant": false,
9618 "isLValue": false,
9619 "isPure": false,
9620 "kind": "functionCall",
9621 "lValueRequested": false,
9622 "names": [],
9623 "nodeType": "FunctionCall",
9624 "src": "8022:24:33",
9625 "typeDescriptions": {
9626 "typeIdentifier": "t_bool",
9627 "typeString": "bool"
9628 }
9629 },
9630 "falseBody": {
9631 "id": 9499,
9632 "nodeType": "Block",
9633 "src": "8148:102:33",
9634 "statements": [
9635 {
9636 "eventCall": {
9637 "argumentTypes": null,
9638 "arguments": [
9639 {
9640 "argumentTypes": null,
9641 "id": 9489,
9642 "name": "id",
9643 "nodeType": "Identifier",
9644 "overloadedDeclarations": [],
9645 "referencedDeclaration": 9449,
9646 "src": "8183:2:33",
9647 "typeDescriptions": {
9648 "typeIdentifier": "t_uint256",
9649 "typeString": "uint256"
9650 }
9651 },
9652 {
9653 "argumentTypes": null,
9654 "arguments": [
9655 {
9656 "argumentTypes": null,
9657 "id": 9491,
9658 "name": "id",
9659 "nodeType": "Identifier",
9660 "overloadedDeclarations": [],
9661 "referencedDeclaration": 9449,
9662 "src": "8201:2:33",
9663 "typeDescriptions": {
9664 "typeIdentifier": "t_uint256",
9665 "typeString": "uint256"
9666 }
9667 }
9668 ],
9669 "expression": {
9670 "argumentTypes": [
9671 {
9672 "typeIdentifier": "t_uint256",
9673 "typeString": "uint256"
9674 }
9675 ],
9676 "id": 9490,
9677 "name": "getSubscriber",
9678 "nodeType": "Identifier",
9679 "overloadedDeclarations": [
9680 9674
9681 ],
9682 "referencedDeclaration": 9674,
9683 "src": "8187:13:33",
9684 "typeDescriptions": {
9685 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
9686 "typeString": "function (uint256) view returns (address)"
9687 }
9688 },
9689 "id": 9492,
9690 "isConstant": false,
9691 "isLValue": false,
9692 "isPure": false,
9693 "kind": "functionCall",
9694 "lValueRequested": false,
9695 "names": [],
9696 "nodeType": "FunctionCall",
9697 "src": "8187:17:33",
9698 "typeDescriptions": {
9699 "typeIdentifier": "t_address",
9700 "typeString": "address"
9701 }
9702 },
9703 {
9704 "argumentTypes": null,
9705 "expression": {
9706 "argumentTypes": null,
9707 "id": 9493,
9708 "name": "msg",
9709 "nodeType": "Identifier",
9710 "overloadedDeclarations": [],
9711 "referencedDeclaration": 12092,
9712 "src": "8206:3:33",
9713 "typeDescriptions": {
9714 "typeIdentifier": "t_magic_message",
9715 "typeString": "msg"
9716 }
9717 },
9718 "id": 9494,
9719 "isConstant": false,
9720 "isLValue": false,
9721 "isPure": false,
9722 "lValueRequested": false,
9723 "memberName": "sender",
9724 "nodeType": "MemberAccess",
9725 "referencedDeclaration": null,
9726 "src": "8206:10:33",
9727 "typeDescriptions": {
9728 "typeIdentifier": "t_address",
9729 "typeString": "address"
9730 }
9731 },
9732 {
9733 "argumentTypes": null,
9734 "id": 9495,
9735 "name": "response1",
9736 "nodeType": "Identifier",
9737 "overloadedDeclarations": [],
9738 "referencedDeclaration": 9451,
9739 "src": "8218:9:33",
9740 "typeDescriptions": {
9741 "typeIdentifier": "t_string_calldata_ptr",
9742 "typeString": "string calldata"
9743 }
9744 },
9745 {
9746 "argumentTypes": null,
9747 "id": 9496,
9748 "name": "response2",
9749 "nodeType": "Identifier",
9750 "overloadedDeclarations": [],
9751 "referencedDeclaration": 9453,
9752 "src": "8229:9:33",
9753 "typeDescriptions": {
9754 "typeIdentifier": "t_string_calldata_ptr",
9755 "typeString": "string calldata"
9756 }
9757 }
9758 ],
9759 "expression": {
9760 "argumentTypes": [
9761 {
9762 "typeIdentifier": "t_uint256",
9763 "typeString": "uint256"
9764 },
9765 {
9766 "typeIdentifier": "t_address",
9767 "typeString": "address"
9768 },
9769 {
9770 "typeIdentifier": "t_address",
9771 "typeString": "address"
9772 },
9773 {
9774 "typeIdentifier": "t_string_calldata_ptr",
9775 "typeString": "string calldata"
9776 },
9777 {
9778 "typeIdentifier": "t_string_calldata_ptr",
9779 "typeString": "string calldata"
9780 }
9781 ],
9782 "id": 9488,
9783 "name": "OffchainResult2",
9784 "nodeType": "Identifier",
9785 "overloadedDeclarations": [],
9786 "referencedDeclaration": 8913,
9787 "src": "8167:15:33",
9788 "typeDescriptions": {
9789 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
9790 "typeString": "function (uint256,address,address,string memory,string memory)"
9791 }
9792 },
9793 "id": 9497,
9794 "isConstant": false,
9795 "isLValue": false,
9796 "isPure": false,
9797 "kind": "functionCall",
9798 "lValueRequested": false,
9799 "names": [],
9800 "nodeType": "FunctionCall",
9801 "src": "8167:72:33",
9802 "typeDescriptions": {
9803 "typeIdentifier": "t_tuple$__$",
9804 "typeString": "tuple()"
9805 }
9806 },
9807 "id": 9498,
9808 "nodeType": "EmitStatement",
9809 "src": "8162:77:33"
9810 }
9811 ]
9812 },
9813 "id": 9500,
9814 "nodeType": "IfStatement",
9815 "src": "8018:232:33",
9816 "trueBody": {
9817 "id": 9487,
9818 "nodeType": "Block",
9819 "src": "8048:86:33",
9820 "statements": [
9821 {
9822 "expression": {
9823 "argumentTypes": null,
9824 "arguments": [
9825 {
9826 "argumentTypes": null,
9827 "id": 9482,
9828 "name": "id",
9829 "nodeType": "Identifier",
9830 "overloadedDeclarations": [],
9831 "referencedDeclaration": 9449,
9832 "src": "8098:2:33",
9833 "typeDescriptions": {
9834 "typeIdentifier": "t_uint256",
9835 "typeString": "uint256"
9836 }
9837 },
9838 {
9839 "argumentTypes": null,
9840 "id": 9483,
9841 "name": "response1",
9842 "nodeType": "Identifier",
9843 "overloadedDeclarations": [],
9844 "referencedDeclaration": 9451,
9845 "src": "8102:9:33",
9846 "typeDescriptions": {
9847 "typeIdentifier": "t_string_calldata_ptr",
9848 "typeString": "string calldata"
9849 }
9850 },
9851 {
9852 "argumentTypes": null,
9853 "id": 9484,
9854 "name": "response2",
9855 "nodeType": "Identifier",
9856 "overloadedDeclarations": [],
9857 "referencedDeclaration": 9453,
9858 "src": "8113:9:33",
9859 "typeDescriptions": {
9860 "typeIdentifier": "t_string_calldata_ptr",
9861 "typeString": "string calldata"
9862 }
9863 }
9864 ],
9865 "expression": {
9866 "argumentTypes": [
9867 {
9868 "typeIdentifier": "t_uint256",
9869 "typeString": "uint256"
9870 },
9871 {
9872 "typeIdentifier": "t_string_calldata_ptr",
9873 "typeString": "string calldata"
9874 },
9875 {
9876 "typeIdentifier": "t_string_calldata_ptr",
9877 "typeString": "string calldata"
9878 }
9879 ],
9880 "expression": {
9881 "argumentTypes": null,
9882 "arguments": [
9883 {
9884 "argumentTypes": null,
9885 "arguments": [
9886 {
9887 "argumentTypes": null,
9888 "id": 9478,
9889 "name": "id",
9890 "nodeType": "Identifier",
9891 "overloadedDeclarations": [],
9892 "referencedDeclaration": 9449,
9893 "src": "8084:2:33",
9894 "typeDescriptions": {
9895 "typeIdentifier": "t_uint256",
9896 "typeString": "uint256"
9897 }
9898 }
9899 ],
9900 "expression": {
9901 "argumentTypes": [
9902 {
9903 "typeIdentifier": "t_uint256",
9904 "typeString": "uint256"
9905 }
9906 ],
9907 "id": 9477,
9908 "name": "getSubscriber",
9909 "nodeType": "Identifier",
9910 "overloadedDeclarations": [
9911 9674
9912 ],
9913 "referencedDeclaration": 9674,
9914 "src": "8070:13:33",
9915 "typeDescriptions": {
9916 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
9917 "typeString": "function (uint256) view returns (address)"
9918 }
9919 },
9920 "id": 9479,
9921 "isConstant": false,
9922 "isLValue": false,
9923 "isPure": false,
9924 "kind": "functionCall",
9925 "lValueRequested": false,
9926 "names": [],
9927 "nodeType": "FunctionCall",
9928 "src": "8070:17:33",
9929 "typeDescriptions": {
9930 "typeIdentifier": "t_address",
9931 "typeString": "address"
9932 }
9933 }
9934 ],
9935 "expression": {
9936 "argumentTypes": [
9937 {
9938 "typeIdentifier": "t_address",
9939 "typeString": "address"
9940 }
9941 ],
9942 "id": 9476,
9943 "name": "Client2",
9944 "nodeType": "Identifier",
9945 "overloadedDeclarations": [],
9946 "referencedDeclaration": 825,
9947 "src": "8062:7:33",
9948 "typeDescriptions": {
9949 "typeIdentifier": "t_type$_t_contract$_Client2_$825_$",
9950 "typeString": "type(contract Client2)"
9951 }
9952 },
9953 "id": 9480,
9954 "isConstant": false,
9955 "isLValue": false,
9956 "isPure": false,
9957 "kind": "typeConversion",
9958 "lValueRequested": false,
9959 "names": [],
9960 "nodeType": "FunctionCall",
9961 "src": "8062:26:33",
9962 "typeDescriptions": {
9963 "typeIdentifier": "t_contract$_Client2_$825",
9964 "typeString": "contract Client2"
9965 }
9966 },
9967 "id": 9481,
9968 "isConstant": false,
9969 "isLValue": false,
9970 "isPure": false,
9971 "lValueRequested": false,
9972 "memberName": "callback",
9973 "nodeType": "MemberAccess",
9974 "referencedDeclaration": 824,
9975 "src": "8062:35:33",
9976 "typeDescriptions": {
9977 "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
9978 "typeString": "function (uint256,string memory,string memory) external"
9979 }
9980 },
9981 "id": 9485,
9982 "isConstant": false,
9983 "isLValue": false,
9984 "isPure": false,
9985 "kind": "functionCall",
9986 "lValueRequested": false,
9987 "names": [],
9988 "nodeType": "FunctionCall",
9989 "src": "8062:61:33",
9990 "typeDescriptions": {
9991 "typeIdentifier": "t_tuple$__$",
9992 "typeString": "tuple()"
9993 }
9994 },
9995 "id": 9486,
9996 "nodeType": "ExpressionStatement",
9997 "src": "8062:61:33"
9998 }
9999 ]
10000 }
10001 },
10002 {
10003 "expression": {
10004 "argumentTypes": null,
10005 "hexValue": "74727565",
10006 "id": 9501,
10007 "isConstant": false,
10008 "isLValue": false,
10009 "isPure": true,
10010 "kind": "bool",
10011 "lValueRequested": false,
10012 "nodeType": "Literal",
10013 "src": "8267:4:33",
10014 "subdenomination": null,
10015 "typeDescriptions": {
10016 "typeIdentifier": "t_bool",
10017 "typeString": "bool"
10018 },
10019 "value": "true"
10020 },
10021 "functionReturnParameters": 9457,
10022 "id": 9502,
10023 "nodeType": "Return",
10024 "src": "8260:11:33"
10025 }
10026 ]
10027 },
10028 "documentation": "@dev Parameter-count specific method called by data provider in response",
10029 "id": 9504,
10030 "implemented": true,
10031 "isConstructor": false,
10032 "isDeclaredConst": false,
10033 "modifiers": [],
10034 "name": "respond2",
10035 "nodeType": "FunctionDefinition",
10036 "parameters": {
10037 "id": 9454,
10038 "nodeType": "ParameterList",
10039 "parameters": [
10040 {
10041 "constant": false,
10042 "id": 9449,
10043 "name": "id",
10044 "nodeType": "VariableDeclaration",
10045 "scope": 9504,
10046 "src": "7808:10:33",
10047 "stateVariable": false,
10048 "storageLocation": "default",
10049 "typeDescriptions": {
10050 "typeIdentifier": "t_uint256",
10051 "typeString": "uint256"
10052 },
10053 "typeName": {
10054 "id": 9448,
10055 "name": "uint256",
10056 "nodeType": "ElementaryTypeName",
10057 "src": "7808:7:33",
10058 "typeDescriptions": {
10059 "typeIdentifier": "t_uint256",
10060 "typeString": "uint256"
10061 }
10062 },
10063 "value": null,
10064 "visibility": "internal"
10065 },
10066 {
10067 "constant": false,
10068 "id": 9451,
10069 "name": "response1",
10070 "nodeType": "VariableDeclaration",
10071 "scope": 9504,
10072 "src": "7828:16:33",
10073 "stateVariable": false,
10074 "storageLocation": "default",
10075 "typeDescriptions": {
10076 "typeIdentifier": "t_string_calldata_ptr",
10077 "typeString": "string"
10078 },
10079 "typeName": {
10080 "id": 9450,
10081 "name": "string",
10082 "nodeType": "ElementaryTypeName",
10083 "src": "7828:6:33",
10084 "typeDescriptions": {
10085 "typeIdentifier": "t_string_storage_ptr",
10086 "typeString": "string"
10087 }
10088 },
10089 "value": null,
10090 "visibility": "internal"
10091 },
10092 {
10093 "constant": false,
10094 "id": 9453,
10095 "name": "response2",
10096 "nodeType": "VariableDeclaration",
10097 "scope": 9504,
10098 "src": "7854:16:33",
10099 "stateVariable": false,
10100 "storageLocation": "default",
10101 "typeDescriptions": {
10102 "typeIdentifier": "t_string_calldata_ptr",
10103 "typeString": "string"
10104 },
10105 "typeName": {
10106 "id": 9452,
10107 "name": "string",
10108 "nodeType": "ElementaryTypeName",
10109 "src": "7854:6:33",
10110 "typeDescriptions": {
10111 "typeIdentifier": "t_string_storage_ptr",
10112 "typeString": "string"
10113 }
10114 },
10115 "value": null,
10116 "visibility": "internal"
10117 }
10118 ],
10119 "src": "7798:78:33"
10120 },
10121 "payable": false,
10122 "returnParameters": {
10123 "id": 9457,
10124 "nodeType": "ParameterList",
10125 "parameters": [
10126 {
10127 "constant": false,
10128 "id": 9456,
10129 "name": "",
10130 "nodeType": "VariableDeclaration",
10131 "scope": 9504,
10132 "src": "7911:4:33",
10133 "stateVariable": false,
10134 "storageLocation": "default",
10135 "typeDescriptions": {
10136 "typeIdentifier": "t_bool",
10137 "typeString": "bool"
10138 },
10139 "typeName": {
10140 "id": 9455,
10141 "name": "bool",
10142 "nodeType": "ElementaryTypeName",
10143 "src": "7911:4:33",
10144 "typeDescriptions": {
10145 "typeIdentifier": "t_bool",
10146 "typeString": "bool"
10147 }
10148 },
10149 "value": null,
10150 "visibility": "internal"
10151 }
10152 ],
10153 "src": "7910:6:33"
10154 },
10155 "scope": 10008,
10156 "src": "7781:497:33",
10157 "stateMutability": "nonpayable",
10158 "superFunction": 10044,
10159 "visibility": "external"
10160 },
10161 {
10162 "body": {
10163 "id": 9564,
10164 "nodeType": "Block",
10165 "src": "8531:379:33",
10166 "statements": [
10167 {
10168 "condition": {
10169 "argumentTypes": null,
10170 "commonType": {
10171 "typeIdentifier": "t_bool",
10172 "typeString": "bool"
10173 },
10174 "id": 9527,
10175 "isConstant": false,
10176 "isLValue": false,
10177 "isPure": false,
10178 "lValueRequested": false,
10179 "leftExpression": {
10180 "argumentTypes": null,
10181 "commonType": {
10182 "typeIdentifier": "t_address",
10183 "typeString": "address"
10184 },
10185 "id": 9522,
10186 "isConstant": false,
10187 "isLValue": false,
10188 "isPure": false,
10189 "lValueRequested": false,
10190 "leftExpression": {
10191 "argumentTypes": null,
10192 "arguments": [
10193 {
10194 "argumentTypes": null,
10195 "id": 9518,
10196 "name": "id",
10197 "nodeType": "Identifier",
10198 "overloadedDeclarations": [],
10199 "referencedDeclaration": 9506,
10200 "src": "8557:2:33",
10201 "typeDescriptions": {
10202 "typeIdentifier": "t_uint256",
10203 "typeString": "uint256"
10204 }
10205 }
10206 ],
10207 "expression": {
10208 "argumentTypes": [
10209 {
10210 "typeIdentifier": "t_uint256",
10211 "typeString": "uint256"
10212 }
10213 ],
10214 "id": 9517,
10215 "name": "getProvider",
10216 "nodeType": "Identifier",
10217 "overloadedDeclarations": [
10218 9652
10219 ],
10220 "referencedDeclaration": 9652,
10221 "src": "8545:11:33",
10222 "typeDescriptions": {
10223 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
10224 "typeString": "function (uint256) view returns (address)"
10225 }
10226 },
10227 "id": 9519,
10228 "isConstant": false,
10229 "isLValue": false,
10230 "isPure": false,
10231 "kind": "functionCall",
10232 "lValueRequested": false,
10233 "names": [],
10234 "nodeType": "FunctionCall",
10235 "src": "8545:15:33",
10236 "typeDescriptions": {
10237 "typeIdentifier": "t_address",
10238 "typeString": "address"
10239 }
10240 },
10241 "nodeType": "BinaryOperation",
10242 "operator": "!=",
10243 "rightExpression": {
10244 "argumentTypes": null,
10245 "expression": {
10246 "argumentTypes": null,
10247 "id": 9520,
10248 "name": "msg",
10249 "nodeType": "Identifier",
10250 "overloadedDeclarations": [],
10251 "referencedDeclaration": 12092,
10252 "src": "8564:3:33",
10253 "typeDescriptions": {
10254 "typeIdentifier": "t_magic_message",
10255 "typeString": "msg"
10256 }
10257 },
10258 "id": 9521,
10259 "isConstant": false,
10260 "isLValue": false,
10261 "isPure": false,
10262 "lValueRequested": false,
10263 "memberName": "sender",
10264 "nodeType": "MemberAccess",
10265 "referencedDeclaration": null,
10266 "src": "8564:10:33",
10267 "typeDescriptions": {
10268 "typeIdentifier": "t_address",
10269 "typeString": "address"
10270 }
10271 },
10272 "src": "8545:29:33",
10273 "typeDescriptions": {
10274 "typeIdentifier": "t_bool",
10275 "typeString": "bool"
10276 }
10277 },
10278 "nodeType": "BinaryOperation",
10279 "operator": "||",
10280 "rightExpression": {
10281 "argumentTypes": null,
10282 "id": 9526,
10283 "isConstant": false,
10284 "isLValue": false,
10285 "isPure": false,
10286 "lValueRequested": false,
10287 "nodeType": "UnaryOperation",
10288 "operator": "!",
10289 "prefix": true,
10290 "src": "8578:17:33",
10291 "subExpression": {
10292 "argumentTypes": null,
10293 "arguments": [
10294 {
10295 "argumentTypes": null,
10296 "id": 9524,
10297 "name": "id",
10298 "nodeType": "Identifier",
10299 "overloadedDeclarations": [],
10300 "referencedDeclaration": 9506,
10301 "src": "8592:2:33",
10302 "typeDescriptions": {
10303 "typeIdentifier": "t_uint256",
10304 "typeString": "uint256"
10305 }
10306 }
10307 ],
10308 "expression": {
10309 "argumentTypes": [
10310 {
10311 "typeIdentifier": "t_uint256",
10312 "typeString": "uint256"
10313 }
10314 ],
10315 "id": 9523,
10316 "name": "fulfillQuery",
10317 "nodeType": "Identifier",
10318 "overloadedDeclarations": [],
10319 "referencedDeclaration": 9218,
10320 "src": "8579:12:33",
10321 "typeDescriptions": {
10322 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$",
10323 "typeString": "function (uint256) returns (bool)"
10324 }
10325 },
10326 "id": 9525,
10327 "isConstant": false,
10328 "isLValue": false,
10329 "isPure": false,
10330 "kind": "functionCall",
10331 "lValueRequested": false,
10332 "names": [],
10333 "nodeType": "FunctionCall",
10334 "src": "8579:16:33",
10335 "typeDescriptions": {
10336 "typeIdentifier": "t_bool",
10337 "typeString": "bool"
10338 }
10339 },
10340 "typeDescriptions": {
10341 "typeIdentifier": "t_bool",
10342 "typeString": "bool"
10343 }
10344 },
10345 "src": "8545:50:33",
10346 "typeDescriptions": {
10347 "typeIdentifier": "t_bool",
10348 "typeString": "bool"
10349 }
10350 },
10351 "falseBody": null,
10352 "id": 9531,
10353 "nodeType": "IfStatement",
10354 "src": "8541:76:33",
10355 "trueBody": {
10356 "expression": {
10357 "argumentTypes": null,
10358 "arguments": [],
10359 "expression": {
10360 "argumentTypes": [],
10361 "id": 9528,
10362 "name": "revert",
10363 "nodeType": "Identifier",
10364 "overloadedDeclarations": [
10365 12097,
10366 12098
10367 ],
10368 "referencedDeclaration": 12097,
10369 "src": "8609:6:33",
10370 "typeDescriptions": {
10371 "typeIdentifier": "t_function_revert_pure$__$returns$__$",
10372 "typeString": "function () pure"
10373 }
10374 },
10375 "id": 9529,
10376 "isConstant": false,
10377 "isLValue": false,
10378 "isPure": false,
10379 "kind": "functionCall",
10380 "lValueRequested": false,
10381 "names": [],
10382 "nodeType": "FunctionCall",
10383 "src": "8609:8:33",
10384 "typeDescriptions": {
10385 "typeIdentifier": "t_tuple$__$",
10386 "typeString": "tuple()"
10387 }
10388 },
10389 "id": 9530,
10390 "nodeType": "ExpressionStatement",
10391 "src": "8609:8:33"
10392 }
10393 },
10394 {
10395 "condition": {
10396 "argumentTypes": null,
10397 "arguments": [
10398 {
10399 "argumentTypes": null,
10400 "id": 9533,
10401 "name": "id",
10402 "nodeType": "Identifier",
10403 "overloadedDeclarations": [],
10404 "referencedDeclaration": 9506,
10405 "src": "8653:2:33",
10406 "typeDescriptions": {
10407 "typeIdentifier": "t_uint256",
10408 "typeString": "uint256"
10409 }
10410 }
10411 ],
10412 "expression": {
10413 "argumentTypes": [
10414 {
10415 "typeIdentifier": "t_uint256",
10416 "typeString": "uint256"
10417 }
10418 ],
10419 "id": 9532,
10420 "name": "getSubscriberOnchain",
10421 "nodeType": "Identifier",
10422 "overloadedDeclarations": [
10423 9783
10424 ],
10425 "referencedDeclaration": 9783,
10426 "src": "8632:20:33",
10427 "typeDescriptions": {
10428 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
10429 "typeString": "function (uint256) view returns (bool)"
10430 }
10431 },
10432 "id": 9534,
10433 "isConstant": false,
10434 "isLValue": false,
10435 "isPure": false,
10436 "kind": "functionCall",
10437 "lValueRequested": false,
10438 "names": [],
10439 "nodeType": "FunctionCall",
10440 "src": "8632:24:33",
10441 "typeDescriptions": {
10442 "typeIdentifier": "t_bool",
10443 "typeString": "bool"
10444 }
10445 },
10446 "falseBody": {
10447 "id": 9560,
10448 "nodeType": "Block",
10449 "src": "8769:113:33",
10450 "statements": [
10451 {
10452 "eventCall": {
10453 "argumentTypes": null,
10454 "arguments": [
10455 {
10456 "argumentTypes": null,
10457 "id": 9549,
10458 "name": "id",
10459 "nodeType": "Identifier",
10460 "overloadedDeclarations": [],
10461 "referencedDeclaration": 9506,
10462 "src": "8804:2:33",
10463 "typeDescriptions": {
10464 "typeIdentifier": "t_uint256",
10465 "typeString": "uint256"
10466 }
10467 },
10468 {
10469 "argumentTypes": null,
10470 "arguments": [
10471 {
10472 "argumentTypes": null,
10473 "id": 9551,
10474 "name": "id",
10475 "nodeType": "Identifier",
10476 "overloadedDeclarations": [],
10477 "referencedDeclaration": 9506,
10478 "src": "8822:2:33",
10479 "typeDescriptions": {
10480 "typeIdentifier": "t_uint256",
10481 "typeString": "uint256"
10482 }
10483 }
10484 ],
10485 "expression": {
10486 "argumentTypes": [
10487 {
10488 "typeIdentifier": "t_uint256",
10489 "typeString": "uint256"
10490 }
10491 ],
10492 "id": 9550,
10493 "name": "getSubscriber",
10494 "nodeType": "Identifier",
10495 "overloadedDeclarations": [
10496 9674
10497 ],
10498 "referencedDeclaration": 9674,
10499 "src": "8808:13:33",
10500 "typeDescriptions": {
10501 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
10502 "typeString": "function (uint256) view returns (address)"
10503 }
10504 },
10505 "id": 9552,
10506 "isConstant": false,
10507 "isLValue": false,
10508 "isPure": false,
10509 "kind": "functionCall",
10510 "lValueRequested": false,
10511 "names": [],
10512 "nodeType": "FunctionCall",
10513 "src": "8808:17:33",
10514 "typeDescriptions": {
10515 "typeIdentifier": "t_address",
10516 "typeString": "address"
10517 }
10518 },
10519 {
10520 "argumentTypes": null,
10521 "expression": {
10522 "argumentTypes": null,
10523 "id": 9553,
10524 "name": "msg",
10525 "nodeType": "Identifier",
10526 "overloadedDeclarations": [],
10527 "referencedDeclaration": 12092,
10528 "src": "8827:3:33",
10529 "typeDescriptions": {
10530 "typeIdentifier": "t_magic_message",
10531 "typeString": "msg"
10532 }
10533 },
10534 "id": 9554,
10535 "isConstant": false,
10536 "isLValue": false,
10537 "isPure": false,
10538 "lValueRequested": false,
10539 "memberName": "sender",
10540 "nodeType": "MemberAccess",
10541 "referencedDeclaration": null,
10542 "src": "8827:10:33",
10543 "typeDescriptions": {
10544 "typeIdentifier": "t_address",
10545 "typeString": "address"
10546 }
10547 },
10548 {
10549 "argumentTypes": null,
10550 "id": 9555,
10551 "name": "response1",
10552 "nodeType": "Identifier",
10553 "overloadedDeclarations": [],
10554 "referencedDeclaration": 9508,
10555 "src": "8839:9:33",
10556 "typeDescriptions": {
10557 "typeIdentifier": "t_string_calldata_ptr",
10558 "typeString": "string calldata"
10559 }
10560 },
10561 {
10562 "argumentTypes": null,
10563 "id": 9556,
10564 "name": "response2",
10565 "nodeType": "Identifier",
10566 "overloadedDeclarations": [],
10567 "referencedDeclaration": 9510,
10568 "src": "8850:9:33",
10569 "typeDescriptions": {
10570 "typeIdentifier": "t_string_calldata_ptr",
10571 "typeString": "string calldata"
10572 }
10573 },
10574 {
10575 "argumentTypes": null,
10576 "id": 9557,
10577 "name": "response3",
10578 "nodeType": "Identifier",
10579 "overloadedDeclarations": [],
10580 "referencedDeclaration": 9512,
10581 "src": "8861:9:33",
10582 "typeDescriptions": {
10583 "typeIdentifier": "t_string_calldata_ptr",
10584 "typeString": "string calldata"
10585 }
10586 }
10587 ],
10588 "expression": {
10589 "argumentTypes": [
10590 {
10591 "typeIdentifier": "t_uint256",
10592 "typeString": "uint256"
10593 },
10594 {
10595 "typeIdentifier": "t_address",
10596 "typeString": "address"
10597 },
10598 {
10599 "typeIdentifier": "t_address",
10600 "typeString": "address"
10601 },
10602 {
10603 "typeIdentifier": "t_string_calldata_ptr",
10604 "typeString": "string calldata"
10605 },
10606 {
10607 "typeIdentifier": "t_string_calldata_ptr",
10608 "typeString": "string calldata"
10609 },
10610 {
10611 "typeIdentifier": "t_string_calldata_ptr",
10612 "typeString": "string calldata"
10613 }
10614 ],
10615 "id": 9548,
10616 "name": "OffchainResult3",
10617 "nodeType": "Identifier",
10618 "overloadedDeclarations": [],
10619 "referencedDeclaration": 8927,
10620 "src": "8788:15:33",
10621 "typeDescriptions": {
10622 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
10623 "typeString": "function (uint256,address,address,string memory,string memory,string memory)"
10624 }
10625 },
10626 "id": 9558,
10627 "isConstant": false,
10628 "isLValue": false,
10629 "isPure": false,
10630 "kind": "functionCall",
10631 "lValueRequested": false,
10632 "names": [],
10633 "nodeType": "FunctionCall",
10634 "src": "8788:83:33",
10635 "typeDescriptions": {
10636 "typeIdentifier": "t_tuple$__$",
10637 "typeString": "tuple()"
10638 }
10639 },
10640 "id": 9559,
10641 "nodeType": "EmitStatement",
10642 "src": "8783:88:33"
10643 }
10644 ]
10645 },
10646 "id": 9561,
10647 "nodeType": "IfStatement",
10648 "src": "8628:254:33",
10649 "trueBody": {
10650 "id": 9547,
10651 "nodeType": "Block",
10652 "src": "8658:97:33",
10653 "statements": [
10654 {
10655 "expression": {
10656 "argumentTypes": null,
10657 "arguments": [
10658 {
10659 "argumentTypes": null,
10660 "id": 9541,
10661 "name": "id",
10662 "nodeType": "Identifier",
10663 "overloadedDeclarations": [],
10664 "referencedDeclaration": 9506,
10665 "src": "8708:2:33",
10666 "typeDescriptions": {
10667 "typeIdentifier": "t_uint256",
10668 "typeString": "uint256"
10669 }
10670 },
10671 {
10672 "argumentTypes": null,
10673 "id": 9542,
10674 "name": "response1",
10675 "nodeType": "Identifier",
10676 "overloadedDeclarations": [],
10677 "referencedDeclaration": 9508,
10678 "src": "8712:9:33",
10679 "typeDescriptions": {
10680 "typeIdentifier": "t_string_calldata_ptr",
10681 "typeString": "string calldata"
10682 }
10683 },
10684 {
10685 "argumentTypes": null,
10686 "id": 9543,
10687 "name": "response2",
10688 "nodeType": "Identifier",
10689 "overloadedDeclarations": [],
10690 "referencedDeclaration": 9510,
10691 "src": "8723:9:33",
10692 "typeDescriptions": {
10693 "typeIdentifier": "t_string_calldata_ptr",
10694 "typeString": "string calldata"
10695 }
10696 },
10697 {
10698 "argumentTypes": null,
10699 "id": 9544,
10700 "name": "response3",
10701 "nodeType": "Identifier",
10702 "overloadedDeclarations": [],
10703 "referencedDeclaration": 9512,
10704 "src": "8734:9:33",
10705 "typeDescriptions": {
10706 "typeIdentifier": "t_string_calldata_ptr",
10707 "typeString": "string calldata"
10708 }
10709 }
10710 ],
10711 "expression": {
10712 "argumentTypes": [
10713 {
10714 "typeIdentifier": "t_uint256",
10715 "typeString": "uint256"
10716 },
10717 {
10718 "typeIdentifier": "t_string_calldata_ptr",
10719 "typeString": "string calldata"
10720 },
10721 {
10722 "typeIdentifier": "t_string_calldata_ptr",
10723 "typeString": "string calldata"
10724 },
10725 {
10726 "typeIdentifier": "t_string_calldata_ptr",
10727 "typeString": "string calldata"
10728 }
10729 ],
10730 "expression": {
10731 "argumentTypes": null,
10732 "arguments": [
10733 {
10734 "argumentTypes": null,
10735 "arguments": [
10736 {
10737 "argumentTypes": null,
10738 "id": 9537,
10739 "name": "id",
10740 "nodeType": "Identifier",
10741 "overloadedDeclarations": [],
10742 "referencedDeclaration": 9506,
10743 "src": "8694:2:33",
10744 "typeDescriptions": {
10745 "typeIdentifier": "t_uint256",
10746 "typeString": "uint256"
10747 }
10748 }
10749 ],
10750 "expression": {
10751 "argumentTypes": [
10752 {
10753 "typeIdentifier": "t_uint256",
10754 "typeString": "uint256"
10755 }
10756 ],
10757 "id": 9536,
10758 "name": "getSubscriber",
10759 "nodeType": "Identifier",
10760 "overloadedDeclarations": [
10761 9674
10762 ],
10763 "referencedDeclaration": 9674,
10764 "src": "8680:13:33",
10765 "typeDescriptions": {
10766 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
10767 "typeString": "function (uint256) view returns (address)"
10768 }
10769 },
10770 "id": 9538,
10771 "isConstant": false,
10772 "isLValue": false,
10773 "isPure": false,
10774 "kind": "functionCall",
10775 "lValueRequested": false,
10776 "names": [],
10777 "nodeType": "FunctionCall",
10778 "src": "8680:17:33",
10779 "typeDescriptions": {
10780 "typeIdentifier": "t_address",
10781 "typeString": "address"
10782 }
10783 }
10784 ],
10785 "expression": {
10786 "argumentTypes": [
10787 {
10788 "typeIdentifier": "t_address",
10789 "typeString": "address"
10790 }
10791 ],
10792 "id": 9535,
10793 "name": "Client3",
10794 "nodeType": "Identifier",
10795 "overloadedDeclarations": [],
10796 "referencedDeclaration": 837,
10797 "src": "8672:7:33",
10798 "typeDescriptions": {
10799 "typeIdentifier": "t_type$_t_contract$_Client3_$837_$",
10800 "typeString": "type(contract Client3)"
10801 }
10802 },
10803 "id": 9539,
10804 "isConstant": false,
10805 "isLValue": false,
10806 "isPure": false,
10807 "kind": "typeConversion",
10808 "lValueRequested": false,
10809 "names": [],
10810 "nodeType": "FunctionCall",
10811 "src": "8672:26:33",
10812 "typeDescriptions": {
10813 "typeIdentifier": "t_contract$_Client3_$837",
10814 "typeString": "contract Client3"
10815 }
10816 },
10817 "id": 9540,
10818 "isConstant": false,
10819 "isLValue": false,
10820 "isPure": false,
10821 "lValueRequested": false,
10822 "memberName": "callback",
10823 "nodeType": "MemberAccess",
10824 "referencedDeclaration": 836,
10825 "src": "8672:35:33",
10826 "typeDescriptions": {
10827 "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
10828 "typeString": "function (uint256,string memory,string memory,string memory) external"
10829 }
10830 },
10831 "id": 9545,
10832 "isConstant": false,
10833 "isLValue": false,
10834 "isPure": false,
10835 "kind": "functionCall",
10836 "lValueRequested": false,
10837 "names": [],
10838 "nodeType": "FunctionCall",
10839 "src": "8672:72:33",
10840 "typeDescriptions": {
10841 "typeIdentifier": "t_tuple$__$",
10842 "typeString": "tuple()"
10843 }
10844 },
10845 "id": 9546,
10846 "nodeType": "ExpressionStatement",
10847 "src": "8672:72:33"
10848 }
10849 ]
10850 }
10851 },
10852 {
10853 "expression": {
10854 "argumentTypes": null,
10855 "hexValue": "74727565",
10856 "id": 9562,
10857 "isConstant": false,
10858 "isLValue": false,
10859 "isPure": true,
10860 "kind": "bool",
10861 "lValueRequested": false,
10862 "nodeType": "Literal",
10863 "src": "8899:4:33",
10864 "subdenomination": null,
10865 "typeDescriptions": {
10866 "typeIdentifier": "t_bool",
10867 "typeString": "bool"
10868 },
10869 "value": "true"
10870 },
10871 "functionReturnParameters": 9516,
10872 "id": 9563,
10873 "nodeType": "Return",
10874 "src": "8892:11:33"
10875 }
10876 ]
10877 },
10878 "documentation": "@dev Parameter-count specific method called by data provider in response",
10879 "id": 9565,
10880 "implemented": true,
10881 "isConstructor": false,
10882 "isDeclaredConst": false,
10883 "modifiers": [],
10884 "name": "respond3",
10885 "nodeType": "FunctionDefinition",
10886 "parameters": {
10887 "id": 9513,
10888 "nodeType": "ParameterList",
10889 "parameters": [
10890 {
10891 "constant": false,
10892 "id": 9506,
10893 "name": "id",
10894 "nodeType": "VariableDeclaration",
10895 "scope": 9565,
10896 "src": "8392:10:33",
10897 "stateVariable": false,
10898 "storageLocation": "default",
10899 "typeDescriptions": {
10900 "typeIdentifier": "t_uint256",
10901 "typeString": "uint256"
10902 },
10903 "typeName": {
10904 "id": 9505,
10905 "name": "uint256",
10906 "nodeType": "ElementaryTypeName",
10907 "src": "8392:7:33",
10908 "typeDescriptions": {
10909 "typeIdentifier": "t_uint256",
10910 "typeString": "uint256"
10911 }
10912 },
10913 "value": null,
10914 "visibility": "internal"
10915 },
10916 {
10917 "constant": false,
10918 "id": 9508,
10919 "name": "response1",
10920 "nodeType": "VariableDeclaration",
10921 "scope": 9565,
10922 "src": "8412:16:33",
10923 "stateVariable": false,
10924 "storageLocation": "default",
10925 "typeDescriptions": {
10926 "typeIdentifier": "t_string_calldata_ptr",
10927 "typeString": "string"
10928 },
10929 "typeName": {
10930 "id": 9507,
10931 "name": "string",
10932 "nodeType": "ElementaryTypeName",
10933 "src": "8412:6:33",
10934 "typeDescriptions": {
10935 "typeIdentifier": "t_string_storage_ptr",
10936 "typeString": "string"
10937 }
10938 },
10939 "value": null,
10940 "visibility": "internal"
10941 },
10942 {
10943 "constant": false,
10944 "id": 9510,
10945 "name": "response2",
10946 "nodeType": "VariableDeclaration",
10947 "scope": 9565,
10948 "src": "8438:16:33",
10949 "stateVariable": false,
10950 "storageLocation": "default",
10951 "typeDescriptions": {
10952 "typeIdentifier": "t_string_calldata_ptr",
10953 "typeString": "string"
10954 },
10955 "typeName": {
10956 "id": 9509,
10957 "name": "string",
10958 "nodeType": "ElementaryTypeName",
10959 "src": "8438:6:33",
10960 "typeDescriptions": {
10961 "typeIdentifier": "t_string_storage_ptr",
10962 "typeString": "string"
10963 }
10964 },
10965 "value": null,
10966 "visibility": "internal"
10967 },
10968 {
10969 "constant": false,
10970 "id": 9512,
10971 "name": "response3",
10972 "nodeType": "VariableDeclaration",
10973 "scope": 9565,
10974 "src": "8464:16:33",
10975 "stateVariable": false,
10976 "storageLocation": "default",
10977 "typeDescriptions": {
10978 "typeIdentifier": "t_string_calldata_ptr",
10979 "typeString": "string"
10980 },
10981 "typeName": {
10982 "id": 9511,
10983 "name": "string",
10984 "nodeType": "ElementaryTypeName",
10985 "src": "8464:6:33",
10986 "typeDescriptions": {
10987 "typeIdentifier": "t_string_storage_ptr",
10988 "typeString": "string"
10989 }
10990 },
10991 "value": null,
10992 "visibility": "internal"
10993 }
10994 ],
10995 "src": "8382:104:33"
10996 },
10997 "payable": false,
10998 "returnParameters": {
10999 "id": 9516,
11000 "nodeType": "ParameterList",
11001 "parameters": [
11002 {
11003 "constant": false,
11004 "id": 9515,
11005 "name": "",
11006 "nodeType": "VariableDeclaration",
11007 "scope": 9565,
11008 "src": "8521:4:33",
11009 "stateVariable": false,
11010 "storageLocation": "default",
11011 "typeDescriptions": {
11012 "typeIdentifier": "t_bool",
11013 "typeString": "bool"
11014 },
11015 "typeName": {
11016 "id": 9514,
11017 "name": "bool",
11018 "nodeType": "ElementaryTypeName",
11019 "src": "8521:4:33",
11020 "typeDescriptions": {
11021 "typeIdentifier": "t_bool",
11022 "typeString": "bool"
11023 }
11024 },
11025 "value": null,
11026 "visibility": "internal"
11027 }
11028 ],
11029 "src": "8520:6:33"
11030 },
11031 "scope": 10008,
11032 "src": "8365:545:33",
11033 "stateMutability": "nonpayable",
11034 "superFunction": 10057,
11035 "visibility": "external"
11036 },
11037 {
11038 "body": {
11039 "id": 9629,
11040 "nodeType": "Block",
11041 "src": "9189:401:33",
11042 "statements": [
11043 {
11044 "condition": {
11045 "argumentTypes": null,
11046 "commonType": {
11047 "typeIdentifier": "t_bool",
11048 "typeString": "bool"
11049 },
11050 "id": 9590,
11051 "isConstant": false,
11052 "isLValue": false,
11053 "isPure": false,
11054 "lValueRequested": false,
11055 "leftExpression": {
11056 "argumentTypes": null,
11057 "commonType": {
11058 "typeIdentifier": "t_address",
11059 "typeString": "address"
11060 },
11061 "id": 9585,
11062 "isConstant": false,
11063 "isLValue": false,
11064 "isPure": false,
11065 "lValueRequested": false,
11066 "leftExpression": {
11067 "argumentTypes": null,
11068 "arguments": [
11069 {
11070 "argumentTypes": null,
11071 "id": 9581,
11072 "name": "id",
11073 "nodeType": "Identifier",
11074 "overloadedDeclarations": [],
11075 "referencedDeclaration": 9567,
11076 "src": "9215:2:33",
11077 "typeDescriptions": {
11078 "typeIdentifier": "t_uint256",
11079 "typeString": "uint256"
11080 }
11081 }
11082 ],
11083 "expression": {
11084 "argumentTypes": [
11085 {
11086 "typeIdentifier": "t_uint256",
11087 "typeString": "uint256"
11088 }
11089 ],
11090 "id": 9580,
11091 "name": "getProvider",
11092 "nodeType": "Identifier",
11093 "overloadedDeclarations": [
11094 9652
11095 ],
11096 "referencedDeclaration": 9652,
11097 "src": "9203:11:33",
11098 "typeDescriptions": {
11099 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
11100 "typeString": "function (uint256) view returns (address)"
11101 }
11102 },
11103 "id": 9582,
11104 "isConstant": false,
11105 "isLValue": false,
11106 "isPure": false,
11107 "kind": "functionCall",
11108 "lValueRequested": false,
11109 "names": [],
11110 "nodeType": "FunctionCall",
11111 "src": "9203:15:33",
11112 "typeDescriptions": {
11113 "typeIdentifier": "t_address",
11114 "typeString": "address"
11115 }
11116 },
11117 "nodeType": "BinaryOperation",
11118 "operator": "!=",
11119 "rightExpression": {
11120 "argumentTypes": null,
11121 "expression": {
11122 "argumentTypes": null,
11123 "id": 9583,
11124 "name": "msg",
11125 "nodeType": "Identifier",
11126 "overloadedDeclarations": [],
11127 "referencedDeclaration": 12092,
11128 "src": "9222:3:33",
11129 "typeDescriptions": {
11130 "typeIdentifier": "t_magic_message",
11131 "typeString": "msg"
11132 }
11133 },
11134 "id": 9584,
11135 "isConstant": false,
11136 "isLValue": false,
11137 "isPure": false,
11138 "lValueRequested": false,
11139 "memberName": "sender",
11140 "nodeType": "MemberAccess",
11141 "referencedDeclaration": null,
11142 "src": "9222:10:33",
11143 "typeDescriptions": {
11144 "typeIdentifier": "t_address",
11145 "typeString": "address"
11146 }
11147 },
11148 "src": "9203:29:33",
11149 "typeDescriptions": {
11150 "typeIdentifier": "t_bool",
11151 "typeString": "bool"
11152 }
11153 },
11154 "nodeType": "BinaryOperation",
11155 "operator": "||",
11156 "rightExpression": {
11157 "argumentTypes": null,
11158 "id": 9589,
11159 "isConstant": false,
11160 "isLValue": false,
11161 "isPure": false,
11162 "lValueRequested": false,
11163 "nodeType": "UnaryOperation",
11164 "operator": "!",
11165 "prefix": true,
11166 "src": "9236:17:33",
11167 "subExpression": {
11168 "argumentTypes": null,
11169 "arguments": [
11170 {
11171 "argumentTypes": null,
11172 "id": 9587,
11173 "name": "id",
11174 "nodeType": "Identifier",
11175 "overloadedDeclarations": [],
11176 "referencedDeclaration": 9567,
11177 "src": "9250:2:33",
11178 "typeDescriptions": {
11179 "typeIdentifier": "t_uint256",
11180 "typeString": "uint256"
11181 }
11182 }
11183 ],
11184 "expression": {
11185 "argumentTypes": [
11186 {
11187 "typeIdentifier": "t_uint256",
11188 "typeString": "uint256"
11189 }
11190 ],
11191 "id": 9586,
11192 "name": "fulfillQuery",
11193 "nodeType": "Identifier",
11194 "overloadedDeclarations": [],
11195 "referencedDeclaration": 9218,
11196 "src": "9237:12:33",
11197 "typeDescriptions": {
11198 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$",
11199 "typeString": "function (uint256) returns (bool)"
11200 }
11201 },
11202 "id": 9588,
11203 "isConstant": false,
11204 "isLValue": false,
11205 "isPure": false,
11206 "kind": "functionCall",
11207 "lValueRequested": false,
11208 "names": [],
11209 "nodeType": "FunctionCall",
11210 "src": "9237:16:33",
11211 "typeDescriptions": {
11212 "typeIdentifier": "t_bool",
11213 "typeString": "bool"
11214 }
11215 },
11216 "typeDescriptions": {
11217 "typeIdentifier": "t_bool",
11218 "typeString": "bool"
11219 }
11220 },
11221 "src": "9203:50:33",
11222 "typeDescriptions": {
11223 "typeIdentifier": "t_bool",
11224 "typeString": "bool"
11225 }
11226 },
11227 "falseBody": null,
11228 "id": 9594,
11229 "nodeType": "IfStatement",
11230 "src": "9199:76:33",
11231 "trueBody": {
11232 "expression": {
11233 "argumentTypes": null,
11234 "arguments": [],
11235 "expression": {
11236 "argumentTypes": [],
11237 "id": 9591,
11238 "name": "revert",
11239 "nodeType": "Identifier",
11240 "overloadedDeclarations": [
11241 12097,
11242 12098
11243 ],
11244 "referencedDeclaration": 12097,
11245 "src": "9267:6:33",
11246 "typeDescriptions": {
11247 "typeIdentifier": "t_function_revert_pure$__$returns$__$",
11248 "typeString": "function () pure"
11249 }
11250 },
11251 "id": 9592,
11252 "isConstant": false,
11253 "isLValue": false,
11254 "isPure": false,
11255 "kind": "functionCall",
11256 "lValueRequested": false,
11257 "names": [],
11258 "nodeType": "FunctionCall",
11259 "src": "9267:8:33",
11260 "typeDescriptions": {
11261 "typeIdentifier": "t_tuple$__$",
11262 "typeString": "tuple()"
11263 }
11264 },
11265 "id": 9593,
11266 "nodeType": "ExpressionStatement",
11267 "src": "9267:8:33"
11268 }
11269 },
11270 {
11271 "condition": {
11272 "argumentTypes": null,
11273 "arguments": [
11274 {
11275 "argumentTypes": null,
11276 "id": 9596,
11277 "name": "id",
11278 "nodeType": "Identifier",
11279 "overloadedDeclarations": [],
11280 "referencedDeclaration": 9567,
11281 "src": "9311:2:33",
11282 "typeDescriptions": {
11283 "typeIdentifier": "t_uint256",
11284 "typeString": "uint256"
11285 }
11286 }
11287 ],
11288 "expression": {
11289 "argumentTypes": [
11290 {
11291 "typeIdentifier": "t_uint256",
11292 "typeString": "uint256"
11293 }
11294 ],
11295 "id": 9595,
11296 "name": "getSubscriberOnchain",
11297 "nodeType": "Identifier",
11298 "overloadedDeclarations": [
11299 9783
11300 ],
11301 "referencedDeclaration": 9783,
11302 "src": "9290:20:33",
11303 "typeDescriptions": {
11304 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
11305 "typeString": "function (uint256) view returns (bool)"
11306 }
11307 },
11308 "id": 9597,
11309 "isConstant": false,
11310 "isLValue": false,
11311 "isPure": false,
11312 "kind": "functionCall",
11313 "lValueRequested": false,
11314 "names": [],
11315 "nodeType": "FunctionCall",
11316 "src": "9290:24:33",
11317 "typeDescriptions": {
11318 "typeIdentifier": "t_bool",
11319 "typeString": "bool"
11320 }
11321 },
11322 "falseBody": {
11323 "id": 9625,
11324 "nodeType": "Block",
11325 "src": "9438:124:33",
11326 "statements": [
11327 {
11328 "eventCall": {
11329 "argumentTypes": null,
11330 "arguments": [
11331 {
11332 "argumentTypes": null,
11333 "id": 9613,
11334 "name": "id",
11335 "nodeType": "Identifier",
11336 "overloadedDeclarations": [],
11337 "referencedDeclaration": 9567,
11338 "src": "9473:2:33",
11339 "typeDescriptions": {
11340 "typeIdentifier": "t_uint256",
11341 "typeString": "uint256"
11342 }
11343 },
11344 {
11345 "argumentTypes": null,
11346 "arguments": [
11347 {
11348 "argumentTypes": null,
11349 "id": 9615,
11350 "name": "id",
11351 "nodeType": "Identifier",
11352 "overloadedDeclarations": [],
11353 "referencedDeclaration": 9567,
11354 "src": "9491:2:33",
11355 "typeDescriptions": {
11356 "typeIdentifier": "t_uint256",
11357 "typeString": "uint256"
11358 }
11359 }
11360 ],
11361 "expression": {
11362 "argumentTypes": [
11363 {
11364 "typeIdentifier": "t_uint256",
11365 "typeString": "uint256"
11366 }
11367 ],
11368 "id": 9614,
11369 "name": "getSubscriber",
11370 "nodeType": "Identifier",
11371 "overloadedDeclarations": [
11372 9674
11373 ],
11374 "referencedDeclaration": 9674,
11375 "src": "9477:13:33",
11376 "typeDescriptions": {
11377 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
11378 "typeString": "function (uint256) view returns (address)"
11379 }
11380 },
11381 "id": 9616,
11382 "isConstant": false,
11383 "isLValue": false,
11384 "isPure": false,
11385 "kind": "functionCall",
11386 "lValueRequested": false,
11387 "names": [],
11388 "nodeType": "FunctionCall",
11389 "src": "9477:17:33",
11390 "typeDescriptions": {
11391 "typeIdentifier": "t_address",
11392 "typeString": "address"
11393 }
11394 },
11395 {
11396 "argumentTypes": null,
11397 "expression": {
11398 "argumentTypes": null,
11399 "id": 9617,
11400 "name": "msg",
11401 "nodeType": "Identifier",
11402 "overloadedDeclarations": [],
11403 "referencedDeclaration": 12092,
11404 "src": "9496:3:33",
11405 "typeDescriptions": {
11406 "typeIdentifier": "t_magic_message",
11407 "typeString": "msg"
11408 }
11409 },
11410 "id": 9618,
11411 "isConstant": false,
11412 "isLValue": false,
11413 "isPure": false,
11414 "lValueRequested": false,
11415 "memberName": "sender",
11416 "nodeType": "MemberAccess",
11417 "referencedDeclaration": null,
11418 "src": "9496:10:33",
11419 "typeDescriptions": {
11420 "typeIdentifier": "t_address",
11421 "typeString": "address"
11422 }
11423 },
11424 {
11425 "argumentTypes": null,
11426 "id": 9619,
11427 "name": "response1",
11428 "nodeType": "Identifier",
11429 "overloadedDeclarations": [],
11430 "referencedDeclaration": 9569,
11431 "src": "9508:9:33",
11432 "typeDescriptions": {
11433 "typeIdentifier": "t_string_calldata_ptr",
11434 "typeString": "string calldata"
11435 }
11436 },
11437 {
11438 "argumentTypes": null,
11439 "id": 9620,
11440 "name": "response2",
11441 "nodeType": "Identifier",
11442 "overloadedDeclarations": [],
11443 "referencedDeclaration": 9571,
11444 "src": "9519:9:33",
11445 "typeDescriptions": {
11446 "typeIdentifier": "t_string_calldata_ptr",
11447 "typeString": "string calldata"
11448 }
11449 },
11450 {
11451 "argumentTypes": null,
11452 "id": 9621,
11453 "name": "response3",
11454 "nodeType": "Identifier",
11455 "overloadedDeclarations": [],
11456 "referencedDeclaration": 9573,
11457 "src": "9530:9:33",
11458 "typeDescriptions": {
11459 "typeIdentifier": "t_string_calldata_ptr",
11460 "typeString": "string calldata"
11461 }
11462 },
11463 {
11464 "argumentTypes": null,
11465 "id": 9622,
11466 "name": "response4",
11467 "nodeType": "Identifier",
11468 "overloadedDeclarations": [],
11469 "referencedDeclaration": 9575,
11470 "src": "9541:9:33",
11471 "typeDescriptions": {
11472 "typeIdentifier": "t_string_calldata_ptr",
11473 "typeString": "string calldata"
11474 }
11475 }
11476 ],
11477 "expression": {
11478 "argumentTypes": [
11479 {
11480 "typeIdentifier": "t_uint256",
11481 "typeString": "uint256"
11482 },
11483 {
11484 "typeIdentifier": "t_address",
11485 "typeString": "address"
11486 },
11487 {
11488 "typeIdentifier": "t_address",
11489 "typeString": "address"
11490 },
11491 {
11492 "typeIdentifier": "t_string_calldata_ptr",
11493 "typeString": "string calldata"
11494 },
11495 {
11496 "typeIdentifier": "t_string_calldata_ptr",
11497 "typeString": "string calldata"
11498 },
11499 {
11500 "typeIdentifier": "t_string_calldata_ptr",
11501 "typeString": "string calldata"
11502 },
11503 {
11504 "typeIdentifier": "t_string_calldata_ptr",
11505 "typeString": "string calldata"
11506 }
11507 ],
11508 "id": 9612,
11509 "name": "OffchainResult4",
11510 "nodeType": "Identifier",
11511 "overloadedDeclarations": [],
11512 "referencedDeclaration": 8943,
11513 "src": "9457:15:33",
11514 "typeDescriptions": {
11515 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
11516 "typeString": "function (uint256,address,address,string memory,string memory,string memory,string memory)"
11517 }
11518 },
11519 "id": 9623,
11520 "isConstant": false,
11521 "isLValue": false,
11522 "isPure": false,
11523 "kind": "functionCall",
11524 "lValueRequested": false,
11525 "names": [],
11526 "nodeType": "FunctionCall",
11527 "src": "9457:94:33",
11528 "typeDescriptions": {
11529 "typeIdentifier": "t_tuple$__$",
11530 "typeString": "tuple()"
11531 }
11532 },
11533 "id": 9624,
11534 "nodeType": "EmitStatement",
11535 "src": "9452:99:33"
11536 }
11537 ]
11538 },
11539 "id": 9626,
11540 "nodeType": "IfStatement",
11541 "src": "9286:276:33",
11542 "trueBody": {
11543 "id": 9611,
11544 "nodeType": "Block",
11545 "src": "9316:108:33",
11546 "statements": [
11547 {
11548 "expression": {
11549 "argumentTypes": null,
11550 "arguments": [
11551 {
11552 "argumentTypes": null,
11553 "id": 9604,
11554 "name": "id",
11555 "nodeType": "Identifier",
11556 "overloadedDeclarations": [],
11557 "referencedDeclaration": 9567,
11558 "src": "9366:2:33",
11559 "typeDescriptions": {
11560 "typeIdentifier": "t_uint256",
11561 "typeString": "uint256"
11562 }
11563 },
11564 {
11565 "argumentTypes": null,
11566 "id": 9605,
11567 "name": "response1",
11568 "nodeType": "Identifier",
11569 "overloadedDeclarations": [],
11570 "referencedDeclaration": 9569,
11571 "src": "9370:9:33",
11572 "typeDescriptions": {
11573 "typeIdentifier": "t_string_calldata_ptr",
11574 "typeString": "string calldata"
11575 }
11576 },
11577 {
11578 "argumentTypes": null,
11579 "id": 9606,
11580 "name": "response2",
11581 "nodeType": "Identifier",
11582 "overloadedDeclarations": [],
11583 "referencedDeclaration": 9571,
11584 "src": "9381:9:33",
11585 "typeDescriptions": {
11586 "typeIdentifier": "t_string_calldata_ptr",
11587 "typeString": "string calldata"
11588 }
11589 },
11590 {
11591 "argumentTypes": null,
11592 "id": 9607,
11593 "name": "response3",
11594 "nodeType": "Identifier",
11595 "overloadedDeclarations": [],
11596 "referencedDeclaration": 9573,
11597 "src": "9392:9:33",
11598 "typeDescriptions": {
11599 "typeIdentifier": "t_string_calldata_ptr",
11600 "typeString": "string calldata"
11601 }
11602 },
11603 {
11604 "argumentTypes": null,
11605 "id": 9608,
11606 "name": "response4",
11607 "nodeType": "Identifier",
11608 "overloadedDeclarations": [],
11609 "referencedDeclaration": 9575,
11610 "src": "9403:9:33",
11611 "typeDescriptions": {
11612 "typeIdentifier": "t_string_calldata_ptr",
11613 "typeString": "string calldata"
11614 }
11615 }
11616 ],
11617 "expression": {
11618 "argumentTypes": [
11619 {
11620 "typeIdentifier": "t_uint256",
11621 "typeString": "uint256"
11622 },
11623 {
11624 "typeIdentifier": "t_string_calldata_ptr",
11625 "typeString": "string calldata"
11626 },
11627 {
11628 "typeIdentifier": "t_string_calldata_ptr",
11629 "typeString": "string calldata"
11630 },
11631 {
11632 "typeIdentifier": "t_string_calldata_ptr",
11633 "typeString": "string calldata"
11634 },
11635 {
11636 "typeIdentifier": "t_string_calldata_ptr",
11637 "typeString": "string calldata"
11638 }
11639 ],
11640 "expression": {
11641 "argumentTypes": null,
11642 "arguments": [
11643 {
11644 "argumentTypes": null,
11645 "arguments": [
11646 {
11647 "argumentTypes": null,
11648 "id": 9600,
11649 "name": "id",
11650 "nodeType": "Identifier",
11651 "overloadedDeclarations": [],
11652 "referencedDeclaration": 9567,
11653 "src": "9352:2:33",
11654 "typeDescriptions": {
11655 "typeIdentifier": "t_uint256",
11656 "typeString": "uint256"
11657 }
11658 }
11659 ],
11660 "expression": {
11661 "argumentTypes": [
11662 {
11663 "typeIdentifier": "t_uint256",
11664 "typeString": "uint256"
11665 }
11666 ],
11667 "id": 9599,
11668 "name": "getSubscriber",
11669 "nodeType": "Identifier",
11670 "overloadedDeclarations": [
11671 9674
11672 ],
11673 "referencedDeclaration": 9674,
11674 "src": "9338:13:33",
11675 "typeDescriptions": {
11676 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
11677 "typeString": "function (uint256) view returns (address)"
11678 }
11679 },
11680 "id": 9601,
11681 "isConstant": false,
11682 "isLValue": false,
11683 "isPure": false,
11684 "kind": "functionCall",
11685 "lValueRequested": false,
11686 "names": [],
11687 "nodeType": "FunctionCall",
11688 "src": "9338:17:33",
11689 "typeDescriptions": {
11690 "typeIdentifier": "t_address",
11691 "typeString": "address"
11692 }
11693 }
11694 ],
11695 "expression": {
11696 "argumentTypes": [
11697 {
11698 "typeIdentifier": "t_address",
11699 "typeString": "address"
11700 }
11701 ],
11702 "id": 9598,
11703 "name": "Client4",
11704 "nodeType": "Identifier",
11705 "overloadedDeclarations": [],
11706 "referencedDeclaration": 851,
11707 "src": "9330:7:33",
11708 "typeDescriptions": {
11709 "typeIdentifier": "t_type$_t_contract$_Client4_$851_$",
11710 "typeString": "type(contract Client4)"
11711 }
11712 },
11713 "id": 9602,
11714 "isConstant": false,
11715 "isLValue": false,
11716 "isPure": false,
11717 "kind": "typeConversion",
11718 "lValueRequested": false,
11719 "names": [],
11720 "nodeType": "FunctionCall",
11721 "src": "9330:26:33",
11722 "typeDescriptions": {
11723 "typeIdentifier": "t_contract$_Client4_$851",
11724 "typeString": "contract Client4"
11725 }
11726 },
11727 "id": 9603,
11728 "isConstant": false,
11729 "isLValue": false,
11730 "isPure": false,
11731 "lValueRequested": false,
11732 "memberName": "callback",
11733 "nodeType": "MemberAccess",
11734 "referencedDeclaration": 850,
11735 "src": "9330:35:33",
11736 "typeDescriptions": {
11737 "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
11738 "typeString": "function (uint256,string memory,string memory,string memory,string memory) external"
11739 }
11740 },
11741 "id": 9609,
11742 "isConstant": false,
11743 "isLValue": false,
11744 "isPure": false,
11745 "kind": "functionCall",
11746 "lValueRequested": false,
11747 "names": [],
11748 "nodeType": "FunctionCall",
11749 "src": "9330:83:33",
11750 "typeDescriptions": {
11751 "typeIdentifier": "t_tuple$__$",
11752 "typeString": "tuple()"
11753 }
11754 },
11755 "id": 9610,
11756 "nodeType": "ExpressionStatement",
11757 "src": "9330:83:33"
11758 }
11759 ]
11760 }
11761 },
11762 {
11763 "expression": {
11764 "argumentTypes": null,
11765 "hexValue": "74727565",
11766 "id": 9627,
11767 "isConstant": false,
11768 "isLValue": false,
11769 "isPure": true,
11770 "kind": "bool",
11771 "lValueRequested": false,
11772 "nodeType": "Literal",
11773 "src": "9579:4:33",
11774 "subdenomination": null,
11775 "typeDescriptions": {
11776 "typeIdentifier": "t_bool",
11777 "typeString": "bool"
11778 },
11779 "value": "true"
11780 },
11781 "functionReturnParameters": 9579,
11782 "id": 9628,
11783 "nodeType": "Return",
11784 "src": "9572:11:33"
11785 }
11786 ]
11787 },
11788 "documentation": "@dev Parameter-count specific method called by data provider in response",
11789 "id": 9630,
11790 "implemented": true,
11791 "isConstructor": false,
11792 "isDeclaredConst": false,
11793 "modifiers": [],
11794 "name": "respond4",
11795 "nodeType": "FunctionDefinition",
11796 "parameters": {
11797 "id": 9576,
11798 "nodeType": "ParameterList",
11799 "parameters": [
11800 {
11801 "constant": false,
11802 "id": 9567,
11803 "name": "id",
11804 "nodeType": "VariableDeclaration",
11805 "scope": 9630,
11806 "src": "9024:10:33",
11807 "stateVariable": false,
11808 "storageLocation": "default",
11809 "typeDescriptions": {
11810 "typeIdentifier": "t_uint256",
11811 "typeString": "uint256"
11812 },
11813 "typeName": {
11814 "id": 9566,
11815 "name": "uint256",
11816 "nodeType": "ElementaryTypeName",
11817 "src": "9024:7:33",
11818 "typeDescriptions": {
11819 "typeIdentifier": "t_uint256",
11820 "typeString": "uint256"
11821 }
11822 },
11823 "value": null,
11824 "visibility": "internal"
11825 },
11826 {
11827 "constant": false,
11828 "id": 9569,
11829 "name": "response1",
11830 "nodeType": "VariableDeclaration",
11831 "scope": 9630,
11832 "src": "9044:16:33",
11833 "stateVariable": false,
11834 "storageLocation": "default",
11835 "typeDescriptions": {
11836 "typeIdentifier": "t_string_calldata_ptr",
11837 "typeString": "string"
11838 },
11839 "typeName": {
11840 "id": 9568,
11841 "name": "string",
11842 "nodeType": "ElementaryTypeName",
11843 "src": "9044:6:33",
11844 "typeDescriptions": {
11845 "typeIdentifier": "t_string_storage_ptr",
11846 "typeString": "string"
11847 }
11848 },
11849 "value": null,
11850 "visibility": "internal"
11851 },
11852 {
11853 "constant": false,
11854 "id": 9571,
11855 "name": "response2",
11856 "nodeType": "VariableDeclaration",
11857 "scope": 9630,
11858 "src": "9070:16:33",
11859 "stateVariable": false,
11860 "storageLocation": "default",
11861 "typeDescriptions": {
11862 "typeIdentifier": "t_string_calldata_ptr",
11863 "typeString": "string"
11864 },
11865 "typeName": {
11866 "id": 9570,
11867 "name": "string",
11868 "nodeType": "ElementaryTypeName",
11869 "src": "9070:6:33",
11870 "typeDescriptions": {
11871 "typeIdentifier": "t_string_storage_ptr",
11872 "typeString": "string"
11873 }
11874 },
11875 "value": null,
11876 "visibility": "internal"
11877 },
11878 {
11879 "constant": false,
11880 "id": 9573,
11881 "name": "response3",
11882 "nodeType": "VariableDeclaration",
11883 "scope": 9630,
11884 "src": "9096:16:33",
11885 "stateVariable": false,
11886 "storageLocation": "default",
11887 "typeDescriptions": {
11888 "typeIdentifier": "t_string_calldata_ptr",
11889 "typeString": "string"
11890 },
11891 "typeName": {
11892 "id": 9572,
11893 "name": "string",
11894 "nodeType": "ElementaryTypeName",
11895 "src": "9096:6:33",
11896 "typeDescriptions": {
11897 "typeIdentifier": "t_string_storage_ptr",
11898 "typeString": "string"
11899 }
11900 },
11901 "value": null,
11902 "visibility": "internal"
11903 },
11904 {
11905 "constant": false,
11906 "id": 9575,
11907 "name": "response4",
11908 "nodeType": "VariableDeclaration",
11909 "scope": 9630,
11910 "src": "9122:16:33",
11911 "stateVariable": false,
11912 "storageLocation": "default",
11913 "typeDescriptions": {
11914 "typeIdentifier": "t_string_calldata_ptr",
11915 "typeString": "string"
11916 },
11917 "typeName": {
11918 "id": 9574,
11919 "name": "string",
11920 "nodeType": "ElementaryTypeName",
11921 "src": "9122:6:33",
11922 "typeDescriptions": {
11923 "typeIdentifier": "t_string_storage_ptr",
11924 "typeString": "string"
11925 }
11926 },
11927 "value": null,
11928 "visibility": "internal"
11929 }
11930 ],
11931 "src": "9014:130:33"
11932 },
11933 "payable": false,
11934 "returnParameters": {
11935 "id": 9579,
11936 "nodeType": "ParameterList",
11937 "parameters": [
11938 {
11939 "constant": false,
11940 "id": 9578,
11941 "name": "",
11942 "nodeType": "VariableDeclaration",
11943 "scope": 9630,
11944 "src": "9179:4:33",
11945 "stateVariable": false,
11946 "storageLocation": "default",
11947 "typeDescriptions": {
11948 "typeIdentifier": "t_bool",
11949 "typeString": "bool"
11950 },
11951 "typeName": {
11952 "id": 9577,
11953 "name": "bool",
11954 "nodeType": "ElementaryTypeName",
11955 "src": "9179:4:33",
11956 "typeDescriptions": {
11957 "typeIdentifier": "t_bool",
11958 "typeString": "bool"
11959 }
11960 },
11961 "value": null,
11962 "visibility": "internal"
11963 }
11964 ],
11965 "src": "9178:6:33"
11966 },
11967 "scope": 10008,
11968 "src": "8997:593:33",
11969 "stateMutability": "nonpayable",
11970 "superFunction": 10072,
11971 "visibility": "external"
11972 },
11973 {
11974 "body": {
11975 "id": 9651,
11976 "nodeType": "Block",
11977 "src": "9764:101:33",
11978 "statements": [
11979 {
11980 "expression": {
11981 "argumentTypes": null,
11982 "arguments": [
11983 {
11984 "argumentTypes": null,
11985 "arguments": [
11986 {
11987 "argumentTypes": null,
11988 "arguments": [
11989 {
11990 "argumentTypes": null,
11991 "arguments": [
11992 {
11993 "argumentTypes": null,
11994 "hexValue": "71756572696573",
11995 "id": 9643,
11996 "isConstant": false,
11997 "isLValue": false,
11998 "isPure": true,
11999 "kind": "string",
12000 "lValueRequested": false,
12001 "nodeType": "Literal",
12002 "src": "9829:9:33",
12003 "subdenomination": null,
12004 "typeDescriptions": {
12005 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
12006 "typeString": "literal_string \"queries\""
12007 },
12008 "value": "queries"
12009 },
12010 {
12011 "argumentTypes": null,
12012 "id": 9644,
12013 "name": "id",
12014 "nodeType": "Identifier",
12015 "overloadedDeclarations": [],
12016 "referencedDeclaration": 9632,
12017 "src": "9840:2:33",
12018 "typeDescriptions": {
12019 "typeIdentifier": "t_uint256",
12020 "typeString": "uint256"
12021 }
12022 },
12023 {
12024 "argumentTypes": null,
12025 "hexValue": "70726f7669646572",
12026 "id": 9645,
12027 "isConstant": false,
12028 "isLValue": false,
12029 "isPure": true,
12030 "kind": "string",
12031 "lValueRequested": false,
12032 "nodeType": "Literal",
12033 "src": "9844:10:33",
12034 "subdenomination": null,
12035 "typeDescriptions": {
12036 "typeIdentifier": "t_stringliteral_91c78f343fa4753a18a7ecaff5a0d85cfa864839d839601256f8f00300358578",
12037 "typeString": "literal_string \"provider\""
12038 },
12039 "value": "provider"
12040 }
12041 ],
12042 "expression": {
12043 "argumentTypes": [
12044 {
12045 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
12046 "typeString": "literal_string \"queries\""
12047 },
12048 {
12049 "typeIdentifier": "t_uint256",
12050 "typeString": "uint256"
12051 },
12052 {
12053 "typeIdentifier": "t_stringliteral_91c78f343fa4753a18a7ecaff5a0d85cfa864839d839601256f8f00300358578",
12054 "typeString": "literal_string \"provider\""
12055 }
12056 ],
12057 "expression": {
12058 "argumentTypes": null,
12059 "id": 9641,
12060 "name": "abi",
12061 "nodeType": "Identifier",
12062 "overloadedDeclarations": [],
12063 "referencedDeclaration": 12079,
12064 "src": "9812:3:33",
12065 "typeDescriptions": {
12066 "typeIdentifier": "t_magic_abi",
12067 "typeString": "abi"
12068 }
12069 },
12070 "id": 9642,
12071 "isConstant": false,
12072 "isLValue": false,
12073 "isPure": true,
12074 "lValueRequested": false,
12075 "memberName": "encodePacked",
12076 "nodeType": "MemberAccess",
12077 "referencedDeclaration": null,
12078 "src": "9812:16:33",
12079 "typeDescriptions": {
12080 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
12081 "typeString": "function () pure returns (bytes memory)"
12082 }
12083 },
12084 "id": 9646,
12085 "isConstant": false,
12086 "isLValue": false,
12087 "isPure": false,
12088 "kind": "functionCall",
12089 "lValueRequested": false,
12090 "names": [],
12091 "nodeType": "FunctionCall",
12092 "src": "9812:43:33",
12093 "typeDescriptions": {
12094 "typeIdentifier": "t_bytes_memory_ptr",
12095 "typeString": "bytes memory"
12096 }
12097 }
12098 ],
12099 "expression": {
12100 "argumentTypes": [
12101 {
12102 "typeIdentifier": "t_bytes_memory_ptr",
12103 "typeString": "bytes memory"
12104 }
12105 ],
12106 "id": 9640,
12107 "name": "keccak256",
12108 "nodeType": "Identifier",
12109 "overloadedDeclarations": [],
12110 "referencedDeclaration": 12086,
12111 "src": "9802:9:33",
12112 "typeDescriptions": {
12113 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
12114 "typeString": "function () pure returns (bytes32)"
12115 }
12116 },
12117 "id": 9647,
12118 "isConstant": false,
12119 "isLValue": false,
12120 "isPure": false,
12121 "kind": "functionCall",
12122 "lValueRequested": false,
12123 "names": [],
12124 "nodeType": "FunctionCall",
12125 "src": "9802:54:33",
12126 "typeDescriptions": {
12127 "typeIdentifier": "t_bytes32",
12128 "typeString": "bytes32"
12129 }
12130 }
12131 ],
12132 "expression": {
12133 "argumentTypes": [
12134 {
12135 "typeIdentifier": "t_bytes32",
12136 "typeString": "bytes32"
12137 }
12138 ],
12139 "expression": {
12140 "argumentTypes": null,
12141 "id": 9638,
12142 "name": "db",
12143 "nodeType": "Identifier",
12144 "overloadedDeclarations": [],
12145 "referencedDeclaration": 8965,
12146 "src": "9789:2:33",
12147 "typeDescriptions": {
12148 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
12149 "typeString": "contract DatabaseInterface"
12150 }
12151 },
12152 "id": 9639,
12153 "isConstant": false,
12154 "isLValue": false,
12155 "isPure": false,
12156 "lValueRequested": false,
12157 "memberName": "getNumber",
12158 "nodeType": "MemberAccess",
12159 "referencedDeclaration": 8645,
12160 "src": "9789:12:33",
12161 "typeDescriptions": {
12162 "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
12163 "typeString": "function (bytes32) view external returns (uint256)"
12164 }
12165 },
12166 "id": 9648,
12167 "isConstant": false,
12168 "isLValue": false,
12169 "isPure": false,
12170 "kind": "functionCall",
12171 "lValueRequested": false,
12172 "names": [],
12173 "nodeType": "FunctionCall",
12174 "src": "9789:68:33",
12175 "typeDescriptions": {
12176 "typeIdentifier": "t_uint256",
12177 "typeString": "uint256"
12178 }
12179 }
12180 ],
12181 "expression": {
12182 "argumentTypes": [
12183 {
12184 "typeIdentifier": "t_uint256",
12185 "typeString": "uint256"
12186 }
12187 ],
12188 "id": 9637,
12189 "isConstant": false,
12190 "isLValue": false,
12191 "isPure": true,
12192 "lValueRequested": false,
12193 "nodeType": "ElementaryTypeNameExpression",
12194 "src": "9781:7:33",
12195 "typeDescriptions": {
12196 "typeIdentifier": "t_type$_t_address_$",
12197 "typeString": "type(address)"
12198 },
12199 "typeName": "address"
12200 },
12201 "id": 9649,
12202 "isConstant": false,
12203 "isLValue": false,
12204 "isPure": false,
12205 "kind": "typeConversion",
12206 "lValueRequested": false,
12207 "names": [],
12208 "nodeType": "FunctionCall",
12209 "src": "9781:77:33",
12210 "typeDescriptions": {
12211 "typeIdentifier": "t_address",
12212 "typeString": "address"
12213 }
12214 },
12215 "functionReturnParameters": 9636,
12216 "id": 9650,
12217 "nodeType": "Return",
12218 "src": "9774:84:33"
12219 }
12220 ]
12221 },
12222 "documentation": "@dev get provider address of request\n @param id request id",
12223 "id": 9652,
12224 "implemented": true,
12225 "isConstructor": false,
12226 "isDeclaredConst": true,
12227 "modifiers": [],
12228 "name": "getProvider",
12229 "nodeType": "FunctionDefinition",
12230 "parameters": {
12231 "id": 9633,
12232 "nodeType": "ParameterList",
12233 "parameters": [
12234 {
12235 "constant": false,
12236 "id": 9632,
12237 "name": "id",
12238 "nodeType": "VariableDeclaration",
12239 "scope": 9652,
12240 "src": "9722:10:33",
12241 "stateVariable": false,
12242 "storageLocation": "default",
12243 "typeDescriptions": {
12244 "typeIdentifier": "t_uint256",
12245 "typeString": "uint256"
12246 },
12247 "typeName": {
12248 "id": 9631,
12249 "name": "uint256",
12250 "nodeType": "ElementaryTypeName",
12251 "src": "9722:7:33",
12252 "typeDescriptions": {
12253 "typeIdentifier": "t_uint256",
12254 "typeString": "uint256"
12255 }
12256 },
12257 "value": null,
12258 "visibility": "internal"
12259 }
12260 ],
12261 "src": "9721:12:33"
12262 },
12263 "payable": false,
12264 "returnParameters": {
12265 "id": 9636,
12266 "nodeType": "ParameterList",
12267 "parameters": [
12268 {
12269 "constant": false,
12270 "id": 9635,
12271 "name": "",
12272 "nodeType": "VariableDeclaration",
12273 "scope": 9652,
12274 "src": "9755:7:33",
12275 "stateVariable": false,
12276 "storageLocation": "default",
12277 "typeDescriptions": {
12278 "typeIdentifier": "t_address",
12279 "typeString": "address"
12280 },
12281 "typeName": {
12282 "id": 9634,
12283 "name": "address",
12284 "nodeType": "ElementaryTypeName",
12285 "src": "9755:7:33",
12286 "typeDescriptions": {
12287 "typeIdentifier": "t_address",
12288 "typeString": "address"
12289 }
12290 },
12291 "value": null,
12292 "visibility": "internal"
12293 }
12294 ],
12295 "src": "9754:9:33"
12296 },
12297 "scope": 10008,
12298 "src": "9701:164:33",
12299 "stateMutability": "view",
12300 "superFunction": 10104,
12301 "visibility": "public"
12302 },
12303 {
12304 "body": {
12305 "id": 9673,
12306 "nodeType": "Block",
12307 "src": "10012:103:33",
12308 "statements": [
12309 {
12310 "expression": {
12311 "argumentTypes": null,
12312 "arguments": [
12313 {
12314 "argumentTypes": null,
12315 "arguments": [
12316 {
12317 "argumentTypes": null,
12318 "arguments": [
12319 {
12320 "argumentTypes": null,
12321 "arguments": [
12322 {
12323 "argumentTypes": null,
12324 "hexValue": "71756572696573",
12325 "id": 9665,
12326 "isConstant": false,
12327 "isLValue": false,
12328 "isPure": true,
12329 "kind": "string",
12330 "lValueRequested": false,
12331 "nodeType": "Literal",
12332 "src": "10077:9:33",
12333 "subdenomination": null,
12334 "typeDescriptions": {
12335 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
12336 "typeString": "literal_string \"queries\""
12337 },
12338 "value": "queries"
12339 },
12340 {
12341 "argumentTypes": null,
12342 "id": 9666,
12343 "name": "id",
12344 "nodeType": "Identifier",
12345 "overloadedDeclarations": [],
12346 "referencedDeclaration": 9654,
12347 "src": "10088:2:33",
12348 "typeDescriptions": {
12349 "typeIdentifier": "t_uint256",
12350 "typeString": "uint256"
12351 }
12352 },
12353 {
12354 "argumentTypes": null,
12355 "hexValue": "73756273637269626572",
12356 "id": 9667,
12357 "isConstant": false,
12358 "isLValue": false,
12359 "isPure": true,
12360 "kind": "string",
12361 "lValueRequested": false,
12362 "nodeType": "Literal",
12363 "src": "10092:12:33",
12364 "subdenomination": null,
12365 "typeDescriptions": {
12366 "typeIdentifier": "t_stringliteral_578460d8593305c1e4563d489761b3fb6d5c20b915297d7cca701626850e5e3e",
12367 "typeString": "literal_string \"subscriber\""
12368 },
12369 "value": "subscriber"
12370 }
12371 ],
12372 "expression": {
12373 "argumentTypes": [
12374 {
12375 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
12376 "typeString": "literal_string \"queries\""
12377 },
12378 {
12379 "typeIdentifier": "t_uint256",
12380 "typeString": "uint256"
12381 },
12382 {
12383 "typeIdentifier": "t_stringliteral_578460d8593305c1e4563d489761b3fb6d5c20b915297d7cca701626850e5e3e",
12384 "typeString": "literal_string \"subscriber\""
12385 }
12386 ],
12387 "expression": {
12388 "argumentTypes": null,
12389 "id": 9663,
12390 "name": "abi",
12391 "nodeType": "Identifier",
12392 "overloadedDeclarations": [],
12393 "referencedDeclaration": 12079,
12394 "src": "10060:3:33",
12395 "typeDescriptions": {
12396 "typeIdentifier": "t_magic_abi",
12397 "typeString": "abi"
12398 }
12399 },
12400 "id": 9664,
12401 "isConstant": false,
12402 "isLValue": false,
12403 "isPure": true,
12404 "lValueRequested": false,
12405 "memberName": "encodePacked",
12406 "nodeType": "MemberAccess",
12407 "referencedDeclaration": null,
12408 "src": "10060:16:33",
12409 "typeDescriptions": {
12410 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
12411 "typeString": "function () pure returns (bytes memory)"
12412 }
12413 },
12414 "id": 9668,
12415 "isConstant": false,
12416 "isLValue": false,
12417 "isPure": false,
12418 "kind": "functionCall",
12419 "lValueRequested": false,
12420 "names": [],
12421 "nodeType": "FunctionCall",
12422 "src": "10060:45:33",
12423 "typeDescriptions": {
12424 "typeIdentifier": "t_bytes_memory_ptr",
12425 "typeString": "bytes memory"
12426 }
12427 }
12428 ],
12429 "expression": {
12430 "argumentTypes": [
12431 {
12432 "typeIdentifier": "t_bytes_memory_ptr",
12433 "typeString": "bytes memory"
12434 }
12435 ],
12436 "id": 9662,
12437 "name": "keccak256",
12438 "nodeType": "Identifier",
12439 "overloadedDeclarations": [],
12440 "referencedDeclaration": 12086,
12441 "src": "10050:9:33",
12442 "typeDescriptions": {
12443 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
12444 "typeString": "function () pure returns (bytes32)"
12445 }
12446 },
12447 "id": 9669,
12448 "isConstant": false,
12449 "isLValue": false,
12450 "isPure": false,
12451 "kind": "functionCall",
12452 "lValueRequested": false,
12453 "names": [],
12454 "nodeType": "FunctionCall",
12455 "src": "10050:56:33",
12456 "typeDescriptions": {
12457 "typeIdentifier": "t_bytes32",
12458 "typeString": "bytes32"
12459 }
12460 }
12461 ],
12462 "expression": {
12463 "argumentTypes": [
12464 {
12465 "typeIdentifier": "t_bytes32",
12466 "typeString": "bytes32"
12467 }
12468 ],
12469 "expression": {
12470 "argumentTypes": null,
12471 "id": 9660,
12472 "name": "db",
12473 "nodeType": "Identifier",
12474 "overloadedDeclarations": [],
12475 "referencedDeclaration": 8965,
12476 "src": "10037:2:33",
12477 "typeDescriptions": {
12478 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
12479 "typeString": "contract DatabaseInterface"
12480 }
12481 },
12482 "id": 9661,
12483 "isConstant": false,
12484 "isLValue": false,
12485 "isPure": false,
12486 "lValueRequested": false,
12487 "memberName": "getNumber",
12488 "nodeType": "MemberAccess",
12489 "referencedDeclaration": 8645,
12490 "src": "10037:12:33",
12491 "typeDescriptions": {
12492 "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
12493 "typeString": "function (bytes32) view external returns (uint256)"
12494 }
12495 },
12496 "id": 9670,
12497 "isConstant": false,
12498 "isLValue": false,
12499 "isPure": false,
12500 "kind": "functionCall",
12501 "lValueRequested": false,
12502 "names": [],
12503 "nodeType": "FunctionCall",
12504 "src": "10037:70:33",
12505 "typeDescriptions": {
12506 "typeIdentifier": "t_uint256",
12507 "typeString": "uint256"
12508 }
12509 }
12510 ],
12511 "expression": {
12512 "argumentTypes": [
12513 {
12514 "typeIdentifier": "t_uint256",
12515 "typeString": "uint256"
12516 }
12517 ],
12518 "id": 9659,
12519 "isConstant": false,
12520 "isLValue": false,
12521 "isPure": true,
12522 "lValueRequested": false,
12523 "nodeType": "ElementaryTypeNameExpression",
12524 "src": "10029:7:33",
12525 "typeDescriptions": {
12526 "typeIdentifier": "t_type$_t_address_$",
12527 "typeString": "type(address)"
12528 },
12529 "typeName": "address"
12530 },
12531 "id": 9671,
12532 "isConstant": false,
12533 "isLValue": false,
12534 "isPure": false,
12535 "kind": "typeConversion",
12536 "lValueRequested": false,
12537 "names": [],
12538 "nodeType": "FunctionCall",
12539 "src": "10029:79:33",
12540 "typeDescriptions": {
12541 "typeIdentifier": "t_address",
12542 "typeString": "address"
12543 }
12544 },
12545 "functionReturnParameters": 9658,
12546 "id": 9672,
12547 "nodeType": "Return",
12548 "src": "10022:86:33"
12549 }
12550 ]
12551 },
12552 "documentation": "@dev get subscriber address of request\n @param id request id",
12553 "id": 9674,
12554 "implemented": true,
12555 "isConstructor": false,
12556 "isDeclaredConst": true,
12557 "modifiers": [],
12558 "name": "getSubscriber",
12559 "nodeType": "FunctionDefinition",
12560 "parameters": {
12561 "id": 9655,
12562 "nodeType": "ParameterList",
12563 "parameters": [
12564 {
12565 "constant": false,
12566 "id": 9654,
12567 "name": "id",
12568 "nodeType": "VariableDeclaration",
12569 "scope": 9674,
12570 "src": "9970:10:33",
12571 "stateVariable": false,
12572 "storageLocation": "default",
12573 "typeDescriptions": {
12574 "typeIdentifier": "t_uint256",
12575 "typeString": "uint256"
12576 },
12577 "typeName": {
12578 "id": 9653,
12579 "name": "uint256",
12580 "nodeType": "ElementaryTypeName",
12581 "src": "9970:7:33",
12582 "typeDescriptions": {
12583 "typeIdentifier": "t_uint256",
12584 "typeString": "uint256"
12585 }
12586 },
12587 "value": null,
12588 "visibility": "internal"
12589 }
12590 ],
12591 "src": "9969:12:33"
12592 },
12593 "payable": false,
12594 "returnParameters": {
12595 "id": 9658,
12596 "nodeType": "ParameterList",
12597 "parameters": [
12598 {
12599 "constant": false,
12600 "id": 9657,
12601 "name": "",
12602 "nodeType": "VariableDeclaration",
12603 "scope": 9674,
12604 "src": "10003:7:33",
12605 "stateVariable": false,
12606 "storageLocation": "default",
12607 "typeDescriptions": {
12608 "typeIdentifier": "t_address",
12609 "typeString": "address"
12610 },
12611 "typeName": {
12612 "id": 9656,
12613 "name": "address",
12614 "nodeType": "ElementaryTypeName",
12615 "src": "10003:7:33",
12616 "typeDescriptions": {
12617 "typeIdentifier": "t_address",
12618 "typeString": "address"
12619 }
12620 },
12621 "value": null,
12622 "visibility": "internal"
12623 }
12624 ],
12625 "src": "10002:9:33"
12626 },
12627 "scope": 10008,
12628 "src": "9947:168:33",
12629 "stateMutability": "view",
12630 "superFunction": 10111,
12631 "visibility": "public"
12632 },
12633 {
12634 "body": {
12635 "id": 9693,
12636 "nodeType": "Block",
12637 "src": "10250:93:33",
12638 "statements": [
12639 {
12640 "expression": {
12641 "argumentTypes": null,
12642 "arguments": [
12643 {
12644 "argumentTypes": null,
12645 "arguments": [
12646 {
12647 "argumentTypes": null,
12648 "arguments": [
12649 {
12650 "argumentTypes": null,
12651 "hexValue": "71756572696573",
12652 "id": 9686,
12653 "isConstant": false,
12654 "isLValue": false,
12655 "isPure": true,
12656 "kind": "string",
12657 "lValueRequested": false,
12658 "nodeType": "Literal",
12659 "src": "10308:9:33",
12660 "subdenomination": null,
12661 "typeDescriptions": {
12662 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
12663 "typeString": "literal_string \"queries\""
12664 },
12665 "value": "queries"
12666 },
12667 {
12668 "argumentTypes": null,
12669 "id": 9687,
12670 "name": "id",
12671 "nodeType": "Identifier",
12672 "overloadedDeclarations": [],
12673 "referencedDeclaration": 9676,
12674 "src": "10319:2:33",
12675 "typeDescriptions": {
12676 "typeIdentifier": "t_uint256",
12677 "typeString": "uint256"
12678 }
12679 },
12680 {
12681 "argumentTypes": null,
12682 "hexValue": "656e64706f696e74",
12683 "id": 9688,
12684 "isConstant": false,
12685 "isLValue": false,
12686 "isPure": true,
12687 "kind": "string",
12688 "lValueRequested": false,
12689 "nodeType": "Literal",
12690 "src": "10323:10:33",
12691 "subdenomination": null,
12692 "typeDescriptions": {
12693 "typeIdentifier": "t_stringliteral_2f66f0f49c62bf3dd55424947aed01de8cc6a36ef0d5854bc3983dd7bb89db24",
12694 "typeString": "literal_string \"endpoint\""
12695 },
12696 "value": "endpoint"
12697 }
12698 ],
12699 "expression": {
12700 "argumentTypes": [
12701 {
12702 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
12703 "typeString": "literal_string \"queries\""
12704 },
12705 {
12706 "typeIdentifier": "t_uint256",
12707 "typeString": "uint256"
12708 },
12709 {
12710 "typeIdentifier": "t_stringliteral_2f66f0f49c62bf3dd55424947aed01de8cc6a36ef0d5854bc3983dd7bb89db24",
12711 "typeString": "literal_string \"endpoint\""
12712 }
12713 ],
12714 "expression": {
12715 "argumentTypes": null,
12716 "id": 9684,
12717 "name": "abi",
12718 "nodeType": "Identifier",
12719 "overloadedDeclarations": [],
12720 "referencedDeclaration": 12079,
12721 "src": "10291:3:33",
12722 "typeDescriptions": {
12723 "typeIdentifier": "t_magic_abi",
12724 "typeString": "abi"
12725 }
12726 },
12727 "id": 9685,
12728 "isConstant": false,
12729 "isLValue": false,
12730 "isPure": true,
12731 "lValueRequested": false,
12732 "memberName": "encodePacked",
12733 "nodeType": "MemberAccess",
12734 "referencedDeclaration": null,
12735 "src": "10291:16:33",
12736 "typeDescriptions": {
12737 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
12738 "typeString": "function () pure returns (bytes memory)"
12739 }
12740 },
12741 "id": 9689,
12742 "isConstant": false,
12743 "isLValue": false,
12744 "isPure": false,
12745 "kind": "functionCall",
12746 "lValueRequested": false,
12747 "names": [],
12748 "nodeType": "FunctionCall",
12749 "src": "10291:43:33",
12750 "typeDescriptions": {
12751 "typeIdentifier": "t_bytes_memory_ptr",
12752 "typeString": "bytes memory"
12753 }
12754 }
12755 ],
12756 "expression": {
12757 "argumentTypes": [
12758 {
12759 "typeIdentifier": "t_bytes_memory_ptr",
12760 "typeString": "bytes memory"
12761 }
12762 ],
12763 "id": 9683,
12764 "name": "keccak256",
12765 "nodeType": "Identifier",
12766 "overloadedDeclarations": [],
12767 "referencedDeclaration": 12086,
12768 "src": "10281:9:33",
12769 "typeDescriptions": {
12770 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
12771 "typeString": "function () pure returns (bytes32)"
12772 }
12773 },
12774 "id": 9690,
12775 "isConstant": false,
12776 "isLValue": false,
12777 "isPure": false,
12778 "kind": "functionCall",
12779 "lValueRequested": false,
12780 "names": [],
12781 "nodeType": "FunctionCall",
12782 "src": "10281:54:33",
12783 "typeDescriptions": {
12784 "typeIdentifier": "t_bytes32",
12785 "typeString": "bytes32"
12786 }
12787 }
12788 ],
12789 "expression": {
12790 "argumentTypes": [
12791 {
12792 "typeIdentifier": "t_bytes32",
12793 "typeString": "bytes32"
12794 }
12795 ],
12796 "expression": {
12797 "argumentTypes": null,
12798 "id": 9681,
12799 "name": "db",
12800 "nodeType": "Identifier",
12801 "overloadedDeclarations": [],
12802 "referencedDeclaration": 8965,
12803 "src": "10267:2:33",
12804 "typeDescriptions": {
12805 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
12806 "typeString": "contract DatabaseInterface"
12807 }
12808 },
12809 "id": 9682,
12810 "isConstant": false,
12811 "isLValue": false,
12812 "isPure": false,
12813 "lValueRequested": false,
12814 "memberName": "getBytes32",
12815 "nodeType": "MemberAccess",
12816 "referencedDeclaration": 8631,
12817 "src": "10267:13:33",
12818 "typeDescriptions": {
12819 "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$",
12820 "typeString": "function (bytes32) view external returns (bytes32)"
12821 }
12822 },
12823 "id": 9691,
12824 "isConstant": false,
12825 "isLValue": false,
12826 "isPure": false,
12827 "kind": "functionCall",
12828 "lValueRequested": false,
12829 "names": [],
12830 "nodeType": "FunctionCall",
12831 "src": "10267:69:33",
12832 "typeDescriptions": {
12833 "typeIdentifier": "t_bytes32",
12834 "typeString": "bytes32"
12835 }
12836 },
12837 "functionReturnParameters": 9680,
12838 "id": 9692,
12839 "nodeType": "Return",
12840 "src": "10260:76:33"
12841 }
12842 ]
12843 },
12844 "documentation": "@dev get endpoint of request\n @param id request id",
12845 "id": 9694,
12846 "implemented": true,
12847 "isConstructor": false,
12848 "isDeclaredConst": true,
12849 "modifiers": [],
12850 "name": "getEndpoint",
12851 "nodeType": "FunctionDefinition",
12852 "parameters": {
12853 "id": 9677,
12854 "nodeType": "ParameterList",
12855 "parameters": [
12856 {
12857 "constant": false,
12858 "id": 9676,
12859 "name": "id",
12860 "nodeType": "VariableDeclaration",
12861 "scope": 9694,
12862 "src": "10208:10:33",
12863 "stateVariable": false,
12864 "storageLocation": "default",
12865 "typeDescriptions": {
12866 "typeIdentifier": "t_uint256",
12867 "typeString": "uint256"
12868 },
12869 "typeName": {
12870 "id": 9675,
12871 "name": "uint256",
12872 "nodeType": "ElementaryTypeName",
12873 "src": "10208:7:33",
12874 "typeDescriptions": {
12875 "typeIdentifier": "t_uint256",
12876 "typeString": "uint256"
12877 }
12878 },
12879 "value": null,
12880 "visibility": "internal"
12881 }
12882 ],
12883 "src": "10207:12:33"
12884 },
12885 "payable": false,
12886 "returnParameters": {
12887 "id": 9680,
12888 "nodeType": "ParameterList",
12889 "parameters": [
12890 {
12891 "constant": false,
12892 "id": 9679,
12893 "name": "",
12894 "nodeType": "VariableDeclaration",
12895 "scope": 9694,
12896 "src": "10241:7:33",
12897 "stateVariable": false,
12898 "storageLocation": "default",
12899 "typeDescriptions": {
12900 "typeIdentifier": "t_bytes32",
12901 "typeString": "bytes32"
12902 },
12903 "typeName": {
12904 "id": 9678,
12905 "name": "bytes32",
12906 "nodeType": "ElementaryTypeName",
12907 "src": "10241:7:33",
12908 "typeDescriptions": {
12909 "typeIdentifier": "t_bytes32",
12910 "typeString": "bytes32"
12911 }
12912 },
12913 "value": null,
12914 "visibility": "internal"
12915 }
12916 ],
12917 "src": "10240:9:33"
12918 },
12919 "scope": 10008,
12920 "src": "10187:156:33",
12921 "stateMutability": "view",
12922 "superFunction": 10118,
12923 "visibility": "public"
12924 },
12925 {
12926 "body": {
12927 "id": 9713,
12928 "nodeType": "Block",
12929 "src": "10474:90:33",
12930 "statements": [
12931 {
12932 "expression": {
12933 "argumentTypes": null,
12934 "arguments": [
12935 {
12936 "argumentTypes": null,
12937 "arguments": [
12938 {
12939 "argumentTypes": null,
12940 "arguments": [
12941 {
12942 "argumentTypes": null,
12943 "hexValue": "71756572696573",
12944 "id": 9706,
12945 "isConstant": false,
12946 "isLValue": false,
12947 "isPure": true,
12948 "kind": "string",
12949 "lValueRequested": false,
12950 "nodeType": "Literal",
12951 "src": "10531:9:33",
12952 "subdenomination": null,
12953 "typeDescriptions": {
12954 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
12955 "typeString": "literal_string \"queries\""
12956 },
12957 "value": "queries"
12958 },
12959 {
12960 "argumentTypes": null,
12961 "id": 9707,
12962 "name": "id",
12963 "nodeType": "Identifier",
12964 "overloadedDeclarations": [],
12965 "referencedDeclaration": 9696,
12966 "src": "10542:2:33",
12967 "typeDescriptions": {
12968 "typeIdentifier": "t_uint256",
12969 "typeString": "uint256"
12970 }
12971 },
12972 {
12973 "argumentTypes": null,
12974 "hexValue": "737461747573",
12975 "id": 9708,
12976 "isConstant": false,
12977 "isLValue": false,
12978 "isPure": true,
12979 "kind": "string",
12980 "lValueRequested": false,
12981 "nodeType": "Literal",
12982 "src": "10546:8:33",
12983 "subdenomination": null,
12984 "typeDescriptions": {
12985 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
12986 "typeString": "literal_string \"status\""
12987 },
12988 "value": "status"
12989 }
12990 ],
12991 "expression": {
12992 "argumentTypes": [
12993 {
12994 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
12995 "typeString": "literal_string \"queries\""
12996 },
12997 {
12998 "typeIdentifier": "t_uint256",
12999 "typeString": "uint256"
13000 },
13001 {
13002 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
13003 "typeString": "literal_string \"status\""
13004 }
13005 ],
13006 "expression": {
13007 "argumentTypes": null,
13008 "id": 9704,
13009 "name": "abi",
13010 "nodeType": "Identifier",
13011 "overloadedDeclarations": [],
13012 "referencedDeclaration": 12079,
13013 "src": "10514:3:33",
13014 "typeDescriptions": {
13015 "typeIdentifier": "t_magic_abi",
13016 "typeString": "abi"
13017 }
13018 },
13019 "id": 9705,
13020 "isConstant": false,
13021 "isLValue": false,
13022 "isPure": true,
13023 "lValueRequested": false,
13024 "memberName": "encodePacked",
13025 "nodeType": "MemberAccess",
13026 "referencedDeclaration": null,
13027 "src": "10514:16:33",
13028 "typeDescriptions": {
13029 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
13030 "typeString": "function () pure returns (bytes memory)"
13031 }
13032 },
13033 "id": 9709,
13034 "isConstant": false,
13035 "isLValue": false,
13036 "isPure": false,
13037 "kind": "functionCall",
13038 "lValueRequested": false,
13039 "names": [],
13040 "nodeType": "FunctionCall",
13041 "src": "10514:41:33",
13042 "typeDescriptions": {
13043 "typeIdentifier": "t_bytes_memory_ptr",
13044 "typeString": "bytes memory"
13045 }
13046 }
13047 ],
13048 "expression": {
13049 "argumentTypes": [
13050 {
13051 "typeIdentifier": "t_bytes_memory_ptr",
13052 "typeString": "bytes memory"
13053 }
13054 ],
13055 "id": 9703,
13056 "name": "keccak256",
13057 "nodeType": "Identifier",
13058 "overloadedDeclarations": [],
13059 "referencedDeclaration": 12086,
13060 "src": "10504:9:33",
13061 "typeDescriptions": {
13062 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
13063 "typeString": "function () pure returns (bytes32)"
13064 }
13065 },
13066 "id": 9710,
13067 "isConstant": false,
13068 "isLValue": false,
13069 "isPure": false,
13070 "kind": "functionCall",
13071 "lValueRequested": false,
13072 "names": [],
13073 "nodeType": "FunctionCall",
13074 "src": "10504:52:33",
13075 "typeDescriptions": {
13076 "typeIdentifier": "t_bytes32",
13077 "typeString": "bytes32"
13078 }
13079 }
13080 ],
13081 "expression": {
13082 "argumentTypes": [
13083 {
13084 "typeIdentifier": "t_bytes32",
13085 "typeString": "bytes32"
13086 }
13087 ],
13088 "expression": {
13089 "argumentTypes": null,
13090 "id": 9701,
13091 "name": "db",
13092 "nodeType": "Identifier",
13093 "overloadedDeclarations": [],
13094 "referencedDeclaration": 8965,
13095 "src": "10491:2:33",
13096 "typeDescriptions": {
13097 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
13098 "typeString": "contract DatabaseInterface"
13099 }
13100 },
13101 "id": 9702,
13102 "isConstant": false,
13103 "isLValue": false,
13104 "isPure": false,
13105 "lValueRequested": false,
13106 "memberName": "getNumber",
13107 "nodeType": "MemberAccess",
13108 "referencedDeclaration": 8645,
13109 "src": "10491:12:33",
13110 "typeDescriptions": {
13111 "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
13112 "typeString": "function (bytes32) view external returns (uint256)"
13113 }
13114 },
13115 "id": 9711,
13116 "isConstant": false,
13117 "isLValue": false,
13118 "isPure": false,
13119 "kind": "functionCall",
13120 "lValueRequested": false,
13121 "names": [],
13122 "nodeType": "FunctionCall",
13123 "src": "10491:66:33",
13124 "typeDescriptions": {
13125 "typeIdentifier": "t_uint256",
13126 "typeString": "uint256"
13127 }
13128 },
13129 "functionReturnParameters": 9700,
13130 "id": 9712,
13131 "nodeType": "Return",
13132 "src": "10484:73:33"
13133 }
13134 ]
13135 },
13136 "documentation": "@dev get status of request\n @param id request id",
13137 "id": 9714,
13138 "implemented": true,
13139 "isConstructor": false,
13140 "isDeclaredConst": true,
13141 "modifiers": [],
13142 "name": "getStatus",
13143 "nodeType": "FunctionDefinition",
13144 "parameters": {
13145 "id": 9697,
13146 "nodeType": "ParameterList",
13147 "parameters": [
13148 {
13149 "constant": false,
13150 "id": 9696,
13151 "name": "id",
13152 "nodeType": "VariableDeclaration",
13153 "scope": 9714,
13154 "src": "10432:10:33",
13155 "stateVariable": false,
13156 "storageLocation": "default",
13157 "typeDescriptions": {
13158 "typeIdentifier": "t_uint256",
13159 "typeString": "uint256"
13160 },
13161 "typeName": {
13162 "id": 9695,
13163 "name": "uint256",
13164 "nodeType": "ElementaryTypeName",
13165 "src": "10432:7:33",
13166 "typeDescriptions": {
13167 "typeIdentifier": "t_uint256",
13168 "typeString": "uint256"
13169 }
13170 },
13171 "value": null,
13172 "visibility": "internal"
13173 }
13174 ],
13175 "src": "10431:12:33"
13176 },
13177 "payable": false,
13178 "returnParameters": {
13179 "id": 9700,
13180 "nodeType": "ParameterList",
13181 "parameters": [
13182 {
13183 "constant": false,
13184 "id": 9699,
13185 "name": "",
13186 "nodeType": "VariableDeclaration",
13187 "scope": 9714,
13188 "src": "10465:7:33",
13189 "stateVariable": false,
13190 "storageLocation": "default",
13191 "typeDescriptions": {
13192 "typeIdentifier": "t_uint256",
13193 "typeString": "uint256"
13194 },
13195 "typeName": {
13196 "id": 9698,
13197 "name": "uint256",
13198 "nodeType": "ElementaryTypeName",
13199 "src": "10465:7:33",
13200 "typeDescriptions": {
13201 "typeIdentifier": "t_uint256",
13202 "typeString": "uint256"
13203 }
13204 },
13205 "value": null,
13206 "visibility": "internal"
13207 }
13208 ],
13209 "src": "10464:9:33"
13210 },
13211 "scope": 10008,
13212 "src": "10413:151:33",
13213 "stateMutability": "view",
13214 "superFunction": 10125,
13215 "visibility": "public"
13216 },
13217 {
13218 "body": {
13219 "id": 9733,
13220 "nodeType": "Block",
13221 "src": "10712:95:33",
13222 "statements": [
13223 {
13224 "expression": {
13225 "argumentTypes": null,
13226 "arguments": [
13227 {
13228 "argumentTypes": null,
13229 "arguments": [
13230 {
13231 "argumentTypes": null,
13232 "arguments": [
13233 {
13234 "argumentTypes": null,
13235 "hexValue": "71756572696573",
13236 "id": 9726,
13237 "isConstant": false,
13238 "isLValue": false,
13239 "isPure": true,
13240 "kind": "string",
13241 "lValueRequested": false,
13242 "nodeType": "Literal",
13243 "src": "10769:9:33",
13244 "subdenomination": null,
13245 "typeDescriptions": {
13246 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
13247 "typeString": "literal_string \"queries\""
13248 },
13249 "value": "queries"
13250 },
13251 {
13252 "argumentTypes": null,
13253 "id": 9727,
13254 "name": "id",
13255 "nodeType": "Identifier",
13256 "overloadedDeclarations": [],
13257 "referencedDeclaration": 9716,
13258 "src": "10780:2:33",
13259 "typeDescriptions": {
13260 "typeIdentifier": "t_uint256",
13261 "typeString": "uint256"
13262 }
13263 },
13264 {
13265 "argumentTypes": null,
13266 "hexValue": "63616e63656c426c6f636b",
13267 "id": 9728,
13268 "isConstant": false,
13269 "isLValue": false,
13270 "isPure": true,
13271 "kind": "string",
13272 "lValueRequested": false,
13273 "nodeType": "Literal",
13274 "src": "10784:13:33",
13275 "subdenomination": null,
13276 "typeDescriptions": {
13277 "typeIdentifier": "t_stringliteral_3e1f940b5edd3ce62b6c4237d655e274002d311fa3e3bed3262fcc6975c4a972",
13278 "typeString": "literal_string \"cancelBlock\""
13279 },
13280 "value": "cancelBlock"
13281 }
13282 ],
13283 "expression": {
13284 "argumentTypes": [
13285 {
13286 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
13287 "typeString": "literal_string \"queries\""
13288 },
13289 {
13290 "typeIdentifier": "t_uint256",
13291 "typeString": "uint256"
13292 },
13293 {
13294 "typeIdentifier": "t_stringliteral_3e1f940b5edd3ce62b6c4237d655e274002d311fa3e3bed3262fcc6975c4a972",
13295 "typeString": "literal_string \"cancelBlock\""
13296 }
13297 ],
13298 "expression": {
13299 "argumentTypes": null,
13300 "id": 9724,
13301 "name": "abi",
13302 "nodeType": "Identifier",
13303 "overloadedDeclarations": [],
13304 "referencedDeclaration": 12079,
13305 "src": "10752:3:33",
13306 "typeDescriptions": {
13307 "typeIdentifier": "t_magic_abi",
13308 "typeString": "abi"
13309 }
13310 },
13311 "id": 9725,
13312 "isConstant": false,
13313 "isLValue": false,
13314 "isPure": true,
13315 "lValueRequested": false,
13316 "memberName": "encodePacked",
13317 "nodeType": "MemberAccess",
13318 "referencedDeclaration": null,
13319 "src": "10752:16:33",
13320 "typeDescriptions": {
13321 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
13322 "typeString": "function () pure returns (bytes memory)"
13323 }
13324 },
13325 "id": 9729,
13326 "isConstant": false,
13327 "isLValue": false,
13328 "isPure": false,
13329 "kind": "functionCall",
13330 "lValueRequested": false,
13331 "names": [],
13332 "nodeType": "FunctionCall",
13333 "src": "10752:46:33",
13334 "typeDescriptions": {
13335 "typeIdentifier": "t_bytes_memory_ptr",
13336 "typeString": "bytes memory"
13337 }
13338 }
13339 ],
13340 "expression": {
13341 "argumentTypes": [
13342 {
13343 "typeIdentifier": "t_bytes_memory_ptr",
13344 "typeString": "bytes memory"
13345 }
13346 ],
13347 "id": 9723,
13348 "name": "keccak256",
13349 "nodeType": "Identifier",
13350 "overloadedDeclarations": [],
13351 "referencedDeclaration": 12086,
13352 "src": "10742:9:33",
13353 "typeDescriptions": {
13354 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
13355 "typeString": "function () pure returns (bytes32)"
13356 }
13357 },
13358 "id": 9730,
13359 "isConstant": false,
13360 "isLValue": false,
13361 "isPure": false,
13362 "kind": "functionCall",
13363 "lValueRequested": false,
13364 "names": [],
13365 "nodeType": "FunctionCall",
13366 "src": "10742:57:33",
13367 "typeDescriptions": {
13368 "typeIdentifier": "t_bytes32",
13369 "typeString": "bytes32"
13370 }
13371 }
13372 ],
13373 "expression": {
13374 "argumentTypes": [
13375 {
13376 "typeIdentifier": "t_bytes32",
13377 "typeString": "bytes32"
13378 }
13379 ],
13380 "expression": {
13381 "argumentTypes": null,
13382 "id": 9721,
13383 "name": "db",
13384 "nodeType": "Identifier",
13385 "overloadedDeclarations": [],
13386 "referencedDeclaration": 8965,
13387 "src": "10729:2:33",
13388 "typeDescriptions": {
13389 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
13390 "typeString": "contract DatabaseInterface"
13391 }
13392 },
13393 "id": 9722,
13394 "isConstant": false,
13395 "isLValue": false,
13396 "isPure": false,
13397 "lValueRequested": false,
13398 "memberName": "getNumber",
13399 "nodeType": "MemberAccess",
13400 "referencedDeclaration": 8645,
13401 "src": "10729:12:33",
13402 "typeDescriptions": {
13403 "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
13404 "typeString": "function (bytes32) view external returns (uint256)"
13405 }
13406 },
13407 "id": 9731,
13408 "isConstant": false,
13409 "isLValue": false,
13410 "isPure": false,
13411 "kind": "functionCall",
13412 "lValueRequested": false,
13413 "names": [],
13414 "nodeType": "FunctionCall",
13415 "src": "10729:71:33",
13416 "typeDescriptions": {
13417 "typeIdentifier": "t_uint256",
13418 "typeString": "uint256"
13419 }
13420 },
13421 "functionReturnParameters": 9720,
13422 "id": 9732,
13423 "nodeType": "Return",
13424 "src": "10722:78:33"
13425 }
13426 ]
13427 },
13428 "documentation": "@dev get the cancelation block of a request\n @param id request id",
13429 "id": 9734,
13430 "implemented": true,
13431 "isConstructor": false,
13432 "isDeclaredConst": true,
13433 "modifiers": [],
13434 "name": "getCancel",
13435 "nodeType": "FunctionDefinition",
13436 "parameters": {
13437 "id": 9717,
13438 "nodeType": "ParameterList",
13439 "parameters": [
13440 {
13441 "constant": false,
13442 "id": 9716,
13443 "name": "id",
13444 "nodeType": "VariableDeclaration",
13445 "scope": 9734,
13446 "src": "10670:10:33",
13447 "stateVariable": false,
13448 "storageLocation": "default",
13449 "typeDescriptions": {
13450 "typeIdentifier": "t_uint256",
13451 "typeString": "uint256"
13452 },
13453 "typeName": {
13454 "id": 9715,
13455 "name": "uint256",
13456 "nodeType": "ElementaryTypeName",
13457 "src": "10670:7:33",
13458 "typeDescriptions": {
13459 "typeIdentifier": "t_uint256",
13460 "typeString": "uint256"
13461 }
13462 },
13463 "value": null,
13464 "visibility": "internal"
13465 }
13466 ],
13467 "src": "10669:12:33"
13468 },
13469 "payable": false,
13470 "returnParameters": {
13471 "id": 9720,
13472 "nodeType": "ParameterList",
13473 "parameters": [
13474 {
13475 "constant": false,
13476 "id": 9719,
13477 "name": "",
13478 "nodeType": "VariableDeclaration",
13479 "scope": 9734,
13480 "src": "10703:7:33",
13481 "stateVariable": false,
13482 "storageLocation": "default",
13483 "typeDescriptions": {
13484 "typeIdentifier": "t_uint256",
13485 "typeString": "uint256"
13486 },
13487 "typeName": {
13488 "id": 9718,
13489 "name": "uint256",
13490 "nodeType": "ElementaryTypeName",
13491 "src": "10703:7:33",
13492 "typeDescriptions": {
13493 "typeIdentifier": "t_uint256",
13494 "typeString": "uint256"
13495 }
13496 },
13497 "value": null,
13498 "visibility": "internal"
13499 }
13500 ],
13501 "src": "10702:9:33"
13502 },
13503 "scope": 10008,
13504 "src": "10651:156:33",
13505 "stateMutability": "view",
13506 "superFunction": 10132,
13507 "visibility": "public"
13508 },
13509 {
13510 "body": {
13511 "id": 9753,
13512 "nodeType": "Block",
13513 "src": "10954:93:33",
13514 "statements": [
13515 {
13516 "expression": {
13517 "argumentTypes": null,
13518 "arguments": [
13519 {
13520 "argumentTypes": null,
13521 "arguments": [
13522 {
13523 "argumentTypes": null,
13524 "arguments": [
13525 {
13526 "argumentTypes": null,
13527 "hexValue": "71756572696573",
13528 "id": 9746,
13529 "isConstant": false,
13530 "isLValue": false,
13531 "isPure": true,
13532 "kind": "string",
13533 "lValueRequested": false,
13534 "nodeType": "Literal",
13535 "src": "11011:9:33",
13536 "subdenomination": null,
13537 "typeDescriptions": {
13538 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
13539 "typeString": "literal_string \"queries\""
13540 },
13541 "value": "queries"
13542 },
13543 {
13544 "argumentTypes": null,
13545 "id": 9747,
13546 "name": "id",
13547 "nodeType": "Identifier",
13548 "overloadedDeclarations": [],
13549 "referencedDeclaration": 9736,
13550 "src": "11022:2:33",
13551 "typeDescriptions": {
13552 "typeIdentifier": "t_uint256",
13553 "typeString": "uint256"
13554 }
13555 },
13556 {
13557 "argumentTypes": null,
13558 "hexValue": "757365725175657279",
13559 "id": 9748,
13560 "isConstant": false,
13561 "isLValue": false,
13562 "isPure": true,
13563 "kind": "string",
13564 "lValueRequested": false,
13565 "nodeType": "Literal",
13566 "src": "11026:11:33",
13567 "subdenomination": null,
13568 "typeDescriptions": {
13569 "typeIdentifier": "t_stringliteral_1962195d2075685a9783e4e1a25e4d1043a5973c9055a4eda7d4058c8c556d44",
13570 "typeString": "literal_string \"userQuery\""
13571 },
13572 "value": "userQuery"
13573 }
13574 ],
13575 "expression": {
13576 "argumentTypes": [
13577 {
13578 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
13579 "typeString": "literal_string \"queries\""
13580 },
13581 {
13582 "typeIdentifier": "t_uint256",
13583 "typeString": "uint256"
13584 },
13585 {
13586 "typeIdentifier": "t_stringliteral_1962195d2075685a9783e4e1a25e4d1043a5973c9055a4eda7d4058c8c556d44",
13587 "typeString": "literal_string \"userQuery\""
13588 }
13589 ],
13590 "expression": {
13591 "argumentTypes": null,
13592 "id": 9744,
13593 "name": "abi",
13594 "nodeType": "Identifier",
13595 "overloadedDeclarations": [],
13596 "referencedDeclaration": 12079,
13597 "src": "10994:3:33",
13598 "typeDescriptions": {
13599 "typeIdentifier": "t_magic_abi",
13600 "typeString": "abi"
13601 }
13602 },
13603 "id": 9745,
13604 "isConstant": false,
13605 "isLValue": false,
13606 "isPure": true,
13607 "lValueRequested": false,
13608 "memberName": "encodePacked",
13609 "nodeType": "MemberAccess",
13610 "referencedDeclaration": null,
13611 "src": "10994:16:33",
13612 "typeDescriptions": {
13613 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
13614 "typeString": "function () pure returns (bytes memory)"
13615 }
13616 },
13617 "id": 9749,
13618 "isConstant": false,
13619 "isLValue": false,
13620 "isPure": false,
13621 "kind": "functionCall",
13622 "lValueRequested": false,
13623 "names": [],
13624 "nodeType": "FunctionCall",
13625 "src": "10994:44:33",
13626 "typeDescriptions": {
13627 "typeIdentifier": "t_bytes_memory_ptr",
13628 "typeString": "bytes memory"
13629 }
13630 }
13631 ],
13632 "expression": {
13633 "argumentTypes": [
13634 {
13635 "typeIdentifier": "t_bytes_memory_ptr",
13636 "typeString": "bytes memory"
13637 }
13638 ],
13639 "id": 9743,
13640 "name": "keccak256",
13641 "nodeType": "Identifier",
13642 "overloadedDeclarations": [],
13643 "referencedDeclaration": 12086,
13644 "src": "10984:9:33",
13645 "typeDescriptions": {
13646 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
13647 "typeString": "function () pure returns (bytes32)"
13648 }
13649 },
13650 "id": 9750,
13651 "isConstant": false,
13652 "isLValue": false,
13653 "isPure": false,
13654 "kind": "functionCall",
13655 "lValueRequested": false,
13656 "names": [],
13657 "nodeType": "FunctionCall",
13658 "src": "10984:55:33",
13659 "typeDescriptions": {
13660 "typeIdentifier": "t_bytes32",
13661 "typeString": "bytes32"
13662 }
13663 }
13664 ],
13665 "expression": {
13666 "argumentTypes": [
13667 {
13668 "typeIdentifier": "t_bytes32",
13669 "typeString": "bytes32"
13670 }
13671 ],
13672 "expression": {
13673 "argumentTypes": null,
13674 "id": 9741,
13675 "name": "db",
13676 "nodeType": "Identifier",
13677 "overloadedDeclarations": [],
13678 "referencedDeclaration": 8965,
13679 "src": "10971:2:33",
13680 "typeDescriptions": {
13681 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
13682 "typeString": "contract DatabaseInterface"
13683 }
13684 },
13685 "id": 9742,
13686 "isConstant": false,
13687 "isLValue": false,
13688 "isPure": false,
13689 "lValueRequested": false,
13690 "memberName": "getString",
13691 "nodeType": "MemberAccess",
13692 "referencedDeclaration": 8673,
13693 "src": "10971:12:33",
13694 "typeDescriptions": {
13695 "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_string_memory_ptr_$",
13696 "typeString": "function (bytes32) view external returns (string memory)"
13697 }
13698 },
13699 "id": 9751,
13700 "isConstant": false,
13701 "isLValue": false,
13702 "isPure": false,
13703 "kind": "functionCall",
13704 "lValueRequested": false,
13705 "names": [],
13706 "nodeType": "FunctionCall",
13707 "src": "10971:69:33",
13708 "typeDescriptions": {
13709 "typeIdentifier": "t_string_memory_ptr",
13710 "typeString": "string memory"
13711 }
13712 },
13713 "functionReturnParameters": 9740,
13714 "id": 9752,
13715 "nodeType": "Return",
13716 "src": "10964:76:33"
13717 }
13718 ]
13719 },
13720 "documentation": "@dev get user specified query of request\n @param id request id",
13721 "id": 9754,
13722 "implemented": true,
13723 "isConstructor": false,
13724 "isDeclaredConst": true,
13725 "modifiers": [],
13726 "name": "getUserQuery",
13727 "nodeType": "FunctionDefinition",
13728 "parameters": {
13729 "id": 9737,
13730 "nodeType": "ParameterList",
13731 "parameters": [
13732 {
13733 "constant": false,
13734 "id": 9736,
13735 "name": "id",
13736 "nodeType": "VariableDeclaration",
13737 "scope": 9754,
13738 "src": "10913:10:33",
13739 "stateVariable": false,
13740 "storageLocation": "default",
13741 "typeDescriptions": {
13742 "typeIdentifier": "t_uint256",
13743 "typeString": "uint256"
13744 },
13745 "typeName": {
13746 "id": 9735,
13747 "name": "uint256",
13748 "nodeType": "ElementaryTypeName",
13749 "src": "10913:7:33",
13750 "typeDescriptions": {
13751 "typeIdentifier": "t_uint256",
13752 "typeString": "uint256"
13753 }
13754 },
13755 "value": null,
13756 "visibility": "internal"
13757 }
13758 ],
13759 "src": "10912:12:33"
13760 },
13761 "payable": false,
13762 "returnParameters": {
13763 "id": 9740,
13764 "nodeType": "ParameterList",
13765 "parameters": [
13766 {
13767 "constant": false,
13768 "id": 9739,
13769 "name": "",
13770 "nodeType": "VariableDeclaration",
13771 "scope": 9754,
13772 "src": "10946:6:33",
13773 "stateVariable": false,
13774 "storageLocation": "default",
13775 "typeDescriptions": {
13776 "typeIdentifier": "t_string_memory_ptr",
13777 "typeString": "string"
13778 },
13779 "typeName": {
13780 "id": 9738,
13781 "name": "string",
13782 "nodeType": "ElementaryTypeName",
13783 "src": "10946:6:33",
13784 "typeDescriptions": {
13785 "typeIdentifier": "t_string_storage_ptr",
13786 "typeString": "string"
13787 }
13788 },
13789 "value": null,
13790 "visibility": "internal"
13791 }
13792 ],
13793 "src": "10945:8:33"
13794 },
13795 "scope": 10008,
13796 "src": "10891:156:33",
13797 "stateMutability": "view",
13798 "superFunction": 10139,
13799 "visibility": "public"
13800 },
13801 {
13802 "body": {
13803 "id": 9782,
13804 "nodeType": "Block",
13805 "src": "11200:145:33",
13806 "statements": [
13807 {
13808 "assignments": [
13809 9762
13810 ],
13811 "declarations": [
13812 {
13813 "constant": false,
13814 "id": 9762,
13815 "name": "res",
13816 "nodeType": "VariableDeclaration",
13817 "scope": 9783,
13818 "src": "11210:8:33",
13819 "stateVariable": false,
13820 "storageLocation": "default",
13821 "typeDescriptions": {
13822 "typeIdentifier": "t_uint256",
13823 "typeString": "uint256"
13824 },
13825 "typeName": {
13826 "id": 9761,
13827 "name": "uint",
13828 "nodeType": "ElementaryTypeName",
13829 "src": "11210:4:33",
13830 "typeDescriptions": {
13831 "typeIdentifier": "t_uint256",
13832 "typeString": "uint256"
13833 }
13834 },
13835 "value": null,
13836 "visibility": "internal"
13837 }
13838 ],
13839 "id": 9774,
13840 "initialValue": {
13841 "argumentTypes": null,
13842 "arguments": [
13843 {
13844 "argumentTypes": null,
13845 "arguments": [
13846 {
13847 "argumentTypes": null,
13848 "arguments": [
13849 {
13850 "argumentTypes": null,
13851 "hexValue": "71756572696573",
13852 "id": 9768,
13853 "isConstant": false,
13854 "isLValue": false,
13855 "isPure": true,
13856 "kind": "string",
13857 "lValueRequested": false,
13858 "nodeType": "Literal",
13859 "src": "11261:9:33",
13860 "subdenomination": null,
13861 "typeDescriptions": {
13862 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
13863 "typeString": "literal_string \"queries\""
13864 },
13865 "value": "queries"
13866 },
13867 {
13868 "argumentTypes": null,
13869 "id": 9769,
13870 "name": "id",
13871 "nodeType": "Identifier",
13872 "overloadedDeclarations": [],
13873 "referencedDeclaration": 9756,
13874 "src": "11272:2:33",
13875 "typeDescriptions": {
13876 "typeIdentifier": "t_uint256",
13877 "typeString": "uint256"
13878 }
13879 },
13880 {
13881 "argumentTypes": null,
13882 "hexValue": "6f6e636861696e53756273637269626572",
13883 "id": 9770,
13884 "isConstant": false,
13885 "isLValue": false,
13886 "isPure": true,
13887 "kind": "string",
13888 "lValueRequested": false,
13889 "nodeType": "Literal",
13890 "src": "11276:19:33",
13891 "subdenomination": null,
13892 "typeDescriptions": {
13893 "typeIdentifier": "t_stringliteral_c6cb379c1498efe618921a2eacc96479dd0b113f170f6ad3a66a3b6e0d1c5efd",
13894 "typeString": "literal_string \"onchainSubscriber\""
13895 },
13896 "value": "onchainSubscriber"
13897 }
13898 ],
13899 "expression": {
13900 "argumentTypes": [
13901 {
13902 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
13903 "typeString": "literal_string \"queries\""
13904 },
13905 {
13906 "typeIdentifier": "t_uint256",
13907 "typeString": "uint256"
13908 },
13909 {
13910 "typeIdentifier": "t_stringliteral_c6cb379c1498efe618921a2eacc96479dd0b113f170f6ad3a66a3b6e0d1c5efd",
13911 "typeString": "literal_string \"onchainSubscriber\""
13912 }
13913 ],
13914 "expression": {
13915 "argumentTypes": null,
13916 "id": 9766,
13917 "name": "abi",
13918 "nodeType": "Identifier",
13919 "overloadedDeclarations": [],
13920 "referencedDeclaration": 12079,
13921 "src": "11244:3:33",
13922 "typeDescriptions": {
13923 "typeIdentifier": "t_magic_abi",
13924 "typeString": "abi"
13925 }
13926 },
13927 "id": 9767,
13928 "isConstant": false,
13929 "isLValue": false,
13930 "isPure": true,
13931 "lValueRequested": false,
13932 "memberName": "encodePacked",
13933 "nodeType": "MemberAccess",
13934 "referencedDeclaration": null,
13935 "src": "11244:16:33",
13936 "typeDescriptions": {
13937 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
13938 "typeString": "function () pure returns (bytes memory)"
13939 }
13940 },
13941 "id": 9771,
13942 "isConstant": false,
13943 "isLValue": false,
13944 "isPure": false,
13945 "kind": "functionCall",
13946 "lValueRequested": false,
13947 "names": [],
13948 "nodeType": "FunctionCall",
13949 "src": "11244:52:33",
13950 "typeDescriptions": {
13951 "typeIdentifier": "t_bytes_memory_ptr",
13952 "typeString": "bytes memory"
13953 }
13954 }
13955 ],
13956 "expression": {
13957 "argumentTypes": [
13958 {
13959 "typeIdentifier": "t_bytes_memory_ptr",
13960 "typeString": "bytes memory"
13961 }
13962 ],
13963 "id": 9765,
13964 "name": "keccak256",
13965 "nodeType": "Identifier",
13966 "overloadedDeclarations": [],
13967 "referencedDeclaration": 12086,
13968 "src": "11234:9:33",
13969 "typeDescriptions": {
13970 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
13971 "typeString": "function () pure returns (bytes32)"
13972 }
13973 },
13974 "id": 9772,
13975 "isConstant": false,
13976 "isLValue": false,
13977 "isPure": false,
13978 "kind": "functionCall",
13979 "lValueRequested": false,
13980 "names": [],
13981 "nodeType": "FunctionCall",
13982 "src": "11234:63:33",
13983 "typeDescriptions": {
13984 "typeIdentifier": "t_bytes32",
13985 "typeString": "bytes32"
13986 }
13987 }
13988 ],
13989 "expression": {
13990 "argumentTypes": [
13991 {
13992 "typeIdentifier": "t_bytes32",
13993 "typeString": "bytes32"
13994 }
13995 ],
13996 "expression": {
13997 "argumentTypes": null,
13998 "id": 9763,
13999 "name": "db",
14000 "nodeType": "Identifier",
14001 "overloadedDeclarations": [],
14002 "referencedDeclaration": 8965,
14003 "src": "11221:2:33",
14004 "typeDescriptions": {
14005 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
14006 "typeString": "contract DatabaseInterface"
14007 }
14008 },
14009 "id": 9764,
14010 "isConstant": false,
14011 "isLValue": false,
14012 "isPure": false,
14013 "lValueRequested": false,
14014 "memberName": "getNumber",
14015 "nodeType": "MemberAccess",
14016 "referencedDeclaration": 8645,
14017 "src": "11221:12:33",
14018 "typeDescriptions": {
14019 "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
14020 "typeString": "function (bytes32) view external returns (uint256)"
14021 }
14022 },
14023 "id": 9773,
14024 "isConstant": false,
14025 "isLValue": false,
14026 "isPure": false,
14027 "kind": "functionCall",
14028 "lValueRequested": false,
14029 "names": [],
14030 "nodeType": "FunctionCall",
14031 "src": "11221:77:33",
14032 "typeDescriptions": {
14033 "typeIdentifier": "t_uint256",
14034 "typeString": "uint256"
14035 }
14036 },
14037 "nodeType": "VariableDeclarationStatement",
14038 "src": "11210:88:33"
14039 },
14040 {
14041 "expression": {
14042 "argumentTypes": null,
14043 "condition": {
14044 "argumentTypes": null,
14045 "commonType": {
14046 "typeIdentifier": "t_uint256",
14047 "typeString": "uint256"
14048 },
14049 "id": 9777,
14050 "isConstant": false,
14051 "isLValue": false,
14052 "isPure": false,
14053 "lValueRequested": false,
14054 "leftExpression": {
14055 "argumentTypes": null,
14056 "id": 9775,
14057 "name": "res",
14058 "nodeType": "Identifier",
14059 "overloadedDeclarations": [],
14060 "referencedDeclaration": 9762,
14061 "src": "11315:3:33",
14062 "typeDescriptions": {
14063 "typeIdentifier": "t_uint256",
14064 "typeString": "uint256"
14065 }
14066 },
14067 "nodeType": "BinaryOperation",
14068 "operator": "==",
14069 "rightExpression": {
14070 "argumentTypes": null,
14071 "hexValue": "31",
14072 "id": 9776,
14073 "isConstant": false,
14074 "isLValue": false,
14075 "isPure": true,
14076 "kind": "number",
14077 "lValueRequested": false,
14078 "nodeType": "Literal",
14079 "src": "11322:1:33",
14080 "subdenomination": null,
14081 "typeDescriptions": {
14082 "typeIdentifier": "t_rational_1_by_1",
14083 "typeString": "int_const 1"
14084 },
14085 "value": "1"
14086 },
14087 "src": "11315:8:33",
14088 "typeDescriptions": {
14089 "typeIdentifier": "t_bool",
14090 "typeString": "bool"
14091 }
14092 },
14093 "falseExpression": {
14094 "argumentTypes": null,
14095 "hexValue": "66616c7365",
14096 "id": 9779,
14097 "isConstant": false,
14098 "isLValue": false,
14099 "isPure": true,
14100 "kind": "bool",
14101 "lValueRequested": false,
14102 "nodeType": "Literal",
14103 "src": "11333:5:33",
14104 "subdenomination": null,
14105 "typeDescriptions": {
14106 "typeIdentifier": "t_bool",
14107 "typeString": "bool"
14108 },
14109 "value": "false"
14110 },
14111 "id": 9780,
14112 "isConstant": false,
14113 "isLValue": false,
14114 "isPure": false,
14115 "lValueRequested": false,
14116 "nodeType": "Conditional",
14117 "src": "11315:23:33",
14118 "trueExpression": {
14119 "argumentTypes": null,
14120 "hexValue": "74727565",
14121 "id": 9778,
14122 "isConstant": false,
14123 "isLValue": false,
14124 "isPure": true,
14125 "kind": "bool",
14126 "lValueRequested": false,
14127 "nodeType": "Literal",
14128 "src": "11326:4:33",
14129 "subdenomination": null,
14130 "typeDescriptions": {
14131 "typeIdentifier": "t_bool",
14132 "typeString": "bool"
14133 },
14134 "value": "true"
14135 },
14136 "typeDescriptions": {
14137 "typeIdentifier": "t_bool",
14138 "typeString": "bool"
14139 }
14140 },
14141 "functionReturnParameters": 9760,
14142 "id": 9781,
14143 "nodeType": "Return",
14144 "src": "11308:30:33"
14145 }
14146 ]
14147 },
14148 "documentation": "@dev is subscriber contract or offchain \n @param id request id",
14149 "id": 9783,
14150 "implemented": true,
14151 "isConstructor": false,
14152 "isDeclaredConst": true,
14153 "modifiers": [],
14154 "name": "getSubscriberOnchain",
14155 "nodeType": "FunctionDefinition",
14156 "parameters": {
14157 "id": 9757,
14158 "nodeType": "ParameterList",
14159 "parameters": [
14160 {
14161 "constant": false,
14162 "id": 9756,
14163 "name": "id",
14164 "nodeType": "VariableDeclaration",
14165 "scope": 9783,
14166 "src": "11161:10:33",
14167 "stateVariable": false,
14168 "storageLocation": "default",
14169 "typeDescriptions": {
14170 "typeIdentifier": "t_uint256",
14171 "typeString": "uint256"
14172 },
14173 "typeName": {
14174 "id": 9755,
14175 "name": "uint256",
14176 "nodeType": "ElementaryTypeName",
14177 "src": "11161:7:33",
14178 "typeDescriptions": {
14179 "typeIdentifier": "t_uint256",
14180 "typeString": "uint256"
14181 }
14182 },
14183 "value": null,
14184 "visibility": "internal"
14185 }
14186 ],
14187 "src": "11160:12:33"
14188 },
14189 "payable": false,
14190 "returnParameters": {
14191 "id": 9760,
14192 "nodeType": "ParameterList",
14193 "parameters": [
14194 {
14195 "constant": false,
14196 "id": 9759,
14197 "name": "",
14198 "nodeType": "VariableDeclaration",
14199 "scope": 9783,
14200 "src": "11194:4:33",
14201 "stateVariable": false,
14202 "storageLocation": "default",
14203 "typeDescriptions": {
14204 "typeIdentifier": "t_bool",
14205 "typeString": "bool"
14206 },
14207 "typeName": {
14208 "id": 9758,
14209 "name": "bool",
14210 "nodeType": "ElementaryTypeName",
14211 "src": "11194:4:33",
14212 "typeDescriptions": {
14213 "typeIdentifier": "t_bool",
14214 "typeString": "bool"
14215 }
14216 },
14217 "value": null,
14218 "visibility": "internal"
14219 }
14220 ],
14221 "src": "11193:6:33"
14222 },
14223 "scope": 10008,
14224 "src": "11131:214:33",
14225 "stateMutability": "view",
14226 "superFunction": 10146,
14227 "visibility": "public"
14228 },
14229 {
14230 "body": {
14231 "id": 9892,
14232 "nodeType": "Block",
14233 "src": "11584:599:33",
14234 "statements": [
14235 {
14236 "expression": {
14237 "argumentTypes": null,
14238 "arguments": [
14239 {
14240 "argumentTypes": null,
14241 "arguments": [
14242 {
14243 "argumentTypes": null,
14244 "arguments": [
14245 {
14246 "argumentTypes": null,
14247 "hexValue": "71756572696573",
14248 "id": 9804,
14249 "isConstant": false,
14250 "isLValue": false,
14251 "isPure": true,
14252 "kind": "string",
14253 "lValueRequested": false,
14254 "nodeType": "Literal",
14255 "src": "11634:9:33",
14256 "subdenomination": null,
14257 "typeDescriptions": {
14258 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
14259 "typeString": "literal_string \"queries\""
14260 },
14261 "value": "queries"
14262 },
14263 {
14264 "argumentTypes": null,
14265 "id": 9805,
14266 "name": "id",
14267 "nodeType": "Identifier",
14268 "overloadedDeclarations": [],
14269 "referencedDeclaration": 9785,
14270 "src": "11645:2:33",
14271 "typeDescriptions": {
14272 "typeIdentifier": "t_uint256",
14273 "typeString": "uint256"
14274 }
14275 },
14276 {
14277 "argumentTypes": null,
14278 "hexValue": "70726f7669646572",
14279 "id": 9806,
14280 "isConstant": false,
14281 "isLValue": false,
14282 "isPure": true,
14283 "kind": "string",
14284 "lValueRequested": false,
14285 "nodeType": "Literal",
14286 "src": "11649:10:33",
14287 "subdenomination": null,
14288 "typeDescriptions": {
14289 "typeIdentifier": "t_stringliteral_91c78f343fa4753a18a7ecaff5a0d85cfa864839d839601256f8f00300358578",
14290 "typeString": "literal_string \"provider\""
14291 },
14292 "value": "provider"
14293 }
14294 ],
14295 "expression": {
14296 "argumentTypes": [
14297 {
14298 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
14299 "typeString": "literal_string \"queries\""
14300 },
14301 {
14302 "typeIdentifier": "t_uint256",
14303 "typeString": "uint256"
14304 },
14305 {
14306 "typeIdentifier": "t_stringliteral_91c78f343fa4753a18a7ecaff5a0d85cfa864839d839601256f8f00300358578",
14307 "typeString": "literal_string \"provider\""
14308 }
14309 ],
14310 "expression": {
14311 "argumentTypes": null,
14312 "id": 9802,
14313 "name": "abi",
14314 "nodeType": "Identifier",
14315 "overloadedDeclarations": [],
14316 "referencedDeclaration": 12079,
14317 "src": "11617:3:33",
14318 "typeDescriptions": {
14319 "typeIdentifier": "t_magic_abi",
14320 "typeString": "abi"
14321 }
14322 },
14323 "id": 9803,
14324 "isConstant": false,
14325 "isLValue": false,
14326 "isPure": true,
14327 "lValueRequested": false,
14328 "memberName": "encodePacked",
14329 "nodeType": "MemberAccess",
14330 "referencedDeclaration": null,
14331 "src": "11617:16:33",
14332 "typeDescriptions": {
14333 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
14334 "typeString": "function () pure returns (bytes memory)"
14335 }
14336 },
14337 "id": 9807,
14338 "isConstant": false,
14339 "isLValue": false,
14340 "isPure": false,
14341 "kind": "functionCall",
14342 "lValueRequested": false,
14343 "names": [],
14344 "nodeType": "FunctionCall",
14345 "src": "11617:43:33",
14346 "typeDescriptions": {
14347 "typeIdentifier": "t_bytes_memory_ptr",
14348 "typeString": "bytes memory"
14349 }
14350 }
14351 ],
14352 "expression": {
14353 "argumentTypes": [
14354 {
14355 "typeIdentifier": "t_bytes_memory_ptr",
14356 "typeString": "bytes memory"
14357 }
14358 ],
14359 "id": 9801,
14360 "name": "keccak256",
14361 "nodeType": "Identifier",
14362 "overloadedDeclarations": [],
14363 "referencedDeclaration": 12086,
14364 "src": "11607:9:33",
14365 "typeDescriptions": {
14366 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
14367 "typeString": "function () pure returns (bytes32)"
14368 }
14369 },
14370 "id": 9808,
14371 "isConstant": false,
14372 "isLValue": false,
14373 "isPure": false,
14374 "kind": "functionCall",
14375 "lValueRequested": false,
14376 "names": [],
14377 "nodeType": "FunctionCall",
14378 "src": "11607:54:33",
14379 "typeDescriptions": {
14380 "typeIdentifier": "t_bytes32",
14381 "typeString": "bytes32"
14382 }
14383 },
14384 {
14385 "argumentTypes": null,
14386 "arguments": [
14387 {
14388 "argumentTypes": null,
14389 "id": 9810,
14390 "name": "provider",
14391 "nodeType": "Identifier",
14392 "overloadedDeclarations": [],
14393 "referencedDeclaration": 9787,
14394 "src": "11671:8:33",
14395 "typeDescriptions": {
14396 "typeIdentifier": "t_address",
14397 "typeString": "address"
14398 }
14399 }
14400 ],
14401 "expression": {
14402 "argumentTypes": [
14403 {
14404 "typeIdentifier": "t_address",
14405 "typeString": "address"
14406 }
14407 ],
14408 "id": 9809,
14409 "isConstant": false,
14410 "isLValue": false,
14411 "isPure": true,
14412 "lValueRequested": false,
14413 "nodeType": "ElementaryTypeNameExpression",
14414 "src": "11663:7:33",
14415 "typeDescriptions": {
14416 "typeIdentifier": "t_type$_t_uint256_$",
14417 "typeString": "type(uint256)"
14418 },
14419 "typeName": "uint256"
14420 },
14421 "id": 9811,
14422 "isConstant": false,
14423 "isLValue": false,
14424 "isPure": false,
14425 "kind": "typeConversion",
14426 "lValueRequested": false,
14427 "names": [],
14428 "nodeType": "FunctionCall",
14429 "src": "11663:17:33",
14430 "typeDescriptions": {
14431 "typeIdentifier": "t_uint256",
14432 "typeString": "uint256"
14433 }
14434 }
14435 ],
14436 "expression": {
14437 "argumentTypes": [
14438 {
14439 "typeIdentifier": "t_bytes32",
14440 "typeString": "bytes32"
14441 },
14442 {
14443 "typeIdentifier": "t_uint256",
14444 "typeString": "uint256"
14445 }
14446 ],
14447 "expression": {
14448 "argumentTypes": null,
14449 "id": 9798,
14450 "name": "db",
14451 "nodeType": "Identifier",
14452 "overloadedDeclarations": [],
14453 "referencedDeclaration": 8965,
14454 "src": "11594:2:33",
14455 "typeDescriptions": {
14456 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
14457 "typeString": "contract DatabaseInterface"
14458 }
14459 },
14460 "id": 9800,
14461 "isConstant": false,
14462 "isLValue": false,
14463 "isPure": false,
14464 "lValueRequested": false,
14465 "memberName": "setNumber",
14466 "nodeType": "MemberAccess",
14467 "referencedDeclaration": 8652,
14468 "src": "11594:12:33",
14469 "typeDescriptions": {
14470 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
14471 "typeString": "function (bytes32,uint256) external"
14472 }
14473 },
14474 "id": 9812,
14475 "isConstant": false,
14476 "isLValue": false,
14477 "isPure": false,
14478 "kind": "functionCall",
14479 "lValueRequested": false,
14480 "names": [],
14481 "nodeType": "FunctionCall",
14482 "src": "11594:87:33",
14483 "typeDescriptions": {
14484 "typeIdentifier": "t_tuple$__$",
14485 "typeString": "tuple()"
14486 }
14487 },
14488 "id": 9813,
14489 "nodeType": "ExpressionStatement",
14490 "src": "11594:87:33"
14491 },
14492 {
14493 "expression": {
14494 "argumentTypes": null,
14495 "arguments": [
14496 {
14497 "argumentTypes": null,
14498 "arguments": [
14499 {
14500 "argumentTypes": null,
14501 "arguments": [
14502 {
14503 "argumentTypes": null,
14504 "hexValue": "71756572696573",
14505 "id": 9820,
14506 "isConstant": false,
14507 "isLValue": false,
14508 "isPure": true,
14509 "kind": "string",
14510 "lValueRequested": false,
14511 "nodeType": "Literal",
14512 "src": "11731:9:33",
14513 "subdenomination": null,
14514 "typeDescriptions": {
14515 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
14516 "typeString": "literal_string \"queries\""
14517 },
14518 "value": "queries"
14519 },
14520 {
14521 "argumentTypes": null,
14522 "id": 9821,
14523 "name": "id",
14524 "nodeType": "Identifier",
14525 "overloadedDeclarations": [],
14526 "referencedDeclaration": 9785,
14527 "src": "11742:2:33",
14528 "typeDescriptions": {
14529 "typeIdentifier": "t_uint256",
14530 "typeString": "uint256"
14531 }
14532 },
14533 {
14534 "argumentTypes": null,
14535 "hexValue": "73756273637269626572",
14536 "id": 9822,
14537 "isConstant": false,
14538 "isLValue": false,
14539 "isPure": true,
14540 "kind": "string",
14541 "lValueRequested": false,
14542 "nodeType": "Literal",
14543 "src": "11746:12:33",
14544 "subdenomination": null,
14545 "typeDescriptions": {
14546 "typeIdentifier": "t_stringliteral_578460d8593305c1e4563d489761b3fb6d5c20b915297d7cca701626850e5e3e",
14547 "typeString": "literal_string \"subscriber\""
14548 },
14549 "value": "subscriber"
14550 }
14551 ],
14552 "expression": {
14553 "argumentTypes": [
14554 {
14555 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
14556 "typeString": "literal_string \"queries\""
14557 },
14558 {
14559 "typeIdentifier": "t_uint256",
14560 "typeString": "uint256"
14561 },
14562 {
14563 "typeIdentifier": "t_stringliteral_578460d8593305c1e4563d489761b3fb6d5c20b915297d7cca701626850e5e3e",
14564 "typeString": "literal_string \"subscriber\""
14565 }
14566 ],
14567 "expression": {
14568 "argumentTypes": null,
14569 "id": 9818,
14570 "name": "abi",
14571 "nodeType": "Identifier",
14572 "overloadedDeclarations": [],
14573 "referencedDeclaration": 12079,
14574 "src": "11714:3:33",
14575 "typeDescriptions": {
14576 "typeIdentifier": "t_magic_abi",
14577 "typeString": "abi"
14578 }
14579 },
14580 "id": 9819,
14581 "isConstant": false,
14582 "isLValue": false,
14583 "isPure": true,
14584 "lValueRequested": false,
14585 "memberName": "encodePacked",
14586 "nodeType": "MemberAccess",
14587 "referencedDeclaration": null,
14588 "src": "11714:16:33",
14589 "typeDescriptions": {
14590 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
14591 "typeString": "function () pure returns (bytes memory)"
14592 }
14593 },
14594 "id": 9823,
14595 "isConstant": false,
14596 "isLValue": false,
14597 "isPure": false,
14598 "kind": "functionCall",
14599 "lValueRequested": false,
14600 "names": [],
14601 "nodeType": "FunctionCall",
14602 "src": "11714:45:33",
14603 "typeDescriptions": {
14604 "typeIdentifier": "t_bytes_memory_ptr",
14605 "typeString": "bytes memory"
14606 }
14607 }
14608 ],
14609 "expression": {
14610 "argumentTypes": [
14611 {
14612 "typeIdentifier": "t_bytes_memory_ptr",
14613 "typeString": "bytes memory"
14614 }
14615 ],
14616 "id": 9817,
14617 "name": "keccak256",
14618 "nodeType": "Identifier",
14619 "overloadedDeclarations": [],
14620 "referencedDeclaration": 12086,
14621 "src": "11704:9:33",
14622 "typeDescriptions": {
14623 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
14624 "typeString": "function () pure returns (bytes32)"
14625 }
14626 },
14627 "id": 9824,
14628 "isConstant": false,
14629 "isLValue": false,
14630 "isPure": false,
14631 "kind": "functionCall",
14632 "lValueRequested": false,
14633 "names": [],
14634 "nodeType": "FunctionCall",
14635 "src": "11704:56:33",
14636 "typeDescriptions": {
14637 "typeIdentifier": "t_bytes32",
14638 "typeString": "bytes32"
14639 }
14640 },
14641 {
14642 "argumentTypes": null,
14643 "arguments": [
14644 {
14645 "argumentTypes": null,
14646 "id": 9826,
14647 "name": "subscriber",
14648 "nodeType": "Identifier",
14649 "overloadedDeclarations": [],
14650 "referencedDeclaration": 9789,
14651 "src": "11770:10:33",
14652 "typeDescriptions": {
14653 "typeIdentifier": "t_address",
14654 "typeString": "address"
14655 }
14656 }
14657 ],
14658 "expression": {
14659 "argumentTypes": [
14660 {
14661 "typeIdentifier": "t_address",
14662 "typeString": "address"
14663 }
14664 ],
14665 "id": 9825,
14666 "isConstant": false,
14667 "isLValue": false,
14668 "isPure": true,
14669 "lValueRequested": false,
14670 "nodeType": "ElementaryTypeNameExpression",
14671 "src": "11762:7:33",
14672 "typeDescriptions": {
14673 "typeIdentifier": "t_type$_t_uint256_$",
14674 "typeString": "type(uint256)"
14675 },
14676 "typeName": "uint256"
14677 },
14678 "id": 9827,
14679 "isConstant": false,
14680 "isLValue": false,
14681 "isPure": false,
14682 "kind": "typeConversion",
14683 "lValueRequested": false,
14684 "names": [],
14685 "nodeType": "FunctionCall",
14686 "src": "11762:19:33",
14687 "typeDescriptions": {
14688 "typeIdentifier": "t_uint256",
14689 "typeString": "uint256"
14690 }
14691 }
14692 ],
14693 "expression": {
14694 "argumentTypes": [
14695 {
14696 "typeIdentifier": "t_bytes32",
14697 "typeString": "bytes32"
14698 },
14699 {
14700 "typeIdentifier": "t_uint256",
14701 "typeString": "uint256"
14702 }
14703 ],
14704 "expression": {
14705 "argumentTypes": null,
14706 "id": 9814,
14707 "name": "db",
14708 "nodeType": "Identifier",
14709 "overloadedDeclarations": [],
14710 "referencedDeclaration": 8965,
14711 "src": "11691:2:33",
14712 "typeDescriptions": {
14713 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
14714 "typeString": "contract DatabaseInterface"
14715 }
14716 },
14717 "id": 9816,
14718 "isConstant": false,
14719 "isLValue": false,
14720 "isPure": false,
14721 "lValueRequested": false,
14722 "memberName": "setNumber",
14723 "nodeType": "MemberAccess",
14724 "referencedDeclaration": 8652,
14725 "src": "11691:12:33",
14726 "typeDescriptions": {
14727 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
14728 "typeString": "function (bytes32,uint256) external"
14729 }
14730 },
14731 "id": 9828,
14732 "isConstant": false,
14733 "isLValue": false,
14734 "isPure": false,
14735 "kind": "functionCall",
14736 "lValueRequested": false,
14737 "names": [],
14738 "nodeType": "FunctionCall",
14739 "src": "11691:91:33",
14740 "typeDescriptions": {
14741 "typeIdentifier": "t_tuple$__$",
14742 "typeString": "tuple()"
14743 }
14744 },
14745 "id": 9829,
14746 "nodeType": "ExpressionStatement",
14747 "src": "11691:91:33"
14748 },
14749 {
14750 "expression": {
14751 "argumentTypes": null,
14752 "arguments": [
14753 {
14754 "argumentTypes": null,
14755 "arguments": [
14756 {
14757 "argumentTypes": null,
14758 "arguments": [
14759 {
14760 "argumentTypes": null,
14761 "hexValue": "71756572696573",
14762 "id": 9836,
14763 "isConstant": false,
14764 "isLValue": false,
14765 "isPure": true,
14766 "kind": "string",
14767 "lValueRequested": false,
14768 "nodeType": "Literal",
14769 "src": "11833:9:33",
14770 "subdenomination": null,
14771 "typeDescriptions": {
14772 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
14773 "typeString": "literal_string \"queries\""
14774 },
14775 "value": "queries"
14776 },
14777 {
14778 "argumentTypes": null,
14779 "id": 9837,
14780 "name": "id",
14781 "nodeType": "Identifier",
14782 "overloadedDeclarations": [],
14783 "referencedDeclaration": 9785,
14784 "src": "11844:2:33",
14785 "typeDescriptions": {
14786 "typeIdentifier": "t_uint256",
14787 "typeString": "uint256"
14788 }
14789 },
14790 {
14791 "argumentTypes": null,
14792 "hexValue": "656e64706f696e74",
14793 "id": 9838,
14794 "isConstant": false,
14795 "isLValue": false,
14796 "isPure": true,
14797 "kind": "string",
14798 "lValueRequested": false,
14799 "nodeType": "Literal",
14800 "src": "11848:10:33",
14801 "subdenomination": null,
14802 "typeDescriptions": {
14803 "typeIdentifier": "t_stringliteral_2f66f0f49c62bf3dd55424947aed01de8cc6a36ef0d5854bc3983dd7bb89db24",
14804 "typeString": "literal_string \"endpoint\""
14805 },
14806 "value": "endpoint"
14807 }
14808 ],
14809 "expression": {
14810 "argumentTypes": [
14811 {
14812 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
14813 "typeString": "literal_string \"queries\""
14814 },
14815 {
14816 "typeIdentifier": "t_uint256",
14817 "typeString": "uint256"
14818 },
14819 {
14820 "typeIdentifier": "t_stringliteral_2f66f0f49c62bf3dd55424947aed01de8cc6a36ef0d5854bc3983dd7bb89db24",
14821 "typeString": "literal_string \"endpoint\""
14822 }
14823 ],
14824 "expression": {
14825 "argumentTypes": null,
14826 "id": 9834,
14827 "name": "abi",
14828 "nodeType": "Identifier",
14829 "overloadedDeclarations": [],
14830 "referencedDeclaration": 12079,
14831 "src": "11816:3:33",
14832 "typeDescriptions": {
14833 "typeIdentifier": "t_magic_abi",
14834 "typeString": "abi"
14835 }
14836 },
14837 "id": 9835,
14838 "isConstant": false,
14839 "isLValue": false,
14840 "isPure": true,
14841 "lValueRequested": false,
14842 "memberName": "encodePacked",
14843 "nodeType": "MemberAccess",
14844 "referencedDeclaration": null,
14845 "src": "11816:16:33",
14846 "typeDescriptions": {
14847 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
14848 "typeString": "function () pure returns (bytes memory)"
14849 }
14850 },
14851 "id": 9839,
14852 "isConstant": false,
14853 "isLValue": false,
14854 "isPure": false,
14855 "kind": "functionCall",
14856 "lValueRequested": false,
14857 "names": [],
14858 "nodeType": "FunctionCall",
14859 "src": "11816:43:33",
14860 "typeDescriptions": {
14861 "typeIdentifier": "t_bytes_memory_ptr",
14862 "typeString": "bytes memory"
14863 }
14864 }
14865 ],
14866 "expression": {
14867 "argumentTypes": [
14868 {
14869 "typeIdentifier": "t_bytes_memory_ptr",
14870 "typeString": "bytes memory"
14871 }
14872 ],
14873 "id": 9833,
14874 "name": "keccak256",
14875 "nodeType": "Identifier",
14876 "overloadedDeclarations": [],
14877 "referencedDeclaration": 12086,
14878 "src": "11806:9:33",
14879 "typeDescriptions": {
14880 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
14881 "typeString": "function () pure returns (bytes32)"
14882 }
14883 },
14884 "id": 9840,
14885 "isConstant": false,
14886 "isLValue": false,
14887 "isPure": false,
14888 "kind": "functionCall",
14889 "lValueRequested": false,
14890 "names": [],
14891 "nodeType": "FunctionCall",
14892 "src": "11806:54:33",
14893 "typeDescriptions": {
14894 "typeIdentifier": "t_bytes32",
14895 "typeString": "bytes32"
14896 }
14897 },
14898 {
14899 "argumentTypes": null,
14900 "id": 9841,
14901 "name": "endpoint",
14902 "nodeType": "Identifier",
14903 "overloadedDeclarations": [],
14904 "referencedDeclaration": 9791,
14905 "src": "11862:8:33",
14906 "typeDescriptions": {
14907 "typeIdentifier": "t_bytes32",
14908 "typeString": "bytes32"
14909 }
14910 }
14911 ],
14912 "expression": {
14913 "argumentTypes": [
14914 {
14915 "typeIdentifier": "t_bytes32",
14916 "typeString": "bytes32"
14917 },
14918 {
14919 "typeIdentifier": "t_bytes32",
14920 "typeString": "bytes32"
14921 }
14922 ],
14923 "expression": {
14924 "argumentTypes": null,
14925 "id": 9830,
14926 "name": "db",
14927 "nodeType": "Identifier",
14928 "overloadedDeclarations": [],
14929 "referencedDeclaration": 8965,
14930 "src": "11792:2:33",
14931 "typeDescriptions": {
14932 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
14933 "typeString": "contract DatabaseInterface"
14934 }
14935 },
14936 "id": 9832,
14937 "isConstant": false,
14938 "isLValue": false,
14939 "isPure": false,
14940 "lValueRequested": false,
14941 "memberName": "setBytes32",
14942 "nodeType": "MemberAccess",
14943 "referencedDeclaration": 8638,
14944 "src": "11792:13:33",
14945 "typeDescriptions": {
14946 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$",
14947 "typeString": "function (bytes32,bytes32) external"
14948 }
14949 },
14950 "id": 9842,
14951 "isConstant": false,
14952 "isLValue": false,
14953 "isPure": false,
14954 "kind": "functionCall",
14955 "lValueRequested": false,
14956 "names": [],
14957 "nodeType": "FunctionCall",
14958 "src": "11792:79:33",
14959 "typeDescriptions": {
14960 "typeIdentifier": "t_tuple$__$",
14961 "typeString": "tuple()"
14962 }
14963 },
14964 "id": 9843,
14965 "nodeType": "ExpressionStatement",
14966 "src": "11792:79:33"
14967 },
14968 {
14969 "expression": {
14970 "argumentTypes": null,
14971 "arguments": [
14972 {
14973 "argumentTypes": null,
14974 "arguments": [
14975 {
14976 "argumentTypes": null,
14977 "arguments": [
14978 {
14979 "argumentTypes": null,
14980 "hexValue": "71756572696573",
14981 "id": 9850,
14982 "isConstant": false,
14983 "isLValue": false,
14984 "isPure": true,
14985 "kind": "string",
14986 "lValueRequested": false,
14987 "nodeType": "Literal",
14988 "src": "11921:9:33",
14989 "subdenomination": null,
14990 "typeDescriptions": {
14991 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
14992 "typeString": "literal_string \"queries\""
14993 },
14994 "value": "queries"
14995 },
14996 {
14997 "argumentTypes": null,
14998 "id": 9851,
14999 "name": "id",
15000 "nodeType": "Identifier",
15001 "overloadedDeclarations": [],
15002 "referencedDeclaration": 9785,
15003 "src": "11932:2:33",
15004 "typeDescriptions": {
15005 "typeIdentifier": "t_uint256",
15006 "typeString": "uint256"
15007 }
15008 },
15009 {
15010 "argumentTypes": null,
15011 "hexValue": "757365725175657279",
15012 "id": 9852,
15013 "isConstant": false,
15014 "isLValue": false,
15015 "isPure": true,
15016 "kind": "string",
15017 "lValueRequested": false,
15018 "nodeType": "Literal",
15019 "src": "11936:11:33",
15020 "subdenomination": null,
15021 "typeDescriptions": {
15022 "typeIdentifier": "t_stringliteral_1962195d2075685a9783e4e1a25e4d1043a5973c9055a4eda7d4058c8c556d44",
15023 "typeString": "literal_string \"userQuery\""
15024 },
15025 "value": "userQuery"
15026 }
15027 ],
15028 "expression": {
15029 "argumentTypes": [
15030 {
15031 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
15032 "typeString": "literal_string \"queries\""
15033 },
15034 {
15035 "typeIdentifier": "t_uint256",
15036 "typeString": "uint256"
15037 },
15038 {
15039 "typeIdentifier": "t_stringliteral_1962195d2075685a9783e4e1a25e4d1043a5973c9055a4eda7d4058c8c556d44",
15040 "typeString": "literal_string \"userQuery\""
15041 }
15042 ],
15043 "expression": {
15044 "argumentTypes": null,
15045 "id": 9848,
15046 "name": "abi",
15047 "nodeType": "Identifier",
15048 "overloadedDeclarations": [],
15049 "referencedDeclaration": 12079,
15050 "src": "11904:3:33",
15051 "typeDescriptions": {
15052 "typeIdentifier": "t_magic_abi",
15053 "typeString": "abi"
15054 }
15055 },
15056 "id": 9849,
15057 "isConstant": false,
15058 "isLValue": false,
15059 "isPure": true,
15060 "lValueRequested": false,
15061 "memberName": "encodePacked",
15062 "nodeType": "MemberAccess",
15063 "referencedDeclaration": null,
15064 "src": "11904:16:33",
15065 "typeDescriptions": {
15066 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
15067 "typeString": "function () pure returns (bytes memory)"
15068 }
15069 },
15070 "id": 9853,
15071 "isConstant": false,
15072 "isLValue": false,
15073 "isPure": false,
15074 "kind": "functionCall",
15075 "lValueRequested": false,
15076 "names": [],
15077 "nodeType": "FunctionCall",
15078 "src": "11904:44:33",
15079 "typeDescriptions": {
15080 "typeIdentifier": "t_bytes_memory_ptr",
15081 "typeString": "bytes memory"
15082 }
15083 }
15084 ],
15085 "expression": {
15086 "argumentTypes": [
15087 {
15088 "typeIdentifier": "t_bytes_memory_ptr",
15089 "typeString": "bytes memory"
15090 }
15091 ],
15092 "id": 9847,
15093 "name": "keccak256",
15094 "nodeType": "Identifier",
15095 "overloadedDeclarations": [],
15096 "referencedDeclaration": 12086,
15097 "src": "11894:9:33",
15098 "typeDescriptions": {
15099 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
15100 "typeString": "function () pure returns (bytes32)"
15101 }
15102 },
15103 "id": 9854,
15104 "isConstant": false,
15105 "isLValue": false,
15106 "isPure": false,
15107 "kind": "functionCall",
15108 "lValueRequested": false,
15109 "names": [],
15110 "nodeType": "FunctionCall",
15111 "src": "11894:55:33",
15112 "typeDescriptions": {
15113 "typeIdentifier": "t_bytes32",
15114 "typeString": "bytes32"
15115 }
15116 },
15117 {
15118 "argumentTypes": null,
15119 "id": 9855,
15120 "name": "userQuery",
15121 "nodeType": "Identifier",
15122 "overloadedDeclarations": [],
15123 "referencedDeclaration": 9793,
15124 "src": "11951:9:33",
15125 "typeDescriptions": {
15126 "typeIdentifier": "t_string_memory_ptr",
15127 "typeString": "string memory"
15128 }
15129 }
15130 ],
15131 "expression": {
15132 "argumentTypes": [
15133 {
15134 "typeIdentifier": "t_bytes32",
15135 "typeString": "bytes32"
15136 },
15137 {
15138 "typeIdentifier": "t_string_memory_ptr",
15139 "typeString": "string memory"
15140 }
15141 ],
15142 "expression": {
15143 "argumentTypes": null,
15144 "id": 9844,
15145 "name": "db",
15146 "nodeType": "Identifier",
15147 "overloadedDeclarations": [],
15148 "referencedDeclaration": 8965,
15149 "src": "11881:2:33",
15150 "typeDescriptions": {
15151 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
15152 "typeString": "contract DatabaseInterface"
15153 }
15154 },
15155 "id": 9846,
15156 "isConstant": false,
15157 "isLValue": false,
15158 "isPure": false,
15159 "lValueRequested": false,
15160 "memberName": "setString",
15161 "nodeType": "MemberAccess",
15162 "referencedDeclaration": 8680,
15163 "src": "11881:12:33",
15164 "typeDescriptions": {
15165 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$__$",
15166 "typeString": "function (bytes32,string memory) external"
15167 }
15168 },
15169 "id": 9856,
15170 "isConstant": false,
15171 "isLValue": false,
15172 "isPure": false,
15173 "kind": "functionCall",
15174 "lValueRequested": false,
15175 "names": [],
15176 "nodeType": "FunctionCall",
15177 "src": "11881:80:33",
15178 "typeDescriptions": {
15179 "typeIdentifier": "t_tuple$__$",
15180 "typeString": "tuple()"
15181 }
15182 },
15183 "id": 9857,
15184 "nodeType": "ExpressionStatement",
15185 "src": "11881:80:33"
15186 },
15187 {
15188 "expression": {
15189 "argumentTypes": null,
15190 "arguments": [
15191 {
15192 "argumentTypes": null,
15193 "arguments": [
15194 {
15195 "argumentTypes": null,
15196 "arguments": [
15197 {
15198 "argumentTypes": null,
15199 "hexValue": "71756572696573",
15200 "id": 9864,
15201 "isConstant": false,
15202 "isLValue": false,
15203 "isPure": true,
15204 "kind": "string",
15205 "lValueRequested": false,
15206 "nodeType": "Literal",
15207 "src": "12011:9:33",
15208 "subdenomination": null,
15209 "typeDescriptions": {
15210 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
15211 "typeString": "literal_string \"queries\""
15212 },
15213 "value": "queries"
15214 },
15215 {
15216 "argumentTypes": null,
15217 "id": 9865,
15218 "name": "id",
15219 "nodeType": "Identifier",
15220 "overloadedDeclarations": [],
15221 "referencedDeclaration": 9785,
15222 "src": "12022:2:33",
15223 "typeDescriptions": {
15224 "typeIdentifier": "t_uint256",
15225 "typeString": "uint256"
15226 }
15227 },
15228 {
15229 "argumentTypes": null,
15230 "hexValue": "737461747573",
15231 "id": 9866,
15232 "isConstant": false,
15233 "isLValue": false,
15234 "isPure": true,
15235 "kind": "string",
15236 "lValueRequested": false,
15237 "nodeType": "Literal",
15238 "src": "12026:8:33",
15239 "subdenomination": null,
15240 "typeDescriptions": {
15241 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
15242 "typeString": "literal_string \"status\""
15243 },
15244 "value": "status"
15245 }
15246 ],
15247 "expression": {
15248 "argumentTypes": [
15249 {
15250 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
15251 "typeString": "literal_string \"queries\""
15252 },
15253 {
15254 "typeIdentifier": "t_uint256",
15255 "typeString": "uint256"
15256 },
15257 {
15258 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
15259 "typeString": "literal_string \"status\""
15260 }
15261 ],
15262 "expression": {
15263 "argumentTypes": null,
15264 "id": 9862,
15265 "name": "abi",
15266 "nodeType": "Identifier",
15267 "overloadedDeclarations": [],
15268 "referencedDeclaration": 12079,
15269 "src": "11994:3:33",
15270 "typeDescriptions": {
15271 "typeIdentifier": "t_magic_abi",
15272 "typeString": "abi"
15273 }
15274 },
15275 "id": 9863,
15276 "isConstant": false,
15277 "isLValue": false,
15278 "isPure": true,
15279 "lValueRequested": false,
15280 "memberName": "encodePacked",
15281 "nodeType": "MemberAccess",
15282 "referencedDeclaration": null,
15283 "src": "11994:16:33",
15284 "typeDescriptions": {
15285 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
15286 "typeString": "function () pure returns (bytes memory)"
15287 }
15288 },
15289 "id": 9867,
15290 "isConstant": false,
15291 "isLValue": false,
15292 "isPure": false,
15293 "kind": "functionCall",
15294 "lValueRequested": false,
15295 "names": [],
15296 "nodeType": "FunctionCall",
15297 "src": "11994:41:33",
15298 "typeDescriptions": {
15299 "typeIdentifier": "t_bytes_memory_ptr",
15300 "typeString": "bytes memory"
15301 }
15302 }
15303 ],
15304 "expression": {
15305 "argumentTypes": [
15306 {
15307 "typeIdentifier": "t_bytes_memory_ptr",
15308 "typeString": "bytes memory"
15309 }
15310 ],
15311 "id": 9861,
15312 "name": "keccak256",
15313 "nodeType": "Identifier",
15314 "overloadedDeclarations": [],
15315 "referencedDeclaration": 12086,
15316 "src": "11984:9:33",
15317 "typeDescriptions": {
15318 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
15319 "typeString": "function () pure returns (bytes32)"
15320 }
15321 },
15322 "id": 9868,
15323 "isConstant": false,
15324 "isLValue": false,
15325 "isPure": false,
15326 "kind": "functionCall",
15327 "lValueRequested": false,
15328 "names": [],
15329 "nodeType": "FunctionCall",
15330 "src": "11984:52:33",
15331 "typeDescriptions": {
15332 "typeIdentifier": "t_bytes32",
15333 "typeString": "bytes32"
15334 }
15335 },
15336 {
15337 "argumentTypes": null,
15338 "arguments": [
15339 {
15340 "argumentTypes": null,
15341 "expression": {
15342 "argumentTypes": null,
15343 "id": 9870,
15344 "name": "Status",
15345 "nodeType": "Identifier",
15346 "overloadedDeclarations": [],
15347 "referencedDeclaration": 8844,
15348 "src": "12046:6:33",
15349 "typeDescriptions": {
15350 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
15351 "typeString": "type(enum Dispatch.Status)"
15352 }
15353 },
15354 "id": 9871,
15355 "isConstant": false,
15356 "isLValue": false,
15357 "isPure": true,
15358 "lValueRequested": false,
15359 "memberName": "Pending",
15360 "nodeType": "MemberAccess",
15361 "referencedDeclaration": null,
15362 "src": "12046:14:33",
15363 "typeDescriptions": {
15364 "typeIdentifier": "t_enum$_Status_$8844",
15365 "typeString": "enum Dispatch.Status"
15366 }
15367 }
15368 ],
15369 "expression": {
15370 "argumentTypes": [
15371 {
15372 "typeIdentifier": "t_enum$_Status_$8844",
15373 "typeString": "enum Dispatch.Status"
15374 }
15375 ],
15376 "id": 9869,
15377 "isConstant": false,
15378 "isLValue": false,
15379 "isPure": true,
15380 "lValueRequested": false,
15381 "nodeType": "ElementaryTypeNameExpression",
15382 "src": "12038:7:33",
15383 "typeDescriptions": {
15384 "typeIdentifier": "t_type$_t_uint256_$",
15385 "typeString": "type(uint256)"
15386 },
15387 "typeName": "uint256"
15388 },
15389 "id": 9872,
15390 "isConstant": false,
15391 "isLValue": false,
15392 "isPure": true,
15393 "kind": "typeConversion",
15394 "lValueRequested": false,
15395 "names": [],
15396 "nodeType": "FunctionCall",
15397 "src": "12038:23:33",
15398 "typeDescriptions": {
15399 "typeIdentifier": "t_uint256",
15400 "typeString": "uint256"
15401 }
15402 }
15403 ],
15404 "expression": {
15405 "argumentTypes": [
15406 {
15407 "typeIdentifier": "t_bytes32",
15408 "typeString": "bytes32"
15409 },
15410 {
15411 "typeIdentifier": "t_uint256",
15412 "typeString": "uint256"
15413 }
15414 ],
15415 "expression": {
15416 "argumentTypes": null,
15417 "id": 9858,
15418 "name": "db",
15419 "nodeType": "Identifier",
15420 "overloadedDeclarations": [],
15421 "referencedDeclaration": 8965,
15422 "src": "11971:2:33",
15423 "typeDescriptions": {
15424 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
15425 "typeString": "contract DatabaseInterface"
15426 }
15427 },
15428 "id": 9860,
15429 "isConstant": false,
15430 "isLValue": false,
15431 "isPure": false,
15432 "lValueRequested": false,
15433 "memberName": "setNumber",
15434 "nodeType": "MemberAccess",
15435 "referencedDeclaration": 8652,
15436 "src": "11971:12:33",
15437 "typeDescriptions": {
15438 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
15439 "typeString": "function (bytes32,uint256) external"
15440 }
15441 },
15442 "id": 9873,
15443 "isConstant": false,
15444 "isLValue": false,
15445 "isPure": false,
15446 "kind": "functionCall",
15447 "lValueRequested": false,
15448 "names": [],
15449 "nodeType": "FunctionCall",
15450 "src": "11971:91:33",
15451 "typeDescriptions": {
15452 "typeIdentifier": "t_tuple$__$",
15453 "typeString": "tuple()"
15454 }
15455 },
15456 "id": 9874,
15457 "nodeType": "ExpressionStatement",
15458 "src": "11971:91:33"
15459 },
15460 {
15461 "expression": {
15462 "argumentTypes": null,
15463 "arguments": [
15464 {
15465 "argumentTypes": null,
15466 "arguments": [
15467 {
15468 "argumentTypes": null,
15469 "arguments": [
15470 {
15471 "argumentTypes": null,
15472 "hexValue": "71756572696573",
15473 "id": 9881,
15474 "isConstant": false,
15475 "isLValue": false,
15476 "isPure": true,
15477 "kind": "string",
15478 "lValueRequested": false,
15479 "nodeType": "Literal",
15480 "src": "12112:9:33",
15481 "subdenomination": null,
15482 "typeDescriptions": {
15483 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
15484 "typeString": "literal_string \"queries\""
15485 },
15486 "value": "queries"
15487 },
15488 {
15489 "argumentTypes": null,
15490 "id": 9882,
15491 "name": "id",
15492 "nodeType": "Identifier",
15493 "overloadedDeclarations": [],
15494 "referencedDeclaration": 9785,
15495 "src": "12123:2:33",
15496 "typeDescriptions": {
15497 "typeIdentifier": "t_uint256",
15498 "typeString": "uint256"
15499 }
15500 },
15501 {
15502 "argumentTypes": null,
15503 "hexValue": "6f6e636861696e53756273637269626572",
15504 "id": 9883,
15505 "isConstant": false,
15506 "isLValue": false,
15507 "isPure": true,
15508 "kind": "string",
15509 "lValueRequested": false,
15510 "nodeType": "Literal",
15511 "src": "12127:19:33",
15512 "subdenomination": null,
15513 "typeDescriptions": {
15514 "typeIdentifier": "t_stringliteral_c6cb379c1498efe618921a2eacc96479dd0b113f170f6ad3a66a3b6e0d1c5efd",
15515 "typeString": "literal_string \"onchainSubscriber\""
15516 },
15517 "value": "onchainSubscriber"
15518 }
15519 ],
15520 "expression": {
15521 "argumentTypes": [
15522 {
15523 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
15524 "typeString": "literal_string \"queries\""
15525 },
15526 {
15527 "typeIdentifier": "t_uint256",
15528 "typeString": "uint256"
15529 },
15530 {
15531 "typeIdentifier": "t_stringliteral_c6cb379c1498efe618921a2eacc96479dd0b113f170f6ad3a66a3b6e0d1c5efd",
15532 "typeString": "literal_string \"onchainSubscriber\""
15533 }
15534 ],
15535 "expression": {
15536 "argumentTypes": null,
15537 "id": 9879,
15538 "name": "abi",
15539 "nodeType": "Identifier",
15540 "overloadedDeclarations": [],
15541 "referencedDeclaration": 12079,
15542 "src": "12095:3:33",
15543 "typeDescriptions": {
15544 "typeIdentifier": "t_magic_abi",
15545 "typeString": "abi"
15546 }
15547 },
15548 "id": 9880,
15549 "isConstant": false,
15550 "isLValue": false,
15551 "isPure": true,
15552 "lValueRequested": false,
15553 "memberName": "encodePacked",
15554 "nodeType": "MemberAccess",
15555 "referencedDeclaration": null,
15556 "src": "12095:16:33",
15557 "typeDescriptions": {
15558 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
15559 "typeString": "function () pure returns (bytes memory)"
15560 }
15561 },
15562 "id": 9884,
15563 "isConstant": false,
15564 "isLValue": false,
15565 "isPure": false,
15566 "kind": "functionCall",
15567 "lValueRequested": false,
15568 "names": [],
15569 "nodeType": "FunctionCall",
15570 "src": "12095:52:33",
15571 "typeDescriptions": {
15572 "typeIdentifier": "t_bytes_memory_ptr",
15573 "typeString": "bytes memory"
15574 }
15575 }
15576 ],
15577 "expression": {
15578 "argumentTypes": [
15579 {
15580 "typeIdentifier": "t_bytes_memory_ptr",
15581 "typeString": "bytes memory"
15582 }
15583 ],
15584 "id": 9878,
15585 "name": "keccak256",
15586 "nodeType": "Identifier",
15587 "overloadedDeclarations": [],
15588 "referencedDeclaration": 12086,
15589 "src": "12085:9:33",
15590 "typeDescriptions": {
15591 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
15592 "typeString": "function () pure returns (bytes32)"
15593 }
15594 },
15595 "id": 9885,
15596 "isConstant": false,
15597 "isLValue": false,
15598 "isPure": false,
15599 "kind": "functionCall",
15600 "lValueRequested": false,
15601 "names": [],
15602 "nodeType": "FunctionCall",
15603 "src": "12085:63:33",
15604 "typeDescriptions": {
15605 "typeIdentifier": "t_bytes32",
15606 "typeString": "bytes32"
15607 }
15608 },
15609 {
15610 "argumentTypes": null,
15611 "condition": {
15612 "argumentTypes": null,
15613 "id": 9886,
15614 "name": "onchainSubscriber",
15615 "nodeType": "Identifier",
15616 "overloadedDeclarations": [],
15617 "referencedDeclaration": 9795,
15618 "src": "12150:17:33",
15619 "typeDescriptions": {
15620 "typeIdentifier": "t_bool",
15621 "typeString": "bool"
15622 }
15623 },
15624 "falseExpression": {
15625 "argumentTypes": null,
15626 "hexValue": "30",
15627 "id": 9888,
15628 "isConstant": false,
15629 "isLValue": false,
15630 "isPure": true,
15631 "kind": "number",
15632 "lValueRequested": false,
15633 "nodeType": "Literal",
15634 "src": "12174:1:33",
15635 "subdenomination": null,
15636 "typeDescriptions": {
15637 "typeIdentifier": "t_rational_0_by_1",
15638 "typeString": "int_const 0"
15639 },
15640 "value": "0"
15641 },
15642 "id": 9889,
15643 "isConstant": false,
15644 "isLValue": false,
15645 "isPure": false,
15646 "lValueRequested": false,
15647 "nodeType": "Conditional",
15648 "src": "12150:25:33",
15649 "trueExpression": {
15650 "argumentTypes": null,
15651 "hexValue": "31",
15652 "id": 9887,
15653 "isConstant": false,
15654 "isLValue": false,
15655 "isPure": true,
15656 "kind": "number",
15657 "lValueRequested": false,
15658 "nodeType": "Literal",
15659 "src": "12170:1:33",
15660 "subdenomination": null,
15661 "typeDescriptions": {
15662 "typeIdentifier": "t_rational_1_by_1",
15663 "typeString": "int_const 1"
15664 },
15665 "value": "1"
15666 },
15667 "typeDescriptions": {
15668 "typeIdentifier": "t_uint8",
15669 "typeString": "uint8"
15670 }
15671 }
15672 ],
15673 "expression": {
15674 "argumentTypes": [
15675 {
15676 "typeIdentifier": "t_bytes32",
15677 "typeString": "bytes32"
15678 },
15679 {
15680 "typeIdentifier": "t_uint8",
15681 "typeString": "uint8"
15682 }
15683 ],
15684 "expression": {
15685 "argumentTypes": null,
15686 "id": 9875,
15687 "name": "db",
15688 "nodeType": "Identifier",
15689 "overloadedDeclarations": [],
15690 "referencedDeclaration": 8965,
15691 "src": "12072:2:33",
15692 "typeDescriptions": {
15693 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
15694 "typeString": "contract DatabaseInterface"
15695 }
15696 },
15697 "id": 9877,
15698 "isConstant": false,
15699 "isLValue": false,
15700 "isPure": false,
15701 "lValueRequested": false,
15702 "memberName": "setNumber",
15703 "nodeType": "MemberAccess",
15704 "referencedDeclaration": 8652,
15705 "src": "12072:12:33",
15706 "typeDescriptions": {
15707 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
15708 "typeString": "function (bytes32,uint256) external"
15709 }
15710 },
15711 "id": 9890,
15712 "isConstant": false,
15713 "isLValue": false,
15714 "isPure": false,
15715 "kind": "functionCall",
15716 "lValueRequested": false,
15717 "names": [],
15718 "nodeType": "FunctionCall",
15719 "src": "12072:104:33",
15720 "typeDescriptions": {
15721 "typeIdentifier": "t_tuple$__$",
15722 "typeString": "tuple()"
15723 }
15724 },
15725 "id": 9891,
15726 "nodeType": "ExpressionStatement",
15727 "src": "12072:104:33"
15728 }
15729 ]
15730 },
15731 "documentation": "** Set Methods ***",
15732 "id": 9893,
15733 "implemented": true,
15734 "isConstructor": false,
15735 "isDeclaredConst": false,
15736 "modifiers": [],
15737 "name": "createQuery",
15738 "nodeType": "FunctionDefinition",
15739 "parameters": {
15740 "id": 9796,
15741 "nodeType": "ParameterList",
15742 "parameters": [
15743 {
15744 "constant": false,
15745 "id": 9785,
15746 "name": "id",
15747 "nodeType": "VariableDeclaration",
15748 "scope": 9893,
15749 "src": "11409:10:33",
15750 "stateVariable": false,
15751 "storageLocation": "default",
15752 "typeDescriptions": {
15753 "typeIdentifier": "t_uint256",
15754 "typeString": "uint256"
15755 },
15756 "typeName": {
15757 "id": 9784,
15758 "name": "uint256",
15759 "nodeType": "ElementaryTypeName",
15760 "src": "11409:7:33",
15761 "typeDescriptions": {
15762 "typeIdentifier": "t_uint256",
15763 "typeString": "uint256"
15764 }
15765 },
15766 "value": null,
15767 "visibility": "internal"
15768 },
15769 {
15770 "constant": false,
15771 "id": 9787,
15772 "name": "provider",
15773 "nodeType": "VariableDeclaration",
15774 "scope": 9893,
15775 "src": "11429:16:33",
15776 "stateVariable": false,
15777 "storageLocation": "default",
15778 "typeDescriptions": {
15779 "typeIdentifier": "t_address",
15780 "typeString": "address"
15781 },
15782 "typeName": {
15783 "id": 9786,
15784 "name": "address",
15785 "nodeType": "ElementaryTypeName",
15786 "src": "11429:7:33",
15787 "typeDescriptions": {
15788 "typeIdentifier": "t_address",
15789 "typeString": "address"
15790 }
15791 },
15792 "value": null,
15793 "visibility": "internal"
15794 },
15795 {
15796 "constant": false,
15797 "id": 9789,
15798 "name": "subscriber",
15799 "nodeType": "VariableDeclaration",
15800 "scope": 9893,
15801 "src": "11455:18:33",
15802 "stateVariable": false,
15803 "storageLocation": "default",
15804 "typeDescriptions": {
15805 "typeIdentifier": "t_address",
15806 "typeString": "address"
15807 },
15808 "typeName": {
15809 "id": 9788,
15810 "name": "address",
15811 "nodeType": "ElementaryTypeName",
15812 "src": "11455:7:33",
15813 "typeDescriptions": {
15814 "typeIdentifier": "t_address",
15815 "typeString": "address"
15816 }
15817 },
15818 "value": null,
15819 "visibility": "internal"
15820 },
15821 {
15822 "constant": false,
15823 "id": 9791,
15824 "name": "endpoint",
15825 "nodeType": "VariableDeclaration",
15826 "scope": 9893,
15827 "src": "11483:16:33",
15828 "stateVariable": false,
15829 "storageLocation": "default",
15830 "typeDescriptions": {
15831 "typeIdentifier": "t_bytes32",
15832 "typeString": "bytes32"
15833 },
15834 "typeName": {
15835 "id": 9790,
15836 "name": "bytes32",
15837 "nodeType": "ElementaryTypeName",
15838 "src": "11483:7:33",
15839 "typeDescriptions": {
15840 "typeIdentifier": "t_bytes32",
15841 "typeString": "bytes32"
15842 }
15843 },
15844 "value": null,
15845 "visibility": "internal"
15846 },
15847 {
15848 "constant": false,
15849 "id": 9793,
15850 "name": "userQuery",
15851 "nodeType": "VariableDeclaration",
15852 "scope": 9893,
15853 "src": "11509:16:33",
15854 "stateVariable": false,
15855 "storageLocation": "default",
15856 "typeDescriptions": {
15857 "typeIdentifier": "t_string_memory_ptr",
15858 "typeString": "string"
15859 },
15860 "typeName": {
15861 "id": 9792,
15862 "name": "string",
15863 "nodeType": "ElementaryTypeName",
15864 "src": "11509:6:33",
15865 "typeDescriptions": {
15866 "typeIdentifier": "t_string_storage_ptr",
15867 "typeString": "string"
15868 }
15869 },
15870 "value": null,
15871 "visibility": "internal"
15872 },
15873 {
15874 "constant": false,
15875 "id": 9795,
15876 "name": "onchainSubscriber",
15877 "nodeType": "VariableDeclaration",
15878 "scope": 9893,
15879 "src": "11535:22:33",
15880 "stateVariable": false,
15881 "storageLocation": "default",
15882 "typeDescriptions": {
15883 "typeIdentifier": "t_bool",
15884 "typeString": "bool"
15885 },
15886 "typeName": {
15887 "id": 9794,
15888 "name": "bool",
15889 "nodeType": "ElementaryTypeName",
15890 "src": "11535:4:33",
15891 "typeDescriptions": {
15892 "typeIdentifier": "t_bool",
15893 "typeString": "bool"
15894 }
15895 },
15896 "value": null,
15897 "visibility": "internal"
15898 }
15899 ],
15900 "src": "11399:164:33"
15901 },
15902 "payable": false,
15903 "returnParameters": {
15904 "id": 9797,
15905 "nodeType": "ParameterList",
15906 "parameters": [],
15907 "src": "11584:0:33"
15908 },
15909 "scope": 10008,
15910 "src": "11379:804:33",
15911 "stateMutability": "nonpayable",
15912 "superFunction": null,
15913 "visibility": "private"
15914 },
15915 {
15916 "body": {
15917 "id": 9915,
15918 "nodeType": "Block",
15919 "src": "12231:110:33",
15920 "statements": [
15921 {
15922 "expression": {
15923 "argumentTypes": null,
15924 "arguments": [
15925 {
15926 "argumentTypes": null,
15927 "arguments": [
15928 {
15929 "argumentTypes": null,
15930 "arguments": [
15931 {
15932 "argumentTypes": null,
15933 "hexValue": "71756572696573",
15934 "id": 9904,
15935 "isConstant": false,
15936 "isLValue": false,
15937 "isPure": true,
15938 "kind": "string",
15939 "lValueRequested": false,
15940 "nodeType": "Literal",
15941 "src": "12281:9:33",
15942 "subdenomination": null,
15943 "typeDescriptions": {
15944 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
15945 "typeString": "literal_string \"queries\""
15946 },
15947 "value": "queries"
15948 },
15949 {
15950 "argumentTypes": null,
15951 "id": 9905,
15952 "name": "id",
15953 "nodeType": "Identifier",
15954 "overloadedDeclarations": [],
15955 "referencedDeclaration": 9895,
15956 "src": "12292:2:33",
15957 "typeDescriptions": {
15958 "typeIdentifier": "t_uint256",
15959 "typeString": "uint256"
15960 }
15961 },
15962 {
15963 "argumentTypes": null,
15964 "hexValue": "737461747573",
15965 "id": 9906,
15966 "isConstant": false,
15967 "isLValue": false,
15968 "isPure": true,
15969 "kind": "string",
15970 "lValueRequested": false,
15971 "nodeType": "Literal",
15972 "src": "12296:8:33",
15973 "subdenomination": null,
15974 "typeDescriptions": {
15975 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
15976 "typeString": "literal_string \"status\""
15977 },
15978 "value": "status"
15979 }
15980 ],
15981 "expression": {
15982 "argumentTypes": [
15983 {
15984 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
15985 "typeString": "literal_string \"queries\""
15986 },
15987 {
15988 "typeIdentifier": "t_uint256",
15989 "typeString": "uint256"
15990 },
15991 {
15992 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
15993 "typeString": "literal_string \"status\""
15994 }
15995 ],
15996 "expression": {
15997 "argumentTypes": null,
15998 "id": 9902,
15999 "name": "abi",
16000 "nodeType": "Identifier",
16001 "overloadedDeclarations": [],
16002 "referencedDeclaration": 12079,
16003 "src": "12264:3:33",
16004 "typeDescriptions": {
16005 "typeIdentifier": "t_magic_abi",
16006 "typeString": "abi"
16007 }
16008 },
16009 "id": 9903,
16010 "isConstant": false,
16011 "isLValue": false,
16012 "isPure": true,
16013 "lValueRequested": false,
16014 "memberName": "encodePacked",
16015 "nodeType": "MemberAccess",
16016 "referencedDeclaration": null,
16017 "src": "12264:16:33",
16018 "typeDescriptions": {
16019 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
16020 "typeString": "function () pure returns (bytes memory)"
16021 }
16022 },
16023 "id": 9907,
16024 "isConstant": false,
16025 "isLValue": false,
16026 "isPure": false,
16027 "kind": "functionCall",
16028 "lValueRequested": false,
16029 "names": [],
16030 "nodeType": "FunctionCall",
16031 "src": "12264:41:33",
16032 "typeDescriptions": {
16033 "typeIdentifier": "t_bytes_memory_ptr",
16034 "typeString": "bytes memory"
16035 }
16036 }
16037 ],
16038 "expression": {
16039 "argumentTypes": [
16040 {
16041 "typeIdentifier": "t_bytes_memory_ptr",
16042 "typeString": "bytes memory"
16043 }
16044 ],
16045 "id": 9901,
16046 "name": "keccak256",
16047 "nodeType": "Identifier",
16048 "overloadedDeclarations": [],
16049 "referencedDeclaration": 12086,
16050 "src": "12254:9:33",
16051 "typeDescriptions": {
16052 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
16053 "typeString": "function () pure returns (bytes32)"
16054 }
16055 },
16056 "id": 9908,
16057 "isConstant": false,
16058 "isLValue": false,
16059 "isPure": false,
16060 "kind": "functionCall",
16061 "lValueRequested": false,
16062 "names": [],
16063 "nodeType": "FunctionCall",
16064 "src": "12254:52:33",
16065 "typeDescriptions": {
16066 "typeIdentifier": "t_bytes32",
16067 "typeString": "bytes32"
16068 }
16069 },
16070 {
16071 "argumentTypes": null,
16072 "arguments": [
16073 {
16074 "argumentTypes": null,
16075 "expression": {
16076 "argumentTypes": null,
16077 "id": 9910,
16078 "name": "Status",
16079 "nodeType": "Identifier",
16080 "overloadedDeclarations": [],
16081 "referencedDeclaration": 8844,
16082 "src": "12316:6:33",
16083 "typeDescriptions": {
16084 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
16085 "typeString": "type(enum Dispatch.Status)"
16086 }
16087 },
16088 "id": 9911,
16089 "isConstant": false,
16090 "isLValue": false,
16091 "isPure": true,
16092 "lValueRequested": false,
16093 "memberName": "Fulfilled",
16094 "nodeType": "MemberAccess",
16095 "referencedDeclaration": null,
16096 "src": "12316:16:33",
16097 "typeDescriptions": {
16098 "typeIdentifier": "t_enum$_Status_$8844",
16099 "typeString": "enum Dispatch.Status"
16100 }
16101 }
16102 ],
16103 "expression": {
16104 "argumentTypes": [
16105 {
16106 "typeIdentifier": "t_enum$_Status_$8844",
16107 "typeString": "enum Dispatch.Status"
16108 }
16109 ],
16110 "id": 9909,
16111 "isConstant": false,
16112 "isLValue": false,
16113 "isPure": true,
16114 "lValueRequested": false,
16115 "nodeType": "ElementaryTypeNameExpression",
16116 "src": "12308:7:33",
16117 "typeDescriptions": {
16118 "typeIdentifier": "t_type$_t_uint256_$",
16119 "typeString": "type(uint256)"
16120 },
16121 "typeName": "uint256"
16122 },
16123 "id": 9912,
16124 "isConstant": false,
16125 "isLValue": false,
16126 "isPure": true,
16127 "kind": "typeConversion",
16128 "lValueRequested": false,
16129 "names": [],
16130 "nodeType": "FunctionCall",
16131 "src": "12308:25:33",
16132 "typeDescriptions": {
16133 "typeIdentifier": "t_uint256",
16134 "typeString": "uint256"
16135 }
16136 }
16137 ],
16138 "expression": {
16139 "argumentTypes": [
16140 {
16141 "typeIdentifier": "t_bytes32",
16142 "typeString": "bytes32"
16143 },
16144 {
16145 "typeIdentifier": "t_uint256",
16146 "typeString": "uint256"
16147 }
16148 ],
16149 "expression": {
16150 "argumentTypes": null,
16151 "id": 9898,
16152 "name": "db",
16153 "nodeType": "Identifier",
16154 "overloadedDeclarations": [],
16155 "referencedDeclaration": 8965,
16156 "src": "12241:2:33",
16157 "typeDescriptions": {
16158 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
16159 "typeString": "contract DatabaseInterface"
16160 }
16161 },
16162 "id": 9900,
16163 "isConstant": false,
16164 "isLValue": false,
16165 "isPure": false,
16166 "lValueRequested": false,
16167 "memberName": "setNumber",
16168 "nodeType": "MemberAccess",
16169 "referencedDeclaration": 8652,
16170 "src": "12241:12:33",
16171 "typeDescriptions": {
16172 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
16173 "typeString": "function (bytes32,uint256) external"
16174 }
16175 },
16176 "id": 9913,
16177 "isConstant": false,
16178 "isLValue": false,
16179 "isPure": false,
16180 "kind": "functionCall",
16181 "lValueRequested": false,
16182 "names": [],
16183 "nodeType": "FunctionCall",
16184 "src": "12241:93:33",
16185 "typeDescriptions": {
16186 "typeIdentifier": "t_tuple$__$",
16187 "typeString": "tuple()"
16188 }
16189 },
16190 "id": 9914,
16191 "nodeType": "ExpressionStatement",
16192 "src": "12241:93:33"
16193 }
16194 ]
16195 },
16196 "documentation": null,
16197 "id": 9916,
16198 "implemented": true,
16199 "isConstructor": false,
16200 "isDeclaredConst": false,
16201 "modifiers": [],
16202 "name": "setFulfilled",
16203 "nodeType": "FunctionDefinition",
16204 "parameters": {
16205 "id": 9896,
16206 "nodeType": "ParameterList",
16207 "parameters": [
16208 {
16209 "constant": false,
16210 "id": 9895,
16211 "name": "id",
16212 "nodeType": "VariableDeclaration",
16213 "scope": 9916,
16214 "src": "12211:10:33",
16215 "stateVariable": false,
16216 "storageLocation": "default",
16217 "typeDescriptions": {
16218 "typeIdentifier": "t_uint256",
16219 "typeString": "uint256"
16220 },
16221 "typeName": {
16222 "id": 9894,
16223 "name": "uint256",
16224 "nodeType": "ElementaryTypeName",
16225 "src": "12211:7:33",
16226 "typeDescriptions": {
16227 "typeIdentifier": "t_uint256",
16228 "typeString": "uint256"
16229 }
16230 },
16231 "value": null,
16232 "visibility": "internal"
16233 }
16234 ],
16235 "src": "12210:12:33"
16236 },
16237 "payable": false,
16238 "returnParameters": {
16239 "id": 9897,
16240 "nodeType": "ParameterList",
16241 "parameters": [],
16242 "src": "12231:0:33"
16243 },
16244 "scope": 10008,
16245 "src": "12189:152:33",
16246 "stateMutability": "nonpayable",
16247 "superFunction": null,
16248 "visibility": "private"
16249 },
16250 {
16251 "body": {
16252 "id": 9990,
16253 "nodeType": "Block",
16254 "src": "12403:464:33",
16255 "statements": [
16256 {
16257 "condition": {
16258 "argumentTypes": null,
16259 "id": 9923,
16260 "name": "canceled",
16261 "nodeType": "Identifier",
16262 "overloadedDeclarations": [],
16263 "referencedDeclaration": 9920,
16264 "src": "12417:8:33",
16265 "typeDescriptions": {
16266 "typeIdentifier": "t_bool",
16267 "typeString": "bool"
16268 }
16269 },
16270 "falseBody": {
16271 "id": 9988,
16272 "nodeType": "Block",
16273 "src": "12657:204:33",
16274 "statements": [
16275 {
16276 "expression": {
16277 "argumentTypes": null,
16278 "arguments": [
16279 {
16280 "argumentTypes": null,
16281 "arguments": [
16282 {
16283 "argumentTypes": null,
16284 "arguments": [
16285 {
16286 "argumentTypes": null,
16287 "hexValue": "71756572696573",
16288 "id": 9963,
16289 "isConstant": false,
16290 "isLValue": false,
16291 "isPure": true,
16292 "kind": "string",
16293 "lValueRequested": false,
16294 "nodeType": "Literal",
16295 "src": "12711:9:33",
16296 "subdenomination": null,
16297 "typeDescriptions": {
16298 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
16299 "typeString": "literal_string \"queries\""
16300 },
16301 "value": "queries"
16302 },
16303 {
16304 "argumentTypes": null,
16305 "id": 9964,
16306 "name": "id",
16307 "nodeType": "Identifier",
16308 "overloadedDeclarations": [],
16309 "referencedDeclaration": 9918,
16310 "src": "12722:2:33",
16311 "typeDescriptions": {
16312 "typeIdentifier": "t_uint256",
16313 "typeString": "uint256"
16314 }
16315 },
16316 {
16317 "argumentTypes": null,
16318 "hexValue": "63616e63656c426c6f636b",
16319 "id": 9965,
16320 "isConstant": false,
16321 "isLValue": false,
16322 "isPure": true,
16323 "kind": "string",
16324 "lValueRequested": false,
16325 "nodeType": "Literal",
16326 "src": "12726:13:33",
16327 "subdenomination": null,
16328 "typeDescriptions": {
16329 "typeIdentifier": "t_stringliteral_3e1f940b5edd3ce62b6c4237d655e274002d311fa3e3bed3262fcc6975c4a972",
16330 "typeString": "literal_string \"cancelBlock\""
16331 },
16332 "value": "cancelBlock"
16333 }
16334 ],
16335 "expression": {
16336 "argumentTypes": [
16337 {
16338 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
16339 "typeString": "literal_string \"queries\""
16340 },
16341 {
16342 "typeIdentifier": "t_uint256",
16343 "typeString": "uint256"
16344 },
16345 {
16346 "typeIdentifier": "t_stringliteral_3e1f940b5edd3ce62b6c4237d655e274002d311fa3e3bed3262fcc6975c4a972",
16347 "typeString": "literal_string \"cancelBlock\""
16348 }
16349 ],
16350 "expression": {
16351 "argumentTypes": null,
16352 "id": 9961,
16353 "name": "abi",
16354 "nodeType": "Identifier",
16355 "overloadedDeclarations": [],
16356 "referencedDeclaration": 12079,
16357 "src": "12694:3:33",
16358 "typeDescriptions": {
16359 "typeIdentifier": "t_magic_abi",
16360 "typeString": "abi"
16361 }
16362 },
16363 "id": 9962,
16364 "isConstant": false,
16365 "isLValue": false,
16366 "isPure": true,
16367 "lValueRequested": false,
16368 "memberName": "encodePacked",
16369 "nodeType": "MemberAccess",
16370 "referencedDeclaration": null,
16371 "src": "12694:16:33",
16372 "typeDescriptions": {
16373 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
16374 "typeString": "function () pure returns (bytes memory)"
16375 }
16376 },
16377 "id": 9966,
16378 "isConstant": false,
16379 "isLValue": false,
16380 "isPure": false,
16381 "kind": "functionCall",
16382 "lValueRequested": false,
16383 "names": [],
16384 "nodeType": "FunctionCall",
16385 "src": "12694:46:33",
16386 "typeDescriptions": {
16387 "typeIdentifier": "t_bytes_memory_ptr",
16388 "typeString": "bytes memory"
16389 }
16390 }
16391 ],
16392 "expression": {
16393 "argumentTypes": [
16394 {
16395 "typeIdentifier": "t_bytes_memory_ptr",
16396 "typeString": "bytes memory"
16397 }
16398 ],
16399 "id": 9960,
16400 "name": "keccak256",
16401 "nodeType": "Identifier",
16402 "overloadedDeclarations": [],
16403 "referencedDeclaration": 12086,
16404 "src": "12684:9:33",
16405 "typeDescriptions": {
16406 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
16407 "typeString": "function () pure returns (bytes32)"
16408 }
16409 },
16410 "id": 9967,
16411 "isConstant": false,
16412 "isLValue": false,
16413 "isPure": false,
16414 "kind": "functionCall",
16415 "lValueRequested": false,
16416 "names": [],
16417 "nodeType": "FunctionCall",
16418 "src": "12684:57:33",
16419 "typeDescriptions": {
16420 "typeIdentifier": "t_bytes32",
16421 "typeString": "bytes32"
16422 }
16423 },
16424 {
16425 "argumentTypes": null,
16426 "hexValue": "30",
16427 "id": 9968,
16428 "isConstant": false,
16429 "isLValue": false,
16430 "isPure": true,
16431 "kind": "number",
16432 "lValueRequested": false,
16433 "nodeType": "Literal",
16434 "src": "12743:1:33",
16435 "subdenomination": null,
16436 "typeDescriptions": {
16437 "typeIdentifier": "t_rational_0_by_1",
16438 "typeString": "int_const 0"
16439 },
16440 "value": "0"
16441 }
16442 ],
16443 "expression": {
16444 "argumentTypes": [
16445 {
16446 "typeIdentifier": "t_bytes32",
16447 "typeString": "bytes32"
16448 },
16449 {
16450 "typeIdentifier": "t_rational_0_by_1",
16451 "typeString": "int_const 0"
16452 }
16453 ],
16454 "expression": {
16455 "argumentTypes": null,
16456 "id": 9957,
16457 "name": "db",
16458 "nodeType": "Identifier",
16459 "overloadedDeclarations": [],
16460 "referencedDeclaration": 8965,
16461 "src": "12671:2:33",
16462 "typeDescriptions": {
16463 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
16464 "typeString": "contract DatabaseInterface"
16465 }
16466 },
16467 "id": 9959,
16468 "isConstant": false,
16469 "isLValue": false,
16470 "isPure": false,
16471 "lValueRequested": false,
16472 "memberName": "setNumber",
16473 "nodeType": "MemberAccess",
16474 "referencedDeclaration": 8652,
16475 "src": "12671:12:33",
16476 "typeDescriptions": {
16477 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
16478 "typeString": "function (bytes32,uint256) external"
16479 }
16480 },
16481 "id": 9969,
16482 "isConstant": false,
16483 "isLValue": false,
16484 "isPure": false,
16485 "kind": "functionCall",
16486 "lValueRequested": false,
16487 "names": [],
16488 "nodeType": "FunctionCall",
16489 "src": "12671:74:33",
16490 "typeDescriptions": {
16491 "typeIdentifier": "t_tuple$__$",
16492 "typeString": "tuple()"
16493 }
16494 },
16495 "id": 9970,
16496 "nodeType": "ExpressionStatement",
16497 "src": "12671:74:33"
16498 },
16499 {
16500 "expression": {
16501 "argumentTypes": null,
16502 "arguments": [
16503 {
16504 "argumentTypes": null,
16505 "arguments": [
16506 {
16507 "argumentTypes": null,
16508 "arguments": [
16509 {
16510 "argumentTypes": null,
16511 "hexValue": "71756572696573",
16512 "id": 9977,
16513 "isConstant": false,
16514 "isLValue": false,
16515 "isPure": true,
16516 "kind": "string",
16517 "lValueRequested": false,
16518 "nodeType": "Literal",
16519 "src": "12799:9:33",
16520 "subdenomination": null,
16521 "typeDescriptions": {
16522 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
16523 "typeString": "literal_string \"queries\""
16524 },
16525 "value": "queries"
16526 },
16527 {
16528 "argumentTypes": null,
16529 "id": 9978,
16530 "name": "id",
16531 "nodeType": "Identifier",
16532 "overloadedDeclarations": [],
16533 "referencedDeclaration": 9918,
16534 "src": "12810:2:33",
16535 "typeDescriptions": {
16536 "typeIdentifier": "t_uint256",
16537 "typeString": "uint256"
16538 }
16539 },
16540 {
16541 "argumentTypes": null,
16542 "hexValue": "737461747573",
16543 "id": 9979,
16544 "isConstant": false,
16545 "isLValue": false,
16546 "isPure": true,
16547 "kind": "string",
16548 "lValueRequested": false,
16549 "nodeType": "Literal",
16550 "src": "12814:8:33",
16551 "subdenomination": null,
16552 "typeDescriptions": {
16553 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
16554 "typeString": "literal_string \"status\""
16555 },
16556 "value": "status"
16557 }
16558 ],
16559 "expression": {
16560 "argumentTypes": [
16561 {
16562 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
16563 "typeString": "literal_string \"queries\""
16564 },
16565 {
16566 "typeIdentifier": "t_uint256",
16567 "typeString": "uint256"
16568 },
16569 {
16570 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
16571 "typeString": "literal_string \"status\""
16572 }
16573 ],
16574 "expression": {
16575 "argumentTypes": null,
16576 "id": 9975,
16577 "name": "abi",
16578 "nodeType": "Identifier",
16579 "overloadedDeclarations": [],
16580 "referencedDeclaration": 12079,
16581 "src": "12782:3:33",
16582 "typeDescriptions": {
16583 "typeIdentifier": "t_magic_abi",
16584 "typeString": "abi"
16585 }
16586 },
16587 "id": 9976,
16588 "isConstant": false,
16589 "isLValue": false,
16590 "isPure": true,
16591 "lValueRequested": false,
16592 "memberName": "encodePacked",
16593 "nodeType": "MemberAccess",
16594 "referencedDeclaration": null,
16595 "src": "12782:16:33",
16596 "typeDescriptions": {
16597 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
16598 "typeString": "function () pure returns (bytes memory)"
16599 }
16600 },
16601 "id": 9980,
16602 "isConstant": false,
16603 "isLValue": false,
16604 "isPure": false,
16605 "kind": "functionCall",
16606 "lValueRequested": false,
16607 "names": [],
16608 "nodeType": "FunctionCall",
16609 "src": "12782:41:33",
16610 "typeDescriptions": {
16611 "typeIdentifier": "t_bytes_memory_ptr",
16612 "typeString": "bytes memory"
16613 }
16614 }
16615 ],
16616 "expression": {
16617 "argumentTypes": [
16618 {
16619 "typeIdentifier": "t_bytes_memory_ptr",
16620 "typeString": "bytes memory"
16621 }
16622 ],
16623 "id": 9974,
16624 "name": "keccak256",
16625 "nodeType": "Identifier",
16626 "overloadedDeclarations": [],
16627 "referencedDeclaration": 12086,
16628 "src": "12772:9:33",
16629 "typeDescriptions": {
16630 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
16631 "typeString": "function () pure returns (bytes32)"
16632 }
16633 },
16634 "id": 9981,
16635 "isConstant": false,
16636 "isLValue": false,
16637 "isPure": false,
16638 "kind": "functionCall",
16639 "lValueRequested": false,
16640 "names": [],
16641 "nodeType": "FunctionCall",
16642 "src": "12772:52:33",
16643 "typeDescriptions": {
16644 "typeIdentifier": "t_bytes32",
16645 "typeString": "bytes32"
16646 }
16647 },
16648 {
16649 "argumentTypes": null,
16650 "arguments": [
16651 {
16652 "argumentTypes": null,
16653 "expression": {
16654 "argumentTypes": null,
16655 "id": 9983,
16656 "name": "Status",
16657 "nodeType": "Identifier",
16658 "overloadedDeclarations": [],
16659 "referencedDeclaration": 8844,
16660 "src": "12834:6:33",
16661 "typeDescriptions": {
16662 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
16663 "typeString": "type(enum Dispatch.Status)"
16664 }
16665 },
16666 "id": 9984,
16667 "isConstant": false,
16668 "isLValue": false,
16669 "isPure": true,
16670 "lValueRequested": false,
16671 "memberName": "Pending",
16672 "nodeType": "MemberAccess",
16673 "referencedDeclaration": null,
16674 "src": "12834:14:33",
16675 "typeDescriptions": {
16676 "typeIdentifier": "t_enum$_Status_$8844",
16677 "typeString": "enum Dispatch.Status"
16678 }
16679 }
16680 ],
16681 "expression": {
16682 "argumentTypes": [
16683 {
16684 "typeIdentifier": "t_enum$_Status_$8844",
16685 "typeString": "enum Dispatch.Status"
16686 }
16687 ],
16688 "id": 9982,
16689 "isConstant": false,
16690 "isLValue": false,
16691 "isPure": true,
16692 "lValueRequested": false,
16693 "nodeType": "ElementaryTypeNameExpression",
16694 "src": "12826:7:33",
16695 "typeDescriptions": {
16696 "typeIdentifier": "t_type$_t_uint256_$",
16697 "typeString": "type(uint256)"
16698 },
16699 "typeName": "uint256"
16700 },
16701 "id": 9985,
16702 "isConstant": false,
16703 "isLValue": false,
16704 "isPure": true,
16705 "kind": "typeConversion",
16706 "lValueRequested": false,
16707 "names": [],
16708 "nodeType": "FunctionCall",
16709 "src": "12826:23:33",
16710 "typeDescriptions": {
16711 "typeIdentifier": "t_uint256",
16712 "typeString": "uint256"
16713 }
16714 }
16715 ],
16716 "expression": {
16717 "argumentTypes": [
16718 {
16719 "typeIdentifier": "t_bytes32",
16720 "typeString": "bytes32"
16721 },
16722 {
16723 "typeIdentifier": "t_uint256",
16724 "typeString": "uint256"
16725 }
16726 ],
16727 "expression": {
16728 "argumentTypes": null,
16729 "id": 9971,
16730 "name": "db",
16731 "nodeType": "Identifier",
16732 "overloadedDeclarations": [],
16733 "referencedDeclaration": 8965,
16734 "src": "12759:2:33",
16735 "typeDescriptions": {
16736 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
16737 "typeString": "contract DatabaseInterface"
16738 }
16739 },
16740 "id": 9973,
16741 "isConstant": false,
16742 "isLValue": false,
16743 "isPure": false,
16744 "lValueRequested": false,
16745 "memberName": "setNumber",
16746 "nodeType": "MemberAccess",
16747 "referencedDeclaration": 8652,
16748 "src": "12759:12:33",
16749 "typeDescriptions": {
16750 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
16751 "typeString": "function (bytes32,uint256) external"
16752 }
16753 },
16754 "id": 9986,
16755 "isConstant": false,
16756 "isLValue": false,
16757 "isPure": false,
16758 "kind": "functionCall",
16759 "lValueRequested": false,
16760 "names": [],
16761 "nodeType": "FunctionCall",
16762 "src": "12759:91:33",
16763 "typeDescriptions": {
16764 "typeIdentifier": "t_tuple$__$",
16765 "typeString": "tuple()"
16766 }
16767 },
16768 "id": 9987,
16769 "nodeType": "ExpressionStatement",
16770 "src": "12759:91:33"
16771 }
16772 ]
16773 },
16774 "id": 9989,
16775 "nodeType": "IfStatement",
16776 "src": "12413:448:33",
16777 "trueBody": {
16778 "id": 9956,
16779 "nodeType": "Block",
16780 "src": "12427:216:33",
16781 "statements": [
16782 {
16783 "expression": {
16784 "argumentTypes": null,
16785 "arguments": [
16786 {
16787 "argumentTypes": null,
16788 "arguments": [
16789 {
16790 "argumentTypes": null,
16791 "arguments": [
16792 {
16793 "argumentTypes": null,
16794 "hexValue": "71756572696573",
16795 "id": 9930,
16796 "isConstant": false,
16797 "isLValue": false,
16798 "isPure": true,
16799 "kind": "string",
16800 "lValueRequested": false,
16801 "nodeType": "Literal",
16802 "src": "12481:9:33",
16803 "subdenomination": null,
16804 "typeDescriptions": {
16805 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
16806 "typeString": "literal_string \"queries\""
16807 },
16808 "value": "queries"
16809 },
16810 {
16811 "argumentTypes": null,
16812 "id": 9931,
16813 "name": "id",
16814 "nodeType": "Identifier",
16815 "overloadedDeclarations": [],
16816 "referencedDeclaration": 9918,
16817 "src": "12492:2:33",
16818 "typeDescriptions": {
16819 "typeIdentifier": "t_uint256",
16820 "typeString": "uint256"
16821 }
16822 },
16823 {
16824 "argumentTypes": null,
16825 "hexValue": "63616e63656c426c6f636b",
16826 "id": 9932,
16827 "isConstant": false,
16828 "isLValue": false,
16829 "isPure": true,
16830 "kind": "string",
16831 "lValueRequested": false,
16832 "nodeType": "Literal",
16833 "src": "12496:13:33",
16834 "subdenomination": null,
16835 "typeDescriptions": {
16836 "typeIdentifier": "t_stringliteral_3e1f940b5edd3ce62b6c4237d655e274002d311fa3e3bed3262fcc6975c4a972",
16837 "typeString": "literal_string \"cancelBlock\""
16838 },
16839 "value": "cancelBlock"
16840 }
16841 ],
16842 "expression": {
16843 "argumentTypes": [
16844 {
16845 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
16846 "typeString": "literal_string \"queries\""
16847 },
16848 {
16849 "typeIdentifier": "t_uint256",
16850 "typeString": "uint256"
16851 },
16852 {
16853 "typeIdentifier": "t_stringliteral_3e1f940b5edd3ce62b6c4237d655e274002d311fa3e3bed3262fcc6975c4a972",
16854 "typeString": "literal_string \"cancelBlock\""
16855 }
16856 ],
16857 "expression": {
16858 "argumentTypes": null,
16859 "id": 9928,
16860 "name": "abi",
16861 "nodeType": "Identifier",
16862 "overloadedDeclarations": [],
16863 "referencedDeclaration": 12079,
16864 "src": "12464:3:33",
16865 "typeDescriptions": {
16866 "typeIdentifier": "t_magic_abi",
16867 "typeString": "abi"
16868 }
16869 },
16870 "id": 9929,
16871 "isConstant": false,
16872 "isLValue": false,
16873 "isPure": true,
16874 "lValueRequested": false,
16875 "memberName": "encodePacked",
16876 "nodeType": "MemberAccess",
16877 "referencedDeclaration": null,
16878 "src": "12464:16:33",
16879 "typeDescriptions": {
16880 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
16881 "typeString": "function () pure returns (bytes memory)"
16882 }
16883 },
16884 "id": 9933,
16885 "isConstant": false,
16886 "isLValue": false,
16887 "isPure": false,
16888 "kind": "functionCall",
16889 "lValueRequested": false,
16890 "names": [],
16891 "nodeType": "FunctionCall",
16892 "src": "12464:46:33",
16893 "typeDescriptions": {
16894 "typeIdentifier": "t_bytes_memory_ptr",
16895 "typeString": "bytes memory"
16896 }
16897 }
16898 ],
16899 "expression": {
16900 "argumentTypes": [
16901 {
16902 "typeIdentifier": "t_bytes_memory_ptr",
16903 "typeString": "bytes memory"
16904 }
16905 ],
16906 "id": 9927,
16907 "name": "keccak256",
16908 "nodeType": "Identifier",
16909 "overloadedDeclarations": [],
16910 "referencedDeclaration": 12086,
16911 "src": "12454:9:33",
16912 "typeDescriptions": {
16913 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
16914 "typeString": "function () pure returns (bytes32)"
16915 }
16916 },
16917 "id": 9934,
16918 "isConstant": false,
16919 "isLValue": false,
16920 "isPure": false,
16921 "kind": "functionCall",
16922 "lValueRequested": false,
16923 "names": [],
16924 "nodeType": "FunctionCall",
16925 "src": "12454:57:33",
16926 "typeDescriptions": {
16927 "typeIdentifier": "t_bytes32",
16928 "typeString": "bytes32"
16929 }
16930 },
16931 {
16932 "argumentTypes": null,
16933 "expression": {
16934 "argumentTypes": null,
16935 "id": 9935,
16936 "name": "block",
16937 "nodeType": "Identifier",
16938 "overloadedDeclarations": [],
16939 "referencedDeclaration": 12082,
16940 "src": "12513:5:33",
16941 "typeDescriptions": {
16942 "typeIdentifier": "t_magic_block",
16943 "typeString": "block"
16944 }
16945 },
16946 "id": 9936,
16947 "isConstant": false,
16948 "isLValue": false,
16949 "isPure": false,
16950 "lValueRequested": false,
16951 "memberName": "number",
16952 "nodeType": "MemberAccess",
16953 "referencedDeclaration": null,
16954 "src": "12513:12:33",
16955 "typeDescriptions": {
16956 "typeIdentifier": "t_uint256",
16957 "typeString": "uint256"
16958 }
16959 }
16960 ],
16961 "expression": {
16962 "argumentTypes": [
16963 {
16964 "typeIdentifier": "t_bytes32",
16965 "typeString": "bytes32"
16966 },
16967 {
16968 "typeIdentifier": "t_uint256",
16969 "typeString": "uint256"
16970 }
16971 ],
16972 "expression": {
16973 "argumentTypes": null,
16974 "id": 9924,
16975 "name": "db",
16976 "nodeType": "Identifier",
16977 "overloadedDeclarations": [],
16978 "referencedDeclaration": 8965,
16979 "src": "12441:2:33",
16980 "typeDescriptions": {
16981 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
16982 "typeString": "contract DatabaseInterface"
16983 }
16984 },
16985 "id": 9926,
16986 "isConstant": false,
16987 "isLValue": false,
16988 "isPure": false,
16989 "lValueRequested": false,
16990 "memberName": "setNumber",
16991 "nodeType": "MemberAccess",
16992 "referencedDeclaration": 8652,
16993 "src": "12441:12:33",
16994 "typeDescriptions": {
16995 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
16996 "typeString": "function (bytes32,uint256) external"
16997 }
16998 },
16999 "id": 9937,
17000 "isConstant": false,
17001 "isLValue": false,
17002 "isPure": false,
17003 "kind": "functionCall",
17004 "lValueRequested": false,
17005 "names": [],
17006 "nodeType": "FunctionCall",
17007 "src": "12441:85:33",
17008 "typeDescriptions": {
17009 "typeIdentifier": "t_tuple$__$",
17010 "typeString": "tuple()"
17011 }
17012 },
17013 "id": 9938,
17014 "nodeType": "ExpressionStatement",
17015 "src": "12441:85:33"
17016 },
17017 {
17018 "expression": {
17019 "argumentTypes": null,
17020 "arguments": [
17021 {
17022 "argumentTypes": null,
17023 "arguments": [
17024 {
17025 "argumentTypes": null,
17026 "arguments": [
17027 {
17028 "argumentTypes": null,
17029 "hexValue": "71756572696573",
17030 "id": 9945,
17031 "isConstant": false,
17032 "isLValue": false,
17033 "isPure": true,
17034 "kind": "string",
17035 "lValueRequested": false,
17036 "nodeType": "Literal",
17037 "src": "12580:9:33",
17038 "subdenomination": null,
17039 "typeDescriptions": {
17040 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
17041 "typeString": "literal_string \"queries\""
17042 },
17043 "value": "queries"
17044 },
17045 {
17046 "argumentTypes": null,
17047 "id": 9946,
17048 "name": "id",
17049 "nodeType": "Identifier",
17050 "overloadedDeclarations": [],
17051 "referencedDeclaration": 9918,
17052 "src": "12591:2:33",
17053 "typeDescriptions": {
17054 "typeIdentifier": "t_uint256",
17055 "typeString": "uint256"
17056 }
17057 },
17058 {
17059 "argumentTypes": null,
17060 "hexValue": "737461747573",
17061 "id": 9947,
17062 "isConstant": false,
17063 "isLValue": false,
17064 "isPure": true,
17065 "kind": "string",
17066 "lValueRequested": false,
17067 "nodeType": "Literal",
17068 "src": "12595:8:33",
17069 "subdenomination": null,
17070 "typeDescriptions": {
17071 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
17072 "typeString": "literal_string \"status\""
17073 },
17074 "value": "status"
17075 }
17076 ],
17077 "expression": {
17078 "argumentTypes": [
17079 {
17080 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
17081 "typeString": "literal_string \"queries\""
17082 },
17083 {
17084 "typeIdentifier": "t_uint256",
17085 "typeString": "uint256"
17086 },
17087 {
17088 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
17089 "typeString": "literal_string \"status\""
17090 }
17091 ],
17092 "expression": {
17093 "argumentTypes": null,
17094 "id": 9943,
17095 "name": "abi",
17096 "nodeType": "Identifier",
17097 "overloadedDeclarations": [],
17098 "referencedDeclaration": 12079,
17099 "src": "12563:3:33",
17100 "typeDescriptions": {
17101 "typeIdentifier": "t_magic_abi",
17102 "typeString": "abi"
17103 }
17104 },
17105 "id": 9944,
17106 "isConstant": false,
17107 "isLValue": false,
17108 "isPure": true,
17109 "lValueRequested": false,
17110 "memberName": "encodePacked",
17111 "nodeType": "MemberAccess",
17112 "referencedDeclaration": null,
17113 "src": "12563:16:33",
17114 "typeDescriptions": {
17115 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
17116 "typeString": "function () pure returns (bytes memory)"
17117 }
17118 },
17119 "id": 9948,
17120 "isConstant": false,
17121 "isLValue": false,
17122 "isPure": false,
17123 "kind": "functionCall",
17124 "lValueRequested": false,
17125 "names": [],
17126 "nodeType": "FunctionCall",
17127 "src": "12563:41:33",
17128 "typeDescriptions": {
17129 "typeIdentifier": "t_bytes_memory_ptr",
17130 "typeString": "bytes memory"
17131 }
17132 }
17133 ],
17134 "expression": {
17135 "argumentTypes": [
17136 {
17137 "typeIdentifier": "t_bytes_memory_ptr",
17138 "typeString": "bytes memory"
17139 }
17140 ],
17141 "id": 9942,
17142 "name": "keccak256",
17143 "nodeType": "Identifier",
17144 "overloadedDeclarations": [],
17145 "referencedDeclaration": 12086,
17146 "src": "12553:9:33",
17147 "typeDescriptions": {
17148 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
17149 "typeString": "function () pure returns (bytes32)"
17150 }
17151 },
17152 "id": 9949,
17153 "isConstant": false,
17154 "isLValue": false,
17155 "isPure": false,
17156 "kind": "functionCall",
17157 "lValueRequested": false,
17158 "names": [],
17159 "nodeType": "FunctionCall",
17160 "src": "12553:52:33",
17161 "typeDescriptions": {
17162 "typeIdentifier": "t_bytes32",
17163 "typeString": "bytes32"
17164 }
17165 },
17166 {
17167 "argumentTypes": null,
17168 "arguments": [
17169 {
17170 "argumentTypes": null,
17171 "expression": {
17172 "argumentTypes": null,
17173 "id": 9951,
17174 "name": "Status",
17175 "nodeType": "Identifier",
17176 "overloadedDeclarations": [],
17177 "referencedDeclaration": 8844,
17178 "src": "12615:6:33",
17179 "typeDescriptions": {
17180 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
17181 "typeString": "type(enum Dispatch.Status)"
17182 }
17183 },
17184 "id": 9952,
17185 "isConstant": false,
17186 "isLValue": false,
17187 "isPure": true,
17188 "lValueRequested": false,
17189 "memberName": "Canceled",
17190 "nodeType": "MemberAccess",
17191 "referencedDeclaration": null,
17192 "src": "12615:15:33",
17193 "typeDescriptions": {
17194 "typeIdentifier": "t_enum$_Status_$8844",
17195 "typeString": "enum Dispatch.Status"
17196 }
17197 }
17198 ],
17199 "expression": {
17200 "argumentTypes": [
17201 {
17202 "typeIdentifier": "t_enum$_Status_$8844",
17203 "typeString": "enum Dispatch.Status"
17204 }
17205 ],
17206 "id": 9950,
17207 "isConstant": false,
17208 "isLValue": false,
17209 "isPure": true,
17210 "lValueRequested": false,
17211 "nodeType": "ElementaryTypeNameExpression",
17212 "src": "12607:7:33",
17213 "typeDescriptions": {
17214 "typeIdentifier": "t_type$_t_uint256_$",
17215 "typeString": "type(uint256)"
17216 },
17217 "typeName": "uint256"
17218 },
17219 "id": 9953,
17220 "isConstant": false,
17221 "isLValue": false,
17222 "isPure": true,
17223 "kind": "typeConversion",
17224 "lValueRequested": false,
17225 "names": [],
17226 "nodeType": "FunctionCall",
17227 "src": "12607:24:33",
17228 "typeDescriptions": {
17229 "typeIdentifier": "t_uint256",
17230 "typeString": "uint256"
17231 }
17232 }
17233 ],
17234 "expression": {
17235 "argumentTypes": [
17236 {
17237 "typeIdentifier": "t_bytes32",
17238 "typeString": "bytes32"
17239 },
17240 {
17241 "typeIdentifier": "t_uint256",
17242 "typeString": "uint256"
17243 }
17244 ],
17245 "expression": {
17246 "argumentTypes": null,
17247 "id": 9939,
17248 "name": "db",
17249 "nodeType": "Identifier",
17250 "overloadedDeclarations": [],
17251 "referencedDeclaration": 8965,
17252 "src": "12540:2:33",
17253 "typeDescriptions": {
17254 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
17255 "typeString": "contract DatabaseInterface"
17256 }
17257 },
17258 "id": 9941,
17259 "isConstant": false,
17260 "isLValue": false,
17261 "isPure": false,
17262 "lValueRequested": false,
17263 "memberName": "setNumber",
17264 "nodeType": "MemberAccess",
17265 "referencedDeclaration": 8652,
17266 "src": "12540:12:33",
17267 "typeDescriptions": {
17268 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
17269 "typeString": "function (bytes32,uint256) external"
17270 }
17271 },
17272 "id": 9954,
17273 "isConstant": false,
17274 "isLValue": false,
17275 "isPure": false,
17276 "kind": "functionCall",
17277 "lValueRequested": false,
17278 "names": [],
17279 "nodeType": "FunctionCall",
17280 "src": "12540:92:33",
17281 "typeDescriptions": {
17282 "typeIdentifier": "t_tuple$__$",
17283 "typeString": "tuple()"
17284 }
17285 },
17286 "id": 9955,
17287 "nodeType": "ExpressionStatement",
17288 "src": "12540:92:33"
17289 }
17290 ]
17291 }
17292 }
17293 ]
17294 },
17295 "documentation": null,
17296 "id": 9991,
17297 "implemented": true,
17298 "isConstructor": false,
17299 "isDeclaredConst": false,
17300 "modifiers": [],
17301 "name": "setCanceled",
17302 "nodeType": "FunctionDefinition",
17303 "parameters": {
17304 "id": 9921,
17305 "nodeType": "ParameterList",
17306 "parameters": [
17307 {
17308 "constant": false,
17309 "id": 9918,
17310 "name": "id",
17311 "nodeType": "VariableDeclaration",
17312 "scope": 9991,
17313 "src": "12368:10:33",
17314 "stateVariable": false,
17315 "storageLocation": "default",
17316 "typeDescriptions": {
17317 "typeIdentifier": "t_uint256",
17318 "typeString": "uint256"
17319 },
17320 "typeName": {
17321 "id": 9917,
17322 "name": "uint256",
17323 "nodeType": "ElementaryTypeName",
17324 "src": "12368:7:33",
17325 "typeDescriptions": {
17326 "typeIdentifier": "t_uint256",
17327 "typeString": "uint256"
17328 }
17329 },
17330 "value": null,
17331 "visibility": "internal"
17332 },
17333 {
17334 "constant": false,
17335 "id": 9920,
17336 "name": "canceled",
17337 "nodeType": "VariableDeclaration",
17338 "scope": 9991,
17339 "src": "12380:13:33",
17340 "stateVariable": false,
17341 "storageLocation": "default",
17342 "typeDescriptions": {
17343 "typeIdentifier": "t_bool",
17344 "typeString": "bool"
17345 },
17346 "typeName": {
17347 "id": 9919,
17348 "name": "bool",
17349 "nodeType": "ElementaryTypeName",
17350 "src": "12380:4:33",
17351 "typeDescriptions": {
17352 "typeIdentifier": "t_bool",
17353 "typeString": "bool"
17354 }
17355 },
17356 "value": null,
17357 "visibility": "internal"
17358 }
17359 ],
17360 "src": "12367:27:33"
17361 },
17362 "payable": false,
17363 "returnParameters": {
17364 "id": 9922,
17365 "nodeType": "ParameterList",
17366 "parameters": [],
17367 "src": "12403:0:33"
17368 },
17369 "scope": 10008,
17370 "src": "12347:520:33",
17371 "stateMutability": "nonpayable",
17372 "superFunction": null,
17373 "visibility": "private"
17374 },
17375 {
17376 "body": {
17377 "id": 10006,
17378 "nodeType": "Block",
17379 "src": "12935:98:33",
17380 "statements": [
17381 {
17382 "assignments": [],
17383 "declarations": [
17384 {
17385 "constant": false,
17386 "id": 9999,
17387 "name": "size",
17388 "nodeType": "VariableDeclaration",
17389 "scope": 10007,
17390 "src": "12945:9:33",
17391 "stateVariable": false,
17392 "storageLocation": "default",
17393 "typeDescriptions": {
17394 "typeIdentifier": "t_uint256",
17395 "typeString": "uint256"
17396 },
17397 "typeName": {
17398 "id": 9998,
17399 "name": "uint",
17400 "nodeType": "ElementaryTypeName",
17401 "src": "12945:4:33",
17402 "typeDescriptions": {
17403 "typeIdentifier": "t_uint256",
17404 "typeString": "uint256"
17405 }
17406 },
17407 "value": null,
17408 "visibility": "internal"
17409 }
17410 ],
17411 "id": 10000,
17412 "initialValue": null,
17413 "nodeType": "VariableDeclarationStatement",
17414 "src": "12945:9:33"
17415 },
17416 {
17417 "externalReferences": [
17418 {
17419 "size": {
17420 "declaration": 9999,
17421 "isOffset": false,
17422 "isSlot": false,
17423 "src": "12975:4:33",
17424 "valueSize": 1
17425 }
17426 },
17427 {
17428 "addr": {
17429 "declaration": 9993,
17430 "isOffset": false,
17431 "isSlot": false,
17432 "src": "12995:4:33",
17433 "valueSize": 1
17434 }
17435 }
17436 ],
17437 "id": 10001,
17438 "nodeType": "InlineAssembly",
17439 "operations": "{\n size := extcodesize(addr)\n}",
17440 "src": "12964:53:33"
17441 },
17442 {
17443 "expression": {
17444 "argumentTypes": null,
17445 "commonType": {
17446 "typeIdentifier": "t_uint256",
17447 "typeString": "uint256"
17448 },
17449 "id": 10004,
17450 "isConstant": false,
17451 "isLValue": false,
17452 "isPure": false,
17453 "lValueRequested": false,
17454 "leftExpression": {
17455 "argumentTypes": null,
17456 "id": 10002,
17457 "name": "size",
17458 "nodeType": "Identifier",
17459 "overloadedDeclarations": [],
17460 "referencedDeclaration": 9999,
17461 "src": "13018:4:33",
17462 "typeDescriptions": {
17463 "typeIdentifier": "t_uint256",
17464 "typeString": "uint256"
17465 }
17466 },
17467 "nodeType": "BinaryOperation",
17468 "operator": ">",
17469 "rightExpression": {
17470 "argumentTypes": null,
17471 "hexValue": "30",
17472 "id": 10003,
17473 "isConstant": false,
17474 "isLValue": false,
17475 "isPure": true,
17476 "kind": "number",
17477 "lValueRequested": false,
17478 "nodeType": "Literal",
17479 "src": "13025:1:33",
17480 "subdenomination": null,
17481 "typeDescriptions": {
17482 "typeIdentifier": "t_rational_0_by_1",
17483 "typeString": "int_const 0"
17484 },
17485 "value": "0"
17486 },
17487 "src": "13018:8:33",
17488 "typeDescriptions": {
17489 "typeIdentifier": "t_bool",
17490 "typeString": "bool"
17491 }
17492 },
17493 "functionReturnParameters": 9997,
17494 "id": 10005,
17495 "nodeType": "Return",
17496 "src": "13011:15:33"
17497 }
17498 ]
17499 },
17500 "documentation": null,
17501 "id": 10007,
17502 "implemented": true,
17503 "isConstructor": false,
17504 "isDeclaredConst": true,
17505 "modifiers": [],
17506 "name": "isContract",
17507 "nodeType": "FunctionDefinition",
17508 "parameters": {
17509 "id": 9994,
17510 "nodeType": "ParameterList",
17511 "parameters": [
17512 {
17513 "constant": false,
17514 "id": 9993,
17515 "name": "addr",
17516 "nodeType": "VariableDeclaration",
17517 "scope": 10007,
17518 "src": "12893:12:33",
17519 "stateVariable": false,
17520 "storageLocation": "default",
17521 "typeDescriptions": {
17522 "typeIdentifier": "t_address",
17523 "typeString": "address"
17524 },
17525 "typeName": {
17526 "id": 9992,
17527 "name": "address",
17528 "nodeType": "ElementaryTypeName",
17529 "src": "12893:7:33",
17530 "typeDescriptions": {
17531 "typeIdentifier": "t_address",
17532 "typeString": "address"
17533 }
17534 },
17535 "value": null,
17536 "visibility": "internal"
17537 }
17538 ],
17539 "src": "12892:14:33"
17540 },
17541 "payable": false,
17542 "returnParameters": {
17543 "id": 9997,
17544 "nodeType": "ParameterList",
17545 "parameters": [
17546 {
17547 "constant": false,
17548 "id": 9996,
17549 "name": "",
17550 "nodeType": "VariableDeclaration",
17551 "scope": 10007,
17552 "src": "12929:4:33",
17553 "stateVariable": false,
17554 "storageLocation": "default",
17555 "typeDescriptions": {
17556 "typeIdentifier": "t_bool",
17557 "typeString": "bool"
17558 },
17559 "typeName": {
17560 "id": 9995,
17561 "name": "bool",
17562 "nodeType": "ElementaryTypeName",
17563 "src": "12929:4:33",
17564 "typeDescriptions": {
17565 "typeIdentifier": "t_bool",
17566 "typeString": "bool"
17567 }
17568 },
17569 "value": null,
17570 "visibility": "internal"
17571 }
17572 ],
17573 "src": "12928:6:33"
17574 },
17575 "scope": 10008,
17576 "src": "12873:160:33",
17577 "stateMutability": "view",
17578 "superFunction": null,
17579 "visibility": "private"
17580 }
17581 ],
17582 "scope": 10009,
17583 "src": "336:12699:33"
17584 }
17585 ],
17586 "src": "0:14350:33"
17587 },
17588 "legacyAST": {
17589 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/platform/dispatch/Dispatch.sol",
17590 "exportedSymbols": {
17591 "Dispatch": [
17592 10008
17593 ]
17594 },
17595 "id": 10009,
17596 "nodeType": "SourceUnit",
17597 "nodes": [
17598 {
17599 "id": 8827,
17600 "literals": [
17601 "solidity",
17602 "^",
17603 "0.4",
17604 ".24"
17605 ],
17606 "nodeType": "PragmaDirective",
17607 "src": "0:24:33"
17608 },
17609 {
17610 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/lib/ownership/Upgradable.sol",
17611 "file": "../../lib/ownership/Upgradable.sol",
17612 "id": 8828,
17613 "nodeType": "ImportDirective",
17614 "scope": 10009,
17615 "sourceUnit": 252,
17616 "src": "34:44:33",
17617 "symbolAliases": [],
17618 "unitAlias": ""
17619 },
17620 {
17621 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/lib/lifecycle/Destructible.sol",
17622 "file": "../../lib/lifecycle/Destructible.sol",
17623 "id": 8829,
17624 "nodeType": "ImportDirective",
17625 "scope": 10009,
17626 "sourceUnit": 148,
17627 "src": "79:46:33",
17628 "symbolAliases": [],
17629 "unitAlias": ""
17630 },
17631 {
17632 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/lib/platform/Client.sol",
17633 "file": "../../lib/platform/Client.sol",
17634 "id": 8830,
17635 "nodeType": "ImportDirective",
17636 "scope": 10009,
17637 "sourceUnit": 870,
17638 "src": "126:39:33",
17639 "symbolAliases": [],
17640 "unitAlias": ""
17641 },
17642 {
17643 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/lib/platform/OnChainProvider.sol",
17644 "file": "../../lib/platform/OnChainProvider.sol",
17645 "id": 8831,
17646 "nodeType": "ImportDirective",
17647 "scope": 10009,
17648 "sourceUnit": 1827,
17649 "src": "166:48:33",
17650 "symbolAliases": [],
17651 "unitAlias": ""
17652 },
17653 {
17654 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/platform/bondage/BondageInterface.sol",
17655 "file": "../bondage/BondageInterface.sol",
17656 "id": 8832,
17657 "nodeType": "ImportDirective",
17658 "scope": 10009,
17659 "sourceUnit": 7927,
17660 "src": "215:41:33",
17661 "symbolAliases": [],
17662 "unitAlias": ""
17663 },
17664 {
17665 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/platform/dispatch/DispatchInterface.sol",
17666 "file": "./DispatchInterface.sol",
17667 "id": 8833,
17668 "nodeType": "ImportDirective",
17669 "scope": 10009,
17670 "sourceUnit": 10148,
17671 "src": "257:33:33",
17672 "symbolAliases": [],
17673 "unitAlias": ""
17674 },
17675 {
17676 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/platform/database/DatabaseInterface.sol",
17677 "file": "../database/DatabaseInterface.sol",
17678 "id": 8834,
17679 "nodeType": "ImportDirective",
17680 "scope": 10009,
17681 "sourceUnit": 8826,
17682 "src": "291:43:33",
17683 "symbolAliases": [],
17684 "unitAlias": ""
17685 },
17686 {
17687 "baseContracts": [
17688 {
17689 "arguments": null,
17690 "baseName": {
17691 "contractScope": null,
17692 "id": 8835,
17693 "name": "Destructible",
17694 "nodeType": "UserDefinedTypeName",
17695 "referencedDeclaration": 147,
17696 "src": "357:12:33",
17697 "typeDescriptions": {
17698 "typeIdentifier": "t_contract$_Destructible_$147",
17699 "typeString": "contract Destructible"
17700 }
17701 },
17702 "id": 8836,
17703 "nodeType": "InheritanceSpecifier",
17704 "src": "357:12:33"
17705 },
17706 {
17707 "arguments": null,
17708 "baseName": {
17709 "contractScope": null,
17710 "id": 8837,
17711 "name": "DispatchInterface",
17712 "nodeType": "UserDefinedTypeName",
17713 "referencedDeclaration": 10147,
17714 "src": "371:17:33",
17715 "typeDescriptions": {
17716 "typeIdentifier": "t_contract$_DispatchInterface_$10147",
17717 "typeString": "contract DispatchInterface"
17718 }
17719 },
17720 "id": 8838,
17721 "nodeType": "InheritanceSpecifier",
17722 "src": "371:17:33"
17723 },
17724 {
17725 "arguments": null,
17726 "baseName": {
17727 "contractScope": null,
17728 "id": 8839,
17729 "name": "Upgradable",
17730 "nodeType": "UserDefinedTypeName",
17731 "referencedDeclaration": 251,
17732 "src": "390:10:33",
17733 "typeDescriptions": {
17734 "typeIdentifier": "t_contract$_Upgradable_$251",
17735 "typeString": "contract Upgradable"
17736 }
17737 },
17738 "id": 8840,
17739 "nodeType": "InheritanceSpecifier",
17740 "src": "390:10:33"
17741 }
17742 ],
17743 "contractDependencies": [
17744 147,
17745 203,
17746 251,
17747 10147
17748 ],
17749 "contractKind": "contract",
17750 "documentation": null,
17751 "fullyImplemented": true,
17752 "id": 10008,
17753 "linearizedBaseContracts": [
17754 10008,
17755 251,
17756 10147,
17757 147,
17758 203
17759 ],
17760 "name": "Dispatch",
17761 "nodeType": "ContractDefinition",
17762 "nodes": [
17763 {
17764 "canonicalName": "Dispatch.Status",
17765 "id": 8844,
17766 "members": [
17767 {
17768 "id": 8841,
17769 "name": "Pending",
17770 "nodeType": "EnumValue",
17771 "src": "422:7:33"
17772 },
17773 {
17774 "id": 8842,
17775 "name": "Fulfilled",
17776 "nodeType": "EnumValue",
17777 "src": "431:9:33"
17778 },
17779 {
17780 "id": 8843,
17781 "name": "Canceled",
17782 "nodeType": "EnumValue",
17783 "src": "442:8:33"
17784 }
17785 ],
17786 "name": "Status",
17787 "nodeType": "EnumDefinition",
17788 "src": "408:44:33"
17789 },
17790 {
17791 "anonymous": false,
17792 "documentation": null,
17793 "id": 8861,
17794 "name": "Incoming",
17795 "nodeType": "EventDefinition",
17796 "parameters": {
17797 "id": 8860,
17798 "nodeType": "ParameterList",
17799 "parameters": [
17800 {
17801 "constant": false,
17802 "id": 8846,
17803 "indexed": true,
17804 "name": "id",
17805 "nodeType": "VariableDeclaration",
17806 "scope": 8861,
17807 "src": "569:18:33",
17808 "stateVariable": false,
17809 "storageLocation": "default",
17810 "typeDescriptions": {
17811 "typeIdentifier": "t_uint256",
17812 "typeString": "uint256"
17813 },
17814 "typeName": {
17815 "id": 8845,
17816 "name": "uint256",
17817 "nodeType": "ElementaryTypeName",
17818 "src": "569:7:33",
17819 "typeDescriptions": {
17820 "typeIdentifier": "t_uint256",
17821 "typeString": "uint256"
17822 }
17823 },
17824 "value": null,
17825 "visibility": "internal"
17826 },
17827 {
17828 "constant": false,
17829 "id": 8848,
17830 "indexed": true,
17831 "name": "provider",
17832 "nodeType": "VariableDeclaration",
17833 "scope": 8861,
17834 "src": "597:24:33",
17835 "stateVariable": false,
17836 "storageLocation": "default",
17837 "typeDescriptions": {
17838 "typeIdentifier": "t_address",
17839 "typeString": "address"
17840 },
17841 "typeName": {
17842 "id": 8847,
17843 "name": "address",
17844 "nodeType": "ElementaryTypeName",
17845 "src": "597:7:33",
17846 "typeDescriptions": {
17847 "typeIdentifier": "t_address",
17848 "typeString": "address"
17849 }
17850 },
17851 "value": null,
17852 "visibility": "internal"
17853 },
17854 {
17855 "constant": false,
17856 "id": 8850,
17857 "indexed": true,
17858 "name": "subscriber",
17859 "nodeType": "VariableDeclaration",
17860 "scope": 8861,
17861 "src": "631:26:33",
17862 "stateVariable": false,
17863 "storageLocation": "default",
17864 "typeDescriptions": {
17865 "typeIdentifier": "t_address",
17866 "typeString": "address"
17867 },
17868 "typeName": {
17869 "id": 8849,
17870 "name": "address",
17871 "nodeType": "ElementaryTypeName",
17872 "src": "631:7:33",
17873 "typeDescriptions": {
17874 "typeIdentifier": "t_address",
17875 "typeString": "address"
17876 }
17877 },
17878 "value": null,
17879 "visibility": "internal"
17880 },
17881 {
17882 "constant": false,
17883 "id": 8852,
17884 "indexed": false,
17885 "name": "query",
17886 "nodeType": "VariableDeclaration",
17887 "scope": 8861,
17888 "src": "667:12:33",
17889 "stateVariable": false,
17890 "storageLocation": "default",
17891 "typeDescriptions": {
17892 "typeIdentifier": "t_string_memory_ptr",
17893 "typeString": "string"
17894 },
17895 "typeName": {
17896 "id": 8851,
17897 "name": "string",
17898 "nodeType": "ElementaryTypeName",
17899 "src": "667:6:33",
17900 "typeDescriptions": {
17901 "typeIdentifier": "t_string_storage_ptr",
17902 "typeString": "string"
17903 }
17904 },
17905 "value": null,
17906 "visibility": "internal"
17907 },
17908 {
17909 "constant": false,
17910 "id": 8854,
17911 "indexed": false,
17912 "name": "endpoint",
17913 "nodeType": "VariableDeclaration",
17914 "scope": 8861,
17915 "src": "689:16:33",
17916 "stateVariable": false,
17917 "storageLocation": "default",
17918 "typeDescriptions": {
17919 "typeIdentifier": "t_bytes32",
17920 "typeString": "bytes32"
17921 },
17922 "typeName": {
17923 "id": 8853,
17924 "name": "bytes32",
17925 "nodeType": "ElementaryTypeName",
17926 "src": "689:7:33",
17927 "typeDescriptions": {
17928 "typeIdentifier": "t_bytes32",
17929 "typeString": "bytes32"
17930 }
17931 },
17932 "value": null,
17933 "visibility": "internal"
17934 },
17935 {
17936 "constant": false,
17937 "id": 8857,
17938 "indexed": false,
17939 "name": "endpointParams",
17940 "nodeType": "VariableDeclaration",
17941 "scope": 8861,
17942 "src": "715:24:33",
17943 "stateVariable": false,
17944 "storageLocation": "default",
17945 "typeDescriptions": {
17946 "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
17947 "typeString": "bytes32[]"
17948 },
17949 "typeName": {
17950 "baseType": {
17951 "id": 8855,
17952 "name": "bytes32",
17953 "nodeType": "ElementaryTypeName",
17954 "src": "715:7:33",
17955 "typeDescriptions": {
17956 "typeIdentifier": "t_bytes32",
17957 "typeString": "bytes32"
17958 }
17959 },
17960 "id": 8856,
17961 "length": null,
17962 "nodeType": "ArrayTypeName",
17963 "src": "715:9:33",
17964 "typeDescriptions": {
17965 "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
17966 "typeString": "bytes32[]"
17967 }
17968 },
17969 "value": null,
17970 "visibility": "internal"
17971 },
17972 {
17973 "constant": false,
17974 "id": 8859,
17975 "indexed": false,
17976 "name": "onchainSubscriber",
17977 "nodeType": "VariableDeclaration",
17978 "scope": 8861,
17979 "src": "749:22:33",
17980 "stateVariable": false,
17981 "storageLocation": "default",
17982 "typeDescriptions": {
17983 "typeIdentifier": "t_bool",
17984 "typeString": "bool"
17985 },
17986 "typeName": {
17987 "id": 8858,
17988 "name": "bool",
17989 "nodeType": "ElementaryTypeName",
17990 "src": "749:4:33",
17991 "typeDescriptions": {
17992 "typeIdentifier": "t_bool",
17993 "typeString": "bool"
17994 }
17995 },
17996 "value": null,
17997 "visibility": "internal"
17998 }
17999 ],
18000 "src": "559:218:33"
18001 },
18002 "src": "545:233:33"
18003 },
18004 {
18005 "anonymous": false,
18006 "documentation": null,
18007 "id": 8869,
18008 "name": "FulfillQuery",
18009 "nodeType": "EventDefinition",
18010 "parameters": {
18011 "id": 8868,
18012 "nodeType": "ParameterList",
18013 "parameters": [
18014 {
18015 "constant": false,
18016 "id": 8863,
18017 "indexed": true,
18018 "name": "subscriber",
18019 "nodeType": "VariableDeclaration",
18020 "scope": 8869,
18021 "src": "812:26:33",
18022 "stateVariable": false,
18023 "storageLocation": "default",
18024 "typeDescriptions": {
18025 "typeIdentifier": "t_address",
18026 "typeString": "address"
18027 },
18028 "typeName": {
18029 "id": 8862,
18030 "name": "address",
18031 "nodeType": "ElementaryTypeName",
18032 "src": "812:7:33",
18033 "typeDescriptions": {
18034 "typeIdentifier": "t_address",
18035 "typeString": "address"
18036 }
18037 },
18038 "value": null,
18039 "visibility": "internal"
18040 },
18041 {
18042 "constant": false,
18043 "id": 8865,
18044 "indexed": true,
18045 "name": "provider",
18046 "nodeType": "VariableDeclaration",
18047 "scope": 8869,
18048 "src": "848:24:33",
18049 "stateVariable": false,
18050 "storageLocation": "default",
18051 "typeDescriptions": {
18052 "typeIdentifier": "t_address",
18053 "typeString": "address"
18054 },
18055 "typeName": {
18056 "id": 8864,
18057 "name": "address",
18058 "nodeType": "ElementaryTypeName",
18059 "src": "848:7:33",
18060 "typeDescriptions": {
18061 "typeIdentifier": "t_address",
18062 "typeString": "address"
18063 }
18064 },
18065 "value": null,
18066 "visibility": "internal"
18067 },
18068 {
18069 "constant": false,
18070 "id": 8867,
18071 "indexed": true,
18072 "name": "endpoint",
18073 "nodeType": "VariableDeclaration",
18074 "scope": 8869,
18075 "src": "882:24:33",
18076 "stateVariable": false,
18077 "storageLocation": "default",
18078 "typeDescriptions": {
18079 "typeIdentifier": "t_bytes32",
18080 "typeString": "bytes32"
18081 },
18082 "typeName": {
18083 "id": 8866,
18084 "name": "bytes32",
18085 "nodeType": "ElementaryTypeName",
18086 "src": "882:7:33",
18087 "typeDescriptions": {
18088 "typeIdentifier": "t_bytes32",
18089 "typeString": "bytes32"
18090 }
18091 },
18092 "value": null,
18093 "visibility": "internal"
18094 }
18095 ],
18096 "src": "802:110:33"
18097 },
18098 "src": "784:129:33"
18099 },
18100 {
18101 "anonymous": false,
18102 "documentation": null,
18103 "id": 8880,
18104 "name": "OffchainResponse",
18105 "nodeType": "EventDefinition",
18106 "parameters": {
18107 "id": 8879,
18108 "nodeType": "ParameterList",
18109 "parameters": [
18110 {
18111 "constant": false,
18112 "id": 8871,
18113 "indexed": true,
18114 "name": "id",
18115 "nodeType": "VariableDeclaration",
18116 "scope": 8880,
18117 "src": "951:18:33",
18118 "stateVariable": false,
18119 "storageLocation": "default",
18120 "typeDescriptions": {
18121 "typeIdentifier": "t_uint256",
18122 "typeString": "uint256"
18123 },
18124 "typeName": {
18125 "id": 8870,
18126 "name": "uint256",
18127 "nodeType": "ElementaryTypeName",
18128 "src": "951:7:33",
18129 "typeDescriptions": {
18130 "typeIdentifier": "t_uint256",
18131 "typeString": "uint256"
18132 }
18133 },
18134 "value": null,
18135 "visibility": "internal"
18136 },
18137 {
18138 "constant": false,
18139 "id": 8873,
18140 "indexed": true,
18141 "name": "subscriber",
18142 "nodeType": "VariableDeclaration",
18143 "scope": 8880,
18144 "src": "979:26:33",
18145 "stateVariable": false,
18146 "storageLocation": "default",
18147 "typeDescriptions": {
18148 "typeIdentifier": "t_address",
18149 "typeString": "address"
18150 },
18151 "typeName": {
18152 "id": 8872,
18153 "name": "address",
18154 "nodeType": "ElementaryTypeName",
18155 "src": "979:7:33",
18156 "typeDescriptions": {
18157 "typeIdentifier": "t_address",
18158 "typeString": "address"
18159 }
18160 },
18161 "value": null,
18162 "visibility": "internal"
18163 },
18164 {
18165 "constant": false,
18166 "id": 8875,
18167 "indexed": true,
18168 "name": "provider",
18169 "nodeType": "VariableDeclaration",
18170 "scope": 8880,
18171 "src": "1015:24:33",
18172 "stateVariable": false,
18173 "storageLocation": "default",
18174 "typeDescriptions": {
18175 "typeIdentifier": "t_address",
18176 "typeString": "address"
18177 },
18178 "typeName": {
18179 "id": 8874,
18180 "name": "address",
18181 "nodeType": "ElementaryTypeName",
18182 "src": "1015:7:33",
18183 "typeDescriptions": {
18184 "typeIdentifier": "t_address",
18185 "typeString": "address"
18186 }
18187 },
18188 "value": null,
18189 "visibility": "internal"
18190 },
18191 {
18192 "constant": false,
18193 "id": 8878,
18194 "indexed": false,
18195 "name": "response",
18196 "nodeType": "VariableDeclaration",
18197 "scope": 8880,
18198 "src": "1049:18:33",
18199 "stateVariable": false,
18200 "storageLocation": "default",
18201 "typeDescriptions": {
18202 "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
18203 "typeString": "bytes32[]"
18204 },
18205 "typeName": {
18206 "baseType": {
18207 "id": 8876,
18208 "name": "bytes32",
18209 "nodeType": "ElementaryTypeName",
18210 "src": "1049:7:33",
18211 "typeDescriptions": {
18212 "typeIdentifier": "t_bytes32",
18213 "typeString": "bytes32"
18214 }
18215 },
18216 "id": 8877,
18217 "length": null,
18218 "nodeType": "ArrayTypeName",
18219 "src": "1049:9:33",
18220 "typeDescriptions": {
18221 "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
18222 "typeString": "bytes32[]"
18223 }
18224 },
18225 "value": null,
18226 "visibility": "internal"
18227 }
18228 ],
18229 "src": "941:132:33"
18230 },
18231 "src": "919:155:33"
18232 },
18233 {
18234 "anonymous": false,
18235 "documentation": null,
18236 "id": 8891,
18237 "name": "OffchainResponseInt",
18238 "nodeType": "EventDefinition",
18239 "parameters": {
18240 "id": 8890,
18241 "nodeType": "ParameterList",
18242 "parameters": [
18243 {
18244 "constant": false,
18245 "id": 8882,
18246 "indexed": true,
18247 "name": "id",
18248 "nodeType": "VariableDeclaration",
18249 "scope": 8891,
18250 "src": "1115:18:33",
18251 "stateVariable": false,
18252 "storageLocation": "default",
18253 "typeDescriptions": {
18254 "typeIdentifier": "t_uint256",
18255 "typeString": "uint256"
18256 },
18257 "typeName": {
18258 "id": 8881,
18259 "name": "uint256",
18260 "nodeType": "ElementaryTypeName",
18261 "src": "1115:7:33",
18262 "typeDescriptions": {
18263 "typeIdentifier": "t_uint256",
18264 "typeString": "uint256"
18265 }
18266 },
18267 "value": null,
18268 "visibility": "internal"
18269 },
18270 {
18271 "constant": false,
18272 "id": 8884,
18273 "indexed": true,
18274 "name": "subscriber",
18275 "nodeType": "VariableDeclaration",
18276 "scope": 8891,
18277 "src": "1143:26:33",
18278 "stateVariable": false,
18279 "storageLocation": "default",
18280 "typeDescriptions": {
18281 "typeIdentifier": "t_address",
18282 "typeString": "address"
18283 },
18284 "typeName": {
18285 "id": 8883,
18286 "name": "address",
18287 "nodeType": "ElementaryTypeName",
18288 "src": "1143:7:33",
18289 "typeDescriptions": {
18290 "typeIdentifier": "t_address",
18291 "typeString": "address"
18292 }
18293 },
18294 "value": null,
18295 "visibility": "internal"
18296 },
18297 {
18298 "constant": false,
18299 "id": 8886,
18300 "indexed": true,
18301 "name": "provider",
18302 "nodeType": "VariableDeclaration",
18303 "scope": 8891,
18304 "src": "1179:24:33",
18305 "stateVariable": false,
18306 "storageLocation": "default",
18307 "typeDescriptions": {
18308 "typeIdentifier": "t_address",
18309 "typeString": "address"
18310 },
18311 "typeName": {
18312 "id": 8885,
18313 "name": "address",
18314 "nodeType": "ElementaryTypeName",
18315 "src": "1179:7:33",
18316 "typeDescriptions": {
18317 "typeIdentifier": "t_address",
18318 "typeString": "address"
18319 }
18320 },
18321 "value": null,
18322 "visibility": "internal"
18323 },
18324 {
18325 "constant": false,
18326 "id": 8889,
18327 "indexed": false,
18328 "name": "response",
18329 "nodeType": "VariableDeclaration",
18330 "scope": 8891,
18331 "src": "1213:14:33",
18332 "stateVariable": false,
18333 "storageLocation": "default",
18334 "typeDescriptions": {
18335 "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr",
18336 "typeString": "int256[]"
18337 },
18338 "typeName": {
18339 "baseType": {
18340 "id": 8887,
18341 "name": "int",
18342 "nodeType": "ElementaryTypeName",
18343 "src": "1213:3:33",
18344 "typeDescriptions": {
18345 "typeIdentifier": "t_int256",
18346 "typeString": "int256"
18347 }
18348 },
18349 "id": 8888,
18350 "length": null,
18351 "nodeType": "ArrayTypeName",
18352 "src": "1213:5:33",
18353 "typeDescriptions": {
18354 "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr",
18355 "typeString": "int256[]"
18356 }
18357 },
18358 "value": null,
18359 "visibility": "internal"
18360 }
18361 ],
18362 "src": "1105:128:33"
18363 },
18364 "src": "1080:154:33"
18365 },
18366 {
18367 "anonymous": false,
18368 "documentation": null,
18369 "id": 8901,
18370 "name": "OffchainResult1",
18371 "nodeType": "EventDefinition",
18372 "parameters": {
18373 "id": 8900,
18374 "nodeType": "ParameterList",
18375 "parameters": [
18376 {
18377 "constant": false,
18378 "id": 8893,
18379 "indexed": true,
18380 "name": "id",
18381 "nodeType": "VariableDeclaration",
18382 "scope": 8901,
18383 "src": "1271:18:33",
18384 "stateVariable": false,
18385 "storageLocation": "default",
18386 "typeDescriptions": {
18387 "typeIdentifier": "t_uint256",
18388 "typeString": "uint256"
18389 },
18390 "typeName": {
18391 "id": 8892,
18392 "name": "uint256",
18393 "nodeType": "ElementaryTypeName",
18394 "src": "1271:7:33",
18395 "typeDescriptions": {
18396 "typeIdentifier": "t_uint256",
18397 "typeString": "uint256"
18398 }
18399 },
18400 "value": null,
18401 "visibility": "internal"
18402 },
18403 {
18404 "constant": false,
18405 "id": 8895,
18406 "indexed": true,
18407 "name": "subscriber",
18408 "nodeType": "VariableDeclaration",
18409 "scope": 8901,
18410 "src": "1299:26:33",
18411 "stateVariable": false,
18412 "storageLocation": "default",
18413 "typeDescriptions": {
18414 "typeIdentifier": "t_address",
18415 "typeString": "address"
18416 },
18417 "typeName": {
18418 "id": 8894,
18419 "name": "address",
18420 "nodeType": "ElementaryTypeName",
18421 "src": "1299:7:33",
18422 "typeDescriptions": {
18423 "typeIdentifier": "t_address",
18424 "typeString": "address"
18425 }
18426 },
18427 "value": null,
18428 "visibility": "internal"
18429 },
18430 {
18431 "constant": false,
18432 "id": 8897,
18433 "indexed": true,
18434 "name": "provider",
18435 "nodeType": "VariableDeclaration",
18436 "scope": 8901,
18437 "src": "1335:24:33",
18438 "stateVariable": false,
18439 "storageLocation": "default",
18440 "typeDescriptions": {
18441 "typeIdentifier": "t_address",
18442 "typeString": "address"
18443 },
18444 "typeName": {
18445 "id": 8896,
18446 "name": "address",
18447 "nodeType": "ElementaryTypeName",
18448 "src": "1335:7:33",
18449 "typeDescriptions": {
18450 "typeIdentifier": "t_address",
18451 "typeString": "address"
18452 }
18453 },
18454 "value": null,
18455 "visibility": "internal"
18456 },
18457 {
18458 "constant": false,
18459 "id": 8899,
18460 "indexed": false,
18461 "name": "response1",
18462 "nodeType": "VariableDeclaration",
18463 "scope": 8901,
18464 "src": "1369:16:33",
18465 "stateVariable": false,
18466 "storageLocation": "default",
18467 "typeDescriptions": {
18468 "typeIdentifier": "t_string_memory_ptr",
18469 "typeString": "string"
18470 },
18471 "typeName": {
18472 "id": 8898,
18473 "name": "string",
18474 "nodeType": "ElementaryTypeName",
18475 "src": "1369:6:33",
18476 "typeDescriptions": {
18477 "typeIdentifier": "t_string_storage_ptr",
18478 "typeString": "string"
18479 }
18480 },
18481 "value": null,
18482 "visibility": "internal"
18483 }
18484 ],
18485 "src": "1261:130:33"
18486 },
18487 "src": "1240:152:33"
18488 },
18489 {
18490 "anonymous": false,
18491 "documentation": null,
18492 "id": 8913,
18493 "name": "OffchainResult2",
18494 "nodeType": "EventDefinition",
18495 "parameters": {
18496 "id": 8912,
18497 "nodeType": "ParameterList",
18498 "parameters": [
18499 {
18500 "constant": false,
18501 "id": 8903,
18502 "indexed": true,
18503 "name": "id",
18504 "nodeType": "VariableDeclaration",
18505 "scope": 8913,
18506 "src": "1429:18:33",
18507 "stateVariable": false,
18508 "storageLocation": "default",
18509 "typeDescriptions": {
18510 "typeIdentifier": "t_uint256",
18511 "typeString": "uint256"
18512 },
18513 "typeName": {
18514 "id": 8902,
18515 "name": "uint256",
18516 "nodeType": "ElementaryTypeName",
18517 "src": "1429:7:33",
18518 "typeDescriptions": {
18519 "typeIdentifier": "t_uint256",
18520 "typeString": "uint256"
18521 }
18522 },
18523 "value": null,
18524 "visibility": "internal"
18525 },
18526 {
18527 "constant": false,
18528 "id": 8905,
18529 "indexed": true,
18530 "name": "subscriber",
18531 "nodeType": "VariableDeclaration",
18532 "scope": 8913,
18533 "src": "1457:26:33",
18534 "stateVariable": false,
18535 "storageLocation": "default",
18536 "typeDescriptions": {
18537 "typeIdentifier": "t_address",
18538 "typeString": "address"
18539 },
18540 "typeName": {
18541 "id": 8904,
18542 "name": "address",
18543 "nodeType": "ElementaryTypeName",
18544 "src": "1457:7:33",
18545 "typeDescriptions": {
18546 "typeIdentifier": "t_address",
18547 "typeString": "address"
18548 }
18549 },
18550 "value": null,
18551 "visibility": "internal"
18552 },
18553 {
18554 "constant": false,
18555 "id": 8907,
18556 "indexed": true,
18557 "name": "provider",
18558 "nodeType": "VariableDeclaration",
18559 "scope": 8913,
18560 "src": "1493:24:33",
18561 "stateVariable": false,
18562 "storageLocation": "default",
18563 "typeDescriptions": {
18564 "typeIdentifier": "t_address",
18565 "typeString": "address"
18566 },
18567 "typeName": {
18568 "id": 8906,
18569 "name": "address",
18570 "nodeType": "ElementaryTypeName",
18571 "src": "1493:7:33",
18572 "typeDescriptions": {
18573 "typeIdentifier": "t_address",
18574 "typeString": "address"
18575 }
18576 },
18577 "value": null,
18578 "visibility": "internal"
18579 },
18580 {
18581 "constant": false,
18582 "id": 8909,
18583 "indexed": false,
18584 "name": "response1",
18585 "nodeType": "VariableDeclaration",
18586 "scope": 8913,
18587 "src": "1527:16:33",
18588 "stateVariable": false,
18589 "storageLocation": "default",
18590 "typeDescriptions": {
18591 "typeIdentifier": "t_string_memory_ptr",
18592 "typeString": "string"
18593 },
18594 "typeName": {
18595 "id": 8908,
18596 "name": "string",
18597 "nodeType": "ElementaryTypeName",
18598 "src": "1527:6:33",
18599 "typeDescriptions": {
18600 "typeIdentifier": "t_string_storage_ptr",
18601 "typeString": "string"
18602 }
18603 },
18604 "value": null,
18605 "visibility": "internal"
18606 },
18607 {
18608 "constant": false,
18609 "id": 8911,
18610 "indexed": false,
18611 "name": "response2",
18612 "nodeType": "VariableDeclaration",
18613 "scope": 8913,
18614 "src": "1553:16:33",
18615 "stateVariable": false,
18616 "storageLocation": "default",
18617 "typeDescriptions": {
18618 "typeIdentifier": "t_string_memory_ptr",
18619 "typeString": "string"
18620 },
18621 "typeName": {
18622 "id": 8910,
18623 "name": "string",
18624 "nodeType": "ElementaryTypeName",
18625 "src": "1553:6:33",
18626 "typeDescriptions": {
18627 "typeIdentifier": "t_string_storage_ptr",
18628 "typeString": "string"
18629 }
18630 },
18631 "value": null,
18632 "visibility": "internal"
18633 }
18634 ],
18635 "src": "1419:156:33"
18636 },
18637 "src": "1398:178:33"
18638 },
18639 {
18640 "anonymous": false,
18641 "documentation": null,
18642 "id": 8927,
18643 "name": "OffchainResult3",
18644 "nodeType": "EventDefinition",
18645 "parameters": {
18646 "id": 8926,
18647 "nodeType": "ParameterList",
18648 "parameters": [
18649 {
18650 "constant": false,
18651 "id": 8915,
18652 "indexed": true,
18653 "name": "id",
18654 "nodeType": "VariableDeclaration",
18655 "scope": 8927,
18656 "src": "1613:18:33",
18657 "stateVariable": false,
18658 "storageLocation": "default",
18659 "typeDescriptions": {
18660 "typeIdentifier": "t_uint256",
18661 "typeString": "uint256"
18662 },
18663 "typeName": {
18664 "id": 8914,
18665 "name": "uint256",
18666 "nodeType": "ElementaryTypeName",
18667 "src": "1613:7:33",
18668 "typeDescriptions": {
18669 "typeIdentifier": "t_uint256",
18670 "typeString": "uint256"
18671 }
18672 },
18673 "value": null,
18674 "visibility": "internal"
18675 },
18676 {
18677 "constant": false,
18678 "id": 8917,
18679 "indexed": true,
18680 "name": "subscriber",
18681 "nodeType": "VariableDeclaration",
18682 "scope": 8927,
18683 "src": "1641:26:33",
18684 "stateVariable": false,
18685 "storageLocation": "default",
18686 "typeDescriptions": {
18687 "typeIdentifier": "t_address",
18688 "typeString": "address"
18689 },
18690 "typeName": {
18691 "id": 8916,
18692 "name": "address",
18693 "nodeType": "ElementaryTypeName",
18694 "src": "1641:7:33",
18695 "typeDescriptions": {
18696 "typeIdentifier": "t_address",
18697 "typeString": "address"
18698 }
18699 },
18700 "value": null,
18701 "visibility": "internal"
18702 },
18703 {
18704 "constant": false,
18705 "id": 8919,
18706 "indexed": true,
18707 "name": "provider",
18708 "nodeType": "VariableDeclaration",
18709 "scope": 8927,
18710 "src": "1677:24:33",
18711 "stateVariable": false,
18712 "storageLocation": "default",
18713 "typeDescriptions": {
18714 "typeIdentifier": "t_address",
18715 "typeString": "address"
18716 },
18717 "typeName": {
18718 "id": 8918,
18719 "name": "address",
18720 "nodeType": "ElementaryTypeName",
18721 "src": "1677:7:33",
18722 "typeDescriptions": {
18723 "typeIdentifier": "t_address",
18724 "typeString": "address"
18725 }
18726 },
18727 "value": null,
18728 "visibility": "internal"
18729 },
18730 {
18731 "constant": false,
18732 "id": 8921,
18733 "indexed": false,
18734 "name": "response1",
18735 "nodeType": "VariableDeclaration",
18736 "scope": 8927,
18737 "src": "1711:16:33",
18738 "stateVariable": false,
18739 "storageLocation": "default",
18740 "typeDescriptions": {
18741 "typeIdentifier": "t_string_memory_ptr",
18742 "typeString": "string"
18743 },
18744 "typeName": {
18745 "id": 8920,
18746 "name": "string",
18747 "nodeType": "ElementaryTypeName",
18748 "src": "1711:6:33",
18749 "typeDescriptions": {
18750 "typeIdentifier": "t_string_storage_ptr",
18751 "typeString": "string"
18752 }
18753 },
18754 "value": null,
18755 "visibility": "internal"
18756 },
18757 {
18758 "constant": false,
18759 "id": 8923,
18760 "indexed": false,
18761 "name": "response2",
18762 "nodeType": "VariableDeclaration",
18763 "scope": 8927,
18764 "src": "1737:16:33",
18765 "stateVariable": false,
18766 "storageLocation": "default",
18767 "typeDescriptions": {
18768 "typeIdentifier": "t_string_memory_ptr",
18769 "typeString": "string"
18770 },
18771 "typeName": {
18772 "id": 8922,
18773 "name": "string",
18774 "nodeType": "ElementaryTypeName",
18775 "src": "1737:6:33",
18776 "typeDescriptions": {
18777 "typeIdentifier": "t_string_storage_ptr",
18778 "typeString": "string"
18779 }
18780 },
18781 "value": null,
18782 "visibility": "internal"
18783 },
18784 {
18785 "constant": false,
18786 "id": 8925,
18787 "indexed": false,
18788 "name": "response3",
18789 "nodeType": "VariableDeclaration",
18790 "scope": 8927,
18791 "src": "1763:16:33",
18792 "stateVariable": false,
18793 "storageLocation": "default",
18794 "typeDescriptions": {
18795 "typeIdentifier": "t_string_memory_ptr",
18796 "typeString": "string"
18797 },
18798 "typeName": {
18799 "id": 8924,
18800 "name": "string",
18801 "nodeType": "ElementaryTypeName",
18802 "src": "1763:6:33",
18803 "typeDescriptions": {
18804 "typeIdentifier": "t_string_storage_ptr",
18805 "typeString": "string"
18806 }
18807 },
18808 "value": null,
18809 "visibility": "internal"
18810 }
18811 ],
18812 "src": "1603:182:33"
18813 },
18814 "src": "1582:204:33"
18815 },
18816 {
18817 "anonymous": false,
18818 "documentation": null,
18819 "id": 8943,
18820 "name": "OffchainResult4",
18821 "nodeType": "EventDefinition",
18822 "parameters": {
18823 "id": 8942,
18824 "nodeType": "ParameterList",
18825 "parameters": [
18826 {
18827 "constant": false,
18828 "id": 8929,
18829 "indexed": true,
18830 "name": "id",
18831 "nodeType": "VariableDeclaration",
18832 "scope": 8943,
18833 "src": "1823:18:33",
18834 "stateVariable": false,
18835 "storageLocation": "default",
18836 "typeDescriptions": {
18837 "typeIdentifier": "t_uint256",
18838 "typeString": "uint256"
18839 },
18840 "typeName": {
18841 "id": 8928,
18842 "name": "uint256",
18843 "nodeType": "ElementaryTypeName",
18844 "src": "1823:7:33",
18845 "typeDescriptions": {
18846 "typeIdentifier": "t_uint256",
18847 "typeString": "uint256"
18848 }
18849 },
18850 "value": null,
18851 "visibility": "internal"
18852 },
18853 {
18854 "constant": false,
18855 "id": 8931,
18856 "indexed": true,
18857 "name": "subscriber",
18858 "nodeType": "VariableDeclaration",
18859 "scope": 8943,
18860 "src": "1851:26:33",
18861 "stateVariable": false,
18862 "storageLocation": "default",
18863 "typeDescriptions": {
18864 "typeIdentifier": "t_address",
18865 "typeString": "address"
18866 },
18867 "typeName": {
18868 "id": 8930,
18869 "name": "address",
18870 "nodeType": "ElementaryTypeName",
18871 "src": "1851:7:33",
18872 "typeDescriptions": {
18873 "typeIdentifier": "t_address",
18874 "typeString": "address"
18875 }
18876 },
18877 "value": null,
18878 "visibility": "internal"
18879 },
18880 {
18881 "constant": false,
18882 "id": 8933,
18883 "indexed": true,
18884 "name": "provider",
18885 "nodeType": "VariableDeclaration",
18886 "scope": 8943,
18887 "src": "1887:24:33",
18888 "stateVariable": false,
18889 "storageLocation": "default",
18890 "typeDescriptions": {
18891 "typeIdentifier": "t_address",
18892 "typeString": "address"
18893 },
18894 "typeName": {
18895 "id": 8932,
18896 "name": "address",
18897 "nodeType": "ElementaryTypeName",
18898 "src": "1887:7:33",
18899 "typeDescriptions": {
18900 "typeIdentifier": "t_address",
18901 "typeString": "address"
18902 }
18903 },
18904 "value": null,
18905 "visibility": "internal"
18906 },
18907 {
18908 "constant": false,
18909 "id": 8935,
18910 "indexed": false,
18911 "name": "response1",
18912 "nodeType": "VariableDeclaration",
18913 "scope": 8943,
18914 "src": "1921:16:33",
18915 "stateVariable": false,
18916 "storageLocation": "default",
18917 "typeDescriptions": {
18918 "typeIdentifier": "t_string_memory_ptr",
18919 "typeString": "string"
18920 },
18921 "typeName": {
18922 "id": 8934,
18923 "name": "string",
18924 "nodeType": "ElementaryTypeName",
18925 "src": "1921:6:33",
18926 "typeDescriptions": {
18927 "typeIdentifier": "t_string_storage_ptr",
18928 "typeString": "string"
18929 }
18930 },
18931 "value": null,
18932 "visibility": "internal"
18933 },
18934 {
18935 "constant": false,
18936 "id": 8937,
18937 "indexed": false,
18938 "name": "response2",
18939 "nodeType": "VariableDeclaration",
18940 "scope": 8943,
18941 "src": "1947:16:33",
18942 "stateVariable": false,
18943 "storageLocation": "default",
18944 "typeDescriptions": {
18945 "typeIdentifier": "t_string_memory_ptr",
18946 "typeString": "string"
18947 },
18948 "typeName": {
18949 "id": 8936,
18950 "name": "string",
18951 "nodeType": "ElementaryTypeName",
18952 "src": "1947:6:33",
18953 "typeDescriptions": {
18954 "typeIdentifier": "t_string_storage_ptr",
18955 "typeString": "string"
18956 }
18957 },
18958 "value": null,
18959 "visibility": "internal"
18960 },
18961 {
18962 "constant": false,
18963 "id": 8939,
18964 "indexed": false,
18965 "name": "response3",
18966 "nodeType": "VariableDeclaration",
18967 "scope": 8943,
18968 "src": "1973:16:33",
18969 "stateVariable": false,
18970 "storageLocation": "default",
18971 "typeDescriptions": {
18972 "typeIdentifier": "t_string_memory_ptr",
18973 "typeString": "string"
18974 },
18975 "typeName": {
18976 "id": 8938,
18977 "name": "string",
18978 "nodeType": "ElementaryTypeName",
18979 "src": "1973:6:33",
18980 "typeDescriptions": {
18981 "typeIdentifier": "t_string_storage_ptr",
18982 "typeString": "string"
18983 }
18984 },
18985 "value": null,
18986 "visibility": "internal"
18987 },
18988 {
18989 "constant": false,
18990 "id": 8941,
18991 "indexed": false,
18992 "name": "response4",
18993 "nodeType": "VariableDeclaration",
18994 "scope": 8943,
18995 "src": "1999:16:33",
18996 "stateVariable": false,
18997 "storageLocation": "default",
18998 "typeDescriptions": {
18999 "typeIdentifier": "t_string_memory_ptr",
19000 "typeString": "string"
19001 },
19002 "typeName": {
19003 "id": 8940,
19004 "name": "string",
19005 "nodeType": "ElementaryTypeName",
19006 "src": "1999:6:33",
19007 "typeDescriptions": {
19008 "typeIdentifier": "t_string_storage_ptr",
19009 "typeString": "string"
19010 }
19011 },
19012 "value": null,
19013 "visibility": "internal"
19014 }
19015 ],
19016 "src": "1813:208:33"
19017 },
19018 "src": "1792:230:33"
19019 },
19020 {
19021 "anonymous": false,
19022 "documentation": null,
19023 "id": 8951,
19024 "name": "CanceledRequest",
19025 "nodeType": "EventDefinition",
19026 "parameters": {
19027 "id": 8950,
19028 "nodeType": "ParameterList",
19029 "parameters": [
19030 {
19031 "constant": false,
19032 "id": 8945,
19033 "indexed": true,
19034 "name": "id",
19035 "nodeType": "VariableDeclaration",
19036 "scope": 8951,
19037 "src": "2059:18:33",
19038 "stateVariable": false,
19039 "storageLocation": "default",
19040 "typeDescriptions": {
19041 "typeIdentifier": "t_uint256",
19042 "typeString": "uint256"
19043 },
19044 "typeName": {
19045 "id": 8944,
19046 "name": "uint256",
19047 "nodeType": "ElementaryTypeName",
19048 "src": "2059:7:33",
19049 "typeDescriptions": {
19050 "typeIdentifier": "t_uint256",
19051 "typeString": "uint256"
19052 }
19053 },
19054 "value": null,
19055 "visibility": "internal"
19056 },
19057 {
19058 "constant": false,
19059 "id": 8947,
19060 "indexed": true,
19061 "name": "subscriber",
19062 "nodeType": "VariableDeclaration",
19063 "scope": 8951,
19064 "src": "2087:26:33",
19065 "stateVariable": false,
19066 "storageLocation": "default",
19067 "typeDescriptions": {
19068 "typeIdentifier": "t_address",
19069 "typeString": "address"
19070 },
19071 "typeName": {
19072 "id": 8946,
19073 "name": "address",
19074 "nodeType": "ElementaryTypeName",
19075 "src": "2087:7:33",
19076 "typeDescriptions": {
19077 "typeIdentifier": "t_address",
19078 "typeString": "address"
19079 }
19080 },
19081 "value": null,
19082 "visibility": "internal"
19083 },
19084 {
19085 "constant": false,
19086 "id": 8949,
19087 "indexed": true,
19088 "name": "provider",
19089 "nodeType": "VariableDeclaration",
19090 "scope": 8951,
19091 "src": "2123:24:33",
19092 "stateVariable": false,
19093 "storageLocation": "default",
19094 "typeDescriptions": {
19095 "typeIdentifier": "t_address",
19096 "typeString": "address"
19097 },
19098 "typeName": {
19099 "id": 8948,
19100 "name": "address",
19101 "nodeType": "ElementaryTypeName",
19102 "src": "2123:7:33",
19103 "typeDescriptions": {
19104 "typeIdentifier": "t_address",
19105 "typeString": "address"
19106 }
19107 },
19108 "value": null,
19109 "visibility": "internal"
19110 }
19111 ],
19112 "src": "2049:104:33"
19113 },
19114 "src": "2028:126:33"
19115 },
19116 {
19117 "anonymous": false,
19118 "documentation": null,
19119 "id": 8959,
19120 "name": "RevertCancelation",
19121 "nodeType": "EventDefinition",
19122 "parameters": {
19123 "id": 8958,
19124 "nodeType": "ParameterList",
19125 "parameters": [
19126 {
19127 "constant": false,
19128 "id": 8953,
19129 "indexed": true,
19130 "name": "id",
19131 "nodeType": "VariableDeclaration",
19132 "scope": 8959,
19133 "src": "2193:18:33",
19134 "stateVariable": false,
19135 "storageLocation": "default",
19136 "typeDescriptions": {
19137 "typeIdentifier": "t_uint256",
19138 "typeString": "uint256"
19139 },
19140 "typeName": {
19141 "id": 8952,
19142 "name": "uint256",
19143 "nodeType": "ElementaryTypeName",
19144 "src": "2193:7:33",
19145 "typeDescriptions": {
19146 "typeIdentifier": "t_uint256",
19147 "typeString": "uint256"
19148 }
19149 },
19150 "value": null,
19151 "visibility": "internal"
19152 },
19153 {
19154 "constant": false,
19155 "id": 8955,
19156 "indexed": true,
19157 "name": "subscriber",
19158 "nodeType": "VariableDeclaration",
19159 "scope": 8959,
19160 "src": "2221:26:33",
19161 "stateVariable": false,
19162 "storageLocation": "default",
19163 "typeDescriptions": {
19164 "typeIdentifier": "t_address",
19165 "typeString": "address"
19166 },
19167 "typeName": {
19168 "id": 8954,
19169 "name": "address",
19170 "nodeType": "ElementaryTypeName",
19171 "src": "2221:7:33",
19172 "typeDescriptions": {
19173 "typeIdentifier": "t_address",
19174 "typeString": "address"
19175 }
19176 },
19177 "value": null,
19178 "visibility": "internal"
19179 },
19180 {
19181 "constant": false,
19182 "id": 8957,
19183 "indexed": true,
19184 "name": "provider",
19185 "nodeType": "VariableDeclaration",
19186 "scope": 8959,
19187 "src": "2257:24:33",
19188 "stateVariable": false,
19189 "storageLocation": "default",
19190 "typeDescriptions": {
19191 "typeIdentifier": "t_address",
19192 "typeString": "address"
19193 },
19194 "typeName": {
19195 "id": 8956,
19196 "name": "address",
19197 "nodeType": "ElementaryTypeName",
19198 "src": "2257:7:33",
19199 "typeDescriptions": {
19200 "typeIdentifier": "t_address",
19201 "typeString": "address"
19202 }
19203 },
19204 "value": null,
19205 "visibility": "internal"
19206 }
19207 ],
19208 "src": "2183:104:33"
19209 },
19210 "src": "2160:128:33"
19211 },
19212 {
19213 "constant": false,
19214 "id": 8961,
19215 "name": "bondage",
19216 "nodeType": "VariableDeclaration",
19217 "scope": 10008,
19218 "src": "2294:31:33",
19219 "stateVariable": true,
19220 "storageLocation": "default",
19221 "typeDescriptions": {
19222 "typeIdentifier": "t_contract$_BondageInterface_$7926",
19223 "typeString": "contract BondageInterface"
19224 },
19225 "typeName": {
19226 "contractScope": null,
19227 "id": 8960,
19228 "name": "BondageInterface",
19229 "nodeType": "UserDefinedTypeName",
19230 "referencedDeclaration": 7926,
19231 "src": "2294:16:33",
19232 "typeDescriptions": {
19233 "typeIdentifier": "t_contract$_BondageInterface_$7926",
19234 "typeString": "contract BondageInterface"
19235 }
19236 },
19237 "value": null,
19238 "visibility": "public"
19239 },
19240 {
19241 "constant": false,
19242 "id": 8963,
19243 "name": "bondageAddress",
19244 "nodeType": "VariableDeclaration",
19245 "scope": 10008,
19246 "src": "2331:29:33",
19247 "stateVariable": true,
19248 "storageLocation": "default",
19249 "typeDescriptions": {
19250 "typeIdentifier": "t_address",
19251 "typeString": "address"
19252 },
19253 "typeName": {
19254 "id": 8962,
19255 "name": "address",
19256 "nodeType": "ElementaryTypeName",
19257 "src": "2331:7:33",
19258 "typeDescriptions": {
19259 "typeIdentifier": "t_address",
19260 "typeString": "address"
19261 }
19262 },
19263 "value": null,
19264 "visibility": "public"
19265 },
19266 {
19267 "constant": false,
19268 "id": 8965,
19269 "name": "db",
19270 "nodeType": "VariableDeclaration",
19271 "scope": 10008,
19272 "src": "2367:27:33",
19273 "stateVariable": true,
19274 "storageLocation": "default",
19275 "typeDescriptions": {
19276 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
19277 "typeString": "contract DatabaseInterface"
19278 },
19279 "typeName": {
19280 "contractScope": null,
19281 "id": 8964,
19282 "name": "DatabaseInterface",
19283 "nodeType": "UserDefinedTypeName",
19284 "referencedDeclaration": 8825,
19285 "src": "2367:17:33",
19286 "typeDescriptions": {
19287 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
19288 "typeString": "contract DatabaseInterface"
19289 }
19290 },
19291 "value": null,
19292 "visibility": "public"
19293 },
19294 {
19295 "body": {
19296 "id": 8973,
19297 "nodeType": "Block",
19298 "src": "2445:40:33",
19299 "statements": []
19300 },
19301 "documentation": null,
19302 "id": 8974,
19303 "implemented": true,
19304 "isConstructor": true,
19305 "isDeclaredConst": false,
19306 "modifiers": [
19307 {
19308 "arguments": [
19309 {
19310 "argumentTypes": null,
19311 "id": 8970,
19312 "name": "c",
19313 "nodeType": "Identifier",
19314 "overloadedDeclarations": [],
19315 "referencedDeclaration": 8967,
19316 "src": "2435:1:33",
19317 "typeDescriptions": {
19318 "typeIdentifier": "t_address",
19319 "typeString": "address"
19320 }
19321 }
19322 ],
19323 "id": 8971,
19324 "modifierName": {
19325 "argumentTypes": null,
19326 "id": 8969,
19327 "name": "Upgradable",
19328 "nodeType": "Identifier",
19329 "overloadedDeclarations": [],
19330 "referencedDeclaration": 251,
19331 "src": "2424:10:33",
19332 "typeDescriptions": {
19333 "typeIdentifier": "t_type$_t_contract$_Upgradable_$251_$",
19334 "typeString": "type(contract Upgradable)"
19335 }
19336 },
19337 "nodeType": "ModifierInvocation",
19338 "src": "2424:13:33"
19339 }
19340 ],
19341 "name": "",
19342 "nodeType": "FunctionDefinition",
19343 "parameters": {
19344 "id": 8968,
19345 "nodeType": "ParameterList",
19346 "parameters": [
19347 {
19348 "constant": false,
19349 "id": 8967,
19350 "name": "c",
19351 "nodeType": "VariableDeclaration",
19352 "scope": 8974,
19353 "src": "2413:9:33",
19354 "stateVariable": false,
19355 "storageLocation": "default",
19356 "typeDescriptions": {
19357 "typeIdentifier": "t_address",
19358 "typeString": "address"
19359 },
19360 "typeName": {
19361 "id": 8966,
19362 "name": "address",
19363 "nodeType": "ElementaryTypeName",
19364 "src": "2413:7:33",
19365 "typeDescriptions": {
19366 "typeIdentifier": "t_address",
19367 "typeString": "address"
19368 }
19369 },
19370 "value": null,
19371 "visibility": "internal"
19372 }
19373 ],
19374 "src": "2412:11:33"
19375 },
19376 "payable": false,
19377 "returnParameters": {
19378 "id": 8972,
19379 "nodeType": "ParameterList",
19380 "parameters": [],
19381 "src": "2445:0:33"
19382 },
19383 "scope": 10008,
19384 "src": "2401:84:33",
19385 "stateMutability": "nonpayable",
19386 "superFunction": null,
19387 "visibility": "public"
19388 },
19389 {
19390 "body": {
19391 "id": 9003,
19392 "nodeType": "Block",
19393 "src": "2531:241:33",
19394 "statements": [
19395 {
19396 "assignments": [
19397 8978
19398 ],
19399 "declarations": [
19400 {
19401 "constant": false,
19402 "id": 8978,
19403 "name": "databaseAddress",
19404 "nodeType": "VariableDeclaration",
19405 "scope": 9004,
19406 "src": "2541:23:33",
19407 "stateVariable": false,
19408 "storageLocation": "default",
19409 "typeDescriptions": {
19410 "typeIdentifier": "t_address",
19411 "typeString": "address"
19412 },
19413 "typeName": {
19414 "id": 8977,
19415 "name": "address",
19416 "nodeType": "ElementaryTypeName",
19417 "src": "2541:7:33",
19418 "typeDescriptions": {
19419 "typeIdentifier": "t_address",
19420 "typeString": "address"
19421 }
19422 },
19423 "value": null,
19424 "visibility": "internal"
19425 }
19426 ],
19427 "id": 8983,
19428 "initialValue": {
19429 "argumentTypes": null,
19430 "arguments": [
19431 {
19432 "argumentTypes": null,
19433 "hexValue": "4441544142415345",
19434 "id": 8981,
19435 "isConstant": false,
19436 "isLValue": false,
19437 "isPure": true,
19438 "kind": "string",
19439 "lValueRequested": false,
19440 "nodeType": "Literal",
19441 "src": "2591:10:33",
19442 "subdenomination": null,
19443 "typeDescriptions": {
19444 "typeIdentifier": "t_stringliteral_6d9edc57e54c810082cdbb84850c38c87962345930465f6145aa008b22c9ae62",
19445 "typeString": "literal_string \"DATABASE\""
19446 },
19447 "value": "DATABASE"
19448 }
19449 ],
19450 "expression": {
19451 "argumentTypes": [
19452 {
19453 "typeIdentifier": "t_stringliteral_6d9edc57e54c810082cdbb84850c38c87962345930465f6145aa008b22c9ae62",
19454 "typeString": "literal_string \"DATABASE\""
19455 }
19456 ],
19457 "expression": {
19458 "argumentTypes": null,
19459 "id": 8979,
19460 "name": "coordinator",
19461 "nodeType": "Identifier",
19462 "overloadedDeclarations": [],
19463 "referencedDeclaration": 210,
19464 "src": "2567:11:33",
19465 "typeDescriptions": {
19466 "typeIdentifier": "t_contract$_ZapCoordinatorInterface_$493",
19467 "typeString": "contract ZapCoordinatorInterface"
19468 }
19469 },
19470 "id": 8980,
19471 "isConstant": false,
19472 "isLValue": false,
19473 "isPure": false,
19474 "lValueRequested": false,
19475 "memberName": "getContract",
19476 "nodeType": "MemberAccess",
19477 "referencedDeclaration": 489,
19478 "src": "2567:23:33",
19479 "typeDescriptions": {
19480 "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$",
19481 "typeString": "function (string memory) view external returns (address)"
19482 }
19483 },
19484 "id": 8982,
19485 "isConstant": false,
19486 "isLValue": false,
19487 "isPure": false,
19488 "kind": "functionCall",
19489 "lValueRequested": false,
19490 "names": [],
19491 "nodeType": "FunctionCall",
19492 "src": "2567:35:33",
19493 "typeDescriptions": {
19494 "typeIdentifier": "t_address",
19495 "typeString": "address"
19496 }
19497 },
19498 "nodeType": "VariableDeclarationStatement",
19499 "src": "2541:61:33"
19500 },
19501 {
19502 "expression": {
19503 "argumentTypes": null,
19504 "id": 8988,
19505 "isConstant": false,
19506 "isLValue": false,
19507 "isPure": false,
19508 "lValueRequested": false,
19509 "leftHandSide": {
19510 "argumentTypes": null,
19511 "id": 8984,
19512 "name": "db",
19513 "nodeType": "Identifier",
19514 "overloadedDeclarations": [],
19515 "referencedDeclaration": 8965,
19516 "src": "2612:2:33",
19517 "typeDescriptions": {
19518 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
19519 "typeString": "contract DatabaseInterface"
19520 }
19521 },
19522 "nodeType": "Assignment",
19523 "operator": "=",
19524 "rightHandSide": {
19525 "argumentTypes": null,
19526 "arguments": [
19527 {
19528 "argumentTypes": null,
19529 "id": 8986,
19530 "name": "databaseAddress",
19531 "nodeType": "Identifier",
19532 "overloadedDeclarations": [],
19533 "referencedDeclaration": 8978,
19534 "src": "2635:15:33",
19535 "typeDescriptions": {
19536 "typeIdentifier": "t_address",
19537 "typeString": "address"
19538 }
19539 }
19540 ],
19541 "expression": {
19542 "argumentTypes": [
19543 {
19544 "typeIdentifier": "t_address",
19545 "typeString": "address"
19546 }
19547 ],
19548 "id": 8985,
19549 "name": "DatabaseInterface",
19550 "nodeType": "Identifier",
19551 "overloadedDeclarations": [],
19552 "referencedDeclaration": 8825,
19553 "src": "2617:17:33",
19554 "typeDescriptions": {
19555 "typeIdentifier": "t_type$_t_contract$_DatabaseInterface_$8825_$",
19556 "typeString": "type(contract DatabaseInterface)"
19557 }
19558 },
19559 "id": 8987,
19560 "isConstant": false,
19561 "isLValue": false,
19562 "isPure": false,
19563 "kind": "typeConversion",
19564 "lValueRequested": false,
19565 "names": [],
19566 "nodeType": "FunctionCall",
19567 "src": "2617:34:33",
19568 "typeDescriptions": {
19569 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
19570 "typeString": "contract DatabaseInterface"
19571 }
19572 },
19573 "src": "2612:39:33",
19574 "typeDescriptions": {
19575 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
19576 "typeString": "contract DatabaseInterface"
19577 }
19578 },
19579 "id": 8989,
19580 "nodeType": "ExpressionStatement",
19581 "src": "2612:39:33"
19582 },
19583 {
19584 "expression": {
19585 "argumentTypes": null,
19586 "id": 8995,
19587 "isConstant": false,
19588 "isLValue": false,
19589 "isPure": false,
19590 "lValueRequested": false,
19591 "leftHandSide": {
19592 "argumentTypes": null,
19593 "id": 8990,
19594 "name": "bondageAddress",
19595 "nodeType": "Identifier",
19596 "overloadedDeclarations": [],
19597 "referencedDeclaration": 8963,
19598 "src": "2662:14:33",
19599 "typeDescriptions": {
19600 "typeIdentifier": "t_address",
19601 "typeString": "address"
19602 }
19603 },
19604 "nodeType": "Assignment",
19605 "operator": "=",
19606 "rightHandSide": {
19607 "argumentTypes": null,
19608 "arguments": [
19609 {
19610 "argumentTypes": null,
19611 "hexValue": "424f4e44414745",
19612 "id": 8993,
19613 "isConstant": false,
19614 "isLValue": false,
19615 "isPure": true,
19616 "kind": "string",
19617 "lValueRequested": false,
19618 "nodeType": "Literal",
19619 "src": "2703:9:33",
19620 "subdenomination": null,
19621 "typeDescriptions": {
19622 "typeIdentifier": "t_stringliteral_8db6e752c473cf27fd950e9b9ac06384370d511fb552ce5f96812082c602436b",
19623 "typeString": "literal_string \"BONDAGE\""
19624 },
19625 "value": "BONDAGE"
19626 }
19627 ],
19628 "expression": {
19629 "argumentTypes": [
19630 {
19631 "typeIdentifier": "t_stringliteral_8db6e752c473cf27fd950e9b9ac06384370d511fb552ce5f96812082c602436b",
19632 "typeString": "literal_string \"BONDAGE\""
19633 }
19634 ],
19635 "expression": {
19636 "argumentTypes": null,
19637 "id": 8991,
19638 "name": "coordinator",
19639 "nodeType": "Identifier",
19640 "overloadedDeclarations": [],
19641 "referencedDeclaration": 210,
19642 "src": "2679:11:33",
19643 "typeDescriptions": {
19644 "typeIdentifier": "t_contract$_ZapCoordinatorInterface_$493",
19645 "typeString": "contract ZapCoordinatorInterface"
19646 }
19647 },
19648 "id": 8992,
19649 "isConstant": false,
19650 "isLValue": false,
19651 "isPure": false,
19652 "lValueRequested": false,
19653 "memberName": "getContract",
19654 "nodeType": "MemberAccess",
19655 "referencedDeclaration": 489,
19656 "src": "2679:23:33",
19657 "typeDescriptions": {
19658 "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$",
19659 "typeString": "function (string memory) view external returns (address)"
19660 }
19661 },
19662 "id": 8994,
19663 "isConstant": false,
19664 "isLValue": false,
19665 "isPure": false,
19666 "kind": "functionCall",
19667 "lValueRequested": false,
19668 "names": [],
19669 "nodeType": "FunctionCall",
19670 "src": "2679:34:33",
19671 "typeDescriptions": {
19672 "typeIdentifier": "t_address",
19673 "typeString": "address"
19674 }
19675 },
19676 "src": "2662:51:33",
19677 "typeDescriptions": {
19678 "typeIdentifier": "t_address",
19679 "typeString": "address"
19680 }
19681 },
19682 "id": 8996,
19683 "nodeType": "ExpressionStatement",
19684 "src": "2662:51:33"
19685 },
19686 {
19687 "expression": {
19688 "argumentTypes": null,
19689 "id": 9001,
19690 "isConstant": false,
19691 "isLValue": false,
19692 "isPure": false,
19693 "lValueRequested": false,
19694 "leftHandSide": {
19695 "argumentTypes": null,
19696 "id": 8997,
19697 "name": "bondage",
19698 "nodeType": "Identifier",
19699 "overloadedDeclarations": [],
19700 "referencedDeclaration": 8961,
19701 "src": "2723:7:33",
19702 "typeDescriptions": {
19703 "typeIdentifier": "t_contract$_BondageInterface_$7926",
19704 "typeString": "contract BondageInterface"
19705 }
19706 },
19707 "nodeType": "Assignment",
19708 "operator": "=",
19709 "rightHandSide": {
19710 "argumentTypes": null,
19711 "arguments": [
19712 {
19713 "argumentTypes": null,
19714 "id": 8999,
19715 "name": "bondageAddress",
19716 "nodeType": "Identifier",
19717 "overloadedDeclarations": [],
19718 "referencedDeclaration": 8963,
19719 "src": "2750:14:33",
19720 "typeDescriptions": {
19721 "typeIdentifier": "t_address",
19722 "typeString": "address"
19723 }
19724 }
19725 ],
19726 "expression": {
19727 "argumentTypes": [
19728 {
19729 "typeIdentifier": "t_address",
19730 "typeString": "address"
19731 }
19732 ],
19733 "id": 8998,
19734 "name": "BondageInterface",
19735 "nodeType": "Identifier",
19736 "overloadedDeclarations": [],
19737 "referencedDeclaration": 7926,
19738 "src": "2733:16:33",
19739 "typeDescriptions": {
19740 "typeIdentifier": "t_type$_t_contract$_BondageInterface_$7926_$",
19741 "typeString": "type(contract BondageInterface)"
19742 }
19743 },
19744 "id": 9000,
19745 "isConstant": false,
19746 "isLValue": false,
19747 "isPure": false,
19748 "kind": "typeConversion",
19749 "lValueRequested": false,
19750 "names": [],
19751 "nodeType": "FunctionCall",
19752 "src": "2733:32:33",
19753 "typeDescriptions": {
19754 "typeIdentifier": "t_contract$_BondageInterface_$7926",
19755 "typeString": "contract BondageInterface"
19756 }
19757 },
19758 "src": "2723:42:33",
19759 "typeDescriptions": {
19760 "typeIdentifier": "t_contract$_BondageInterface_$7926",
19761 "typeString": "contract BondageInterface"
19762 }
19763 },
19764 "id": 9002,
19765 "nodeType": "ExpressionStatement",
19766 "src": "2723:42:33"
19767 }
19768 ]
19769 },
19770 "documentation": null,
19771 "id": 9004,
19772 "implemented": true,
19773 "isConstructor": false,
19774 "isDeclaredConst": false,
19775 "modifiers": [],
19776 "name": "_updateDependencies",
19777 "nodeType": "FunctionDefinition",
19778 "parameters": {
19779 "id": 8975,
19780 "nodeType": "ParameterList",
19781 "parameters": [],
19782 "src": "2519:2:33"
19783 },
19784 "payable": false,
19785 "returnParameters": {
19786 "id": 8976,
19787 "nodeType": "ParameterList",
19788 "parameters": [],
19789 "src": "2531:0:33"
19790 },
19791 "scope": 10008,
19792 "src": "2491:281:33",
19793 "stateMutability": "nonpayable",
19794 "superFunction": 238,
19795 "visibility": "internal"
19796 },
19797 {
19798 "body": {
19799 "id": 9114,
19800 "nodeType": "Block",
19801 "src": "3193:909:33",
19802 "statements": [
19803 {
19804 "assignments": [
19805 9019
19806 ],
19807 "declarations": [
19808 {
19809 "constant": false,
19810 "id": 9019,
19811 "name": "dots",
19812 "nodeType": "VariableDeclaration",
19813 "scope": 9115,
19814 "src": "3203:12:33",
19815 "stateVariable": false,
19816 "storageLocation": "default",
19817 "typeDescriptions": {
19818 "typeIdentifier": "t_uint256",
19819 "typeString": "uint256"
19820 },
19821 "typeName": {
19822 "id": 9018,
19823 "name": "uint256",
19824 "nodeType": "ElementaryTypeName",
19825 "src": "3203:7:33",
19826 "typeDescriptions": {
19827 "typeIdentifier": "t_uint256",
19828 "typeString": "uint256"
19829 }
19830 },
19831 "value": null,
19832 "visibility": "internal"
19833 }
19834 ],
19835 "id": 9027,
19836 "initialValue": {
19837 "argumentTypes": null,
19838 "arguments": [
19839 {
19840 "argumentTypes": null,
19841 "expression": {
19842 "argumentTypes": null,
19843 "id": 9022,
19844 "name": "msg",
19845 "nodeType": "Identifier",
19846 "overloadedDeclarations": [],
19847 "referencedDeclaration": 12092,
19848 "src": "3239:3:33",
19849 "typeDescriptions": {
19850 "typeIdentifier": "t_magic_message",
19851 "typeString": "msg"
19852 }
19853 },
19854 "id": 9023,
19855 "isConstant": false,
19856 "isLValue": false,
19857 "isPure": false,
19858 "lValueRequested": false,
19859 "memberName": "sender",
19860 "nodeType": "MemberAccess",
19861 "referencedDeclaration": null,
19862 "src": "3239:10:33",
19863 "typeDescriptions": {
19864 "typeIdentifier": "t_address",
19865 "typeString": "address"
19866 }
19867 },
19868 {
19869 "argumentTypes": null,
19870 "id": 9024,
19871 "name": "provider",
19872 "nodeType": "Identifier",
19873 "overloadedDeclarations": [],
19874 "referencedDeclaration": 9006,
19875 "src": "3251:8:33",
19876 "typeDescriptions": {
19877 "typeIdentifier": "t_address",
19878 "typeString": "address"
19879 }
19880 },
19881 {
19882 "argumentTypes": null,
19883 "id": 9025,
19884 "name": "endpoint",
19885 "nodeType": "Identifier",
19886 "overloadedDeclarations": [],
19887 "referencedDeclaration": 9010,
19888 "src": "3261:8:33",
19889 "typeDescriptions": {
19890 "typeIdentifier": "t_bytes32",
19891 "typeString": "bytes32"
19892 }
19893 }
19894 ],
19895 "expression": {
19896 "argumentTypes": [
19897 {
19898 "typeIdentifier": "t_address",
19899 "typeString": "address"
19900 },
19901 {
19902 "typeIdentifier": "t_address",
19903 "typeString": "address"
19904 },
19905 {
19906 "typeIdentifier": "t_bytes32",
19907 "typeString": "bytes32"
19908 }
19909 ],
19910 "expression": {
19911 "argumentTypes": null,
19912 "id": 9020,
19913 "name": "bondage",
19914 "nodeType": "Identifier",
19915 "overloadedDeclarations": [],
19916 "referencedDeclaration": 8961,
19917 "src": "3218:7:33",
19918 "typeDescriptions": {
19919 "typeIdentifier": "t_contract$_BondageInterface_$7926",
19920 "typeString": "contract BondageInterface"
19921 }
19922 },
19923 "id": 9021,
19924 "isConstant": false,
19925 "isLValue": false,
19926 "isPure": false,
19927 "lValueRequested": false,
19928 "memberName": "getBoundDots",
19929 "nodeType": "MemberAccess",
19930 "referencedDeclaration": 7907,
19931 "src": "3218:20:33",
19932 "typeDescriptions": {
19933 "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes32_$returns$_t_uint256_$",
19934 "typeString": "function (address,address,bytes32) view external returns (uint256)"
19935 }
19936 },
19937 "id": 9026,
19938 "isConstant": false,
19939 "isLValue": false,
19940 "isPure": false,
19941 "kind": "functionCall",
19942 "lValueRequested": false,
19943 "names": [],
19944 "nodeType": "FunctionCall",
19945 "src": "3218:52:33",
19946 "typeDescriptions": {
19947 "typeIdentifier": "t_uint256",
19948 "typeString": "uint256"
19949 }
19950 },
19951 "nodeType": "VariableDeclarationStatement",
19952 "src": "3203:67:33"
19953 },
19954 {
19955 "assignments": [
19956 9029
19957 ],
19958 "declarations": [
19959 {
19960 "constant": false,
19961 "id": 9029,
19962 "name": "onchainProvider",
19963 "nodeType": "VariableDeclaration",
19964 "scope": 9115,
19965 "src": "3280:20:33",
19966 "stateVariable": false,
19967 "storageLocation": "default",
19968 "typeDescriptions": {
19969 "typeIdentifier": "t_bool",
19970 "typeString": "bool"
19971 },
19972 "typeName": {
19973 "id": 9028,
19974 "name": "bool",
19975 "nodeType": "ElementaryTypeName",
19976 "src": "3280:4:33",
19977 "typeDescriptions": {
19978 "typeIdentifier": "t_bool",
19979 "typeString": "bool"
19980 }
19981 },
19982 "value": null,
19983 "visibility": "internal"
19984 }
19985 ],
19986 "id": 9033,
19987 "initialValue": {
19988 "argumentTypes": null,
19989 "arguments": [
19990 {
19991 "argumentTypes": null,
19992 "id": 9031,
19993 "name": "provider",
19994 "nodeType": "Identifier",
19995 "overloadedDeclarations": [],
19996 "referencedDeclaration": 9006,
19997 "src": "3314:8:33",
19998 "typeDescriptions": {
19999 "typeIdentifier": "t_address",
20000 "typeString": "address"
20001 }
20002 }
20003 ],
20004 "expression": {
20005 "argumentTypes": [
20006 {
20007 "typeIdentifier": "t_address",
20008 "typeString": "address"
20009 }
20010 ],
20011 "id": 9030,
20012 "name": "isContract",
20013 "nodeType": "Identifier",
20014 "overloadedDeclarations": [],
20015 "referencedDeclaration": 10007,
20016 "src": "3303:10:33",
20017 "typeDescriptions": {
20018 "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
20019 "typeString": "function (address) view returns (bool)"
20020 }
20021 },
20022 "id": 9032,
20023 "isConstant": false,
20024 "isLValue": false,
20025 "isPure": false,
20026 "kind": "functionCall",
20027 "lValueRequested": false,
20028 "names": [],
20029 "nodeType": "FunctionCall",
20030 "src": "3303:20:33",
20031 "typeDescriptions": {
20032 "typeIdentifier": "t_bool",
20033 "typeString": "bool"
20034 }
20035 },
20036 "nodeType": "VariableDeclarationStatement",
20037 "src": "3280:43:33"
20038 },
20039 {
20040 "assignments": [
20041 9035
20042 ],
20043 "declarations": [
20044 {
20045 "constant": false,
20046 "id": 9035,
20047 "name": "onchainSubscriber",
20048 "nodeType": "VariableDeclaration",
20049 "scope": 9115,
20050 "src": "3333:22:33",
20051 "stateVariable": false,
20052 "storageLocation": "default",
20053 "typeDescriptions": {
20054 "typeIdentifier": "t_bool",
20055 "typeString": "bool"
20056 },
20057 "typeName": {
20058 "id": 9034,
20059 "name": "bool",
20060 "nodeType": "ElementaryTypeName",
20061 "src": "3333:4:33",
20062 "typeDescriptions": {
20063 "typeIdentifier": "t_bool",
20064 "typeString": "bool"
20065 }
20066 },
20067 "value": null,
20068 "visibility": "internal"
20069 }
20070 ],
20071 "id": 9040,
20072 "initialValue": {
20073 "argumentTypes": null,
20074 "arguments": [
20075 {
20076 "argumentTypes": null,
20077 "expression": {
20078 "argumentTypes": null,
20079 "id": 9037,
20080 "name": "msg",
20081 "nodeType": "Identifier",
20082 "overloadedDeclarations": [],
20083 "referencedDeclaration": 12092,
20084 "src": "3369:3:33",
20085 "typeDescriptions": {
20086 "typeIdentifier": "t_magic_message",
20087 "typeString": "msg"
20088 }
20089 },
20090 "id": 9038,
20091 "isConstant": false,
20092 "isLValue": false,
20093 "isPure": false,
20094 "lValueRequested": false,
20095 "memberName": "sender",
20096 "nodeType": "MemberAccess",
20097 "referencedDeclaration": null,
20098 "src": "3369:10:33",
20099 "typeDescriptions": {
20100 "typeIdentifier": "t_address",
20101 "typeString": "address"
20102 }
20103 }
20104 ],
20105 "expression": {
20106 "argumentTypes": [
20107 {
20108 "typeIdentifier": "t_address",
20109 "typeString": "address"
20110 }
20111 ],
20112 "id": 9036,
20113 "name": "isContract",
20114 "nodeType": "Identifier",
20115 "overloadedDeclarations": [],
20116 "referencedDeclaration": 10007,
20117 "src": "3358:10:33",
20118 "typeDescriptions": {
20119 "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
20120 "typeString": "function (address) view returns (bool)"
20121 }
20122 },
20123 "id": 9039,
20124 "isConstant": false,
20125 "isLValue": false,
20126 "isPure": false,
20127 "kind": "functionCall",
20128 "lValueRequested": false,
20129 "names": [],
20130 "nodeType": "FunctionCall",
20131 "src": "3358:22:33",
20132 "typeDescriptions": {
20133 "typeIdentifier": "t_bool",
20134 "typeString": "bool"
20135 }
20136 },
20137 "nodeType": "VariableDeclarationStatement",
20138 "src": "3333:47:33"
20139 },
20140 {
20141 "condition": {
20142 "argumentTypes": null,
20143 "commonType": {
20144 "typeIdentifier": "t_uint256",
20145 "typeString": "uint256"
20146 },
20147 "id": 9043,
20148 "isConstant": false,
20149 "isLValue": false,
20150 "isPure": false,
20151 "lValueRequested": false,
20152 "leftExpression": {
20153 "argumentTypes": null,
20154 "id": 9041,
20155 "name": "dots",
20156 "nodeType": "Identifier",
20157 "overloadedDeclarations": [],
20158 "referencedDeclaration": 9019,
20159 "src": "3394:4:33",
20160 "typeDescriptions": {
20161 "typeIdentifier": "t_uint256",
20162 "typeString": "uint256"
20163 }
20164 },
20165 "nodeType": "BinaryOperation",
20166 "operator": ">=",
20167 "rightExpression": {
20168 "argumentTypes": null,
20169 "hexValue": "31",
20170 "id": 9042,
20171 "isConstant": false,
20172 "isLValue": false,
20173 "isPure": true,
20174 "kind": "number",
20175 "lValueRequested": false,
20176 "nodeType": "Literal",
20177 "src": "3402:1:33",
20178 "subdenomination": null,
20179 "typeDescriptions": {
20180 "typeIdentifier": "t_rational_1_by_1",
20181 "typeString": "int_const 1"
20182 },
20183 "value": "1"
20184 },
20185 "src": "3394:9:33",
20186 "typeDescriptions": {
20187 "typeIdentifier": "t_bool",
20188 "typeString": "bool"
20189 }
20190 },
20191 "falseBody": {
20192 "id": 9112,
20193 "nodeType": "Block",
20194 "src": "4008:88:33",
20195 "statements": [
20196 {
20197 "expression": {
20198 "argumentTypes": null,
20199 "arguments": [
20200 {
20201 "argumentTypes": null,
20202 "hexValue": "5375627363726962657220646f6573206e6f74206861766520616e7920646f74732e",
20203 "id": 9109,
20204 "isConstant": false,
20205 "isLValue": false,
20206 "isPure": true,
20207 "kind": "string",
20208 "lValueRequested": false,
20209 "nodeType": "Literal",
20210 "src": "4048:36:33",
20211 "subdenomination": null,
20212 "typeDescriptions": {
20213 "typeIdentifier": "t_stringliteral_e63a12d0d5028ae38d1656ee89c57de9b137d72d81a7322923acf5c7b71728fd",
20214 "typeString": "literal_string \"Subscriber does not have any dots.\""
20215 },
20216 "value": "Subscriber does not have any dots."
20217 }
20218 ],
20219 "expression": {
20220 "argumentTypes": [
20221 {
20222 "typeIdentifier": "t_stringliteral_e63a12d0d5028ae38d1656ee89c57de9b137d72d81a7322923acf5c7b71728fd",
20223 "typeString": "literal_string \"Subscriber does not have any dots.\""
20224 }
20225 ],
20226 "id": 9108,
20227 "name": "revert",
20228 "nodeType": "Identifier",
20229 "overloadedDeclarations": [
20230 12097,
20231 12098
20232 ],
20233 "referencedDeclaration": 12098,
20234 "src": "4041:6:33",
20235 "typeDescriptions": {
20236 "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
20237 "typeString": "function (string memory) pure"
20238 }
20239 },
20240 "id": 9110,
20241 "isConstant": false,
20242 "isLValue": false,
20243 "isPure": false,
20244 "kind": "functionCall",
20245 "lValueRequested": false,
20246 "names": [],
20247 "nodeType": "FunctionCall",
20248 "src": "4041:44:33",
20249 "typeDescriptions": {
20250 "typeIdentifier": "t_tuple$__$",
20251 "typeString": "tuple()"
20252 }
20253 },
20254 "id": 9111,
20255 "nodeType": "ExpressionStatement",
20256 "src": "4041:44:33"
20257 }
20258 ]
20259 },
20260 "id": 9113,
20261 "nodeType": "IfStatement",
20262 "src": "3390:706:33",
20263 "trueBody": {
20264 "id": 9107,
20265 "nodeType": "Block",
20266 "src": "3405:597:33",
20267 "statements": [
20268 {
20269 "expression": {
20270 "argumentTypes": null,
20271 "arguments": [
20272 {
20273 "argumentTypes": null,
20274 "expression": {
20275 "argumentTypes": null,
20276 "id": 9047,
20277 "name": "msg",
20278 "nodeType": "Identifier",
20279 "overloadedDeclarations": [],
20280 "referencedDeclaration": 12092,
20281 "src": "3464:3:33",
20282 "typeDescriptions": {
20283 "typeIdentifier": "t_magic_message",
20284 "typeString": "msg"
20285 }
20286 },
20287 "id": 9048,
20288 "isConstant": false,
20289 "isLValue": false,
20290 "isPure": false,
20291 "lValueRequested": false,
20292 "memberName": "sender",
20293 "nodeType": "MemberAccess",
20294 "referencedDeclaration": null,
20295 "src": "3464:10:33",
20296 "typeDescriptions": {
20297 "typeIdentifier": "t_address",
20298 "typeString": "address"
20299 }
20300 },
20301 {
20302 "argumentTypes": null,
20303 "id": 9049,
20304 "name": "provider",
20305 "nodeType": "Identifier",
20306 "overloadedDeclarations": [],
20307 "referencedDeclaration": 9006,
20308 "src": "3476:8:33",
20309 "typeDescriptions": {
20310 "typeIdentifier": "t_address",
20311 "typeString": "address"
20312 }
20313 },
20314 {
20315 "argumentTypes": null,
20316 "id": 9050,
20317 "name": "endpoint",
20318 "nodeType": "Identifier",
20319 "overloadedDeclarations": [],
20320 "referencedDeclaration": 9010,
20321 "src": "3486:8:33",
20322 "typeDescriptions": {
20323 "typeIdentifier": "t_bytes32",
20324 "typeString": "bytes32"
20325 }
20326 },
20327 {
20328 "argumentTypes": null,
20329 "hexValue": "31",
20330 "id": 9051,
20331 "isConstant": false,
20332 "isLValue": false,
20333 "isPure": true,
20334 "kind": "number",
20335 "lValueRequested": false,
20336 "nodeType": "Literal",
20337 "src": "3496:1:33",
20338 "subdenomination": null,
20339 "typeDescriptions": {
20340 "typeIdentifier": "t_rational_1_by_1",
20341 "typeString": "int_const 1"
20342 },
20343 "value": "1"
20344 }
20345 ],
20346 "expression": {
20347 "argumentTypes": [
20348 {
20349 "typeIdentifier": "t_address",
20350 "typeString": "address"
20351 },
20352 {
20353 "typeIdentifier": "t_address",
20354 "typeString": "address"
20355 },
20356 {
20357 "typeIdentifier": "t_bytes32",
20358 "typeString": "bytes32"
20359 },
20360 {
20361 "typeIdentifier": "t_rational_1_by_1",
20362 "typeString": "int_const 1"
20363 }
20364 ],
20365 "expression": {
20366 "argumentTypes": null,
20367 "id": 9044,
20368 "name": "bondage",
20369 "nodeType": "Identifier",
20370 "overloadedDeclarations": [],
20371 "referencedDeclaration": 8961,
20372 "src": "3445:7:33",
20373 "typeDescriptions": {
20374 "typeIdentifier": "t_contract$_BondageInterface_$7926",
20375 "typeString": "contract BondageInterface"
20376 }
20377 },
20378 "id": 9046,
20379 "isConstant": false,
20380 "isLValue": false,
20381 "isPure": false,
20382 "lValueRequested": false,
20383 "memberName": "escrowDots",
20384 "nodeType": "MemberAccess",
20385 "referencedDeclaration": 7839,
20386 "src": "3445:18:33",
20387 "typeDescriptions": {
20388 "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$returns$_t_bool_$",
20389 "typeString": "function (address,address,bytes32,uint256) external returns (bool)"
20390 }
20391 },
20392 "id": 9052,
20393 "isConstant": false,
20394 "isLValue": false,
20395 "isPure": false,
20396 "kind": "functionCall",
20397 "lValueRequested": false,
20398 "names": [],
20399 "nodeType": "FunctionCall",
20400 "src": "3445:53:33",
20401 "typeDescriptions": {
20402 "typeIdentifier": "t_bool",
20403 "typeString": "bool"
20404 }
20405 },
20406 "id": 9053,
20407 "nodeType": "ExpressionStatement",
20408 "src": "3445:53:33"
20409 },
20410 {
20411 "expression": {
20412 "argumentTypes": null,
20413 "id": 9069,
20414 "isConstant": false,
20415 "isLValue": false,
20416 "isPure": false,
20417 "lValueRequested": false,
20418 "leftHandSide": {
20419 "argumentTypes": null,
20420 "id": 9054,
20421 "name": "id",
20422 "nodeType": "Identifier",
20423 "overloadedDeclarations": [],
20424 "referencedDeclaration": 9016,
20425 "src": "3513:2:33",
20426 "typeDescriptions": {
20427 "typeIdentifier": "t_uint256",
20428 "typeString": "uint256"
20429 }
20430 },
20431 "nodeType": "Assignment",
20432 "operator": "=",
20433 "rightHandSide": {
20434 "argumentTypes": null,
20435 "arguments": [
20436 {
20437 "argumentTypes": null,
20438 "arguments": [
20439 {
20440 "argumentTypes": null,
20441 "arguments": [
20442 {
20443 "argumentTypes": null,
20444 "expression": {
20445 "argumentTypes": null,
20446 "id": 9059,
20447 "name": "block",
20448 "nodeType": "Identifier",
20449 "overloadedDeclarations": [],
20450 "referencedDeclaration": 12082,
20451 "src": "3553:5:33",
20452 "typeDescriptions": {
20453 "typeIdentifier": "t_magic_block",
20454 "typeString": "block"
20455 }
20456 },
20457 "id": 9060,
20458 "isConstant": false,
20459 "isLValue": false,
20460 "isPure": false,
20461 "lValueRequested": false,
20462 "memberName": "number",
20463 "nodeType": "MemberAccess",
20464 "referencedDeclaration": null,
20465 "src": "3553:12:33",
20466 "typeDescriptions": {
20467 "typeIdentifier": "t_uint256",
20468 "typeString": "uint256"
20469 }
20470 },
20471 {
20472 "argumentTypes": null,
20473 "id": 9061,
20474 "name": "now",
20475 "nodeType": "Identifier",
20476 "overloadedDeclarations": [],
20477 "referencedDeclaration": 12094,
20478 "src": "3567:3:33",
20479 "typeDescriptions": {
20480 "typeIdentifier": "t_uint256",
20481 "typeString": "uint256"
20482 }
20483 },
20484 {
20485 "argumentTypes": null,
20486 "id": 9062,
20487 "name": "userQuery",
20488 "nodeType": "Identifier",
20489 "overloadedDeclarations": [],
20490 "referencedDeclaration": 9008,
20491 "src": "3572:9:33",
20492 "typeDescriptions": {
20493 "typeIdentifier": "t_string_calldata_ptr",
20494 "typeString": "string calldata"
20495 }
20496 },
20497 {
20498 "argumentTypes": null,
20499 "expression": {
20500 "argumentTypes": null,
20501 "id": 9063,
20502 "name": "msg",
20503 "nodeType": "Identifier",
20504 "overloadedDeclarations": [],
20505 "referencedDeclaration": 12092,
20506 "src": "3583:3:33",
20507 "typeDescriptions": {
20508 "typeIdentifier": "t_magic_message",
20509 "typeString": "msg"
20510 }
20511 },
20512 "id": 9064,
20513 "isConstant": false,
20514 "isLValue": false,
20515 "isPure": false,
20516 "lValueRequested": false,
20517 "memberName": "sender",
20518 "nodeType": "MemberAccess",
20519 "referencedDeclaration": null,
20520 "src": "3583:10:33",
20521 "typeDescriptions": {
20522 "typeIdentifier": "t_address",
20523 "typeString": "address"
20524 }
20525 },
20526 {
20527 "argumentTypes": null,
20528 "id": 9065,
20529 "name": "provider",
20530 "nodeType": "Identifier",
20531 "overloadedDeclarations": [],
20532 "referencedDeclaration": 9006,
20533 "src": "3595:8:33",
20534 "typeDescriptions": {
20535 "typeIdentifier": "t_address",
20536 "typeString": "address"
20537 }
20538 }
20539 ],
20540 "expression": {
20541 "argumentTypes": [
20542 {
20543 "typeIdentifier": "t_uint256",
20544 "typeString": "uint256"
20545 },
20546 {
20547 "typeIdentifier": "t_uint256",
20548 "typeString": "uint256"
20549 },
20550 {
20551 "typeIdentifier": "t_string_calldata_ptr",
20552 "typeString": "string calldata"
20553 },
20554 {
20555 "typeIdentifier": "t_address",
20556 "typeString": "address"
20557 },
20558 {
20559 "typeIdentifier": "t_address",
20560 "typeString": "address"
20561 }
20562 ],
20563 "expression": {
20564 "argumentTypes": null,
20565 "id": 9057,
20566 "name": "abi",
20567 "nodeType": "Identifier",
20568 "overloadedDeclarations": [],
20569 "referencedDeclaration": 12079,
20570 "src": "3536:3:33",
20571 "typeDescriptions": {
20572 "typeIdentifier": "t_magic_abi",
20573 "typeString": "abi"
20574 }
20575 },
20576 "id": 9058,
20577 "isConstant": false,
20578 "isLValue": false,
20579 "isPure": true,
20580 "lValueRequested": false,
20581 "memberName": "encodePacked",
20582 "nodeType": "MemberAccess",
20583 "referencedDeclaration": null,
20584 "src": "3536:16:33",
20585 "typeDescriptions": {
20586 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
20587 "typeString": "function () pure returns (bytes memory)"
20588 }
20589 },
20590 "id": 9066,
20591 "isConstant": false,
20592 "isLValue": false,
20593 "isPure": false,
20594 "kind": "functionCall",
20595 "lValueRequested": false,
20596 "names": [],
20597 "nodeType": "FunctionCall",
20598 "src": "3536:68:33",
20599 "typeDescriptions": {
20600 "typeIdentifier": "t_bytes_memory_ptr",
20601 "typeString": "bytes memory"
20602 }
20603 }
20604 ],
20605 "expression": {
20606 "argumentTypes": [
20607 {
20608 "typeIdentifier": "t_bytes_memory_ptr",
20609 "typeString": "bytes memory"
20610 }
20611 ],
20612 "id": 9056,
20613 "name": "keccak256",
20614 "nodeType": "Identifier",
20615 "overloadedDeclarations": [],
20616 "referencedDeclaration": 12086,
20617 "src": "3526:9:33",
20618 "typeDescriptions": {
20619 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
20620 "typeString": "function () pure returns (bytes32)"
20621 }
20622 },
20623 "id": 9067,
20624 "isConstant": false,
20625 "isLValue": false,
20626 "isPure": false,
20627 "kind": "functionCall",
20628 "lValueRequested": false,
20629 "names": [],
20630 "nodeType": "FunctionCall",
20631 "src": "3526:79:33",
20632 "typeDescriptions": {
20633 "typeIdentifier": "t_bytes32",
20634 "typeString": "bytes32"
20635 }
20636 }
20637 ],
20638 "expression": {
20639 "argumentTypes": [
20640 {
20641 "typeIdentifier": "t_bytes32",
20642 "typeString": "bytes32"
20643 }
20644 ],
20645 "id": 9055,
20646 "isConstant": false,
20647 "isLValue": false,
20648 "isPure": true,
20649 "lValueRequested": false,
20650 "nodeType": "ElementaryTypeNameExpression",
20651 "src": "3518:7:33",
20652 "typeDescriptions": {
20653 "typeIdentifier": "t_type$_t_uint256_$",
20654 "typeString": "type(uint256)"
20655 },
20656 "typeName": "uint256"
20657 },
20658 "id": 9068,
20659 "isConstant": false,
20660 "isLValue": false,
20661 "isPure": false,
20662 "kind": "typeConversion",
20663 "lValueRequested": false,
20664 "names": [],
20665 "nodeType": "FunctionCall",
20666 "src": "3518:88:33",
20667 "typeDescriptions": {
20668 "typeIdentifier": "t_uint256",
20669 "typeString": "uint256"
20670 }
20671 },
20672 "src": "3513:93:33",
20673 "typeDescriptions": {
20674 "typeIdentifier": "t_uint256",
20675 "typeString": "uint256"
20676 }
20677 },
20678 "id": 9070,
20679 "nodeType": "ExpressionStatement",
20680 "src": "3513:93:33"
20681 },
20682 {
20683 "expression": {
20684 "argumentTypes": null,
20685 "arguments": [
20686 {
20687 "argumentTypes": null,
20688 "id": 9072,
20689 "name": "id",
20690 "nodeType": "Identifier",
20691 "overloadedDeclarations": [],
20692 "referencedDeclaration": 9016,
20693 "src": "3633:2:33",
20694 "typeDescriptions": {
20695 "typeIdentifier": "t_uint256",
20696 "typeString": "uint256"
20697 }
20698 },
20699 {
20700 "argumentTypes": null,
20701 "id": 9073,
20702 "name": "provider",
20703 "nodeType": "Identifier",
20704 "overloadedDeclarations": [],
20705 "referencedDeclaration": 9006,
20706 "src": "3637:8:33",
20707 "typeDescriptions": {
20708 "typeIdentifier": "t_address",
20709 "typeString": "address"
20710 }
20711 },
20712 {
20713 "argumentTypes": null,
20714 "expression": {
20715 "argumentTypes": null,
20716 "id": 9074,
20717 "name": "msg",
20718 "nodeType": "Identifier",
20719 "overloadedDeclarations": [],
20720 "referencedDeclaration": 12092,
20721 "src": "3647:3:33",
20722 "typeDescriptions": {
20723 "typeIdentifier": "t_magic_message",
20724 "typeString": "msg"
20725 }
20726 },
20727 "id": 9075,
20728 "isConstant": false,
20729 "isLValue": false,
20730 "isPure": false,
20731 "lValueRequested": false,
20732 "memberName": "sender",
20733 "nodeType": "MemberAccess",
20734 "referencedDeclaration": null,
20735 "src": "3647:10:33",
20736 "typeDescriptions": {
20737 "typeIdentifier": "t_address",
20738 "typeString": "address"
20739 }
20740 },
20741 {
20742 "argumentTypes": null,
20743 "id": 9076,
20744 "name": "endpoint",
20745 "nodeType": "Identifier",
20746 "overloadedDeclarations": [],
20747 "referencedDeclaration": 9010,
20748 "src": "3659:8:33",
20749 "typeDescriptions": {
20750 "typeIdentifier": "t_bytes32",
20751 "typeString": "bytes32"
20752 }
20753 },
20754 {
20755 "argumentTypes": null,
20756 "id": 9077,
20757 "name": "userQuery",
20758 "nodeType": "Identifier",
20759 "overloadedDeclarations": [],
20760 "referencedDeclaration": 9008,
20761 "src": "3669:9:33",
20762 "typeDescriptions": {
20763 "typeIdentifier": "t_string_calldata_ptr",
20764 "typeString": "string calldata"
20765 }
20766 },
20767 {
20768 "argumentTypes": null,
20769 "id": 9078,
20770 "name": "onchainSubscriber",
20771 "nodeType": "Identifier",
20772 "overloadedDeclarations": [],
20773 "referencedDeclaration": 9035,
20774 "src": "3680:17:33",
20775 "typeDescriptions": {
20776 "typeIdentifier": "t_bool",
20777 "typeString": "bool"
20778 }
20779 }
20780 ],
20781 "expression": {
20782 "argumentTypes": [
20783 {
20784 "typeIdentifier": "t_uint256",
20785 "typeString": "uint256"
20786 },
20787 {
20788 "typeIdentifier": "t_address",
20789 "typeString": "address"
20790 },
20791 {
20792 "typeIdentifier": "t_address",
20793 "typeString": "address"
20794 },
20795 {
20796 "typeIdentifier": "t_bytes32",
20797 "typeString": "bytes32"
20798 },
20799 {
20800 "typeIdentifier": "t_string_calldata_ptr",
20801 "typeString": "string calldata"
20802 },
20803 {
20804 "typeIdentifier": "t_bool",
20805 "typeString": "bool"
20806 }
20807 ],
20808 "id": 9071,
20809 "name": "createQuery",
20810 "nodeType": "Identifier",
20811 "overloadedDeclarations": [],
20812 "referencedDeclaration": 9893,
20813 "src": "3621:11:33",
20814 "typeDescriptions": {
20815 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_bytes32_$_t_string_memory_ptr_$_t_bool_$returns$__$",
20816 "typeString": "function (uint256,address,address,bytes32,string memory,bool)"
20817 }
20818 },
20819 "id": 9079,
20820 "isConstant": false,
20821 "isLValue": false,
20822 "isPure": false,
20823 "kind": "functionCall",
20824 "lValueRequested": false,
20825 "names": [],
20826 "nodeType": "FunctionCall",
20827 "src": "3621:77:33",
20828 "typeDescriptions": {
20829 "typeIdentifier": "t_tuple$__$",
20830 "typeString": "tuple()"
20831 }
20832 },
20833 "id": 9080,
20834 "nodeType": "ExpressionStatement",
20835 "src": "3621:77:33"
20836 },
20837 {
20838 "condition": {
20839 "argumentTypes": null,
20840 "id": 9081,
20841 "name": "onchainProvider",
20842 "nodeType": "Identifier",
20843 "overloadedDeclarations": [],
20844 "referencedDeclaration": 9029,
20845 "src": "3716:15:33",
20846 "typeDescriptions": {
20847 "typeIdentifier": "t_bool",
20848 "typeString": "bool"
20849 }
20850 },
20851 "falseBody": {
20852 "id": 9105,
20853 "nodeType": "Block",
20854 "src": "3864:128:33",
20855 "statements": [
20856 {
20857 "eventCall": {
20858 "argumentTypes": null,
20859 "arguments": [
20860 {
20861 "argumentTypes": null,
20862 "id": 9095,
20863 "name": "id",
20864 "nodeType": "Identifier",
20865 "overloadedDeclarations": [],
20866 "referencedDeclaration": 9016,
20867 "src": "3896:2:33",
20868 "typeDescriptions": {
20869 "typeIdentifier": "t_uint256",
20870 "typeString": "uint256"
20871 }
20872 },
20873 {
20874 "argumentTypes": null,
20875 "id": 9096,
20876 "name": "provider",
20877 "nodeType": "Identifier",
20878 "overloadedDeclarations": [],
20879 "referencedDeclaration": 9006,
20880 "src": "3900:8:33",
20881 "typeDescriptions": {
20882 "typeIdentifier": "t_address",
20883 "typeString": "address"
20884 }
20885 },
20886 {
20887 "argumentTypes": null,
20888 "expression": {
20889 "argumentTypes": null,
20890 "id": 9097,
20891 "name": "msg",
20892 "nodeType": "Identifier",
20893 "overloadedDeclarations": [],
20894 "referencedDeclaration": 12092,
20895 "src": "3910:3:33",
20896 "typeDescriptions": {
20897 "typeIdentifier": "t_magic_message",
20898 "typeString": "msg"
20899 }
20900 },
20901 "id": 9098,
20902 "isConstant": false,
20903 "isLValue": false,
20904 "isPure": false,
20905 "lValueRequested": false,
20906 "memberName": "sender",
20907 "nodeType": "MemberAccess",
20908 "referencedDeclaration": null,
20909 "src": "3910:10:33",
20910 "typeDescriptions": {
20911 "typeIdentifier": "t_address",
20912 "typeString": "address"
20913 }
20914 },
20915 {
20916 "argumentTypes": null,
20917 "id": 9099,
20918 "name": "userQuery",
20919 "nodeType": "Identifier",
20920 "overloadedDeclarations": [],
20921 "referencedDeclaration": 9008,
20922 "src": "3922:9:33",
20923 "typeDescriptions": {
20924 "typeIdentifier": "t_string_calldata_ptr",
20925 "typeString": "string calldata"
20926 }
20927 },
20928 {
20929 "argumentTypes": null,
20930 "id": 9100,
20931 "name": "endpoint",
20932 "nodeType": "Identifier",
20933 "overloadedDeclarations": [],
20934 "referencedDeclaration": 9010,
20935 "src": "3933:8:33",
20936 "typeDescriptions": {
20937 "typeIdentifier": "t_bytes32",
20938 "typeString": "bytes32"
20939 }
20940 },
20941 {
20942 "argumentTypes": null,
20943 "id": 9101,
20944 "name": "endpointParams",
20945 "nodeType": "Identifier",
20946 "overloadedDeclarations": [],
20947 "referencedDeclaration": 9013,
20948 "src": "3943:14:33",
20949 "typeDescriptions": {
20950 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
20951 "typeString": "bytes32[] calldata"
20952 }
20953 },
20954 {
20955 "argumentTypes": null,
20956 "id": 9102,
20957 "name": "onchainSubscriber",
20958 "nodeType": "Identifier",
20959 "overloadedDeclarations": [],
20960 "referencedDeclaration": 9035,
20961 "src": "3959:17:33",
20962 "typeDescriptions": {
20963 "typeIdentifier": "t_bool",
20964 "typeString": "bool"
20965 }
20966 }
20967 ],
20968 "expression": {
20969 "argumentTypes": [
20970 {
20971 "typeIdentifier": "t_uint256",
20972 "typeString": "uint256"
20973 },
20974 {
20975 "typeIdentifier": "t_address",
20976 "typeString": "address"
20977 },
20978 {
20979 "typeIdentifier": "t_address",
20980 "typeString": "address"
20981 },
20982 {
20983 "typeIdentifier": "t_string_calldata_ptr",
20984 "typeString": "string calldata"
20985 },
20986 {
20987 "typeIdentifier": "t_bytes32",
20988 "typeString": "bytes32"
20989 },
20990 {
20991 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
20992 "typeString": "bytes32[] calldata"
20993 },
20994 {
20995 "typeIdentifier": "t_bool",
20996 "typeString": "bool"
20997 }
20998 ],
20999 "id": 9094,
21000 "name": "Incoming",
21001 "nodeType": "Identifier",
21002 "overloadedDeclarations": [],
21003 "referencedDeclaration": 8861,
21004 "src": "3887:8:33",
21005 "typeDescriptions": {
21006 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_bytes32_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bool_$returns$__$",
21007 "typeString": "function (uint256,address,address,string memory,bytes32,bytes32[] memory,bool)"
21008 }
21009 },
21010 "id": 9103,
21011 "isConstant": false,
21012 "isLValue": false,
21013 "isPure": false,
21014 "kind": "functionCall",
21015 "lValueRequested": false,
21016 "names": [],
21017 "nodeType": "FunctionCall",
21018 "src": "3887:90:33",
21019 "typeDescriptions": {
21020 "typeIdentifier": "t_tuple$__$",
21021 "typeString": "tuple()"
21022 }
21023 },
21024 "id": 9104,
21025 "nodeType": "EmitStatement",
21026 "src": "3882:95:33"
21027 }
21028 ]
21029 },
21030 "id": 9106,
21031 "nodeType": "IfStatement",
21032 "src": "3712:280:33",
21033 "trueBody": {
21034 "id": 9093,
21035 "nodeType": "Block",
21036 "src": "3733:126:33",
21037 "statements": [
21038 {
21039 "expression": {
21040 "argumentTypes": null,
21041 "arguments": [
21042 {
21043 "argumentTypes": null,
21044 "id": 9086,
21045 "name": "id",
21046 "nodeType": "Identifier",
21047 "overloadedDeclarations": [],
21048 "referencedDeclaration": 9016,
21049 "src": "3785:2:33",
21050 "typeDescriptions": {
21051 "typeIdentifier": "t_uint256",
21052 "typeString": "uint256"
21053 }
21054 },
21055 {
21056 "argumentTypes": null,
21057 "id": 9087,
21058 "name": "userQuery",
21059 "nodeType": "Identifier",
21060 "overloadedDeclarations": [],
21061 "referencedDeclaration": 9008,
21062 "src": "3789:9:33",
21063 "typeDescriptions": {
21064 "typeIdentifier": "t_string_calldata_ptr",
21065 "typeString": "string calldata"
21066 }
21067 },
21068 {
21069 "argumentTypes": null,
21070 "id": 9088,
21071 "name": "endpoint",
21072 "nodeType": "Identifier",
21073 "overloadedDeclarations": [],
21074 "referencedDeclaration": 9010,
21075 "src": "3800:8:33",
21076 "typeDescriptions": {
21077 "typeIdentifier": "t_bytes32",
21078 "typeString": "bytes32"
21079 }
21080 },
21081 {
21082 "argumentTypes": null,
21083 "id": 9089,
21084 "name": "endpointParams",
21085 "nodeType": "Identifier",
21086 "overloadedDeclarations": [],
21087 "referencedDeclaration": 9013,
21088 "src": "3810:14:33",
21089 "typeDescriptions": {
21090 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
21091 "typeString": "bytes32[] calldata"
21092 }
21093 },
21094 {
21095 "argumentTypes": null,
21096 "id": 9090,
21097 "name": "onchainSubscriber",
21098 "nodeType": "Identifier",
21099 "overloadedDeclarations": [],
21100 "referencedDeclaration": 9035,
21101 "src": "3826:17:33",
21102 "typeDescriptions": {
21103 "typeIdentifier": "t_bool",
21104 "typeString": "bool"
21105 }
21106 }
21107 ],
21108 "expression": {
21109 "argumentTypes": [
21110 {
21111 "typeIdentifier": "t_uint256",
21112 "typeString": "uint256"
21113 },
21114 {
21115 "typeIdentifier": "t_string_calldata_ptr",
21116 "typeString": "string calldata"
21117 },
21118 {
21119 "typeIdentifier": "t_bytes32",
21120 "typeString": "bytes32"
21121 },
21122 {
21123 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
21124 "typeString": "bytes32[] calldata"
21125 },
21126 {
21127 "typeIdentifier": "t_bool",
21128 "typeString": "bool"
21129 }
21130 ],
21131 "expression": {
21132 "argumentTypes": null,
21133 "arguments": [
21134 {
21135 "argumentTypes": null,
21136 "id": 9083,
21137 "name": "provider",
21138 "nodeType": "Identifier",
21139 "overloadedDeclarations": [],
21140 "referencedDeclaration": 9006,
21141 "src": "3767:8:33",
21142 "typeDescriptions": {
21143 "typeIdentifier": "t_address",
21144 "typeString": "address"
21145 }
21146 }
21147 ],
21148 "expression": {
21149 "argumentTypes": [
21150 {
21151 "typeIdentifier": "t_address",
21152 "typeString": "address"
21153 }
21154 ],
21155 "id": 9082,
21156 "name": "OnChainProvider",
21157 "nodeType": "Identifier",
21158 "overloadedDeclarations": [],
21159 "referencedDeclaration": 1826,
21160 "src": "3751:15:33",
21161 "typeDescriptions": {
21162 "typeIdentifier": "t_type$_t_contract$_OnChainProvider_$1826_$",
21163 "typeString": "type(contract OnChainProvider)"
21164 }
21165 },
21166 "id": 9084,
21167 "isConstant": false,
21168 "isLValue": false,
21169 "isPure": false,
21170 "kind": "typeConversion",
21171 "lValueRequested": false,
21172 "names": [],
21173 "nodeType": "FunctionCall",
21174 "src": "3751:25:33",
21175 "typeDescriptions": {
21176 "typeIdentifier": "t_contract$_OnChainProvider_$1826",
21177 "typeString": "contract OnChainProvider"
21178 }
21179 },
21180 "id": 9085,
21181 "isConstant": false,
21182 "isLValue": false,
21183 "isPure": false,
21184 "lValueRequested": false,
21185 "memberName": "receive",
21186 "nodeType": "MemberAccess",
21187 "referencedDeclaration": 1825,
21188 "src": "3751:33:33",
21189 "typeDescriptions": {
21190 "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_bytes32_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bool_$returns$__$",
21191 "typeString": "function (uint256,string memory,bytes32,bytes32[] memory,bool) external"
21192 }
21193 },
21194 "id": 9091,
21195 "isConstant": false,
21196 "isLValue": false,
21197 "isPure": false,
21198 "kind": "functionCall",
21199 "lValueRequested": false,
21200 "names": [],
21201 "nodeType": "FunctionCall",
21202 "src": "3751:93:33",
21203 "typeDescriptions": {
21204 "typeIdentifier": "t_tuple$__$",
21205 "typeString": "tuple()"
21206 }
21207 },
21208 "id": 9092,
21209 "nodeType": "ExpressionStatement",
21210 "src": "3751:93:33"
21211 }
21212 ]
21213 }
21214 }
21215 ]
21216 }
21217 }
21218 ]
21219 },
21220 "documentation": "@notice Escrow dot for oracle request\n @dev Called by user contract",
21221 "id": 9115,
21222 "implemented": true,
21223 "isConstructor": false,
21224 "isDeclaredConst": false,
21225 "modifiers": [],
21226 "name": "query",
21227 "nodeType": "FunctionDefinition",
21228 "parameters": {
21229 "id": 9014,
21230 "nodeType": "ParameterList",
21231 "parameters": [
21232 {
21233 "constant": false,
21234 "id": 9006,
21235 "name": "provider",
21236 "nodeType": "VariableDeclaration",
21237 "scope": 9115,
21238 "src": "2885:16:33",
21239 "stateVariable": false,
21240 "storageLocation": "default",
21241 "typeDescriptions": {
21242 "typeIdentifier": "t_address",
21243 "typeString": "address"
21244 },
21245 "typeName": {
21246 "id": 9005,
21247 "name": "address",
21248 "nodeType": "ElementaryTypeName",
21249 "src": "2885:7:33",
21250 "typeDescriptions": {
21251 "typeIdentifier": "t_address",
21252 "typeString": "address"
21253 }
21254 },
21255 "value": null,
21256 "visibility": "internal"
21257 },
21258 {
21259 "constant": false,
21260 "id": 9008,
21261 "name": "userQuery",
21262 "nodeType": "VariableDeclaration",
21263 "scope": 9115,
21264 "src": "2946:16:33",
21265 "stateVariable": false,
21266 "storageLocation": "default",
21267 "typeDescriptions": {
21268 "typeIdentifier": "t_string_calldata_ptr",
21269 "typeString": "string"
21270 },
21271 "typeName": {
21272 "id": 9007,
21273 "name": "string",
21274 "nodeType": "ElementaryTypeName",
21275 "src": "2946:6:33",
21276 "typeDescriptions": {
21277 "typeIdentifier": "t_string_storage_ptr",
21278 "typeString": "string"
21279 }
21280 },
21281 "value": null,
21282 "visibility": "internal"
21283 },
21284 {
21285 "constant": false,
21286 "id": 9010,
21287 "name": "endpoint",
21288 "nodeType": "VariableDeclaration",
21289 "scope": 9115,
21290 "src": "2998:16:33",
21291 "stateVariable": false,
21292 "storageLocation": "default",
21293 "typeDescriptions": {
21294 "typeIdentifier": "t_bytes32",
21295 "typeString": "bytes32"
21296 },
21297 "typeName": {
21298 "id": 9009,
21299 "name": "bytes32",
21300 "nodeType": "ElementaryTypeName",
21301 "src": "2998:7:33",
21302 "typeDescriptions": {
21303 "typeIdentifier": "t_bytes32",
21304 "typeString": "bytes32"
21305 }
21306 },
21307 "value": null,
21308 "visibility": "internal"
21309 },
21310 {
21311 "constant": false,
21312 "id": 9013,
21313 "name": "endpointParams",
21314 "nodeType": "VariableDeclaration",
21315 "scope": 9115,
21316 "src": "3077:24:33",
21317 "stateVariable": false,
21318 "storageLocation": "default",
21319 "typeDescriptions": {
21320 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
21321 "typeString": "bytes32[]"
21322 },
21323 "typeName": {
21324 "baseType": {
21325 "id": 9011,
21326 "name": "bytes32",
21327 "nodeType": "ElementaryTypeName",
21328 "src": "3077:7:33",
21329 "typeDescriptions": {
21330 "typeIdentifier": "t_bytes32",
21331 "typeString": "bytes32"
21332 }
21333 },
21334 "id": 9012,
21335 "length": null,
21336 "nodeType": "ArrayTypeName",
21337 "src": "3077:9:33",
21338 "typeDescriptions": {
21339 "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
21340 "typeString": "bytes32[]"
21341 }
21342 },
21343 "value": null,
21344 "visibility": "internal"
21345 }
21346 ],
21347 "src": "2875:267:33"
21348 },
21349 "payable": false,
21350 "returnParameters": {
21351 "id": 9017,
21352 "nodeType": "ParameterList",
21353 "parameters": [
21354 {
21355 "constant": false,
21356 "id": 9016,
21357 "name": "id",
21358 "nodeType": "VariableDeclaration",
21359 "scope": 9115,
21360 "src": "3177:10:33",
21361 "stateVariable": false,
21362 "storageLocation": "default",
21363 "typeDescriptions": {
21364 "typeIdentifier": "t_uint256",
21365 "typeString": "uint256"
21366 },
21367 "typeName": {
21368 "id": 9015,
21369 "name": "uint256",
21370 "nodeType": "ElementaryTypeName",
21371 "src": "3177:7:33",
21372 "typeDescriptions": {
21373 "typeIdentifier": "t_uint256",
21374 "typeString": "uint256"
21375 }
21376 },
21377 "value": null,
21378 "visibility": "internal"
21379 }
21380 ],
21381 "src": "3176:12:33"
21382 },
21383 "scope": 10008,
21384 "src": "2861:1241:33",
21385 "stateMutability": "nonpayable",
21386 "superFunction": 10024,
21387 "visibility": "external"
21388 },
21389 {
21390 "body": {
21391 "id": 9217,
21392 "nodeType": "Block",
21393 "src": "4329:1012:33",
21394 "statements": [
21395 {
21396 "assignments": [
21397 9123
21398 ],
21399 "declarations": [
21400 {
21401 "constant": false,
21402 "id": 9123,
21403 "name": "status",
21404 "nodeType": "VariableDeclaration",
21405 "scope": 9218,
21406 "src": "4339:13:33",
21407 "stateVariable": false,
21408 "storageLocation": "default",
21409 "typeDescriptions": {
21410 "typeIdentifier": "t_enum$_Status_$8844",
21411 "typeString": "enum Dispatch.Status"
21412 },
21413 "typeName": {
21414 "contractScope": null,
21415 "id": 9122,
21416 "name": "Status",
21417 "nodeType": "UserDefinedTypeName",
21418 "referencedDeclaration": 8844,
21419 "src": "4339:6:33",
21420 "typeDescriptions": {
21421 "typeIdentifier": "t_enum$_Status_$8844",
21422 "typeString": "enum Dispatch.Status"
21423 }
21424 },
21425 "value": null,
21426 "visibility": "internal"
21427 }
21428 ],
21429 "id": 9129,
21430 "initialValue": {
21431 "argumentTypes": null,
21432 "arguments": [
21433 {
21434 "argumentTypes": null,
21435 "arguments": [
21436 {
21437 "argumentTypes": null,
21438 "id": 9126,
21439 "name": "id",
21440 "nodeType": "Identifier",
21441 "overloadedDeclarations": [],
21442 "referencedDeclaration": 9117,
21443 "src": "4372:2:33",
21444 "typeDescriptions": {
21445 "typeIdentifier": "t_uint256",
21446 "typeString": "uint256"
21447 }
21448 }
21449 ],
21450 "expression": {
21451 "argumentTypes": [
21452 {
21453 "typeIdentifier": "t_uint256",
21454 "typeString": "uint256"
21455 }
21456 ],
21457 "id": 9125,
21458 "name": "getStatus",
21459 "nodeType": "Identifier",
21460 "overloadedDeclarations": [
21461 9714
21462 ],
21463 "referencedDeclaration": 9714,
21464 "src": "4362:9:33",
21465 "typeDescriptions": {
21466 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$",
21467 "typeString": "function (uint256) view returns (uint256)"
21468 }
21469 },
21470 "id": 9127,
21471 "isConstant": false,
21472 "isLValue": false,
21473 "isPure": false,
21474 "kind": "functionCall",
21475 "lValueRequested": false,
21476 "names": [],
21477 "nodeType": "FunctionCall",
21478 "src": "4362:13:33",
21479 "typeDescriptions": {
21480 "typeIdentifier": "t_uint256",
21481 "typeString": "uint256"
21482 }
21483 }
21484 ],
21485 "expression": {
21486 "argumentTypes": [
21487 {
21488 "typeIdentifier": "t_uint256",
21489 "typeString": "uint256"
21490 }
21491 ],
21492 "id": 9124,
21493 "name": "Status",
21494 "nodeType": "Identifier",
21495 "overloadedDeclarations": [],
21496 "referencedDeclaration": 8844,
21497 "src": "4355:6:33",
21498 "typeDescriptions": {
21499 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
21500 "typeString": "type(enum Dispatch.Status)"
21501 }
21502 },
21503 "id": 9128,
21504 "isConstant": false,
21505 "isLValue": false,
21506 "isPure": false,
21507 "kind": "typeConversion",
21508 "lValueRequested": false,
21509 "names": [],
21510 "nodeType": "FunctionCall",
21511 "src": "4355:21:33",
21512 "typeDescriptions": {
21513 "typeIdentifier": "t_enum$_Status_$8844",
21514 "typeString": "enum Dispatch.Status"
21515 }
21516 },
21517 "nodeType": "VariableDeclarationStatement",
21518 "src": "4339:37:33"
21519 },
21520 {
21521 "expression": {
21522 "argumentTypes": null,
21523 "arguments": [
21524 {
21525 "argumentTypes": null,
21526 "commonType": {
21527 "typeIdentifier": "t_enum$_Status_$8844",
21528 "typeString": "enum Dispatch.Status"
21529 },
21530 "id": 9134,
21531 "isConstant": false,
21532 "isLValue": false,
21533 "isPure": false,
21534 "lValueRequested": false,
21535 "leftExpression": {
21536 "argumentTypes": null,
21537 "id": 9131,
21538 "name": "status",
21539 "nodeType": "Identifier",
21540 "overloadedDeclarations": [],
21541 "referencedDeclaration": 9123,
21542 "src": "4395:6:33",
21543 "typeDescriptions": {
21544 "typeIdentifier": "t_enum$_Status_$8844",
21545 "typeString": "enum Dispatch.Status"
21546 }
21547 },
21548 "nodeType": "BinaryOperation",
21549 "operator": "!=",
21550 "rightExpression": {
21551 "argumentTypes": null,
21552 "expression": {
21553 "argumentTypes": null,
21554 "id": 9132,
21555 "name": "Status",
21556 "nodeType": "Identifier",
21557 "overloadedDeclarations": [],
21558 "referencedDeclaration": 8844,
21559 "src": "4405:6:33",
21560 "typeDescriptions": {
21561 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
21562 "typeString": "type(enum Dispatch.Status)"
21563 }
21564 },
21565 "id": 9133,
21566 "isConstant": false,
21567 "isLValue": false,
21568 "isPure": true,
21569 "lValueRequested": false,
21570 "memberName": "Fulfilled",
21571 "nodeType": "MemberAccess",
21572 "referencedDeclaration": null,
21573 "src": "4405:16:33",
21574 "typeDescriptions": {
21575 "typeIdentifier": "t_enum$_Status_$8844",
21576 "typeString": "enum Dispatch.Status"
21577 }
21578 },
21579 "src": "4395:26:33",
21580 "typeDescriptions": {
21581 "typeIdentifier": "t_bool",
21582 "typeString": "bool"
21583 }
21584 },
21585 {
21586 "argumentTypes": null,
21587 "hexValue": "4572726f723a2053746174757320616c72656164792066756c66696c6c6564",
21588 "id": 9135,
21589 "isConstant": false,
21590 "isLValue": false,
21591 "isPure": true,
21592 "kind": "string",
21593 "lValueRequested": false,
21594 "nodeType": "Literal",
21595 "src": "4423:33:33",
21596 "subdenomination": null,
21597 "typeDescriptions": {
21598 "typeIdentifier": "t_stringliteral_1c5e07f241dc3876769a05356e413a5775addd59819452481acae43a879622b0",
21599 "typeString": "literal_string \"Error: Status already fulfilled\""
21600 },
21601 "value": "Error: Status already fulfilled"
21602 }
21603 ],
21604 "expression": {
21605 "argumentTypes": [
21606 {
21607 "typeIdentifier": "t_bool",
21608 "typeString": "bool"
21609 },
21610 {
21611 "typeIdentifier": "t_stringliteral_1c5e07f241dc3876769a05356e413a5775addd59819452481acae43a879622b0",
21612 "typeString": "literal_string \"Error: Status already fulfilled\""
21613 }
21614 ],
21615 "id": 9130,
21616 "name": "require",
21617 "nodeType": "Identifier",
21618 "overloadedDeclarations": [
21619 12095,
21620 12096
21621 ],
21622 "referencedDeclaration": 12096,
21623 "src": "4387:7:33",
21624 "typeDescriptions": {
21625 "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
21626 "typeString": "function (bool,string memory) pure"
21627 }
21628 },
21629 "id": 9136,
21630 "isConstant": false,
21631 "isLValue": false,
21632 "isPure": false,
21633 "kind": "functionCall",
21634 "lValueRequested": false,
21635 "names": [],
21636 "nodeType": "FunctionCall",
21637 "src": "4387:70:33",
21638 "typeDescriptions": {
21639 "typeIdentifier": "t_tuple$__$",
21640 "typeString": "tuple()"
21641 }
21642 },
21643 "id": 9137,
21644 "nodeType": "ExpressionStatement",
21645 "src": "4387:70:33"
21646 },
21647 {
21648 "assignments": [
21649 9139
21650 ],
21651 "declarations": [
21652 {
21653 "constant": false,
21654 "id": 9139,
21655 "name": "subscriber",
21656 "nodeType": "VariableDeclaration",
21657 "scope": 9218,
21658 "src": "4468:18:33",
21659 "stateVariable": false,
21660 "storageLocation": "default",
21661 "typeDescriptions": {
21662 "typeIdentifier": "t_address",
21663 "typeString": "address"
21664 },
21665 "typeName": {
21666 "id": 9138,
21667 "name": "address",
21668 "nodeType": "ElementaryTypeName",
21669 "src": "4468:7:33",
21670 "typeDescriptions": {
21671 "typeIdentifier": "t_address",
21672 "typeString": "address"
21673 }
21674 },
21675 "value": null,
21676 "visibility": "internal"
21677 }
21678 ],
21679 "id": 9143,
21680 "initialValue": {
21681 "argumentTypes": null,
21682 "arguments": [
21683 {
21684 "argumentTypes": null,
21685 "id": 9141,
21686 "name": "id",
21687 "nodeType": "Identifier",
21688 "overloadedDeclarations": [],
21689 "referencedDeclaration": 9117,
21690 "src": "4503:2:33",
21691 "typeDescriptions": {
21692 "typeIdentifier": "t_uint256",
21693 "typeString": "uint256"
21694 }
21695 }
21696 ],
21697 "expression": {
21698 "argumentTypes": [
21699 {
21700 "typeIdentifier": "t_uint256",
21701 "typeString": "uint256"
21702 }
21703 ],
21704 "id": 9140,
21705 "name": "getSubscriber",
21706 "nodeType": "Identifier",
21707 "overloadedDeclarations": [
21708 9674
21709 ],
21710 "referencedDeclaration": 9674,
21711 "src": "4489:13:33",
21712 "typeDescriptions": {
21713 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
21714 "typeString": "function (uint256) view returns (address)"
21715 }
21716 },
21717 "id": 9142,
21718 "isConstant": false,
21719 "isLValue": false,
21720 "isPure": false,
21721 "kind": "functionCall",
21722 "lValueRequested": false,
21723 "names": [],
21724 "nodeType": "FunctionCall",
21725 "src": "4489:17:33",
21726 "typeDescriptions": {
21727 "typeIdentifier": "t_address",
21728 "typeString": "address"
21729 }
21730 },
21731 "nodeType": "VariableDeclarationStatement",
21732 "src": "4468:38:33"
21733 },
21734 {
21735 "assignments": [
21736 9145
21737 ],
21738 "declarations": [
21739 {
21740 "constant": false,
21741 "id": 9145,
21742 "name": "provider",
21743 "nodeType": "VariableDeclaration",
21744 "scope": 9218,
21745 "src": "4516:16:33",
21746 "stateVariable": false,
21747 "storageLocation": "default",
21748 "typeDescriptions": {
21749 "typeIdentifier": "t_address",
21750 "typeString": "address"
21751 },
21752 "typeName": {
21753 "id": 9144,
21754 "name": "address",
21755 "nodeType": "ElementaryTypeName",
21756 "src": "4516:7:33",
21757 "typeDescriptions": {
21758 "typeIdentifier": "t_address",
21759 "typeString": "address"
21760 }
21761 },
21762 "value": null,
21763 "visibility": "internal"
21764 }
21765 ],
21766 "id": 9149,
21767 "initialValue": {
21768 "argumentTypes": null,
21769 "arguments": [
21770 {
21771 "argumentTypes": null,
21772 "id": 9147,
21773 "name": "id",
21774 "nodeType": "Identifier",
21775 "overloadedDeclarations": [],
21776 "referencedDeclaration": 9117,
21777 "src": "4547:2:33",
21778 "typeDescriptions": {
21779 "typeIdentifier": "t_uint256",
21780 "typeString": "uint256"
21781 }
21782 }
21783 ],
21784 "expression": {
21785 "argumentTypes": [
21786 {
21787 "typeIdentifier": "t_uint256",
21788 "typeString": "uint256"
21789 }
21790 ],
21791 "id": 9146,
21792 "name": "getProvider",
21793 "nodeType": "Identifier",
21794 "overloadedDeclarations": [
21795 9652
21796 ],
21797 "referencedDeclaration": 9652,
21798 "src": "4535:11:33",
21799 "typeDescriptions": {
21800 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
21801 "typeString": "function (uint256) view returns (address)"
21802 }
21803 },
21804 "id": 9148,
21805 "isConstant": false,
21806 "isLValue": false,
21807 "isPure": false,
21808 "kind": "functionCall",
21809 "lValueRequested": false,
21810 "names": [],
21811 "nodeType": "FunctionCall",
21812 "src": "4535:15:33",
21813 "typeDescriptions": {
21814 "typeIdentifier": "t_address",
21815 "typeString": "address"
21816 }
21817 },
21818 "nodeType": "VariableDeclarationStatement",
21819 "src": "4516:34:33"
21820 },
21821 {
21822 "assignments": [
21823 9151
21824 ],
21825 "declarations": [
21826 {
21827 "constant": false,
21828 "id": 9151,
21829 "name": "endpoint",
21830 "nodeType": "VariableDeclaration",
21831 "scope": 9218,
21832 "src": "4560:16:33",
21833 "stateVariable": false,
21834 "storageLocation": "default",
21835 "typeDescriptions": {
21836 "typeIdentifier": "t_bytes32",
21837 "typeString": "bytes32"
21838 },
21839 "typeName": {
21840 "id": 9150,
21841 "name": "bytes32",
21842 "nodeType": "ElementaryTypeName",
21843 "src": "4560:7:33",
21844 "typeDescriptions": {
21845 "typeIdentifier": "t_bytes32",
21846 "typeString": "bytes32"
21847 }
21848 },
21849 "value": null,
21850 "visibility": "internal"
21851 }
21852 ],
21853 "id": 9155,
21854 "initialValue": {
21855 "argumentTypes": null,
21856 "arguments": [
21857 {
21858 "argumentTypes": null,
21859 "id": 9153,
21860 "name": "id",
21861 "nodeType": "Identifier",
21862 "overloadedDeclarations": [],
21863 "referencedDeclaration": 9117,
21864 "src": "4591:2:33",
21865 "typeDescriptions": {
21866 "typeIdentifier": "t_uint256",
21867 "typeString": "uint256"
21868 }
21869 }
21870 ],
21871 "expression": {
21872 "argumentTypes": [
21873 {
21874 "typeIdentifier": "t_uint256",
21875 "typeString": "uint256"
21876 }
21877 ],
21878 "id": 9152,
21879 "name": "getEndpoint",
21880 "nodeType": "Identifier",
21881 "overloadedDeclarations": [
21882 9694
21883 ],
21884 "referencedDeclaration": 9694,
21885 "src": "4579:11:33",
21886 "typeDescriptions": {
21887 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bytes32_$",
21888 "typeString": "function (uint256) view returns (bytes32)"
21889 }
21890 },
21891 "id": 9154,
21892 "isConstant": false,
21893 "isLValue": false,
21894 "isPure": false,
21895 "kind": "functionCall",
21896 "lValueRequested": false,
21897 "names": [],
21898 "nodeType": "FunctionCall",
21899 "src": "4579:15:33",
21900 "typeDescriptions": {
21901 "typeIdentifier": "t_bytes32",
21902 "typeString": "bytes32"
21903 }
21904 },
21905 "nodeType": "VariableDeclarationStatement",
21906 "src": "4560:34:33"
21907 },
21908 {
21909 "condition": {
21910 "argumentTypes": null,
21911 "commonType": {
21912 "typeIdentifier": "t_enum$_Status_$8844",
21913 "typeString": "enum Dispatch.Status"
21914 },
21915 "id": 9159,
21916 "isConstant": false,
21917 "isLValue": false,
21918 "isPure": false,
21919 "lValueRequested": false,
21920 "leftExpression": {
21921 "argumentTypes": null,
21922 "id": 9156,
21923 "name": "status",
21924 "nodeType": "Identifier",
21925 "overloadedDeclarations": [],
21926 "referencedDeclaration": 9123,
21927 "src": "4609:6:33",
21928 "typeDescriptions": {
21929 "typeIdentifier": "t_enum$_Status_$8844",
21930 "typeString": "enum Dispatch.Status"
21931 }
21932 },
21933 "nodeType": "BinaryOperation",
21934 "operator": "==",
21935 "rightExpression": {
21936 "argumentTypes": null,
21937 "expression": {
21938 "argumentTypes": null,
21939 "id": 9157,
21940 "name": "Status",
21941 "nodeType": "Identifier",
21942 "overloadedDeclarations": [],
21943 "referencedDeclaration": 8844,
21944 "src": "4619:6:33",
21945 "typeDescriptions": {
21946 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
21947 "typeString": "type(enum Dispatch.Status)"
21948 }
21949 },
21950 "id": 9158,
21951 "isConstant": false,
21952 "isLValue": false,
21953 "isPure": true,
21954 "lValueRequested": false,
21955 "memberName": "Canceled",
21956 "nodeType": "MemberAccess",
21957 "referencedDeclaration": null,
21958 "src": "4619:15:33",
21959 "typeDescriptions": {
21960 "typeIdentifier": "t_enum$_Status_$8844",
21961 "typeString": "enum Dispatch.Status"
21962 }
21963 },
21964 "src": "4609:25:33",
21965 "typeDescriptions": {
21966 "typeIdentifier": "t_bool",
21967 "typeString": "bool"
21968 }
21969 },
21970 "falseBody": null,
21971 "id": 9195,
21972 "nodeType": "IfStatement",
21973 "src": "4605:556:33",
21974 "trueBody": {
21975 "id": 9194,
21976 "nodeType": "Block",
21977 "src": "4636:525:33",
21978 "statements": [
21979 {
21980 "assignments": [
21981 9161
21982 ],
21983 "declarations": [
21984 {
21985 "constant": false,
21986 "id": 9161,
21987 "name": "canceled",
21988 "nodeType": "VariableDeclaration",
21989 "scope": 9218,
21990 "src": "4650:16:33",
21991 "stateVariable": false,
21992 "storageLocation": "default",
21993 "typeDescriptions": {
21994 "typeIdentifier": "t_uint256",
21995 "typeString": "uint256"
21996 },
21997 "typeName": {
21998 "id": 9160,
21999 "name": "uint256",
22000 "nodeType": "ElementaryTypeName",
22001 "src": "4650:7:33",
22002 "typeDescriptions": {
22003 "typeIdentifier": "t_uint256",
22004 "typeString": "uint256"
22005 }
22006 },
22007 "value": null,
22008 "visibility": "internal"
22009 }
22010 ],
22011 "id": 9165,
22012 "initialValue": {
22013 "argumentTypes": null,
22014 "arguments": [
22015 {
22016 "argumentTypes": null,
22017 "id": 9163,
22018 "name": "id",
22019 "nodeType": "Identifier",
22020 "overloadedDeclarations": [],
22021 "referencedDeclaration": 9117,
22022 "src": "4679:2:33",
22023 "typeDescriptions": {
22024 "typeIdentifier": "t_uint256",
22025 "typeString": "uint256"
22026 }
22027 }
22028 ],
22029 "expression": {
22030 "argumentTypes": [
22031 {
22032 "typeIdentifier": "t_uint256",
22033 "typeString": "uint256"
22034 }
22035 ],
22036 "id": 9162,
22037 "name": "getCancel",
22038 "nodeType": "Identifier",
22039 "overloadedDeclarations": [
22040 9734
22041 ],
22042 "referencedDeclaration": 9734,
22043 "src": "4669:9:33",
22044 "typeDescriptions": {
22045 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$",
22046 "typeString": "function (uint256) view returns (uint256)"
22047 }
22048 },
22049 "id": 9164,
22050 "isConstant": false,
22051 "isLValue": false,
22052 "isPure": false,
22053 "kind": "functionCall",
22054 "lValueRequested": false,
22055 "names": [],
22056 "nodeType": "FunctionCall",
22057 "src": "4669:13:33",
22058 "typeDescriptions": {
22059 "typeIdentifier": "t_uint256",
22060 "typeString": "uint256"
22061 }
22062 },
22063 "nodeType": "VariableDeclarationStatement",
22064 "src": "4650:32:33"
22065 },
22066 {
22067 "expression": {
22068 "argumentTypes": null,
22069 "arguments": [
22070 {
22071 "argumentTypes": null,
22072 "commonType": {
22073 "typeIdentifier": "t_uint256",
22074 "typeString": "uint256"
22075 },
22076 "id": 9170,
22077 "isConstant": false,
22078 "isLValue": false,
22079 "isPure": false,
22080 "lValueRequested": false,
22081 "leftExpression": {
22082 "argumentTypes": null,
22083 "expression": {
22084 "argumentTypes": null,
22085 "id": 9167,
22086 "name": "block",
22087 "nodeType": "Identifier",
22088 "overloadedDeclarations": [],
22089 "referencedDeclaration": 12082,
22090 "src": "4813:5:33",
22091 "typeDescriptions": {
22092 "typeIdentifier": "t_magic_block",
22093 "typeString": "block"
22094 }
22095 },
22096 "id": 9168,
22097 "isConstant": false,
22098 "isLValue": false,
22099 "isPure": false,
22100 "lValueRequested": false,
22101 "memberName": "number",
22102 "nodeType": "MemberAccess",
22103 "referencedDeclaration": null,
22104 "src": "4813:12:33",
22105 "typeDescriptions": {
22106 "typeIdentifier": "t_uint256",
22107 "typeString": "uint256"
22108 }
22109 },
22110 "nodeType": "BinaryOperation",
22111 "operator": "==",
22112 "rightExpression": {
22113 "argumentTypes": null,
22114 "id": 9169,
22115 "name": "canceled",
22116 "nodeType": "Identifier",
22117 "overloadedDeclarations": [],
22118 "referencedDeclaration": 9161,
22119 "src": "4829:8:33",
22120 "typeDescriptions": {
22121 "typeIdentifier": "t_uint256",
22122 "typeString": "uint256"
22123 }
22124 },
22125 "src": "4813:24:33",
22126 "typeDescriptions": {
22127 "typeIdentifier": "t_bool",
22128 "typeString": "bool"
22129 }
22130 },
22131 {
22132 "argumentTypes": null,
22133 "hexValue": "4572726f723a2043616e63656c2069676e6f726564",
22134 "id": 9171,
22135 "isConstant": false,
22136 "isLValue": false,
22137 "isPure": true,
22138 "kind": "string",
22139 "lValueRequested": false,
22140 "nodeType": "Literal",
22141 "src": "4839:23:33",
22142 "subdenomination": null,
22143 "typeDescriptions": {
22144 "typeIdentifier": "t_stringliteral_79eb345c3feb68972a5fb345b34567da2263cb5b5a3e718831283d06e869e8b5",
22145 "typeString": "literal_string \"Error: Cancel ignored\""
22146 },
22147 "value": "Error: Cancel ignored"
22148 }
22149 ],
22150 "expression": {
22151 "argumentTypes": [
22152 {
22153 "typeIdentifier": "t_bool",
22154 "typeString": "bool"
22155 },
22156 {
22157 "typeIdentifier": "t_stringliteral_79eb345c3feb68972a5fb345b34567da2263cb5b5a3e718831283d06e869e8b5",
22158 "typeString": "literal_string \"Error: Cancel ignored\""
22159 }
22160 ],
22161 "id": 9166,
22162 "name": "require",
22163 "nodeType": "Identifier",
22164 "overloadedDeclarations": [
22165 12095,
22166 12096
22167 ],
22168 "referencedDeclaration": 12096,
22169 "src": "4805:7:33",
22170 "typeDescriptions": {
22171 "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
22172 "typeString": "function (bool,string memory) pure"
22173 }
22174 },
22175 "id": 9172,
22176 "isConstant": false,
22177 "isLValue": false,
22178 "isPure": false,
22179 "kind": "functionCall",
22180 "lValueRequested": false,
22181 "names": [],
22182 "nodeType": "FunctionCall",
22183 "src": "4805:58:33",
22184 "typeDescriptions": {
22185 "typeIdentifier": "t_tuple$__$",
22186 "typeString": "tuple()"
22187 }
22188 },
22189 "id": 9173,
22190 "nodeType": "ExpressionStatement",
22191 "src": "4805:58:33"
22192 },
22193 {
22194 "expression": {
22195 "argumentTypes": null,
22196 "arguments": [
22197 {
22198 "argumentTypes": null,
22199 "id": 9175,
22200 "name": "id",
22201 "nodeType": "Identifier",
22202 "overloadedDeclarations": [],
22203 "referencedDeclaration": 9117,
22204 "src": "4924:2:33",
22205 "typeDescriptions": {
22206 "typeIdentifier": "t_uint256",
22207 "typeString": "uint256"
22208 }
22209 },
22210 {
22211 "argumentTypes": null,
22212 "hexValue": "66616c7365",
22213 "id": 9176,
22214 "isConstant": false,
22215 "isLValue": false,
22216 "isPure": true,
22217 "kind": "bool",
22218 "lValueRequested": false,
22219 "nodeType": "Literal",
22220 "src": "4928:5:33",
22221 "subdenomination": null,
22222 "typeDescriptions": {
22223 "typeIdentifier": "t_bool",
22224 "typeString": "bool"
22225 },
22226 "value": "false"
22227 }
22228 ],
22229 "expression": {
22230 "argumentTypes": [
22231 {
22232 "typeIdentifier": "t_uint256",
22233 "typeString": "uint256"
22234 },
22235 {
22236 "typeIdentifier": "t_bool",
22237 "typeString": "bool"
22238 }
22239 ],
22240 "id": 9174,
22241 "name": "setCanceled",
22242 "nodeType": "Identifier",
22243 "overloadedDeclarations": [],
22244 "referencedDeclaration": 9991,
22245 "src": "4912:11:33",
22246 "typeDescriptions": {
22247 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bool_$returns$__$",
22248 "typeString": "function (uint256,bool)"
22249 }
22250 },
22251 "id": 9177,
22252 "isConstant": false,
22253 "isLValue": false,
22254 "isPure": false,
22255 "kind": "functionCall",
22256 "lValueRequested": false,
22257 "names": [],
22258 "nodeType": "FunctionCall",
22259 "src": "4912:22:33",
22260 "typeDescriptions": {
22261 "typeIdentifier": "t_tuple$__$",
22262 "typeString": "tuple()"
22263 }
22264 },
22265 "id": 9178,
22266 "nodeType": "ExpressionStatement",
22267 "src": "4912:22:33"
22268 },
22269 {
22270 "expression": {
22271 "argumentTypes": null,
22272 "arguments": [
22273 {
22274 "argumentTypes": null,
22275 "id": 9182,
22276 "name": "subscriber",
22277 "nodeType": "Identifier",
22278 "overloadedDeclarations": [],
22279 "referencedDeclaration": 9139,
22280 "src": "5022:10:33",
22281 "typeDescriptions": {
22282 "typeIdentifier": "t_address",
22283 "typeString": "address"
22284 }
22285 },
22286 {
22287 "argumentTypes": null,
22288 "id": 9183,
22289 "name": "provider",
22290 "nodeType": "Identifier",
22291 "overloadedDeclarations": [],
22292 "referencedDeclaration": 9145,
22293 "src": "5034:8:33",
22294 "typeDescriptions": {
22295 "typeIdentifier": "t_address",
22296 "typeString": "address"
22297 }
22298 },
22299 {
22300 "argumentTypes": null,
22301 "id": 9184,
22302 "name": "endpoint",
22303 "nodeType": "Identifier",
22304 "overloadedDeclarations": [],
22305 "referencedDeclaration": 9151,
22306 "src": "5044:8:33",
22307 "typeDescriptions": {
22308 "typeIdentifier": "t_bytes32",
22309 "typeString": "bytes32"
22310 }
22311 },
22312 {
22313 "argumentTypes": null,
22314 "hexValue": "31",
22315 "id": 9185,
22316 "isConstant": false,
22317 "isLValue": false,
22318 "isPure": true,
22319 "kind": "number",
22320 "lValueRequested": false,
22321 "nodeType": "Literal",
22322 "src": "5054:1:33",
22323 "subdenomination": null,
22324 "typeDescriptions": {
22325 "typeIdentifier": "t_rational_1_by_1",
22326 "typeString": "int_const 1"
22327 },
22328 "value": "1"
22329 }
22330 ],
22331 "expression": {
22332 "argumentTypes": [
22333 {
22334 "typeIdentifier": "t_address",
22335 "typeString": "address"
22336 },
22337 {
22338 "typeIdentifier": "t_address",
22339 "typeString": "address"
22340 },
22341 {
22342 "typeIdentifier": "t_bytes32",
22343 "typeString": "bytes32"
22344 },
22345 {
22346 "typeIdentifier": "t_rational_1_by_1",
22347 "typeString": "int_const 1"
22348 }
22349 ],
22350 "expression": {
22351 "argumentTypes": null,
22352 "id": 9179,
22353 "name": "bondage",
22354 "nodeType": "Identifier",
22355 "overloadedDeclarations": [],
22356 "referencedDeclaration": 8961,
22357 "src": "5003:7:33",
22358 "typeDescriptions": {
22359 "typeIdentifier": "t_contract$_BondageInterface_$7926",
22360 "typeString": "contract BondageInterface"
22361 }
22362 },
22363 "id": 9181,
22364 "isConstant": false,
22365 "isLValue": false,
22366 "isPure": false,
22367 "lValueRequested": false,
22368 "memberName": "escrowDots",
22369 "nodeType": "MemberAccess",
22370 "referencedDeclaration": 7839,
22371 "src": "5003:18:33",
22372 "typeDescriptions": {
22373 "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$returns$_t_bool_$",
22374 "typeString": "function (address,address,bytes32,uint256) external returns (bool)"
22375 }
22376 },
22377 "id": 9186,
22378 "isConstant": false,
22379 "isLValue": false,
22380 "isPure": false,
22381 "kind": "functionCall",
22382 "lValueRequested": false,
22383 "names": [],
22384 "nodeType": "FunctionCall",
22385 "src": "5003:53:33",
22386 "typeDescriptions": {
22387 "typeIdentifier": "t_bool",
22388 "typeString": "bool"
22389 }
22390 },
22391 "id": 9187,
22392 "nodeType": "ExpressionStatement",
22393 "src": "5003:53:33"
22394 },
22395 {
22396 "eventCall": {
22397 "argumentTypes": null,
22398 "arguments": [
22399 {
22400 "argumentTypes": null,
22401 "id": 9189,
22402 "name": "id",
22403 "nodeType": "Identifier",
22404 "overloadedDeclarations": [],
22405 "referencedDeclaration": 9117,
22406 "src": "5125:2:33",
22407 "typeDescriptions": {
22408 "typeIdentifier": "t_uint256",
22409 "typeString": "uint256"
22410 }
22411 },
22412 {
22413 "argumentTypes": null,
22414 "id": 9190,
22415 "name": "subscriber",
22416 "nodeType": "Identifier",
22417 "overloadedDeclarations": [],
22418 "referencedDeclaration": 9139,
22419 "src": "5129:10:33",
22420 "typeDescriptions": {
22421 "typeIdentifier": "t_address",
22422 "typeString": "address"
22423 }
22424 },
22425 {
22426 "argumentTypes": null,
22427 "id": 9191,
22428 "name": "provider",
22429 "nodeType": "Identifier",
22430 "overloadedDeclarations": [],
22431 "referencedDeclaration": 9145,
22432 "src": "5141:8:33",
22433 "typeDescriptions": {
22434 "typeIdentifier": "t_address",
22435 "typeString": "address"
22436 }
22437 }
22438 ],
22439 "expression": {
22440 "argumentTypes": [
22441 {
22442 "typeIdentifier": "t_uint256",
22443 "typeString": "uint256"
22444 },
22445 {
22446 "typeIdentifier": "t_address",
22447 "typeString": "address"
22448 },
22449 {
22450 "typeIdentifier": "t_address",
22451 "typeString": "address"
22452 }
22453 ],
22454 "id": 9188,
22455 "name": "RevertCancelation",
22456 "nodeType": "Identifier",
22457 "overloadedDeclarations": [],
22458 "referencedDeclaration": 8959,
22459 "src": "5107:17:33",
22460 "typeDescriptions": {
22461 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$__$",
22462 "typeString": "function (uint256,address,address)"
22463 }
22464 },
22465 "id": 9192,
22466 "isConstant": false,
22467 "isLValue": false,
22468 "isPure": false,
22469 "kind": "functionCall",
22470 "lValueRequested": false,
22471 "names": [],
22472 "nodeType": "FunctionCall",
22473 "src": "5107:43:33",
22474 "typeDescriptions": {
22475 "typeIdentifier": "t_tuple$__$",
22476 "typeString": "tuple()"
22477 }
22478 },
22479 "id": 9193,
22480 "nodeType": "EmitStatement",
22481 "src": "5102:48:33"
22482 }
22483 ]
22484 }
22485 },
22486 {
22487 "expression": {
22488 "argumentTypes": null,
22489 "arguments": [
22490 {
22491 "argumentTypes": null,
22492 "id": 9197,
22493 "name": "id",
22494 "nodeType": "Identifier",
22495 "overloadedDeclarations": [],
22496 "referencedDeclaration": 9117,
22497 "src": "5184:2:33",
22498 "typeDescriptions": {
22499 "typeIdentifier": "t_uint256",
22500 "typeString": "uint256"
22501 }
22502 }
22503 ],
22504 "expression": {
22505 "argumentTypes": [
22506 {
22507 "typeIdentifier": "t_uint256",
22508 "typeString": "uint256"
22509 }
22510 ],
22511 "id": 9196,
22512 "name": "setFulfilled",
22513 "nodeType": "Identifier",
22514 "overloadedDeclarations": [],
22515 "referencedDeclaration": 9916,
22516 "src": "5171:12:33",
22517 "typeDescriptions": {
22518 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
22519 "typeString": "function (uint256)"
22520 }
22521 },
22522 "id": 9198,
22523 "isConstant": false,
22524 "isLValue": false,
22525 "isPure": false,
22526 "kind": "functionCall",
22527 "lValueRequested": false,
22528 "names": [],
22529 "nodeType": "FunctionCall",
22530 "src": "5171:16:33",
22531 "typeDescriptions": {
22532 "typeIdentifier": "t_tuple$__$",
22533 "typeString": "tuple()"
22534 }
22535 },
22536 "id": 9199,
22537 "nodeType": "ExpressionStatement",
22538 "src": "5171:16:33"
22539 },
22540 {
22541 "expression": {
22542 "argumentTypes": null,
22543 "arguments": [
22544 {
22545 "argumentTypes": null,
22546 "id": 9203,
22547 "name": "subscriber",
22548 "nodeType": "Identifier",
22549 "overloadedDeclarations": [],
22550 "referencedDeclaration": 9139,
22551 "src": "5218:10:33",
22552 "typeDescriptions": {
22553 "typeIdentifier": "t_address",
22554 "typeString": "address"
22555 }
22556 },
22557 {
22558 "argumentTypes": null,
22559 "id": 9204,
22560 "name": "provider",
22561 "nodeType": "Identifier",
22562 "overloadedDeclarations": [],
22563 "referencedDeclaration": 9145,
22564 "src": "5230:8:33",
22565 "typeDescriptions": {
22566 "typeIdentifier": "t_address",
22567 "typeString": "address"
22568 }
22569 },
22570 {
22571 "argumentTypes": null,
22572 "id": 9205,
22573 "name": "endpoint",
22574 "nodeType": "Identifier",
22575 "overloadedDeclarations": [],
22576 "referencedDeclaration": 9151,
22577 "src": "5240:8:33",
22578 "typeDescriptions": {
22579 "typeIdentifier": "t_bytes32",
22580 "typeString": "bytes32"
22581 }
22582 },
22583 {
22584 "argumentTypes": null,
22585 "hexValue": "31",
22586 "id": 9206,
22587 "isConstant": false,
22588 "isLValue": false,
22589 "isPure": true,
22590 "kind": "number",
22591 "lValueRequested": false,
22592 "nodeType": "Literal",
22593 "src": "5250:1:33",
22594 "subdenomination": null,
22595 "typeDescriptions": {
22596 "typeIdentifier": "t_rational_1_by_1",
22597 "typeString": "int_const 1"
22598 },
22599 "value": "1"
22600 }
22601 ],
22602 "expression": {
22603 "argumentTypes": [
22604 {
22605 "typeIdentifier": "t_address",
22606 "typeString": "address"
22607 },
22608 {
22609 "typeIdentifier": "t_address",
22610 "typeString": "address"
22611 },
22612 {
22613 "typeIdentifier": "t_bytes32",
22614 "typeString": "bytes32"
22615 },
22616 {
22617 "typeIdentifier": "t_rational_1_by_1",
22618 "typeString": "int_const 1"
22619 }
22620 ],
22621 "expression": {
22622 "argumentTypes": null,
22623 "id": 9200,
22624 "name": "bondage",
22625 "nodeType": "Identifier",
22626 "overloadedDeclarations": [],
22627 "referencedDeclaration": 8961,
22628 "src": "5198:7:33",
22629 "typeDescriptions": {
22630 "typeIdentifier": "t_contract$_BondageInterface_$7926",
22631 "typeString": "contract BondageInterface"
22632 }
22633 },
22634 "id": 9202,
22635 "isConstant": false,
22636 "isLValue": false,
22637 "isPure": false,
22638 "lValueRequested": false,
22639 "memberName": "releaseDots",
22640 "nodeType": "MemberAccess",
22641 "referencedDeclaration": 7852,
22642 "src": "5198:19:33",
22643 "typeDescriptions": {
22644 "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$returns$_t_bool_$",
22645 "typeString": "function (address,address,bytes32,uint256) external returns (bool)"
22646 }
22647 },
22648 "id": 9207,
22649 "isConstant": false,
22650 "isLValue": false,
22651 "isPure": false,
22652 "kind": "functionCall",
22653 "lValueRequested": false,
22654 "names": [],
22655 "nodeType": "FunctionCall",
22656 "src": "5198:54:33",
22657 "typeDescriptions": {
22658 "typeIdentifier": "t_bool",
22659 "typeString": "bool"
22660 }
22661 },
22662 "id": 9208,
22663 "nodeType": "ExpressionStatement",
22664 "src": "5198:54:33"
22665 },
22666 {
22667 "eventCall": {
22668 "argumentTypes": null,
22669 "arguments": [
22670 {
22671 "argumentTypes": null,
22672 "id": 9210,
22673 "name": "subscriber",
22674 "nodeType": "Identifier",
22675 "overloadedDeclarations": [],
22676 "referencedDeclaration": 9139,
22677 "src": "5281:10:33",
22678 "typeDescriptions": {
22679 "typeIdentifier": "t_address",
22680 "typeString": "address"
22681 }
22682 },
22683 {
22684 "argumentTypes": null,
22685 "id": 9211,
22686 "name": "provider",
22687 "nodeType": "Identifier",
22688 "overloadedDeclarations": [],
22689 "referencedDeclaration": 9145,
22690 "src": "5293:8:33",
22691 "typeDescriptions": {
22692 "typeIdentifier": "t_address",
22693 "typeString": "address"
22694 }
22695 },
22696 {
22697 "argumentTypes": null,
22698 "id": 9212,
22699 "name": "endpoint",
22700 "nodeType": "Identifier",
22701 "overloadedDeclarations": [],
22702 "referencedDeclaration": 9151,
22703 "src": "5303:8:33",
22704 "typeDescriptions": {
22705 "typeIdentifier": "t_bytes32",
22706 "typeString": "bytes32"
22707 }
22708 }
22709 ],
22710 "expression": {
22711 "argumentTypes": [
22712 {
22713 "typeIdentifier": "t_address",
22714 "typeString": "address"
22715 },
22716 {
22717 "typeIdentifier": "t_address",
22718 "typeString": "address"
22719 },
22720 {
22721 "typeIdentifier": "t_bytes32",
22722 "typeString": "bytes32"
22723 }
22724 ],
22725 "id": 9209,
22726 "name": "FulfillQuery",
22727 "nodeType": "Identifier",
22728 "overloadedDeclarations": [],
22729 "referencedDeclaration": 8869,
22730 "src": "5268:12:33",
22731 "typeDescriptions": {
22732 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
22733 "typeString": "function (address,address,bytes32)"
22734 }
22735 },
22736 "id": 9213,
22737 "isConstant": false,
22738 "isLValue": false,
22739 "isPure": false,
22740 "kind": "functionCall",
22741 "lValueRequested": false,
22742 "names": [],
22743 "nodeType": "FunctionCall",
22744 "src": "5268:44:33",
22745 "typeDescriptions": {
22746 "typeIdentifier": "t_tuple$__$",
22747 "typeString": "tuple()"
22748 }
22749 },
22750 "id": 9214,
22751 "nodeType": "EmitStatement",
22752 "src": "5263:49:33"
22753 },
22754 {
22755 "expression": {
22756 "argumentTypes": null,
22757 "hexValue": "74727565",
22758 "id": 9215,
22759 "isConstant": false,
22760 "isLValue": false,
22761 "isPure": true,
22762 "kind": "bool",
22763 "lValueRequested": false,
22764 "nodeType": "Literal",
22765 "src": "5330:4:33",
22766 "subdenomination": null,
22767 "typeDescriptions": {
22768 "typeIdentifier": "t_bool",
22769 "typeString": "bool"
22770 },
22771 "value": "true"
22772 },
22773 "functionReturnParameters": 9121,
22774 "id": 9216,
22775 "nodeType": "Return",
22776 "src": "5323:11:33"
22777 }
22778 ]
22779 },
22780 "documentation": "@notice Transfer dots from Bondage escrow to data provider's Holder object under its own address\n @dev Called upon data-provider request fulfillment",
22781 "id": 9218,
22782 "implemented": true,
22783 "isConstructor": false,
22784 "isDeclaredConst": false,
22785 "modifiers": [],
22786 "name": "fulfillQuery",
22787 "nodeType": "FunctionDefinition",
22788 "parameters": {
22789 "id": 9118,
22790 "nodeType": "ParameterList",
22791 "parameters": [
22792 {
22793 "constant": false,
22794 "id": 9117,
22795 "name": "id",
22796 "nodeType": "VariableDeclaration",
22797 "scope": 9218,
22798 "src": "4294:10:33",
22799 "stateVariable": false,
22800 "storageLocation": "default",
22801 "typeDescriptions": {
22802 "typeIdentifier": "t_uint256",
22803 "typeString": "uint256"
22804 },
22805 "typeName": {
22806 "id": 9116,
22807 "name": "uint256",
22808 "nodeType": "ElementaryTypeName",
22809 "src": "4294:7:33",
22810 "typeDescriptions": {
22811 "typeIdentifier": "t_uint256",
22812 "typeString": "uint256"
22813 }
22814 },
22815 "value": null,
22816 "visibility": "internal"
22817 }
22818 ],
22819 "src": "4293:12:33"
22820 },
22821 "payable": false,
22822 "returnParameters": {
22823 "id": 9121,
22824 "nodeType": "ParameterList",
22825 "parameters": [
22826 {
22827 "constant": false,
22828 "id": 9120,
22829 "name": "",
22830 "nodeType": "VariableDeclaration",
22831 "scope": 9218,
22832 "src": "4323:4:33",
22833 "stateVariable": false,
22834 "storageLocation": "default",
22835 "typeDescriptions": {
22836 "typeIdentifier": "t_bool",
22837 "typeString": "bool"
22838 },
22839 "typeName": {
22840 "id": 9119,
22841 "name": "bool",
22842 "nodeType": "ElementaryTypeName",
22843 "src": "4323:4:33",
22844 "typeDescriptions": {
22845 "typeIdentifier": "t_bool",
22846 "typeString": "bool"
22847 }
22848 },
22849 "value": null,
22850 "visibility": "internal"
22851 }
22852 ],
22853 "src": "4322:6:33"
22854 },
22855 "scope": 10008,
22856 "src": "4272:1069:33",
22857 "stateMutability": "nonpayable",
22858 "superFunction": null,
22859 "visibility": "private"
22860 },
22861 {
22862 "body": {
22863 "id": 9285,
22864 "nodeType": "Block",
22865 "src": "5485:571:33",
22866 "statements": [
22867 {
22868 "assignments": [
22869 9224
22870 ],
22871 "declarations": [
22872 {
22873 "constant": false,
22874 "id": 9224,
22875 "name": "subscriber",
22876 "nodeType": "VariableDeclaration",
22877 "scope": 9286,
22878 "src": "5495:18:33",
22879 "stateVariable": false,
22880 "storageLocation": "default",
22881 "typeDescriptions": {
22882 "typeIdentifier": "t_address",
22883 "typeString": "address"
22884 },
22885 "typeName": {
22886 "id": 9223,
22887 "name": "address",
22888 "nodeType": "ElementaryTypeName",
22889 "src": "5495:7:33",
22890 "typeDescriptions": {
22891 "typeIdentifier": "t_address",
22892 "typeString": "address"
22893 }
22894 },
22895 "value": null,
22896 "visibility": "internal"
22897 }
22898 ],
22899 "id": 9228,
22900 "initialValue": {
22901 "argumentTypes": null,
22902 "arguments": [
22903 {
22904 "argumentTypes": null,
22905 "id": 9226,
22906 "name": "id",
22907 "nodeType": "Identifier",
22908 "overloadedDeclarations": [],
22909 "referencedDeclaration": 9220,
22910 "src": "5530:2:33",
22911 "typeDescriptions": {
22912 "typeIdentifier": "t_uint256",
22913 "typeString": "uint256"
22914 }
22915 }
22916 ],
22917 "expression": {
22918 "argumentTypes": [
22919 {
22920 "typeIdentifier": "t_uint256",
22921 "typeString": "uint256"
22922 }
22923 ],
22924 "id": 9225,
22925 "name": "getSubscriber",
22926 "nodeType": "Identifier",
22927 "overloadedDeclarations": [
22928 9674
22929 ],
22930 "referencedDeclaration": 9674,
22931 "src": "5516:13:33",
22932 "typeDescriptions": {
22933 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
22934 "typeString": "function (uint256) view returns (address)"
22935 }
22936 },
22937 "id": 9227,
22938 "isConstant": false,
22939 "isLValue": false,
22940 "isPure": false,
22941 "kind": "functionCall",
22942 "lValueRequested": false,
22943 "names": [],
22944 "nodeType": "FunctionCall",
22945 "src": "5516:17:33",
22946 "typeDescriptions": {
22947 "typeIdentifier": "t_address",
22948 "typeString": "address"
22949 }
22950 },
22951 "nodeType": "VariableDeclarationStatement",
22952 "src": "5495:38:33"
22953 },
22954 {
22955 "assignments": [
22956 9230
22957 ],
22958 "declarations": [
22959 {
22960 "constant": false,
22961 "id": 9230,
22962 "name": "provider",
22963 "nodeType": "VariableDeclaration",
22964 "scope": 9286,
22965 "src": "5543:16:33",
22966 "stateVariable": false,
22967 "storageLocation": "default",
22968 "typeDescriptions": {
22969 "typeIdentifier": "t_address",
22970 "typeString": "address"
22971 },
22972 "typeName": {
22973 "id": 9229,
22974 "name": "address",
22975 "nodeType": "ElementaryTypeName",
22976 "src": "5543:7:33",
22977 "typeDescriptions": {
22978 "typeIdentifier": "t_address",
22979 "typeString": "address"
22980 }
22981 },
22982 "value": null,
22983 "visibility": "internal"
22984 }
22985 ],
22986 "id": 9234,
22987 "initialValue": {
22988 "argumentTypes": null,
22989 "arguments": [
22990 {
22991 "argumentTypes": null,
22992 "id": 9232,
22993 "name": "id",
22994 "nodeType": "Identifier",
22995 "overloadedDeclarations": [],
22996 "referencedDeclaration": 9220,
22997 "src": "5574:2:33",
22998 "typeDescriptions": {
22999 "typeIdentifier": "t_uint256",
23000 "typeString": "uint256"
23001 }
23002 }
23003 ],
23004 "expression": {
23005 "argumentTypes": [
23006 {
23007 "typeIdentifier": "t_uint256",
23008 "typeString": "uint256"
23009 }
23010 ],
23011 "id": 9231,
23012 "name": "getProvider",
23013 "nodeType": "Identifier",
23014 "overloadedDeclarations": [
23015 9652
23016 ],
23017 "referencedDeclaration": 9652,
23018 "src": "5562:11:33",
23019 "typeDescriptions": {
23020 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
23021 "typeString": "function (uint256) view returns (address)"
23022 }
23023 },
23024 "id": 9233,
23025 "isConstant": false,
23026 "isLValue": false,
23027 "isPure": false,
23028 "kind": "functionCall",
23029 "lValueRequested": false,
23030 "names": [],
23031 "nodeType": "FunctionCall",
23032 "src": "5562:15:33",
23033 "typeDescriptions": {
23034 "typeIdentifier": "t_address",
23035 "typeString": "address"
23036 }
23037 },
23038 "nodeType": "VariableDeclarationStatement",
23039 "src": "5543:34:33"
23040 },
23041 {
23042 "assignments": [
23043 9236
23044 ],
23045 "declarations": [
23046 {
23047 "constant": false,
23048 "id": 9236,
23049 "name": "endpoint",
23050 "nodeType": "VariableDeclaration",
23051 "scope": 9286,
23052 "src": "5587:16:33",
23053 "stateVariable": false,
23054 "storageLocation": "default",
23055 "typeDescriptions": {
23056 "typeIdentifier": "t_bytes32",
23057 "typeString": "bytes32"
23058 },
23059 "typeName": {
23060 "id": 9235,
23061 "name": "bytes32",
23062 "nodeType": "ElementaryTypeName",
23063 "src": "5587:7:33",
23064 "typeDescriptions": {
23065 "typeIdentifier": "t_bytes32",
23066 "typeString": "bytes32"
23067 }
23068 },
23069 "value": null,
23070 "visibility": "internal"
23071 }
23072 ],
23073 "id": 9240,
23074 "initialValue": {
23075 "argumentTypes": null,
23076 "arguments": [
23077 {
23078 "argumentTypes": null,
23079 "id": 9238,
23080 "name": "id",
23081 "nodeType": "Identifier",
23082 "overloadedDeclarations": [],
23083 "referencedDeclaration": 9220,
23084 "src": "5618:2:33",
23085 "typeDescriptions": {
23086 "typeIdentifier": "t_uint256",
23087 "typeString": "uint256"
23088 }
23089 }
23090 ],
23091 "expression": {
23092 "argumentTypes": [
23093 {
23094 "typeIdentifier": "t_uint256",
23095 "typeString": "uint256"
23096 }
23097 ],
23098 "id": 9237,
23099 "name": "getEndpoint",
23100 "nodeType": "Identifier",
23101 "overloadedDeclarations": [
23102 9694
23103 ],
23104 "referencedDeclaration": 9694,
23105 "src": "5606:11:33",
23106 "typeDescriptions": {
23107 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bytes32_$",
23108 "typeString": "function (uint256) view returns (bytes32)"
23109 }
23110 },
23111 "id": 9239,
23112 "isConstant": false,
23113 "isLValue": false,
23114 "isPure": false,
23115 "kind": "functionCall",
23116 "lValueRequested": false,
23117 "names": [],
23118 "nodeType": "FunctionCall",
23119 "src": "5606:15:33",
23120 "typeDescriptions": {
23121 "typeIdentifier": "t_bytes32",
23122 "typeString": "bytes32"
23123 }
23124 },
23125 "nodeType": "VariableDeclarationStatement",
23126 "src": "5587:34:33"
23127 },
23128 {
23129 "expression": {
23130 "argumentTypes": null,
23131 "arguments": [
23132 {
23133 "argumentTypes": null,
23134 "commonType": {
23135 "typeIdentifier": "t_address",
23136 "typeString": "address"
23137 },
23138 "id": 9245,
23139 "isConstant": false,
23140 "isLValue": false,
23141 "isPure": false,
23142 "lValueRequested": false,
23143 "leftExpression": {
23144 "argumentTypes": null,
23145 "id": 9242,
23146 "name": "subscriber",
23147 "nodeType": "Identifier",
23148 "overloadedDeclarations": [],
23149 "referencedDeclaration": 9224,
23150 "src": "5640:10:33",
23151 "typeDescriptions": {
23152 "typeIdentifier": "t_address",
23153 "typeString": "address"
23154 }
23155 },
23156 "nodeType": "BinaryOperation",
23157 "operator": "==",
23158 "rightExpression": {
23159 "argumentTypes": null,
23160 "expression": {
23161 "argumentTypes": null,
23162 "id": 9243,
23163 "name": "msg",
23164 "nodeType": "Identifier",
23165 "overloadedDeclarations": [],
23166 "referencedDeclaration": 12092,
23167 "src": "5654:3:33",
23168 "typeDescriptions": {
23169 "typeIdentifier": "t_magic_message",
23170 "typeString": "msg"
23171 }
23172 },
23173 "id": 9244,
23174 "isConstant": false,
23175 "isLValue": false,
23176 "isPure": false,
23177 "lValueRequested": false,
23178 "memberName": "sender",
23179 "nodeType": "MemberAccess",
23180 "referencedDeclaration": null,
23181 "src": "5654:10:33",
23182 "typeDescriptions": {
23183 "typeIdentifier": "t_address",
23184 "typeString": "address"
23185 }
23186 },
23187 "src": "5640:24:33",
23188 "typeDescriptions": {
23189 "typeIdentifier": "t_bool",
23190 "typeString": "bool"
23191 }
23192 },
23193 {
23194 "argumentTypes": null,
23195 "hexValue": "4572726f723a2057726f6e672073756273637269626572",
23196 "id": 9246,
23197 "isConstant": false,
23198 "isLValue": false,
23199 "isPure": true,
23200 "kind": "string",
23201 "lValueRequested": false,
23202 "nodeType": "Literal",
23203 "src": "5666:25:33",
23204 "subdenomination": null,
23205 "typeDescriptions": {
23206 "typeIdentifier": "t_stringliteral_876aa35c9ee9174aab0d07c9a4bb26ccf179a2f85f32daf34f3642cb4f730e77",
23207 "typeString": "literal_string \"Error: Wrong subscriber\""
23208 },
23209 "value": "Error: Wrong subscriber"
23210 }
23211 ],
23212 "expression": {
23213 "argumentTypes": [
23214 {
23215 "typeIdentifier": "t_bool",
23216 "typeString": "bool"
23217 },
23218 {
23219 "typeIdentifier": "t_stringliteral_876aa35c9ee9174aab0d07c9a4bb26ccf179a2f85f32daf34f3642cb4f730e77",
23220 "typeString": "literal_string \"Error: Wrong subscriber\""
23221 }
23222 ],
23223 "id": 9241,
23224 "name": "require",
23225 "nodeType": "Identifier",
23226 "overloadedDeclarations": [
23227 12095,
23228 12096
23229 ],
23230 "referencedDeclaration": 12096,
23231 "src": "5632:7:33",
23232 "typeDescriptions": {
23233 "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
23234 "typeString": "function (bool,string memory) pure"
23235 }
23236 },
23237 "id": 9247,
23238 "isConstant": false,
23239 "isLValue": false,
23240 "isPure": false,
23241 "kind": "functionCall",
23242 "lValueRequested": false,
23243 "names": [],
23244 "nodeType": "FunctionCall",
23245 "src": "5632:60:33",
23246 "typeDescriptions": {
23247 "typeIdentifier": "t_tuple$__$",
23248 "typeString": "tuple()"
23249 }
23250 },
23251 "id": 9248,
23252 "nodeType": "ExpressionStatement",
23253 "src": "5632:60:33"
23254 },
23255 {
23256 "expression": {
23257 "argumentTypes": null,
23258 "arguments": [
23259 {
23260 "argumentTypes": null,
23261 "commonType": {
23262 "typeIdentifier": "t_enum$_Status_$8844",
23263 "typeString": "enum Dispatch.Status"
23264 },
23265 "id": 9257,
23266 "isConstant": false,
23267 "isLValue": false,
23268 "isPure": false,
23269 "lValueRequested": false,
23270 "leftExpression": {
23271 "argumentTypes": null,
23272 "arguments": [
23273 {
23274 "argumentTypes": null,
23275 "arguments": [
23276 {
23277 "argumentTypes": null,
23278 "id": 9252,
23279 "name": "id",
23280 "nodeType": "Identifier",
23281 "overloadedDeclarations": [],
23282 "referencedDeclaration": 9220,
23283 "src": "5727:2:33",
23284 "typeDescriptions": {
23285 "typeIdentifier": "t_uint256",
23286 "typeString": "uint256"
23287 }
23288 }
23289 ],
23290 "expression": {
23291 "argumentTypes": [
23292 {
23293 "typeIdentifier": "t_uint256",
23294 "typeString": "uint256"
23295 }
23296 ],
23297 "id": 9251,
23298 "name": "getStatus",
23299 "nodeType": "Identifier",
23300 "overloadedDeclarations": [
23301 9714
23302 ],
23303 "referencedDeclaration": 9714,
23304 "src": "5717:9:33",
23305 "typeDescriptions": {
23306 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$",
23307 "typeString": "function (uint256) view returns (uint256)"
23308 }
23309 },
23310 "id": 9253,
23311 "isConstant": false,
23312 "isLValue": false,
23313 "isPure": false,
23314 "kind": "functionCall",
23315 "lValueRequested": false,
23316 "names": [],
23317 "nodeType": "FunctionCall",
23318 "src": "5717:13:33",
23319 "typeDescriptions": {
23320 "typeIdentifier": "t_uint256",
23321 "typeString": "uint256"
23322 }
23323 }
23324 ],
23325 "expression": {
23326 "argumentTypes": [
23327 {
23328 "typeIdentifier": "t_uint256",
23329 "typeString": "uint256"
23330 }
23331 ],
23332 "id": 9250,
23333 "name": "Status",
23334 "nodeType": "Identifier",
23335 "overloadedDeclarations": [],
23336 "referencedDeclaration": 8844,
23337 "src": "5710:6:33",
23338 "typeDescriptions": {
23339 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
23340 "typeString": "type(enum Dispatch.Status)"
23341 }
23342 },
23343 "id": 9254,
23344 "isConstant": false,
23345 "isLValue": false,
23346 "isPure": false,
23347 "kind": "typeConversion",
23348 "lValueRequested": false,
23349 "names": [],
23350 "nodeType": "FunctionCall",
23351 "src": "5710:21:33",
23352 "typeDescriptions": {
23353 "typeIdentifier": "t_enum$_Status_$8844",
23354 "typeString": "enum Dispatch.Status"
23355 }
23356 },
23357 "nodeType": "BinaryOperation",
23358 "operator": "==",
23359 "rightExpression": {
23360 "argumentTypes": null,
23361 "expression": {
23362 "argumentTypes": null,
23363 "id": 9255,
23364 "name": "Status",
23365 "nodeType": "Identifier",
23366 "overloadedDeclarations": [],
23367 "referencedDeclaration": 8844,
23368 "src": "5735:6:33",
23369 "typeDescriptions": {
23370 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
23371 "typeString": "type(enum Dispatch.Status)"
23372 }
23373 },
23374 "id": 9256,
23375 "isConstant": false,
23376 "isLValue": false,
23377 "isPure": true,
23378 "lValueRequested": false,
23379 "memberName": "Pending",
23380 "nodeType": "MemberAccess",
23381 "referencedDeclaration": null,
23382 "src": "5735:14:33",
23383 "typeDescriptions": {
23384 "typeIdentifier": "t_enum$_Status_$8844",
23385 "typeString": "enum Dispatch.Status"
23386 }
23387 },
23388 "src": "5710:39:33",
23389 "typeDescriptions": {
23390 "typeIdentifier": "t_bool",
23391 "typeString": "bool"
23392 }
23393 },
23394 {
23395 "argumentTypes": null,
23396 "hexValue": "4572726f723a205175657279206973206e6f742070656e64696e67",
23397 "id": 9258,
23398 "isConstant": false,
23399 "isLValue": false,
23400 "isPure": true,
23401 "kind": "string",
23402 "lValueRequested": false,
23403 "nodeType": "Literal",
23404 "src": "5751:29:33",
23405 "subdenomination": null,
23406 "typeDescriptions": {
23407 "typeIdentifier": "t_stringliteral_9f7d2f19dc2458805632053e84959b861a963c6259d290d3506ac0341fc63414",
23408 "typeString": "literal_string \"Error: Query is not pending\""
23409 },
23410 "value": "Error: Query is not pending"
23411 }
23412 ],
23413 "expression": {
23414 "argumentTypes": [
23415 {
23416 "typeIdentifier": "t_bool",
23417 "typeString": "bool"
23418 },
23419 {
23420 "typeIdentifier": "t_stringliteral_9f7d2f19dc2458805632053e84959b861a963c6259d290d3506ac0341fc63414",
23421 "typeString": "literal_string \"Error: Query is not pending\""
23422 }
23423 ],
23424 "id": 9249,
23425 "name": "require",
23426 "nodeType": "Identifier",
23427 "overloadedDeclarations": [
23428 12095,
23429 12096
23430 ],
23431 "referencedDeclaration": 12096,
23432 "src": "5702:7:33",
23433 "typeDescriptions": {
23434 "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
23435 "typeString": "function (bool,string memory) pure"
23436 }
23437 },
23438 "id": 9259,
23439 "isConstant": false,
23440 "isLValue": false,
23441 "isPure": false,
23442 "kind": "functionCall",
23443 "lValueRequested": false,
23444 "names": [],
23445 "nodeType": "FunctionCall",
23446 "src": "5702:79:33",
23447 "typeDescriptions": {
23448 "typeIdentifier": "t_tuple$__$",
23449 "typeString": "tuple()"
23450 }
23451 },
23452 "id": 9260,
23453 "nodeType": "ExpressionStatement",
23454 "src": "5702:79:33"
23455 },
23456 {
23457 "expression": {
23458 "argumentTypes": null,
23459 "arguments": [
23460 {
23461 "argumentTypes": null,
23462 "id": 9262,
23463 "name": "id",
23464 "nodeType": "Identifier",
23465 "overloadedDeclarations": [],
23466 "referencedDeclaration": 9220,
23467 "src": "5832:2:33",
23468 "typeDescriptions": {
23469 "typeIdentifier": "t_uint256",
23470 "typeString": "uint256"
23471 }
23472 },
23473 {
23474 "argumentTypes": null,
23475 "hexValue": "74727565",
23476 "id": 9263,
23477 "isConstant": false,
23478 "isLValue": false,
23479 "isPure": true,
23480 "kind": "bool",
23481 "lValueRequested": false,
23482 "nodeType": "Literal",
23483 "src": "5836:4:33",
23484 "subdenomination": null,
23485 "typeDescriptions": {
23486 "typeIdentifier": "t_bool",
23487 "typeString": "bool"
23488 },
23489 "value": "true"
23490 }
23491 ],
23492 "expression": {
23493 "argumentTypes": [
23494 {
23495 "typeIdentifier": "t_uint256",
23496 "typeString": "uint256"
23497 },
23498 {
23499 "typeIdentifier": "t_bool",
23500 "typeString": "bool"
23501 }
23502 ],
23503 "id": 9261,
23504 "name": "setCanceled",
23505 "nodeType": "Identifier",
23506 "overloadedDeclarations": [],
23507 "referencedDeclaration": 9991,
23508 "src": "5820:11:33",
23509 "typeDescriptions": {
23510 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bool_$returns$__$",
23511 "typeString": "function (uint256,bool)"
23512 }
23513 },
23514 "id": 9264,
23515 "isConstant": false,
23516 "isLValue": false,
23517 "isPure": false,
23518 "kind": "functionCall",
23519 "lValueRequested": false,
23520 "names": [],
23521 "nodeType": "FunctionCall",
23522 "src": "5820:21:33",
23523 "typeDescriptions": {
23524 "typeIdentifier": "t_tuple$__$",
23525 "typeString": "tuple()"
23526 }
23527 },
23528 "id": 9265,
23529 "nodeType": "ExpressionStatement",
23530 "src": "5820:21:33"
23531 },
23532 {
23533 "expression": {
23534 "argumentTypes": null,
23535 "arguments": [
23536 {
23537 "argumentTypes": null,
23538 "id": 9269,
23539 "name": "subscriber",
23540 "nodeType": "Identifier",
23541 "overloadedDeclarations": [],
23542 "referencedDeclaration": 9224,
23543 "src": "5916:10:33",
23544 "typeDescriptions": {
23545 "typeIdentifier": "t_address",
23546 "typeString": "address"
23547 }
23548 },
23549 {
23550 "argumentTypes": null,
23551 "id": 9270,
23552 "name": "provider",
23553 "nodeType": "Identifier",
23554 "overloadedDeclarations": [],
23555 "referencedDeclaration": 9230,
23556 "src": "5928:8:33",
23557 "typeDescriptions": {
23558 "typeIdentifier": "t_address",
23559 "typeString": "address"
23560 }
23561 },
23562 {
23563 "argumentTypes": null,
23564 "id": 9271,
23565 "name": "endpoint",
23566 "nodeType": "Identifier",
23567 "overloadedDeclarations": [],
23568 "referencedDeclaration": 9236,
23569 "src": "5938:8:33",
23570 "typeDescriptions": {
23571 "typeIdentifier": "t_bytes32",
23572 "typeString": "bytes32"
23573 }
23574 },
23575 {
23576 "argumentTypes": null,
23577 "hexValue": "31",
23578 "id": 9272,
23579 "isConstant": false,
23580 "isLValue": false,
23581 "isPure": true,
23582 "kind": "number",
23583 "lValueRequested": false,
23584 "nodeType": "Literal",
23585 "src": "5948:1:33",
23586 "subdenomination": null,
23587 "typeDescriptions": {
23588 "typeIdentifier": "t_rational_1_by_1",
23589 "typeString": "int_const 1"
23590 },
23591 "value": "1"
23592 }
23593 ],
23594 "expression": {
23595 "argumentTypes": [
23596 {
23597 "typeIdentifier": "t_address",
23598 "typeString": "address"
23599 },
23600 {
23601 "typeIdentifier": "t_address",
23602 "typeString": "address"
23603 },
23604 {
23605 "typeIdentifier": "t_bytes32",
23606 "typeString": "bytes32"
23607 },
23608 {
23609 "typeIdentifier": "t_rational_1_by_1",
23610 "typeString": "int_const 1"
23611 }
23612 ],
23613 "expression": {
23614 "argumentTypes": null,
23615 "id": 9266,
23616 "name": "bondage",
23617 "nodeType": "Identifier",
23618 "overloadedDeclarations": [],
23619 "referencedDeclaration": 8961,
23620 "src": "5897:7:33",
23621 "typeDescriptions": {
23622 "typeIdentifier": "t_contract$_BondageInterface_$7926",
23623 "typeString": "contract BondageInterface"
23624 }
23625 },
23626 "id": 9268,
23627 "isConstant": false,
23628 "isLValue": false,
23629 "isPure": false,
23630 "lValueRequested": false,
23631 "memberName": "returnDots",
23632 "nodeType": "MemberAccess",
23633 "referencedDeclaration": 7865,
23634 "src": "5897:18:33",
23635 "typeDescriptions": {
23636 "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$returns$_t_bool_$",
23637 "typeString": "function (address,address,bytes32,uint256) external returns (bool)"
23638 }
23639 },
23640 "id": 9273,
23641 "isConstant": false,
23642 "isLValue": false,
23643 "isPure": false,
23644 "kind": "functionCall",
23645 "lValueRequested": false,
23646 "names": [],
23647 "nodeType": "FunctionCall",
23648 "src": "5897:53:33",
23649 "typeDescriptions": {
23650 "typeIdentifier": "t_bool",
23651 "typeString": "bool"
23652 }
23653 },
23654 "id": 9274,
23655 "nodeType": "ExpressionStatement",
23656 "src": "5897:53:33"
23657 },
23658 {
23659 "eventCall": {
23660 "argumentTypes": null,
23661 "arguments": [
23662 {
23663 "argumentTypes": null,
23664 "id": 9276,
23665 "name": "id",
23666 "nodeType": "Identifier",
23667 "overloadedDeclarations": [],
23668 "referencedDeclaration": 9220,
23669 "src": "6010:2:33",
23670 "typeDescriptions": {
23671 "typeIdentifier": "t_uint256",
23672 "typeString": "uint256"
23673 }
23674 },
23675 {
23676 "argumentTypes": null,
23677 "arguments": [
23678 {
23679 "argumentTypes": null,
23680 "id": 9278,
23681 "name": "id",
23682 "nodeType": "Identifier",
23683 "overloadedDeclarations": [],
23684 "referencedDeclaration": 9220,
23685 "src": "6028:2:33",
23686 "typeDescriptions": {
23687 "typeIdentifier": "t_uint256",
23688 "typeString": "uint256"
23689 }
23690 }
23691 ],
23692 "expression": {
23693 "argumentTypes": [
23694 {
23695 "typeIdentifier": "t_uint256",
23696 "typeString": "uint256"
23697 }
23698 ],
23699 "id": 9277,
23700 "name": "getSubscriber",
23701 "nodeType": "Identifier",
23702 "overloadedDeclarations": [
23703 9674
23704 ],
23705 "referencedDeclaration": 9674,
23706 "src": "6014:13:33",
23707 "typeDescriptions": {
23708 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
23709 "typeString": "function (uint256) view returns (address)"
23710 }
23711 },
23712 "id": 9279,
23713 "isConstant": false,
23714 "isLValue": false,
23715 "isPure": false,
23716 "kind": "functionCall",
23717 "lValueRequested": false,
23718 "names": [],
23719 "nodeType": "FunctionCall",
23720 "src": "6014:17:33",
23721 "typeDescriptions": {
23722 "typeIdentifier": "t_address",
23723 "typeString": "address"
23724 }
23725 },
23726 {
23727 "argumentTypes": null,
23728 "arguments": [
23729 {
23730 "argumentTypes": null,
23731 "id": 9281,
23732 "name": "id",
23733 "nodeType": "Identifier",
23734 "overloadedDeclarations": [],
23735 "referencedDeclaration": 9220,
23736 "src": "6045:2:33",
23737 "typeDescriptions": {
23738 "typeIdentifier": "t_uint256",
23739 "typeString": "uint256"
23740 }
23741 }
23742 ],
23743 "expression": {
23744 "argumentTypes": [
23745 {
23746 "typeIdentifier": "t_uint256",
23747 "typeString": "uint256"
23748 }
23749 ],
23750 "id": 9280,
23751 "name": "getProvider",
23752 "nodeType": "Identifier",
23753 "overloadedDeclarations": [
23754 9652
23755 ],
23756 "referencedDeclaration": 9652,
23757 "src": "6033:11:33",
23758 "typeDescriptions": {
23759 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
23760 "typeString": "function (uint256) view returns (address)"
23761 }
23762 },
23763 "id": 9282,
23764 "isConstant": false,
23765 "isLValue": false,
23766 "isPure": false,
23767 "kind": "functionCall",
23768 "lValueRequested": false,
23769 "names": [],
23770 "nodeType": "FunctionCall",
23771 "src": "6033:15:33",
23772 "typeDescriptions": {
23773 "typeIdentifier": "t_address",
23774 "typeString": "address"
23775 }
23776 }
23777 ],
23778 "expression": {
23779 "argumentTypes": [
23780 {
23781 "typeIdentifier": "t_uint256",
23782 "typeString": "uint256"
23783 },
23784 {
23785 "typeIdentifier": "t_address",
23786 "typeString": "address"
23787 },
23788 {
23789 "typeIdentifier": "t_address",
23790 "typeString": "address"
23791 }
23792 ],
23793 "id": 9275,
23794 "name": "CanceledRequest",
23795 "nodeType": "Identifier",
23796 "overloadedDeclarations": [],
23797 "referencedDeclaration": 8951,
23798 "src": "5994:15:33",
23799 "typeDescriptions": {
23800 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$__$",
23801 "typeString": "function (uint256,address,address)"
23802 }
23803 },
23804 "id": 9283,
23805 "isConstant": false,
23806 "isLValue": false,
23807 "isPure": false,
23808 "kind": "functionCall",
23809 "lValueRequested": false,
23810 "names": [],
23811 "nodeType": "FunctionCall",
23812 "src": "5994:55:33",
23813 "typeDescriptions": {
23814 "typeIdentifier": "t_tuple$__$",
23815 "typeString": "tuple()"
23816 }
23817 },
23818 "id": 9284,
23819 "nodeType": "EmitStatement",
23820 "src": "5989:60:33"
23821 }
23822 ]
23823 },
23824 "documentation": "@notice Cancel a query.\n @dev If responded on the same block, ignore the cancel.",
23825 "id": 9286,
23826 "implemented": true,
23827 "isConstructor": false,
23828 "isDeclaredConst": false,
23829 "modifiers": [],
23830 "name": "cancelQuery",
23831 "nodeType": "FunctionDefinition",
23832 "parameters": {
23833 "id": 9221,
23834 "nodeType": "ParameterList",
23835 "parameters": [
23836 {
23837 "constant": false,
23838 "id": 9220,
23839 "name": "id",
23840 "nodeType": "VariableDeclaration",
23841 "scope": 9286,
23842 "src": "5464:10:33",
23843 "stateVariable": false,
23844 "storageLocation": "default",
23845 "typeDescriptions": {
23846 "typeIdentifier": "t_uint256",
23847 "typeString": "uint256"
23848 },
23849 "typeName": {
23850 "id": 9219,
23851 "name": "uint256",
23852 "nodeType": "ElementaryTypeName",
23853 "src": "5464:7:33",
23854 "typeDescriptions": {
23855 "typeIdentifier": "t_uint256",
23856 "typeString": "uint256"
23857 }
23858 },
23859 "value": null,
23860 "visibility": "internal"
23861 }
23862 ],
23863 "src": "5463:12:33"
23864 },
23865 "payable": false,
23866 "returnParameters": {
23867 "id": 9222,
23868 "nodeType": "ParameterList",
23869 "parameters": [],
23870 "src": "5485:0:33"
23871 },
23872 "scope": 10008,
23873 "src": "5443:613:33",
23874 "stateMutability": "nonpayable",
23875 "superFunction": 10097,
23876 "visibility": "external"
23877 },
23878 {
23879 "body": {
23880 "id": 9339,
23881 "nodeType": "Block",
23882 "src": "6270:343:33",
23883 "statements": [
23884 {
23885 "condition": {
23886 "argumentTypes": null,
23887 "commonType": {
23888 "typeIdentifier": "t_bool",
23889 "typeString": "bool"
23890 },
23891 "id": 9306,
23892 "isConstant": false,
23893 "isLValue": false,
23894 "isPure": false,
23895 "lValueRequested": false,
23896 "leftExpression": {
23897 "argumentTypes": null,
23898 "commonType": {
23899 "typeIdentifier": "t_address",
23900 "typeString": "address"
23901 },
23902 "id": 9301,
23903 "isConstant": false,
23904 "isLValue": false,
23905 "isPure": false,
23906 "lValueRequested": false,
23907 "leftExpression": {
23908 "argumentTypes": null,
23909 "arguments": [
23910 {
23911 "argumentTypes": null,
23912 "id": 9297,
23913 "name": "id",
23914 "nodeType": "Identifier",
23915 "overloadedDeclarations": [],
23916 "referencedDeclaration": 9288,
23917 "src": "6296:2:33",
23918 "typeDescriptions": {
23919 "typeIdentifier": "t_uint256",
23920 "typeString": "uint256"
23921 }
23922 }
23923 ],
23924 "expression": {
23925 "argumentTypes": [
23926 {
23927 "typeIdentifier": "t_uint256",
23928 "typeString": "uint256"
23929 }
23930 ],
23931 "id": 9296,
23932 "name": "getProvider",
23933 "nodeType": "Identifier",
23934 "overloadedDeclarations": [
23935 9652
23936 ],
23937 "referencedDeclaration": 9652,
23938 "src": "6284:11:33",
23939 "typeDescriptions": {
23940 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
23941 "typeString": "function (uint256) view returns (address)"
23942 }
23943 },
23944 "id": 9298,
23945 "isConstant": false,
23946 "isLValue": false,
23947 "isPure": false,
23948 "kind": "functionCall",
23949 "lValueRequested": false,
23950 "names": [],
23951 "nodeType": "FunctionCall",
23952 "src": "6284:15:33",
23953 "typeDescriptions": {
23954 "typeIdentifier": "t_address",
23955 "typeString": "address"
23956 }
23957 },
23958 "nodeType": "BinaryOperation",
23959 "operator": "!=",
23960 "rightExpression": {
23961 "argumentTypes": null,
23962 "expression": {
23963 "argumentTypes": null,
23964 "id": 9299,
23965 "name": "msg",
23966 "nodeType": "Identifier",
23967 "overloadedDeclarations": [],
23968 "referencedDeclaration": 12092,
23969 "src": "6303:3:33",
23970 "typeDescriptions": {
23971 "typeIdentifier": "t_magic_message",
23972 "typeString": "msg"
23973 }
23974 },
23975 "id": 9300,
23976 "isConstant": false,
23977 "isLValue": false,
23978 "isPure": false,
23979 "lValueRequested": false,
23980 "memberName": "sender",
23981 "nodeType": "MemberAccess",
23982 "referencedDeclaration": null,
23983 "src": "6303:10:33",
23984 "typeDescriptions": {
23985 "typeIdentifier": "t_address",
23986 "typeString": "address"
23987 }
23988 },
23989 "src": "6284:29:33",
23990 "typeDescriptions": {
23991 "typeIdentifier": "t_bool",
23992 "typeString": "bool"
23993 }
23994 },
23995 "nodeType": "BinaryOperation",
23996 "operator": "||",
23997 "rightExpression": {
23998 "argumentTypes": null,
23999 "id": 9305,
24000 "isConstant": false,
24001 "isLValue": false,
24002 "isPure": false,
24003 "lValueRequested": false,
24004 "nodeType": "UnaryOperation",
24005 "operator": "!",
24006 "prefix": true,
24007 "src": "6317:17:33",
24008 "subExpression": {
24009 "argumentTypes": null,
24010 "arguments": [
24011 {
24012 "argumentTypes": null,
24013 "id": 9303,
24014 "name": "id",
24015 "nodeType": "Identifier",
24016 "overloadedDeclarations": [],
24017 "referencedDeclaration": 9288,
24018 "src": "6331:2:33",
24019 "typeDescriptions": {
24020 "typeIdentifier": "t_uint256",
24021 "typeString": "uint256"
24022 }
24023 }
24024 ],
24025 "expression": {
24026 "argumentTypes": [
24027 {
24028 "typeIdentifier": "t_uint256",
24029 "typeString": "uint256"
24030 }
24031 ],
24032 "id": 9302,
24033 "name": "fulfillQuery",
24034 "nodeType": "Identifier",
24035 "overloadedDeclarations": [],
24036 "referencedDeclaration": 9218,
24037 "src": "6318:12:33",
24038 "typeDescriptions": {
24039 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$",
24040 "typeString": "function (uint256) returns (bool)"
24041 }
24042 },
24043 "id": 9304,
24044 "isConstant": false,
24045 "isLValue": false,
24046 "isPure": false,
24047 "kind": "functionCall",
24048 "lValueRequested": false,
24049 "names": [],
24050 "nodeType": "FunctionCall",
24051 "src": "6318:16:33",
24052 "typeDescriptions": {
24053 "typeIdentifier": "t_bool",
24054 "typeString": "bool"
24055 }
24056 },
24057 "typeDescriptions": {
24058 "typeIdentifier": "t_bool",
24059 "typeString": "bool"
24060 }
24061 },
24062 "src": "6284:50:33",
24063 "typeDescriptions": {
24064 "typeIdentifier": "t_bool",
24065 "typeString": "bool"
24066 }
24067 },
24068 "falseBody": null,
24069 "id": 9310,
24070 "nodeType": "IfStatement",
24071 "src": "6280:76:33",
24072 "trueBody": {
24073 "expression": {
24074 "argumentTypes": null,
24075 "arguments": [],
24076 "expression": {
24077 "argumentTypes": [],
24078 "id": 9307,
24079 "name": "revert",
24080 "nodeType": "Identifier",
24081 "overloadedDeclarations": [
24082 12097,
24083 12098
24084 ],
24085 "referencedDeclaration": 12097,
24086 "src": "6348:6:33",
24087 "typeDescriptions": {
24088 "typeIdentifier": "t_function_revert_pure$__$returns$__$",
24089 "typeString": "function () pure"
24090 }
24091 },
24092 "id": 9308,
24093 "isConstant": false,
24094 "isLValue": false,
24095 "isPure": false,
24096 "kind": "functionCall",
24097 "lValueRequested": false,
24098 "names": [],
24099 "nodeType": "FunctionCall",
24100 "src": "6348:8:33",
24101 "typeDescriptions": {
24102 "typeIdentifier": "t_tuple$__$",
24103 "typeString": "tuple()"
24104 }
24105 },
24106 "id": 9309,
24107 "nodeType": "ExpressionStatement",
24108 "src": "6348:8:33"
24109 }
24110 },
24111 {
24112 "condition": {
24113 "argumentTypes": null,
24114 "arguments": [
24115 {
24116 "argumentTypes": null,
24117 "id": 9312,
24118 "name": "id",
24119 "nodeType": "Identifier",
24120 "overloadedDeclarations": [],
24121 "referencedDeclaration": 9288,
24122 "src": "6391:2:33",
24123 "typeDescriptions": {
24124 "typeIdentifier": "t_uint256",
24125 "typeString": "uint256"
24126 }
24127 }
24128 ],
24129 "expression": {
24130 "argumentTypes": [
24131 {
24132 "typeIdentifier": "t_uint256",
24133 "typeString": "uint256"
24134 }
24135 ],
24136 "id": 9311,
24137 "name": "getSubscriberOnchain",
24138 "nodeType": "Identifier",
24139 "overloadedDeclarations": [
24140 9783
24141 ],
24142 "referencedDeclaration": 9783,
24143 "src": "6370:20:33",
24144 "typeDescriptions": {
24145 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
24146 "typeString": "function (uint256) view returns (bool)"
24147 }
24148 },
24149 "id": 9313,
24150 "isConstant": false,
24151 "isLValue": false,
24152 "isPure": false,
24153 "kind": "functionCall",
24154 "lValueRequested": false,
24155 "names": [],
24156 "nodeType": "FunctionCall",
24157 "src": "6370:24:33",
24158 "typeDescriptions": {
24159 "typeIdentifier": "t_bool",
24160 "typeString": "bool"
24161 }
24162 },
24163 "falseBody": {
24164 "id": 9335,
24165 "nodeType": "Block",
24166 "src": "6495:91:33",
24167 "statements": [
24168 {
24169 "eventCall": {
24170 "argumentTypes": null,
24171 "arguments": [
24172 {
24173 "argumentTypes": null,
24174 "id": 9326,
24175 "name": "id",
24176 "nodeType": "Identifier",
24177 "overloadedDeclarations": [],
24178 "referencedDeclaration": 9288,
24179 "src": "6531:2:33",
24180 "typeDescriptions": {
24181 "typeIdentifier": "t_uint256",
24182 "typeString": "uint256"
24183 }
24184 },
24185 {
24186 "argumentTypes": null,
24187 "arguments": [
24188 {
24189 "argumentTypes": null,
24190 "id": 9328,
24191 "name": "id",
24192 "nodeType": "Identifier",
24193 "overloadedDeclarations": [],
24194 "referencedDeclaration": 9288,
24195 "src": "6549:2:33",
24196 "typeDescriptions": {
24197 "typeIdentifier": "t_uint256",
24198 "typeString": "uint256"
24199 }
24200 }
24201 ],
24202 "expression": {
24203 "argumentTypes": [
24204 {
24205 "typeIdentifier": "t_uint256",
24206 "typeString": "uint256"
24207 }
24208 ],
24209 "id": 9327,
24210 "name": "getSubscriber",
24211 "nodeType": "Identifier",
24212 "overloadedDeclarations": [
24213 9674
24214 ],
24215 "referencedDeclaration": 9674,
24216 "src": "6535:13:33",
24217 "typeDescriptions": {
24218 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
24219 "typeString": "function (uint256) view returns (address)"
24220 }
24221 },
24222 "id": 9329,
24223 "isConstant": false,
24224 "isLValue": false,
24225 "isPure": false,
24226 "kind": "functionCall",
24227 "lValueRequested": false,
24228 "names": [],
24229 "nodeType": "FunctionCall",
24230 "src": "6535:17:33",
24231 "typeDescriptions": {
24232 "typeIdentifier": "t_address",
24233 "typeString": "address"
24234 }
24235 },
24236 {
24237 "argumentTypes": null,
24238 "expression": {
24239 "argumentTypes": null,
24240 "id": 9330,
24241 "name": "msg",
24242 "nodeType": "Identifier",
24243 "overloadedDeclarations": [],
24244 "referencedDeclaration": 12092,
24245 "src": "6554:3:33",
24246 "typeDescriptions": {
24247 "typeIdentifier": "t_magic_message",
24248 "typeString": "msg"
24249 }
24250 },
24251 "id": 9331,
24252 "isConstant": false,
24253 "isLValue": false,
24254 "isPure": false,
24255 "lValueRequested": false,
24256 "memberName": "sender",
24257 "nodeType": "MemberAccess",
24258 "referencedDeclaration": null,
24259 "src": "6554:10:33",
24260 "typeDescriptions": {
24261 "typeIdentifier": "t_address",
24262 "typeString": "address"
24263 }
24264 },
24265 {
24266 "argumentTypes": null,
24267 "id": 9332,
24268 "name": "response",
24269 "nodeType": "Identifier",
24270 "overloadedDeclarations": [],
24271 "referencedDeclaration": 9291,
24272 "src": "6566:8:33",
24273 "typeDescriptions": {
24274 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
24275 "typeString": "bytes32[] calldata"
24276 }
24277 }
24278 ],
24279 "expression": {
24280 "argumentTypes": [
24281 {
24282 "typeIdentifier": "t_uint256",
24283 "typeString": "uint256"
24284 },
24285 {
24286 "typeIdentifier": "t_address",
24287 "typeString": "address"
24288 },
24289 {
24290 "typeIdentifier": "t_address",
24291 "typeString": "address"
24292 },
24293 {
24294 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
24295 "typeString": "bytes32[] calldata"
24296 }
24297 ],
24298 "id": 9325,
24299 "name": "OffchainResponse",
24300 "nodeType": "Identifier",
24301 "overloadedDeclarations": [],
24302 "referencedDeclaration": 8880,
24303 "src": "6514:16:33",
24304 "typeDescriptions": {
24305 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$",
24306 "typeString": "function (uint256,address,address,bytes32[] memory)"
24307 }
24308 },
24309 "id": 9333,
24310 "isConstant": false,
24311 "isLValue": false,
24312 "isPure": false,
24313 "kind": "functionCall",
24314 "lValueRequested": false,
24315 "names": [],
24316 "nodeType": "FunctionCall",
24317 "src": "6514:61:33",
24318 "typeDescriptions": {
24319 "typeIdentifier": "t_tuple$__$",
24320 "typeString": "tuple()"
24321 }
24322 },
24323 "id": 9334,
24324 "nodeType": "EmitStatement",
24325 "src": "6509:66:33"
24326 }
24327 ]
24328 },
24329 "id": 9336,
24330 "nodeType": "IfStatement",
24331 "src": "6366:220:33",
24332 "trueBody": {
24333 "id": 9324,
24334 "nodeType": "Block",
24335 "src": "6396:85:33",
24336 "statements": [
24337 {
24338 "expression": {
24339 "argumentTypes": null,
24340 "arguments": [
24341 {
24342 "argumentTypes": null,
24343 "id": 9320,
24344 "name": "id",
24345 "nodeType": "Identifier",
24346 "overloadedDeclarations": [],
24347 "referencedDeclaration": 9288,
24348 "src": "6457:2:33",
24349 "typeDescriptions": {
24350 "typeIdentifier": "t_uint256",
24351 "typeString": "uint256"
24352 }
24353 },
24354 {
24355 "argumentTypes": null,
24356 "id": 9321,
24357 "name": "response",
24358 "nodeType": "Identifier",
24359 "overloadedDeclarations": [],
24360 "referencedDeclaration": 9291,
24361 "src": "6461:8:33",
24362 "typeDescriptions": {
24363 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
24364 "typeString": "bytes32[] calldata"
24365 }
24366 }
24367 ],
24368 "expression": {
24369 "argumentTypes": [
24370 {
24371 "typeIdentifier": "t_uint256",
24372 "typeString": "uint256"
24373 },
24374 {
24375 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
24376 "typeString": "bytes32[] calldata"
24377 }
24378 ],
24379 "expression": {
24380 "argumentTypes": null,
24381 "arguments": [
24382 {
24383 "argumentTypes": null,
24384 "arguments": [
24385 {
24386 "argumentTypes": null,
24387 "id": 9316,
24388 "name": "id",
24389 "nodeType": "Identifier",
24390 "overloadedDeclarations": [],
24391 "referencedDeclaration": 9288,
24392 "src": "6443:2:33",
24393 "typeDescriptions": {
24394 "typeIdentifier": "t_uint256",
24395 "typeString": "uint256"
24396 }
24397 }
24398 ],
24399 "expression": {
24400 "argumentTypes": [
24401 {
24402 "typeIdentifier": "t_uint256",
24403 "typeString": "uint256"
24404 }
24405 ],
24406 "id": 9315,
24407 "name": "getSubscriber",
24408 "nodeType": "Identifier",
24409 "overloadedDeclarations": [
24410 9674
24411 ],
24412 "referencedDeclaration": 9674,
24413 "src": "6429:13:33",
24414 "typeDescriptions": {
24415 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
24416 "typeString": "function (uint256) view returns (address)"
24417 }
24418 },
24419 "id": 9317,
24420 "isConstant": false,
24421 "isLValue": false,
24422 "isPure": false,
24423 "kind": "functionCall",
24424 "lValueRequested": false,
24425 "names": [],
24426 "nodeType": "FunctionCall",
24427 "src": "6429:17:33",
24428 "typeDescriptions": {
24429 "typeIdentifier": "t_address",
24430 "typeString": "address"
24431 }
24432 }
24433 ],
24434 "expression": {
24435 "argumentTypes": [
24436 {
24437 "typeIdentifier": "t_address",
24438 "typeString": "address"
24439 }
24440 ],
24441 "id": 9314,
24442 "name": "ClientBytes32Array",
24443 "nodeType": "Identifier",
24444 "overloadedDeclarations": [],
24445 "referencedDeclaration": 860,
24446 "src": "6410:18:33",
24447 "typeDescriptions": {
24448 "typeIdentifier": "t_type$_t_contract$_ClientBytes32Array_$860_$",
24449 "typeString": "type(contract ClientBytes32Array)"
24450 }
24451 },
24452 "id": 9318,
24453 "isConstant": false,
24454 "isLValue": false,
24455 "isPure": false,
24456 "kind": "typeConversion",
24457 "lValueRequested": false,
24458 "names": [],
24459 "nodeType": "FunctionCall",
24460 "src": "6410:37:33",
24461 "typeDescriptions": {
24462 "typeIdentifier": "t_contract$_ClientBytes32Array_$860",
24463 "typeString": "contract ClientBytes32Array"
24464 }
24465 },
24466 "id": 9319,
24467 "isConstant": false,
24468 "isLValue": false,
24469 "isPure": false,
24470 "lValueRequested": false,
24471 "memberName": "callback",
24472 "nodeType": "MemberAccess",
24473 "referencedDeclaration": 859,
24474 "src": "6410:46:33",
24475 "typeDescriptions": {
24476 "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$",
24477 "typeString": "function (uint256,bytes32[] memory) external"
24478 }
24479 },
24480 "id": 9322,
24481 "isConstant": false,
24482 "isLValue": false,
24483 "isPure": false,
24484 "kind": "functionCall",
24485 "lValueRequested": false,
24486 "names": [],
24487 "nodeType": "FunctionCall",
24488 "src": "6410:60:33",
24489 "typeDescriptions": {
24490 "typeIdentifier": "t_tuple$__$",
24491 "typeString": "tuple()"
24492 }
24493 },
24494 "id": 9323,
24495 "nodeType": "ExpressionStatement",
24496 "src": "6410:60:33"
24497 }
24498 ]
24499 }
24500 },
24501 {
24502 "expression": {
24503 "argumentTypes": null,
24504 "hexValue": "74727565",
24505 "id": 9337,
24506 "isConstant": false,
24507 "isLValue": false,
24508 "isPure": true,
24509 "kind": "bool",
24510 "lValueRequested": false,
24511 "nodeType": "Literal",
24512 "src": "6602:4:33",
24513 "subdenomination": null,
24514 "typeDescriptions": {
24515 "typeIdentifier": "t_bool",
24516 "typeString": "bool"
24517 },
24518 "value": "true"
24519 },
24520 "functionReturnParameters": 9295,
24521 "id": 9338,
24522 "nodeType": "Return",
24523 "src": "6595:11:33"
24524 }
24525 ]
24526 },
24527 "documentation": "@dev Parameter-count specific method called by data provider in response",
24528 "id": 9340,
24529 "implemented": true,
24530 "isConstructor": false,
24531 "isDeclaredConst": false,
24532 "modifiers": [],
24533 "name": "respondBytes32Array",
24534 "nodeType": "FunctionDefinition",
24535 "parameters": {
24536 "id": 9292,
24537 "nodeType": "ParameterList",
24538 "parameters": [
24539 {
24540 "constant": false,
24541 "id": 9288,
24542 "name": "id",
24543 "nodeType": "VariableDeclaration",
24544 "scope": 9340,
24545 "src": "6181:10:33",
24546 "stateVariable": false,
24547 "storageLocation": "default",
24548 "typeDescriptions": {
24549 "typeIdentifier": "t_uint256",
24550 "typeString": "uint256"
24551 },
24552 "typeName": {
24553 "id": 9287,
24554 "name": "uint256",
24555 "nodeType": "ElementaryTypeName",
24556 "src": "6181:7:33",
24557 "typeDescriptions": {
24558 "typeIdentifier": "t_uint256",
24559 "typeString": "uint256"
24560 }
24561 },
24562 "value": null,
24563 "visibility": "internal"
24564 },
24565 {
24566 "constant": false,
24567 "id": 9291,
24568 "name": "response",
24569 "nodeType": "VariableDeclaration",
24570 "scope": 9340,
24571 "src": "6201:18:33",
24572 "stateVariable": false,
24573 "storageLocation": "default",
24574 "typeDescriptions": {
24575 "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
24576 "typeString": "bytes32[]"
24577 },
24578 "typeName": {
24579 "baseType": {
24580 "id": 9289,
24581 "name": "bytes32",
24582 "nodeType": "ElementaryTypeName",
24583 "src": "6201:7:33",
24584 "typeDescriptions": {
24585 "typeIdentifier": "t_bytes32",
24586 "typeString": "bytes32"
24587 }
24588 },
24589 "id": 9290,
24590 "length": null,
24591 "nodeType": "ArrayTypeName",
24592 "src": "6201:9:33",
24593 "typeDescriptions": {
24594 "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
24595 "typeString": "bytes32[]"
24596 }
24597 },
24598 "value": null,
24599 "visibility": "internal"
24600 }
24601 ],
24602 "src": "6171:54:33"
24603 },
24604 "payable": false,
24605 "returnParameters": {
24606 "id": 9295,
24607 "nodeType": "ParameterList",
24608 "parameters": [
24609 {
24610 "constant": false,
24611 "id": 9294,
24612 "name": "",
24613 "nodeType": "VariableDeclaration",
24614 "scope": 9340,
24615 "src": "6260:4:33",
24616 "stateVariable": false,
24617 "storageLocation": "default",
24618 "typeDescriptions": {
24619 "typeIdentifier": "t_bool",
24620 "typeString": "bool"
24621 },
24622 "typeName": {
24623 "id": 9293,
24624 "name": "bool",
24625 "nodeType": "ElementaryTypeName",
24626 "src": "6260:4:33",
24627 "typeDescriptions": {
24628 "typeIdentifier": "t_bool",
24629 "typeString": "bool"
24630 }
24631 },
24632 "value": null,
24633 "visibility": "internal"
24634 }
24635 ],
24636 "src": "6259:6:33"
24637 },
24638 "scope": 10008,
24639 "src": "6143:470:33",
24640 "stateMutability": "nonpayable",
24641 "superFunction": 10082,
24642 "visibility": "external"
24643 },
24644 {
24645 "body": {
24646 "id": 9393,
24647 "nodeType": "Block",
24648 "src": "6819:342:33",
24649 "statements": [
24650 {
24651 "condition": {
24652 "argumentTypes": null,
24653 "commonType": {
24654 "typeIdentifier": "t_bool",
24655 "typeString": "bool"
24656 },
24657 "id": 9360,
24658 "isConstant": false,
24659 "isLValue": false,
24660 "isPure": false,
24661 "lValueRequested": false,
24662 "leftExpression": {
24663 "argumentTypes": null,
24664 "commonType": {
24665 "typeIdentifier": "t_address",
24666 "typeString": "address"
24667 },
24668 "id": 9355,
24669 "isConstant": false,
24670 "isLValue": false,
24671 "isPure": false,
24672 "lValueRequested": false,
24673 "leftExpression": {
24674 "argumentTypes": null,
24675 "arguments": [
24676 {
24677 "argumentTypes": null,
24678 "id": 9351,
24679 "name": "id",
24680 "nodeType": "Identifier",
24681 "overloadedDeclarations": [],
24682 "referencedDeclaration": 9342,
24683 "src": "6845:2:33",
24684 "typeDescriptions": {
24685 "typeIdentifier": "t_uint256",
24686 "typeString": "uint256"
24687 }
24688 }
24689 ],
24690 "expression": {
24691 "argumentTypes": [
24692 {
24693 "typeIdentifier": "t_uint256",
24694 "typeString": "uint256"
24695 }
24696 ],
24697 "id": 9350,
24698 "name": "getProvider",
24699 "nodeType": "Identifier",
24700 "overloadedDeclarations": [
24701 9652
24702 ],
24703 "referencedDeclaration": 9652,
24704 "src": "6833:11:33",
24705 "typeDescriptions": {
24706 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
24707 "typeString": "function (uint256) view returns (address)"
24708 }
24709 },
24710 "id": 9352,
24711 "isConstant": false,
24712 "isLValue": false,
24713 "isPure": false,
24714 "kind": "functionCall",
24715 "lValueRequested": false,
24716 "names": [],
24717 "nodeType": "FunctionCall",
24718 "src": "6833:15:33",
24719 "typeDescriptions": {
24720 "typeIdentifier": "t_address",
24721 "typeString": "address"
24722 }
24723 },
24724 "nodeType": "BinaryOperation",
24725 "operator": "!=",
24726 "rightExpression": {
24727 "argumentTypes": null,
24728 "expression": {
24729 "argumentTypes": null,
24730 "id": 9353,
24731 "name": "msg",
24732 "nodeType": "Identifier",
24733 "overloadedDeclarations": [],
24734 "referencedDeclaration": 12092,
24735 "src": "6852:3:33",
24736 "typeDescriptions": {
24737 "typeIdentifier": "t_magic_message",
24738 "typeString": "msg"
24739 }
24740 },
24741 "id": 9354,
24742 "isConstant": false,
24743 "isLValue": false,
24744 "isPure": false,
24745 "lValueRequested": false,
24746 "memberName": "sender",
24747 "nodeType": "MemberAccess",
24748 "referencedDeclaration": null,
24749 "src": "6852:10:33",
24750 "typeDescriptions": {
24751 "typeIdentifier": "t_address",
24752 "typeString": "address"
24753 }
24754 },
24755 "src": "6833:29:33",
24756 "typeDescriptions": {
24757 "typeIdentifier": "t_bool",
24758 "typeString": "bool"
24759 }
24760 },
24761 "nodeType": "BinaryOperation",
24762 "operator": "||",
24763 "rightExpression": {
24764 "argumentTypes": null,
24765 "id": 9359,
24766 "isConstant": false,
24767 "isLValue": false,
24768 "isPure": false,
24769 "lValueRequested": false,
24770 "nodeType": "UnaryOperation",
24771 "operator": "!",
24772 "prefix": true,
24773 "src": "6866:17:33",
24774 "subExpression": {
24775 "argumentTypes": null,
24776 "arguments": [
24777 {
24778 "argumentTypes": null,
24779 "id": 9357,
24780 "name": "id",
24781 "nodeType": "Identifier",
24782 "overloadedDeclarations": [],
24783 "referencedDeclaration": 9342,
24784 "src": "6880:2:33",
24785 "typeDescriptions": {
24786 "typeIdentifier": "t_uint256",
24787 "typeString": "uint256"
24788 }
24789 }
24790 ],
24791 "expression": {
24792 "argumentTypes": [
24793 {
24794 "typeIdentifier": "t_uint256",
24795 "typeString": "uint256"
24796 }
24797 ],
24798 "id": 9356,
24799 "name": "fulfillQuery",
24800 "nodeType": "Identifier",
24801 "overloadedDeclarations": [],
24802 "referencedDeclaration": 9218,
24803 "src": "6867:12:33",
24804 "typeDescriptions": {
24805 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$",
24806 "typeString": "function (uint256) returns (bool)"
24807 }
24808 },
24809 "id": 9358,
24810 "isConstant": false,
24811 "isLValue": false,
24812 "isPure": false,
24813 "kind": "functionCall",
24814 "lValueRequested": false,
24815 "names": [],
24816 "nodeType": "FunctionCall",
24817 "src": "6867:16:33",
24818 "typeDescriptions": {
24819 "typeIdentifier": "t_bool",
24820 "typeString": "bool"
24821 }
24822 },
24823 "typeDescriptions": {
24824 "typeIdentifier": "t_bool",
24825 "typeString": "bool"
24826 }
24827 },
24828 "src": "6833:50:33",
24829 "typeDescriptions": {
24830 "typeIdentifier": "t_bool",
24831 "typeString": "bool"
24832 }
24833 },
24834 "falseBody": null,
24835 "id": 9364,
24836 "nodeType": "IfStatement",
24837 "src": "6829:76:33",
24838 "trueBody": {
24839 "expression": {
24840 "argumentTypes": null,
24841 "arguments": [],
24842 "expression": {
24843 "argumentTypes": [],
24844 "id": 9361,
24845 "name": "revert",
24846 "nodeType": "Identifier",
24847 "overloadedDeclarations": [
24848 12097,
24849 12098
24850 ],
24851 "referencedDeclaration": 12097,
24852 "src": "6897:6:33",
24853 "typeDescriptions": {
24854 "typeIdentifier": "t_function_revert_pure$__$returns$__$",
24855 "typeString": "function () pure"
24856 }
24857 },
24858 "id": 9362,
24859 "isConstant": false,
24860 "isLValue": false,
24861 "isPure": false,
24862 "kind": "functionCall",
24863 "lValueRequested": false,
24864 "names": [],
24865 "nodeType": "FunctionCall",
24866 "src": "6897:8:33",
24867 "typeDescriptions": {
24868 "typeIdentifier": "t_tuple$__$",
24869 "typeString": "tuple()"
24870 }
24871 },
24872 "id": 9363,
24873 "nodeType": "ExpressionStatement",
24874 "src": "6897:8:33"
24875 }
24876 },
24877 {
24878 "condition": {
24879 "argumentTypes": null,
24880 "arguments": [
24881 {
24882 "argumentTypes": null,
24883 "id": 9366,
24884 "name": "id",
24885 "nodeType": "Identifier",
24886 "overloadedDeclarations": [],
24887 "referencedDeclaration": 9342,
24888 "src": "6940:2:33",
24889 "typeDescriptions": {
24890 "typeIdentifier": "t_uint256",
24891 "typeString": "uint256"
24892 }
24893 }
24894 ],
24895 "expression": {
24896 "argumentTypes": [
24897 {
24898 "typeIdentifier": "t_uint256",
24899 "typeString": "uint256"
24900 }
24901 ],
24902 "id": 9365,
24903 "name": "getSubscriberOnchain",
24904 "nodeType": "Identifier",
24905 "overloadedDeclarations": [
24906 9783
24907 ],
24908 "referencedDeclaration": 9783,
24909 "src": "6919:20:33",
24910 "typeDescriptions": {
24911 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
24912 "typeString": "function (uint256) view returns (bool)"
24913 }
24914 },
24915 "id": 9367,
24916 "isConstant": false,
24917 "isLValue": false,
24918 "isPure": false,
24919 "kind": "functionCall",
24920 "lValueRequested": false,
24921 "names": [],
24922 "nodeType": "FunctionCall",
24923 "src": "6919:24:33",
24924 "typeDescriptions": {
24925 "typeIdentifier": "t_bool",
24926 "typeString": "bool"
24927 }
24928 },
24929 "falseBody": {
24930 "id": 9389,
24931 "nodeType": "Block",
24932 "src": "7040:94:33",
24933 "statements": [
24934 {
24935 "eventCall": {
24936 "argumentTypes": null,
24937 "arguments": [
24938 {
24939 "argumentTypes": null,
24940 "id": 9380,
24941 "name": "id",
24942 "nodeType": "Identifier",
24943 "overloadedDeclarations": [],
24944 "referencedDeclaration": 9342,
24945 "src": "7079:2:33",
24946 "typeDescriptions": {
24947 "typeIdentifier": "t_uint256",
24948 "typeString": "uint256"
24949 }
24950 },
24951 {
24952 "argumentTypes": null,
24953 "arguments": [
24954 {
24955 "argumentTypes": null,
24956 "id": 9382,
24957 "name": "id",
24958 "nodeType": "Identifier",
24959 "overloadedDeclarations": [],
24960 "referencedDeclaration": 9342,
24961 "src": "7097:2:33",
24962 "typeDescriptions": {
24963 "typeIdentifier": "t_uint256",
24964 "typeString": "uint256"
24965 }
24966 }
24967 ],
24968 "expression": {
24969 "argumentTypes": [
24970 {
24971 "typeIdentifier": "t_uint256",
24972 "typeString": "uint256"
24973 }
24974 ],
24975 "id": 9381,
24976 "name": "getSubscriber",
24977 "nodeType": "Identifier",
24978 "overloadedDeclarations": [
24979 9674
24980 ],
24981 "referencedDeclaration": 9674,
24982 "src": "7083:13:33",
24983 "typeDescriptions": {
24984 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
24985 "typeString": "function (uint256) view returns (address)"
24986 }
24987 },
24988 "id": 9383,
24989 "isConstant": false,
24990 "isLValue": false,
24991 "isPure": false,
24992 "kind": "functionCall",
24993 "lValueRequested": false,
24994 "names": [],
24995 "nodeType": "FunctionCall",
24996 "src": "7083:17:33",
24997 "typeDescriptions": {
24998 "typeIdentifier": "t_address",
24999 "typeString": "address"
25000 }
25001 },
25002 {
25003 "argumentTypes": null,
25004 "expression": {
25005 "argumentTypes": null,
25006 "id": 9384,
25007 "name": "msg",
25008 "nodeType": "Identifier",
25009 "overloadedDeclarations": [],
25010 "referencedDeclaration": 12092,
25011 "src": "7102:3:33",
25012 "typeDescriptions": {
25013 "typeIdentifier": "t_magic_message",
25014 "typeString": "msg"
25015 }
25016 },
25017 "id": 9385,
25018 "isConstant": false,
25019 "isLValue": false,
25020 "isPure": false,
25021 "lValueRequested": false,
25022 "memberName": "sender",
25023 "nodeType": "MemberAccess",
25024 "referencedDeclaration": null,
25025 "src": "7102:10:33",
25026 "typeDescriptions": {
25027 "typeIdentifier": "t_address",
25028 "typeString": "address"
25029 }
25030 },
25031 {
25032 "argumentTypes": null,
25033 "id": 9386,
25034 "name": "response",
25035 "nodeType": "Identifier",
25036 "overloadedDeclarations": [],
25037 "referencedDeclaration": 9345,
25038 "src": "7114:8:33",
25039 "typeDescriptions": {
25040 "typeIdentifier": "t_array$_t_int256_$dyn_calldata_ptr",
25041 "typeString": "int256[] calldata"
25042 }
25043 }
25044 ],
25045 "expression": {
25046 "argumentTypes": [
25047 {
25048 "typeIdentifier": "t_uint256",
25049 "typeString": "uint256"
25050 },
25051 {
25052 "typeIdentifier": "t_address",
25053 "typeString": "address"
25054 },
25055 {
25056 "typeIdentifier": "t_address",
25057 "typeString": "address"
25058 },
25059 {
25060 "typeIdentifier": "t_array$_t_int256_$dyn_calldata_ptr",
25061 "typeString": "int256[] calldata"
25062 }
25063 ],
25064 "id": 9379,
25065 "name": "OffchainResponseInt",
25066 "nodeType": "Identifier",
25067 "overloadedDeclarations": [],
25068 "referencedDeclaration": 8891,
25069 "src": "7059:19:33",
25070 "typeDescriptions": {
25071 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$",
25072 "typeString": "function (uint256,address,address,int256[] memory)"
25073 }
25074 },
25075 "id": 9387,
25076 "isConstant": false,
25077 "isLValue": false,
25078 "isPure": false,
25079 "kind": "functionCall",
25080 "lValueRequested": false,
25081 "names": [],
25082 "nodeType": "FunctionCall",
25083 "src": "7059:64:33",
25084 "typeDescriptions": {
25085 "typeIdentifier": "t_tuple$__$",
25086 "typeString": "tuple()"
25087 }
25088 },
25089 "id": 9388,
25090 "nodeType": "EmitStatement",
25091 "src": "7054:69:33"
25092 }
25093 ]
25094 },
25095 "id": 9390,
25096 "nodeType": "IfStatement",
25097 "src": "6915:219:33",
25098 "trueBody": {
25099 "id": 9378,
25100 "nodeType": "Block",
25101 "src": "6945:81:33",
25102 "statements": [
25103 {
25104 "expression": {
25105 "argumentTypes": null,
25106 "arguments": [
25107 {
25108 "argumentTypes": null,
25109 "id": 9374,
25110 "name": "id",
25111 "nodeType": "Identifier",
25112 "overloadedDeclarations": [],
25113 "referencedDeclaration": 9342,
25114 "src": "7002:2:33",
25115 "typeDescriptions": {
25116 "typeIdentifier": "t_uint256",
25117 "typeString": "uint256"
25118 }
25119 },
25120 {
25121 "argumentTypes": null,
25122 "id": 9375,
25123 "name": "response",
25124 "nodeType": "Identifier",
25125 "overloadedDeclarations": [],
25126 "referencedDeclaration": 9345,
25127 "src": "7006:8:33",
25128 "typeDescriptions": {
25129 "typeIdentifier": "t_array$_t_int256_$dyn_calldata_ptr",
25130 "typeString": "int256[] calldata"
25131 }
25132 }
25133 ],
25134 "expression": {
25135 "argumentTypes": [
25136 {
25137 "typeIdentifier": "t_uint256",
25138 "typeString": "uint256"
25139 },
25140 {
25141 "typeIdentifier": "t_array$_t_int256_$dyn_calldata_ptr",
25142 "typeString": "int256[] calldata"
25143 }
25144 ],
25145 "expression": {
25146 "argumentTypes": null,
25147 "arguments": [
25148 {
25149 "argumentTypes": null,
25150 "arguments": [
25151 {
25152 "argumentTypes": null,
25153 "id": 9370,
25154 "name": "id",
25155 "nodeType": "Identifier",
25156 "overloadedDeclarations": [],
25157 "referencedDeclaration": 9342,
25158 "src": "6988:2:33",
25159 "typeDescriptions": {
25160 "typeIdentifier": "t_uint256",
25161 "typeString": "uint256"
25162 }
25163 }
25164 ],
25165 "expression": {
25166 "argumentTypes": [
25167 {
25168 "typeIdentifier": "t_uint256",
25169 "typeString": "uint256"
25170 }
25171 ],
25172 "id": 9369,
25173 "name": "getSubscriber",
25174 "nodeType": "Identifier",
25175 "overloadedDeclarations": [
25176 9674
25177 ],
25178 "referencedDeclaration": 9674,
25179 "src": "6974:13:33",
25180 "typeDescriptions": {
25181 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
25182 "typeString": "function (uint256) view returns (address)"
25183 }
25184 },
25185 "id": 9371,
25186 "isConstant": false,
25187 "isLValue": false,
25188 "isPure": false,
25189 "kind": "functionCall",
25190 "lValueRequested": false,
25191 "names": [],
25192 "nodeType": "FunctionCall",
25193 "src": "6974:17:33",
25194 "typeDescriptions": {
25195 "typeIdentifier": "t_address",
25196 "typeString": "address"
25197 }
25198 }
25199 ],
25200 "expression": {
25201 "argumentTypes": [
25202 {
25203 "typeIdentifier": "t_address",
25204 "typeString": "address"
25205 }
25206 ],
25207 "id": 9368,
25208 "name": "ClientIntArray",
25209 "nodeType": "Identifier",
25210 "overloadedDeclarations": [],
25211 "referencedDeclaration": 869,
25212 "src": "6959:14:33",
25213 "typeDescriptions": {
25214 "typeIdentifier": "t_type$_t_contract$_ClientIntArray_$869_$",
25215 "typeString": "type(contract ClientIntArray)"
25216 }
25217 },
25218 "id": 9372,
25219 "isConstant": false,
25220 "isLValue": false,
25221 "isPure": false,
25222 "kind": "typeConversion",
25223 "lValueRequested": false,
25224 "names": [],
25225 "nodeType": "FunctionCall",
25226 "src": "6959:33:33",
25227 "typeDescriptions": {
25228 "typeIdentifier": "t_contract$_ClientIntArray_$869",
25229 "typeString": "contract ClientIntArray"
25230 }
25231 },
25232 "id": 9373,
25233 "isConstant": false,
25234 "isLValue": false,
25235 "isPure": false,
25236 "lValueRequested": false,
25237 "memberName": "callback",
25238 "nodeType": "MemberAccess",
25239 "referencedDeclaration": 868,
25240 "src": "6959:42:33",
25241 "typeDescriptions": {
25242 "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$",
25243 "typeString": "function (uint256,int256[] memory) external"
25244 }
25245 },
25246 "id": 9376,
25247 "isConstant": false,
25248 "isLValue": false,
25249 "isPure": false,
25250 "kind": "functionCall",
25251 "lValueRequested": false,
25252 "names": [],
25253 "nodeType": "FunctionCall",
25254 "src": "6959:56:33",
25255 "typeDescriptions": {
25256 "typeIdentifier": "t_tuple$__$",
25257 "typeString": "tuple()"
25258 }
25259 },
25260 "id": 9377,
25261 "nodeType": "ExpressionStatement",
25262 "src": "6959:56:33"
25263 }
25264 ]
25265 }
25266 },
25267 {
25268 "expression": {
25269 "argumentTypes": null,
25270 "hexValue": "74727565",
25271 "id": 9391,
25272 "isConstant": false,
25273 "isLValue": false,
25274 "isPure": true,
25275 "kind": "bool",
25276 "lValueRequested": false,
25277 "nodeType": "Literal",
25278 "src": "7150:4:33",
25279 "subdenomination": null,
25280 "typeDescriptions": {
25281 "typeIdentifier": "t_bool",
25282 "typeString": "bool"
25283 },
25284 "value": "true"
25285 },
25286 "functionReturnParameters": 9349,
25287 "id": 9392,
25288 "nodeType": "Return",
25289 "src": "7143:11:33"
25290 }
25291 ]
25292 },
25293 "documentation": "@dev Parameter-count specific method called by data provider in response",
25294 "id": 9394,
25295 "implemented": true,
25296 "isConstructor": false,
25297 "isDeclaredConst": false,
25298 "modifiers": [],
25299 "name": "respondIntArray",
25300 "nodeType": "FunctionDefinition",
25301 "parameters": {
25302 "id": 9346,
25303 "nodeType": "ParameterList",
25304 "parameters": [
25305 {
25306 "constant": false,
25307 "id": 9342,
25308 "name": "id",
25309 "nodeType": "VariableDeclaration",
25310 "scope": 9394,
25311 "src": "6734:10:33",
25312 "stateVariable": false,
25313 "storageLocation": "default",
25314 "typeDescriptions": {
25315 "typeIdentifier": "t_uint256",
25316 "typeString": "uint256"
25317 },
25318 "typeName": {
25319 "id": 9341,
25320 "name": "uint256",
25321 "nodeType": "ElementaryTypeName",
25322 "src": "6734:7:33",
25323 "typeDescriptions": {
25324 "typeIdentifier": "t_uint256",
25325 "typeString": "uint256"
25326 }
25327 },
25328 "value": null,
25329 "visibility": "internal"
25330 },
25331 {
25332 "constant": false,
25333 "id": 9345,
25334 "name": "response",
25335 "nodeType": "VariableDeclaration",
25336 "scope": 9394,
25337 "src": "6754:14:33",
25338 "stateVariable": false,
25339 "storageLocation": "default",
25340 "typeDescriptions": {
25341 "typeIdentifier": "t_array$_t_int256_$dyn_calldata_ptr",
25342 "typeString": "int256[]"
25343 },
25344 "typeName": {
25345 "baseType": {
25346 "id": 9343,
25347 "name": "int",
25348 "nodeType": "ElementaryTypeName",
25349 "src": "6754:3:33",
25350 "typeDescriptions": {
25351 "typeIdentifier": "t_int256",
25352 "typeString": "int256"
25353 }
25354 },
25355 "id": 9344,
25356 "length": null,
25357 "nodeType": "ArrayTypeName",
25358 "src": "6754:5:33",
25359 "typeDescriptions": {
25360 "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr",
25361 "typeString": "int256[]"
25362 }
25363 },
25364 "value": null,
25365 "visibility": "internal"
25366 }
25367 ],
25368 "src": "6724:50:33"
25369 },
25370 "payable": false,
25371 "returnParameters": {
25372 "id": 9349,
25373 "nodeType": "ParameterList",
25374 "parameters": [
25375 {
25376 "constant": false,
25377 "id": 9348,
25378 "name": "",
25379 "nodeType": "VariableDeclaration",
25380 "scope": 9394,
25381 "src": "6809:4:33",
25382 "stateVariable": false,
25383 "storageLocation": "default",
25384 "typeDescriptions": {
25385 "typeIdentifier": "t_bool",
25386 "typeString": "bool"
25387 },
25388 "typeName": {
25389 "id": 9347,
25390 "name": "bool",
25391 "nodeType": "ElementaryTypeName",
25392 "src": "6809:4:33",
25393 "typeDescriptions": {
25394 "typeIdentifier": "t_bool",
25395 "typeString": "bool"
25396 }
25397 },
25398 "value": null,
25399 "visibility": "internal"
25400 }
25401 ],
25402 "src": "6808:6:33"
25403 },
25404 "scope": 10008,
25405 "src": "6700:461:33",
25406 "stateMutability": "nonpayable",
25407 "superFunction": 10092,
25408 "visibility": "external"
25409 },
25410 {
25411 "body": {
25412 "id": 9446,
25413 "nodeType": "Block",
25414 "src": "7362:332:33",
25415 "statements": [
25416 {
25417 "condition": {
25418 "argumentTypes": null,
25419 "commonType": {
25420 "typeIdentifier": "t_bool",
25421 "typeString": "bool"
25422 },
25423 "id": 9413,
25424 "isConstant": false,
25425 "isLValue": false,
25426 "isPure": false,
25427 "lValueRequested": false,
25428 "leftExpression": {
25429 "argumentTypes": null,
25430 "commonType": {
25431 "typeIdentifier": "t_address",
25432 "typeString": "address"
25433 },
25434 "id": 9408,
25435 "isConstant": false,
25436 "isLValue": false,
25437 "isPure": false,
25438 "lValueRequested": false,
25439 "leftExpression": {
25440 "argumentTypes": null,
25441 "arguments": [
25442 {
25443 "argumentTypes": null,
25444 "id": 9404,
25445 "name": "id",
25446 "nodeType": "Identifier",
25447 "overloadedDeclarations": [],
25448 "referencedDeclaration": 9396,
25449 "src": "7388:2:33",
25450 "typeDescriptions": {
25451 "typeIdentifier": "t_uint256",
25452 "typeString": "uint256"
25453 }
25454 }
25455 ],
25456 "expression": {
25457 "argumentTypes": [
25458 {
25459 "typeIdentifier": "t_uint256",
25460 "typeString": "uint256"
25461 }
25462 ],
25463 "id": 9403,
25464 "name": "getProvider",
25465 "nodeType": "Identifier",
25466 "overloadedDeclarations": [
25467 9652
25468 ],
25469 "referencedDeclaration": 9652,
25470 "src": "7376:11:33",
25471 "typeDescriptions": {
25472 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
25473 "typeString": "function (uint256) view returns (address)"
25474 }
25475 },
25476 "id": 9405,
25477 "isConstant": false,
25478 "isLValue": false,
25479 "isPure": false,
25480 "kind": "functionCall",
25481 "lValueRequested": false,
25482 "names": [],
25483 "nodeType": "FunctionCall",
25484 "src": "7376:15:33",
25485 "typeDescriptions": {
25486 "typeIdentifier": "t_address",
25487 "typeString": "address"
25488 }
25489 },
25490 "nodeType": "BinaryOperation",
25491 "operator": "!=",
25492 "rightExpression": {
25493 "argumentTypes": null,
25494 "expression": {
25495 "argumentTypes": null,
25496 "id": 9406,
25497 "name": "msg",
25498 "nodeType": "Identifier",
25499 "overloadedDeclarations": [],
25500 "referencedDeclaration": 12092,
25501 "src": "7395:3:33",
25502 "typeDescriptions": {
25503 "typeIdentifier": "t_magic_message",
25504 "typeString": "msg"
25505 }
25506 },
25507 "id": 9407,
25508 "isConstant": false,
25509 "isLValue": false,
25510 "isPure": false,
25511 "lValueRequested": false,
25512 "memberName": "sender",
25513 "nodeType": "MemberAccess",
25514 "referencedDeclaration": null,
25515 "src": "7395:10:33",
25516 "typeDescriptions": {
25517 "typeIdentifier": "t_address",
25518 "typeString": "address"
25519 }
25520 },
25521 "src": "7376:29:33",
25522 "typeDescriptions": {
25523 "typeIdentifier": "t_bool",
25524 "typeString": "bool"
25525 }
25526 },
25527 "nodeType": "BinaryOperation",
25528 "operator": "||",
25529 "rightExpression": {
25530 "argumentTypes": null,
25531 "id": 9412,
25532 "isConstant": false,
25533 "isLValue": false,
25534 "isPure": false,
25535 "lValueRequested": false,
25536 "nodeType": "UnaryOperation",
25537 "operator": "!",
25538 "prefix": true,
25539 "src": "7409:17:33",
25540 "subExpression": {
25541 "argumentTypes": null,
25542 "arguments": [
25543 {
25544 "argumentTypes": null,
25545 "id": 9410,
25546 "name": "id",
25547 "nodeType": "Identifier",
25548 "overloadedDeclarations": [],
25549 "referencedDeclaration": 9396,
25550 "src": "7423:2:33",
25551 "typeDescriptions": {
25552 "typeIdentifier": "t_uint256",
25553 "typeString": "uint256"
25554 }
25555 }
25556 ],
25557 "expression": {
25558 "argumentTypes": [
25559 {
25560 "typeIdentifier": "t_uint256",
25561 "typeString": "uint256"
25562 }
25563 ],
25564 "id": 9409,
25565 "name": "fulfillQuery",
25566 "nodeType": "Identifier",
25567 "overloadedDeclarations": [],
25568 "referencedDeclaration": 9218,
25569 "src": "7410:12:33",
25570 "typeDescriptions": {
25571 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$",
25572 "typeString": "function (uint256) returns (bool)"
25573 }
25574 },
25575 "id": 9411,
25576 "isConstant": false,
25577 "isLValue": false,
25578 "isPure": false,
25579 "kind": "functionCall",
25580 "lValueRequested": false,
25581 "names": [],
25582 "nodeType": "FunctionCall",
25583 "src": "7410:16:33",
25584 "typeDescriptions": {
25585 "typeIdentifier": "t_bool",
25586 "typeString": "bool"
25587 }
25588 },
25589 "typeDescriptions": {
25590 "typeIdentifier": "t_bool",
25591 "typeString": "bool"
25592 }
25593 },
25594 "src": "7376:50:33",
25595 "typeDescriptions": {
25596 "typeIdentifier": "t_bool",
25597 "typeString": "bool"
25598 }
25599 },
25600 "falseBody": null,
25601 "id": 9417,
25602 "nodeType": "IfStatement",
25603 "src": "7372:76:33",
25604 "trueBody": {
25605 "expression": {
25606 "argumentTypes": null,
25607 "arguments": [],
25608 "expression": {
25609 "argumentTypes": [],
25610 "id": 9414,
25611 "name": "revert",
25612 "nodeType": "Identifier",
25613 "overloadedDeclarations": [
25614 12097,
25615 12098
25616 ],
25617 "referencedDeclaration": 12097,
25618 "src": "7440:6:33",
25619 "typeDescriptions": {
25620 "typeIdentifier": "t_function_revert_pure$__$returns$__$",
25621 "typeString": "function () pure"
25622 }
25623 },
25624 "id": 9415,
25625 "isConstant": false,
25626 "isLValue": false,
25627 "isPure": false,
25628 "kind": "functionCall",
25629 "lValueRequested": false,
25630 "names": [],
25631 "nodeType": "FunctionCall",
25632 "src": "7440:8:33",
25633 "typeDescriptions": {
25634 "typeIdentifier": "t_tuple$__$",
25635 "typeString": "tuple()"
25636 }
25637 },
25638 "id": 9416,
25639 "nodeType": "ExpressionStatement",
25640 "src": "7440:8:33"
25641 }
25642 },
25643 {
25644 "condition": {
25645 "argumentTypes": null,
25646 "arguments": [
25647 {
25648 "argumentTypes": null,
25649 "id": 9419,
25650 "name": "id",
25651 "nodeType": "Identifier",
25652 "overloadedDeclarations": [],
25653 "referencedDeclaration": 9396,
25654 "src": "7484:2:33",
25655 "typeDescriptions": {
25656 "typeIdentifier": "t_uint256",
25657 "typeString": "uint256"
25658 }
25659 }
25660 ],
25661 "expression": {
25662 "argumentTypes": [
25663 {
25664 "typeIdentifier": "t_uint256",
25665 "typeString": "uint256"
25666 }
25667 ],
25668 "id": 9418,
25669 "name": "getSubscriberOnchain",
25670 "nodeType": "Identifier",
25671 "overloadedDeclarations": [
25672 9783
25673 ],
25674 "referencedDeclaration": 9783,
25675 "src": "7463:20:33",
25676 "typeDescriptions": {
25677 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
25678 "typeString": "function (uint256) view returns (bool)"
25679 }
25680 },
25681 "id": 9420,
25682 "isConstant": false,
25683 "isLValue": false,
25684 "isPure": false,
25685 "kind": "functionCall",
25686 "lValueRequested": false,
25687 "names": [],
25688 "nodeType": "FunctionCall",
25689 "src": "7463:24:33",
25690 "typeDescriptions": {
25691 "typeIdentifier": "t_bool",
25692 "typeString": "bool"
25693 }
25694 },
25695 "falseBody": {
25696 "id": 9442,
25697 "nodeType": "Block",
25698 "src": "7577:90:33",
25699 "statements": [
25700 {
25701 "eventCall": {
25702 "argumentTypes": null,
25703 "arguments": [
25704 {
25705 "argumentTypes": null,
25706 "id": 9433,
25707 "name": "id",
25708 "nodeType": "Identifier",
25709 "overloadedDeclarations": [],
25710 "referencedDeclaration": 9396,
25711 "src": "7612:2:33",
25712 "typeDescriptions": {
25713 "typeIdentifier": "t_uint256",
25714 "typeString": "uint256"
25715 }
25716 },
25717 {
25718 "argumentTypes": null,
25719 "arguments": [
25720 {
25721 "argumentTypes": null,
25722 "id": 9435,
25723 "name": "id",
25724 "nodeType": "Identifier",
25725 "overloadedDeclarations": [],
25726 "referencedDeclaration": 9396,
25727 "src": "7630:2:33",
25728 "typeDescriptions": {
25729 "typeIdentifier": "t_uint256",
25730 "typeString": "uint256"
25731 }
25732 }
25733 ],
25734 "expression": {
25735 "argumentTypes": [
25736 {
25737 "typeIdentifier": "t_uint256",
25738 "typeString": "uint256"
25739 }
25740 ],
25741 "id": 9434,
25742 "name": "getSubscriber",
25743 "nodeType": "Identifier",
25744 "overloadedDeclarations": [
25745 9674
25746 ],
25747 "referencedDeclaration": 9674,
25748 "src": "7616:13:33",
25749 "typeDescriptions": {
25750 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
25751 "typeString": "function (uint256) view returns (address)"
25752 }
25753 },
25754 "id": 9436,
25755 "isConstant": false,
25756 "isLValue": false,
25757 "isPure": false,
25758 "kind": "functionCall",
25759 "lValueRequested": false,
25760 "names": [],
25761 "nodeType": "FunctionCall",
25762 "src": "7616:17:33",
25763 "typeDescriptions": {
25764 "typeIdentifier": "t_address",
25765 "typeString": "address"
25766 }
25767 },
25768 {
25769 "argumentTypes": null,
25770 "expression": {
25771 "argumentTypes": null,
25772 "id": 9437,
25773 "name": "msg",
25774 "nodeType": "Identifier",
25775 "overloadedDeclarations": [],
25776 "referencedDeclaration": 12092,
25777 "src": "7635:3:33",
25778 "typeDescriptions": {
25779 "typeIdentifier": "t_magic_message",
25780 "typeString": "msg"
25781 }
25782 },
25783 "id": 9438,
25784 "isConstant": false,
25785 "isLValue": false,
25786 "isPure": false,
25787 "lValueRequested": false,
25788 "memberName": "sender",
25789 "nodeType": "MemberAccess",
25790 "referencedDeclaration": null,
25791 "src": "7635:10:33",
25792 "typeDescriptions": {
25793 "typeIdentifier": "t_address",
25794 "typeString": "address"
25795 }
25796 },
25797 {
25798 "argumentTypes": null,
25799 "id": 9439,
25800 "name": "response",
25801 "nodeType": "Identifier",
25802 "overloadedDeclarations": [],
25803 "referencedDeclaration": 9398,
25804 "src": "7647:8:33",
25805 "typeDescriptions": {
25806 "typeIdentifier": "t_string_calldata_ptr",
25807 "typeString": "string calldata"
25808 }
25809 }
25810 ],
25811 "expression": {
25812 "argumentTypes": [
25813 {
25814 "typeIdentifier": "t_uint256",
25815 "typeString": "uint256"
25816 },
25817 {
25818 "typeIdentifier": "t_address",
25819 "typeString": "address"
25820 },
25821 {
25822 "typeIdentifier": "t_address",
25823 "typeString": "address"
25824 },
25825 {
25826 "typeIdentifier": "t_string_calldata_ptr",
25827 "typeString": "string calldata"
25828 }
25829 ],
25830 "id": 9432,
25831 "name": "OffchainResult1",
25832 "nodeType": "Identifier",
25833 "overloadedDeclarations": [],
25834 "referencedDeclaration": 8901,
25835 "src": "7596:15:33",
25836 "typeDescriptions": {
25837 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$",
25838 "typeString": "function (uint256,address,address,string memory)"
25839 }
25840 },
25841 "id": 9440,
25842 "isConstant": false,
25843 "isLValue": false,
25844 "isPure": false,
25845 "kind": "functionCall",
25846 "lValueRequested": false,
25847 "names": [],
25848 "nodeType": "FunctionCall",
25849 "src": "7596:60:33",
25850 "typeDescriptions": {
25851 "typeIdentifier": "t_tuple$__$",
25852 "typeString": "tuple()"
25853 }
25854 },
25855 "id": 9441,
25856 "nodeType": "EmitStatement",
25857 "src": "7591:65:33"
25858 }
25859 ]
25860 },
25861 "id": 9443,
25862 "nodeType": "IfStatement",
25863 "src": "7459:208:33",
25864 "trueBody": {
25865 "id": 9431,
25866 "nodeType": "Block",
25867 "src": "7489:74:33",
25868 "statements": [
25869 {
25870 "expression": {
25871 "argumentTypes": null,
25872 "arguments": [
25873 {
25874 "argumentTypes": null,
25875 "id": 9427,
25876 "name": "id",
25877 "nodeType": "Identifier",
25878 "overloadedDeclarations": [],
25879 "referencedDeclaration": 9396,
25880 "src": "7539:2:33",
25881 "typeDescriptions": {
25882 "typeIdentifier": "t_uint256",
25883 "typeString": "uint256"
25884 }
25885 },
25886 {
25887 "argumentTypes": null,
25888 "id": 9428,
25889 "name": "response",
25890 "nodeType": "Identifier",
25891 "overloadedDeclarations": [],
25892 "referencedDeclaration": 9398,
25893 "src": "7543:8:33",
25894 "typeDescriptions": {
25895 "typeIdentifier": "t_string_calldata_ptr",
25896 "typeString": "string calldata"
25897 }
25898 }
25899 ],
25900 "expression": {
25901 "argumentTypes": [
25902 {
25903 "typeIdentifier": "t_uint256",
25904 "typeString": "uint256"
25905 },
25906 {
25907 "typeIdentifier": "t_string_calldata_ptr",
25908 "typeString": "string calldata"
25909 }
25910 ],
25911 "expression": {
25912 "argumentTypes": null,
25913 "arguments": [
25914 {
25915 "argumentTypes": null,
25916 "arguments": [
25917 {
25918 "argumentTypes": null,
25919 "id": 9423,
25920 "name": "id",
25921 "nodeType": "Identifier",
25922 "overloadedDeclarations": [],
25923 "referencedDeclaration": 9396,
25924 "src": "7525:2:33",
25925 "typeDescriptions": {
25926 "typeIdentifier": "t_uint256",
25927 "typeString": "uint256"
25928 }
25929 }
25930 ],
25931 "expression": {
25932 "argumentTypes": [
25933 {
25934 "typeIdentifier": "t_uint256",
25935 "typeString": "uint256"
25936 }
25937 ],
25938 "id": 9422,
25939 "name": "getSubscriber",
25940 "nodeType": "Identifier",
25941 "overloadedDeclarations": [
25942 9674
25943 ],
25944 "referencedDeclaration": 9674,
25945 "src": "7511:13:33",
25946 "typeDescriptions": {
25947 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
25948 "typeString": "function (uint256) view returns (address)"
25949 }
25950 },
25951 "id": 9424,
25952 "isConstant": false,
25953 "isLValue": false,
25954 "isPure": false,
25955 "kind": "functionCall",
25956 "lValueRequested": false,
25957 "names": [],
25958 "nodeType": "FunctionCall",
25959 "src": "7511:17:33",
25960 "typeDescriptions": {
25961 "typeIdentifier": "t_address",
25962 "typeString": "address"
25963 }
25964 }
25965 ],
25966 "expression": {
25967 "argumentTypes": [
25968 {
25969 "typeIdentifier": "t_address",
25970 "typeString": "address"
25971 }
25972 ],
25973 "id": 9421,
25974 "name": "Client1",
25975 "nodeType": "Identifier",
25976 "overloadedDeclarations": [],
25977 "referencedDeclaration": 815,
25978 "src": "7503:7:33",
25979 "typeDescriptions": {
25980 "typeIdentifier": "t_type$_t_contract$_Client1_$815_$",
25981 "typeString": "type(contract Client1)"
25982 }
25983 },
25984 "id": 9425,
25985 "isConstant": false,
25986 "isLValue": false,
25987 "isPure": false,
25988 "kind": "typeConversion",
25989 "lValueRequested": false,
25990 "names": [],
25991 "nodeType": "FunctionCall",
25992 "src": "7503:26:33",
25993 "typeDescriptions": {
25994 "typeIdentifier": "t_contract$_Client1_$815",
25995 "typeString": "contract Client1"
25996 }
25997 },
25998 "id": 9426,
25999 "isConstant": false,
26000 "isLValue": false,
26001 "isPure": false,
26002 "lValueRequested": false,
26003 "memberName": "callback",
26004 "nodeType": "MemberAccess",
26005 "referencedDeclaration": 814,
26006 "src": "7503:35:33",
26007 "typeDescriptions": {
26008 "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$",
26009 "typeString": "function (uint256,string memory) external"
26010 }
26011 },
26012 "id": 9429,
26013 "isConstant": false,
26014 "isLValue": false,
26015 "isPure": false,
26016 "kind": "functionCall",
26017 "lValueRequested": false,
26018 "names": [],
26019 "nodeType": "FunctionCall",
26020 "src": "7503:49:33",
26021 "typeDescriptions": {
26022 "typeIdentifier": "t_tuple$__$",
26023 "typeString": "tuple()"
26024 }
26025 },
26026 "id": 9430,
26027 "nodeType": "ExpressionStatement",
26028 "src": "7503:49:33"
26029 }
26030 ]
26031 }
26032 },
26033 {
26034 "expression": {
26035 "argumentTypes": null,
26036 "hexValue": "74727565",
26037 "id": 9444,
26038 "isConstant": false,
26039 "isLValue": false,
26040 "isPure": true,
26041 "kind": "bool",
26042 "lValueRequested": false,
26043 "nodeType": "Literal",
26044 "src": "7683:4:33",
26045 "subdenomination": null,
26046 "typeDescriptions": {
26047 "typeIdentifier": "t_bool",
26048 "typeString": "bool"
26049 },
26050 "value": "true"
26051 },
26052 "functionReturnParameters": 9402,
26053 "id": 9445,
26054 "nodeType": "Return",
26055 "src": "7676:11:33"
26056 }
26057 ]
26058 },
26059 "documentation": "@dev Parameter-count specific method called by data provider in response",
26060 "id": 9447,
26061 "implemented": true,
26062 "isConstructor": false,
26063 "isDeclaredConst": false,
26064 "modifiers": [],
26065 "name": "respond1",
26066 "nodeType": "FunctionDefinition",
26067 "parameters": {
26068 "id": 9399,
26069 "nodeType": "ParameterList",
26070 "parameters": [
26071 {
26072 "constant": false,
26073 "id": 9396,
26074 "name": "id",
26075 "nodeType": "VariableDeclaration",
26076 "scope": 9447,
26077 "src": "7276:10:33",
26078 "stateVariable": false,
26079 "storageLocation": "default",
26080 "typeDescriptions": {
26081 "typeIdentifier": "t_uint256",
26082 "typeString": "uint256"
26083 },
26084 "typeName": {
26085 "id": 9395,
26086 "name": "uint256",
26087 "nodeType": "ElementaryTypeName",
26088 "src": "7276:7:33",
26089 "typeDescriptions": {
26090 "typeIdentifier": "t_uint256",
26091 "typeString": "uint256"
26092 }
26093 },
26094 "value": null,
26095 "visibility": "internal"
26096 },
26097 {
26098 "constant": false,
26099 "id": 9398,
26100 "name": "response",
26101 "nodeType": "VariableDeclaration",
26102 "scope": 9447,
26103 "src": "7296:15:33",
26104 "stateVariable": false,
26105 "storageLocation": "default",
26106 "typeDescriptions": {
26107 "typeIdentifier": "t_string_calldata_ptr",
26108 "typeString": "string"
26109 },
26110 "typeName": {
26111 "id": 9397,
26112 "name": "string",
26113 "nodeType": "ElementaryTypeName",
26114 "src": "7296:6:33",
26115 "typeDescriptions": {
26116 "typeIdentifier": "t_string_storage_ptr",
26117 "typeString": "string"
26118 }
26119 },
26120 "value": null,
26121 "visibility": "internal"
26122 }
26123 ],
26124 "src": "7266:51:33"
26125 },
26126 "payable": false,
26127 "returnParameters": {
26128 "id": 9402,
26129 "nodeType": "ParameterList",
26130 "parameters": [
26131 {
26132 "constant": false,
26133 "id": 9401,
26134 "name": "",
26135 "nodeType": "VariableDeclaration",
26136 "scope": 9447,
26137 "src": "7352:4:33",
26138 "stateVariable": false,
26139 "storageLocation": "default",
26140 "typeDescriptions": {
26141 "typeIdentifier": "t_bool",
26142 "typeString": "bool"
26143 },
26144 "typeName": {
26145 "id": 9400,
26146 "name": "bool",
26147 "nodeType": "ElementaryTypeName",
26148 "src": "7352:4:33",
26149 "typeDescriptions": {
26150 "typeIdentifier": "t_bool",
26151 "typeString": "bool"
26152 }
26153 },
26154 "value": null,
26155 "visibility": "internal"
26156 }
26157 ],
26158 "src": "7351:6:33"
26159 },
26160 "scope": 10008,
26161 "src": "7249:445:33",
26162 "stateMutability": "nonpayable",
26163 "superFunction": 10033,
26164 "visibility": "external"
26165 },
26166 {
26167 "body": {
26168 "id": 9503,
26169 "nodeType": "Block",
26170 "src": "7921:357:33",
26171 "statements": [
26172 {
26173 "condition": {
26174 "argumentTypes": null,
26175 "commonType": {
26176 "typeIdentifier": "t_bool",
26177 "typeString": "bool"
26178 },
26179 "id": 9468,
26180 "isConstant": false,
26181 "isLValue": false,
26182 "isPure": false,
26183 "lValueRequested": false,
26184 "leftExpression": {
26185 "argumentTypes": null,
26186 "commonType": {
26187 "typeIdentifier": "t_address",
26188 "typeString": "address"
26189 },
26190 "id": 9463,
26191 "isConstant": false,
26192 "isLValue": false,
26193 "isPure": false,
26194 "lValueRequested": false,
26195 "leftExpression": {
26196 "argumentTypes": null,
26197 "arguments": [
26198 {
26199 "argumentTypes": null,
26200 "id": 9459,
26201 "name": "id",
26202 "nodeType": "Identifier",
26203 "overloadedDeclarations": [],
26204 "referencedDeclaration": 9449,
26205 "src": "7947:2:33",
26206 "typeDescriptions": {
26207 "typeIdentifier": "t_uint256",
26208 "typeString": "uint256"
26209 }
26210 }
26211 ],
26212 "expression": {
26213 "argumentTypes": [
26214 {
26215 "typeIdentifier": "t_uint256",
26216 "typeString": "uint256"
26217 }
26218 ],
26219 "id": 9458,
26220 "name": "getProvider",
26221 "nodeType": "Identifier",
26222 "overloadedDeclarations": [
26223 9652
26224 ],
26225 "referencedDeclaration": 9652,
26226 "src": "7935:11:33",
26227 "typeDescriptions": {
26228 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
26229 "typeString": "function (uint256) view returns (address)"
26230 }
26231 },
26232 "id": 9460,
26233 "isConstant": false,
26234 "isLValue": false,
26235 "isPure": false,
26236 "kind": "functionCall",
26237 "lValueRequested": false,
26238 "names": [],
26239 "nodeType": "FunctionCall",
26240 "src": "7935:15:33",
26241 "typeDescriptions": {
26242 "typeIdentifier": "t_address",
26243 "typeString": "address"
26244 }
26245 },
26246 "nodeType": "BinaryOperation",
26247 "operator": "!=",
26248 "rightExpression": {
26249 "argumentTypes": null,
26250 "expression": {
26251 "argumentTypes": null,
26252 "id": 9461,
26253 "name": "msg",
26254 "nodeType": "Identifier",
26255 "overloadedDeclarations": [],
26256 "referencedDeclaration": 12092,
26257 "src": "7954:3:33",
26258 "typeDescriptions": {
26259 "typeIdentifier": "t_magic_message",
26260 "typeString": "msg"
26261 }
26262 },
26263 "id": 9462,
26264 "isConstant": false,
26265 "isLValue": false,
26266 "isPure": false,
26267 "lValueRequested": false,
26268 "memberName": "sender",
26269 "nodeType": "MemberAccess",
26270 "referencedDeclaration": null,
26271 "src": "7954:10:33",
26272 "typeDescriptions": {
26273 "typeIdentifier": "t_address",
26274 "typeString": "address"
26275 }
26276 },
26277 "src": "7935:29:33",
26278 "typeDescriptions": {
26279 "typeIdentifier": "t_bool",
26280 "typeString": "bool"
26281 }
26282 },
26283 "nodeType": "BinaryOperation",
26284 "operator": "||",
26285 "rightExpression": {
26286 "argumentTypes": null,
26287 "id": 9467,
26288 "isConstant": false,
26289 "isLValue": false,
26290 "isPure": false,
26291 "lValueRequested": false,
26292 "nodeType": "UnaryOperation",
26293 "operator": "!",
26294 "prefix": true,
26295 "src": "7968:17:33",
26296 "subExpression": {
26297 "argumentTypes": null,
26298 "arguments": [
26299 {
26300 "argumentTypes": null,
26301 "id": 9465,
26302 "name": "id",
26303 "nodeType": "Identifier",
26304 "overloadedDeclarations": [],
26305 "referencedDeclaration": 9449,
26306 "src": "7982:2:33",
26307 "typeDescriptions": {
26308 "typeIdentifier": "t_uint256",
26309 "typeString": "uint256"
26310 }
26311 }
26312 ],
26313 "expression": {
26314 "argumentTypes": [
26315 {
26316 "typeIdentifier": "t_uint256",
26317 "typeString": "uint256"
26318 }
26319 ],
26320 "id": 9464,
26321 "name": "fulfillQuery",
26322 "nodeType": "Identifier",
26323 "overloadedDeclarations": [],
26324 "referencedDeclaration": 9218,
26325 "src": "7969:12:33",
26326 "typeDescriptions": {
26327 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$",
26328 "typeString": "function (uint256) returns (bool)"
26329 }
26330 },
26331 "id": 9466,
26332 "isConstant": false,
26333 "isLValue": false,
26334 "isPure": false,
26335 "kind": "functionCall",
26336 "lValueRequested": false,
26337 "names": [],
26338 "nodeType": "FunctionCall",
26339 "src": "7969:16:33",
26340 "typeDescriptions": {
26341 "typeIdentifier": "t_bool",
26342 "typeString": "bool"
26343 }
26344 },
26345 "typeDescriptions": {
26346 "typeIdentifier": "t_bool",
26347 "typeString": "bool"
26348 }
26349 },
26350 "src": "7935:50:33",
26351 "typeDescriptions": {
26352 "typeIdentifier": "t_bool",
26353 "typeString": "bool"
26354 }
26355 },
26356 "falseBody": null,
26357 "id": 9472,
26358 "nodeType": "IfStatement",
26359 "src": "7931:76:33",
26360 "trueBody": {
26361 "expression": {
26362 "argumentTypes": null,
26363 "arguments": [],
26364 "expression": {
26365 "argumentTypes": [],
26366 "id": 9469,
26367 "name": "revert",
26368 "nodeType": "Identifier",
26369 "overloadedDeclarations": [
26370 12097,
26371 12098
26372 ],
26373 "referencedDeclaration": 12097,
26374 "src": "7999:6:33",
26375 "typeDescriptions": {
26376 "typeIdentifier": "t_function_revert_pure$__$returns$__$",
26377 "typeString": "function () pure"
26378 }
26379 },
26380 "id": 9470,
26381 "isConstant": false,
26382 "isLValue": false,
26383 "isPure": false,
26384 "kind": "functionCall",
26385 "lValueRequested": false,
26386 "names": [],
26387 "nodeType": "FunctionCall",
26388 "src": "7999:8:33",
26389 "typeDescriptions": {
26390 "typeIdentifier": "t_tuple$__$",
26391 "typeString": "tuple()"
26392 }
26393 },
26394 "id": 9471,
26395 "nodeType": "ExpressionStatement",
26396 "src": "7999:8:33"
26397 }
26398 },
26399 {
26400 "condition": {
26401 "argumentTypes": null,
26402 "arguments": [
26403 {
26404 "argumentTypes": null,
26405 "id": 9474,
26406 "name": "id",
26407 "nodeType": "Identifier",
26408 "overloadedDeclarations": [],
26409 "referencedDeclaration": 9449,
26410 "src": "8043:2:33",
26411 "typeDescriptions": {
26412 "typeIdentifier": "t_uint256",
26413 "typeString": "uint256"
26414 }
26415 }
26416 ],
26417 "expression": {
26418 "argumentTypes": [
26419 {
26420 "typeIdentifier": "t_uint256",
26421 "typeString": "uint256"
26422 }
26423 ],
26424 "id": 9473,
26425 "name": "getSubscriberOnchain",
26426 "nodeType": "Identifier",
26427 "overloadedDeclarations": [
26428 9783
26429 ],
26430 "referencedDeclaration": 9783,
26431 "src": "8022:20:33",
26432 "typeDescriptions": {
26433 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
26434 "typeString": "function (uint256) view returns (bool)"
26435 }
26436 },
26437 "id": 9475,
26438 "isConstant": false,
26439 "isLValue": false,
26440 "isPure": false,
26441 "kind": "functionCall",
26442 "lValueRequested": false,
26443 "names": [],
26444 "nodeType": "FunctionCall",
26445 "src": "8022:24:33",
26446 "typeDescriptions": {
26447 "typeIdentifier": "t_bool",
26448 "typeString": "bool"
26449 }
26450 },
26451 "falseBody": {
26452 "id": 9499,
26453 "nodeType": "Block",
26454 "src": "8148:102:33",
26455 "statements": [
26456 {
26457 "eventCall": {
26458 "argumentTypes": null,
26459 "arguments": [
26460 {
26461 "argumentTypes": null,
26462 "id": 9489,
26463 "name": "id",
26464 "nodeType": "Identifier",
26465 "overloadedDeclarations": [],
26466 "referencedDeclaration": 9449,
26467 "src": "8183:2:33",
26468 "typeDescriptions": {
26469 "typeIdentifier": "t_uint256",
26470 "typeString": "uint256"
26471 }
26472 },
26473 {
26474 "argumentTypes": null,
26475 "arguments": [
26476 {
26477 "argumentTypes": null,
26478 "id": 9491,
26479 "name": "id",
26480 "nodeType": "Identifier",
26481 "overloadedDeclarations": [],
26482 "referencedDeclaration": 9449,
26483 "src": "8201:2:33",
26484 "typeDescriptions": {
26485 "typeIdentifier": "t_uint256",
26486 "typeString": "uint256"
26487 }
26488 }
26489 ],
26490 "expression": {
26491 "argumentTypes": [
26492 {
26493 "typeIdentifier": "t_uint256",
26494 "typeString": "uint256"
26495 }
26496 ],
26497 "id": 9490,
26498 "name": "getSubscriber",
26499 "nodeType": "Identifier",
26500 "overloadedDeclarations": [
26501 9674
26502 ],
26503 "referencedDeclaration": 9674,
26504 "src": "8187:13:33",
26505 "typeDescriptions": {
26506 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
26507 "typeString": "function (uint256) view returns (address)"
26508 }
26509 },
26510 "id": 9492,
26511 "isConstant": false,
26512 "isLValue": false,
26513 "isPure": false,
26514 "kind": "functionCall",
26515 "lValueRequested": false,
26516 "names": [],
26517 "nodeType": "FunctionCall",
26518 "src": "8187:17:33",
26519 "typeDescriptions": {
26520 "typeIdentifier": "t_address",
26521 "typeString": "address"
26522 }
26523 },
26524 {
26525 "argumentTypes": null,
26526 "expression": {
26527 "argumentTypes": null,
26528 "id": 9493,
26529 "name": "msg",
26530 "nodeType": "Identifier",
26531 "overloadedDeclarations": [],
26532 "referencedDeclaration": 12092,
26533 "src": "8206:3:33",
26534 "typeDescriptions": {
26535 "typeIdentifier": "t_magic_message",
26536 "typeString": "msg"
26537 }
26538 },
26539 "id": 9494,
26540 "isConstant": false,
26541 "isLValue": false,
26542 "isPure": false,
26543 "lValueRequested": false,
26544 "memberName": "sender",
26545 "nodeType": "MemberAccess",
26546 "referencedDeclaration": null,
26547 "src": "8206:10:33",
26548 "typeDescriptions": {
26549 "typeIdentifier": "t_address",
26550 "typeString": "address"
26551 }
26552 },
26553 {
26554 "argumentTypes": null,
26555 "id": 9495,
26556 "name": "response1",
26557 "nodeType": "Identifier",
26558 "overloadedDeclarations": [],
26559 "referencedDeclaration": 9451,
26560 "src": "8218:9:33",
26561 "typeDescriptions": {
26562 "typeIdentifier": "t_string_calldata_ptr",
26563 "typeString": "string calldata"
26564 }
26565 },
26566 {
26567 "argumentTypes": null,
26568 "id": 9496,
26569 "name": "response2",
26570 "nodeType": "Identifier",
26571 "overloadedDeclarations": [],
26572 "referencedDeclaration": 9453,
26573 "src": "8229:9:33",
26574 "typeDescriptions": {
26575 "typeIdentifier": "t_string_calldata_ptr",
26576 "typeString": "string calldata"
26577 }
26578 }
26579 ],
26580 "expression": {
26581 "argumentTypes": [
26582 {
26583 "typeIdentifier": "t_uint256",
26584 "typeString": "uint256"
26585 },
26586 {
26587 "typeIdentifier": "t_address",
26588 "typeString": "address"
26589 },
26590 {
26591 "typeIdentifier": "t_address",
26592 "typeString": "address"
26593 },
26594 {
26595 "typeIdentifier": "t_string_calldata_ptr",
26596 "typeString": "string calldata"
26597 },
26598 {
26599 "typeIdentifier": "t_string_calldata_ptr",
26600 "typeString": "string calldata"
26601 }
26602 ],
26603 "id": 9488,
26604 "name": "OffchainResult2",
26605 "nodeType": "Identifier",
26606 "overloadedDeclarations": [],
26607 "referencedDeclaration": 8913,
26608 "src": "8167:15:33",
26609 "typeDescriptions": {
26610 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
26611 "typeString": "function (uint256,address,address,string memory,string memory)"
26612 }
26613 },
26614 "id": 9497,
26615 "isConstant": false,
26616 "isLValue": false,
26617 "isPure": false,
26618 "kind": "functionCall",
26619 "lValueRequested": false,
26620 "names": [],
26621 "nodeType": "FunctionCall",
26622 "src": "8167:72:33",
26623 "typeDescriptions": {
26624 "typeIdentifier": "t_tuple$__$",
26625 "typeString": "tuple()"
26626 }
26627 },
26628 "id": 9498,
26629 "nodeType": "EmitStatement",
26630 "src": "8162:77:33"
26631 }
26632 ]
26633 },
26634 "id": 9500,
26635 "nodeType": "IfStatement",
26636 "src": "8018:232:33",
26637 "trueBody": {
26638 "id": 9487,
26639 "nodeType": "Block",
26640 "src": "8048:86:33",
26641 "statements": [
26642 {
26643 "expression": {
26644 "argumentTypes": null,
26645 "arguments": [
26646 {
26647 "argumentTypes": null,
26648 "id": 9482,
26649 "name": "id",
26650 "nodeType": "Identifier",
26651 "overloadedDeclarations": [],
26652 "referencedDeclaration": 9449,
26653 "src": "8098:2:33",
26654 "typeDescriptions": {
26655 "typeIdentifier": "t_uint256",
26656 "typeString": "uint256"
26657 }
26658 },
26659 {
26660 "argumentTypes": null,
26661 "id": 9483,
26662 "name": "response1",
26663 "nodeType": "Identifier",
26664 "overloadedDeclarations": [],
26665 "referencedDeclaration": 9451,
26666 "src": "8102:9:33",
26667 "typeDescriptions": {
26668 "typeIdentifier": "t_string_calldata_ptr",
26669 "typeString": "string calldata"
26670 }
26671 },
26672 {
26673 "argumentTypes": null,
26674 "id": 9484,
26675 "name": "response2",
26676 "nodeType": "Identifier",
26677 "overloadedDeclarations": [],
26678 "referencedDeclaration": 9453,
26679 "src": "8113:9:33",
26680 "typeDescriptions": {
26681 "typeIdentifier": "t_string_calldata_ptr",
26682 "typeString": "string calldata"
26683 }
26684 }
26685 ],
26686 "expression": {
26687 "argumentTypes": [
26688 {
26689 "typeIdentifier": "t_uint256",
26690 "typeString": "uint256"
26691 },
26692 {
26693 "typeIdentifier": "t_string_calldata_ptr",
26694 "typeString": "string calldata"
26695 },
26696 {
26697 "typeIdentifier": "t_string_calldata_ptr",
26698 "typeString": "string calldata"
26699 }
26700 ],
26701 "expression": {
26702 "argumentTypes": null,
26703 "arguments": [
26704 {
26705 "argumentTypes": null,
26706 "arguments": [
26707 {
26708 "argumentTypes": null,
26709 "id": 9478,
26710 "name": "id",
26711 "nodeType": "Identifier",
26712 "overloadedDeclarations": [],
26713 "referencedDeclaration": 9449,
26714 "src": "8084:2:33",
26715 "typeDescriptions": {
26716 "typeIdentifier": "t_uint256",
26717 "typeString": "uint256"
26718 }
26719 }
26720 ],
26721 "expression": {
26722 "argumentTypes": [
26723 {
26724 "typeIdentifier": "t_uint256",
26725 "typeString": "uint256"
26726 }
26727 ],
26728 "id": 9477,
26729 "name": "getSubscriber",
26730 "nodeType": "Identifier",
26731 "overloadedDeclarations": [
26732 9674
26733 ],
26734 "referencedDeclaration": 9674,
26735 "src": "8070:13:33",
26736 "typeDescriptions": {
26737 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
26738 "typeString": "function (uint256) view returns (address)"
26739 }
26740 },
26741 "id": 9479,
26742 "isConstant": false,
26743 "isLValue": false,
26744 "isPure": false,
26745 "kind": "functionCall",
26746 "lValueRequested": false,
26747 "names": [],
26748 "nodeType": "FunctionCall",
26749 "src": "8070:17:33",
26750 "typeDescriptions": {
26751 "typeIdentifier": "t_address",
26752 "typeString": "address"
26753 }
26754 }
26755 ],
26756 "expression": {
26757 "argumentTypes": [
26758 {
26759 "typeIdentifier": "t_address",
26760 "typeString": "address"
26761 }
26762 ],
26763 "id": 9476,
26764 "name": "Client2",
26765 "nodeType": "Identifier",
26766 "overloadedDeclarations": [],
26767 "referencedDeclaration": 825,
26768 "src": "8062:7:33",
26769 "typeDescriptions": {
26770 "typeIdentifier": "t_type$_t_contract$_Client2_$825_$",
26771 "typeString": "type(contract Client2)"
26772 }
26773 },
26774 "id": 9480,
26775 "isConstant": false,
26776 "isLValue": false,
26777 "isPure": false,
26778 "kind": "typeConversion",
26779 "lValueRequested": false,
26780 "names": [],
26781 "nodeType": "FunctionCall",
26782 "src": "8062:26:33",
26783 "typeDescriptions": {
26784 "typeIdentifier": "t_contract$_Client2_$825",
26785 "typeString": "contract Client2"
26786 }
26787 },
26788 "id": 9481,
26789 "isConstant": false,
26790 "isLValue": false,
26791 "isPure": false,
26792 "lValueRequested": false,
26793 "memberName": "callback",
26794 "nodeType": "MemberAccess",
26795 "referencedDeclaration": 824,
26796 "src": "8062:35:33",
26797 "typeDescriptions": {
26798 "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
26799 "typeString": "function (uint256,string memory,string memory) external"
26800 }
26801 },
26802 "id": 9485,
26803 "isConstant": false,
26804 "isLValue": false,
26805 "isPure": false,
26806 "kind": "functionCall",
26807 "lValueRequested": false,
26808 "names": [],
26809 "nodeType": "FunctionCall",
26810 "src": "8062:61:33",
26811 "typeDescriptions": {
26812 "typeIdentifier": "t_tuple$__$",
26813 "typeString": "tuple()"
26814 }
26815 },
26816 "id": 9486,
26817 "nodeType": "ExpressionStatement",
26818 "src": "8062:61:33"
26819 }
26820 ]
26821 }
26822 },
26823 {
26824 "expression": {
26825 "argumentTypes": null,
26826 "hexValue": "74727565",
26827 "id": 9501,
26828 "isConstant": false,
26829 "isLValue": false,
26830 "isPure": true,
26831 "kind": "bool",
26832 "lValueRequested": false,
26833 "nodeType": "Literal",
26834 "src": "8267:4:33",
26835 "subdenomination": null,
26836 "typeDescriptions": {
26837 "typeIdentifier": "t_bool",
26838 "typeString": "bool"
26839 },
26840 "value": "true"
26841 },
26842 "functionReturnParameters": 9457,
26843 "id": 9502,
26844 "nodeType": "Return",
26845 "src": "8260:11:33"
26846 }
26847 ]
26848 },
26849 "documentation": "@dev Parameter-count specific method called by data provider in response",
26850 "id": 9504,
26851 "implemented": true,
26852 "isConstructor": false,
26853 "isDeclaredConst": false,
26854 "modifiers": [],
26855 "name": "respond2",
26856 "nodeType": "FunctionDefinition",
26857 "parameters": {
26858 "id": 9454,
26859 "nodeType": "ParameterList",
26860 "parameters": [
26861 {
26862 "constant": false,
26863 "id": 9449,
26864 "name": "id",
26865 "nodeType": "VariableDeclaration",
26866 "scope": 9504,
26867 "src": "7808:10:33",
26868 "stateVariable": false,
26869 "storageLocation": "default",
26870 "typeDescriptions": {
26871 "typeIdentifier": "t_uint256",
26872 "typeString": "uint256"
26873 },
26874 "typeName": {
26875 "id": 9448,
26876 "name": "uint256",
26877 "nodeType": "ElementaryTypeName",
26878 "src": "7808:7:33",
26879 "typeDescriptions": {
26880 "typeIdentifier": "t_uint256",
26881 "typeString": "uint256"
26882 }
26883 },
26884 "value": null,
26885 "visibility": "internal"
26886 },
26887 {
26888 "constant": false,
26889 "id": 9451,
26890 "name": "response1",
26891 "nodeType": "VariableDeclaration",
26892 "scope": 9504,
26893 "src": "7828:16:33",
26894 "stateVariable": false,
26895 "storageLocation": "default",
26896 "typeDescriptions": {
26897 "typeIdentifier": "t_string_calldata_ptr",
26898 "typeString": "string"
26899 },
26900 "typeName": {
26901 "id": 9450,
26902 "name": "string",
26903 "nodeType": "ElementaryTypeName",
26904 "src": "7828:6:33",
26905 "typeDescriptions": {
26906 "typeIdentifier": "t_string_storage_ptr",
26907 "typeString": "string"
26908 }
26909 },
26910 "value": null,
26911 "visibility": "internal"
26912 },
26913 {
26914 "constant": false,
26915 "id": 9453,
26916 "name": "response2",
26917 "nodeType": "VariableDeclaration",
26918 "scope": 9504,
26919 "src": "7854:16:33",
26920 "stateVariable": false,
26921 "storageLocation": "default",
26922 "typeDescriptions": {
26923 "typeIdentifier": "t_string_calldata_ptr",
26924 "typeString": "string"
26925 },
26926 "typeName": {
26927 "id": 9452,
26928 "name": "string",
26929 "nodeType": "ElementaryTypeName",
26930 "src": "7854:6:33",
26931 "typeDescriptions": {
26932 "typeIdentifier": "t_string_storage_ptr",
26933 "typeString": "string"
26934 }
26935 },
26936 "value": null,
26937 "visibility": "internal"
26938 }
26939 ],
26940 "src": "7798:78:33"
26941 },
26942 "payable": false,
26943 "returnParameters": {
26944 "id": 9457,
26945 "nodeType": "ParameterList",
26946 "parameters": [
26947 {
26948 "constant": false,
26949 "id": 9456,
26950 "name": "",
26951 "nodeType": "VariableDeclaration",
26952 "scope": 9504,
26953 "src": "7911:4:33",
26954 "stateVariable": false,
26955 "storageLocation": "default",
26956 "typeDescriptions": {
26957 "typeIdentifier": "t_bool",
26958 "typeString": "bool"
26959 },
26960 "typeName": {
26961 "id": 9455,
26962 "name": "bool",
26963 "nodeType": "ElementaryTypeName",
26964 "src": "7911:4:33",
26965 "typeDescriptions": {
26966 "typeIdentifier": "t_bool",
26967 "typeString": "bool"
26968 }
26969 },
26970 "value": null,
26971 "visibility": "internal"
26972 }
26973 ],
26974 "src": "7910:6:33"
26975 },
26976 "scope": 10008,
26977 "src": "7781:497:33",
26978 "stateMutability": "nonpayable",
26979 "superFunction": 10044,
26980 "visibility": "external"
26981 },
26982 {
26983 "body": {
26984 "id": 9564,
26985 "nodeType": "Block",
26986 "src": "8531:379:33",
26987 "statements": [
26988 {
26989 "condition": {
26990 "argumentTypes": null,
26991 "commonType": {
26992 "typeIdentifier": "t_bool",
26993 "typeString": "bool"
26994 },
26995 "id": 9527,
26996 "isConstant": false,
26997 "isLValue": false,
26998 "isPure": false,
26999 "lValueRequested": false,
27000 "leftExpression": {
27001 "argumentTypes": null,
27002 "commonType": {
27003 "typeIdentifier": "t_address",
27004 "typeString": "address"
27005 },
27006 "id": 9522,
27007 "isConstant": false,
27008 "isLValue": false,
27009 "isPure": false,
27010 "lValueRequested": false,
27011 "leftExpression": {
27012 "argumentTypes": null,
27013 "arguments": [
27014 {
27015 "argumentTypes": null,
27016 "id": 9518,
27017 "name": "id",
27018 "nodeType": "Identifier",
27019 "overloadedDeclarations": [],
27020 "referencedDeclaration": 9506,
27021 "src": "8557:2:33",
27022 "typeDescriptions": {
27023 "typeIdentifier": "t_uint256",
27024 "typeString": "uint256"
27025 }
27026 }
27027 ],
27028 "expression": {
27029 "argumentTypes": [
27030 {
27031 "typeIdentifier": "t_uint256",
27032 "typeString": "uint256"
27033 }
27034 ],
27035 "id": 9517,
27036 "name": "getProvider",
27037 "nodeType": "Identifier",
27038 "overloadedDeclarations": [
27039 9652
27040 ],
27041 "referencedDeclaration": 9652,
27042 "src": "8545:11:33",
27043 "typeDescriptions": {
27044 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
27045 "typeString": "function (uint256) view returns (address)"
27046 }
27047 },
27048 "id": 9519,
27049 "isConstant": false,
27050 "isLValue": false,
27051 "isPure": false,
27052 "kind": "functionCall",
27053 "lValueRequested": false,
27054 "names": [],
27055 "nodeType": "FunctionCall",
27056 "src": "8545:15:33",
27057 "typeDescriptions": {
27058 "typeIdentifier": "t_address",
27059 "typeString": "address"
27060 }
27061 },
27062 "nodeType": "BinaryOperation",
27063 "operator": "!=",
27064 "rightExpression": {
27065 "argumentTypes": null,
27066 "expression": {
27067 "argumentTypes": null,
27068 "id": 9520,
27069 "name": "msg",
27070 "nodeType": "Identifier",
27071 "overloadedDeclarations": [],
27072 "referencedDeclaration": 12092,
27073 "src": "8564:3:33",
27074 "typeDescriptions": {
27075 "typeIdentifier": "t_magic_message",
27076 "typeString": "msg"
27077 }
27078 },
27079 "id": 9521,
27080 "isConstant": false,
27081 "isLValue": false,
27082 "isPure": false,
27083 "lValueRequested": false,
27084 "memberName": "sender",
27085 "nodeType": "MemberAccess",
27086 "referencedDeclaration": null,
27087 "src": "8564:10:33",
27088 "typeDescriptions": {
27089 "typeIdentifier": "t_address",
27090 "typeString": "address"
27091 }
27092 },
27093 "src": "8545:29:33",
27094 "typeDescriptions": {
27095 "typeIdentifier": "t_bool",
27096 "typeString": "bool"
27097 }
27098 },
27099 "nodeType": "BinaryOperation",
27100 "operator": "||",
27101 "rightExpression": {
27102 "argumentTypes": null,
27103 "id": 9526,
27104 "isConstant": false,
27105 "isLValue": false,
27106 "isPure": false,
27107 "lValueRequested": false,
27108 "nodeType": "UnaryOperation",
27109 "operator": "!",
27110 "prefix": true,
27111 "src": "8578:17:33",
27112 "subExpression": {
27113 "argumentTypes": null,
27114 "arguments": [
27115 {
27116 "argumentTypes": null,
27117 "id": 9524,
27118 "name": "id",
27119 "nodeType": "Identifier",
27120 "overloadedDeclarations": [],
27121 "referencedDeclaration": 9506,
27122 "src": "8592:2:33",
27123 "typeDescriptions": {
27124 "typeIdentifier": "t_uint256",
27125 "typeString": "uint256"
27126 }
27127 }
27128 ],
27129 "expression": {
27130 "argumentTypes": [
27131 {
27132 "typeIdentifier": "t_uint256",
27133 "typeString": "uint256"
27134 }
27135 ],
27136 "id": 9523,
27137 "name": "fulfillQuery",
27138 "nodeType": "Identifier",
27139 "overloadedDeclarations": [],
27140 "referencedDeclaration": 9218,
27141 "src": "8579:12:33",
27142 "typeDescriptions": {
27143 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$",
27144 "typeString": "function (uint256) returns (bool)"
27145 }
27146 },
27147 "id": 9525,
27148 "isConstant": false,
27149 "isLValue": false,
27150 "isPure": false,
27151 "kind": "functionCall",
27152 "lValueRequested": false,
27153 "names": [],
27154 "nodeType": "FunctionCall",
27155 "src": "8579:16:33",
27156 "typeDescriptions": {
27157 "typeIdentifier": "t_bool",
27158 "typeString": "bool"
27159 }
27160 },
27161 "typeDescriptions": {
27162 "typeIdentifier": "t_bool",
27163 "typeString": "bool"
27164 }
27165 },
27166 "src": "8545:50:33",
27167 "typeDescriptions": {
27168 "typeIdentifier": "t_bool",
27169 "typeString": "bool"
27170 }
27171 },
27172 "falseBody": null,
27173 "id": 9531,
27174 "nodeType": "IfStatement",
27175 "src": "8541:76:33",
27176 "trueBody": {
27177 "expression": {
27178 "argumentTypes": null,
27179 "arguments": [],
27180 "expression": {
27181 "argumentTypes": [],
27182 "id": 9528,
27183 "name": "revert",
27184 "nodeType": "Identifier",
27185 "overloadedDeclarations": [
27186 12097,
27187 12098
27188 ],
27189 "referencedDeclaration": 12097,
27190 "src": "8609:6:33",
27191 "typeDescriptions": {
27192 "typeIdentifier": "t_function_revert_pure$__$returns$__$",
27193 "typeString": "function () pure"
27194 }
27195 },
27196 "id": 9529,
27197 "isConstant": false,
27198 "isLValue": false,
27199 "isPure": false,
27200 "kind": "functionCall",
27201 "lValueRequested": false,
27202 "names": [],
27203 "nodeType": "FunctionCall",
27204 "src": "8609:8:33",
27205 "typeDescriptions": {
27206 "typeIdentifier": "t_tuple$__$",
27207 "typeString": "tuple()"
27208 }
27209 },
27210 "id": 9530,
27211 "nodeType": "ExpressionStatement",
27212 "src": "8609:8:33"
27213 }
27214 },
27215 {
27216 "condition": {
27217 "argumentTypes": null,
27218 "arguments": [
27219 {
27220 "argumentTypes": null,
27221 "id": 9533,
27222 "name": "id",
27223 "nodeType": "Identifier",
27224 "overloadedDeclarations": [],
27225 "referencedDeclaration": 9506,
27226 "src": "8653:2:33",
27227 "typeDescriptions": {
27228 "typeIdentifier": "t_uint256",
27229 "typeString": "uint256"
27230 }
27231 }
27232 ],
27233 "expression": {
27234 "argumentTypes": [
27235 {
27236 "typeIdentifier": "t_uint256",
27237 "typeString": "uint256"
27238 }
27239 ],
27240 "id": 9532,
27241 "name": "getSubscriberOnchain",
27242 "nodeType": "Identifier",
27243 "overloadedDeclarations": [
27244 9783
27245 ],
27246 "referencedDeclaration": 9783,
27247 "src": "8632:20:33",
27248 "typeDescriptions": {
27249 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
27250 "typeString": "function (uint256) view returns (bool)"
27251 }
27252 },
27253 "id": 9534,
27254 "isConstant": false,
27255 "isLValue": false,
27256 "isPure": false,
27257 "kind": "functionCall",
27258 "lValueRequested": false,
27259 "names": [],
27260 "nodeType": "FunctionCall",
27261 "src": "8632:24:33",
27262 "typeDescriptions": {
27263 "typeIdentifier": "t_bool",
27264 "typeString": "bool"
27265 }
27266 },
27267 "falseBody": {
27268 "id": 9560,
27269 "nodeType": "Block",
27270 "src": "8769:113:33",
27271 "statements": [
27272 {
27273 "eventCall": {
27274 "argumentTypes": null,
27275 "arguments": [
27276 {
27277 "argumentTypes": null,
27278 "id": 9549,
27279 "name": "id",
27280 "nodeType": "Identifier",
27281 "overloadedDeclarations": [],
27282 "referencedDeclaration": 9506,
27283 "src": "8804:2:33",
27284 "typeDescriptions": {
27285 "typeIdentifier": "t_uint256",
27286 "typeString": "uint256"
27287 }
27288 },
27289 {
27290 "argumentTypes": null,
27291 "arguments": [
27292 {
27293 "argumentTypes": null,
27294 "id": 9551,
27295 "name": "id",
27296 "nodeType": "Identifier",
27297 "overloadedDeclarations": [],
27298 "referencedDeclaration": 9506,
27299 "src": "8822:2:33",
27300 "typeDescriptions": {
27301 "typeIdentifier": "t_uint256",
27302 "typeString": "uint256"
27303 }
27304 }
27305 ],
27306 "expression": {
27307 "argumentTypes": [
27308 {
27309 "typeIdentifier": "t_uint256",
27310 "typeString": "uint256"
27311 }
27312 ],
27313 "id": 9550,
27314 "name": "getSubscriber",
27315 "nodeType": "Identifier",
27316 "overloadedDeclarations": [
27317 9674
27318 ],
27319 "referencedDeclaration": 9674,
27320 "src": "8808:13:33",
27321 "typeDescriptions": {
27322 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
27323 "typeString": "function (uint256) view returns (address)"
27324 }
27325 },
27326 "id": 9552,
27327 "isConstant": false,
27328 "isLValue": false,
27329 "isPure": false,
27330 "kind": "functionCall",
27331 "lValueRequested": false,
27332 "names": [],
27333 "nodeType": "FunctionCall",
27334 "src": "8808:17:33",
27335 "typeDescriptions": {
27336 "typeIdentifier": "t_address",
27337 "typeString": "address"
27338 }
27339 },
27340 {
27341 "argumentTypes": null,
27342 "expression": {
27343 "argumentTypes": null,
27344 "id": 9553,
27345 "name": "msg",
27346 "nodeType": "Identifier",
27347 "overloadedDeclarations": [],
27348 "referencedDeclaration": 12092,
27349 "src": "8827:3:33",
27350 "typeDescriptions": {
27351 "typeIdentifier": "t_magic_message",
27352 "typeString": "msg"
27353 }
27354 },
27355 "id": 9554,
27356 "isConstant": false,
27357 "isLValue": false,
27358 "isPure": false,
27359 "lValueRequested": false,
27360 "memberName": "sender",
27361 "nodeType": "MemberAccess",
27362 "referencedDeclaration": null,
27363 "src": "8827:10:33",
27364 "typeDescriptions": {
27365 "typeIdentifier": "t_address",
27366 "typeString": "address"
27367 }
27368 },
27369 {
27370 "argumentTypes": null,
27371 "id": 9555,
27372 "name": "response1",
27373 "nodeType": "Identifier",
27374 "overloadedDeclarations": [],
27375 "referencedDeclaration": 9508,
27376 "src": "8839:9:33",
27377 "typeDescriptions": {
27378 "typeIdentifier": "t_string_calldata_ptr",
27379 "typeString": "string calldata"
27380 }
27381 },
27382 {
27383 "argumentTypes": null,
27384 "id": 9556,
27385 "name": "response2",
27386 "nodeType": "Identifier",
27387 "overloadedDeclarations": [],
27388 "referencedDeclaration": 9510,
27389 "src": "8850:9:33",
27390 "typeDescriptions": {
27391 "typeIdentifier": "t_string_calldata_ptr",
27392 "typeString": "string calldata"
27393 }
27394 },
27395 {
27396 "argumentTypes": null,
27397 "id": 9557,
27398 "name": "response3",
27399 "nodeType": "Identifier",
27400 "overloadedDeclarations": [],
27401 "referencedDeclaration": 9512,
27402 "src": "8861:9:33",
27403 "typeDescriptions": {
27404 "typeIdentifier": "t_string_calldata_ptr",
27405 "typeString": "string calldata"
27406 }
27407 }
27408 ],
27409 "expression": {
27410 "argumentTypes": [
27411 {
27412 "typeIdentifier": "t_uint256",
27413 "typeString": "uint256"
27414 },
27415 {
27416 "typeIdentifier": "t_address",
27417 "typeString": "address"
27418 },
27419 {
27420 "typeIdentifier": "t_address",
27421 "typeString": "address"
27422 },
27423 {
27424 "typeIdentifier": "t_string_calldata_ptr",
27425 "typeString": "string calldata"
27426 },
27427 {
27428 "typeIdentifier": "t_string_calldata_ptr",
27429 "typeString": "string calldata"
27430 },
27431 {
27432 "typeIdentifier": "t_string_calldata_ptr",
27433 "typeString": "string calldata"
27434 }
27435 ],
27436 "id": 9548,
27437 "name": "OffchainResult3",
27438 "nodeType": "Identifier",
27439 "overloadedDeclarations": [],
27440 "referencedDeclaration": 8927,
27441 "src": "8788:15:33",
27442 "typeDescriptions": {
27443 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
27444 "typeString": "function (uint256,address,address,string memory,string memory,string memory)"
27445 }
27446 },
27447 "id": 9558,
27448 "isConstant": false,
27449 "isLValue": false,
27450 "isPure": false,
27451 "kind": "functionCall",
27452 "lValueRequested": false,
27453 "names": [],
27454 "nodeType": "FunctionCall",
27455 "src": "8788:83:33",
27456 "typeDescriptions": {
27457 "typeIdentifier": "t_tuple$__$",
27458 "typeString": "tuple()"
27459 }
27460 },
27461 "id": 9559,
27462 "nodeType": "EmitStatement",
27463 "src": "8783:88:33"
27464 }
27465 ]
27466 },
27467 "id": 9561,
27468 "nodeType": "IfStatement",
27469 "src": "8628:254:33",
27470 "trueBody": {
27471 "id": 9547,
27472 "nodeType": "Block",
27473 "src": "8658:97:33",
27474 "statements": [
27475 {
27476 "expression": {
27477 "argumentTypes": null,
27478 "arguments": [
27479 {
27480 "argumentTypes": null,
27481 "id": 9541,
27482 "name": "id",
27483 "nodeType": "Identifier",
27484 "overloadedDeclarations": [],
27485 "referencedDeclaration": 9506,
27486 "src": "8708:2:33",
27487 "typeDescriptions": {
27488 "typeIdentifier": "t_uint256",
27489 "typeString": "uint256"
27490 }
27491 },
27492 {
27493 "argumentTypes": null,
27494 "id": 9542,
27495 "name": "response1",
27496 "nodeType": "Identifier",
27497 "overloadedDeclarations": [],
27498 "referencedDeclaration": 9508,
27499 "src": "8712:9:33",
27500 "typeDescriptions": {
27501 "typeIdentifier": "t_string_calldata_ptr",
27502 "typeString": "string calldata"
27503 }
27504 },
27505 {
27506 "argumentTypes": null,
27507 "id": 9543,
27508 "name": "response2",
27509 "nodeType": "Identifier",
27510 "overloadedDeclarations": [],
27511 "referencedDeclaration": 9510,
27512 "src": "8723:9:33",
27513 "typeDescriptions": {
27514 "typeIdentifier": "t_string_calldata_ptr",
27515 "typeString": "string calldata"
27516 }
27517 },
27518 {
27519 "argumentTypes": null,
27520 "id": 9544,
27521 "name": "response3",
27522 "nodeType": "Identifier",
27523 "overloadedDeclarations": [],
27524 "referencedDeclaration": 9512,
27525 "src": "8734:9:33",
27526 "typeDescriptions": {
27527 "typeIdentifier": "t_string_calldata_ptr",
27528 "typeString": "string calldata"
27529 }
27530 }
27531 ],
27532 "expression": {
27533 "argumentTypes": [
27534 {
27535 "typeIdentifier": "t_uint256",
27536 "typeString": "uint256"
27537 },
27538 {
27539 "typeIdentifier": "t_string_calldata_ptr",
27540 "typeString": "string calldata"
27541 },
27542 {
27543 "typeIdentifier": "t_string_calldata_ptr",
27544 "typeString": "string calldata"
27545 },
27546 {
27547 "typeIdentifier": "t_string_calldata_ptr",
27548 "typeString": "string calldata"
27549 }
27550 ],
27551 "expression": {
27552 "argumentTypes": null,
27553 "arguments": [
27554 {
27555 "argumentTypes": null,
27556 "arguments": [
27557 {
27558 "argumentTypes": null,
27559 "id": 9537,
27560 "name": "id",
27561 "nodeType": "Identifier",
27562 "overloadedDeclarations": [],
27563 "referencedDeclaration": 9506,
27564 "src": "8694:2:33",
27565 "typeDescriptions": {
27566 "typeIdentifier": "t_uint256",
27567 "typeString": "uint256"
27568 }
27569 }
27570 ],
27571 "expression": {
27572 "argumentTypes": [
27573 {
27574 "typeIdentifier": "t_uint256",
27575 "typeString": "uint256"
27576 }
27577 ],
27578 "id": 9536,
27579 "name": "getSubscriber",
27580 "nodeType": "Identifier",
27581 "overloadedDeclarations": [
27582 9674
27583 ],
27584 "referencedDeclaration": 9674,
27585 "src": "8680:13:33",
27586 "typeDescriptions": {
27587 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
27588 "typeString": "function (uint256) view returns (address)"
27589 }
27590 },
27591 "id": 9538,
27592 "isConstant": false,
27593 "isLValue": false,
27594 "isPure": false,
27595 "kind": "functionCall",
27596 "lValueRequested": false,
27597 "names": [],
27598 "nodeType": "FunctionCall",
27599 "src": "8680:17:33",
27600 "typeDescriptions": {
27601 "typeIdentifier": "t_address",
27602 "typeString": "address"
27603 }
27604 }
27605 ],
27606 "expression": {
27607 "argumentTypes": [
27608 {
27609 "typeIdentifier": "t_address",
27610 "typeString": "address"
27611 }
27612 ],
27613 "id": 9535,
27614 "name": "Client3",
27615 "nodeType": "Identifier",
27616 "overloadedDeclarations": [],
27617 "referencedDeclaration": 837,
27618 "src": "8672:7:33",
27619 "typeDescriptions": {
27620 "typeIdentifier": "t_type$_t_contract$_Client3_$837_$",
27621 "typeString": "type(contract Client3)"
27622 }
27623 },
27624 "id": 9539,
27625 "isConstant": false,
27626 "isLValue": false,
27627 "isPure": false,
27628 "kind": "typeConversion",
27629 "lValueRequested": false,
27630 "names": [],
27631 "nodeType": "FunctionCall",
27632 "src": "8672:26:33",
27633 "typeDescriptions": {
27634 "typeIdentifier": "t_contract$_Client3_$837",
27635 "typeString": "contract Client3"
27636 }
27637 },
27638 "id": 9540,
27639 "isConstant": false,
27640 "isLValue": false,
27641 "isPure": false,
27642 "lValueRequested": false,
27643 "memberName": "callback",
27644 "nodeType": "MemberAccess",
27645 "referencedDeclaration": 836,
27646 "src": "8672:35:33",
27647 "typeDescriptions": {
27648 "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
27649 "typeString": "function (uint256,string memory,string memory,string memory) external"
27650 }
27651 },
27652 "id": 9545,
27653 "isConstant": false,
27654 "isLValue": false,
27655 "isPure": false,
27656 "kind": "functionCall",
27657 "lValueRequested": false,
27658 "names": [],
27659 "nodeType": "FunctionCall",
27660 "src": "8672:72:33",
27661 "typeDescriptions": {
27662 "typeIdentifier": "t_tuple$__$",
27663 "typeString": "tuple()"
27664 }
27665 },
27666 "id": 9546,
27667 "nodeType": "ExpressionStatement",
27668 "src": "8672:72:33"
27669 }
27670 ]
27671 }
27672 },
27673 {
27674 "expression": {
27675 "argumentTypes": null,
27676 "hexValue": "74727565",
27677 "id": 9562,
27678 "isConstant": false,
27679 "isLValue": false,
27680 "isPure": true,
27681 "kind": "bool",
27682 "lValueRequested": false,
27683 "nodeType": "Literal",
27684 "src": "8899:4:33",
27685 "subdenomination": null,
27686 "typeDescriptions": {
27687 "typeIdentifier": "t_bool",
27688 "typeString": "bool"
27689 },
27690 "value": "true"
27691 },
27692 "functionReturnParameters": 9516,
27693 "id": 9563,
27694 "nodeType": "Return",
27695 "src": "8892:11:33"
27696 }
27697 ]
27698 },
27699 "documentation": "@dev Parameter-count specific method called by data provider in response",
27700 "id": 9565,
27701 "implemented": true,
27702 "isConstructor": false,
27703 "isDeclaredConst": false,
27704 "modifiers": [],
27705 "name": "respond3",
27706 "nodeType": "FunctionDefinition",
27707 "parameters": {
27708 "id": 9513,
27709 "nodeType": "ParameterList",
27710 "parameters": [
27711 {
27712 "constant": false,
27713 "id": 9506,
27714 "name": "id",
27715 "nodeType": "VariableDeclaration",
27716 "scope": 9565,
27717 "src": "8392:10:33",
27718 "stateVariable": false,
27719 "storageLocation": "default",
27720 "typeDescriptions": {
27721 "typeIdentifier": "t_uint256",
27722 "typeString": "uint256"
27723 },
27724 "typeName": {
27725 "id": 9505,
27726 "name": "uint256",
27727 "nodeType": "ElementaryTypeName",
27728 "src": "8392:7:33",
27729 "typeDescriptions": {
27730 "typeIdentifier": "t_uint256",
27731 "typeString": "uint256"
27732 }
27733 },
27734 "value": null,
27735 "visibility": "internal"
27736 },
27737 {
27738 "constant": false,
27739 "id": 9508,
27740 "name": "response1",
27741 "nodeType": "VariableDeclaration",
27742 "scope": 9565,
27743 "src": "8412:16:33",
27744 "stateVariable": false,
27745 "storageLocation": "default",
27746 "typeDescriptions": {
27747 "typeIdentifier": "t_string_calldata_ptr",
27748 "typeString": "string"
27749 },
27750 "typeName": {
27751 "id": 9507,
27752 "name": "string",
27753 "nodeType": "ElementaryTypeName",
27754 "src": "8412:6:33",
27755 "typeDescriptions": {
27756 "typeIdentifier": "t_string_storage_ptr",
27757 "typeString": "string"
27758 }
27759 },
27760 "value": null,
27761 "visibility": "internal"
27762 },
27763 {
27764 "constant": false,
27765 "id": 9510,
27766 "name": "response2",
27767 "nodeType": "VariableDeclaration",
27768 "scope": 9565,
27769 "src": "8438:16:33",
27770 "stateVariable": false,
27771 "storageLocation": "default",
27772 "typeDescriptions": {
27773 "typeIdentifier": "t_string_calldata_ptr",
27774 "typeString": "string"
27775 },
27776 "typeName": {
27777 "id": 9509,
27778 "name": "string",
27779 "nodeType": "ElementaryTypeName",
27780 "src": "8438:6:33",
27781 "typeDescriptions": {
27782 "typeIdentifier": "t_string_storage_ptr",
27783 "typeString": "string"
27784 }
27785 },
27786 "value": null,
27787 "visibility": "internal"
27788 },
27789 {
27790 "constant": false,
27791 "id": 9512,
27792 "name": "response3",
27793 "nodeType": "VariableDeclaration",
27794 "scope": 9565,
27795 "src": "8464:16:33",
27796 "stateVariable": false,
27797 "storageLocation": "default",
27798 "typeDescriptions": {
27799 "typeIdentifier": "t_string_calldata_ptr",
27800 "typeString": "string"
27801 },
27802 "typeName": {
27803 "id": 9511,
27804 "name": "string",
27805 "nodeType": "ElementaryTypeName",
27806 "src": "8464:6:33",
27807 "typeDescriptions": {
27808 "typeIdentifier": "t_string_storage_ptr",
27809 "typeString": "string"
27810 }
27811 },
27812 "value": null,
27813 "visibility": "internal"
27814 }
27815 ],
27816 "src": "8382:104:33"
27817 },
27818 "payable": false,
27819 "returnParameters": {
27820 "id": 9516,
27821 "nodeType": "ParameterList",
27822 "parameters": [
27823 {
27824 "constant": false,
27825 "id": 9515,
27826 "name": "",
27827 "nodeType": "VariableDeclaration",
27828 "scope": 9565,
27829 "src": "8521:4:33",
27830 "stateVariable": false,
27831 "storageLocation": "default",
27832 "typeDescriptions": {
27833 "typeIdentifier": "t_bool",
27834 "typeString": "bool"
27835 },
27836 "typeName": {
27837 "id": 9514,
27838 "name": "bool",
27839 "nodeType": "ElementaryTypeName",
27840 "src": "8521:4:33",
27841 "typeDescriptions": {
27842 "typeIdentifier": "t_bool",
27843 "typeString": "bool"
27844 }
27845 },
27846 "value": null,
27847 "visibility": "internal"
27848 }
27849 ],
27850 "src": "8520:6:33"
27851 },
27852 "scope": 10008,
27853 "src": "8365:545:33",
27854 "stateMutability": "nonpayable",
27855 "superFunction": 10057,
27856 "visibility": "external"
27857 },
27858 {
27859 "body": {
27860 "id": 9629,
27861 "nodeType": "Block",
27862 "src": "9189:401:33",
27863 "statements": [
27864 {
27865 "condition": {
27866 "argumentTypes": null,
27867 "commonType": {
27868 "typeIdentifier": "t_bool",
27869 "typeString": "bool"
27870 },
27871 "id": 9590,
27872 "isConstant": false,
27873 "isLValue": false,
27874 "isPure": false,
27875 "lValueRequested": false,
27876 "leftExpression": {
27877 "argumentTypes": null,
27878 "commonType": {
27879 "typeIdentifier": "t_address",
27880 "typeString": "address"
27881 },
27882 "id": 9585,
27883 "isConstant": false,
27884 "isLValue": false,
27885 "isPure": false,
27886 "lValueRequested": false,
27887 "leftExpression": {
27888 "argumentTypes": null,
27889 "arguments": [
27890 {
27891 "argumentTypes": null,
27892 "id": 9581,
27893 "name": "id",
27894 "nodeType": "Identifier",
27895 "overloadedDeclarations": [],
27896 "referencedDeclaration": 9567,
27897 "src": "9215:2:33",
27898 "typeDescriptions": {
27899 "typeIdentifier": "t_uint256",
27900 "typeString": "uint256"
27901 }
27902 }
27903 ],
27904 "expression": {
27905 "argumentTypes": [
27906 {
27907 "typeIdentifier": "t_uint256",
27908 "typeString": "uint256"
27909 }
27910 ],
27911 "id": 9580,
27912 "name": "getProvider",
27913 "nodeType": "Identifier",
27914 "overloadedDeclarations": [
27915 9652
27916 ],
27917 "referencedDeclaration": 9652,
27918 "src": "9203:11:33",
27919 "typeDescriptions": {
27920 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
27921 "typeString": "function (uint256) view returns (address)"
27922 }
27923 },
27924 "id": 9582,
27925 "isConstant": false,
27926 "isLValue": false,
27927 "isPure": false,
27928 "kind": "functionCall",
27929 "lValueRequested": false,
27930 "names": [],
27931 "nodeType": "FunctionCall",
27932 "src": "9203:15:33",
27933 "typeDescriptions": {
27934 "typeIdentifier": "t_address",
27935 "typeString": "address"
27936 }
27937 },
27938 "nodeType": "BinaryOperation",
27939 "operator": "!=",
27940 "rightExpression": {
27941 "argumentTypes": null,
27942 "expression": {
27943 "argumentTypes": null,
27944 "id": 9583,
27945 "name": "msg",
27946 "nodeType": "Identifier",
27947 "overloadedDeclarations": [],
27948 "referencedDeclaration": 12092,
27949 "src": "9222:3:33",
27950 "typeDescriptions": {
27951 "typeIdentifier": "t_magic_message",
27952 "typeString": "msg"
27953 }
27954 },
27955 "id": 9584,
27956 "isConstant": false,
27957 "isLValue": false,
27958 "isPure": false,
27959 "lValueRequested": false,
27960 "memberName": "sender",
27961 "nodeType": "MemberAccess",
27962 "referencedDeclaration": null,
27963 "src": "9222:10:33",
27964 "typeDescriptions": {
27965 "typeIdentifier": "t_address",
27966 "typeString": "address"
27967 }
27968 },
27969 "src": "9203:29:33",
27970 "typeDescriptions": {
27971 "typeIdentifier": "t_bool",
27972 "typeString": "bool"
27973 }
27974 },
27975 "nodeType": "BinaryOperation",
27976 "operator": "||",
27977 "rightExpression": {
27978 "argumentTypes": null,
27979 "id": 9589,
27980 "isConstant": false,
27981 "isLValue": false,
27982 "isPure": false,
27983 "lValueRequested": false,
27984 "nodeType": "UnaryOperation",
27985 "operator": "!",
27986 "prefix": true,
27987 "src": "9236:17:33",
27988 "subExpression": {
27989 "argumentTypes": null,
27990 "arguments": [
27991 {
27992 "argumentTypes": null,
27993 "id": 9587,
27994 "name": "id",
27995 "nodeType": "Identifier",
27996 "overloadedDeclarations": [],
27997 "referencedDeclaration": 9567,
27998 "src": "9250:2:33",
27999 "typeDescriptions": {
28000 "typeIdentifier": "t_uint256",
28001 "typeString": "uint256"
28002 }
28003 }
28004 ],
28005 "expression": {
28006 "argumentTypes": [
28007 {
28008 "typeIdentifier": "t_uint256",
28009 "typeString": "uint256"
28010 }
28011 ],
28012 "id": 9586,
28013 "name": "fulfillQuery",
28014 "nodeType": "Identifier",
28015 "overloadedDeclarations": [],
28016 "referencedDeclaration": 9218,
28017 "src": "9237:12:33",
28018 "typeDescriptions": {
28019 "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$",
28020 "typeString": "function (uint256) returns (bool)"
28021 }
28022 },
28023 "id": 9588,
28024 "isConstant": false,
28025 "isLValue": false,
28026 "isPure": false,
28027 "kind": "functionCall",
28028 "lValueRequested": false,
28029 "names": [],
28030 "nodeType": "FunctionCall",
28031 "src": "9237:16:33",
28032 "typeDescriptions": {
28033 "typeIdentifier": "t_bool",
28034 "typeString": "bool"
28035 }
28036 },
28037 "typeDescriptions": {
28038 "typeIdentifier": "t_bool",
28039 "typeString": "bool"
28040 }
28041 },
28042 "src": "9203:50:33",
28043 "typeDescriptions": {
28044 "typeIdentifier": "t_bool",
28045 "typeString": "bool"
28046 }
28047 },
28048 "falseBody": null,
28049 "id": 9594,
28050 "nodeType": "IfStatement",
28051 "src": "9199:76:33",
28052 "trueBody": {
28053 "expression": {
28054 "argumentTypes": null,
28055 "arguments": [],
28056 "expression": {
28057 "argumentTypes": [],
28058 "id": 9591,
28059 "name": "revert",
28060 "nodeType": "Identifier",
28061 "overloadedDeclarations": [
28062 12097,
28063 12098
28064 ],
28065 "referencedDeclaration": 12097,
28066 "src": "9267:6:33",
28067 "typeDescriptions": {
28068 "typeIdentifier": "t_function_revert_pure$__$returns$__$",
28069 "typeString": "function () pure"
28070 }
28071 },
28072 "id": 9592,
28073 "isConstant": false,
28074 "isLValue": false,
28075 "isPure": false,
28076 "kind": "functionCall",
28077 "lValueRequested": false,
28078 "names": [],
28079 "nodeType": "FunctionCall",
28080 "src": "9267:8:33",
28081 "typeDescriptions": {
28082 "typeIdentifier": "t_tuple$__$",
28083 "typeString": "tuple()"
28084 }
28085 },
28086 "id": 9593,
28087 "nodeType": "ExpressionStatement",
28088 "src": "9267:8:33"
28089 }
28090 },
28091 {
28092 "condition": {
28093 "argumentTypes": null,
28094 "arguments": [
28095 {
28096 "argumentTypes": null,
28097 "id": 9596,
28098 "name": "id",
28099 "nodeType": "Identifier",
28100 "overloadedDeclarations": [],
28101 "referencedDeclaration": 9567,
28102 "src": "9311:2:33",
28103 "typeDescriptions": {
28104 "typeIdentifier": "t_uint256",
28105 "typeString": "uint256"
28106 }
28107 }
28108 ],
28109 "expression": {
28110 "argumentTypes": [
28111 {
28112 "typeIdentifier": "t_uint256",
28113 "typeString": "uint256"
28114 }
28115 ],
28116 "id": 9595,
28117 "name": "getSubscriberOnchain",
28118 "nodeType": "Identifier",
28119 "overloadedDeclarations": [
28120 9783
28121 ],
28122 "referencedDeclaration": 9783,
28123 "src": "9290:20:33",
28124 "typeDescriptions": {
28125 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
28126 "typeString": "function (uint256) view returns (bool)"
28127 }
28128 },
28129 "id": 9597,
28130 "isConstant": false,
28131 "isLValue": false,
28132 "isPure": false,
28133 "kind": "functionCall",
28134 "lValueRequested": false,
28135 "names": [],
28136 "nodeType": "FunctionCall",
28137 "src": "9290:24:33",
28138 "typeDescriptions": {
28139 "typeIdentifier": "t_bool",
28140 "typeString": "bool"
28141 }
28142 },
28143 "falseBody": {
28144 "id": 9625,
28145 "nodeType": "Block",
28146 "src": "9438:124:33",
28147 "statements": [
28148 {
28149 "eventCall": {
28150 "argumentTypes": null,
28151 "arguments": [
28152 {
28153 "argumentTypes": null,
28154 "id": 9613,
28155 "name": "id",
28156 "nodeType": "Identifier",
28157 "overloadedDeclarations": [],
28158 "referencedDeclaration": 9567,
28159 "src": "9473:2:33",
28160 "typeDescriptions": {
28161 "typeIdentifier": "t_uint256",
28162 "typeString": "uint256"
28163 }
28164 },
28165 {
28166 "argumentTypes": null,
28167 "arguments": [
28168 {
28169 "argumentTypes": null,
28170 "id": 9615,
28171 "name": "id",
28172 "nodeType": "Identifier",
28173 "overloadedDeclarations": [],
28174 "referencedDeclaration": 9567,
28175 "src": "9491:2:33",
28176 "typeDescriptions": {
28177 "typeIdentifier": "t_uint256",
28178 "typeString": "uint256"
28179 }
28180 }
28181 ],
28182 "expression": {
28183 "argumentTypes": [
28184 {
28185 "typeIdentifier": "t_uint256",
28186 "typeString": "uint256"
28187 }
28188 ],
28189 "id": 9614,
28190 "name": "getSubscriber",
28191 "nodeType": "Identifier",
28192 "overloadedDeclarations": [
28193 9674
28194 ],
28195 "referencedDeclaration": 9674,
28196 "src": "9477:13:33",
28197 "typeDescriptions": {
28198 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
28199 "typeString": "function (uint256) view returns (address)"
28200 }
28201 },
28202 "id": 9616,
28203 "isConstant": false,
28204 "isLValue": false,
28205 "isPure": false,
28206 "kind": "functionCall",
28207 "lValueRequested": false,
28208 "names": [],
28209 "nodeType": "FunctionCall",
28210 "src": "9477:17:33",
28211 "typeDescriptions": {
28212 "typeIdentifier": "t_address",
28213 "typeString": "address"
28214 }
28215 },
28216 {
28217 "argumentTypes": null,
28218 "expression": {
28219 "argumentTypes": null,
28220 "id": 9617,
28221 "name": "msg",
28222 "nodeType": "Identifier",
28223 "overloadedDeclarations": [],
28224 "referencedDeclaration": 12092,
28225 "src": "9496:3:33",
28226 "typeDescriptions": {
28227 "typeIdentifier": "t_magic_message",
28228 "typeString": "msg"
28229 }
28230 },
28231 "id": 9618,
28232 "isConstant": false,
28233 "isLValue": false,
28234 "isPure": false,
28235 "lValueRequested": false,
28236 "memberName": "sender",
28237 "nodeType": "MemberAccess",
28238 "referencedDeclaration": null,
28239 "src": "9496:10:33",
28240 "typeDescriptions": {
28241 "typeIdentifier": "t_address",
28242 "typeString": "address"
28243 }
28244 },
28245 {
28246 "argumentTypes": null,
28247 "id": 9619,
28248 "name": "response1",
28249 "nodeType": "Identifier",
28250 "overloadedDeclarations": [],
28251 "referencedDeclaration": 9569,
28252 "src": "9508:9:33",
28253 "typeDescriptions": {
28254 "typeIdentifier": "t_string_calldata_ptr",
28255 "typeString": "string calldata"
28256 }
28257 },
28258 {
28259 "argumentTypes": null,
28260 "id": 9620,
28261 "name": "response2",
28262 "nodeType": "Identifier",
28263 "overloadedDeclarations": [],
28264 "referencedDeclaration": 9571,
28265 "src": "9519:9:33",
28266 "typeDescriptions": {
28267 "typeIdentifier": "t_string_calldata_ptr",
28268 "typeString": "string calldata"
28269 }
28270 },
28271 {
28272 "argumentTypes": null,
28273 "id": 9621,
28274 "name": "response3",
28275 "nodeType": "Identifier",
28276 "overloadedDeclarations": [],
28277 "referencedDeclaration": 9573,
28278 "src": "9530:9:33",
28279 "typeDescriptions": {
28280 "typeIdentifier": "t_string_calldata_ptr",
28281 "typeString": "string calldata"
28282 }
28283 },
28284 {
28285 "argumentTypes": null,
28286 "id": 9622,
28287 "name": "response4",
28288 "nodeType": "Identifier",
28289 "overloadedDeclarations": [],
28290 "referencedDeclaration": 9575,
28291 "src": "9541:9:33",
28292 "typeDescriptions": {
28293 "typeIdentifier": "t_string_calldata_ptr",
28294 "typeString": "string calldata"
28295 }
28296 }
28297 ],
28298 "expression": {
28299 "argumentTypes": [
28300 {
28301 "typeIdentifier": "t_uint256",
28302 "typeString": "uint256"
28303 },
28304 {
28305 "typeIdentifier": "t_address",
28306 "typeString": "address"
28307 },
28308 {
28309 "typeIdentifier": "t_address",
28310 "typeString": "address"
28311 },
28312 {
28313 "typeIdentifier": "t_string_calldata_ptr",
28314 "typeString": "string calldata"
28315 },
28316 {
28317 "typeIdentifier": "t_string_calldata_ptr",
28318 "typeString": "string calldata"
28319 },
28320 {
28321 "typeIdentifier": "t_string_calldata_ptr",
28322 "typeString": "string calldata"
28323 },
28324 {
28325 "typeIdentifier": "t_string_calldata_ptr",
28326 "typeString": "string calldata"
28327 }
28328 ],
28329 "id": 9612,
28330 "name": "OffchainResult4",
28331 "nodeType": "Identifier",
28332 "overloadedDeclarations": [],
28333 "referencedDeclaration": 8943,
28334 "src": "9457:15:33",
28335 "typeDescriptions": {
28336 "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
28337 "typeString": "function (uint256,address,address,string memory,string memory,string memory,string memory)"
28338 }
28339 },
28340 "id": 9623,
28341 "isConstant": false,
28342 "isLValue": false,
28343 "isPure": false,
28344 "kind": "functionCall",
28345 "lValueRequested": false,
28346 "names": [],
28347 "nodeType": "FunctionCall",
28348 "src": "9457:94:33",
28349 "typeDescriptions": {
28350 "typeIdentifier": "t_tuple$__$",
28351 "typeString": "tuple()"
28352 }
28353 },
28354 "id": 9624,
28355 "nodeType": "EmitStatement",
28356 "src": "9452:99:33"
28357 }
28358 ]
28359 },
28360 "id": 9626,
28361 "nodeType": "IfStatement",
28362 "src": "9286:276:33",
28363 "trueBody": {
28364 "id": 9611,
28365 "nodeType": "Block",
28366 "src": "9316:108:33",
28367 "statements": [
28368 {
28369 "expression": {
28370 "argumentTypes": null,
28371 "arguments": [
28372 {
28373 "argumentTypes": null,
28374 "id": 9604,
28375 "name": "id",
28376 "nodeType": "Identifier",
28377 "overloadedDeclarations": [],
28378 "referencedDeclaration": 9567,
28379 "src": "9366:2:33",
28380 "typeDescriptions": {
28381 "typeIdentifier": "t_uint256",
28382 "typeString": "uint256"
28383 }
28384 },
28385 {
28386 "argumentTypes": null,
28387 "id": 9605,
28388 "name": "response1",
28389 "nodeType": "Identifier",
28390 "overloadedDeclarations": [],
28391 "referencedDeclaration": 9569,
28392 "src": "9370:9:33",
28393 "typeDescriptions": {
28394 "typeIdentifier": "t_string_calldata_ptr",
28395 "typeString": "string calldata"
28396 }
28397 },
28398 {
28399 "argumentTypes": null,
28400 "id": 9606,
28401 "name": "response2",
28402 "nodeType": "Identifier",
28403 "overloadedDeclarations": [],
28404 "referencedDeclaration": 9571,
28405 "src": "9381:9:33",
28406 "typeDescriptions": {
28407 "typeIdentifier": "t_string_calldata_ptr",
28408 "typeString": "string calldata"
28409 }
28410 },
28411 {
28412 "argumentTypes": null,
28413 "id": 9607,
28414 "name": "response3",
28415 "nodeType": "Identifier",
28416 "overloadedDeclarations": [],
28417 "referencedDeclaration": 9573,
28418 "src": "9392:9:33",
28419 "typeDescriptions": {
28420 "typeIdentifier": "t_string_calldata_ptr",
28421 "typeString": "string calldata"
28422 }
28423 },
28424 {
28425 "argumentTypes": null,
28426 "id": 9608,
28427 "name": "response4",
28428 "nodeType": "Identifier",
28429 "overloadedDeclarations": [],
28430 "referencedDeclaration": 9575,
28431 "src": "9403:9:33",
28432 "typeDescriptions": {
28433 "typeIdentifier": "t_string_calldata_ptr",
28434 "typeString": "string calldata"
28435 }
28436 }
28437 ],
28438 "expression": {
28439 "argumentTypes": [
28440 {
28441 "typeIdentifier": "t_uint256",
28442 "typeString": "uint256"
28443 },
28444 {
28445 "typeIdentifier": "t_string_calldata_ptr",
28446 "typeString": "string calldata"
28447 },
28448 {
28449 "typeIdentifier": "t_string_calldata_ptr",
28450 "typeString": "string calldata"
28451 },
28452 {
28453 "typeIdentifier": "t_string_calldata_ptr",
28454 "typeString": "string calldata"
28455 },
28456 {
28457 "typeIdentifier": "t_string_calldata_ptr",
28458 "typeString": "string calldata"
28459 }
28460 ],
28461 "expression": {
28462 "argumentTypes": null,
28463 "arguments": [
28464 {
28465 "argumentTypes": null,
28466 "arguments": [
28467 {
28468 "argumentTypes": null,
28469 "id": 9600,
28470 "name": "id",
28471 "nodeType": "Identifier",
28472 "overloadedDeclarations": [],
28473 "referencedDeclaration": 9567,
28474 "src": "9352:2:33",
28475 "typeDescriptions": {
28476 "typeIdentifier": "t_uint256",
28477 "typeString": "uint256"
28478 }
28479 }
28480 ],
28481 "expression": {
28482 "argumentTypes": [
28483 {
28484 "typeIdentifier": "t_uint256",
28485 "typeString": "uint256"
28486 }
28487 ],
28488 "id": 9599,
28489 "name": "getSubscriber",
28490 "nodeType": "Identifier",
28491 "overloadedDeclarations": [
28492 9674
28493 ],
28494 "referencedDeclaration": 9674,
28495 "src": "9338:13:33",
28496 "typeDescriptions": {
28497 "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
28498 "typeString": "function (uint256) view returns (address)"
28499 }
28500 },
28501 "id": 9601,
28502 "isConstant": false,
28503 "isLValue": false,
28504 "isPure": false,
28505 "kind": "functionCall",
28506 "lValueRequested": false,
28507 "names": [],
28508 "nodeType": "FunctionCall",
28509 "src": "9338:17:33",
28510 "typeDescriptions": {
28511 "typeIdentifier": "t_address",
28512 "typeString": "address"
28513 }
28514 }
28515 ],
28516 "expression": {
28517 "argumentTypes": [
28518 {
28519 "typeIdentifier": "t_address",
28520 "typeString": "address"
28521 }
28522 ],
28523 "id": 9598,
28524 "name": "Client4",
28525 "nodeType": "Identifier",
28526 "overloadedDeclarations": [],
28527 "referencedDeclaration": 851,
28528 "src": "9330:7:33",
28529 "typeDescriptions": {
28530 "typeIdentifier": "t_type$_t_contract$_Client4_$851_$",
28531 "typeString": "type(contract Client4)"
28532 }
28533 },
28534 "id": 9602,
28535 "isConstant": false,
28536 "isLValue": false,
28537 "isPure": false,
28538 "kind": "typeConversion",
28539 "lValueRequested": false,
28540 "names": [],
28541 "nodeType": "FunctionCall",
28542 "src": "9330:26:33",
28543 "typeDescriptions": {
28544 "typeIdentifier": "t_contract$_Client4_$851",
28545 "typeString": "contract Client4"
28546 }
28547 },
28548 "id": 9603,
28549 "isConstant": false,
28550 "isLValue": false,
28551 "isPure": false,
28552 "lValueRequested": false,
28553 "memberName": "callback",
28554 "nodeType": "MemberAccess",
28555 "referencedDeclaration": 850,
28556 "src": "9330:35:33",
28557 "typeDescriptions": {
28558 "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
28559 "typeString": "function (uint256,string memory,string memory,string memory,string memory) external"
28560 }
28561 },
28562 "id": 9609,
28563 "isConstant": false,
28564 "isLValue": false,
28565 "isPure": false,
28566 "kind": "functionCall",
28567 "lValueRequested": false,
28568 "names": [],
28569 "nodeType": "FunctionCall",
28570 "src": "9330:83:33",
28571 "typeDescriptions": {
28572 "typeIdentifier": "t_tuple$__$",
28573 "typeString": "tuple()"
28574 }
28575 },
28576 "id": 9610,
28577 "nodeType": "ExpressionStatement",
28578 "src": "9330:83:33"
28579 }
28580 ]
28581 }
28582 },
28583 {
28584 "expression": {
28585 "argumentTypes": null,
28586 "hexValue": "74727565",
28587 "id": 9627,
28588 "isConstant": false,
28589 "isLValue": false,
28590 "isPure": true,
28591 "kind": "bool",
28592 "lValueRequested": false,
28593 "nodeType": "Literal",
28594 "src": "9579:4:33",
28595 "subdenomination": null,
28596 "typeDescriptions": {
28597 "typeIdentifier": "t_bool",
28598 "typeString": "bool"
28599 },
28600 "value": "true"
28601 },
28602 "functionReturnParameters": 9579,
28603 "id": 9628,
28604 "nodeType": "Return",
28605 "src": "9572:11:33"
28606 }
28607 ]
28608 },
28609 "documentation": "@dev Parameter-count specific method called by data provider in response",
28610 "id": 9630,
28611 "implemented": true,
28612 "isConstructor": false,
28613 "isDeclaredConst": false,
28614 "modifiers": [],
28615 "name": "respond4",
28616 "nodeType": "FunctionDefinition",
28617 "parameters": {
28618 "id": 9576,
28619 "nodeType": "ParameterList",
28620 "parameters": [
28621 {
28622 "constant": false,
28623 "id": 9567,
28624 "name": "id",
28625 "nodeType": "VariableDeclaration",
28626 "scope": 9630,
28627 "src": "9024:10:33",
28628 "stateVariable": false,
28629 "storageLocation": "default",
28630 "typeDescriptions": {
28631 "typeIdentifier": "t_uint256",
28632 "typeString": "uint256"
28633 },
28634 "typeName": {
28635 "id": 9566,
28636 "name": "uint256",
28637 "nodeType": "ElementaryTypeName",
28638 "src": "9024:7:33",
28639 "typeDescriptions": {
28640 "typeIdentifier": "t_uint256",
28641 "typeString": "uint256"
28642 }
28643 },
28644 "value": null,
28645 "visibility": "internal"
28646 },
28647 {
28648 "constant": false,
28649 "id": 9569,
28650 "name": "response1",
28651 "nodeType": "VariableDeclaration",
28652 "scope": 9630,
28653 "src": "9044:16:33",
28654 "stateVariable": false,
28655 "storageLocation": "default",
28656 "typeDescriptions": {
28657 "typeIdentifier": "t_string_calldata_ptr",
28658 "typeString": "string"
28659 },
28660 "typeName": {
28661 "id": 9568,
28662 "name": "string",
28663 "nodeType": "ElementaryTypeName",
28664 "src": "9044:6:33",
28665 "typeDescriptions": {
28666 "typeIdentifier": "t_string_storage_ptr",
28667 "typeString": "string"
28668 }
28669 },
28670 "value": null,
28671 "visibility": "internal"
28672 },
28673 {
28674 "constant": false,
28675 "id": 9571,
28676 "name": "response2",
28677 "nodeType": "VariableDeclaration",
28678 "scope": 9630,
28679 "src": "9070:16:33",
28680 "stateVariable": false,
28681 "storageLocation": "default",
28682 "typeDescriptions": {
28683 "typeIdentifier": "t_string_calldata_ptr",
28684 "typeString": "string"
28685 },
28686 "typeName": {
28687 "id": 9570,
28688 "name": "string",
28689 "nodeType": "ElementaryTypeName",
28690 "src": "9070:6:33",
28691 "typeDescriptions": {
28692 "typeIdentifier": "t_string_storage_ptr",
28693 "typeString": "string"
28694 }
28695 },
28696 "value": null,
28697 "visibility": "internal"
28698 },
28699 {
28700 "constant": false,
28701 "id": 9573,
28702 "name": "response3",
28703 "nodeType": "VariableDeclaration",
28704 "scope": 9630,
28705 "src": "9096:16:33",
28706 "stateVariable": false,
28707 "storageLocation": "default",
28708 "typeDescriptions": {
28709 "typeIdentifier": "t_string_calldata_ptr",
28710 "typeString": "string"
28711 },
28712 "typeName": {
28713 "id": 9572,
28714 "name": "string",
28715 "nodeType": "ElementaryTypeName",
28716 "src": "9096:6:33",
28717 "typeDescriptions": {
28718 "typeIdentifier": "t_string_storage_ptr",
28719 "typeString": "string"
28720 }
28721 },
28722 "value": null,
28723 "visibility": "internal"
28724 },
28725 {
28726 "constant": false,
28727 "id": 9575,
28728 "name": "response4",
28729 "nodeType": "VariableDeclaration",
28730 "scope": 9630,
28731 "src": "9122:16:33",
28732 "stateVariable": false,
28733 "storageLocation": "default",
28734 "typeDescriptions": {
28735 "typeIdentifier": "t_string_calldata_ptr",
28736 "typeString": "string"
28737 },
28738 "typeName": {
28739 "id": 9574,
28740 "name": "string",
28741 "nodeType": "ElementaryTypeName",
28742 "src": "9122:6:33",
28743 "typeDescriptions": {
28744 "typeIdentifier": "t_string_storage_ptr",
28745 "typeString": "string"
28746 }
28747 },
28748 "value": null,
28749 "visibility": "internal"
28750 }
28751 ],
28752 "src": "9014:130:33"
28753 },
28754 "payable": false,
28755 "returnParameters": {
28756 "id": 9579,
28757 "nodeType": "ParameterList",
28758 "parameters": [
28759 {
28760 "constant": false,
28761 "id": 9578,
28762 "name": "",
28763 "nodeType": "VariableDeclaration",
28764 "scope": 9630,
28765 "src": "9179:4:33",
28766 "stateVariable": false,
28767 "storageLocation": "default",
28768 "typeDescriptions": {
28769 "typeIdentifier": "t_bool",
28770 "typeString": "bool"
28771 },
28772 "typeName": {
28773 "id": 9577,
28774 "name": "bool",
28775 "nodeType": "ElementaryTypeName",
28776 "src": "9179:4:33",
28777 "typeDescriptions": {
28778 "typeIdentifier": "t_bool",
28779 "typeString": "bool"
28780 }
28781 },
28782 "value": null,
28783 "visibility": "internal"
28784 }
28785 ],
28786 "src": "9178:6:33"
28787 },
28788 "scope": 10008,
28789 "src": "8997:593:33",
28790 "stateMutability": "nonpayable",
28791 "superFunction": 10072,
28792 "visibility": "external"
28793 },
28794 {
28795 "body": {
28796 "id": 9651,
28797 "nodeType": "Block",
28798 "src": "9764:101:33",
28799 "statements": [
28800 {
28801 "expression": {
28802 "argumentTypes": null,
28803 "arguments": [
28804 {
28805 "argumentTypes": null,
28806 "arguments": [
28807 {
28808 "argumentTypes": null,
28809 "arguments": [
28810 {
28811 "argumentTypes": null,
28812 "arguments": [
28813 {
28814 "argumentTypes": null,
28815 "hexValue": "71756572696573",
28816 "id": 9643,
28817 "isConstant": false,
28818 "isLValue": false,
28819 "isPure": true,
28820 "kind": "string",
28821 "lValueRequested": false,
28822 "nodeType": "Literal",
28823 "src": "9829:9:33",
28824 "subdenomination": null,
28825 "typeDescriptions": {
28826 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
28827 "typeString": "literal_string \"queries\""
28828 },
28829 "value": "queries"
28830 },
28831 {
28832 "argumentTypes": null,
28833 "id": 9644,
28834 "name": "id",
28835 "nodeType": "Identifier",
28836 "overloadedDeclarations": [],
28837 "referencedDeclaration": 9632,
28838 "src": "9840:2:33",
28839 "typeDescriptions": {
28840 "typeIdentifier": "t_uint256",
28841 "typeString": "uint256"
28842 }
28843 },
28844 {
28845 "argumentTypes": null,
28846 "hexValue": "70726f7669646572",
28847 "id": 9645,
28848 "isConstant": false,
28849 "isLValue": false,
28850 "isPure": true,
28851 "kind": "string",
28852 "lValueRequested": false,
28853 "nodeType": "Literal",
28854 "src": "9844:10:33",
28855 "subdenomination": null,
28856 "typeDescriptions": {
28857 "typeIdentifier": "t_stringliteral_91c78f343fa4753a18a7ecaff5a0d85cfa864839d839601256f8f00300358578",
28858 "typeString": "literal_string \"provider\""
28859 },
28860 "value": "provider"
28861 }
28862 ],
28863 "expression": {
28864 "argumentTypes": [
28865 {
28866 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
28867 "typeString": "literal_string \"queries\""
28868 },
28869 {
28870 "typeIdentifier": "t_uint256",
28871 "typeString": "uint256"
28872 },
28873 {
28874 "typeIdentifier": "t_stringliteral_91c78f343fa4753a18a7ecaff5a0d85cfa864839d839601256f8f00300358578",
28875 "typeString": "literal_string \"provider\""
28876 }
28877 ],
28878 "expression": {
28879 "argumentTypes": null,
28880 "id": 9641,
28881 "name": "abi",
28882 "nodeType": "Identifier",
28883 "overloadedDeclarations": [],
28884 "referencedDeclaration": 12079,
28885 "src": "9812:3:33",
28886 "typeDescriptions": {
28887 "typeIdentifier": "t_magic_abi",
28888 "typeString": "abi"
28889 }
28890 },
28891 "id": 9642,
28892 "isConstant": false,
28893 "isLValue": false,
28894 "isPure": true,
28895 "lValueRequested": false,
28896 "memberName": "encodePacked",
28897 "nodeType": "MemberAccess",
28898 "referencedDeclaration": null,
28899 "src": "9812:16:33",
28900 "typeDescriptions": {
28901 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
28902 "typeString": "function () pure returns (bytes memory)"
28903 }
28904 },
28905 "id": 9646,
28906 "isConstant": false,
28907 "isLValue": false,
28908 "isPure": false,
28909 "kind": "functionCall",
28910 "lValueRequested": false,
28911 "names": [],
28912 "nodeType": "FunctionCall",
28913 "src": "9812:43:33",
28914 "typeDescriptions": {
28915 "typeIdentifier": "t_bytes_memory_ptr",
28916 "typeString": "bytes memory"
28917 }
28918 }
28919 ],
28920 "expression": {
28921 "argumentTypes": [
28922 {
28923 "typeIdentifier": "t_bytes_memory_ptr",
28924 "typeString": "bytes memory"
28925 }
28926 ],
28927 "id": 9640,
28928 "name": "keccak256",
28929 "nodeType": "Identifier",
28930 "overloadedDeclarations": [],
28931 "referencedDeclaration": 12086,
28932 "src": "9802:9:33",
28933 "typeDescriptions": {
28934 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
28935 "typeString": "function () pure returns (bytes32)"
28936 }
28937 },
28938 "id": 9647,
28939 "isConstant": false,
28940 "isLValue": false,
28941 "isPure": false,
28942 "kind": "functionCall",
28943 "lValueRequested": false,
28944 "names": [],
28945 "nodeType": "FunctionCall",
28946 "src": "9802:54:33",
28947 "typeDescriptions": {
28948 "typeIdentifier": "t_bytes32",
28949 "typeString": "bytes32"
28950 }
28951 }
28952 ],
28953 "expression": {
28954 "argumentTypes": [
28955 {
28956 "typeIdentifier": "t_bytes32",
28957 "typeString": "bytes32"
28958 }
28959 ],
28960 "expression": {
28961 "argumentTypes": null,
28962 "id": 9638,
28963 "name": "db",
28964 "nodeType": "Identifier",
28965 "overloadedDeclarations": [],
28966 "referencedDeclaration": 8965,
28967 "src": "9789:2:33",
28968 "typeDescriptions": {
28969 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
28970 "typeString": "contract DatabaseInterface"
28971 }
28972 },
28973 "id": 9639,
28974 "isConstant": false,
28975 "isLValue": false,
28976 "isPure": false,
28977 "lValueRequested": false,
28978 "memberName": "getNumber",
28979 "nodeType": "MemberAccess",
28980 "referencedDeclaration": 8645,
28981 "src": "9789:12:33",
28982 "typeDescriptions": {
28983 "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
28984 "typeString": "function (bytes32) view external returns (uint256)"
28985 }
28986 },
28987 "id": 9648,
28988 "isConstant": false,
28989 "isLValue": false,
28990 "isPure": false,
28991 "kind": "functionCall",
28992 "lValueRequested": false,
28993 "names": [],
28994 "nodeType": "FunctionCall",
28995 "src": "9789:68:33",
28996 "typeDescriptions": {
28997 "typeIdentifier": "t_uint256",
28998 "typeString": "uint256"
28999 }
29000 }
29001 ],
29002 "expression": {
29003 "argumentTypes": [
29004 {
29005 "typeIdentifier": "t_uint256",
29006 "typeString": "uint256"
29007 }
29008 ],
29009 "id": 9637,
29010 "isConstant": false,
29011 "isLValue": false,
29012 "isPure": true,
29013 "lValueRequested": false,
29014 "nodeType": "ElementaryTypeNameExpression",
29015 "src": "9781:7:33",
29016 "typeDescriptions": {
29017 "typeIdentifier": "t_type$_t_address_$",
29018 "typeString": "type(address)"
29019 },
29020 "typeName": "address"
29021 },
29022 "id": 9649,
29023 "isConstant": false,
29024 "isLValue": false,
29025 "isPure": false,
29026 "kind": "typeConversion",
29027 "lValueRequested": false,
29028 "names": [],
29029 "nodeType": "FunctionCall",
29030 "src": "9781:77:33",
29031 "typeDescriptions": {
29032 "typeIdentifier": "t_address",
29033 "typeString": "address"
29034 }
29035 },
29036 "functionReturnParameters": 9636,
29037 "id": 9650,
29038 "nodeType": "Return",
29039 "src": "9774:84:33"
29040 }
29041 ]
29042 },
29043 "documentation": "@dev get provider address of request\n @param id request id",
29044 "id": 9652,
29045 "implemented": true,
29046 "isConstructor": false,
29047 "isDeclaredConst": true,
29048 "modifiers": [],
29049 "name": "getProvider",
29050 "nodeType": "FunctionDefinition",
29051 "parameters": {
29052 "id": 9633,
29053 "nodeType": "ParameterList",
29054 "parameters": [
29055 {
29056 "constant": false,
29057 "id": 9632,
29058 "name": "id",
29059 "nodeType": "VariableDeclaration",
29060 "scope": 9652,
29061 "src": "9722:10:33",
29062 "stateVariable": false,
29063 "storageLocation": "default",
29064 "typeDescriptions": {
29065 "typeIdentifier": "t_uint256",
29066 "typeString": "uint256"
29067 },
29068 "typeName": {
29069 "id": 9631,
29070 "name": "uint256",
29071 "nodeType": "ElementaryTypeName",
29072 "src": "9722:7:33",
29073 "typeDescriptions": {
29074 "typeIdentifier": "t_uint256",
29075 "typeString": "uint256"
29076 }
29077 },
29078 "value": null,
29079 "visibility": "internal"
29080 }
29081 ],
29082 "src": "9721:12:33"
29083 },
29084 "payable": false,
29085 "returnParameters": {
29086 "id": 9636,
29087 "nodeType": "ParameterList",
29088 "parameters": [
29089 {
29090 "constant": false,
29091 "id": 9635,
29092 "name": "",
29093 "nodeType": "VariableDeclaration",
29094 "scope": 9652,
29095 "src": "9755:7:33",
29096 "stateVariable": false,
29097 "storageLocation": "default",
29098 "typeDescriptions": {
29099 "typeIdentifier": "t_address",
29100 "typeString": "address"
29101 },
29102 "typeName": {
29103 "id": 9634,
29104 "name": "address",
29105 "nodeType": "ElementaryTypeName",
29106 "src": "9755:7:33",
29107 "typeDescriptions": {
29108 "typeIdentifier": "t_address",
29109 "typeString": "address"
29110 }
29111 },
29112 "value": null,
29113 "visibility": "internal"
29114 }
29115 ],
29116 "src": "9754:9:33"
29117 },
29118 "scope": 10008,
29119 "src": "9701:164:33",
29120 "stateMutability": "view",
29121 "superFunction": 10104,
29122 "visibility": "public"
29123 },
29124 {
29125 "body": {
29126 "id": 9673,
29127 "nodeType": "Block",
29128 "src": "10012:103:33",
29129 "statements": [
29130 {
29131 "expression": {
29132 "argumentTypes": null,
29133 "arguments": [
29134 {
29135 "argumentTypes": null,
29136 "arguments": [
29137 {
29138 "argumentTypes": null,
29139 "arguments": [
29140 {
29141 "argumentTypes": null,
29142 "arguments": [
29143 {
29144 "argumentTypes": null,
29145 "hexValue": "71756572696573",
29146 "id": 9665,
29147 "isConstant": false,
29148 "isLValue": false,
29149 "isPure": true,
29150 "kind": "string",
29151 "lValueRequested": false,
29152 "nodeType": "Literal",
29153 "src": "10077:9:33",
29154 "subdenomination": null,
29155 "typeDescriptions": {
29156 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
29157 "typeString": "literal_string \"queries\""
29158 },
29159 "value": "queries"
29160 },
29161 {
29162 "argumentTypes": null,
29163 "id": 9666,
29164 "name": "id",
29165 "nodeType": "Identifier",
29166 "overloadedDeclarations": [],
29167 "referencedDeclaration": 9654,
29168 "src": "10088:2:33",
29169 "typeDescriptions": {
29170 "typeIdentifier": "t_uint256",
29171 "typeString": "uint256"
29172 }
29173 },
29174 {
29175 "argumentTypes": null,
29176 "hexValue": "73756273637269626572",
29177 "id": 9667,
29178 "isConstant": false,
29179 "isLValue": false,
29180 "isPure": true,
29181 "kind": "string",
29182 "lValueRequested": false,
29183 "nodeType": "Literal",
29184 "src": "10092:12:33",
29185 "subdenomination": null,
29186 "typeDescriptions": {
29187 "typeIdentifier": "t_stringliteral_578460d8593305c1e4563d489761b3fb6d5c20b915297d7cca701626850e5e3e",
29188 "typeString": "literal_string \"subscriber\""
29189 },
29190 "value": "subscriber"
29191 }
29192 ],
29193 "expression": {
29194 "argumentTypes": [
29195 {
29196 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
29197 "typeString": "literal_string \"queries\""
29198 },
29199 {
29200 "typeIdentifier": "t_uint256",
29201 "typeString": "uint256"
29202 },
29203 {
29204 "typeIdentifier": "t_stringliteral_578460d8593305c1e4563d489761b3fb6d5c20b915297d7cca701626850e5e3e",
29205 "typeString": "literal_string \"subscriber\""
29206 }
29207 ],
29208 "expression": {
29209 "argumentTypes": null,
29210 "id": 9663,
29211 "name": "abi",
29212 "nodeType": "Identifier",
29213 "overloadedDeclarations": [],
29214 "referencedDeclaration": 12079,
29215 "src": "10060:3:33",
29216 "typeDescriptions": {
29217 "typeIdentifier": "t_magic_abi",
29218 "typeString": "abi"
29219 }
29220 },
29221 "id": 9664,
29222 "isConstant": false,
29223 "isLValue": false,
29224 "isPure": true,
29225 "lValueRequested": false,
29226 "memberName": "encodePacked",
29227 "nodeType": "MemberAccess",
29228 "referencedDeclaration": null,
29229 "src": "10060:16:33",
29230 "typeDescriptions": {
29231 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
29232 "typeString": "function () pure returns (bytes memory)"
29233 }
29234 },
29235 "id": 9668,
29236 "isConstant": false,
29237 "isLValue": false,
29238 "isPure": false,
29239 "kind": "functionCall",
29240 "lValueRequested": false,
29241 "names": [],
29242 "nodeType": "FunctionCall",
29243 "src": "10060:45:33",
29244 "typeDescriptions": {
29245 "typeIdentifier": "t_bytes_memory_ptr",
29246 "typeString": "bytes memory"
29247 }
29248 }
29249 ],
29250 "expression": {
29251 "argumentTypes": [
29252 {
29253 "typeIdentifier": "t_bytes_memory_ptr",
29254 "typeString": "bytes memory"
29255 }
29256 ],
29257 "id": 9662,
29258 "name": "keccak256",
29259 "nodeType": "Identifier",
29260 "overloadedDeclarations": [],
29261 "referencedDeclaration": 12086,
29262 "src": "10050:9:33",
29263 "typeDescriptions": {
29264 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
29265 "typeString": "function () pure returns (bytes32)"
29266 }
29267 },
29268 "id": 9669,
29269 "isConstant": false,
29270 "isLValue": false,
29271 "isPure": false,
29272 "kind": "functionCall",
29273 "lValueRequested": false,
29274 "names": [],
29275 "nodeType": "FunctionCall",
29276 "src": "10050:56:33",
29277 "typeDescriptions": {
29278 "typeIdentifier": "t_bytes32",
29279 "typeString": "bytes32"
29280 }
29281 }
29282 ],
29283 "expression": {
29284 "argumentTypes": [
29285 {
29286 "typeIdentifier": "t_bytes32",
29287 "typeString": "bytes32"
29288 }
29289 ],
29290 "expression": {
29291 "argumentTypes": null,
29292 "id": 9660,
29293 "name": "db",
29294 "nodeType": "Identifier",
29295 "overloadedDeclarations": [],
29296 "referencedDeclaration": 8965,
29297 "src": "10037:2:33",
29298 "typeDescriptions": {
29299 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
29300 "typeString": "contract DatabaseInterface"
29301 }
29302 },
29303 "id": 9661,
29304 "isConstant": false,
29305 "isLValue": false,
29306 "isPure": false,
29307 "lValueRequested": false,
29308 "memberName": "getNumber",
29309 "nodeType": "MemberAccess",
29310 "referencedDeclaration": 8645,
29311 "src": "10037:12:33",
29312 "typeDescriptions": {
29313 "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
29314 "typeString": "function (bytes32) view external returns (uint256)"
29315 }
29316 },
29317 "id": 9670,
29318 "isConstant": false,
29319 "isLValue": false,
29320 "isPure": false,
29321 "kind": "functionCall",
29322 "lValueRequested": false,
29323 "names": [],
29324 "nodeType": "FunctionCall",
29325 "src": "10037:70:33",
29326 "typeDescriptions": {
29327 "typeIdentifier": "t_uint256",
29328 "typeString": "uint256"
29329 }
29330 }
29331 ],
29332 "expression": {
29333 "argumentTypes": [
29334 {
29335 "typeIdentifier": "t_uint256",
29336 "typeString": "uint256"
29337 }
29338 ],
29339 "id": 9659,
29340 "isConstant": false,
29341 "isLValue": false,
29342 "isPure": true,
29343 "lValueRequested": false,
29344 "nodeType": "ElementaryTypeNameExpression",
29345 "src": "10029:7:33",
29346 "typeDescriptions": {
29347 "typeIdentifier": "t_type$_t_address_$",
29348 "typeString": "type(address)"
29349 },
29350 "typeName": "address"
29351 },
29352 "id": 9671,
29353 "isConstant": false,
29354 "isLValue": false,
29355 "isPure": false,
29356 "kind": "typeConversion",
29357 "lValueRequested": false,
29358 "names": [],
29359 "nodeType": "FunctionCall",
29360 "src": "10029:79:33",
29361 "typeDescriptions": {
29362 "typeIdentifier": "t_address",
29363 "typeString": "address"
29364 }
29365 },
29366 "functionReturnParameters": 9658,
29367 "id": 9672,
29368 "nodeType": "Return",
29369 "src": "10022:86:33"
29370 }
29371 ]
29372 },
29373 "documentation": "@dev get subscriber address of request\n @param id request id",
29374 "id": 9674,
29375 "implemented": true,
29376 "isConstructor": false,
29377 "isDeclaredConst": true,
29378 "modifiers": [],
29379 "name": "getSubscriber",
29380 "nodeType": "FunctionDefinition",
29381 "parameters": {
29382 "id": 9655,
29383 "nodeType": "ParameterList",
29384 "parameters": [
29385 {
29386 "constant": false,
29387 "id": 9654,
29388 "name": "id",
29389 "nodeType": "VariableDeclaration",
29390 "scope": 9674,
29391 "src": "9970:10:33",
29392 "stateVariable": false,
29393 "storageLocation": "default",
29394 "typeDescriptions": {
29395 "typeIdentifier": "t_uint256",
29396 "typeString": "uint256"
29397 },
29398 "typeName": {
29399 "id": 9653,
29400 "name": "uint256",
29401 "nodeType": "ElementaryTypeName",
29402 "src": "9970:7:33",
29403 "typeDescriptions": {
29404 "typeIdentifier": "t_uint256",
29405 "typeString": "uint256"
29406 }
29407 },
29408 "value": null,
29409 "visibility": "internal"
29410 }
29411 ],
29412 "src": "9969:12:33"
29413 },
29414 "payable": false,
29415 "returnParameters": {
29416 "id": 9658,
29417 "nodeType": "ParameterList",
29418 "parameters": [
29419 {
29420 "constant": false,
29421 "id": 9657,
29422 "name": "",
29423 "nodeType": "VariableDeclaration",
29424 "scope": 9674,
29425 "src": "10003:7:33",
29426 "stateVariable": false,
29427 "storageLocation": "default",
29428 "typeDescriptions": {
29429 "typeIdentifier": "t_address",
29430 "typeString": "address"
29431 },
29432 "typeName": {
29433 "id": 9656,
29434 "name": "address",
29435 "nodeType": "ElementaryTypeName",
29436 "src": "10003:7:33",
29437 "typeDescriptions": {
29438 "typeIdentifier": "t_address",
29439 "typeString": "address"
29440 }
29441 },
29442 "value": null,
29443 "visibility": "internal"
29444 }
29445 ],
29446 "src": "10002:9:33"
29447 },
29448 "scope": 10008,
29449 "src": "9947:168:33",
29450 "stateMutability": "view",
29451 "superFunction": 10111,
29452 "visibility": "public"
29453 },
29454 {
29455 "body": {
29456 "id": 9693,
29457 "nodeType": "Block",
29458 "src": "10250:93:33",
29459 "statements": [
29460 {
29461 "expression": {
29462 "argumentTypes": null,
29463 "arguments": [
29464 {
29465 "argumentTypes": null,
29466 "arguments": [
29467 {
29468 "argumentTypes": null,
29469 "arguments": [
29470 {
29471 "argumentTypes": null,
29472 "hexValue": "71756572696573",
29473 "id": 9686,
29474 "isConstant": false,
29475 "isLValue": false,
29476 "isPure": true,
29477 "kind": "string",
29478 "lValueRequested": false,
29479 "nodeType": "Literal",
29480 "src": "10308:9:33",
29481 "subdenomination": null,
29482 "typeDescriptions": {
29483 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
29484 "typeString": "literal_string \"queries\""
29485 },
29486 "value": "queries"
29487 },
29488 {
29489 "argumentTypes": null,
29490 "id": 9687,
29491 "name": "id",
29492 "nodeType": "Identifier",
29493 "overloadedDeclarations": [],
29494 "referencedDeclaration": 9676,
29495 "src": "10319:2:33",
29496 "typeDescriptions": {
29497 "typeIdentifier": "t_uint256",
29498 "typeString": "uint256"
29499 }
29500 },
29501 {
29502 "argumentTypes": null,
29503 "hexValue": "656e64706f696e74",
29504 "id": 9688,
29505 "isConstant": false,
29506 "isLValue": false,
29507 "isPure": true,
29508 "kind": "string",
29509 "lValueRequested": false,
29510 "nodeType": "Literal",
29511 "src": "10323:10:33",
29512 "subdenomination": null,
29513 "typeDescriptions": {
29514 "typeIdentifier": "t_stringliteral_2f66f0f49c62bf3dd55424947aed01de8cc6a36ef0d5854bc3983dd7bb89db24",
29515 "typeString": "literal_string \"endpoint\""
29516 },
29517 "value": "endpoint"
29518 }
29519 ],
29520 "expression": {
29521 "argumentTypes": [
29522 {
29523 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
29524 "typeString": "literal_string \"queries\""
29525 },
29526 {
29527 "typeIdentifier": "t_uint256",
29528 "typeString": "uint256"
29529 },
29530 {
29531 "typeIdentifier": "t_stringliteral_2f66f0f49c62bf3dd55424947aed01de8cc6a36ef0d5854bc3983dd7bb89db24",
29532 "typeString": "literal_string \"endpoint\""
29533 }
29534 ],
29535 "expression": {
29536 "argumentTypes": null,
29537 "id": 9684,
29538 "name": "abi",
29539 "nodeType": "Identifier",
29540 "overloadedDeclarations": [],
29541 "referencedDeclaration": 12079,
29542 "src": "10291:3:33",
29543 "typeDescriptions": {
29544 "typeIdentifier": "t_magic_abi",
29545 "typeString": "abi"
29546 }
29547 },
29548 "id": 9685,
29549 "isConstant": false,
29550 "isLValue": false,
29551 "isPure": true,
29552 "lValueRequested": false,
29553 "memberName": "encodePacked",
29554 "nodeType": "MemberAccess",
29555 "referencedDeclaration": null,
29556 "src": "10291:16:33",
29557 "typeDescriptions": {
29558 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
29559 "typeString": "function () pure returns (bytes memory)"
29560 }
29561 },
29562 "id": 9689,
29563 "isConstant": false,
29564 "isLValue": false,
29565 "isPure": false,
29566 "kind": "functionCall",
29567 "lValueRequested": false,
29568 "names": [],
29569 "nodeType": "FunctionCall",
29570 "src": "10291:43:33",
29571 "typeDescriptions": {
29572 "typeIdentifier": "t_bytes_memory_ptr",
29573 "typeString": "bytes memory"
29574 }
29575 }
29576 ],
29577 "expression": {
29578 "argumentTypes": [
29579 {
29580 "typeIdentifier": "t_bytes_memory_ptr",
29581 "typeString": "bytes memory"
29582 }
29583 ],
29584 "id": 9683,
29585 "name": "keccak256",
29586 "nodeType": "Identifier",
29587 "overloadedDeclarations": [],
29588 "referencedDeclaration": 12086,
29589 "src": "10281:9:33",
29590 "typeDescriptions": {
29591 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
29592 "typeString": "function () pure returns (bytes32)"
29593 }
29594 },
29595 "id": 9690,
29596 "isConstant": false,
29597 "isLValue": false,
29598 "isPure": false,
29599 "kind": "functionCall",
29600 "lValueRequested": false,
29601 "names": [],
29602 "nodeType": "FunctionCall",
29603 "src": "10281:54:33",
29604 "typeDescriptions": {
29605 "typeIdentifier": "t_bytes32",
29606 "typeString": "bytes32"
29607 }
29608 }
29609 ],
29610 "expression": {
29611 "argumentTypes": [
29612 {
29613 "typeIdentifier": "t_bytes32",
29614 "typeString": "bytes32"
29615 }
29616 ],
29617 "expression": {
29618 "argumentTypes": null,
29619 "id": 9681,
29620 "name": "db",
29621 "nodeType": "Identifier",
29622 "overloadedDeclarations": [],
29623 "referencedDeclaration": 8965,
29624 "src": "10267:2:33",
29625 "typeDescriptions": {
29626 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
29627 "typeString": "contract DatabaseInterface"
29628 }
29629 },
29630 "id": 9682,
29631 "isConstant": false,
29632 "isLValue": false,
29633 "isPure": false,
29634 "lValueRequested": false,
29635 "memberName": "getBytes32",
29636 "nodeType": "MemberAccess",
29637 "referencedDeclaration": 8631,
29638 "src": "10267:13:33",
29639 "typeDescriptions": {
29640 "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$",
29641 "typeString": "function (bytes32) view external returns (bytes32)"
29642 }
29643 },
29644 "id": 9691,
29645 "isConstant": false,
29646 "isLValue": false,
29647 "isPure": false,
29648 "kind": "functionCall",
29649 "lValueRequested": false,
29650 "names": [],
29651 "nodeType": "FunctionCall",
29652 "src": "10267:69:33",
29653 "typeDescriptions": {
29654 "typeIdentifier": "t_bytes32",
29655 "typeString": "bytes32"
29656 }
29657 },
29658 "functionReturnParameters": 9680,
29659 "id": 9692,
29660 "nodeType": "Return",
29661 "src": "10260:76:33"
29662 }
29663 ]
29664 },
29665 "documentation": "@dev get endpoint of request\n @param id request id",
29666 "id": 9694,
29667 "implemented": true,
29668 "isConstructor": false,
29669 "isDeclaredConst": true,
29670 "modifiers": [],
29671 "name": "getEndpoint",
29672 "nodeType": "FunctionDefinition",
29673 "parameters": {
29674 "id": 9677,
29675 "nodeType": "ParameterList",
29676 "parameters": [
29677 {
29678 "constant": false,
29679 "id": 9676,
29680 "name": "id",
29681 "nodeType": "VariableDeclaration",
29682 "scope": 9694,
29683 "src": "10208:10:33",
29684 "stateVariable": false,
29685 "storageLocation": "default",
29686 "typeDescriptions": {
29687 "typeIdentifier": "t_uint256",
29688 "typeString": "uint256"
29689 },
29690 "typeName": {
29691 "id": 9675,
29692 "name": "uint256",
29693 "nodeType": "ElementaryTypeName",
29694 "src": "10208:7:33",
29695 "typeDescriptions": {
29696 "typeIdentifier": "t_uint256",
29697 "typeString": "uint256"
29698 }
29699 },
29700 "value": null,
29701 "visibility": "internal"
29702 }
29703 ],
29704 "src": "10207:12:33"
29705 },
29706 "payable": false,
29707 "returnParameters": {
29708 "id": 9680,
29709 "nodeType": "ParameterList",
29710 "parameters": [
29711 {
29712 "constant": false,
29713 "id": 9679,
29714 "name": "",
29715 "nodeType": "VariableDeclaration",
29716 "scope": 9694,
29717 "src": "10241:7:33",
29718 "stateVariable": false,
29719 "storageLocation": "default",
29720 "typeDescriptions": {
29721 "typeIdentifier": "t_bytes32",
29722 "typeString": "bytes32"
29723 },
29724 "typeName": {
29725 "id": 9678,
29726 "name": "bytes32",
29727 "nodeType": "ElementaryTypeName",
29728 "src": "10241:7:33",
29729 "typeDescriptions": {
29730 "typeIdentifier": "t_bytes32",
29731 "typeString": "bytes32"
29732 }
29733 },
29734 "value": null,
29735 "visibility": "internal"
29736 }
29737 ],
29738 "src": "10240:9:33"
29739 },
29740 "scope": 10008,
29741 "src": "10187:156:33",
29742 "stateMutability": "view",
29743 "superFunction": 10118,
29744 "visibility": "public"
29745 },
29746 {
29747 "body": {
29748 "id": 9713,
29749 "nodeType": "Block",
29750 "src": "10474:90:33",
29751 "statements": [
29752 {
29753 "expression": {
29754 "argumentTypes": null,
29755 "arguments": [
29756 {
29757 "argumentTypes": null,
29758 "arguments": [
29759 {
29760 "argumentTypes": null,
29761 "arguments": [
29762 {
29763 "argumentTypes": null,
29764 "hexValue": "71756572696573",
29765 "id": 9706,
29766 "isConstant": false,
29767 "isLValue": false,
29768 "isPure": true,
29769 "kind": "string",
29770 "lValueRequested": false,
29771 "nodeType": "Literal",
29772 "src": "10531:9:33",
29773 "subdenomination": null,
29774 "typeDescriptions": {
29775 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
29776 "typeString": "literal_string \"queries\""
29777 },
29778 "value": "queries"
29779 },
29780 {
29781 "argumentTypes": null,
29782 "id": 9707,
29783 "name": "id",
29784 "nodeType": "Identifier",
29785 "overloadedDeclarations": [],
29786 "referencedDeclaration": 9696,
29787 "src": "10542:2:33",
29788 "typeDescriptions": {
29789 "typeIdentifier": "t_uint256",
29790 "typeString": "uint256"
29791 }
29792 },
29793 {
29794 "argumentTypes": null,
29795 "hexValue": "737461747573",
29796 "id": 9708,
29797 "isConstant": false,
29798 "isLValue": false,
29799 "isPure": true,
29800 "kind": "string",
29801 "lValueRequested": false,
29802 "nodeType": "Literal",
29803 "src": "10546:8:33",
29804 "subdenomination": null,
29805 "typeDescriptions": {
29806 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
29807 "typeString": "literal_string \"status\""
29808 },
29809 "value": "status"
29810 }
29811 ],
29812 "expression": {
29813 "argumentTypes": [
29814 {
29815 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
29816 "typeString": "literal_string \"queries\""
29817 },
29818 {
29819 "typeIdentifier": "t_uint256",
29820 "typeString": "uint256"
29821 },
29822 {
29823 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
29824 "typeString": "literal_string \"status\""
29825 }
29826 ],
29827 "expression": {
29828 "argumentTypes": null,
29829 "id": 9704,
29830 "name": "abi",
29831 "nodeType": "Identifier",
29832 "overloadedDeclarations": [],
29833 "referencedDeclaration": 12079,
29834 "src": "10514:3:33",
29835 "typeDescriptions": {
29836 "typeIdentifier": "t_magic_abi",
29837 "typeString": "abi"
29838 }
29839 },
29840 "id": 9705,
29841 "isConstant": false,
29842 "isLValue": false,
29843 "isPure": true,
29844 "lValueRequested": false,
29845 "memberName": "encodePacked",
29846 "nodeType": "MemberAccess",
29847 "referencedDeclaration": null,
29848 "src": "10514:16:33",
29849 "typeDescriptions": {
29850 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
29851 "typeString": "function () pure returns (bytes memory)"
29852 }
29853 },
29854 "id": 9709,
29855 "isConstant": false,
29856 "isLValue": false,
29857 "isPure": false,
29858 "kind": "functionCall",
29859 "lValueRequested": false,
29860 "names": [],
29861 "nodeType": "FunctionCall",
29862 "src": "10514:41:33",
29863 "typeDescriptions": {
29864 "typeIdentifier": "t_bytes_memory_ptr",
29865 "typeString": "bytes memory"
29866 }
29867 }
29868 ],
29869 "expression": {
29870 "argumentTypes": [
29871 {
29872 "typeIdentifier": "t_bytes_memory_ptr",
29873 "typeString": "bytes memory"
29874 }
29875 ],
29876 "id": 9703,
29877 "name": "keccak256",
29878 "nodeType": "Identifier",
29879 "overloadedDeclarations": [],
29880 "referencedDeclaration": 12086,
29881 "src": "10504:9:33",
29882 "typeDescriptions": {
29883 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
29884 "typeString": "function () pure returns (bytes32)"
29885 }
29886 },
29887 "id": 9710,
29888 "isConstant": false,
29889 "isLValue": false,
29890 "isPure": false,
29891 "kind": "functionCall",
29892 "lValueRequested": false,
29893 "names": [],
29894 "nodeType": "FunctionCall",
29895 "src": "10504:52:33",
29896 "typeDescriptions": {
29897 "typeIdentifier": "t_bytes32",
29898 "typeString": "bytes32"
29899 }
29900 }
29901 ],
29902 "expression": {
29903 "argumentTypes": [
29904 {
29905 "typeIdentifier": "t_bytes32",
29906 "typeString": "bytes32"
29907 }
29908 ],
29909 "expression": {
29910 "argumentTypes": null,
29911 "id": 9701,
29912 "name": "db",
29913 "nodeType": "Identifier",
29914 "overloadedDeclarations": [],
29915 "referencedDeclaration": 8965,
29916 "src": "10491:2:33",
29917 "typeDescriptions": {
29918 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
29919 "typeString": "contract DatabaseInterface"
29920 }
29921 },
29922 "id": 9702,
29923 "isConstant": false,
29924 "isLValue": false,
29925 "isPure": false,
29926 "lValueRequested": false,
29927 "memberName": "getNumber",
29928 "nodeType": "MemberAccess",
29929 "referencedDeclaration": 8645,
29930 "src": "10491:12:33",
29931 "typeDescriptions": {
29932 "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
29933 "typeString": "function (bytes32) view external returns (uint256)"
29934 }
29935 },
29936 "id": 9711,
29937 "isConstant": false,
29938 "isLValue": false,
29939 "isPure": false,
29940 "kind": "functionCall",
29941 "lValueRequested": false,
29942 "names": [],
29943 "nodeType": "FunctionCall",
29944 "src": "10491:66:33",
29945 "typeDescriptions": {
29946 "typeIdentifier": "t_uint256",
29947 "typeString": "uint256"
29948 }
29949 },
29950 "functionReturnParameters": 9700,
29951 "id": 9712,
29952 "nodeType": "Return",
29953 "src": "10484:73:33"
29954 }
29955 ]
29956 },
29957 "documentation": "@dev get status of request\n @param id request id",
29958 "id": 9714,
29959 "implemented": true,
29960 "isConstructor": false,
29961 "isDeclaredConst": true,
29962 "modifiers": [],
29963 "name": "getStatus",
29964 "nodeType": "FunctionDefinition",
29965 "parameters": {
29966 "id": 9697,
29967 "nodeType": "ParameterList",
29968 "parameters": [
29969 {
29970 "constant": false,
29971 "id": 9696,
29972 "name": "id",
29973 "nodeType": "VariableDeclaration",
29974 "scope": 9714,
29975 "src": "10432:10:33",
29976 "stateVariable": false,
29977 "storageLocation": "default",
29978 "typeDescriptions": {
29979 "typeIdentifier": "t_uint256",
29980 "typeString": "uint256"
29981 },
29982 "typeName": {
29983 "id": 9695,
29984 "name": "uint256",
29985 "nodeType": "ElementaryTypeName",
29986 "src": "10432:7:33",
29987 "typeDescriptions": {
29988 "typeIdentifier": "t_uint256",
29989 "typeString": "uint256"
29990 }
29991 },
29992 "value": null,
29993 "visibility": "internal"
29994 }
29995 ],
29996 "src": "10431:12:33"
29997 },
29998 "payable": false,
29999 "returnParameters": {
30000 "id": 9700,
30001 "nodeType": "ParameterList",
30002 "parameters": [
30003 {
30004 "constant": false,
30005 "id": 9699,
30006 "name": "",
30007 "nodeType": "VariableDeclaration",
30008 "scope": 9714,
30009 "src": "10465:7:33",
30010 "stateVariable": false,
30011 "storageLocation": "default",
30012 "typeDescriptions": {
30013 "typeIdentifier": "t_uint256",
30014 "typeString": "uint256"
30015 },
30016 "typeName": {
30017 "id": 9698,
30018 "name": "uint256",
30019 "nodeType": "ElementaryTypeName",
30020 "src": "10465:7:33",
30021 "typeDescriptions": {
30022 "typeIdentifier": "t_uint256",
30023 "typeString": "uint256"
30024 }
30025 },
30026 "value": null,
30027 "visibility": "internal"
30028 }
30029 ],
30030 "src": "10464:9:33"
30031 },
30032 "scope": 10008,
30033 "src": "10413:151:33",
30034 "stateMutability": "view",
30035 "superFunction": 10125,
30036 "visibility": "public"
30037 },
30038 {
30039 "body": {
30040 "id": 9733,
30041 "nodeType": "Block",
30042 "src": "10712:95:33",
30043 "statements": [
30044 {
30045 "expression": {
30046 "argumentTypes": null,
30047 "arguments": [
30048 {
30049 "argumentTypes": null,
30050 "arguments": [
30051 {
30052 "argumentTypes": null,
30053 "arguments": [
30054 {
30055 "argumentTypes": null,
30056 "hexValue": "71756572696573",
30057 "id": 9726,
30058 "isConstant": false,
30059 "isLValue": false,
30060 "isPure": true,
30061 "kind": "string",
30062 "lValueRequested": false,
30063 "nodeType": "Literal",
30064 "src": "10769:9:33",
30065 "subdenomination": null,
30066 "typeDescriptions": {
30067 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
30068 "typeString": "literal_string \"queries\""
30069 },
30070 "value": "queries"
30071 },
30072 {
30073 "argumentTypes": null,
30074 "id": 9727,
30075 "name": "id",
30076 "nodeType": "Identifier",
30077 "overloadedDeclarations": [],
30078 "referencedDeclaration": 9716,
30079 "src": "10780:2:33",
30080 "typeDescriptions": {
30081 "typeIdentifier": "t_uint256",
30082 "typeString": "uint256"
30083 }
30084 },
30085 {
30086 "argumentTypes": null,
30087 "hexValue": "63616e63656c426c6f636b",
30088 "id": 9728,
30089 "isConstant": false,
30090 "isLValue": false,
30091 "isPure": true,
30092 "kind": "string",
30093 "lValueRequested": false,
30094 "nodeType": "Literal",
30095 "src": "10784:13:33",
30096 "subdenomination": null,
30097 "typeDescriptions": {
30098 "typeIdentifier": "t_stringliteral_3e1f940b5edd3ce62b6c4237d655e274002d311fa3e3bed3262fcc6975c4a972",
30099 "typeString": "literal_string \"cancelBlock\""
30100 },
30101 "value": "cancelBlock"
30102 }
30103 ],
30104 "expression": {
30105 "argumentTypes": [
30106 {
30107 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
30108 "typeString": "literal_string \"queries\""
30109 },
30110 {
30111 "typeIdentifier": "t_uint256",
30112 "typeString": "uint256"
30113 },
30114 {
30115 "typeIdentifier": "t_stringliteral_3e1f940b5edd3ce62b6c4237d655e274002d311fa3e3bed3262fcc6975c4a972",
30116 "typeString": "literal_string \"cancelBlock\""
30117 }
30118 ],
30119 "expression": {
30120 "argumentTypes": null,
30121 "id": 9724,
30122 "name": "abi",
30123 "nodeType": "Identifier",
30124 "overloadedDeclarations": [],
30125 "referencedDeclaration": 12079,
30126 "src": "10752:3:33",
30127 "typeDescriptions": {
30128 "typeIdentifier": "t_magic_abi",
30129 "typeString": "abi"
30130 }
30131 },
30132 "id": 9725,
30133 "isConstant": false,
30134 "isLValue": false,
30135 "isPure": true,
30136 "lValueRequested": false,
30137 "memberName": "encodePacked",
30138 "nodeType": "MemberAccess",
30139 "referencedDeclaration": null,
30140 "src": "10752:16:33",
30141 "typeDescriptions": {
30142 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
30143 "typeString": "function () pure returns (bytes memory)"
30144 }
30145 },
30146 "id": 9729,
30147 "isConstant": false,
30148 "isLValue": false,
30149 "isPure": false,
30150 "kind": "functionCall",
30151 "lValueRequested": false,
30152 "names": [],
30153 "nodeType": "FunctionCall",
30154 "src": "10752:46:33",
30155 "typeDescriptions": {
30156 "typeIdentifier": "t_bytes_memory_ptr",
30157 "typeString": "bytes memory"
30158 }
30159 }
30160 ],
30161 "expression": {
30162 "argumentTypes": [
30163 {
30164 "typeIdentifier": "t_bytes_memory_ptr",
30165 "typeString": "bytes memory"
30166 }
30167 ],
30168 "id": 9723,
30169 "name": "keccak256",
30170 "nodeType": "Identifier",
30171 "overloadedDeclarations": [],
30172 "referencedDeclaration": 12086,
30173 "src": "10742:9:33",
30174 "typeDescriptions": {
30175 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
30176 "typeString": "function () pure returns (bytes32)"
30177 }
30178 },
30179 "id": 9730,
30180 "isConstant": false,
30181 "isLValue": false,
30182 "isPure": false,
30183 "kind": "functionCall",
30184 "lValueRequested": false,
30185 "names": [],
30186 "nodeType": "FunctionCall",
30187 "src": "10742:57:33",
30188 "typeDescriptions": {
30189 "typeIdentifier": "t_bytes32",
30190 "typeString": "bytes32"
30191 }
30192 }
30193 ],
30194 "expression": {
30195 "argumentTypes": [
30196 {
30197 "typeIdentifier": "t_bytes32",
30198 "typeString": "bytes32"
30199 }
30200 ],
30201 "expression": {
30202 "argumentTypes": null,
30203 "id": 9721,
30204 "name": "db",
30205 "nodeType": "Identifier",
30206 "overloadedDeclarations": [],
30207 "referencedDeclaration": 8965,
30208 "src": "10729:2:33",
30209 "typeDescriptions": {
30210 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
30211 "typeString": "contract DatabaseInterface"
30212 }
30213 },
30214 "id": 9722,
30215 "isConstant": false,
30216 "isLValue": false,
30217 "isPure": false,
30218 "lValueRequested": false,
30219 "memberName": "getNumber",
30220 "nodeType": "MemberAccess",
30221 "referencedDeclaration": 8645,
30222 "src": "10729:12:33",
30223 "typeDescriptions": {
30224 "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
30225 "typeString": "function (bytes32) view external returns (uint256)"
30226 }
30227 },
30228 "id": 9731,
30229 "isConstant": false,
30230 "isLValue": false,
30231 "isPure": false,
30232 "kind": "functionCall",
30233 "lValueRequested": false,
30234 "names": [],
30235 "nodeType": "FunctionCall",
30236 "src": "10729:71:33",
30237 "typeDescriptions": {
30238 "typeIdentifier": "t_uint256",
30239 "typeString": "uint256"
30240 }
30241 },
30242 "functionReturnParameters": 9720,
30243 "id": 9732,
30244 "nodeType": "Return",
30245 "src": "10722:78:33"
30246 }
30247 ]
30248 },
30249 "documentation": "@dev get the cancelation block of a request\n @param id request id",
30250 "id": 9734,
30251 "implemented": true,
30252 "isConstructor": false,
30253 "isDeclaredConst": true,
30254 "modifiers": [],
30255 "name": "getCancel",
30256 "nodeType": "FunctionDefinition",
30257 "parameters": {
30258 "id": 9717,
30259 "nodeType": "ParameterList",
30260 "parameters": [
30261 {
30262 "constant": false,
30263 "id": 9716,
30264 "name": "id",
30265 "nodeType": "VariableDeclaration",
30266 "scope": 9734,
30267 "src": "10670:10:33",
30268 "stateVariable": false,
30269 "storageLocation": "default",
30270 "typeDescriptions": {
30271 "typeIdentifier": "t_uint256",
30272 "typeString": "uint256"
30273 },
30274 "typeName": {
30275 "id": 9715,
30276 "name": "uint256",
30277 "nodeType": "ElementaryTypeName",
30278 "src": "10670:7:33",
30279 "typeDescriptions": {
30280 "typeIdentifier": "t_uint256",
30281 "typeString": "uint256"
30282 }
30283 },
30284 "value": null,
30285 "visibility": "internal"
30286 }
30287 ],
30288 "src": "10669:12:33"
30289 },
30290 "payable": false,
30291 "returnParameters": {
30292 "id": 9720,
30293 "nodeType": "ParameterList",
30294 "parameters": [
30295 {
30296 "constant": false,
30297 "id": 9719,
30298 "name": "",
30299 "nodeType": "VariableDeclaration",
30300 "scope": 9734,
30301 "src": "10703:7:33",
30302 "stateVariable": false,
30303 "storageLocation": "default",
30304 "typeDescriptions": {
30305 "typeIdentifier": "t_uint256",
30306 "typeString": "uint256"
30307 },
30308 "typeName": {
30309 "id": 9718,
30310 "name": "uint256",
30311 "nodeType": "ElementaryTypeName",
30312 "src": "10703:7:33",
30313 "typeDescriptions": {
30314 "typeIdentifier": "t_uint256",
30315 "typeString": "uint256"
30316 }
30317 },
30318 "value": null,
30319 "visibility": "internal"
30320 }
30321 ],
30322 "src": "10702:9:33"
30323 },
30324 "scope": 10008,
30325 "src": "10651:156:33",
30326 "stateMutability": "view",
30327 "superFunction": 10132,
30328 "visibility": "public"
30329 },
30330 {
30331 "body": {
30332 "id": 9753,
30333 "nodeType": "Block",
30334 "src": "10954:93:33",
30335 "statements": [
30336 {
30337 "expression": {
30338 "argumentTypes": null,
30339 "arguments": [
30340 {
30341 "argumentTypes": null,
30342 "arguments": [
30343 {
30344 "argumentTypes": null,
30345 "arguments": [
30346 {
30347 "argumentTypes": null,
30348 "hexValue": "71756572696573",
30349 "id": 9746,
30350 "isConstant": false,
30351 "isLValue": false,
30352 "isPure": true,
30353 "kind": "string",
30354 "lValueRequested": false,
30355 "nodeType": "Literal",
30356 "src": "11011:9:33",
30357 "subdenomination": null,
30358 "typeDescriptions": {
30359 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
30360 "typeString": "literal_string \"queries\""
30361 },
30362 "value": "queries"
30363 },
30364 {
30365 "argumentTypes": null,
30366 "id": 9747,
30367 "name": "id",
30368 "nodeType": "Identifier",
30369 "overloadedDeclarations": [],
30370 "referencedDeclaration": 9736,
30371 "src": "11022:2:33",
30372 "typeDescriptions": {
30373 "typeIdentifier": "t_uint256",
30374 "typeString": "uint256"
30375 }
30376 },
30377 {
30378 "argumentTypes": null,
30379 "hexValue": "757365725175657279",
30380 "id": 9748,
30381 "isConstant": false,
30382 "isLValue": false,
30383 "isPure": true,
30384 "kind": "string",
30385 "lValueRequested": false,
30386 "nodeType": "Literal",
30387 "src": "11026:11:33",
30388 "subdenomination": null,
30389 "typeDescriptions": {
30390 "typeIdentifier": "t_stringliteral_1962195d2075685a9783e4e1a25e4d1043a5973c9055a4eda7d4058c8c556d44",
30391 "typeString": "literal_string \"userQuery\""
30392 },
30393 "value": "userQuery"
30394 }
30395 ],
30396 "expression": {
30397 "argumentTypes": [
30398 {
30399 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
30400 "typeString": "literal_string \"queries\""
30401 },
30402 {
30403 "typeIdentifier": "t_uint256",
30404 "typeString": "uint256"
30405 },
30406 {
30407 "typeIdentifier": "t_stringliteral_1962195d2075685a9783e4e1a25e4d1043a5973c9055a4eda7d4058c8c556d44",
30408 "typeString": "literal_string \"userQuery\""
30409 }
30410 ],
30411 "expression": {
30412 "argumentTypes": null,
30413 "id": 9744,
30414 "name": "abi",
30415 "nodeType": "Identifier",
30416 "overloadedDeclarations": [],
30417 "referencedDeclaration": 12079,
30418 "src": "10994:3:33",
30419 "typeDescriptions": {
30420 "typeIdentifier": "t_magic_abi",
30421 "typeString": "abi"
30422 }
30423 },
30424 "id": 9745,
30425 "isConstant": false,
30426 "isLValue": false,
30427 "isPure": true,
30428 "lValueRequested": false,
30429 "memberName": "encodePacked",
30430 "nodeType": "MemberAccess",
30431 "referencedDeclaration": null,
30432 "src": "10994:16:33",
30433 "typeDescriptions": {
30434 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
30435 "typeString": "function () pure returns (bytes memory)"
30436 }
30437 },
30438 "id": 9749,
30439 "isConstant": false,
30440 "isLValue": false,
30441 "isPure": false,
30442 "kind": "functionCall",
30443 "lValueRequested": false,
30444 "names": [],
30445 "nodeType": "FunctionCall",
30446 "src": "10994:44:33",
30447 "typeDescriptions": {
30448 "typeIdentifier": "t_bytes_memory_ptr",
30449 "typeString": "bytes memory"
30450 }
30451 }
30452 ],
30453 "expression": {
30454 "argumentTypes": [
30455 {
30456 "typeIdentifier": "t_bytes_memory_ptr",
30457 "typeString": "bytes memory"
30458 }
30459 ],
30460 "id": 9743,
30461 "name": "keccak256",
30462 "nodeType": "Identifier",
30463 "overloadedDeclarations": [],
30464 "referencedDeclaration": 12086,
30465 "src": "10984:9:33",
30466 "typeDescriptions": {
30467 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
30468 "typeString": "function () pure returns (bytes32)"
30469 }
30470 },
30471 "id": 9750,
30472 "isConstant": false,
30473 "isLValue": false,
30474 "isPure": false,
30475 "kind": "functionCall",
30476 "lValueRequested": false,
30477 "names": [],
30478 "nodeType": "FunctionCall",
30479 "src": "10984:55:33",
30480 "typeDescriptions": {
30481 "typeIdentifier": "t_bytes32",
30482 "typeString": "bytes32"
30483 }
30484 }
30485 ],
30486 "expression": {
30487 "argumentTypes": [
30488 {
30489 "typeIdentifier": "t_bytes32",
30490 "typeString": "bytes32"
30491 }
30492 ],
30493 "expression": {
30494 "argumentTypes": null,
30495 "id": 9741,
30496 "name": "db",
30497 "nodeType": "Identifier",
30498 "overloadedDeclarations": [],
30499 "referencedDeclaration": 8965,
30500 "src": "10971:2:33",
30501 "typeDescriptions": {
30502 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
30503 "typeString": "contract DatabaseInterface"
30504 }
30505 },
30506 "id": 9742,
30507 "isConstant": false,
30508 "isLValue": false,
30509 "isPure": false,
30510 "lValueRequested": false,
30511 "memberName": "getString",
30512 "nodeType": "MemberAccess",
30513 "referencedDeclaration": 8673,
30514 "src": "10971:12:33",
30515 "typeDescriptions": {
30516 "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_string_memory_ptr_$",
30517 "typeString": "function (bytes32) view external returns (string memory)"
30518 }
30519 },
30520 "id": 9751,
30521 "isConstant": false,
30522 "isLValue": false,
30523 "isPure": false,
30524 "kind": "functionCall",
30525 "lValueRequested": false,
30526 "names": [],
30527 "nodeType": "FunctionCall",
30528 "src": "10971:69:33",
30529 "typeDescriptions": {
30530 "typeIdentifier": "t_string_memory_ptr",
30531 "typeString": "string memory"
30532 }
30533 },
30534 "functionReturnParameters": 9740,
30535 "id": 9752,
30536 "nodeType": "Return",
30537 "src": "10964:76:33"
30538 }
30539 ]
30540 },
30541 "documentation": "@dev get user specified query of request\n @param id request id",
30542 "id": 9754,
30543 "implemented": true,
30544 "isConstructor": false,
30545 "isDeclaredConst": true,
30546 "modifiers": [],
30547 "name": "getUserQuery",
30548 "nodeType": "FunctionDefinition",
30549 "parameters": {
30550 "id": 9737,
30551 "nodeType": "ParameterList",
30552 "parameters": [
30553 {
30554 "constant": false,
30555 "id": 9736,
30556 "name": "id",
30557 "nodeType": "VariableDeclaration",
30558 "scope": 9754,
30559 "src": "10913:10:33",
30560 "stateVariable": false,
30561 "storageLocation": "default",
30562 "typeDescriptions": {
30563 "typeIdentifier": "t_uint256",
30564 "typeString": "uint256"
30565 },
30566 "typeName": {
30567 "id": 9735,
30568 "name": "uint256",
30569 "nodeType": "ElementaryTypeName",
30570 "src": "10913:7:33",
30571 "typeDescriptions": {
30572 "typeIdentifier": "t_uint256",
30573 "typeString": "uint256"
30574 }
30575 },
30576 "value": null,
30577 "visibility": "internal"
30578 }
30579 ],
30580 "src": "10912:12:33"
30581 },
30582 "payable": false,
30583 "returnParameters": {
30584 "id": 9740,
30585 "nodeType": "ParameterList",
30586 "parameters": [
30587 {
30588 "constant": false,
30589 "id": 9739,
30590 "name": "",
30591 "nodeType": "VariableDeclaration",
30592 "scope": 9754,
30593 "src": "10946:6:33",
30594 "stateVariable": false,
30595 "storageLocation": "default",
30596 "typeDescriptions": {
30597 "typeIdentifier": "t_string_memory_ptr",
30598 "typeString": "string"
30599 },
30600 "typeName": {
30601 "id": 9738,
30602 "name": "string",
30603 "nodeType": "ElementaryTypeName",
30604 "src": "10946:6:33",
30605 "typeDescriptions": {
30606 "typeIdentifier": "t_string_storage_ptr",
30607 "typeString": "string"
30608 }
30609 },
30610 "value": null,
30611 "visibility": "internal"
30612 }
30613 ],
30614 "src": "10945:8:33"
30615 },
30616 "scope": 10008,
30617 "src": "10891:156:33",
30618 "stateMutability": "view",
30619 "superFunction": 10139,
30620 "visibility": "public"
30621 },
30622 {
30623 "body": {
30624 "id": 9782,
30625 "nodeType": "Block",
30626 "src": "11200:145:33",
30627 "statements": [
30628 {
30629 "assignments": [
30630 9762
30631 ],
30632 "declarations": [
30633 {
30634 "constant": false,
30635 "id": 9762,
30636 "name": "res",
30637 "nodeType": "VariableDeclaration",
30638 "scope": 9783,
30639 "src": "11210:8:33",
30640 "stateVariable": false,
30641 "storageLocation": "default",
30642 "typeDescriptions": {
30643 "typeIdentifier": "t_uint256",
30644 "typeString": "uint256"
30645 },
30646 "typeName": {
30647 "id": 9761,
30648 "name": "uint",
30649 "nodeType": "ElementaryTypeName",
30650 "src": "11210:4:33",
30651 "typeDescriptions": {
30652 "typeIdentifier": "t_uint256",
30653 "typeString": "uint256"
30654 }
30655 },
30656 "value": null,
30657 "visibility": "internal"
30658 }
30659 ],
30660 "id": 9774,
30661 "initialValue": {
30662 "argumentTypes": null,
30663 "arguments": [
30664 {
30665 "argumentTypes": null,
30666 "arguments": [
30667 {
30668 "argumentTypes": null,
30669 "arguments": [
30670 {
30671 "argumentTypes": null,
30672 "hexValue": "71756572696573",
30673 "id": 9768,
30674 "isConstant": false,
30675 "isLValue": false,
30676 "isPure": true,
30677 "kind": "string",
30678 "lValueRequested": false,
30679 "nodeType": "Literal",
30680 "src": "11261:9:33",
30681 "subdenomination": null,
30682 "typeDescriptions": {
30683 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
30684 "typeString": "literal_string \"queries\""
30685 },
30686 "value": "queries"
30687 },
30688 {
30689 "argumentTypes": null,
30690 "id": 9769,
30691 "name": "id",
30692 "nodeType": "Identifier",
30693 "overloadedDeclarations": [],
30694 "referencedDeclaration": 9756,
30695 "src": "11272:2:33",
30696 "typeDescriptions": {
30697 "typeIdentifier": "t_uint256",
30698 "typeString": "uint256"
30699 }
30700 },
30701 {
30702 "argumentTypes": null,
30703 "hexValue": "6f6e636861696e53756273637269626572",
30704 "id": 9770,
30705 "isConstant": false,
30706 "isLValue": false,
30707 "isPure": true,
30708 "kind": "string",
30709 "lValueRequested": false,
30710 "nodeType": "Literal",
30711 "src": "11276:19:33",
30712 "subdenomination": null,
30713 "typeDescriptions": {
30714 "typeIdentifier": "t_stringliteral_c6cb379c1498efe618921a2eacc96479dd0b113f170f6ad3a66a3b6e0d1c5efd",
30715 "typeString": "literal_string \"onchainSubscriber\""
30716 },
30717 "value": "onchainSubscriber"
30718 }
30719 ],
30720 "expression": {
30721 "argumentTypes": [
30722 {
30723 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
30724 "typeString": "literal_string \"queries\""
30725 },
30726 {
30727 "typeIdentifier": "t_uint256",
30728 "typeString": "uint256"
30729 },
30730 {
30731 "typeIdentifier": "t_stringliteral_c6cb379c1498efe618921a2eacc96479dd0b113f170f6ad3a66a3b6e0d1c5efd",
30732 "typeString": "literal_string \"onchainSubscriber\""
30733 }
30734 ],
30735 "expression": {
30736 "argumentTypes": null,
30737 "id": 9766,
30738 "name": "abi",
30739 "nodeType": "Identifier",
30740 "overloadedDeclarations": [],
30741 "referencedDeclaration": 12079,
30742 "src": "11244:3:33",
30743 "typeDescriptions": {
30744 "typeIdentifier": "t_magic_abi",
30745 "typeString": "abi"
30746 }
30747 },
30748 "id": 9767,
30749 "isConstant": false,
30750 "isLValue": false,
30751 "isPure": true,
30752 "lValueRequested": false,
30753 "memberName": "encodePacked",
30754 "nodeType": "MemberAccess",
30755 "referencedDeclaration": null,
30756 "src": "11244:16:33",
30757 "typeDescriptions": {
30758 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
30759 "typeString": "function () pure returns (bytes memory)"
30760 }
30761 },
30762 "id": 9771,
30763 "isConstant": false,
30764 "isLValue": false,
30765 "isPure": false,
30766 "kind": "functionCall",
30767 "lValueRequested": false,
30768 "names": [],
30769 "nodeType": "FunctionCall",
30770 "src": "11244:52:33",
30771 "typeDescriptions": {
30772 "typeIdentifier": "t_bytes_memory_ptr",
30773 "typeString": "bytes memory"
30774 }
30775 }
30776 ],
30777 "expression": {
30778 "argumentTypes": [
30779 {
30780 "typeIdentifier": "t_bytes_memory_ptr",
30781 "typeString": "bytes memory"
30782 }
30783 ],
30784 "id": 9765,
30785 "name": "keccak256",
30786 "nodeType": "Identifier",
30787 "overloadedDeclarations": [],
30788 "referencedDeclaration": 12086,
30789 "src": "11234:9:33",
30790 "typeDescriptions": {
30791 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
30792 "typeString": "function () pure returns (bytes32)"
30793 }
30794 },
30795 "id": 9772,
30796 "isConstant": false,
30797 "isLValue": false,
30798 "isPure": false,
30799 "kind": "functionCall",
30800 "lValueRequested": false,
30801 "names": [],
30802 "nodeType": "FunctionCall",
30803 "src": "11234:63:33",
30804 "typeDescriptions": {
30805 "typeIdentifier": "t_bytes32",
30806 "typeString": "bytes32"
30807 }
30808 }
30809 ],
30810 "expression": {
30811 "argumentTypes": [
30812 {
30813 "typeIdentifier": "t_bytes32",
30814 "typeString": "bytes32"
30815 }
30816 ],
30817 "expression": {
30818 "argumentTypes": null,
30819 "id": 9763,
30820 "name": "db",
30821 "nodeType": "Identifier",
30822 "overloadedDeclarations": [],
30823 "referencedDeclaration": 8965,
30824 "src": "11221:2:33",
30825 "typeDescriptions": {
30826 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
30827 "typeString": "contract DatabaseInterface"
30828 }
30829 },
30830 "id": 9764,
30831 "isConstant": false,
30832 "isLValue": false,
30833 "isPure": false,
30834 "lValueRequested": false,
30835 "memberName": "getNumber",
30836 "nodeType": "MemberAccess",
30837 "referencedDeclaration": 8645,
30838 "src": "11221:12:33",
30839 "typeDescriptions": {
30840 "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
30841 "typeString": "function (bytes32) view external returns (uint256)"
30842 }
30843 },
30844 "id": 9773,
30845 "isConstant": false,
30846 "isLValue": false,
30847 "isPure": false,
30848 "kind": "functionCall",
30849 "lValueRequested": false,
30850 "names": [],
30851 "nodeType": "FunctionCall",
30852 "src": "11221:77:33",
30853 "typeDescriptions": {
30854 "typeIdentifier": "t_uint256",
30855 "typeString": "uint256"
30856 }
30857 },
30858 "nodeType": "VariableDeclarationStatement",
30859 "src": "11210:88:33"
30860 },
30861 {
30862 "expression": {
30863 "argumentTypes": null,
30864 "condition": {
30865 "argumentTypes": null,
30866 "commonType": {
30867 "typeIdentifier": "t_uint256",
30868 "typeString": "uint256"
30869 },
30870 "id": 9777,
30871 "isConstant": false,
30872 "isLValue": false,
30873 "isPure": false,
30874 "lValueRequested": false,
30875 "leftExpression": {
30876 "argumentTypes": null,
30877 "id": 9775,
30878 "name": "res",
30879 "nodeType": "Identifier",
30880 "overloadedDeclarations": [],
30881 "referencedDeclaration": 9762,
30882 "src": "11315:3:33",
30883 "typeDescriptions": {
30884 "typeIdentifier": "t_uint256",
30885 "typeString": "uint256"
30886 }
30887 },
30888 "nodeType": "BinaryOperation",
30889 "operator": "==",
30890 "rightExpression": {
30891 "argumentTypes": null,
30892 "hexValue": "31",
30893 "id": 9776,
30894 "isConstant": false,
30895 "isLValue": false,
30896 "isPure": true,
30897 "kind": "number",
30898 "lValueRequested": false,
30899 "nodeType": "Literal",
30900 "src": "11322:1:33",
30901 "subdenomination": null,
30902 "typeDescriptions": {
30903 "typeIdentifier": "t_rational_1_by_1",
30904 "typeString": "int_const 1"
30905 },
30906 "value": "1"
30907 },
30908 "src": "11315:8:33",
30909 "typeDescriptions": {
30910 "typeIdentifier": "t_bool",
30911 "typeString": "bool"
30912 }
30913 },
30914 "falseExpression": {
30915 "argumentTypes": null,
30916 "hexValue": "66616c7365",
30917 "id": 9779,
30918 "isConstant": false,
30919 "isLValue": false,
30920 "isPure": true,
30921 "kind": "bool",
30922 "lValueRequested": false,
30923 "nodeType": "Literal",
30924 "src": "11333:5:33",
30925 "subdenomination": null,
30926 "typeDescriptions": {
30927 "typeIdentifier": "t_bool",
30928 "typeString": "bool"
30929 },
30930 "value": "false"
30931 },
30932 "id": 9780,
30933 "isConstant": false,
30934 "isLValue": false,
30935 "isPure": false,
30936 "lValueRequested": false,
30937 "nodeType": "Conditional",
30938 "src": "11315:23:33",
30939 "trueExpression": {
30940 "argumentTypes": null,
30941 "hexValue": "74727565",
30942 "id": 9778,
30943 "isConstant": false,
30944 "isLValue": false,
30945 "isPure": true,
30946 "kind": "bool",
30947 "lValueRequested": false,
30948 "nodeType": "Literal",
30949 "src": "11326:4:33",
30950 "subdenomination": null,
30951 "typeDescriptions": {
30952 "typeIdentifier": "t_bool",
30953 "typeString": "bool"
30954 },
30955 "value": "true"
30956 },
30957 "typeDescriptions": {
30958 "typeIdentifier": "t_bool",
30959 "typeString": "bool"
30960 }
30961 },
30962 "functionReturnParameters": 9760,
30963 "id": 9781,
30964 "nodeType": "Return",
30965 "src": "11308:30:33"
30966 }
30967 ]
30968 },
30969 "documentation": "@dev is subscriber contract or offchain \n @param id request id",
30970 "id": 9783,
30971 "implemented": true,
30972 "isConstructor": false,
30973 "isDeclaredConst": true,
30974 "modifiers": [],
30975 "name": "getSubscriberOnchain",
30976 "nodeType": "FunctionDefinition",
30977 "parameters": {
30978 "id": 9757,
30979 "nodeType": "ParameterList",
30980 "parameters": [
30981 {
30982 "constant": false,
30983 "id": 9756,
30984 "name": "id",
30985 "nodeType": "VariableDeclaration",
30986 "scope": 9783,
30987 "src": "11161:10:33",
30988 "stateVariable": false,
30989 "storageLocation": "default",
30990 "typeDescriptions": {
30991 "typeIdentifier": "t_uint256",
30992 "typeString": "uint256"
30993 },
30994 "typeName": {
30995 "id": 9755,
30996 "name": "uint256",
30997 "nodeType": "ElementaryTypeName",
30998 "src": "11161:7:33",
30999 "typeDescriptions": {
31000 "typeIdentifier": "t_uint256",
31001 "typeString": "uint256"
31002 }
31003 },
31004 "value": null,
31005 "visibility": "internal"
31006 }
31007 ],
31008 "src": "11160:12:33"
31009 },
31010 "payable": false,
31011 "returnParameters": {
31012 "id": 9760,
31013 "nodeType": "ParameterList",
31014 "parameters": [
31015 {
31016 "constant": false,
31017 "id": 9759,
31018 "name": "",
31019 "nodeType": "VariableDeclaration",
31020 "scope": 9783,
31021 "src": "11194:4:33",
31022 "stateVariable": false,
31023 "storageLocation": "default",
31024 "typeDescriptions": {
31025 "typeIdentifier": "t_bool",
31026 "typeString": "bool"
31027 },
31028 "typeName": {
31029 "id": 9758,
31030 "name": "bool",
31031 "nodeType": "ElementaryTypeName",
31032 "src": "11194:4:33",
31033 "typeDescriptions": {
31034 "typeIdentifier": "t_bool",
31035 "typeString": "bool"
31036 }
31037 },
31038 "value": null,
31039 "visibility": "internal"
31040 }
31041 ],
31042 "src": "11193:6:33"
31043 },
31044 "scope": 10008,
31045 "src": "11131:214:33",
31046 "stateMutability": "view",
31047 "superFunction": 10146,
31048 "visibility": "public"
31049 },
31050 {
31051 "body": {
31052 "id": 9892,
31053 "nodeType": "Block",
31054 "src": "11584:599:33",
31055 "statements": [
31056 {
31057 "expression": {
31058 "argumentTypes": null,
31059 "arguments": [
31060 {
31061 "argumentTypes": null,
31062 "arguments": [
31063 {
31064 "argumentTypes": null,
31065 "arguments": [
31066 {
31067 "argumentTypes": null,
31068 "hexValue": "71756572696573",
31069 "id": 9804,
31070 "isConstant": false,
31071 "isLValue": false,
31072 "isPure": true,
31073 "kind": "string",
31074 "lValueRequested": false,
31075 "nodeType": "Literal",
31076 "src": "11634:9:33",
31077 "subdenomination": null,
31078 "typeDescriptions": {
31079 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
31080 "typeString": "literal_string \"queries\""
31081 },
31082 "value": "queries"
31083 },
31084 {
31085 "argumentTypes": null,
31086 "id": 9805,
31087 "name": "id",
31088 "nodeType": "Identifier",
31089 "overloadedDeclarations": [],
31090 "referencedDeclaration": 9785,
31091 "src": "11645:2:33",
31092 "typeDescriptions": {
31093 "typeIdentifier": "t_uint256",
31094 "typeString": "uint256"
31095 }
31096 },
31097 {
31098 "argumentTypes": null,
31099 "hexValue": "70726f7669646572",
31100 "id": 9806,
31101 "isConstant": false,
31102 "isLValue": false,
31103 "isPure": true,
31104 "kind": "string",
31105 "lValueRequested": false,
31106 "nodeType": "Literal",
31107 "src": "11649:10:33",
31108 "subdenomination": null,
31109 "typeDescriptions": {
31110 "typeIdentifier": "t_stringliteral_91c78f343fa4753a18a7ecaff5a0d85cfa864839d839601256f8f00300358578",
31111 "typeString": "literal_string \"provider\""
31112 },
31113 "value": "provider"
31114 }
31115 ],
31116 "expression": {
31117 "argumentTypes": [
31118 {
31119 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
31120 "typeString": "literal_string \"queries\""
31121 },
31122 {
31123 "typeIdentifier": "t_uint256",
31124 "typeString": "uint256"
31125 },
31126 {
31127 "typeIdentifier": "t_stringliteral_91c78f343fa4753a18a7ecaff5a0d85cfa864839d839601256f8f00300358578",
31128 "typeString": "literal_string \"provider\""
31129 }
31130 ],
31131 "expression": {
31132 "argumentTypes": null,
31133 "id": 9802,
31134 "name": "abi",
31135 "nodeType": "Identifier",
31136 "overloadedDeclarations": [],
31137 "referencedDeclaration": 12079,
31138 "src": "11617:3:33",
31139 "typeDescriptions": {
31140 "typeIdentifier": "t_magic_abi",
31141 "typeString": "abi"
31142 }
31143 },
31144 "id": 9803,
31145 "isConstant": false,
31146 "isLValue": false,
31147 "isPure": true,
31148 "lValueRequested": false,
31149 "memberName": "encodePacked",
31150 "nodeType": "MemberAccess",
31151 "referencedDeclaration": null,
31152 "src": "11617:16:33",
31153 "typeDescriptions": {
31154 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
31155 "typeString": "function () pure returns (bytes memory)"
31156 }
31157 },
31158 "id": 9807,
31159 "isConstant": false,
31160 "isLValue": false,
31161 "isPure": false,
31162 "kind": "functionCall",
31163 "lValueRequested": false,
31164 "names": [],
31165 "nodeType": "FunctionCall",
31166 "src": "11617:43:33",
31167 "typeDescriptions": {
31168 "typeIdentifier": "t_bytes_memory_ptr",
31169 "typeString": "bytes memory"
31170 }
31171 }
31172 ],
31173 "expression": {
31174 "argumentTypes": [
31175 {
31176 "typeIdentifier": "t_bytes_memory_ptr",
31177 "typeString": "bytes memory"
31178 }
31179 ],
31180 "id": 9801,
31181 "name": "keccak256",
31182 "nodeType": "Identifier",
31183 "overloadedDeclarations": [],
31184 "referencedDeclaration": 12086,
31185 "src": "11607:9:33",
31186 "typeDescriptions": {
31187 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
31188 "typeString": "function () pure returns (bytes32)"
31189 }
31190 },
31191 "id": 9808,
31192 "isConstant": false,
31193 "isLValue": false,
31194 "isPure": false,
31195 "kind": "functionCall",
31196 "lValueRequested": false,
31197 "names": [],
31198 "nodeType": "FunctionCall",
31199 "src": "11607:54:33",
31200 "typeDescriptions": {
31201 "typeIdentifier": "t_bytes32",
31202 "typeString": "bytes32"
31203 }
31204 },
31205 {
31206 "argumentTypes": null,
31207 "arguments": [
31208 {
31209 "argumentTypes": null,
31210 "id": 9810,
31211 "name": "provider",
31212 "nodeType": "Identifier",
31213 "overloadedDeclarations": [],
31214 "referencedDeclaration": 9787,
31215 "src": "11671:8:33",
31216 "typeDescriptions": {
31217 "typeIdentifier": "t_address",
31218 "typeString": "address"
31219 }
31220 }
31221 ],
31222 "expression": {
31223 "argumentTypes": [
31224 {
31225 "typeIdentifier": "t_address",
31226 "typeString": "address"
31227 }
31228 ],
31229 "id": 9809,
31230 "isConstant": false,
31231 "isLValue": false,
31232 "isPure": true,
31233 "lValueRequested": false,
31234 "nodeType": "ElementaryTypeNameExpression",
31235 "src": "11663:7:33",
31236 "typeDescriptions": {
31237 "typeIdentifier": "t_type$_t_uint256_$",
31238 "typeString": "type(uint256)"
31239 },
31240 "typeName": "uint256"
31241 },
31242 "id": 9811,
31243 "isConstant": false,
31244 "isLValue": false,
31245 "isPure": false,
31246 "kind": "typeConversion",
31247 "lValueRequested": false,
31248 "names": [],
31249 "nodeType": "FunctionCall",
31250 "src": "11663:17:33",
31251 "typeDescriptions": {
31252 "typeIdentifier": "t_uint256",
31253 "typeString": "uint256"
31254 }
31255 }
31256 ],
31257 "expression": {
31258 "argumentTypes": [
31259 {
31260 "typeIdentifier": "t_bytes32",
31261 "typeString": "bytes32"
31262 },
31263 {
31264 "typeIdentifier": "t_uint256",
31265 "typeString": "uint256"
31266 }
31267 ],
31268 "expression": {
31269 "argumentTypes": null,
31270 "id": 9798,
31271 "name": "db",
31272 "nodeType": "Identifier",
31273 "overloadedDeclarations": [],
31274 "referencedDeclaration": 8965,
31275 "src": "11594:2:33",
31276 "typeDescriptions": {
31277 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
31278 "typeString": "contract DatabaseInterface"
31279 }
31280 },
31281 "id": 9800,
31282 "isConstant": false,
31283 "isLValue": false,
31284 "isPure": false,
31285 "lValueRequested": false,
31286 "memberName": "setNumber",
31287 "nodeType": "MemberAccess",
31288 "referencedDeclaration": 8652,
31289 "src": "11594:12:33",
31290 "typeDescriptions": {
31291 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
31292 "typeString": "function (bytes32,uint256) external"
31293 }
31294 },
31295 "id": 9812,
31296 "isConstant": false,
31297 "isLValue": false,
31298 "isPure": false,
31299 "kind": "functionCall",
31300 "lValueRequested": false,
31301 "names": [],
31302 "nodeType": "FunctionCall",
31303 "src": "11594:87:33",
31304 "typeDescriptions": {
31305 "typeIdentifier": "t_tuple$__$",
31306 "typeString": "tuple()"
31307 }
31308 },
31309 "id": 9813,
31310 "nodeType": "ExpressionStatement",
31311 "src": "11594:87:33"
31312 },
31313 {
31314 "expression": {
31315 "argumentTypes": null,
31316 "arguments": [
31317 {
31318 "argumentTypes": null,
31319 "arguments": [
31320 {
31321 "argumentTypes": null,
31322 "arguments": [
31323 {
31324 "argumentTypes": null,
31325 "hexValue": "71756572696573",
31326 "id": 9820,
31327 "isConstant": false,
31328 "isLValue": false,
31329 "isPure": true,
31330 "kind": "string",
31331 "lValueRequested": false,
31332 "nodeType": "Literal",
31333 "src": "11731:9:33",
31334 "subdenomination": null,
31335 "typeDescriptions": {
31336 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
31337 "typeString": "literal_string \"queries\""
31338 },
31339 "value": "queries"
31340 },
31341 {
31342 "argumentTypes": null,
31343 "id": 9821,
31344 "name": "id",
31345 "nodeType": "Identifier",
31346 "overloadedDeclarations": [],
31347 "referencedDeclaration": 9785,
31348 "src": "11742:2:33",
31349 "typeDescriptions": {
31350 "typeIdentifier": "t_uint256",
31351 "typeString": "uint256"
31352 }
31353 },
31354 {
31355 "argumentTypes": null,
31356 "hexValue": "73756273637269626572",
31357 "id": 9822,
31358 "isConstant": false,
31359 "isLValue": false,
31360 "isPure": true,
31361 "kind": "string",
31362 "lValueRequested": false,
31363 "nodeType": "Literal",
31364 "src": "11746:12:33",
31365 "subdenomination": null,
31366 "typeDescriptions": {
31367 "typeIdentifier": "t_stringliteral_578460d8593305c1e4563d489761b3fb6d5c20b915297d7cca701626850e5e3e",
31368 "typeString": "literal_string \"subscriber\""
31369 },
31370 "value": "subscriber"
31371 }
31372 ],
31373 "expression": {
31374 "argumentTypes": [
31375 {
31376 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
31377 "typeString": "literal_string \"queries\""
31378 },
31379 {
31380 "typeIdentifier": "t_uint256",
31381 "typeString": "uint256"
31382 },
31383 {
31384 "typeIdentifier": "t_stringliteral_578460d8593305c1e4563d489761b3fb6d5c20b915297d7cca701626850e5e3e",
31385 "typeString": "literal_string \"subscriber\""
31386 }
31387 ],
31388 "expression": {
31389 "argumentTypes": null,
31390 "id": 9818,
31391 "name": "abi",
31392 "nodeType": "Identifier",
31393 "overloadedDeclarations": [],
31394 "referencedDeclaration": 12079,
31395 "src": "11714:3:33",
31396 "typeDescriptions": {
31397 "typeIdentifier": "t_magic_abi",
31398 "typeString": "abi"
31399 }
31400 },
31401 "id": 9819,
31402 "isConstant": false,
31403 "isLValue": false,
31404 "isPure": true,
31405 "lValueRequested": false,
31406 "memberName": "encodePacked",
31407 "nodeType": "MemberAccess",
31408 "referencedDeclaration": null,
31409 "src": "11714:16:33",
31410 "typeDescriptions": {
31411 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
31412 "typeString": "function () pure returns (bytes memory)"
31413 }
31414 },
31415 "id": 9823,
31416 "isConstant": false,
31417 "isLValue": false,
31418 "isPure": false,
31419 "kind": "functionCall",
31420 "lValueRequested": false,
31421 "names": [],
31422 "nodeType": "FunctionCall",
31423 "src": "11714:45:33",
31424 "typeDescriptions": {
31425 "typeIdentifier": "t_bytes_memory_ptr",
31426 "typeString": "bytes memory"
31427 }
31428 }
31429 ],
31430 "expression": {
31431 "argumentTypes": [
31432 {
31433 "typeIdentifier": "t_bytes_memory_ptr",
31434 "typeString": "bytes memory"
31435 }
31436 ],
31437 "id": 9817,
31438 "name": "keccak256",
31439 "nodeType": "Identifier",
31440 "overloadedDeclarations": [],
31441 "referencedDeclaration": 12086,
31442 "src": "11704:9:33",
31443 "typeDescriptions": {
31444 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
31445 "typeString": "function () pure returns (bytes32)"
31446 }
31447 },
31448 "id": 9824,
31449 "isConstant": false,
31450 "isLValue": false,
31451 "isPure": false,
31452 "kind": "functionCall",
31453 "lValueRequested": false,
31454 "names": [],
31455 "nodeType": "FunctionCall",
31456 "src": "11704:56:33",
31457 "typeDescriptions": {
31458 "typeIdentifier": "t_bytes32",
31459 "typeString": "bytes32"
31460 }
31461 },
31462 {
31463 "argumentTypes": null,
31464 "arguments": [
31465 {
31466 "argumentTypes": null,
31467 "id": 9826,
31468 "name": "subscriber",
31469 "nodeType": "Identifier",
31470 "overloadedDeclarations": [],
31471 "referencedDeclaration": 9789,
31472 "src": "11770:10:33",
31473 "typeDescriptions": {
31474 "typeIdentifier": "t_address",
31475 "typeString": "address"
31476 }
31477 }
31478 ],
31479 "expression": {
31480 "argumentTypes": [
31481 {
31482 "typeIdentifier": "t_address",
31483 "typeString": "address"
31484 }
31485 ],
31486 "id": 9825,
31487 "isConstant": false,
31488 "isLValue": false,
31489 "isPure": true,
31490 "lValueRequested": false,
31491 "nodeType": "ElementaryTypeNameExpression",
31492 "src": "11762:7:33",
31493 "typeDescriptions": {
31494 "typeIdentifier": "t_type$_t_uint256_$",
31495 "typeString": "type(uint256)"
31496 },
31497 "typeName": "uint256"
31498 },
31499 "id": 9827,
31500 "isConstant": false,
31501 "isLValue": false,
31502 "isPure": false,
31503 "kind": "typeConversion",
31504 "lValueRequested": false,
31505 "names": [],
31506 "nodeType": "FunctionCall",
31507 "src": "11762:19:33",
31508 "typeDescriptions": {
31509 "typeIdentifier": "t_uint256",
31510 "typeString": "uint256"
31511 }
31512 }
31513 ],
31514 "expression": {
31515 "argumentTypes": [
31516 {
31517 "typeIdentifier": "t_bytes32",
31518 "typeString": "bytes32"
31519 },
31520 {
31521 "typeIdentifier": "t_uint256",
31522 "typeString": "uint256"
31523 }
31524 ],
31525 "expression": {
31526 "argumentTypes": null,
31527 "id": 9814,
31528 "name": "db",
31529 "nodeType": "Identifier",
31530 "overloadedDeclarations": [],
31531 "referencedDeclaration": 8965,
31532 "src": "11691:2:33",
31533 "typeDescriptions": {
31534 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
31535 "typeString": "contract DatabaseInterface"
31536 }
31537 },
31538 "id": 9816,
31539 "isConstant": false,
31540 "isLValue": false,
31541 "isPure": false,
31542 "lValueRequested": false,
31543 "memberName": "setNumber",
31544 "nodeType": "MemberAccess",
31545 "referencedDeclaration": 8652,
31546 "src": "11691:12:33",
31547 "typeDescriptions": {
31548 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
31549 "typeString": "function (bytes32,uint256) external"
31550 }
31551 },
31552 "id": 9828,
31553 "isConstant": false,
31554 "isLValue": false,
31555 "isPure": false,
31556 "kind": "functionCall",
31557 "lValueRequested": false,
31558 "names": [],
31559 "nodeType": "FunctionCall",
31560 "src": "11691:91:33",
31561 "typeDescriptions": {
31562 "typeIdentifier": "t_tuple$__$",
31563 "typeString": "tuple()"
31564 }
31565 },
31566 "id": 9829,
31567 "nodeType": "ExpressionStatement",
31568 "src": "11691:91:33"
31569 },
31570 {
31571 "expression": {
31572 "argumentTypes": null,
31573 "arguments": [
31574 {
31575 "argumentTypes": null,
31576 "arguments": [
31577 {
31578 "argumentTypes": null,
31579 "arguments": [
31580 {
31581 "argumentTypes": null,
31582 "hexValue": "71756572696573",
31583 "id": 9836,
31584 "isConstant": false,
31585 "isLValue": false,
31586 "isPure": true,
31587 "kind": "string",
31588 "lValueRequested": false,
31589 "nodeType": "Literal",
31590 "src": "11833:9:33",
31591 "subdenomination": null,
31592 "typeDescriptions": {
31593 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
31594 "typeString": "literal_string \"queries\""
31595 },
31596 "value": "queries"
31597 },
31598 {
31599 "argumentTypes": null,
31600 "id": 9837,
31601 "name": "id",
31602 "nodeType": "Identifier",
31603 "overloadedDeclarations": [],
31604 "referencedDeclaration": 9785,
31605 "src": "11844:2:33",
31606 "typeDescriptions": {
31607 "typeIdentifier": "t_uint256",
31608 "typeString": "uint256"
31609 }
31610 },
31611 {
31612 "argumentTypes": null,
31613 "hexValue": "656e64706f696e74",
31614 "id": 9838,
31615 "isConstant": false,
31616 "isLValue": false,
31617 "isPure": true,
31618 "kind": "string",
31619 "lValueRequested": false,
31620 "nodeType": "Literal",
31621 "src": "11848:10:33",
31622 "subdenomination": null,
31623 "typeDescriptions": {
31624 "typeIdentifier": "t_stringliteral_2f66f0f49c62bf3dd55424947aed01de8cc6a36ef0d5854bc3983dd7bb89db24",
31625 "typeString": "literal_string \"endpoint\""
31626 },
31627 "value": "endpoint"
31628 }
31629 ],
31630 "expression": {
31631 "argumentTypes": [
31632 {
31633 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
31634 "typeString": "literal_string \"queries\""
31635 },
31636 {
31637 "typeIdentifier": "t_uint256",
31638 "typeString": "uint256"
31639 },
31640 {
31641 "typeIdentifier": "t_stringliteral_2f66f0f49c62bf3dd55424947aed01de8cc6a36ef0d5854bc3983dd7bb89db24",
31642 "typeString": "literal_string \"endpoint\""
31643 }
31644 ],
31645 "expression": {
31646 "argumentTypes": null,
31647 "id": 9834,
31648 "name": "abi",
31649 "nodeType": "Identifier",
31650 "overloadedDeclarations": [],
31651 "referencedDeclaration": 12079,
31652 "src": "11816:3:33",
31653 "typeDescriptions": {
31654 "typeIdentifier": "t_magic_abi",
31655 "typeString": "abi"
31656 }
31657 },
31658 "id": 9835,
31659 "isConstant": false,
31660 "isLValue": false,
31661 "isPure": true,
31662 "lValueRequested": false,
31663 "memberName": "encodePacked",
31664 "nodeType": "MemberAccess",
31665 "referencedDeclaration": null,
31666 "src": "11816:16:33",
31667 "typeDescriptions": {
31668 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
31669 "typeString": "function () pure returns (bytes memory)"
31670 }
31671 },
31672 "id": 9839,
31673 "isConstant": false,
31674 "isLValue": false,
31675 "isPure": false,
31676 "kind": "functionCall",
31677 "lValueRequested": false,
31678 "names": [],
31679 "nodeType": "FunctionCall",
31680 "src": "11816:43:33",
31681 "typeDescriptions": {
31682 "typeIdentifier": "t_bytes_memory_ptr",
31683 "typeString": "bytes memory"
31684 }
31685 }
31686 ],
31687 "expression": {
31688 "argumentTypes": [
31689 {
31690 "typeIdentifier": "t_bytes_memory_ptr",
31691 "typeString": "bytes memory"
31692 }
31693 ],
31694 "id": 9833,
31695 "name": "keccak256",
31696 "nodeType": "Identifier",
31697 "overloadedDeclarations": [],
31698 "referencedDeclaration": 12086,
31699 "src": "11806:9:33",
31700 "typeDescriptions": {
31701 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
31702 "typeString": "function () pure returns (bytes32)"
31703 }
31704 },
31705 "id": 9840,
31706 "isConstant": false,
31707 "isLValue": false,
31708 "isPure": false,
31709 "kind": "functionCall",
31710 "lValueRequested": false,
31711 "names": [],
31712 "nodeType": "FunctionCall",
31713 "src": "11806:54:33",
31714 "typeDescriptions": {
31715 "typeIdentifier": "t_bytes32",
31716 "typeString": "bytes32"
31717 }
31718 },
31719 {
31720 "argumentTypes": null,
31721 "id": 9841,
31722 "name": "endpoint",
31723 "nodeType": "Identifier",
31724 "overloadedDeclarations": [],
31725 "referencedDeclaration": 9791,
31726 "src": "11862:8:33",
31727 "typeDescriptions": {
31728 "typeIdentifier": "t_bytes32",
31729 "typeString": "bytes32"
31730 }
31731 }
31732 ],
31733 "expression": {
31734 "argumentTypes": [
31735 {
31736 "typeIdentifier": "t_bytes32",
31737 "typeString": "bytes32"
31738 },
31739 {
31740 "typeIdentifier": "t_bytes32",
31741 "typeString": "bytes32"
31742 }
31743 ],
31744 "expression": {
31745 "argumentTypes": null,
31746 "id": 9830,
31747 "name": "db",
31748 "nodeType": "Identifier",
31749 "overloadedDeclarations": [],
31750 "referencedDeclaration": 8965,
31751 "src": "11792:2:33",
31752 "typeDescriptions": {
31753 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
31754 "typeString": "contract DatabaseInterface"
31755 }
31756 },
31757 "id": 9832,
31758 "isConstant": false,
31759 "isLValue": false,
31760 "isPure": false,
31761 "lValueRequested": false,
31762 "memberName": "setBytes32",
31763 "nodeType": "MemberAccess",
31764 "referencedDeclaration": 8638,
31765 "src": "11792:13:33",
31766 "typeDescriptions": {
31767 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$",
31768 "typeString": "function (bytes32,bytes32) external"
31769 }
31770 },
31771 "id": 9842,
31772 "isConstant": false,
31773 "isLValue": false,
31774 "isPure": false,
31775 "kind": "functionCall",
31776 "lValueRequested": false,
31777 "names": [],
31778 "nodeType": "FunctionCall",
31779 "src": "11792:79:33",
31780 "typeDescriptions": {
31781 "typeIdentifier": "t_tuple$__$",
31782 "typeString": "tuple()"
31783 }
31784 },
31785 "id": 9843,
31786 "nodeType": "ExpressionStatement",
31787 "src": "11792:79:33"
31788 },
31789 {
31790 "expression": {
31791 "argumentTypes": null,
31792 "arguments": [
31793 {
31794 "argumentTypes": null,
31795 "arguments": [
31796 {
31797 "argumentTypes": null,
31798 "arguments": [
31799 {
31800 "argumentTypes": null,
31801 "hexValue": "71756572696573",
31802 "id": 9850,
31803 "isConstant": false,
31804 "isLValue": false,
31805 "isPure": true,
31806 "kind": "string",
31807 "lValueRequested": false,
31808 "nodeType": "Literal",
31809 "src": "11921:9:33",
31810 "subdenomination": null,
31811 "typeDescriptions": {
31812 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
31813 "typeString": "literal_string \"queries\""
31814 },
31815 "value": "queries"
31816 },
31817 {
31818 "argumentTypes": null,
31819 "id": 9851,
31820 "name": "id",
31821 "nodeType": "Identifier",
31822 "overloadedDeclarations": [],
31823 "referencedDeclaration": 9785,
31824 "src": "11932:2:33",
31825 "typeDescriptions": {
31826 "typeIdentifier": "t_uint256",
31827 "typeString": "uint256"
31828 }
31829 },
31830 {
31831 "argumentTypes": null,
31832 "hexValue": "757365725175657279",
31833 "id": 9852,
31834 "isConstant": false,
31835 "isLValue": false,
31836 "isPure": true,
31837 "kind": "string",
31838 "lValueRequested": false,
31839 "nodeType": "Literal",
31840 "src": "11936:11:33",
31841 "subdenomination": null,
31842 "typeDescriptions": {
31843 "typeIdentifier": "t_stringliteral_1962195d2075685a9783e4e1a25e4d1043a5973c9055a4eda7d4058c8c556d44",
31844 "typeString": "literal_string \"userQuery\""
31845 },
31846 "value": "userQuery"
31847 }
31848 ],
31849 "expression": {
31850 "argumentTypes": [
31851 {
31852 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
31853 "typeString": "literal_string \"queries\""
31854 },
31855 {
31856 "typeIdentifier": "t_uint256",
31857 "typeString": "uint256"
31858 },
31859 {
31860 "typeIdentifier": "t_stringliteral_1962195d2075685a9783e4e1a25e4d1043a5973c9055a4eda7d4058c8c556d44",
31861 "typeString": "literal_string \"userQuery\""
31862 }
31863 ],
31864 "expression": {
31865 "argumentTypes": null,
31866 "id": 9848,
31867 "name": "abi",
31868 "nodeType": "Identifier",
31869 "overloadedDeclarations": [],
31870 "referencedDeclaration": 12079,
31871 "src": "11904:3:33",
31872 "typeDescriptions": {
31873 "typeIdentifier": "t_magic_abi",
31874 "typeString": "abi"
31875 }
31876 },
31877 "id": 9849,
31878 "isConstant": false,
31879 "isLValue": false,
31880 "isPure": true,
31881 "lValueRequested": false,
31882 "memberName": "encodePacked",
31883 "nodeType": "MemberAccess",
31884 "referencedDeclaration": null,
31885 "src": "11904:16:33",
31886 "typeDescriptions": {
31887 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
31888 "typeString": "function () pure returns (bytes memory)"
31889 }
31890 },
31891 "id": 9853,
31892 "isConstant": false,
31893 "isLValue": false,
31894 "isPure": false,
31895 "kind": "functionCall",
31896 "lValueRequested": false,
31897 "names": [],
31898 "nodeType": "FunctionCall",
31899 "src": "11904:44:33",
31900 "typeDescriptions": {
31901 "typeIdentifier": "t_bytes_memory_ptr",
31902 "typeString": "bytes memory"
31903 }
31904 }
31905 ],
31906 "expression": {
31907 "argumentTypes": [
31908 {
31909 "typeIdentifier": "t_bytes_memory_ptr",
31910 "typeString": "bytes memory"
31911 }
31912 ],
31913 "id": 9847,
31914 "name": "keccak256",
31915 "nodeType": "Identifier",
31916 "overloadedDeclarations": [],
31917 "referencedDeclaration": 12086,
31918 "src": "11894:9:33",
31919 "typeDescriptions": {
31920 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
31921 "typeString": "function () pure returns (bytes32)"
31922 }
31923 },
31924 "id": 9854,
31925 "isConstant": false,
31926 "isLValue": false,
31927 "isPure": false,
31928 "kind": "functionCall",
31929 "lValueRequested": false,
31930 "names": [],
31931 "nodeType": "FunctionCall",
31932 "src": "11894:55:33",
31933 "typeDescriptions": {
31934 "typeIdentifier": "t_bytes32",
31935 "typeString": "bytes32"
31936 }
31937 },
31938 {
31939 "argumentTypes": null,
31940 "id": 9855,
31941 "name": "userQuery",
31942 "nodeType": "Identifier",
31943 "overloadedDeclarations": [],
31944 "referencedDeclaration": 9793,
31945 "src": "11951:9:33",
31946 "typeDescriptions": {
31947 "typeIdentifier": "t_string_memory_ptr",
31948 "typeString": "string memory"
31949 }
31950 }
31951 ],
31952 "expression": {
31953 "argumentTypes": [
31954 {
31955 "typeIdentifier": "t_bytes32",
31956 "typeString": "bytes32"
31957 },
31958 {
31959 "typeIdentifier": "t_string_memory_ptr",
31960 "typeString": "string memory"
31961 }
31962 ],
31963 "expression": {
31964 "argumentTypes": null,
31965 "id": 9844,
31966 "name": "db",
31967 "nodeType": "Identifier",
31968 "overloadedDeclarations": [],
31969 "referencedDeclaration": 8965,
31970 "src": "11881:2:33",
31971 "typeDescriptions": {
31972 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
31973 "typeString": "contract DatabaseInterface"
31974 }
31975 },
31976 "id": 9846,
31977 "isConstant": false,
31978 "isLValue": false,
31979 "isPure": false,
31980 "lValueRequested": false,
31981 "memberName": "setString",
31982 "nodeType": "MemberAccess",
31983 "referencedDeclaration": 8680,
31984 "src": "11881:12:33",
31985 "typeDescriptions": {
31986 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$__$",
31987 "typeString": "function (bytes32,string memory) external"
31988 }
31989 },
31990 "id": 9856,
31991 "isConstant": false,
31992 "isLValue": false,
31993 "isPure": false,
31994 "kind": "functionCall",
31995 "lValueRequested": false,
31996 "names": [],
31997 "nodeType": "FunctionCall",
31998 "src": "11881:80:33",
31999 "typeDescriptions": {
32000 "typeIdentifier": "t_tuple$__$",
32001 "typeString": "tuple()"
32002 }
32003 },
32004 "id": 9857,
32005 "nodeType": "ExpressionStatement",
32006 "src": "11881:80:33"
32007 },
32008 {
32009 "expression": {
32010 "argumentTypes": null,
32011 "arguments": [
32012 {
32013 "argumentTypes": null,
32014 "arguments": [
32015 {
32016 "argumentTypes": null,
32017 "arguments": [
32018 {
32019 "argumentTypes": null,
32020 "hexValue": "71756572696573",
32021 "id": 9864,
32022 "isConstant": false,
32023 "isLValue": false,
32024 "isPure": true,
32025 "kind": "string",
32026 "lValueRequested": false,
32027 "nodeType": "Literal",
32028 "src": "12011:9:33",
32029 "subdenomination": null,
32030 "typeDescriptions": {
32031 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
32032 "typeString": "literal_string \"queries\""
32033 },
32034 "value": "queries"
32035 },
32036 {
32037 "argumentTypes": null,
32038 "id": 9865,
32039 "name": "id",
32040 "nodeType": "Identifier",
32041 "overloadedDeclarations": [],
32042 "referencedDeclaration": 9785,
32043 "src": "12022:2:33",
32044 "typeDescriptions": {
32045 "typeIdentifier": "t_uint256",
32046 "typeString": "uint256"
32047 }
32048 },
32049 {
32050 "argumentTypes": null,
32051 "hexValue": "737461747573",
32052 "id": 9866,
32053 "isConstant": false,
32054 "isLValue": false,
32055 "isPure": true,
32056 "kind": "string",
32057 "lValueRequested": false,
32058 "nodeType": "Literal",
32059 "src": "12026:8:33",
32060 "subdenomination": null,
32061 "typeDescriptions": {
32062 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
32063 "typeString": "literal_string \"status\""
32064 },
32065 "value": "status"
32066 }
32067 ],
32068 "expression": {
32069 "argumentTypes": [
32070 {
32071 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
32072 "typeString": "literal_string \"queries\""
32073 },
32074 {
32075 "typeIdentifier": "t_uint256",
32076 "typeString": "uint256"
32077 },
32078 {
32079 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
32080 "typeString": "literal_string \"status\""
32081 }
32082 ],
32083 "expression": {
32084 "argumentTypes": null,
32085 "id": 9862,
32086 "name": "abi",
32087 "nodeType": "Identifier",
32088 "overloadedDeclarations": [],
32089 "referencedDeclaration": 12079,
32090 "src": "11994:3:33",
32091 "typeDescriptions": {
32092 "typeIdentifier": "t_magic_abi",
32093 "typeString": "abi"
32094 }
32095 },
32096 "id": 9863,
32097 "isConstant": false,
32098 "isLValue": false,
32099 "isPure": true,
32100 "lValueRequested": false,
32101 "memberName": "encodePacked",
32102 "nodeType": "MemberAccess",
32103 "referencedDeclaration": null,
32104 "src": "11994:16:33",
32105 "typeDescriptions": {
32106 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
32107 "typeString": "function () pure returns (bytes memory)"
32108 }
32109 },
32110 "id": 9867,
32111 "isConstant": false,
32112 "isLValue": false,
32113 "isPure": false,
32114 "kind": "functionCall",
32115 "lValueRequested": false,
32116 "names": [],
32117 "nodeType": "FunctionCall",
32118 "src": "11994:41:33",
32119 "typeDescriptions": {
32120 "typeIdentifier": "t_bytes_memory_ptr",
32121 "typeString": "bytes memory"
32122 }
32123 }
32124 ],
32125 "expression": {
32126 "argumentTypes": [
32127 {
32128 "typeIdentifier": "t_bytes_memory_ptr",
32129 "typeString": "bytes memory"
32130 }
32131 ],
32132 "id": 9861,
32133 "name": "keccak256",
32134 "nodeType": "Identifier",
32135 "overloadedDeclarations": [],
32136 "referencedDeclaration": 12086,
32137 "src": "11984:9:33",
32138 "typeDescriptions": {
32139 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
32140 "typeString": "function () pure returns (bytes32)"
32141 }
32142 },
32143 "id": 9868,
32144 "isConstant": false,
32145 "isLValue": false,
32146 "isPure": false,
32147 "kind": "functionCall",
32148 "lValueRequested": false,
32149 "names": [],
32150 "nodeType": "FunctionCall",
32151 "src": "11984:52:33",
32152 "typeDescriptions": {
32153 "typeIdentifier": "t_bytes32",
32154 "typeString": "bytes32"
32155 }
32156 },
32157 {
32158 "argumentTypes": null,
32159 "arguments": [
32160 {
32161 "argumentTypes": null,
32162 "expression": {
32163 "argumentTypes": null,
32164 "id": 9870,
32165 "name": "Status",
32166 "nodeType": "Identifier",
32167 "overloadedDeclarations": [],
32168 "referencedDeclaration": 8844,
32169 "src": "12046:6:33",
32170 "typeDescriptions": {
32171 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
32172 "typeString": "type(enum Dispatch.Status)"
32173 }
32174 },
32175 "id": 9871,
32176 "isConstant": false,
32177 "isLValue": false,
32178 "isPure": true,
32179 "lValueRequested": false,
32180 "memberName": "Pending",
32181 "nodeType": "MemberAccess",
32182 "referencedDeclaration": null,
32183 "src": "12046:14:33",
32184 "typeDescriptions": {
32185 "typeIdentifier": "t_enum$_Status_$8844",
32186 "typeString": "enum Dispatch.Status"
32187 }
32188 }
32189 ],
32190 "expression": {
32191 "argumentTypes": [
32192 {
32193 "typeIdentifier": "t_enum$_Status_$8844",
32194 "typeString": "enum Dispatch.Status"
32195 }
32196 ],
32197 "id": 9869,
32198 "isConstant": false,
32199 "isLValue": false,
32200 "isPure": true,
32201 "lValueRequested": false,
32202 "nodeType": "ElementaryTypeNameExpression",
32203 "src": "12038:7:33",
32204 "typeDescriptions": {
32205 "typeIdentifier": "t_type$_t_uint256_$",
32206 "typeString": "type(uint256)"
32207 },
32208 "typeName": "uint256"
32209 },
32210 "id": 9872,
32211 "isConstant": false,
32212 "isLValue": false,
32213 "isPure": true,
32214 "kind": "typeConversion",
32215 "lValueRequested": false,
32216 "names": [],
32217 "nodeType": "FunctionCall",
32218 "src": "12038:23:33",
32219 "typeDescriptions": {
32220 "typeIdentifier": "t_uint256",
32221 "typeString": "uint256"
32222 }
32223 }
32224 ],
32225 "expression": {
32226 "argumentTypes": [
32227 {
32228 "typeIdentifier": "t_bytes32",
32229 "typeString": "bytes32"
32230 },
32231 {
32232 "typeIdentifier": "t_uint256",
32233 "typeString": "uint256"
32234 }
32235 ],
32236 "expression": {
32237 "argumentTypes": null,
32238 "id": 9858,
32239 "name": "db",
32240 "nodeType": "Identifier",
32241 "overloadedDeclarations": [],
32242 "referencedDeclaration": 8965,
32243 "src": "11971:2:33",
32244 "typeDescriptions": {
32245 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
32246 "typeString": "contract DatabaseInterface"
32247 }
32248 },
32249 "id": 9860,
32250 "isConstant": false,
32251 "isLValue": false,
32252 "isPure": false,
32253 "lValueRequested": false,
32254 "memberName": "setNumber",
32255 "nodeType": "MemberAccess",
32256 "referencedDeclaration": 8652,
32257 "src": "11971:12:33",
32258 "typeDescriptions": {
32259 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
32260 "typeString": "function (bytes32,uint256) external"
32261 }
32262 },
32263 "id": 9873,
32264 "isConstant": false,
32265 "isLValue": false,
32266 "isPure": false,
32267 "kind": "functionCall",
32268 "lValueRequested": false,
32269 "names": [],
32270 "nodeType": "FunctionCall",
32271 "src": "11971:91:33",
32272 "typeDescriptions": {
32273 "typeIdentifier": "t_tuple$__$",
32274 "typeString": "tuple()"
32275 }
32276 },
32277 "id": 9874,
32278 "nodeType": "ExpressionStatement",
32279 "src": "11971:91:33"
32280 },
32281 {
32282 "expression": {
32283 "argumentTypes": null,
32284 "arguments": [
32285 {
32286 "argumentTypes": null,
32287 "arguments": [
32288 {
32289 "argumentTypes": null,
32290 "arguments": [
32291 {
32292 "argumentTypes": null,
32293 "hexValue": "71756572696573",
32294 "id": 9881,
32295 "isConstant": false,
32296 "isLValue": false,
32297 "isPure": true,
32298 "kind": "string",
32299 "lValueRequested": false,
32300 "nodeType": "Literal",
32301 "src": "12112:9:33",
32302 "subdenomination": null,
32303 "typeDescriptions": {
32304 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
32305 "typeString": "literal_string \"queries\""
32306 },
32307 "value": "queries"
32308 },
32309 {
32310 "argumentTypes": null,
32311 "id": 9882,
32312 "name": "id",
32313 "nodeType": "Identifier",
32314 "overloadedDeclarations": [],
32315 "referencedDeclaration": 9785,
32316 "src": "12123:2:33",
32317 "typeDescriptions": {
32318 "typeIdentifier": "t_uint256",
32319 "typeString": "uint256"
32320 }
32321 },
32322 {
32323 "argumentTypes": null,
32324 "hexValue": "6f6e636861696e53756273637269626572",
32325 "id": 9883,
32326 "isConstant": false,
32327 "isLValue": false,
32328 "isPure": true,
32329 "kind": "string",
32330 "lValueRequested": false,
32331 "nodeType": "Literal",
32332 "src": "12127:19:33",
32333 "subdenomination": null,
32334 "typeDescriptions": {
32335 "typeIdentifier": "t_stringliteral_c6cb379c1498efe618921a2eacc96479dd0b113f170f6ad3a66a3b6e0d1c5efd",
32336 "typeString": "literal_string \"onchainSubscriber\""
32337 },
32338 "value": "onchainSubscriber"
32339 }
32340 ],
32341 "expression": {
32342 "argumentTypes": [
32343 {
32344 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
32345 "typeString": "literal_string \"queries\""
32346 },
32347 {
32348 "typeIdentifier": "t_uint256",
32349 "typeString": "uint256"
32350 },
32351 {
32352 "typeIdentifier": "t_stringliteral_c6cb379c1498efe618921a2eacc96479dd0b113f170f6ad3a66a3b6e0d1c5efd",
32353 "typeString": "literal_string \"onchainSubscriber\""
32354 }
32355 ],
32356 "expression": {
32357 "argumentTypes": null,
32358 "id": 9879,
32359 "name": "abi",
32360 "nodeType": "Identifier",
32361 "overloadedDeclarations": [],
32362 "referencedDeclaration": 12079,
32363 "src": "12095:3:33",
32364 "typeDescriptions": {
32365 "typeIdentifier": "t_magic_abi",
32366 "typeString": "abi"
32367 }
32368 },
32369 "id": 9880,
32370 "isConstant": false,
32371 "isLValue": false,
32372 "isPure": true,
32373 "lValueRequested": false,
32374 "memberName": "encodePacked",
32375 "nodeType": "MemberAccess",
32376 "referencedDeclaration": null,
32377 "src": "12095:16:33",
32378 "typeDescriptions": {
32379 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
32380 "typeString": "function () pure returns (bytes memory)"
32381 }
32382 },
32383 "id": 9884,
32384 "isConstant": false,
32385 "isLValue": false,
32386 "isPure": false,
32387 "kind": "functionCall",
32388 "lValueRequested": false,
32389 "names": [],
32390 "nodeType": "FunctionCall",
32391 "src": "12095:52:33",
32392 "typeDescriptions": {
32393 "typeIdentifier": "t_bytes_memory_ptr",
32394 "typeString": "bytes memory"
32395 }
32396 }
32397 ],
32398 "expression": {
32399 "argumentTypes": [
32400 {
32401 "typeIdentifier": "t_bytes_memory_ptr",
32402 "typeString": "bytes memory"
32403 }
32404 ],
32405 "id": 9878,
32406 "name": "keccak256",
32407 "nodeType": "Identifier",
32408 "overloadedDeclarations": [],
32409 "referencedDeclaration": 12086,
32410 "src": "12085:9:33",
32411 "typeDescriptions": {
32412 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
32413 "typeString": "function () pure returns (bytes32)"
32414 }
32415 },
32416 "id": 9885,
32417 "isConstant": false,
32418 "isLValue": false,
32419 "isPure": false,
32420 "kind": "functionCall",
32421 "lValueRequested": false,
32422 "names": [],
32423 "nodeType": "FunctionCall",
32424 "src": "12085:63:33",
32425 "typeDescriptions": {
32426 "typeIdentifier": "t_bytes32",
32427 "typeString": "bytes32"
32428 }
32429 },
32430 {
32431 "argumentTypes": null,
32432 "condition": {
32433 "argumentTypes": null,
32434 "id": 9886,
32435 "name": "onchainSubscriber",
32436 "nodeType": "Identifier",
32437 "overloadedDeclarations": [],
32438 "referencedDeclaration": 9795,
32439 "src": "12150:17:33",
32440 "typeDescriptions": {
32441 "typeIdentifier": "t_bool",
32442 "typeString": "bool"
32443 }
32444 },
32445 "falseExpression": {
32446 "argumentTypes": null,
32447 "hexValue": "30",
32448 "id": 9888,
32449 "isConstant": false,
32450 "isLValue": false,
32451 "isPure": true,
32452 "kind": "number",
32453 "lValueRequested": false,
32454 "nodeType": "Literal",
32455 "src": "12174:1:33",
32456 "subdenomination": null,
32457 "typeDescriptions": {
32458 "typeIdentifier": "t_rational_0_by_1",
32459 "typeString": "int_const 0"
32460 },
32461 "value": "0"
32462 },
32463 "id": 9889,
32464 "isConstant": false,
32465 "isLValue": false,
32466 "isPure": false,
32467 "lValueRequested": false,
32468 "nodeType": "Conditional",
32469 "src": "12150:25:33",
32470 "trueExpression": {
32471 "argumentTypes": null,
32472 "hexValue": "31",
32473 "id": 9887,
32474 "isConstant": false,
32475 "isLValue": false,
32476 "isPure": true,
32477 "kind": "number",
32478 "lValueRequested": false,
32479 "nodeType": "Literal",
32480 "src": "12170:1:33",
32481 "subdenomination": null,
32482 "typeDescriptions": {
32483 "typeIdentifier": "t_rational_1_by_1",
32484 "typeString": "int_const 1"
32485 },
32486 "value": "1"
32487 },
32488 "typeDescriptions": {
32489 "typeIdentifier": "t_uint8",
32490 "typeString": "uint8"
32491 }
32492 }
32493 ],
32494 "expression": {
32495 "argumentTypes": [
32496 {
32497 "typeIdentifier": "t_bytes32",
32498 "typeString": "bytes32"
32499 },
32500 {
32501 "typeIdentifier": "t_uint8",
32502 "typeString": "uint8"
32503 }
32504 ],
32505 "expression": {
32506 "argumentTypes": null,
32507 "id": 9875,
32508 "name": "db",
32509 "nodeType": "Identifier",
32510 "overloadedDeclarations": [],
32511 "referencedDeclaration": 8965,
32512 "src": "12072:2:33",
32513 "typeDescriptions": {
32514 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
32515 "typeString": "contract DatabaseInterface"
32516 }
32517 },
32518 "id": 9877,
32519 "isConstant": false,
32520 "isLValue": false,
32521 "isPure": false,
32522 "lValueRequested": false,
32523 "memberName": "setNumber",
32524 "nodeType": "MemberAccess",
32525 "referencedDeclaration": 8652,
32526 "src": "12072:12:33",
32527 "typeDescriptions": {
32528 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
32529 "typeString": "function (bytes32,uint256) external"
32530 }
32531 },
32532 "id": 9890,
32533 "isConstant": false,
32534 "isLValue": false,
32535 "isPure": false,
32536 "kind": "functionCall",
32537 "lValueRequested": false,
32538 "names": [],
32539 "nodeType": "FunctionCall",
32540 "src": "12072:104:33",
32541 "typeDescriptions": {
32542 "typeIdentifier": "t_tuple$__$",
32543 "typeString": "tuple()"
32544 }
32545 },
32546 "id": 9891,
32547 "nodeType": "ExpressionStatement",
32548 "src": "12072:104:33"
32549 }
32550 ]
32551 },
32552 "documentation": "** Set Methods ***",
32553 "id": 9893,
32554 "implemented": true,
32555 "isConstructor": false,
32556 "isDeclaredConst": false,
32557 "modifiers": [],
32558 "name": "createQuery",
32559 "nodeType": "FunctionDefinition",
32560 "parameters": {
32561 "id": 9796,
32562 "nodeType": "ParameterList",
32563 "parameters": [
32564 {
32565 "constant": false,
32566 "id": 9785,
32567 "name": "id",
32568 "nodeType": "VariableDeclaration",
32569 "scope": 9893,
32570 "src": "11409:10:33",
32571 "stateVariable": false,
32572 "storageLocation": "default",
32573 "typeDescriptions": {
32574 "typeIdentifier": "t_uint256",
32575 "typeString": "uint256"
32576 },
32577 "typeName": {
32578 "id": 9784,
32579 "name": "uint256",
32580 "nodeType": "ElementaryTypeName",
32581 "src": "11409:7:33",
32582 "typeDescriptions": {
32583 "typeIdentifier": "t_uint256",
32584 "typeString": "uint256"
32585 }
32586 },
32587 "value": null,
32588 "visibility": "internal"
32589 },
32590 {
32591 "constant": false,
32592 "id": 9787,
32593 "name": "provider",
32594 "nodeType": "VariableDeclaration",
32595 "scope": 9893,
32596 "src": "11429:16:33",
32597 "stateVariable": false,
32598 "storageLocation": "default",
32599 "typeDescriptions": {
32600 "typeIdentifier": "t_address",
32601 "typeString": "address"
32602 },
32603 "typeName": {
32604 "id": 9786,
32605 "name": "address",
32606 "nodeType": "ElementaryTypeName",
32607 "src": "11429:7:33",
32608 "typeDescriptions": {
32609 "typeIdentifier": "t_address",
32610 "typeString": "address"
32611 }
32612 },
32613 "value": null,
32614 "visibility": "internal"
32615 },
32616 {
32617 "constant": false,
32618 "id": 9789,
32619 "name": "subscriber",
32620 "nodeType": "VariableDeclaration",
32621 "scope": 9893,
32622 "src": "11455:18:33",
32623 "stateVariable": false,
32624 "storageLocation": "default",
32625 "typeDescriptions": {
32626 "typeIdentifier": "t_address",
32627 "typeString": "address"
32628 },
32629 "typeName": {
32630 "id": 9788,
32631 "name": "address",
32632 "nodeType": "ElementaryTypeName",
32633 "src": "11455:7:33",
32634 "typeDescriptions": {
32635 "typeIdentifier": "t_address",
32636 "typeString": "address"
32637 }
32638 },
32639 "value": null,
32640 "visibility": "internal"
32641 },
32642 {
32643 "constant": false,
32644 "id": 9791,
32645 "name": "endpoint",
32646 "nodeType": "VariableDeclaration",
32647 "scope": 9893,
32648 "src": "11483:16:33",
32649 "stateVariable": false,
32650 "storageLocation": "default",
32651 "typeDescriptions": {
32652 "typeIdentifier": "t_bytes32",
32653 "typeString": "bytes32"
32654 },
32655 "typeName": {
32656 "id": 9790,
32657 "name": "bytes32",
32658 "nodeType": "ElementaryTypeName",
32659 "src": "11483:7:33",
32660 "typeDescriptions": {
32661 "typeIdentifier": "t_bytes32",
32662 "typeString": "bytes32"
32663 }
32664 },
32665 "value": null,
32666 "visibility": "internal"
32667 },
32668 {
32669 "constant": false,
32670 "id": 9793,
32671 "name": "userQuery",
32672 "nodeType": "VariableDeclaration",
32673 "scope": 9893,
32674 "src": "11509:16:33",
32675 "stateVariable": false,
32676 "storageLocation": "default",
32677 "typeDescriptions": {
32678 "typeIdentifier": "t_string_memory_ptr",
32679 "typeString": "string"
32680 },
32681 "typeName": {
32682 "id": 9792,
32683 "name": "string",
32684 "nodeType": "ElementaryTypeName",
32685 "src": "11509:6:33",
32686 "typeDescriptions": {
32687 "typeIdentifier": "t_string_storage_ptr",
32688 "typeString": "string"
32689 }
32690 },
32691 "value": null,
32692 "visibility": "internal"
32693 },
32694 {
32695 "constant": false,
32696 "id": 9795,
32697 "name": "onchainSubscriber",
32698 "nodeType": "VariableDeclaration",
32699 "scope": 9893,
32700 "src": "11535:22:33",
32701 "stateVariable": false,
32702 "storageLocation": "default",
32703 "typeDescriptions": {
32704 "typeIdentifier": "t_bool",
32705 "typeString": "bool"
32706 },
32707 "typeName": {
32708 "id": 9794,
32709 "name": "bool",
32710 "nodeType": "ElementaryTypeName",
32711 "src": "11535:4:33",
32712 "typeDescriptions": {
32713 "typeIdentifier": "t_bool",
32714 "typeString": "bool"
32715 }
32716 },
32717 "value": null,
32718 "visibility": "internal"
32719 }
32720 ],
32721 "src": "11399:164:33"
32722 },
32723 "payable": false,
32724 "returnParameters": {
32725 "id": 9797,
32726 "nodeType": "ParameterList",
32727 "parameters": [],
32728 "src": "11584:0:33"
32729 },
32730 "scope": 10008,
32731 "src": "11379:804:33",
32732 "stateMutability": "nonpayable",
32733 "superFunction": null,
32734 "visibility": "private"
32735 },
32736 {
32737 "body": {
32738 "id": 9915,
32739 "nodeType": "Block",
32740 "src": "12231:110:33",
32741 "statements": [
32742 {
32743 "expression": {
32744 "argumentTypes": null,
32745 "arguments": [
32746 {
32747 "argumentTypes": null,
32748 "arguments": [
32749 {
32750 "argumentTypes": null,
32751 "arguments": [
32752 {
32753 "argumentTypes": null,
32754 "hexValue": "71756572696573",
32755 "id": 9904,
32756 "isConstant": false,
32757 "isLValue": false,
32758 "isPure": true,
32759 "kind": "string",
32760 "lValueRequested": false,
32761 "nodeType": "Literal",
32762 "src": "12281:9:33",
32763 "subdenomination": null,
32764 "typeDescriptions": {
32765 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
32766 "typeString": "literal_string \"queries\""
32767 },
32768 "value": "queries"
32769 },
32770 {
32771 "argumentTypes": null,
32772 "id": 9905,
32773 "name": "id",
32774 "nodeType": "Identifier",
32775 "overloadedDeclarations": [],
32776 "referencedDeclaration": 9895,
32777 "src": "12292:2:33",
32778 "typeDescriptions": {
32779 "typeIdentifier": "t_uint256",
32780 "typeString": "uint256"
32781 }
32782 },
32783 {
32784 "argumentTypes": null,
32785 "hexValue": "737461747573",
32786 "id": 9906,
32787 "isConstant": false,
32788 "isLValue": false,
32789 "isPure": true,
32790 "kind": "string",
32791 "lValueRequested": false,
32792 "nodeType": "Literal",
32793 "src": "12296:8:33",
32794 "subdenomination": null,
32795 "typeDescriptions": {
32796 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
32797 "typeString": "literal_string \"status\""
32798 },
32799 "value": "status"
32800 }
32801 ],
32802 "expression": {
32803 "argumentTypes": [
32804 {
32805 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
32806 "typeString": "literal_string \"queries\""
32807 },
32808 {
32809 "typeIdentifier": "t_uint256",
32810 "typeString": "uint256"
32811 },
32812 {
32813 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
32814 "typeString": "literal_string \"status\""
32815 }
32816 ],
32817 "expression": {
32818 "argumentTypes": null,
32819 "id": 9902,
32820 "name": "abi",
32821 "nodeType": "Identifier",
32822 "overloadedDeclarations": [],
32823 "referencedDeclaration": 12079,
32824 "src": "12264:3:33",
32825 "typeDescriptions": {
32826 "typeIdentifier": "t_magic_abi",
32827 "typeString": "abi"
32828 }
32829 },
32830 "id": 9903,
32831 "isConstant": false,
32832 "isLValue": false,
32833 "isPure": true,
32834 "lValueRequested": false,
32835 "memberName": "encodePacked",
32836 "nodeType": "MemberAccess",
32837 "referencedDeclaration": null,
32838 "src": "12264:16:33",
32839 "typeDescriptions": {
32840 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
32841 "typeString": "function () pure returns (bytes memory)"
32842 }
32843 },
32844 "id": 9907,
32845 "isConstant": false,
32846 "isLValue": false,
32847 "isPure": false,
32848 "kind": "functionCall",
32849 "lValueRequested": false,
32850 "names": [],
32851 "nodeType": "FunctionCall",
32852 "src": "12264:41:33",
32853 "typeDescriptions": {
32854 "typeIdentifier": "t_bytes_memory_ptr",
32855 "typeString": "bytes memory"
32856 }
32857 }
32858 ],
32859 "expression": {
32860 "argumentTypes": [
32861 {
32862 "typeIdentifier": "t_bytes_memory_ptr",
32863 "typeString": "bytes memory"
32864 }
32865 ],
32866 "id": 9901,
32867 "name": "keccak256",
32868 "nodeType": "Identifier",
32869 "overloadedDeclarations": [],
32870 "referencedDeclaration": 12086,
32871 "src": "12254:9:33",
32872 "typeDescriptions": {
32873 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
32874 "typeString": "function () pure returns (bytes32)"
32875 }
32876 },
32877 "id": 9908,
32878 "isConstant": false,
32879 "isLValue": false,
32880 "isPure": false,
32881 "kind": "functionCall",
32882 "lValueRequested": false,
32883 "names": [],
32884 "nodeType": "FunctionCall",
32885 "src": "12254:52:33",
32886 "typeDescriptions": {
32887 "typeIdentifier": "t_bytes32",
32888 "typeString": "bytes32"
32889 }
32890 },
32891 {
32892 "argumentTypes": null,
32893 "arguments": [
32894 {
32895 "argumentTypes": null,
32896 "expression": {
32897 "argumentTypes": null,
32898 "id": 9910,
32899 "name": "Status",
32900 "nodeType": "Identifier",
32901 "overloadedDeclarations": [],
32902 "referencedDeclaration": 8844,
32903 "src": "12316:6:33",
32904 "typeDescriptions": {
32905 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
32906 "typeString": "type(enum Dispatch.Status)"
32907 }
32908 },
32909 "id": 9911,
32910 "isConstant": false,
32911 "isLValue": false,
32912 "isPure": true,
32913 "lValueRequested": false,
32914 "memberName": "Fulfilled",
32915 "nodeType": "MemberAccess",
32916 "referencedDeclaration": null,
32917 "src": "12316:16:33",
32918 "typeDescriptions": {
32919 "typeIdentifier": "t_enum$_Status_$8844",
32920 "typeString": "enum Dispatch.Status"
32921 }
32922 }
32923 ],
32924 "expression": {
32925 "argumentTypes": [
32926 {
32927 "typeIdentifier": "t_enum$_Status_$8844",
32928 "typeString": "enum Dispatch.Status"
32929 }
32930 ],
32931 "id": 9909,
32932 "isConstant": false,
32933 "isLValue": false,
32934 "isPure": true,
32935 "lValueRequested": false,
32936 "nodeType": "ElementaryTypeNameExpression",
32937 "src": "12308:7:33",
32938 "typeDescriptions": {
32939 "typeIdentifier": "t_type$_t_uint256_$",
32940 "typeString": "type(uint256)"
32941 },
32942 "typeName": "uint256"
32943 },
32944 "id": 9912,
32945 "isConstant": false,
32946 "isLValue": false,
32947 "isPure": true,
32948 "kind": "typeConversion",
32949 "lValueRequested": false,
32950 "names": [],
32951 "nodeType": "FunctionCall",
32952 "src": "12308:25:33",
32953 "typeDescriptions": {
32954 "typeIdentifier": "t_uint256",
32955 "typeString": "uint256"
32956 }
32957 }
32958 ],
32959 "expression": {
32960 "argumentTypes": [
32961 {
32962 "typeIdentifier": "t_bytes32",
32963 "typeString": "bytes32"
32964 },
32965 {
32966 "typeIdentifier": "t_uint256",
32967 "typeString": "uint256"
32968 }
32969 ],
32970 "expression": {
32971 "argumentTypes": null,
32972 "id": 9898,
32973 "name": "db",
32974 "nodeType": "Identifier",
32975 "overloadedDeclarations": [],
32976 "referencedDeclaration": 8965,
32977 "src": "12241:2:33",
32978 "typeDescriptions": {
32979 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
32980 "typeString": "contract DatabaseInterface"
32981 }
32982 },
32983 "id": 9900,
32984 "isConstant": false,
32985 "isLValue": false,
32986 "isPure": false,
32987 "lValueRequested": false,
32988 "memberName": "setNumber",
32989 "nodeType": "MemberAccess",
32990 "referencedDeclaration": 8652,
32991 "src": "12241:12:33",
32992 "typeDescriptions": {
32993 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
32994 "typeString": "function (bytes32,uint256) external"
32995 }
32996 },
32997 "id": 9913,
32998 "isConstant": false,
32999 "isLValue": false,
33000 "isPure": false,
33001 "kind": "functionCall",
33002 "lValueRequested": false,
33003 "names": [],
33004 "nodeType": "FunctionCall",
33005 "src": "12241:93:33",
33006 "typeDescriptions": {
33007 "typeIdentifier": "t_tuple$__$",
33008 "typeString": "tuple()"
33009 }
33010 },
33011 "id": 9914,
33012 "nodeType": "ExpressionStatement",
33013 "src": "12241:93:33"
33014 }
33015 ]
33016 },
33017 "documentation": null,
33018 "id": 9916,
33019 "implemented": true,
33020 "isConstructor": false,
33021 "isDeclaredConst": false,
33022 "modifiers": [],
33023 "name": "setFulfilled",
33024 "nodeType": "FunctionDefinition",
33025 "parameters": {
33026 "id": 9896,
33027 "nodeType": "ParameterList",
33028 "parameters": [
33029 {
33030 "constant": false,
33031 "id": 9895,
33032 "name": "id",
33033 "nodeType": "VariableDeclaration",
33034 "scope": 9916,
33035 "src": "12211:10:33",
33036 "stateVariable": false,
33037 "storageLocation": "default",
33038 "typeDescriptions": {
33039 "typeIdentifier": "t_uint256",
33040 "typeString": "uint256"
33041 },
33042 "typeName": {
33043 "id": 9894,
33044 "name": "uint256",
33045 "nodeType": "ElementaryTypeName",
33046 "src": "12211:7:33",
33047 "typeDescriptions": {
33048 "typeIdentifier": "t_uint256",
33049 "typeString": "uint256"
33050 }
33051 },
33052 "value": null,
33053 "visibility": "internal"
33054 }
33055 ],
33056 "src": "12210:12:33"
33057 },
33058 "payable": false,
33059 "returnParameters": {
33060 "id": 9897,
33061 "nodeType": "ParameterList",
33062 "parameters": [],
33063 "src": "12231:0:33"
33064 },
33065 "scope": 10008,
33066 "src": "12189:152:33",
33067 "stateMutability": "nonpayable",
33068 "superFunction": null,
33069 "visibility": "private"
33070 },
33071 {
33072 "body": {
33073 "id": 9990,
33074 "nodeType": "Block",
33075 "src": "12403:464:33",
33076 "statements": [
33077 {
33078 "condition": {
33079 "argumentTypes": null,
33080 "id": 9923,
33081 "name": "canceled",
33082 "nodeType": "Identifier",
33083 "overloadedDeclarations": [],
33084 "referencedDeclaration": 9920,
33085 "src": "12417:8:33",
33086 "typeDescriptions": {
33087 "typeIdentifier": "t_bool",
33088 "typeString": "bool"
33089 }
33090 },
33091 "falseBody": {
33092 "id": 9988,
33093 "nodeType": "Block",
33094 "src": "12657:204:33",
33095 "statements": [
33096 {
33097 "expression": {
33098 "argumentTypes": null,
33099 "arguments": [
33100 {
33101 "argumentTypes": null,
33102 "arguments": [
33103 {
33104 "argumentTypes": null,
33105 "arguments": [
33106 {
33107 "argumentTypes": null,
33108 "hexValue": "71756572696573",
33109 "id": 9963,
33110 "isConstant": false,
33111 "isLValue": false,
33112 "isPure": true,
33113 "kind": "string",
33114 "lValueRequested": false,
33115 "nodeType": "Literal",
33116 "src": "12711:9:33",
33117 "subdenomination": null,
33118 "typeDescriptions": {
33119 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
33120 "typeString": "literal_string \"queries\""
33121 },
33122 "value": "queries"
33123 },
33124 {
33125 "argumentTypes": null,
33126 "id": 9964,
33127 "name": "id",
33128 "nodeType": "Identifier",
33129 "overloadedDeclarations": [],
33130 "referencedDeclaration": 9918,
33131 "src": "12722:2:33",
33132 "typeDescriptions": {
33133 "typeIdentifier": "t_uint256",
33134 "typeString": "uint256"
33135 }
33136 },
33137 {
33138 "argumentTypes": null,
33139 "hexValue": "63616e63656c426c6f636b",
33140 "id": 9965,
33141 "isConstant": false,
33142 "isLValue": false,
33143 "isPure": true,
33144 "kind": "string",
33145 "lValueRequested": false,
33146 "nodeType": "Literal",
33147 "src": "12726:13:33",
33148 "subdenomination": null,
33149 "typeDescriptions": {
33150 "typeIdentifier": "t_stringliteral_3e1f940b5edd3ce62b6c4237d655e274002d311fa3e3bed3262fcc6975c4a972",
33151 "typeString": "literal_string \"cancelBlock\""
33152 },
33153 "value": "cancelBlock"
33154 }
33155 ],
33156 "expression": {
33157 "argumentTypes": [
33158 {
33159 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
33160 "typeString": "literal_string \"queries\""
33161 },
33162 {
33163 "typeIdentifier": "t_uint256",
33164 "typeString": "uint256"
33165 },
33166 {
33167 "typeIdentifier": "t_stringliteral_3e1f940b5edd3ce62b6c4237d655e274002d311fa3e3bed3262fcc6975c4a972",
33168 "typeString": "literal_string \"cancelBlock\""
33169 }
33170 ],
33171 "expression": {
33172 "argumentTypes": null,
33173 "id": 9961,
33174 "name": "abi",
33175 "nodeType": "Identifier",
33176 "overloadedDeclarations": [],
33177 "referencedDeclaration": 12079,
33178 "src": "12694:3:33",
33179 "typeDescriptions": {
33180 "typeIdentifier": "t_magic_abi",
33181 "typeString": "abi"
33182 }
33183 },
33184 "id": 9962,
33185 "isConstant": false,
33186 "isLValue": false,
33187 "isPure": true,
33188 "lValueRequested": false,
33189 "memberName": "encodePacked",
33190 "nodeType": "MemberAccess",
33191 "referencedDeclaration": null,
33192 "src": "12694:16:33",
33193 "typeDescriptions": {
33194 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
33195 "typeString": "function () pure returns (bytes memory)"
33196 }
33197 },
33198 "id": 9966,
33199 "isConstant": false,
33200 "isLValue": false,
33201 "isPure": false,
33202 "kind": "functionCall",
33203 "lValueRequested": false,
33204 "names": [],
33205 "nodeType": "FunctionCall",
33206 "src": "12694:46:33",
33207 "typeDescriptions": {
33208 "typeIdentifier": "t_bytes_memory_ptr",
33209 "typeString": "bytes memory"
33210 }
33211 }
33212 ],
33213 "expression": {
33214 "argumentTypes": [
33215 {
33216 "typeIdentifier": "t_bytes_memory_ptr",
33217 "typeString": "bytes memory"
33218 }
33219 ],
33220 "id": 9960,
33221 "name": "keccak256",
33222 "nodeType": "Identifier",
33223 "overloadedDeclarations": [],
33224 "referencedDeclaration": 12086,
33225 "src": "12684:9:33",
33226 "typeDescriptions": {
33227 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
33228 "typeString": "function () pure returns (bytes32)"
33229 }
33230 },
33231 "id": 9967,
33232 "isConstant": false,
33233 "isLValue": false,
33234 "isPure": false,
33235 "kind": "functionCall",
33236 "lValueRequested": false,
33237 "names": [],
33238 "nodeType": "FunctionCall",
33239 "src": "12684:57:33",
33240 "typeDescriptions": {
33241 "typeIdentifier": "t_bytes32",
33242 "typeString": "bytes32"
33243 }
33244 },
33245 {
33246 "argumentTypes": null,
33247 "hexValue": "30",
33248 "id": 9968,
33249 "isConstant": false,
33250 "isLValue": false,
33251 "isPure": true,
33252 "kind": "number",
33253 "lValueRequested": false,
33254 "nodeType": "Literal",
33255 "src": "12743:1:33",
33256 "subdenomination": null,
33257 "typeDescriptions": {
33258 "typeIdentifier": "t_rational_0_by_1",
33259 "typeString": "int_const 0"
33260 },
33261 "value": "0"
33262 }
33263 ],
33264 "expression": {
33265 "argumentTypes": [
33266 {
33267 "typeIdentifier": "t_bytes32",
33268 "typeString": "bytes32"
33269 },
33270 {
33271 "typeIdentifier": "t_rational_0_by_1",
33272 "typeString": "int_const 0"
33273 }
33274 ],
33275 "expression": {
33276 "argumentTypes": null,
33277 "id": 9957,
33278 "name": "db",
33279 "nodeType": "Identifier",
33280 "overloadedDeclarations": [],
33281 "referencedDeclaration": 8965,
33282 "src": "12671:2:33",
33283 "typeDescriptions": {
33284 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
33285 "typeString": "contract DatabaseInterface"
33286 }
33287 },
33288 "id": 9959,
33289 "isConstant": false,
33290 "isLValue": false,
33291 "isPure": false,
33292 "lValueRequested": false,
33293 "memberName": "setNumber",
33294 "nodeType": "MemberAccess",
33295 "referencedDeclaration": 8652,
33296 "src": "12671:12:33",
33297 "typeDescriptions": {
33298 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
33299 "typeString": "function (bytes32,uint256) external"
33300 }
33301 },
33302 "id": 9969,
33303 "isConstant": false,
33304 "isLValue": false,
33305 "isPure": false,
33306 "kind": "functionCall",
33307 "lValueRequested": false,
33308 "names": [],
33309 "nodeType": "FunctionCall",
33310 "src": "12671:74:33",
33311 "typeDescriptions": {
33312 "typeIdentifier": "t_tuple$__$",
33313 "typeString": "tuple()"
33314 }
33315 },
33316 "id": 9970,
33317 "nodeType": "ExpressionStatement",
33318 "src": "12671:74:33"
33319 },
33320 {
33321 "expression": {
33322 "argumentTypes": null,
33323 "arguments": [
33324 {
33325 "argumentTypes": null,
33326 "arguments": [
33327 {
33328 "argumentTypes": null,
33329 "arguments": [
33330 {
33331 "argumentTypes": null,
33332 "hexValue": "71756572696573",
33333 "id": 9977,
33334 "isConstant": false,
33335 "isLValue": false,
33336 "isPure": true,
33337 "kind": "string",
33338 "lValueRequested": false,
33339 "nodeType": "Literal",
33340 "src": "12799:9:33",
33341 "subdenomination": null,
33342 "typeDescriptions": {
33343 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
33344 "typeString": "literal_string \"queries\""
33345 },
33346 "value": "queries"
33347 },
33348 {
33349 "argumentTypes": null,
33350 "id": 9978,
33351 "name": "id",
33352 "nodeType": "Identifier",
33353 "overloadedDeclarations": [],
33354 "referencedDeclaration": 9918,
33355 "src": "12810:2:33",
33356 "typeDescriptions": {
33357 "typeIdentifier": "t_uint256",
33358 "typeString": "uint256"
33359 }
33360 },
33361 {
33362 "argumentTypes": null,
33363 "hexValue": "737461747573",
33364 "id": 9979,
33365 "isConstant": false,
33366 "isLValue": false,
33367 "isPure": true,
33368 "kind": "string",
33369 "lValueRequested": false,
33370 "nodeType": "Literal",
33371 "src": "12814:8:33",
33372 "subdenomination": null,
33373 "typeDescriptions": {
33374 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
33375 "typeString": "literal_string \"status\""
33376 },
33377 "value": "status"
33378 }
33379 ],
33380 "expression": {
33381 "argumentTypes": [
33382 {
33383 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
33384 "typeString": "literal_string \"queries\""
33385 },
33386 {
33387 "typeIdentifier": "t_uint256",
33388 "typeString": "uint256"
33389 },
33390 {
33391 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
33392 "typeString": "literal_string \"status\""
33393 }
33394 ],
33395 "expression": {
33396 "argumentTypes": null,
33397 "id": 9975,
33398 "name": "abi",
33399 "nodeType": "Identifier",
33400 "overloadedDeclarations": [],
33401 "referencedDeclaration": 12079,
33402 "src": "12782:3:33",
33403 "typeDescriptions": {
33404 "typeIdentifier": "t_magic_abi",
33405 "typeString": "abi"
33406 }
33407 },
33408 "id": 9976,
33409 "isConstant": false,
33410 "isLValue": false,
33411 "isPure": true,
33412 "lValueRequested": false,
33413 "memberName": "encodePacked",
33414 "nodeType": "MemberAccess",
33415 "referencedDeclaration": null,
33416 "src": "12782:16:33",
33417 "typeDescriptions": {
33418 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
33419 "typeString": "function () pure returns (bytes memory)"
33420 }
33421 },
33422 "id": 9980,
33423 "isConstant": false,
33424 "isLValue": false,
33425 "isPure": false,
33426 "kind": "functionCall",
33427 "lValueRequested": false,
33428 "names": [],
33429 "nodeType": "FunctionCall",
33430 "src": "12782:41:33",
33431 "typeDescriptions": {
33432 "typeIdentifier": "t_bytes_memory_ptr",
33433 "typeString": "bytes memory"
33434 }
33435 }
33436 ],
33437 "expression": {
33438 "argumentTypes": [
33439 {
33440 "typeIdentifier": "t_bytes_memory_ptr",
33441 "typeString": "bytes memory"
33442 }
33443 ],
33444 "id": 9974,
33445 "name": "keccak256",
33446 "nodeType": "Identifier",
33447 "overloadedDeclarations": [],
33448 "referencedDeclaration": 12086,
33449 "src": "12772:9:33",
33450 "typeDescriptions": {
33451 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
33452 "typeString": "function () pure returns (bytes32)"
33453 }
33454 },
33455 "id": 9981,
33456 "isConstant": false,
33457 "isLValue": false,
33458 "isPure": false,
33459 "kind": "functionCall",
33460 "lValueRequested": false,
33461 "names": [],
33462 "nodeType": "FunctionCall",
33463 "src": "12772:52:33",
33464 "typeDescriptions": {
33465 "typeIdentifier": "t_bytes32",
33466 "typeString": "bytes32"
33467 }
33468 },
33469 {
33470 "argumentTypes": null,
33471 "arguments": [
33472 {
33473 "argumentTypes": null,
33474 "expression": {
33475 "argumentTypes": null,
33476 "id": 9983,
33477 "name": "Status",
33478 "nodeType": "Identifier",
33479 "overloadedDeclarations": [],
33480 "referencedDeclaration": 8844,
33481 "src": "12834:6:33",
33482 "typeDescriptions": {
33483 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
33484 "typeString": "type(enum Dispatch.Status)"
33485 }
33486 },
33487 "id": 9984,
33488 "isConstant": false,
33489 "isLValue": false,
33490 "isPure": true,
33491 "lValueRequested": false,
33492 "memberName": "Pending",
33493 "nodeType": "MemberAccess",
33494 "referencedDeclaration": null,
33495 "src": "12834:14:33",
33496 "typeDescriptions": {
33497 "typeIdentifier": "t_enum$_Status_$8844",
33498 "typeString": "enum Dispatch.Status"
33499 }
33500 }
33501 ],
33502 "expression": {
33503 "argumentTypes": [
33504 {
33505 "typeIdentifier": "t_enum$_Status_$8844",
33506 "typeString": "enum Dispatch.Status"
33507 }
33508 ],
33509 "id": 9982,
33510 "isConstant": false,
33511 "isLValue": false,
33512 "isPure": true,
33513 "lValueRequested": false,
33514 "nodeType": "ElementaryTypeNameExpression",
33515 "src": "12826:7:33",
33516 "typeDescriptions": {
33517 "typeIdentifier": "t_type$_t_uint256_$",
33518 "typeString": "type(uint256)"
33519 },
33520 "typeName": "uint256"
33521 },
33522 "id": 9985,
33523 "isConstant": false,
33524 "isLValue": false,
33525 "isPure": true,
33526 "kind": "typeConversion",
33527 "lValueRequested": false,
33528 "names": [],
33529 "nodeType": "FunctionCall",
33530 "src": "12826:23:33",
33531 "typeDescriptions": {
33532 "typeIdentifier": "t_uint256",
33533 "typeString": "uint256"
33534 }
33535 }
33536 ],
33537 "expression": {
33538 "argumentTypes": [
33539 {
33540 "typeIdentifier": "t_bytes32",
33541 "typeString": "bytes32"
33542 },
33543 {
33544 "typeIdentifier": "t_uint256",
33545 "typeString": "uint256"
33546 }
33547 ],
33548 "expression": {
33549 "argumentTypes": null,
33550 "id": 9971,
33551 "name": "db",
33552 "nodeType": "Identifier",
33553 "overloadedDeclarations": [],
33554 "referencedDeclaration": 8965,
33555 "src": "12759:2:33",
33556 "typeDescriptions": {
33557 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
33558 "typeString": "contract DatabaseInterface"
33559 }
33560 },
33561 "id": 9973,
33562 "isConstant": false,
33563 "isLValue": false,
33564 "isPure": false,
33565 "lValueRequested": false,
33566 "memberName": "setNumber",
33567 "nodeType": "MemberAccess",
33568 "referencedDeclaration": 8652,
33569 "src": "12759:12:33",
33570 "typeDescriptions": {
33571 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
33572 "typeString": "function (bytes32,uint256) external"
33573 }
33574 },
33575 "id": 9986,
33576 "isConstant": false,
33577 "isLValue": false,
33578 "isPure": false,
33579 "kind": "functionCall",
33580 "lValueRequested": false,
33581 "names": [],
33582 "nodeType": "FunctionCall",
33583 "src": "12759:91:33",
33584 "typeDescriptions": {
33585 "typeIdentifier": "t_tuple$__$",
33586 "typeString": "tuple()"
33587 }
33588 },
33589 "id": 9987,
33590 "nodeType": "ExpressionStatement",
33591 "src": "12759:91:33"
33592 }
33593 ]
33594 },
33595 "id": 9989,
33596 "nodeType": "IfStatement",
33597 "src": "12413:448:33",
33598 "trueBody": {
33599 "id": 9956,
33600 "nodeType": "Block",
33601 "src": "12427:216:33",
33602 "statements": [
33603 {
33604 "expression": {
33605 "argumentTypes": null,
33606 "arguments": [
33607 {
33608 "argumentTypes": null,
33609 "arguments": [
33610 {
33611 "argumentTypes": null,
33612 "arguments": [
33613 {
33614 "argumentTypes": null,
33615 "hexValue": "71756572696573",
33616 "id": 9930,
33617 "isConstant": false,
33618 "isLValue": false,
33619 "isPure": true,
33620 "kind": "string",
33621 "lValueRequested": false,
33622 "nodeType": "Literal",
33623 "src": "12481:9:33",
33624 "subdenomination": null,
33625 "typeDescriptions": {
33626 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
33627 "typeString": "literal_string \"queries\""
33628 },
33629 "value": "queries"
33630 },
33631 {
33632 "argumentTypes": null,
33633 "id": 9931,
33634 "name": "id",
33635 "nodeType": "Identifier",
33636 "overloadedDeclarations": [],
33637 "referencedDeclaration": 9918,
33638 "src": "12492:2:33",
33639 "typeDescriptions": {
33640 "typeIdentifier": "t_uint256",
33641 "typeString": "uint256"
33642 }
33643 },
33644 {
33645 "argumentTypes": null,
33646 "hexValue": "63616e63656c426c6f636b",
33647 "id": 9932,
33648 "isConstant": false,
33649 "isLValue": false,
33650 "isPure": true,
33651 "kind": "string",
33652 "lValueRequested": false,
33653 "nodeType": "Literal",
33654 "src": "12496:13:33",
33655 "subdenomination": null,
33656 "typeDescriptions": {
33657 "typeIdentifier": "t_stringliteral_3e1f940b5edd3ce62b6c4237d655e274002d311fa3e3bed3262fcc6975c4a972",
33658 "typeString": "literal_string \"cancelBlock\""
33659 },
33660 "value": "cancelBlock"
33661 }
33662 ],
33663 "expression": {
33664 "argumentTypes": [
33665 {
33666 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
33667 "typeString": "literal_string \"queries\""
33668 },
33669 {
33670 "typeIdentifier": "t_uint256",
33671 "typeString": "uint256"
33672 },
33673 {
33674 "typeIdentifier": "t_stringliteral_3e1f940b5edd3ce62b6c4237d655e274002d311fa3e3bed3262fcc6975c4a972",
33675 "typeString": "literal_string \"cancelBlock\""
33676 }
33677 ],
33678 "expression": {
33679 "argumentTypes": null,
33680 "id": 9928,
33681 "name": "abi",
33682 "nodeType": "Identifier",
33683 "overloadedDeclarations": [],
33684 "referencedDeclaration": 12079,
33685 "src": "12464:3:33",
33686 "typeDescriptions": {
33687 "typeIdentifier": "t_magic_abi",
33688 "typeString": "abi"
33689 }
33690 },
33691 "id": 9929,
33692 "isConstant": false,
33693 "isLValue": false,
33694 "isPure": true,
33695 "lValueRequested": false,
33696 "memberName": "encodePacked",
33697 "nodeType": "MemberAccess",
33698 "referencedDeclaration": null,
33699 "src": "12464:16:33",
33700 "typeDescriptions": {
33701 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
33702 "typeString": "function () pure returns (bytes memory)"
33703 }
33704 },
33705 "id": 9933,
33706 "isConstant": false,
33707 "isLValue": false,
33708 "isPure": false,
33709 "kind": "functionCall",
33710 "lValueRequested": false,
33711 "names": [],
33712 "nodeType": "FunctionCall",
33713 "src": "12464:46:33",
33714 "typeDescriptions": {
33715 "typeIdentifier": "t_bytes_memory_ptr",
33716 "typeString": "bytes memory"
33717 }
33718 }
33719 ],
33720 "expression": {
33721 "argumentTypes": [
33722 {
33723 "typeIdentifier": "t_bytes_memory_ptr",
33724 "typeString": "bytes memory"
33725 }
33726 ],
33727 "id": 9927,
33728 "name": "keccak256",
33729 "nodeType": "Identifier",
33730 "overloadedDeclarations": [],
33731 "referencedDeclaration": 12086,
33732 "src": "12454:9:33",
33733 "typeDescriptions": {
33734 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
33735 "typeString": "function () pure returns (bytes32)"
33736 }
33737 },
33738 "id": 9934,
33739 "isConstant": false,
33740 "isLValue": false,
33741 "isPure": false,
33742 "kind": "functionCall",
33743 "lValueRequested": false,
33744 "names": [],
33745 "nodeType": "FunctionCall",
33746 "src": "12454:57:33",
33747 "typeDescriptions": {
33748 "typeIdentifier": "t_bytes32",
33749 "typeString": "bytes32"
33750 }
33751 },
33752 {
33753 "argumentTypes": null,
33754 "expression": {
33755 "argumentTypes": null,
33756 "id": 9935,
33757 "name": "block",
33758 "nodeType": "Identifier",
33759 "overloadedDeclarations": [],
33760 "referencedDeclaration": 12082,
33761 "src": "12513:5:33",
33762 "typeDescriptions": {
33763 "typeIdentifier": "t_magic_block",
33764 "typeString": "block"
33765 }
33766 },
33767 "id": 9936,
33768 "isConstant": false,
33769 "isLValue": false,
33770 "isPure": false,
33771 "lValueRequested": false,
33772 "memberName": "number",
33773 "nodeType": "MemberAccess",
33774 "referencedDeclaration": null,
33775 "src": "12513:12:33",
33776 "typeDescriptions": {
33777 "typeIdentifier": "t_uint256",
33778 "typeString": "uint256"
33779 }
33780 }
33781 ],
33782 "expression": {
33783 "argumentTypes": [
33784 {
33785 "typeIdentifier": "t_bytes32",
33786 "typeString": "bytes32"
33787 },
33788 {
33789 "typeIdentifier": "t_uint256",
33790 "typeString": "uint256"
33791 }
33792 ],
33793 "expression": {
33794 "argumentTypes": null,
33795 "id": 9924,
33796 "name": "db",
33797 "nodeType": "Identifier",
33798 "overloadedDeclarations": [],
33799 "referencedDeclaration": 8965,
33800 "src": "12441:2:33",
33801 "typeDescriptions": {
33802 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
33803 "typeString": "contract DatabaseInterface"
33804 }
33805 },
33806 "id": 9926,
33807 "isConstant": false,
33808 "isLValue": false,
33809 "isPure": false,
33810 "lValueRequested": false,
33811 "memberName": "setNumber",
33812 "nodeType": "MemberAccess",
33813 "referencedDeclaration": 8652,
33814 "src": "12441:12:33",
33815 "typeDescriptions": {
33816 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
33817 "typeString": "function (bytes32,uint256) external"
33818 }
33819 },
33820 "id": 9937,
33821 "isConstant": false,
33822 "isLValue": false,
33823 "isPure": false,
33824 "kind": "functionCall",
33825 "lValueRequested": false,
33826 "names": [],
33827 "nodeType": "FunctionCall",
33828 "src": "12441:85:33",
33829 "typeDescriptions": {
33830 "typeIdentifier": "t_tuple$__$",
33831 "typeString": "tuple()"
33832 }
33833 },
33834 "id": 9938,
33835 "nodeType": "ExpressionStatement",
33836 "src": "12441:85:33"
33837 },
33838 {
33839 "expression": {
33840 "argumentTypes": null,
33841 "arguments": [
33842 {
33843 "argumentTypes": null,
33844 "arguments": [
33845 {
33846 "argumentTypes": null,
33847 "arguments": [
33848 {
33849 "argumentTypes": null,
33850 "hexValue": "71756572696573",
33851 "id": 9945,
33852 "isConstant": false,
33853 "isLValue": false,
33854 "isPure": true,
33855 "kind": "string",
33856 "lValueRequested": false,
33857 "nodeType": "Literal",
33858 "src": "12580:9:33",
33859 "subdenomination": null,
33860 "typeDescriptions": {
33861 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
33862 "typeString": "literal_string \"queries\""
33863 },
33864 "value": "queries"
33865 },
33866 {
33867 "argumentTypes": null,
33868 "id": 9946,
33869 "name": "id",
33870 "nodeType": "Identifier",
33871 "overloadedDeclarations": [],
33872 "referencedDeclaration": 9918,
33873 "src": "12591:2:33",
33874 "typeDescriptions": {
33875 "typeIdentifier": "t_uint256",
33876 "typeString": "uint256"
33877 }
33878 },
33879 {
33880 "argumentTypes": null,
33881 "hexValue": "737461747573",
33882 "id": 9947,
33883 "isConstant": false,
33884 "isLValue": false,
33885 "isPure": true,
33886 "kind": "string",
33887 "lValueRequested": false,
33888 "nodeType": "Literal",
33889 "src": "12595:8:33",
33890 "subdenomination": null,
33891 "typeDescriptions": {
33892 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
33893 "typeString": "literal_string \"status\""
33894 },
33895 "value": "status"
33896 }
33897 ],
33898 "expression": {
33899 "argumentTypes": [
33900 {
33901 "typeIdentifier": "t_stringliteral_374cade70dfd0444865ec6b3ac73a8b01d22f83dd998dc7c5ec7bbed486f7c3e",
33902 "typeString": "literal_string \"queries\""
33903 },
33904 {
33905 "typeIdentifier": "t_uint256",
33906 "typeString": "uint256"
33907 },
33908 {
33909 "typeIdentifier": "t_stringliteral_cd423760c9650eb549b1615f6cf96d420e32aadcea2ff5fe11c26457244adcc1",
33910 "typeString": "literal_string \"status\""
33911 }
33912 ],
33913 "expression": {
33914 "argumentTypes": null,
33915 "id": 9943,
33916 "name": "abi",
33917 "nodeType": "Identifier",
33918 "overloadedDeclarations": [],
33919 "referencedDeclaration": 12079,
33920 "src": "12563:3:33",
33921 "typeDescriptions": {
33922 "typeIdentifier": "t_magic_abi",
33923 "typeString": "abi"
33924 }
33925 },
33926 "id": 9944,
33927 "isConstant": false,
33928 "isLValue": false,
33929 "isPure": true,
33930 "lValueRequested": false,
33931 "memberName": "encodePacked",
33932 "nodeType": "MemberAccess",
33933 "referencedDeclaration": null,
33934 "src": "12563:16:33",
33935 "typeDescriptions": {
33936 "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
33937 "typeString": "function () pure returns (bytes memory)"
33938 }
33939 },
33940 "id": 9948,
33941 "isConstant": false,
33942 "isLValue": false,
33943 "isPure": false,
33944 "kind": "functionCall",
33945 "lValueRequested": false,
33946 "names": [],
33947 "nodeType": "FunctionCall",
33948 "src": "12563:41:33",
33949 "typeDescriptions": {
33950 "typeIdentifier": "t_bytes_memory_ptr",
33951 "typeString": "bytes memory"
33952 }
33953 }
33954 ],
33955 "expression": {
33956 "argumentTypes": [
33957 {
33958 "typeIdentifier": "t_bytes_memory_ptr",
33959 "typeString": "bytes memory"
33960 }
33961 ],
33962 "id": 9942,
33963 "name": "keccak256",
33964 "nodeType": "Identifier",
33965 "overloadedDeclarations": [],
33966 "referencedDeclaration": 12086,
33967 "src": "12553:9:33",
33968 "typeDescriptions": {
33969 "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
33970 "typeString": "function () pure returns (bytes32)"
33971 }
33972 },
33973 "id": 9949,
33974 "isConstant": false,
33975 "isLValue": false,
33976 "isPure": false,
33977 "kind": "functionCall",
33978 "lValueRequested": false,
33979 "names": [],
33980 "nodeType": "FunctionCall",
33981 "src": "12553:52:33",
33982 "typeDescriptions": {
33983 "typeIdentifier": "t_bytes32",
33984 "typeString": "bytes32"
33985 }
33986 },
33987 {
33988 "argumentTypes": null,
33989 "arguments": [
33990 {
33991 "argumentTypes": null,
33992 "expression": {
33993 "argumentTypes": null,
33994 "id": 9951,
33995 "name": "Status",
33996 "nodeType": "Identifier",
33997 "overloadedDeclarations": [],
33998 "referencedDeclaration": 8844,
33999 "src": "12615:6:33",
34000 "typeDescriptions": {
34001 "typeIdentifier": "t_type$_t_enum$_Status_$8844_$",
34002 "typeString": "type(enum Dispatch.Status)"
34003 }
34004 },
34005 "id": 9952,
34006 "isConstant": false,
34007 "isLValue": false,
34008 "isPure": true,
34009 "lValueRequested": false,
34010 "memberName": "Canceled",
34011 "nodeType": "MemberAccess",
34012 "referencedDeclaration": null,
34013 "src": "12615:15:33",
34014 "typeDescriptions": {
34015 "typeIdentifier": "t_enum$_Status_$8844",
34016 "typeString": "enum Dispatch.Status"
34017 }
34018 }
34019 ],
34020 "expression": {
34021 "argumentTypes": [
34022 {
34023 "typeIdentifier": "t_enum$_Status_$8844",
34024 "typeString": "enum Dispatch.Status"
34025 }
34026 ],
34027 "id": 9950,
34028 "isConstant": false,
34029 "isLValue": false,
34030 "isPure": true,
34031 "lValueRequested": false,
34032 "nodeType": "ElementaryTypeNameExpression",
34033 "src": "12607:7:33",
34034 "typeDescriptions": {
34035 "typeIdentifier": "t_type$_t_uint256_$",
34036 "typeString": "type(uint256)"
34037 },
34038 "typeName": "uint256"
34039 },
34040 "id": 9953,
34041 "isConstant": false,
34042 "isLValue": false,
34043 "isPure": true,
34044 "kind": "typeConversion",
34045 "lValueRequested": false,
34046 "names": [],
34047 "nodeType": "FunctionCall",
34048 "src": "12607:24:33",
34049 "typeDescriptions": {
34050 "typeIdentifier": "t_uint256",
34051 "typeString": "uint256"
34052 }
34053 }
34054 ],
34055 "expression": {
34056 "argumentTypes": [
34057 {
34058 "typeIdentifier": "t_bytes32",
34059 "typeString": "bytes32"
34060 },
34061 {
34062 "typeIdentifier": "t_uint256",
34063 "typeString": "uint256"
34064 }
34065 ],
34066 "expression": {
34067 "argumentTypes": null,
34068 "id": 9939,
34069 "name": "db",
34070 "nodeType": "Identifier",
34071 "overloadedDeclarations": [],
34072 "referencedDeclaration": 8965,
34073 "src": "12540:2:33",
34074 "typeDescriptions": {
34075 "typeIdentifier": "t_contract$_DatabaseInterface_$8825",
34076 "typeString": "contract DatabaseInterface"
34077 }
34078 },
34079 "id": 9941,
34080 "isConstant": false,
34081 "isLValue": false,
34082 "isPure": false,
34083 "lValueRequested": false,
34084 "memberName": "setNumber",
34085 "nodeType": "MemberAccess",
34086 "referencedDeclaration": 8652,
34087 "src": "12540:12:33",
34088 "typeDescriptions": {
34089 "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
34090 "typeString": "function (bytes32,uint256) external"
34091 }
34092 },
34093 "id": 9954,
34094 "isConstant": false,
34095 "isLValue": false,
34096 "isPure": false,
34097 "kind": "functionCall",
34098 "lValueRequested": false,
34099 "names": [],
34100 "nodeType": "FunctionCall",
34101 "src": "12540:92:33",
34102 "typeDescriptions": {
34103 "typeIdentifier": "t_tuple$__$",
34104 "typeString": "tuple()"
34105 }
34106 },
34107 "id": 9955,
34108 "nodeType": "ExpressionStatement",
34109 "src": "12540:92:33"
34110 }
34111 ]
34112 }
34113 }
34114 ]
34115 },
34116 "documentation": null,
34117 "id": 9991,
34118 "implemented": true,
34119 "isConstructor": false,
34120 "isDeclaredConst": false,
34121 "modifiers": [],
34122 "name": "setCanceled",
34123 "nodeType": "FunctionDefinition",
34124 "parameters": {
34125 "id": 9921,
34126 "nodeType": "ParameterList",
34127 "parameters": [
34128 {
34129 "constant": false,
34130 "id": 9918,
34131 "name": "id",
34132 "nodeType": "VariableDeclaration",
34133 "scope": 9991,
34134 "src": "12368:10:33",
34135 "stateVariable": false,
34136 "storageLocation": "default",
34137 "typeDescriptions": {
34138 "typeIdentifier": "t_uint256",
34139 "typeString": "uint256"
34140 },
34141 "typeName": {
34142 "id": 9917,
34143 "name": "uint256",
34144 "nodeType": "ElementaryTypeName",
34145 "src": "12368:7:33",
34146 "typeDescriptions": {
34147 "typeIdentifier": "t_uint256",
34148 "typeString": "uint256"
34149 }
34150 },
34151 "value": null,
34152 "visibility": "internal"
34153 },
34154 {
34155 "constant": false,
34156 "id": 9920,
34157 "name": "canceled",
34158 "nodeType": "VariableDeclaration",
34159 "scope": 9991,
34160 "src": "12380:13:33",
34161 "stateVariable": false,
34162 "storageLocation": "default",
34163 "typeDescriptions": {
34164 "typeIdentifier": "t_bool",
34165 "typeString": "bool"
34166 },
34167 "typeName": {
34168 "id": 9919,
34169 "name": "bool",
34170 "nodeType": "ElementaryTypeName",
34171 "src": "12380:4:33",
34172 "typeDescriptions": {
34173 "typeIdentifier": "t_bool",
34174 "typeString": "bool"
34175 }
34176 },
34177 "value": null,
34178 "visibility": "internal"
34179 }
34180 ],
34181 "src": "12367:27:33"
34182 },
34183 "payable": false,
34184 "returnParameters": {
34185 "id": 9922,
34186 "nodeType": "ParameterList",
34187 "parameters": [],
34188 "src": "12403:0:33"
34189 },
34190 "scope": 10008,
34191 "src": "12347:520:33",
34192 "stateMutability": "nonpayable",
34193 "superFunction": null,
34194 "visibility": "private"
34195 },
34196 {
34197 "body": {
34198 "id": 10006,
34199 "nodeType": "Block",
34200 "src": "12935:98:33",
34201 "statements": [
34202 {
34203 "assignments": [],
34204 "declarations": [
34205 {
34206 "constant": false,
34207 "id": 9999,
34208 "name": "size",
34209 "nodeType": "VariableDeclaration",
34210 "scope": 10007,
34211 "src": "12945:9:33",
34212 "stateVariable": false,
34213 "storageLocation": "default",
34214 "typeDescriptions": {
34215 "typeIdentifier": "t_uint256",
34216 "typeString": "uint256"
34217 },
34218 "typeName": {
34219 "id": 9998,
34220 "name": "uint",
34221 "nodeType": "ElementaryTypeName",
34222 "src": "12945:4:33",
34223 "typeDescriptions": {
34224 "typeIdentifier": "t_uint256",
34225 "typeString": "uint256"
34226 }
34227 },
34228 "value": null,
34229 "visibility": "internal"
34230 }
34231 ],
34232 "id": 10000,
34233 "initialValue": null,
34234 "nodeType": "VariableDeclarationStatement",
34235 "src": "12945:9:33"
34236 },
34237 {
34238 "externalReferences": [
34239 {
34240 "size": {
34241 "declaration": 9999,
34242 "isOffset": false,
34243 "isSlot": false,
34244 "src": "12975:4:33",
34245 "valueSize": 1
34246 }
34247 },
34248 {
34249 "addr": {
34250 "declaration": 9993,
34251 "isOffset": false,
34252 "isSlot": false,
34253 "src": "12995:4:33",
34254 "valueSize": 1
34255 }
34256 }
34257 ],
34258 "id": 10001,
34259 "nodeType": "InlineAssembly",
34260 "operations": "{\n size := extcodesize(addr)\n}",
34261 "src": "12964:53:33"
34262 },
34263 {
34264 "expression": {
34265 "argumentTypes": null,
34266 "commonType": {
34267 "typeIdentifier": "t_uint256",
34268 "typeString": "uint256"
34269 },
34270 "id": 10004,
34271 "isConstant": false,
34272 "isLValue": false,
34273 "isPure": false,
34274 "lValueRequested": false,
34275 "leftExpression": {
34276 "argumentTypes": null,
34277 "id": 10002,
34278 "name": "size",
34279 "nodeType": "Identifier",
34280 "overloadedDeclarations": [],
34281 "referencedDeclaration": 9999,
34282 "src": "13018:4:33",
34283 "typeDescriptions": {
34284 "typeIdentifier": "t_uint256",
34285 "typeString": "uint256"
34286 }
34287 },
34288 "nodeType": "BinaryOperation",
34289 "operator": ">",
34290 "rightExpression": {
34291 "argumentTypes": null,
34292 "hexValue": "30",
34293 "id": 10003,
34294 "isConstant": false,
34295 "isLValue": false,
34296 "isPure": true,
34297 "kind": "number",
34298 "lValueRequested": false,
34299 "nodeType": "Literal",
34300 "src": "13025:1:33",
34301 "subdenomination": null,
34302 "typeDescriptions": {
34303 "typeIdentifier": "t_rational_0_by_1",
34304 "typeString": "int_const 0"
34305 },
34306 "value": "0"
34307 },
34308 "src": "13018:8:33",
34309 "typeDescriptions": {
34310 "typeIdentifier": "t_bool",
34311 "typeString": "bool"
34312 }
34313 },
34314 "functionReturnParameters": 9997,
34315 "id": 10005,
34316 "nodeType": "Return",
34317 "src": "13011:15:33"
34318 }
34319 ]
34320 },
34321 "documentation": null,
34322 "id": 10007,
34323 "implemented": true,
34324 "isConstructor": false,
34325 "isDeclaredConst": true,
34326 "modifiers": [],
34327 "name": "isContract",
34328 "nodeType": "FunctionDefinition",
34329 "parameters": {
34330 "id": 9994,
34331 "nodeType": "ParameterList",
34332 "parameters": [
34333 {
34334 "constant": false,
34335 "id": 9993,
34336 "name": "addr",
34337 "nodeType": "VariableDeclaration",
34338 "scope": 10007,
34339 "src": "12893:12:33",
34340 "stateVariable": false,
34341 "storageLocation": "default",
34342 "typeDescriptions": {
34343 "typeIdentifier": "t_address",
34344 "typeString": "address"
34345 },
34346 "typeName": {
34347 "id": 9992,
34348 "name": "address",
34349 "nodeType": "ElementaryTypeName",
34350 "src": "12893:7:33",
34351 "typeDescriptions": {
34352 "typeIdentifier": "t_address",
34353 "typeString": "address"
34354 }
34355 },
34356 "value": null,
34357 "visibility": "internal"
34358 }
34359 ],
34360 "src": "12892:14:33"
34361 },
34362 "payable": false,
34363 "returnParameters": {
34364 "id": 9997,
34365 "nodeType": "ParameterList",
34366 "parameters": [
34367 {
34368 "constant": false,
34369 "id": 9996,
34370 "name": "",
34371 "nodeType": "VariableDeclaration",
34372 "scope": 10007,
34373 "src": "12929:4:33",
34374 "stateVariable": false,
34375 "storageLocation": "default",
34376 "typeDescriptions": {
34377 "typeIdentifier": "t_bool",
34378 "typeString": "bool"
34379 },
34380 "typeName": {
34381 "id": 9995,
34382 "name": "bool",
34383 "nodeType": "ElementaryTypeName",
34384 "src": "12929:4:33",
34385 "typeDescriptions": {
34386 "typeIdentifier": "t_bool",
34387 "typeString": "bool"
34388 }
34389 },
34390 "value": null,
34391 "visibility": "internal"
34392 }
34393 ],
34394 "src": "12928:6:33"
34395 },
34396 "scope": 10008,
34397 "src": "12873:160:33",
34398 "stateMutability": "view",
34399 "superFunction": null,
34400 "visibility": "private"
34401 }
34402 ],
34403 "scope": 10009,
34404 "src": "336:12699:33"
34405 }
34406 ],
34407 "src": "0:14350:33"
34408 },
34409 "compiler": {
34410 "name": "solc",
34411 "version": "0.4.25+commit.59dbf8f1.Emscripten.clang"
34412 },
34413 "networks": {
34414 "42": {
34415 "events": {},
34416 "links": {},
34417 "address": "0x6b7e01d804e68143b8c3e4c54f81daea3fd0189a",
34418 "transactionHash": "0x531f36736a1e37f96c3486159968f12f9b31a2a7a6dc9330da1668192557348b"
34419 }
34420 },
34421 "schemaVersion": "2.0.2",
34422 "updatedAt": "2019-06-25T21:16:55.618Z"
34423}
\No newline at end of file