{ "abi": [ { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "string", "name": "_description", "type": "string" }, { "internalType": "string", "name": "_termsOfService", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "data", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "owner", "type": "address" } ], "name": "DataWritten", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "a", "type": "address" }, { "indexed": false, "internalType": "address", "name": "opposer", "type": "address" } ], "name": "OppositionAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "a", "type": "address" }, { "indexed": false, "internalType": "address", "name": "opposer", "type": "address" } ], "name": "OppositionRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "a", "type": "address" } ], "name": "OwnerAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "a", "type": "address" } ], "name": "OwnerRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "a", "type": "address" }, { "indexed": false, "internalType": "address", "name": "supporter", "type": "address" } ], "name": "SupportAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "a", "type": "address" }, { "indexed": false, "internalType": "address", "name": "supporter", "type": "address" } ], "name": "SupportRemoved", "type": "event" }, { "inputs": [], "name": "acceptTermsOfService", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "acceptedTermsOfService", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address" } ], "name": "add", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "description", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "medianValue", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nonce", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "numOwners", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address" } ], "name": "oppose", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "opposers", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "opposing", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "oppositionCounter", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "owner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "readData", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address" } ], "name": "remove", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address" } ], "name": "support", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "supportCounter", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "supporters", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "supporting", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "termsOfService", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address" } ], "name": "unoppose", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address" } ], "name": "unsupport", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_data", "type": "uint256" } ], "name": "writeData", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": { "object": "0x60806040523480156200001157600080fd5b506040516200181b3803806200181b83398101604081905262000034916200014d565b600160008181556001600160a01b0385168152602082905260409020805460ff19169091179055600862000069838262000266565b50600962000078828262000266565b50506000600b5550620003329050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000b057600080fd5b81516001600160401b0380821115620000cd57620000cd62000088565b604051601f8301601f19908116603f01168101908282118183101715620000f857620000f862000088565b816040528381526020925086838588010111156200011557600080fd5b600091505b838210156200013957858201830151818301840152908201906200011a565b600093810190920192909252949350505050565b6000806000606084860312156200016357600080fd5b83516001600160a01b03811681146200017b57600080fd5b60208501519093506001600160401b03808211156200019957600080fd5b620001a7878388016200009e565b93506040860151915080821115620001be57600080fd5b50620001cd868287016200009e565b9150509250925092565b600181811c90821680620001ec57607f821691505b6020821081036200020d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200026157600081815260208120601f850160051c810160208610156200023c5750805b601f850160051c820191505b818110156200025d5782815560010162000248565b5050505b505050565b81516001600160401b0381111562000282576200028262000088565b6200029a81620002938454620001d7565b8462000213565b602080601f831160018114620002d25760008415620002b95750858301515b600019600386901b1c1916600185901b1785556200025d565b600085815260208120601f198616915b828110156200030357888601518255948401946001909101908401620002e2565b5085821015620003225787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6114d980620003426000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806367d6aeb3116100b8578063affed0e01161007c578063affed0e0146102f0578063bef55ef3146102f9578063dddd9e9614610301578063e660cc0814610320578063f6da5ca014610333578063f7cbc3901461036157600080fd5b806367d6aeb3146102a65780636de54d31146102b95780637284e416146102cc57806387ab18e1146102d45780638f889f8e146102dd57600080fd5b80633fc9d6211161010a5780633fc9d621146101f65780634e192655146102095780634f855b951461022c5780635fab6dc414610243578063666e1b391461026357806367225e371461028657600080fd5b80630a3b0a4f146101475780631e117f491461015c57806329092d0e1461017a578063304b69af1461018d5780633f45cd8b146101b8575b600080fd5b61015a610155366004611270565b610374565b005b6101646104c3565b6040516101719190611292565b60405180910390f35b61015a610188366004611270565b610551565b6101a061019b3660046112e0565b6107d1565b6040516001600160a01b039091168152602001610171565b6101e66101c636600461130a565b600460209081526000928352604080842090915290825290205460ff1681565b6040519015158152602001610171565b61015a610204366004611270565b610809565b6101e6610217366004611270565b600d6020526000908152604090205460ff1681565b610235600c5481565b604051908152602001610171565b610235610251366004611270565b60026020526000908152604090205481565b6101e6610271366004611270565b60016020526000908152604090205460ff1681565b610235610294366004611270565b60036020526000908152604090205481565b61015a6102b4366004611270565b610845565b6101a06102c73660046112e0565b61087e565b61016461089a565b61023560005481565b61015a6102eb36600461133d565b6108a7565b610235600b5481565b610235610be7565b61015a336000908152600d60205260409020805460ff19166001179055565b61015a61032e366004611270565b610c4d565b6101e661034136600461130a565b600560209081526000928352604080842090915290825290205460ff1681565b61015a61036f366004611270565b610dbf565b6001600160a01b038116600090815260016020526040902054819060ff16156103e45760405162461bcd60e51b815260206004820152601b60248201527f6164647265737320697320616c726561647920616e206f776e6572000000000060448201526064015b60405180910390fd5b60026000546103f3919061136c565b6001600160a01b0383166000908152600260205260409020541161044f5760405162461bcd60e51b8152602060048201526013602482015272496e73756666696369656e742071756f72756d60681b60448201526064016103db565b6001600080828254610461919061138e565b90915550506001600160a01b038216600081815260016020818152604092839020805460ff191690921790915590519182527f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c391015b60405180910390a15050565b600980546104d0906113a7565b80601f01602080910402602001604051908101604052809291908181526020018280546104fc906113a7565b80156105495780601f1061051e57610100808354040283529160200191610549565b820191906000526020600020905b81548152906001019060200180831161052c57829003601f168201915b505050505081565b6001600160a01b038116600090815260016020526040902054819060ff166105bb5760405162461bcd60e51b815260206004820152601760248201527f61646472657373206973206e6f7420616e206f776e657200000000000000000060448201526064016103db565b60026000546105ca919061136c565b6001600160a01b038316600090815260036020526040902054116106265760405162461bcd60e51b8152602060048201526013602482015272496e73756666696369656e742071756f72756d60681b60448201526064016103db565b600160008082825461063891906113e1565b90915550600090505b6001600160a01b0383166000908152600660205260409020548110156106bd576001600160a01b038316600090815260066020526040902080546106ab919083908110610690576106906113f4565b6000918252602090912001546001600160a01b031684610f28565b806106b58161140a565b915050610641565b506001600160a01b03821660009081526006602052604081206106df91611222565b60005b6001600160a01b03831660009081526007602052604090205481101561075e576001600160a01b0383166000908152600760205260409020805461074c919083908110610731576107316113f4565b6000918252602090912001546001600160a01b031684611006565b806107568161140a565b9150506106e2565b506001600160a01b038216600090815260076020526040812061078091611222565b6001600160a01b038216600081815260016020908152604091829020805460ff1916905590519182527f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da91016104b7565b600760205281600052604060002081815481106107ed57600080fd5b6000918252602090912001546001600160a01b03169150829050565b3360009081526001602052604090205460ff166108385760405162461bcd60e51b81526004016103db90611423565b6108428133610f28565b50565b3360009081526001602052604090205460ff166108745760405162461bcd60e51b81526004016103db90611423565b6108428133611006565b600660205281600052604060002081815481106107ed57600080fd5b600880546104d0906113a7565b3360009081526001602052604090205460ff166108d65760405162461bcd60e51b81526004016103db90611423565b604080518082018252828152336020808301828152600b80546000908152600a8452868120955186559151600190950180546001600160a01b0319166001600160a01b03909616959095179094559254835291839020549251928352917f33b83618888d358e5cbd39503bc0d5ed6ba434bb57e7901d7e910b50dbeb0e69910160405180910390a2600b805490600061096e8361140a565b909155505060408051600380825260808201909252600091602082016060803683375050604080516003808252608082019092529293506000929150602082016060803683370190505090506000806001600b546109cc9190611449565b90505b600081121580156109e05750600382105b15610af957600160005b83811015610a55576000838152600a602052604090206001015485516001600160a01b0390911690869083908110610a2457610a246113f4565b60200260200101516001600160a01b031603610a435760009150610a55565b80610a4d8161140a565b9150506109ea565b508015610ae6576000828152600a60205260409020548551869085908110610a7f57610a7f6113f4565b6020908102919091018101919091526000838152600a909152604090206001015484516001600160a01b0390911690859085908110610ac057610ac06113f4565b6001600160a01b039092166020928302919091019091015282610ae28161140a565b9350505b5080610af181611470565b9150506109cf565b5080600103610b285782600081518110610b1557610b156113f4565b6020026020010151600c81905550610be1565b80600203610b8457600283600181518110610b4557610b456113f4565b602002602001015184600081518110610b6057610b606113f4565b6020026020010151610b72919061138e565b610b7c919061136c565b600c55610be1565b610bdd83600081518110610b9a57610b9a6113f4565b602002602001015184600181518110610bb557610bb56113f4565b602002602001015185600281518110610bd057610bd06113f4565b60200260200101516110e3565b600c555b50505050565b336000908152600d602052604081205460ff16610c465760405162461bcd60e51b815260206004820152601d60248201527f5465726d73206f662053657276696365206e6f7420616363657074656400000060448201526064016103db565b50600c5490565b3360009081526001602052604090205460ff16610c7c5760405162461bcd60e51b81526004016103db90611423565b6001600160a01b038116600090815260046020908152604080832033845290915290205460ff1615610ce55760405162461bcd60e51b8152602060048201526012602482015271616c726561647920737570706f7274696e6760701b60448201526064016103db565b6001600160a01b0381166000908152600260205260408120805460019290610d0e90849061138e565b90915550506001600160a01b038116600081815260046020908152604080832033808552908352818420805460ff19166001908117909155600684529184208054928301815584529190922090910180546001600160a01b031916909217909155610d7a908290611006565b604080516001600160a01b03831681523360208201527fae71767aad8e36528115dfc29d644823b7a154873b9cd22fe1fbceb074b86bd691015b60405180910390a150565b3360009081526001602052604090205460ff16610dee5760405162461bcd60e51b81526004016103db90611423565b6001600160a01b038116600090815260056020908152604080832033845290915290205460ff1615610e555760405162461bcd60e51b815260206004820152601060248201526f616c7265616479206f70706f73696e6760801b60448201526064016103db565b6001600160a01b0381166000908152600360205260408120805460019290610e7e90849061138e565b90915550506001600160a01b038116600081815260056020908152604080832033808552908352818420805460ff19166001908117909155600784529184208054928301815584529190922090910180546001600160a01b031916909217909155610eea908290610f28565b604080516001600160a01b03831681523360208201527fdaefd7e1f1c540ac266ada14d14c3ed3bf4ab7a722d1ff85578a40f573a0c8779101610db4565b6001600160a01b0380831660009081526004602090815260408083209385168352929052205460ff1615611002576001600160a01b0382166000908152600260205260408120805460019290610f7f9084906113e1565b90915550506001600160a01b0380831660009081526004602090815260408083209385168352928152828220805460ff191690556006905220610fc29083611114565b604080516001600160a01b038085168252831660208201527f25203554e06d7ed0bdf690f598f2702a329d230077d9a3c2089d052a77981a0291016104b7565b5050565b6001600160a01b0380831660009081526005602090815260408083209385168352929052205460ff1615611002576001600160a01b038216600090815260036020526040812080546001929061105d9084906113e1565b90915550506001600160a01b0380831660009081526005602090815260408083209385168352928152828220805460ff1916905533825260079052206110a39083611114565b604080516001600160a01b038085168252831660208201527f63a8b3c7af4fafb0c845e277d80036a0f7f07111f59f2681d9bae6b1e66f104091016104b7565b6000828411156110f1579192915b818411156110fd579092905b81831061110a578161110c565b825b949350505050565b60005b816001600160a01b0316838281548110611133576111336113f4565b6000918252602090912001546001600160a01b0316148015906111565750825481105b1561116d57806111658161140a565b915050611117565b8254839061117d906001906113e1565b8154811061118d5761118d6113f4565b9060005260206000200160009054906101000a90046001600160a01b03168382815481106111bd576111bd6113f4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550828054806111fb576111fb61148d565b600082815260209020810160001990810180546001600160a01b0319169055019055505050565b508054600082559060005260206000209081019061084291905b80821115611250576000815560010161123c565b5090565b80356001600160a01b038116811461126b57600080fd5b919050565b60006020828403121561128257600080fd5b61128b82611254565b9392505050565b600060208083528351808285015260005b818110156112bf578581018301518582016040015282016112a3565b506000604082860101526040601f19601f8301168501019250505092915050565b600080604083850312156112f357600080fd5b6112fc83611254565b946020939093013593505050565b6000806040838503121561131d57600080fd5b61132683611254565b915061133460208401611254565b90509250929050565b60006020828403121561134f57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b60008261138957634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156113a1576113a1611356565b92915050565b600181811c908216806113bb57607f821691505b6020821081036113db57634e487b7160e01b600052602260045260246000fd5b50919050565b818103818111156113a1576113a1611356565b634e487b7160e01b600052603260045260246000fd5b60006001820161141c5761141c611356565b5060010190565b6020808252600c908201526b155b985d5d1a1bdc9a5e995960a21b604082015260600190565b818103600083128015838313168383128216171561146957611469611356565b5092915050565b6000600160ff1b820161148557611485611356565b506000190190565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220c32d9d55d19818f0a35d7d3fc0ff91062341a02fe24f464a8bd57d23ecc5c20c64736f6c63430008110033", "sourceMap": "115:2718:2:-:0;;;916:242;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1475:1:3;1463:9;:13;;;-1:-1:-1;;;;;1486:19:3;;;;;;;;;;;:26;;-1:-1:-1;;1486:26:3;;;;;;1064:11:2::1;:26;1078:12:::0;1064:11;:26:::1;:::i;:::-;-1:-1:-1::0;1100:14:2::1;:32;1117:15:::0;1100:14;:32:::1;:::i;:::-;-1:-1:-1::0;;1150:1:2::1;1142:5;:9:::0;-1:-1:-1;115:2718:2;;-1:-1:-1;115:2718:2;14:127:9;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:9;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:9;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:9:o;991:729::-;1099:6;1107;1115;1168:2;1156:9;1147:7;1143:23;1139:32;1136:52;;;1184:1;1181;1174:12;1136:52;1210:16;;-1:-1:-1;;;;;1255:31:9;;1245:42;;1235:70;;1301:1;1298;1291:12;1235:70;1373:2;1358:18;;1352:25;1324:5;;-1:-1:-1;;;;;;1426:14:9;;;1423:34;;;1453:1;1450;1443:12;1423:34;1476:61;1529:7;1520:6;1509:9;1505:22;1476:61;:::i;:::-;1466:71;;1583:2;1572:9;1568:18;1562:25;1546:41;;1612:2;1602:8;1599:16;1596:36;;;1628:1;1625;1618:12;1596:36;;1651:63;1706:7;1695:8;1684:9;1680:24;1651:63;:::i;:::-;1641:73;;;991:729;;;;;:::o;1725:380::-;1804:1;1800:12;;;;1847;;;1868:61;;1922:4;1914:6;1910:17;1900:27;;1868:61;1975:2;1967:6;1964:14;1944:18;1941:38;1938:161;;2021:10;2016:3;2012:20;2009:1;2002:31;2056:4;2053:1;2046:15;2084:4;2081:1;2074:15;1938:161;;1725:380;;;:::o;2236:545::-;2338:2;2333:3;2330:11;2327:448;;;2374:1;2399:5;2395:2;2388:17;2444:4;2440:2;2430:19;2514:2;2502:10;2498:19;2495:1;2491:27;2485:4;2481:38;2550:4;2538:10;2535:20;2532:47;;;-1:-1:-1;2573:4:9;2532:47;2628:2;2623:3;2619:12;2616:1;2612:20;2606:4;2602:31;2592:41;;2683:82;2701:2;2694:5;2691:13;2683:82;;;2746:17;;;2727:1;2716:13;2683:82;;;2687:3;;;2327:448;2236:545;;;:::o;2957:1352::-;3077:10;;-1:-1:-1;;;;;3099:30:9;;3096:56;;;3132:18;;:::i;:::-;3161:97;3251:6;3211:38;3243:4;3237:11;3211:38;:::i;:::-;3205:4;3161:97;:::i;:::-;3313:4;;3377:2;3366:14;;3394:1;3389:663;;;;4096:1;4113:6;4110:89;;;-1:-1:-1;4165:19:9;;;4159:26;4110:89;-1:-1:-1;;2914:1:9;2910:11;;;2906:24;2902:29;2892:40;2938:1;2934:11;;;2889:57;4212:81;;3359:944;;3389:663;2183:1;2176:14;;;2220:4;2207:18;;-1:-1:-1;;3425:20:9;;;3543:236;3557:7;3554:1;3551:14;3543:236;;;3646:19;;;3640:26;3625:42;;3738:27;;;;3706:1;3694:14;;;;3573:19;;3543:236;;;3547:3;3807:6;3798:7;3795:19;3792:201;;;3868:19;;;3862:26;-1:-1:-1;;3951:1:9;3947:14;;;3963:3;3943:24;3939:37;3935:42;3920:58;3905:74;;3792:201;-1:-1:-1;;;;;4039:1:9;4023:14;;;4019:22;4006:36;;-1:-1:-1;2957:1352:9:o;:::-;115:2718:2;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c806367d6aeb3116100b8578063affed0e01161007c578063affed0e0146102f0578063bef55ef3146102f9578063dddd9e9614610301578063e660cc0814610320578063f6da5ca014610333578063f7cbc3901461036157600080fd5b806367d6aeb3146102a65780636de54d31146102b95780637284e416146102cc57806387ab18e1146102d45780638f889f8e146102dd57600080fd5b80633fc9d6211161010a5780633fc9d621146101f65780634e192655146102095780634f855b951461022c5780635fab6dc414610243578063666e1b391461026357806367225e371461028657600080fd5b80630a3b0a4f146101475780631e117f491461015c57806329092d0e1461017a578063304b69af1461018d5780633f45cd8b146101b8575b600080fd5b61015a610155366004611270565b610374565b005b6101646104c3565b6040516101719190611292565b60405180910390f35b61015a610188366004611270565b610551565b6101a061019b3660046112e0565b6107d1565b6040516001600160a01b039091168152602001610171565b6101e66101c636600461130a565b600460209081526000928352604080842090915290825290205460ff1681565b6040519015158152602001610171565b61015a610204366004611270565b610809565b6101e6610217366004611270565b600d6020526000908152604090205460ff1681565b610235600c5481565b604051908152602001610171565b610235610251366004611270565b60026020526000908152604090205481565b6101e6610271366004611270565b60016020526000908152604090205460ff1681565b610235610294366004611270565b60036020526000908152604090205481565b61015a6102b4366004611270565b610845565b6101a06102c73660046112e0565b61087e565b61016461089a565b61023560005481565b61015a6102eb36600461133d565b6108a7565b610235600b5481565b610235610be7565b61015a336000908152600d60205260409020805460ff19166001179055565b61015a61032e366004611270565b610c4d565b6101e661034136600461130a565b600560209081526000928352604080842090915290825290205460ff1681565b61015a61036f366004611270565b610dbf565b6001600160a01b038116600090815260016020526040902054819060ff16156103e45760405162461bcd60e51b815260206004820152601b60248201527f6164647265737320697320616c726561647920616e206f776e6572000000000060448201526064015b60405180910390fd5b60026000546103f3919061136c565b6001600160a01b0383166000908152600260205260409020541161044f5760405162461bcd60e51b8152602060048201526013602482015272496e73756666696369656e742071756f72756d60681b60448201526064016103db565b6001600080828254610461919061138e565b90915550506001600160a01b038216600081815260016020818152604092839020805460ff191690921790915590519182527f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c391015b60405180910390a15050565b600980546104d0906113a7565b80601f01602080910402602001604051908101604052809291908181526020018280546104fc906113a7565b80156105495780601f1061051e57610100808354040283529160200191610549565b820191906000526020600020905b81548152906001019060200180831161052c57829003601f168201915b505050505081565b6001600160a01b038116600090815260016020526040902054819060ff166105bb5760405162461bcd60e51b815260206004820152601760248201527f61646472657373206973206e6f7420616e206f776e657200000000000000000060448201526064016103db565b60026000546105ca919061136c565b6001600160a01b038316600090815260036020526040902054116106265760405162461bcd60e51b8152602060048201526013602482015272496e73756666696369656e742071756f72756d60681b60448201526064016103db565b600160008082825461063891906113e1565b90915550600090505b6001600160a01b0383166000908152600660205260409020548110156106bd576001600160a01b038316600090815260066020526040902080546106ab919083908110610690576106906113f4565b6000918252602090912001546001600160a01b031684610f28565b806106b58161140a565b915050610641565b506001600160a01b03821660009081526006602052604081206106df91611222565b60005b6001600160a01b03831660009081526007602052604090205481101561075e576001600160a01b0383166000908152600760205260409020805461074c919083908110610731576107316113f4565b6000918252602090912001546001600160a01b031684611006565b806107568161140a565b9150506106e2565b506001600160a01b038216600090815260076020526040812061078091611222565b6001600160a01b038216600081815260016020908152604091829020805460ff1916905590519182527f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da91016104b7565b600760205281600052604060002081815481106107ed57600080fd5b6000918252602090912001546001600160a01b03169150829050565b3360009081526001602052604090205460ff166108385760405162461bcd60e51b81526004016103db90611423565b6108428133610f28565b50565b3360009081526001602052604090205460ff166108745760405162461bcd60e51b81526004016103db90611423565b6108428133611006565b600660205281600052604060002081815481106107ed57600080fd5b600880546104d0906113a7565b3360009081526001602052604090205460ff166108d65760405162461bcd60e51b81526004016103db90611423565b604080518082018252828152336020808301828152600b80546000908152600a8452868120955186559151600190950180546001600160a01b0319166001600160a01b03909616959095179094559254835291839020549251928352917f33b83618888d358e5cbd39503bc0d5ed6ba434bb57e7901d7e910b50dbeb0e69910160405180910390a2600b805490600061096e8361140a565b909155505060408051600380825260808201909252600091602082016060803683375050604080516003808252608082019092529293506000929150602082016060803683370190505090506000806001600b546109cc9190611449565b90505b600081121580156109e05750600382105b15610af957600160005b83811015610a55576000838152600a602052604090206001015485516001600160a01b0390911690869083908110610a2457610a246113f4565b60200260200101516001600160a01b031603610a435760009150610a55565b80610a4d8161140a565b9150506109ea565b508015610ae6576000828152600a60205260409020548551869085908110610a7f57610a7f6113f4565b6020908102919091018101919091526000838152600a909152604090206001015484516001600160a01b0390911690859085908110610ac057610ac06113f4565b6001600160a01b039092166020928302919091019091015282610ae28161140a565b9350505b5080610af181611470565b9150506109cf565b5080600103610b285782600081518110610b1557610b156113f4565b6020026020010151600c81905550610be1565b80600203610b8457600283600181518110610b4557610b456113f4565b602002602001015184600081518110610b6057610b606113f4565b6020026020010151610b72919061138e565b610b7c919061136c565b600c55610be1565b610bdd83600081518110610b9a57610b9a6113f4565b602002602001015184600181518110610bb557610bb56113f4565b602002602001015185600281518110610bd057610bd06113f4565b60200260200101516110e3565b600c555b50505050565b336000908152600d602052604081205460ff16610c465760405162461bcd60e51b815260206004820152601d60248201527f5465726d73206f662053657276696365206e6f7420616363657074656400000060448201526064016103db565b50600c5490565b3360009081526001602052604090205460ff16610c7c5760405162461bcd60e51b81526004016103db90611423565b6001600160a01b038116600090815260046020908152604080832033845290915290205460ff1615610ce55760405162461bcd60e51b8152602060048201526012602482015271616c726561647920737570706f7274696e6760701b60448201526064016103db565b6001600160a01b0381166000908152600260205260408120805460019290610d0e90849061138e565b90915550506001600160a01b038116600081815260046020908152604080832033808552908352818420805460ff19166001908117909155600684529184208054928301815584529190922090910180546001600160a01b031916909217909155610d7a908290611006565b604080516001600160a01b03831681523360208201527fae71767aad8e36528115dfc29d644823b7a154873b9cd22fe1fbceb074b86bd691015b60405180910390a150565b3360009081526001602052604090205460ff16610dee5760405162461bcd60e51b81526004016103db90611423565b6001600160a01b038116600090815260056020908152604080832033845290915290205460ff1615610e555760405162461bcd60e51b815260206004820152601060248201526f616c7265616479206f70706f73696e6760801b60448201526064016103db565b6001600160a01b0381166000908152600360205260408120805460019290610e7e90849061138e565b90915550506001600160a01b038116600081815260056020908152604080832033808552908352818420805460ff19166001908117909155600784529184208054928301815584529190922090910180546001600160a01b031916909217909155610eea908290610f28565b604080516001600160a01b03831681523360208201527fdaefd7e1f1c540ac266ada14d14c3ed3bf4ab7a722d1ff85578a40f573a0c8779101610db4565b6001600160a01b0380831660009081526004602090815260408083209385168352929052205460ff1615611002576001600160a01b0382166000908152600260205260408120805460019290610f7f9084906113e1565b90915550506001600160a01b0380831660009081526004602090815260408083209385168352928152828220805460ff191690556006905220610fc29083611114565b604080516001600160a01b038085168252831660208201527f25203554e06d7ed0bdf690f598f2702a329d230077d9a3c2089d052a77981a0291016104b7565b5050565b6001600160a01b0380831660009081526005602090815260408083209385168352929052205460ff1615611002576001600160a01b038216600090815260036020526040812080546001929061105d9084906113e1565b90915550506001600160a01b0380831660009081526005602090815260408083209385168352928152828220805460ff1916905533825260079052206110a39083611114565b604080516001600160a01b038085168252831660208201527f63a8b3c7af4fafb0c845e277d80036a0f7f07111f59f2681d9bae6b1e66f104091016104b7565b6000828411156110f1579192915b818411156110fd579092905b81831061110a578161110c565b825b949350505050565b60005b816001600160a01b0316838281548110611133576111336113f4565b6000918252602090912001546001600160a01b0316148015906111565750825481105b1561116d57806111658161140a565b915050611117565b8254839061117d906001906113e1565b8154811061118d5761118d6113f4565b9060005260206000200160009054906101000a90046001600160a01b03168382815481106111bd576111bd6113f4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550828054806111fb576111fb61148d565b600082815260209020810160001990810180546001600160a01b0319169055019055505050565b508054600082559060005260206000209081019061084291905b80821115611250576000815560010161123c565b5090565b80356001600160a01b038116811461126b57600080fd5b919050565b60006020828403121561128257600080fd5b61128b82611254565b9392505050565b600060208083528351808285015260005b818110156112bf578581018301518582016040015282016112a3565b506000604082860101526040601f19601f8301168501019250505092915050565b600080604083850312156112f357600080fd5b6112fc83611254565b946020939093013593505050565b6000806040838503121561131d57600080fd5b61132683611254565b915061133460208401611254565b90509250929050565b60006020828403121561134f57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b60008261138957634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156113a1576113a1611356565b92915050565b600181811c908216806113bb57607f821691505b6020821081036113db57634e487b7160e01b600052602260045260246000fd5b50919050565b818103818111156113a1576113a1611356565b634e487b7160e01b600052603260045260246000fd5b60006001820161141c5761141c611356565b5060010190565b6020808252600c908201526b155b985d5d1a1bdc9a5e995960a21b604082015260600190565b818103600083128015838313168383128216171561146957611469611356565b5092915050565b6000600160ff1b820161148557611485611356565b506000190190565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220c32d9d55d19818f0a35d7d3fc0ff91062341a02fe24f464a8bd57d23ecc5c20c64736f6c63430008110033", "sourceMap": "115:2718:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1525:206:3;;;;;;:::i;:::-;;:::i;:::-;;252:28:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1737:477:3;;;;;;:::i;:::-;;:::i;712:45::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1359:32:9;;;1341:51;;1329:2;1314:18;712:45:3;1195:203:9;329:62:3;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1833:14:9;;1826:22;1808:41;;1796:2;1781:18;329:62:3;1668:187:9;3006:91:3;;;;;;:::i;:::-;;:::i;673:54:2:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;529:26;;;;;;;;;2006:25:9;;;1994:2;1979:18;529:26:2;1860:177:9;216:49:3;;;;;;:::i;:::-;;;;;;;;;;;;;;173:37;;;;;;:::i;:::-;;;;;;;;;;;;;;;;271:52;;;;;;:::i;:::-;;;;;;;;;;;;;;3392:89;;;;;;:::i;:::-;;:::i;608:47::-;;;;;;:::i;:::-;;:::i;158:25:2:-;;;:::i;143:24:3:-;;;;;;1164:1132:2;;;;;;:::i;:::-;;:::i;461:20::-;;;;;;2302:150;;;:::i;2458:99::-;;2532:10;2509:34;;;;:22;:34;;;;;:41;;-1:-1:-1;;2509:41:2;2546:4;2509:41;;;2458:99;2220:388:3;;;;;;:::i;:::-;;:::i;470:60::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;2614:386;;;;;;:::i;:::-;;:::i;1525:206::-;-1:-1:-1;;;;;1355:8:3;;;;;;:5;:8;;;;;;1569:1;;1355:8;;1354:9;1346:49;;;;-1:-1:-1;;;1346:49:3;;2429:2:9;1346:49:3;;;2411:21:9;2468:2;2448:18;;;2441:30;2507:29;2487:18;;;2480:57;2554:18;;1346:49:3;;;;;;;;;1622:1:::1;1610:9;;:13;;;;:::i;:::-;-1:-1:-1::0;;;;;1590:17:3;::::1;;::::0;;;:14:::1;:17;::::0;;;;;:33:::1;1582:65;;;::::0;-1:-1:-1;;;1582:65:3;;3139:2:9;1582:65:3::1;::::0;::::1;3121:21:9::0;3178:2;3158:18;;;3151:30;-1:-1:-1;;;3197:18:9;;;3190:49;3256:18;;1582:65:3::1;2937:343:9::0;1582:65:3::1;1670:1;1657:9;::::0;:14:::1;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;1681:8:3;::::1;;::::0;;;1692:4:::1;1681:8;::::0;;;;;;;;:15;;-1:-1:-1;;1681:15:3::1;::::0;;::::1;::::0;;;1711:13;;1341:51:9;;;1711:13:3::1;::::0;1314:18:9;1711:13:3::1;;;;;;;;1525:206:::0;;:::o;252:28:2:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1737:477:3:-;-1:-1:-1;;;;;1246:8:3;;;;;;:5;:8;;;;;;1781:1;;1246:8;;1238:44;;;;-1:-1:-1;;;1238:44:3;;4002:2:9;1238:44:3;;;3984:21:9;4041:2;4021:18;;;4014:30;4080:25;4060:18;;;4053:53;4123:18;;1238:44:3;3800:347:9;1238:44:3;1837:1:::1;1825:9;;:13;;;;:::i;:::-;-1:-1:-1::0;;;;;1802:20:3;::::1;;::::0;;;:17:::1;:20;::::0;;;;;:36:::1;1794:68;;;::::0;-1:-1:-1;;;1794:68:3;;3139:2:9;1794:68:3::1;::::0;::::1;3121:21:9::0;3178:2;3158:18;;;3151:30;-1:-1:-1;;;3197:18:9;;;3190:49;3256:18;;1794:68:3::1;2937:343:9::0;1794:68:3::1;1885:1;1872:9;::::0;:14:::1;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;1901:9:3::1;::::0;-1:-1:-1;1896:94:3::1;-1:-1:-1::0;;;;;1920:13:3;::::1;;::::0;;;:10:::1;:13;::::0;;;;:20;1916:24;::::1;1896:94;;;-1:-1:-1::0;;;;;1970:13:3;::::1;;::::0;;;:10:::1;:13;::::0;;;;:16;;1959:31:::1;::::0;1970:13;1984:1;;1970:16;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;1970:16:3::1;1988:1:::0;1959:10:::1;:31::i;:::-;1942:3:::0;::::1;::::0;::::1;:::i;:::-;;;;1896:94;;;-1:-1:-1::0;;;;;;2008:13:3;::::1;;::::0;;;:10:::1;:13;::::0;;;;2001:20:::1;::::0;::::1;:::i;:::-;2037:9;2032:89;-1:-1:-1::0;;;;;2056:11:3;::::1;;::::0;;;:8:::1;:11;::::0;;;;:18;2052:22;::::1;2032:89;;;-1:-1:-1::0;;;;;2103:11:3;::::1;;::::0;;;:8:::1;:11;::::0;;;;:14;;2093:28:::1;::::0;2103:11;2115:1;;2103:14;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;2103:14:3::1;2119:1:::0;2093:9:::1;:28::i;:::-;2076:3:::0;::::1;::::0;::::1;:::i;:::-;;;;2032:89;;;-1:-1:-1::0;;;;;;2139:11:3;::::1;;::::0;;;:8:::1;:11;::::0;;;;2132:18:::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;;;;;2161:8:3;::::1;2172:5;2161:8:::0;;;:5:::1;:8;::::0;;;;;;;;:16;;-1:-1:-1;;2161:16:3::1;::::0;;2192:15;;1341:51:9;;;2192:15:3::1;::::0;1314:18:9;2192:15:3::1;1195:203:9::0;712:45:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;712:45:3;;-1:-1:-1;712:45:3;;-1:-1:-1;712:45:3:o;3006:91::-;1149:10;1143:17;;;;:5;:17;;;;;;;;1135:42;;;;-1:-1:-1;;;1135:42:3;;;;;;;:::i;:::-;3065:25:::1;3076:1;3079:10;3065;:25::i;:::-;3006:91:::0;:::o;3392:89::-;1149:10;1143:17;;;;:5;:17;;;;;;;;1135:42;;;;-1:-1:-1;;;1135:42:3;;;;;;;:::i;:::-;3450:24:::1;3460:1;3463:10;3450:9;:24::i;608:47::-:0;;;;;;;;;;;;;;;;;;;;158:25:2;;;;;;;:::i;1164:1132::-;1149:10:3;1143:17;;;;:5;:17;;;;;;;;1135:42;;;;-1:-1:-1;;;1135:42:3;;;;;;;:::i;:::-;1241:23:2::1;::::0;;;;::::1;::::0;;;;;1253:10:::1;1241:23;::::0;;::::1;::::0;;;1232:5:::1;::::0;;-1:-1:-1;1227:11:2;;;:4:::1;:11:::0;;;;;:37;;;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;;;;1227:37:2::1;-1:-1:-1::0;;;;;1227:37:2;;::::1;::::0;;;::::1;::::0;;;1296:5;;1291:11;;;;;;:17;1279:42;;2006:25:9;;;1253:10:2;1279:42:::1;::::0;1979:18:9;1279:42:2::1;;;;;;;1331:5;:7:::0;;;:5:::1;:7;::::0;::::1;:::i;:::-;::::0;;;-1:-1:-1;;1413:16:2::1;::::0;;1427:1:::1;1413:16:::0;;;;;::::1;::::0;;;1387:23:::1;::::0;1413:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;1471:16:2::1;::::0;;1485:1:::1;1471:16:::0;;;;;::::1;::::0;;;1387:42;;-1:-1:-1;1439:29:2::1;::::0;1471:16;-1:-1:-1;1471:16:2::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;1471:16:2::1;1439:48;;1497:13;1530:8:::0;1557:1:::1;1548:5;;1541:17;;;;:::i;:::-;1530:28;;1525:519;1565:1;1560;:6;;:19;;;;;1578:1;1570:5;:9;1560:19;1525:519;;;1621:4;1600:18;1639:204;1663:5;1659:1;:9;1639:204;;;1716:16;::::0;;;:4:::1;:16;::::0;;;;:22:::1;;::::0;1697:15;;-1:-1:-1;;;;;1716:22:2;;::::1;::::0;1697:12;;1710:1;;1697:15;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;1697:41:2::1;::::0;1693:136:::1;;1778:5;1762:21;;1805:5;;1693:136;1670:3:::0;::::1;::::0;::::1;:::i;:::-;;;;1639:204;;;;1861:13;1857:177;;;1910:16;::::0;;;:4:::1;:16;::::0;;;;:22;1894:13;;:6;;1901:5;;1894:13;::::1;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:38;;;;1972:16:::1;::::0;;;:4:::1;:16:::0;;;;;;:22:::1;;::::0;1950:19;;-1:-1:-1;;;;;1972:22:2;;::::1;::::0;1950:12;;1963:5;;1950:19;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;1950:44:2;;::::1;:19;::::0;;::::1;::::0;;;;;;;:44;2012:7;::::1;::::0;::::1;:::i;:::-;;;;1857:177;-1:-1:-1::0;1581:3:2;::::1;::::0;::::1;:::i;:::-;;;;1525:519;;;;2058:5;2067:1;2058:10:::0;2054:236:::1;;2098:6;2105:1;2098:9;;;;;;;;:::i;:::-;;;;;;;2084:11;:23;;;;2054:236;;;2128:5;2137:1;2128:10:::0;2124:166:::1;;2194:1;2181:6;2188:1;2181:9;;;;;;;;:::i;:::-;;;;;;;2169:6;2176:1;2169:9;;;;;;;;:::i;:::-;;;;;;;:21;;;;:::i;:::-;2168:27;;;;:::i;:::-;2154:11;:41:::0;2124:166:::1;;;2240:39;2247:6;2254:1;2247:9;;;;;;;;:::i;:::-;;;;;;;2258:6;2265:1;2258:9;;;;;;;;:::i;:::-;;;;;;;2269:6;2276:1;2269:9;;;;;;;;:::i;:::-;;;;;;;2240:6;:39::i;:::-;2226:11;:53:::0;2124:166:::1;1217:1079;;;1164:1132:::0;:::o;2302:150::-;826:10;2404:7;803:34;;;:22;:34;;;;;;;;782:110;;;;-1:-1:-1;;;782:110:2;;5586:2:9;782:110:2;;;5568:21:9;5625:2;5605:18;;;5598:30;5664:31;5644:18;;;5637:59;5713:18;;782:110:2;5384:353:9;782:110:2;-1:-1:-1;2434:11:2::1;::::0;2302:150;:::o;2220:388:3:-;1149:10;1143:17;;;;:5;:17;;;;;;;;1135:42;;;;-1:-1:-1;;;1135:42:3;;;;;;;:::i;:::-;-1:-1:-1;;;;;2286:13:3;::::1;;::::0;;;:10:::1;:13;::::0;;;;;;;2300:10:::1;2286:25:::0;;;;;;;;::::1;;2285:26;2277:57;;;::::0;-1:-1:-1;;;2277:57:3;;5944:2:9;2277:57:3::1;::::0;::::1;5926:21:9::0;5983:2;5963:18;;;5956:30;-1:-1:-1;;;6002:18:9;;;5995:48;6060:18;;2277:57:3::1;5742:342:9::0;2277:57:3::1;-1:-1:-1::0;;;;;2344:17:3;::::1;;::::0;;;:14:::1;:17;::::0;;;;:22;;2365:1:::1;::::0;2344:17;:22:::1;::::0;2365:1;;2344:22:::1;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;2376:13:3;::::1;;::::0;;;:10:::1;:13;::::0;;;;;;;2390:10:::1;2376:25:::0;;;;;;;;;:32;;-1:-1:-1;;2376:32:3::1;2404:4;2376:32:::0;;::::1;::::0;;;2418:10:::1;:22:::0;;;;;:30;;;;::::1;::::0;;;;;;;;;;::::1;::::0;;-1:-1:-1;;;;;;2418:30:3::1;::::0;;::::1;::::0;;;2458:24:::1;::::0;2387:1;;2458:9:::1;:24::i;:::-;2574:27;::::0;;-1:-1:-1;;;;;6319:15:9;;6301:34;;2590:10:3::1;6366:2:9::0;6351:18;;6344:43;2574:27:3::1;::::0;6236:18:9;2574:27:3::1;;;;;;;;2220:388:::0;:::o;2614:386::-;1149:10;1143:17;;;;:5;:17;;;;;;;;1135:42;;;;-1:-1:-1;;;1135:42:3;;;;;;;:::i;:::-;-1:-1:-1;;;;;2679:11:3;::::1;;::::0;;;:8:::1;:11;::::0;;;;;;;2691:10:::1;2679:23:::0;;;;;;;;::::1;;2678:24;2670:53;;;::::0;-1:-1:-1;;;2670:53:3;;6600:2:9;2670:53:3::1;::::0;::::1;6582:21:9::0;6639:2;6619:18;;;6612:30;-1:-1:-1;;;6658:18:9;;;6651:46;6714:18;;2670:53:3::1;6398:340:9::0;2670:53:3::1;-1:-1:-1::0;;;;;2733:20:3;::::1;;::::0;;;:17:::1;:20;::::0;;;;:25;;2757:1:::1;::::0;2733:20;:25:::1;::::0;2757:1;;2733:25:::1;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;2768:11:3;::::1;;::::0;;;:8:::1;:11;::::0;;;;;;;2780:10:::1;2768:23:::0;;;;;;;;;:30;;-1:-1:-1;;2768:30:3::1;2794:4;2768:30:::0;;::::1;::::0;;;2808:8:::1;:20:::0;;;;;:28;;;;::::1;::::0;;;;;;;;;;::::1;::::0;;-1:-1:-1;;;;;;2808:28:3::1;::::0;;::::1;::::0;;;2846:25:::1;::::0;2777:1;;2846:10:::1;:25::i;:::-;2963:30;::::0;;-1:-1:-1;;;;;6319:15:9;;6301:34;;2982:10:3::1;6366:2:9::0;6351:18;;6344:43;2963:30:3::1;::::0;6236:18:9;2963:30:3::1;6089:304:9::0;3103:283:3;-1:-1:-1;;;;;3173:13:3;;;;;;;:10;:13;;;;;;;;:21;;;;;;;;;;;;3169:211;;;-1:-1:-1;;;;;3210:17:3;;;;;;:14;:17;;;;;:22;;3231:1;;3210:17;:22;;3231:1;;3210:22;:::i;:::-;;;;-1:-1:-1;;;;;;;3246:13:3;;;3270:5;3246:13;;;:10;:13;;;;;;;;:21;;;;;;;;;;;:29;;-1:-1:-1;;3246:29:3;;;3303:10;:18;;;3289:36;;3257:1;3289:13;:36::i;:::-;3344:25;;;-1:-1:-1;;;;;6319:15:9;;;6301:34;;6371:15;;6366:2;6351:18;;6344:43;3344:25:3;;6236:18:9;3344:25:3;6089:304:9;3169:211:3;3103:283;;:::o;3487:286::-;-1:-1:-1;;;;;3556:11:3;;;;;;;:8;:11;;;;;;;;:19;;;;;;;;;;;;3552:215;;;-1:-1:-1;;;;;3591:20:3;;;;;;:17;:20;;;;;:25;;3615:1;;3591:20;:25;;3615:1;;3591:25;:::i;:::-;;;;-1:-1:-1;;;;;;;3630:11:3;;;3652:5;3630:11;;;:8;:11;;;;;;;;:19;;;;;;;;;;;:27;;-1:-1:-1;;3630:27:3;;;3694:10;3685:20;;:8;:20;;;3671:38;;3639:1;3671:13;:38::i;:::-;3728:28;;;-1:-1:-1;;;;;6319:15:9;;;6301:34;;6371:15;;6366:2;6351:18;;6344:43;3728:28:3;;6236:18:9;3728:28:3;6089:304:9;2563:268:2;2665:7;2692:1;2688;:5;2684:51;;;2719:1;;2722;2684:51;2752:1;2748;:5;2744:51;;;2779:1;;2782;2744:51;2815:1;2811;:5;:13;;2823:1;2811:13;;;2819:1;2811:13;2804:20;2563:268;-1:-1:-1;;;;2563:268:2:o;3779:263:3:-;3856:13;3884:82;3907:1;-1:-1:-1;;;;;3891:17:3;:5;3897;3891:12;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;3891:12:3;:17;;;;:41;;-1:-1:-1;3920:12:3;;3912:20;;3891:41;3884:82;;;3948:7;;;;:::i;:::-;;;;3884:82;;;3997:12;;3991:5;;3997:16;;4012:1;;3997:16;:::i;:::-;3991:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3991:23:3;3976:5;3982;3976:12;;;;;;;;:::i;:::-;;;;;;;;;:38;;;;;-1:-1:-1;;;;;3976:38:3;;;;;-1:-1:-1;;;;;3976:38:3;;;;;;4024:5;:11;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;4024:11:3;;;;;-1:-1:-1;;;;;;4024:11:3;;;;;;-1:-1:-1;;;3779:263:3:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:173:9:-;82:20;;-1:-1:-1;;;;;131:31:9;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:9:o;383:548::-;495:4;524:2;553;542:9;535:21;585:6;579:13;628:6;623:2;612:9;608:18;601:34;653:1;663:140;677:6;674:1;671:13;663:140;;;772:14;;;768:23;;762:30;738:17;;;757:2;734:26;727:66;692:10;;663:140;;;667:3;852:1;847:2;838:6;827:9;823:22;819:31;812:42;922:2;915;911:7;906:2;898:6;894:15;890:29;879:9;875:45;871:54;863:62;;;;383:548;;;;:::o;936:254::-;1004:6;1012;1065:2;1053:9;1044:7;1040:23;1036:32;1033:52;;;1081:1;1078;1071:12;1033:52;1104:29;1123:9;1104:29;:::i;:::-;1094:39;1180:2;1165:18;;;;1152:32;;-1:-1:-1;;;936:254:9:o;1403:260::-;1471:6;1479;1532:2;1520:9;1511:7;1507:23;1503:32;1500:52;;;1548:1;1545;1538:12;1500:52;1571:29;1590:9;1571:29;:::i;:::-;1561:39;;1619:38;1653:2;1642:9;1638:18;1619:38;:::i;:::-;1609:48;;1403:260;;;;;:::o;2042:180::-;2101:6;2154:2;2142:9;2133:7;2129:23;2125:32;2122:52;;;2170:1;2167;2160:12;2122:52;-1:-1:-1;2193:23:9;;2042:180;-1:-1:-1;2042:180:9:o;2583:127::-;2644:10;2639:3;2635:20;2632:1;2625:31;2675:4;2672:1;2665:15;2699:4;2696:1;2689:15;2715:217;2755:1;2781;2771:132;;2825:10;2820:3;2816:20;2813:1;2806:31;2860:4;2857:1;2850:15;2888:4;2885:1;2878:15;2771:132;-1:-1:-1;2917:9:9;;2715:217::o;3285:125::-;3350:9;;;3371:10;;;3368:36;;;3384:18;;:::i;:::-;3285:125;;;;:::o;3415:380::-;3494:1;3490:12;;;;3537;;;3558:61;;3612:4;3604:6;3600:17;3590:27;;3558:61;3665:2;3657:6;3654:14;3634:18;3631:38;3628:161;;3711:10;3706:3;3702:20;3699:1;3692:31;3746:4;3743:1;3736:15;3774:4;3771:1;3764:15;3628:161;;3415:380;;;:::o;4152:128::-;4219:9;;;4240:11;;;4237:37;;;4254:18;;:::i;4285:127::-;4346:10;4341:3;4337:20;4334:1;4327:31;4377:4;4374:1;4367:15;4401:4;4398:1;4391:15;4417:135;4456:3;4477:17;;;4474:43;;4497:18;;:::i;:::-;-1:-1:-1;4544:1:9;4533:13;;4417:135::o;4557:336::-;4759:2;4741:21;;;4798:2;4778:18;;;4771:30;-1:-1:-1;;;4832:2:9;4817:18;;4810:42;4884:2;4869:18;;4557:336::o;5030:200::-;5096:9;;;5069:4;5124:9;;5152:10;;5164:12;;;5148:29;5187:12;;;5179:21;;5145:56;5142:82;;;5204:18;;:::i;:::-;5142:82;5030:200;;;;:::o;5235:144::-;5273:3;-1:-1:-1;;;5294:22:9;;5291:48;;5319:18;;:::i;:::-;-1:-1:-1;;;5355:18:9;;5235:144::o;6743:127::-;6804:10;6799:3;6795:20;6792:1;6785:31;6835:4;6832:1;6825:15;6859:4;6856:1;6849:15", "linkReferences": {} }, "methodIdentifiers": { "acceptTermsOfService()": "dddd9e96", "acceptedTermsOfService(address)": "4e192655", "add(address)": "0a3b0a4f", "description()": "7284e416", "medianValue()": "4f855b95", "nonce()": "affed0e0", "numOwners()": "87ab18e1", "oppose(address)": "f7cbc390", "opposers(address,address)": "f6da5ca0", "opposing(address,uint256)": "304b69af", "oppositionCounter(address)": "67225e37", "owner(address)": "666e1b39", "readData()": "bef55ef3", "remove(address)": "29092d0e", "support(address)": "e660cc08", "supportCounter(address)": "5fab6dc4", "supporters(address,address)": "3f45cd8b", "supporting(address,uint256)": "6de54d31", "termsOfService()": "1e117f49", "unoppose(address)": "67d6aeb3", "unsupport(address)": "3fc9d621", "writeData(uint256)": "8f889f8e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_termsOfService\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"data\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"DataWritten\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"opposer\",\"type\":\"address\"}],\"name\":\"OppositionAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"opposer\",\"type\":\"address\"}],\"name\":\"OppositionRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"}],\"name\":\"OwnerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"}],\"name\":\"OwnerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"supporter\",\"type\":\"address\"}],\"name\":\"SupportAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"supporter\",\"type\":\"address\"}],\"name\":\"SupportRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"acceptTermsOfService\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"acceptedTermsOfService\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"}],\"name\":\"add\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"description\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"medianValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"numOwners\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"}],\"name\":\"oppose\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"opposers\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"opposing\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"oppositionCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"readData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"}],\"name\":\"remove\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"}],\"name\":\"support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"supportCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"supporters\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"supporting\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"termsOfService\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"}],\"name\":\"unoppose\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"}],\"name\":\"unsupport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_data\",\"type\":\"uint256\"}],\"name\":\"writeData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Aggr3Oracle.sol\":\"Aggr3Oracle\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=lib/openzeppelin-contracts/\",\":ds-test/=lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/Aggr3Oracle.sol\":{\"keccak256\":\"0xded2c70377663711cc5cd9ce21213d288d72314fbd1423ea641081e4e4c145f0\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://e08cabcd01fee753c2aa10a0112265a56227acf7c333fa1b10a613c8dc09af0a\",\"dweb:/ipfs/QmS8CMPdsrXh5jxyQiHvWvkdhyCjXVgtyU5pm5H6UzV9cC\"]},\"src/MultiOwnable.sol\":{\"keccak256\":\"0x7240878d722a457cd88f1abb4074408ef9ad3baf08b0174e40ac4adc7b87d747\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://79281e9961cc2eef32832094392783a524e8aca6587c8da9379908a5d345159b\",\"dweb:/ipfs/QmZjQ9ZnC57zrgyLKkDbzk3PM7pcJjXJ1uU8LKc1HFPkZi\"]},\"src/test/utils/Console.sol\":{\"keccak256\":\"0x3430a4183d310b1ef785cde4c44dfc59db4d9c509915168775411d037e85aa29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afede9e7f21eb66c2d9f7465cc7b1632655e4eae2f737ceedc52a30c1ff9de3b\",\"dweb:/ipfs/QmNbNmHfuq4M1Ssy77SrEzZ5oe7kVeVm6VhWyD5SCexLhY\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.17+commit.8df45f5f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "string", "name": "_description", "type": "string" }, { "internalType": "string", "name": "_termsOfService", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "uint256", "name": "data", "type": "uint256", "indexed": false }, { "internalType": "address", "name": "owner", "type": "address", "indexed": true } ], "type": "event", "name": "DataWritten", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address", "indexed": false }, { "internalType": "address", "name": "opposer", "type": "address", "indexed": false } ], "type": "event", "name": "OppositionAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address", "indexed": false }, { "internalType": "address", "name": "opposer", "type": "address", "indexed": false } ], "type": "event", "name": "OppositionRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address", "indexed": false } ], "type": "event", "name": "OwnerAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address", "indexed": false } ], "type": "event", "name": "OwnerRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address", "indexed": false }, { "internalType": "address", "name": "supporter", "type": "address", "indexed": false } ], "type": "event", "name": "SupportAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address", "indexed": false }, { "internalType": "address", "name": "supporter", "type": "address", "indexed": false } ], "type": "event", "name": "SupportRemoved", "anonymous": false }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "acceptTermsOfService" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "acceptedTermsOfService", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "add" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "description", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "medianValue", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "nonce", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "numOwners", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "oppose" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "opposers", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "opposing", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "oppositionCounter", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "owner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "readData", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "remove" }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "support" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "supportCounter", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "supporters", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "supporting", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "termsOfService", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "unoppose" }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "unsupport" }, { "inputs": [ { "internalType": "uint256", "name": "_data", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "writeData" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ ":@openzeppelin/=lib/openzeppelin-contracts/", ":ds-test/=lib/ds-test/src/", ":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", ":forge-std/=lib/forge-std/src/", ":openzeppelin-contracts/=lib/openzeppelin-contracts/", ":solmate/=lib/solmate/src/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "src/Aggr3Oracle.sol": "Aggr3Oracle" }, "libraries": {} }, "sources": { "src/Aggr3Oracle.sol": { "keccak256": "0xded2c70377663711cc5cd9ce21213d288d72314fbd1423ea641081e4e4c145f0", "urls": [ "bzz-raw://e08cabcd01fee753c2aa10a0112265a56227acf7c333fa1b10a613c8dc09af0a", "dweb:/ipfs/QmS8CMPdsrXh5jxyQiHvWvkdhyCjXVgtyU5pm5H6UzV9cC" ], "license": "UNLICENSED" }, "src/MultiOwnable.sol": { "keccak256": "0x7240878d722a457cd88f1abb4074408ef9ad3baf08b0174e40ac4adc7b87d747", "urls": [ "bzz-raw://79281e9961cc2eef32832094392783a524e8aca6587c8da9379908a5d345159b", "dweb:/ipfs/QmZjQ9ZnC57zrgyLKkDbzk3PM7pcJjXJ1uU8LKc1HFPkZi" ], "license": "UNLICENSED" }, "src/test/utils/Console.sol": { "keccak256": "0x3430a4183d310b1ef785cde4c44dfc59db4d9c509915168775411d037e85aa29", "urls": [ "bzz-raw://afede9e7f21eb66c2d9f7465cc7b1632655e4eae2f737ceedc52a30c1ff9de3b", "dweb:/ipfs/QmNbNmHfuq4M1Ssy77SrEzZ5oe7kVeVm6VhWyD5SCexLhY" ], "license": "MIT" } }, "version": 1 }, "ast": { "absolutePath": "src/Aggr3Oracle.sol", "id": 3267, "exportedSymbols": { "Aggr3Oracle": [ 3266 ], "MultiOwnable": [ 3781 ] }, "nodeType": "SourceUnit", "src": "39:2795:2", "nodes": [ { "id": 2945, "nodeType": "PragmaDirective", "src": "39:24:2", "nodes": [], "literals": [ "solidity", "^", "0.8", ".16" ] }, { "id": 2947, "nodeType": "ImportDirective", "src": "65:48:2", "nodes": [], "absolutePath": "src/MultiOwnable.sol", "file": "./MultiOwnable.sol", "nameLocation": "-1:-1:-1", "scope": 3267, "sourceUnit": 3782, "symbolAliases": [ { "foreign": { "id": 2946, "name": "MultiOwnable", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3781, "src": "73:12:2", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "id": 3266, "nodeType": "ContractDefinition", "src": "115:2718:2", "nodes": [ { "id": 2951, "nodeType": "VariableDeclaration", "src": "158:25:2", "nodes": [], "constant": false, "functionSelector": "7284e416", "mutability": "mutable", "name": "description", "nameLocation": "172:11:2", "scope": 3266, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string" }, "typeName": { "id": 2950, "name": "string", "nodeType": "ElementaryTypeName", "src": "158:6:2", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "public" }, { "id": 2953, "nodeType": "VariableDeclaration", "src": "252:28:2", "nodes": [], "constant": false, "functionSelector": "1e117f49", "mutability": "mutable", "name": "termsOfService", "nameLocation": "266:14:2", "scope": 3266, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string" }, "typeName": { "id": 2952, "name": "string", "nodeType": "ElementaryTypeName", "src": "252:6:2", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "public" }, { "id": 2958, "nodeType": "StructDefinition", "src": "307:65:2", "nodes": [], "canonicalName": "Aggr3Oracle.Data", "members": [ { "constant": false, "id": 2955, "mutability": "mutable", "name": "value", "nameLocation": "337:5:2", "nodeType": "VariableDeclaration", "scope": 2958, "src": "329:13:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2954, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "329:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 2957, "mutability": "mutable", "name": "owner", "nameLocation": "360:5:2", "nodeType": "VariableDeclaration", "scope": 2958, "src": "352:13:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2956, "name": "address", "nodeType": "ElementaryTypeName", "src": "352:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "name": "Data", "nameLocation": "314:4:2", "scope": 3266, "visibility": "public" }, { "id": 2963, "nodeType": "VariableDeclaration", "src": "377:37:2", "nodes": [], "constant": false, "mutability": "mutable", "name": "data", "nameLocation": "410:4:2", "scope": 3266, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Data_$2958_storage_$", "typeString": "mapping(uint256 => struct Aggr3Oracle.Data)" }, "typeName": { "id": 2962, "keyType": { "id": 2959, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "385:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", "src": "377:24:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Data_$2958_storage_$", "typeString": "mapping(uint256 => struct Aggr3Oracle.Data)" }, "valueType": { "id": 2961, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 2960, "name": "Data", "nameLocations": [ "396:4:2" ], "nodeType": "IdentifierPath", "referencedDeclaration": 2958, "src": "396:4:2" }, "referencedDeclaration": 2958, "src": "396:4:2", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$2958_storage_ptr", "typeString": "struct Aggr3Oracle.Data" } } }, "visibility": "private" }, { "id": 2965, "nodeType": "VariableDeclaration", "src": "461:20:2", "nodes": [], "constant": false, "functionSelector": "affed0e0", "mutability": "mutable", "name": "nonce", "nameLocation": "476:5:2", "scope": 3266, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2964, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "461:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "public" }, { "id": 2967, "nodeType": "VariableDeclaration", "src": "529:26:2", "nodes": [], "constant": false, "functionSelector": "4f855b95", "mutability": "mutable", "name": "medianValue", "nameLocation": "544:11:2", "scope": 3266, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2966, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "529:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "public" }, { "id": 2973, "nodeType": "EventDefinition", "src": "612:55:2", "nodes": [], "anonymous": false, "eventSelector": "33b83618888d358e5cbd39503bc0d5ed6ba434bb57e7901d7e910b50dbeb0e69", "name": "DataWritten", "nameLocation": "618:11:2", "parameters": { "id": 2972, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2969, "indexed": false, "mutability": "mutable", "name": "data", "nameLocation": "638:4:2", "nodeType": "VariableDeclaration", "scope": 2973, "src": "630:12:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2968, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "630:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 2971, "indexed": true, "mutability": "mutable", "name": "owner", "nameLocation": "660:5:2", "nodeType": "VariableDeclaration", "scope": 2973, "src": "644:21:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2970, "name": "address", "nodeType": "ElementaryTypeName", "src": "644:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "629:37:2" } }, { "id": 2977, "nodeType": "VariableDeclaration", "src": "673:54:2", "nodes": [], "constant": false, "functionSelector": "4e192655", "mutability": "mutable", "name": "acceptedTermsOfService", "nameLocation": "705:22:2", "scope": 3266, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "typeName": { "id": 2976, "keyType": { "id": 2974, "name": "address", "nodeType": "ElementaryTypeName", "src": "681:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "673:24:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { "id": 2975, "name": "bool", "nodeType": "ElementaryTypeName", "src": "692:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } }, "visibility": "public" }, { "id": 2989, "nodeType": "ModifierDefinition", "src": "734:176:2", "nodes": [], "body": { "id": 2988, "nodeType": "Block", "src": "772:138:2", "nodes": [], "statements": [ { "expression": { "arguments": [ { "baseExpression": { "id": 2980, "name": "acceptedTermsOfService", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2977, "src": "803:22:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, "id": 2983, "indexExpression": { "expression": { "id": 2981, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "826:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2982, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "830:6:2", "memberName": "sender", "nodeType": "MemberAccess", "src": "826:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "803:34:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "5465726d73206f662053657276696365206e6f74206163636570746564", "id": 2984, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "851:31:2", "typeDescriptions": { "typeIdentifier": "t_stringliteral_84e03cbec5d072163b8c98d30cee769d37fa3b8b0f1d14ad0592110dbc383219", "typeString": "literal_string \"Terms of Service not accepted\"" }, "value": "Terms of Service not accepted" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_84e03cbec5d072163b8c98d30cee769d37fa3b8b0f1d14ad0592110dbc383219", "typeString": "literal_string \"Terms of Service not accepted\"" } ], "id": 2979, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "782:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2985, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "782:110:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2986, "nodeType": "ExpressionStatement", "src": "782:110:2" }, { "id": 2987, "nodeType": "PlaceholderStatement", "src": "902:1:2" } ] }, "name": "onlyAcceptedTermsOfService", "nameLocation": "743:26:2", "parameters": { "id": 2978, "nodeType": "ParameterList", "parameters": [], "src": "769:2:2" }, "virtual": false, "visibility": "internal" }, { "id": 3014, "nodeType": "FunctionDefinition", "src": "916:242:2", "nodes": [], "body": { "id": 3013, "nodeType": "Block", "src": "1054:104:2", "nodes": [], "statements": [ { "expression": { "id": 3003, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 3001, "name": "description", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2951, "src": "1064:11:2", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 3002, "name": "_description", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2993, "src": "1078:12:2", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "1064:26:2", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 3004, "nodeType": "ExpressionStatement", "src": "1064:26:2" }, { "expression": { "id": 3007, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 3005, "name": "termsOfService", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2953, "src": "1100:14:2", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 3006, "name": "_termsOfService", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2995, "src": "1117:15:2", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "1100:32:2", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 3008, "nodeType": "ExpressionStatement", "src": "1100:32:2" }, { "expression": { "id": 3011, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 3009, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2965, "src": "1142:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "30", "id": 3010, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1150:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "1142:9:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3012, "nodeType": "ExpressionStatement", "src": "1142:9:2" } ] }, "implemented": true, "kind": "constructor", "modifiers": [ { "arguments": [ { "id": 2998, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2991, "src": "1046:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "id": 2999, "kind": "baseConstructorSpecifier", "modifierName": { "id": 2997, "name": "MultiOwnable", "nameLocations": [ "1033:12:2" ], "nodeType": "IdentifierPath", "referencedDeclaration": 3781, "src": "1033:12:2" }, "nodeType": "ModifierInvocation", "src": "1033:20:2" } ], "name": "", "nameLocation": "-1:-1:-1", "parameters": { "id": 2996, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2991, "mutability": "mutable", "name": "_owner", "nameLocation": "945:6:2", "nodeType": "VariableDeclaration", "scope": 3014, "src": "937:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2990, "name": "address", "nodeType": "ElementaryTypeName", "src": "937:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 2993, "mutability": "mutable", "name": "_description", "nameLocation": "975:12:2", "nodeType": "VariableDeclaration", "scope": 3014, "src": "961:26:2", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2992, "name": "string", "nodeType": "ElementaryTypeName", "src": "961:6:2", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" }, { "constant": false, "id": 2995, "mutability": "mutable", "name": "_termsOfService", "nameLocation": "1011:15:2", "nodeType": "VariableDeclaration", "scope": 3014, "src": "997:29:2", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2994, "name": "string", "nodeType": "ElementaryTypeName", "src": "997:6:2", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "927:105:2" }, "returnParameters": { "id": 3000, "nodeType": "ParameterList", "parameters": [], "src": "1054:0:2" }, "scope": 3266, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "id": 3199, "nodeType": "FunctionDefinition", "src": "1164:1132:2", "nodes": [], "body": { "id": 3198, "nodeType": "Block", "src": "1217:1079:2", "nodes": [], "statements": [ { "expression": { "id": 3029, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 3021, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2963, "src": "1227:4:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Data_$2958_storage_$", "typeString": "mapping(uint256 => struct Aggr3Oracle.Data storage ref)" } }, "id": 3023, "indexExpression": { "id": 3022, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2965, "src": "1232:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1227:11:2", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$2958_storage", "typeString": "struct Aggr3Oracle.Data storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "id": 3025, "name": "_data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3016, "src": "1246:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "expression": { "id": 3026, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "1253:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 3027, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1257:6:2", "memberName": "sender", "nodeType": "MemberAccess", "src": "1253:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 3024, "name": "Data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2958, "src": "1241:4:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Data_$2958_storage_ptr_$", "typeString": "type(struct Aggr3Oracle.Data storage pointer)" } }, "id": 3028, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1241:23:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$2958_memory_ptr", "typeString": "struct Aggr3Oracle.Data memory" } }, "src": "1227:37:2", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$2958_storage", "typeString": "struct Aggr3Oracle.Data storage ref" } }, "id": 3030, "nodeType": "ExpressionStatement", "src": "1227:37:2" }, { "eventCall": { "arguments": [ { "expression": { "baseExpression": { "id": 3032, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2963, "src": "1291:4:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Data_$2958_storage_$", "typeString": "mapping(uint256 => struct Aggr3Oracle.Data storage ref)" } }, "id": 3034, "indexExpression": { "id": 3033, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2965, "src": "1296:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1291:11:2", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$2958_storage", "typeString": "struct Aggr3Oracle.Data storage ref" } }, "id": 3035, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "1303:5:2", "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 2955, "src": "1291:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "expression": { "id": 3036, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "1310:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 3037, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1314:6:2", "memberName": "sender", "nodeType": "MemberAccess", "src": "1310:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 3031, "name": "DataWritten", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2973, "src": "1279:11:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", "typeString": "function (uint256,address)" } }, "id": 3038, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1279:42:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3039, "nodeType": "EmitStatement", "src": "1274:47:2" }, { "expression": { "id": 3041, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "1331:7:2", "subExpression": { "id": 3040, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2965, "src": "1331:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3042, "nodeType": "ExpressionStatement", "src": "1331:7:2" }, { "assignments": [ 3047 ], "declarations": [ { "constant": false, "id": 3047, "mutability": "mutable", "name": "values", "nameLocation": "1404:6:2", "nodeType": "VariableDeclaration", "scope": 3198, "src": "1387:23:2", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[]" }, "typeName": { "baseType": { "id": 3045, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1387:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3046, "nodeType": "ArrayTypeName", "src": "1387:9:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, "visibility": "internal" } ], "id": 3053, "initialValue": { "arguments": [ { "hexValue": "33", "id": 3051, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1427:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" }, "value": "3" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" } ], "id": 3050, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "1413:13:2", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256) pure returns (uint256[] memory)" }, "typeName": { "baseType": { "id": 3048, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1417:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3049, "nodeType": "ArrayTypeName", "src": "1417:9:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } } }, "id": 3052, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1413:16:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, "nodeType": "VariableDeclarationStatement", "src": "1387:42:2" }, { "assignments": [ 3058 ], "declarations": [ { "constant": false, "id": 3058, "mutability": "mutable", "name": "uniqueOwners", "nameLocation": "1456:12:2", "nodeType": "VariableDeclaration", "scope": 3198, "src": "1439:29:2", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[]" }, "typeName": { "baseType": { "id": 3056, "name": "address", "nodeType": "ElementaryTypeName", "src": "1439:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 3057, "nodeType": "ArrayTypeName", "src": "1439:9:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } }, "visibility": "internal" } ], "id": 3064, "initialValue": { "arguments": [ { "hexValue": "33", "id": 3062, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1485:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" }, "value": "3" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" } ], "id": 3061, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "1471:13:2", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$", "typeString": "function (uint256) pure returns (address[] memory)" }, "typeName": { "baseType": { "id": 3059, "name": "address", "nodeType": "ElementaryTypeName", "src": "1475:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 3060, "nodeType": "ArrayTypeName", "src": "1475:9:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } } }, "id": 3063, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1471:16:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, "nodeType": "VariableDeclarationStatement", "src": "1439:48:2" }, { "assignments": [ 3066 ], "declarations": [ { "constant": false, "id": 3066, "mutability": "mutable", "name": "index", "nameLocation": "1505:5:2", "nodeType": "VariableDeclaration", "scope": 3198, "src": "1497:13:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3065, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1497:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 3068, "initialValue": { "hexValue": "30", "id": 3067, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1513:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "1497:17:2" }, { "body": { "id": 3152, "nodeType": "Block", "src": "1586:458:2", "statements": [ { "assignments": [ 3089 ], "declarations": [ { "constant": false, "id": 3089, "mutability": "mutable", "name": "isOwnerUnique", "nameLocation": "1605:13:2", "nodeType": "VariableDeclaration", "scope": 3152, "src": "1600:18:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3088, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1600:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "id": 3091, "initialValue": { "hexValue": "74727565", "id": 3090, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1621:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "nodeType": "VariableDeclarationStatement", "src": "1600:25:2" }, { "body": { "id": 3120, "nodeType": "Block", "src": "1675:168:2", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 3112, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { "id": 3102, "name": "uniqueOwners", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3058, "src": "1697:12:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, "id": 3104, "indexExpression": { "id": 3103, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3093, "src": "1710:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1697:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "expression": { "baseExpression": { "id": 3105, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2963, "src": "1716:4:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Data_$2958_storage_$", "typeString": "mapping(uint256 => struct Aggr3Oracle.Data storage ref)" } }, "id": 3110, "indexExpression": { "arguments": [ { "id": 3108, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3070, "src": "1729:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 3107, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1721:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 3106, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1721:7:2", "typeDescriptions": {} } }, "id": 3109, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1721:10:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1716:16:2", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$2958_storage", "typeString": "struct Aggr3Oracle.Data storage ref" } }, "id": 3111, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "1733:5:2", "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 2957, "src": "1716:22:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1697:41:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 3119, "nodeType": "IfStatement", "src": "1693:136:2", "trueBody": { "id": 3118, "nodeType": "Block", "src": "1740:89:2", "statements": [ { "expression": { "id": 3115, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 3113, "name": "isOwnerUnique", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3089, "src": "1762:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "66616c7365", "id": 3114, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1778:5:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, "src": "1762:21:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 3116, "nodeType": "ExpressionStatement", "src": "1762:21:2" }, { "id": 3117, "nodeType": "Break", "src": "1805:5:2" } ] } } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3098, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 3096, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3093, "src": "1659:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 3097, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3066, "src": "1663:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1659:9:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 3121, "initializationExpression": { "assignments": [ 3093 ], "declarations": [ { "constant": false, "id": 3093, "mutability": "mutable", "name": "j", "nameLocation": "1652:1:2", "nodeType": "VariableDeclaration", "scope": 3121, "src": "1644:9:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3092, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1644:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 3095, "initialValue": { "hexValue": "30", "id": 3094, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1656:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "1644:13:2" }, "loopExpression": { "expression": { "id": 3100, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "1670:3:2", "subExpression": { "id": 3099, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3093, "src": "1670:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3101, "nodeType": "ExpressionStatement", "src": "1670:3:2" }, "nodeType": "ForStatement", "src": "1639:204:2" }, { "condition": { "id": 3122, "name": "isOwnerUnique", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3089, "src": "1861:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 3151, "nodeType": "IfStatement", "src": "1857:177:2", "trueBody": { "id": 3150, "nodeType": "Block", "src": "1876:158:2", "statements": [ { "expression": { "id": 3133, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 3123, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3047, "src": "1894:6:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, "id": 3125, "indexExpression": { "id": 3124, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3066, "src": "1901:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1894:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "expression": { "baseExpression": { "id": 3126, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2963, "src": "1910:4:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Data_$2958_storage_$", "typeString": "mapping(uint256 => struct Aggr3Oracle.Data storage ref)" } }, "id": 3131, "indexExpression": { "arguments": [ { "id": 3129, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3070, "src": "1923:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 3128, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1915:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 3127, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1915:7:2", "typeDescriptions": {} } }, "id": 3130, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1915:10:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1910:16:2", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$2958_storage", "typeString": "struct Aggr3Oracle.Data storage ref" } }, "id": 3132, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "1927:5:2", "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 2955, "src": "1910:22:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1894:38:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3134, "nodeType": "ExpressionStatement", "src": "1894:38:2" }, { "expression": { "id": 3145, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 3135, "name": "uniqueOwners", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3058, "src": "1950:12:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, "id": 3137, "indexExpression": { "id": 3136, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3066, "src": "1963:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1950:19:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "expression": { "baseExpression": { "id": 3138, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2963, "src": "1972:4:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Data_$2958_storage_$", "typeString": "mapping(uint256 => struct Aggr3Oracle.Data storage ref)" } }, "id": 3143, "indexExpression": { "arguments": [ { "id": 3141, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3070, "src": "1985:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 3140, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1977:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 3139, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1977:7:2", "typeDescriptions": {} } }, "id": 3142, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1977:10:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1972:16:2", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$2958_storage", "typeString": "struct Aggr3Oracle.Data storage ref" } }, "id": 3144, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "1989:5:2", "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 2957, "src": "1972:22:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1950:44:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 3146, "nodeType": "ExpressionStatement", "src": "1950:44:2" }, { "expression": { "id": 3148, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "2012:7:2", "subExpression": { "id": 3147, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3066, "src": "2012:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3149, "nodeType": "ExpressionStatement", "src": "2012:7:2" } ] } } ] }, "condition": { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 3084, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 3080, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 3078, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3070, "src": "1560:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "hexValue": "30", "id": 3079, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1565:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "1560:6:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3083, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 3081, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3066, "src": "1570:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "hexValue": "33", "id": 3082, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1578:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" }, "value": "3" }, "src": "1570:9:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "1560:19:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 3153, "initializationExpression": { "assignments": [ 3070 ], "declarations": [ { "constant": false, "id": 3070, "mutability": "mutable", "name": "i", "nameLocation": "1537:1:2", "nodeType": "VariableDeclaration", "scope": 3153, "src": "1530:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 3069, "name": "int256", "nodeType": "ElementaryTypeName", "src": "1530:6:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "id": 3077, "initialValue": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 3076, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "id": 3073, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2965, "src": "1548:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 3072, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1541:6:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_int256_$", "typeString": "type(int256)" }, "typeName": { "id": 3071, "name": "int256", "nodeType": "ElementaryTypeName", "src": "1541:6:2", "typeDescriptions": {} } }, "id": 3074, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1541:13:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "hexValue": "31", "id": 3075, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1557:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "1541:17:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "VariableDeclarationStatement", "src": "1530:28:2" }, "loopExpression": { "expression": { "id": 3086, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "--", "prefix": false, "src": "1581:3:2", "subExpression": { "id": 3085, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3070, "src": "1581:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "id": 3087, "nodeType": "ExpressionStatement", "src": "1581:3:2" }, "nodeType": "ForStatement", "src": "1525:519:2" }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3156, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 3154, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3066, "src": "2058:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "31", "id": 3155, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2067:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "2058:10:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3166, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 3164, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3066, "src": "2128:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "32", "id": 3165, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2137:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "2128:10:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 3195, "nodeType": "Block", "src": "2212:78:2", "statements": [ { "expression": { "id": 3193, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 3181, "name": "medianValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2967, "src": "2226:11:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "baseExpression": { "id": 3183, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3047, "src": "2247:6:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, "id": 3185, "indexExpression": { "hexValue": "30", "id": 3184, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2254:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2247:9:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "baseExpression": { "id": 3186, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3047, "src": "2258:6:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, "id": 3188, "indexExpression": { "hexValue": "31", "id": 3187, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2265:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2258:9:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "baseExpression": { "id": 3189, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3047, "src": "2269:6:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, "id": 3191, "indexExpression": { "hexValue": "32", "id": 3190, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2276:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2269:9:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 3182, "name": "median", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3265, "src": "2240:6:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, "id": 3192, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2240:39:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2226:53:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3194, "nodeType": "ExpressionStatement", "src": "2226:53:2" } ] }, "id": 3196, "nodeType": "IfStatement", "src": "2124:166:2", "trueBody": { "id": 3180, "nodeType": "Block", "src": "2140:66:2", "statements": [ { "expression": { "id": 3178, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 3167, "name": "medianValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2967, "src": "2154:11:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3177, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3174, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { "id": 3168, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3047, "src": "2169:6:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, "id": 3170, "indexExpression": { "hexValue": "30", "id": 3169, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2176:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2169:9:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "baseExpression": { "id": 3171, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3047, "src": "2181:6:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, "id": 3173, "indexExpression": { "hexValue": "31", "id": 3172, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2188:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2181:9:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2169:21:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 3175, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "2168:23:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "hexValue": "32", "id": 3176, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2194:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "2168:27:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2154:41:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3179, "nodeType": "ExpressionStatement", "src": "2154:41:2" } ] } }, "id": 3197, "nodeType": "IfStatement", "src": "2054:236:2", "trueBody": { "id": 3163, "nodeType": "Block", "src": "2070:48:2", "statements": [ { "expression": { "id": 3161, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 3157, "name": "medianValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2967, "src": "2084:11:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "baseExpression": { "id": 3158, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3047, "src": "2098:6:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, "id": 3160, "indexExpression": { "hexValue": "30", "id": 3159, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2105:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2098:9:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2084:23:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3162, "nodeType": "ExpressionStatement", "src": "2084:23:2" } ] } } ] }, "functionSelector": "8f889f8e", "implemented": true, "kind": "function", "modifiers": [ { "id": 3019, "kind": "modifierInvocation", "modifierName": { "id": 3018, "name": "onlyOwner", "nameLocations": [ "1207:9:2" ], "nodeType": "IdentifierPath", "referencedDeclaration": 3350, "src": "1207:9:2" }, "nodeType": "ModifierInvocation", "src": "1207:9:2" } ], "name": "writeData", "nameLocation": "1173:9:2", "parameters": { "id": 3017, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3016, "mutability": "mutable", "name": "_data", "nameLocation": "1191:5:2", "nodeType": "VariableDeclaration", "scope": 3199, "src": "1183:13:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3015, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1183:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1182:15:2" }, "returnParameters": { "id": 3020, "nodeType": "ParameterList", "parameters": [], "src": "1217:0:2" }, "scope": 3266, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "id": 3209, "nodeType": "FunctionDefinition", "src": "2302:150:2", "nodes": [], "body": { "id": 3208, "nodeType": "Block", "src": "2417:35:2", "nodes": [], "statements": [ { "expression": { "id": 3206, "name": "medianValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2967, "src": "2434:11:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3205, "id": 3207, "nodeType": "Return", "src": "2427:18:2" } ] }, "functionSelector": "bef55ef3", "implemented": true, "kind": "function", "modifiers": [ { "id": 3202, "kind": "modifierInvocation", "modifierName": { "id": 3201, "name": "onlyAcceptedTermsOfService", "nameLocations": [ "2360:26:2" ], "nodeType": "IdentifierPath", "referencedDeclaration": 2989, "src": "2360:26:2" }, "nodeType": "ModifierInvocation", "src": "2360:26:2" } ], "name": "readData", "nameLocation": "2311:8:2", "parameters": { "id": 3200, "nodeType": "ParameterList", "parameters": [], "src": "2319:2:2" }, "returnParameters": { "id": 3205, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3204, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 3209, "src": "2404:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3203, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2404:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2403:9:2" }, "scope": 3266, "stateMutability": "view", "virtual": false, "visibility": "external" }, { "id": 3220, "nodeType": "FunctionDefinition", "src": "2458:99:2", "nodes": [], "body": { "id": 3219, "nodeType": "Block", "src": "2499:58:2", "nodes": [], "statements": [ { "expression": { "id": 3217, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 3212, "name": "acceptedTermsOfService", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2977, "src": "2509:22:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, "id": 3215, "indexExpression": { "expression": { "id": 3213, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "2532:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 3214, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2536:6:2", "memberName": "sender", "nodeType": "MemberAccess", "src": "2532:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "2509:34:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "74727565", "id": 3216, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "2546:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "2509:41:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 3218, "nodeType": "ExpressionStatement", "src": "2509:41:2" } ] }, "functionSelector": "dddd9e96", "implemented": true, "kind": "function", "modifiers": [], "name": "acceptTermsOfService", "nameLocation": "2467:20:2", "parameters": { "id": 3210, "nodeType": "ParameterList", "parameters": [], "src": "2487:2:2" }, "returnParameters": { "id": 3211, "nodeType": "ParameterList", "parameters": [], "src": "2499:0:2" }, "scope": 3266, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "id": 3265, "nodeType": "FunctionDefinition", "src": "2563:268:2", "nodes": [], "body": { "id": 3264, "nodeType": "Block", "src": "2674:157:2", "nodes": [], "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3233, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 3231, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3222, "src": "2688:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "id": 3232, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3224, "src": "2692:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2688:5:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 3243, "nodeType": "IfStatement", "src": "2684:51:2", "trueBody": { "id": 3242, "nodeType": "Block", "src": "2695:40:2", "statements": [ { "expression": { "id": 3240, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "components": [ { "id": 3234, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3222, "src": "2710:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 3235, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3224, "src": "2713:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 3236, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", "src": "2709:6:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "components": [ { "id": 3237, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3224, "src": "2719:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 3238, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3222, "src": "2722:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 3239, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "2718:6:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, "src": "2709:15:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3241, "nodeType": "ExpressionStatement", "src": "2709:15:2" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3246, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 3244, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3222, "src": "2748:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "id": 3245, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3226, "src": "2752:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2748:5:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 3256, "nodeType": "IfStatement", "src": "2744:51:2", "trueBody": { "id": 3255, "nodeType": "Block", "src": "2755:40:2", "statements": [ { "expression": { "id": 3253, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "components": [ { "id": 3247, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3222, "src": "2770:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 3248, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3226, "src": "2773:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 3249, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", "src": "2769:6:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "components": [ { "id": 3250, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3226, "src": "2779:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 3251, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3222, "src": "2782:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 3252, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "2778:6:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, "src": "2769:15:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3254, "nodeType": "ExpressionStatement", "src": "2769:15:2" } ] } }, { "expression": { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3259, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 3257, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3224, "src": "2811:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 3258, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3226, "src": "2815:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2811:5:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "id": 3261, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3226, "src": "2823:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3262, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "2811:13:2", "trueExpression": { "id": 3260, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3224, "src": "2819:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3230, "id": 3263, "nodeType": "Return", "src": "2804:20:2" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "median", "nameLocation": "2572:6:2", "parameters": { "id": 3227, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3222, "mutability": "mutable", "name": "a", "nameLocation": "2596:1:2", "nodeType": "VariableDeclaration", "scope": 3265, "src": "2588:9:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3221, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2588:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 3224, "mutability": "mutable", "name": "b", "nameLocation": "2615:1:2", "nodeType": "VariableDeclaration", "scope": 3265, "src": "2607:9:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3223, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2607:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 3226, "mutability": "mutable", "name": "c", "nameLocation": "2634:1:2", "nodeType": "VariableDeclaration", "scope": 3265, "src": "2626:9:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3225, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2626:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2578:63:2" }, "returnParameters": { "id": 3230, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3229, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 3265, "src": "2665:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3228, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2665:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2664:9:2" }, "scope": 3266, "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], "abstract": false, "baseContracts": [ { "baseName": { "id": 2948, "name": "MultiOwnable", "nameLocations": [ "139:12:2" ], "nodeType": "IdentifierPath", "referencedDeclaration": 3781, "src": "139:12:2" }, "id": 2949, "nodeType": "InheritanceSpecifier", "src": "139:12:2" } ], "canonicalName": "Aggr3Oracle", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ 3266, 3781 ], "name": "Aggr3Oracle", "nameLocation": "124:11:2", "scope": 3267, "usedErrors": [] } ], "license": "UNLICENSED" }, "id": 2 }